diff --git a/src/main/java/com/chinaweal/aiccs/aiccs/seriousillegalPerson/controller/XrSeriousIllegalPersonRemListController.java b/src/main/java/com/chinaweal/aiccs/aiccs/seriousillegalPerson/controller/XrSeriousIllegalPersonRemListController.java index 76585fb..96d6a10 100644 --- a/src/main/java/com/chinaweal/aiccs/aiccs/seriousillegalPerson/controller/XrSeriousIllegalPersonRemListController.java +++ b/src/main/java/com/chinaweal/aiccs/aiccs/seriousillegalPerson/controller/XrSeriousIllegalPersonRemListController.java @@ -2,9 +2,18 @@ package com.chinaweal.aiccs.aiccs.seriousillegalPerson.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.chinaweal.aiccs.aiccs.abnormal.entity.TSWrit; +import com.chinaweal.aiccs.aiccs.abnormal.service.TSWritService; +import com.chinaweal.aiccs.aiccs.auditing.entity.TSOpinion; +import com.chinaweal.aiccs.aiccs.business.entity.XrOpinion; +import com.chinaweal.aiccs.aiccs.business.entity.XrTaskList; import com.chinaweal.aiccs.aiccs.business.entity.dto.ApprovalFormDto; import com.chinaweal.aiccs.aiccs.business.entity.vo.XrTaskListVo; import com.chinaweal.aiccs.aiccs.business.service.IXrActivityService; +import com.chinaweal.aiccs.aiccs.business.service.IXrOpinionService; +import com.chinaweal.aiccs.aiccs.business.service.IXrTaskListService; +import com.chinaweal.aiccs.aiccs.seriousillegal.entity.dto.PrintTSWritDto; +import com.chinaweal.aiccs.aiccs.seriousillegal.entity.vo.PrintTSWritVo; import com.chinaweal.aiccs.aiccs.seriousillegalPerson.entity.XrSeriousIllegalPersonList; import com.chinaweal.aiccs.aiccs.seriousillegalPerson.entity.XrSeriousIllegalPersonRemList; import com.chinaweal.aiccs.aiccs.seriousillegalPerson.entity.dto.PersonSpeSaveIvdDto; @@ -14,9 +23,14 @@ import com.chinaweal.aiccs.aiccs.seriousillegalPerson.entity.dto.SeriousIllegalS import com.chinaweal.aiccs.aiccs.seriousillegalPerson.service.IXrSeriousIllegalPersonListService; import com.chinaweal.aiccs.aiccs.seriousillegalPerson.service.IXrSeriousIllegalPersonRemListService; import com.chinaweal.aiccs.common.base.controller.BaseController; +import com.chinaweal.aiccs.common.constant.BaseDataConstant; +import com.chinaweal.aiccs.common.util.FlowUtil; +import com.chinaweal.aiccs.common.util.StringUtils; +import com.chinaweal.aiccs.common.util.WorkNoUtil; import com.chinaweal.aicorg.model.AICUser; import com.chinaweal.aicorg.pojo.AICPermission; import com.chinaweal.youfool.framework.springboot.base.query.BaseQuery; +import com.chinaweal.youfool.framework.springboot.exception.custom.BusinessException; import com.chinaweal.youfool.framework.springboot.rest.RestResult; import com.chinaweal.youfool.framework.springboot.rest.ResultCode; import com.chinaweal.youfool.framework.springboot.util.AssertUtils; @@ -24,11 +38,14 @@ import com.chinaweal.youfool.framework.sso.util.SSOUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; +import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; +import java.time.LocalDate; +import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -49,6 +66,12 @@ public class XrSeriousIllegalPersonRemListController extends BaseController { private IXrSeriousIllegalPersonListService iXrSeriousIllegalPersonListService; @Resource private IXrActivityService iXrActivityService; + @Resource + private IXrTaskListService iXrTaskListService; + @Resource + private TSWritService tsWritService; + @Resource + private IXrOpinionService iXrOpinionService; @ApiOperation(value = "1.分页查询移出严重违法失信企业名单(业务表)", position = 1) @@ -58,7 +81,7 @@ public class XrSeriousIllegalPersonRemListController extends BaseController { if (user == null) { return RestResult.error(ResultCode.USER_NOT_LOGGED_IN); } - IPage data = iXrSeriousIllegalPersonRemListService.listXrSeriousIllegalPersonRemList(query,user); + IPage data = iXrSeriousIllegalPersonRemListService.listXrSeriousIllegalPersonRemList(query, user); return RestResult.ok(data); } @@ -80,7 +103,7 @@ public class XrSeriousIllegalPersonRemListController extends BaseController { if (user == null) { return RestResult.error(ResultCode.USER_NOT_LOGGED_IN); } - XrTaskListVo xrTaskListVo = iXrSeriousIllegalPersonRemListService.saveIvdAccept(personSpeSaveIvdDto,user); + XrTaskListVo xrTaskListVo = iXrSeriousIllegalPersonRemListService.saveIvdAccept(personSpeSaveIvdDto, user); return RestResult.ok(xrTaskListVo); } @@ -103,7 +126,7 @@ public class XrSeriousIllegalPersonRemListController extends BaseController { Map aicPermissions = user.getAicPermissions(); //根据当前流程节点判断权限 - if (!iXrActivityService.checkPermissionsAndNodeID(aicPermissions, processRemDto.getCurrentNodeID(),processRemDto.getNextNodeID(),"abnormal")) { + if (!iXrActivityService.checkPermissionsAndNodeID(aicPermissions, processRemDto.getCurrentNodeID(), processRemDto.getNextNodeID(), "abnormal")) { return RestResult.error(ResultCode.INTERFACE_FORBID_VISIT, "无权操作"); } iXrSeriousIllegalPersonRemListService.processControl(processRemDto, user); @@ -113,7 +136,157 @@ public class XrSeriousIllegalPersonRemListController extends BaseController { @ApiOperation(value = "5.业务号获取审批表", position = 5) @GetMapping("/getApprovalFormByBizSeqNo") public RestResult getApprovalFormByBizSeqNo(@RequestParam @ApiParam("id") String bizSeqNo, String cerNo, String bizSerRemId) { - ApprovalFormDto approvalDto = iXrSeriousIllegalPersonRemListService.getApprovalFormByBizSeqNo(bizSeqNo, cerNo,bizSerRemId); + ApprovalFormDto approvalDto = iXrSeriousIllegalPersonRemListService.getApprovalFormByBizSeqNo(bizSeqNo, cerNo, bizSerRemId); return RestResult.ok(approvalDto); } + + /** + * 打印文书页面 + */ + @ApiOperation("打印文书页面") + @PostMapping("/printTSWrit") + public RestResult printTSWrit(@RequestBody PrintTSWritDto dto) { + PrintTSWritVo result = new PrintTSWritVo(); + + if ("1".equals(dto.getPrintstatus())) { + // 打印决定书 + XrSeriousIllegalPersonRemList detail = iXrSeriousIllegalPersonRemListService.getById(dto.getIllid()); + if (detail == null) { + throw new BusinessException("记录不存在"); + } + + TSWrit writQueryModel = new TSWrit(); + if ("enter".equals(dto.getType())) { + // 列入决定书 + writQueryModel.setWritstype(WorkNoUtil.WORKNOTYPE_21); + writQueryModel.setPripid(detail.getCerNo()); + writQueryModel.setBizseq(detail.getBizSeqNo()); + } else if ("remove".equals(dto.getType())) { + // 移出决定书 + writQueryModel.setWritstype(WorkNoUtil.WORKNOTYPE_25); + writQueryModel.setPripid(detail.getCerNo()); + writQueryModel.setBizseq(detail.getBizSeqNo()); + } + + List tsWritQueryModels = tsWritService.listTswrit(writQueryModel); + if (tsWritQueryModels.size() > 0) { + result.setWrirsno(tsWritQueryModels.get(0).getWritsno()); + } + + // 设置详细信息(需要将XrSeriousIllegalPersonRemList转换为EOtIlldisdetailTemp类型) + // 注意:这里可能需要创建专门的VO或调整返回结构 + result.setNowTime(LocalDate.now()); + + } else if ("3".equals(dto.getPrintstatus())) { + // 打印审批表 + XrTaskList taskListModel = iXrTaskListService.getOne( + new LambdaQueryWrapper().eq(XrTaskList::getWorkFlowId, dto.getWorkflowid()) + ); + if (taskListModel == null) { + throw new BusinessException("待办记录不存在"); + } + + String inv = ""; + List list = iXrSeriousIllegalPersonRemListService.list( + new LambdaQueryWrapper() + .eq(XrSeriousIllegalPersonRemList::getBizSeqNo, taskListModel.getBizSeqNo()) + ); + + if (list != null && !list.isEmpty()) { + for (int i = 0; i < list.size(); i++) { + if (i > 2) { + inv = inv + "等"; + break; + } + if (i > 0) { + inv = inv + ", "; + } + inv = inv + list.get(i).getInv(); + } + } + + List opinionList = iXrOpinionService.list( + new LambdaQueryWrapper() + .eq(XrOpinion::getTaskListId, taskListModel.getTaskLikeId()) + .orderByDesc(XrOpinion::getUpdateTime) + ); + + // 将XrOpinion转换为TSOpinion + List tsOpinionList = new ArrayList<>(); + if (opinionList != null && !opinionList.isEmpty()) { + for (XrOpinion xrOpinion : opinionList) { + TSOpinion tsOpinion = new TSOpinion(); + tsOpinion.setOpinionid(xrOpinion.getOpinionId()); + tsOpinion.setWorkflowid(taskListModel.getWorkFlowId()); + tsOpinion.setOpiniontype(xrOpinion.getOpinionType()); + tsOpinion.setHandler(xrOpinion.getHandler()); + tsOpinion.setHandlerid(xrOpinion.getHandlerId()); + tsOpinion.setOpinioncontent(xrOpinion.getOpinionContent()); + if (xrOpinion.getHandelDate() != null) { + tsOpinion.setHandledate(xrOpinion.getHandelDate().atStartOfDay()); + } + tsOpinion.setIsagree(xrOpinion.getAgree()); + tsOpinion.setAreaCode(xrOpinion.getAreaCode()); + tsOpinion.setLauptime(xrOpinion.getUpdateTime()); + tsOpinionList.add(tsOpinion); + } + } + + result.setOpinionList(tsOpinionList); + result.setRegno(inv); + result.setEname(inv); + if (list != null && !list.isEmpty()) { + result.setDecorgString(list.get(0).getDecOrgCn()); + if ("enter".equals(dto.getType())) { + result.setLostCreditExplain(list.get(0).getRemExcpResCn()); + } else if ("remove".equals(dto.getType())) { + result.setLostCreditExplainrem(list.get(0).getRemExcpResCn()); + } + } + } + + return RestResult.ok(result); + } + + /** + * 作废待办 + */ + @Transactional + @ApiOperation("作废待办") + @PostMapping("/nullify") + public RestResult nullify(HttpServletRequest request, + @ApiParam("待办ID") @RequestParam String tasklistid, + @ApiParam("作废原因") @RequestParam String reason) { + AICUser user = getLoginUser(request); + if (user == null) { + return RestResult.error(ResultCode.USER_NOT_LOGGED_IN); + } + + // 查询待办 + XrTaskList taskListModel = iXrTaskListService.getById(tasklistid); + if (taskListModel == null) { + throw new BusinessException("待办记录不存在"); + } + + // 校验当前用户是否为待办创建人 + if (StringUtils.notEquals(user.getPrimaryKey(), taskListModel.getCreateBy())) { + throw new BusinessException("非待办创建人无权作废待办"); + } + + // 保存作废意见 + XrOpinion opinion = new XrOpinion(); + opinion.setTaskListId(taskListModel.getTaskLikeId()); + opinion.setOpinionType(BaseDataConstant.OPINION_TYPE_ENTER); + opinion.setHandler(user.getName()); + opinion.setHandlerId(user.getPrimaryKey()); + opinion.setHandelDate(LocalDate.now()); + opinion.setOpinionContent("作废原因:" + reason); + iXrOpinionService.save(opinion); + + // 作废工作流 + iXrTaskListService.updateWorkFlow(opinion, taskListModel, FlowUtil.SERIOUS_ILLEGAL_NULLIFY, + new String[]{user.getPrimaryKey()}, null); + + return RestResult.ok(taskListModel); + } } diff --git a/src/main/java/com/chinaweal/aiccs/aiccs/seriousillegalPerson/controller/XrSeriousIllegalPersonSpeListController.java b/src/main/java/com/chinaweal/aiccs/aiccs/seriousillegalPerson/controller/XrSeriousIllegalPersonSpeListController.java index 6523fd9..23e1298 100644 --- a/src/main/java/com/chinaweal/aiccs/aiccs/seriousillegalPerson/controller/XrSeriousIllegalPersonSpeListController.java +++ b/src/main/java/com/chinaweal/aiccs/aiccs/seriousillegalPerson/controller/XrSeriousIllegalPersonSpeListController.java @@ -2,16 +2,28 @@ package com.chinaweal.aiccs.aiccs.seriousillegalPerson.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.chinaweal.aiccs.aiccs.abnormal.entity.TSWrit; +import com.chinaweal.aiccs.aiccs.abnormal.service.TSWritService; +import com.chinaweal.aiccs.aiccs.auditing.entity.TSOpinion; +import com.chinaweal.aiccs.aiccs.business.entity.XrOpinion; +import com.chinaweal.aiccs.aiccs.business.entity.XrTaskList; import com.chinaweal.aiccs.aiccs.business.entity.dto.ApprovalFormDto; import com.chinaweal.aiccs.aiccs.business.entity.vo.XrTaskListVo; import com.chinaweal.aiccs.aiccs.business.service.IXrActivityService; +import com.chinaweal.aiccs.aiccs.business.service.IXrOpinionService; +import com.chinaweal.aiccs.aiccs.business.service.IXrTaskListService; +import com.chinaweal.aiccs.aiccs.seriousillegal.entity.dto.PrintTSWritDto; +import com.chinaweal.aiccs.aiccs.seriousillegal.entity.vo.PrintTSWritVo; import com.chinaweal.aiccs.aiccs.seriousillegalPerson.entity.XrSeriousIllegalPersonSpeList; import com.chinaweal.aiccs.aiccs.seriousillegalPerson.entity.dto.PersonSpeSaveIvdDto; import com.chinaweal.aiccs.aiccs.seriousillegalPerson.entity.dto.SeriousIllegalProcessDto; import com.chinaweal.aiccs.aiccs.seriousillegalPerson.entity.dto.SeriousIllegalSpeQueryDto; import com.chinaweal.aiccs.aiccs.seriousillegalPerson.service.IXrSeriousillegalPersonSpeListService; import com.chinaweal.aiccs.common.base.controller.BaseController; +import com.chinaweal.aiccs.common.constant.BaseDataConstant; +import com.chinaweal.aiccs.common.util.FlowUtil; import com.chinaweal.aiccs.common.util.StringUtils; +import com.chinaweal.aiccs.common.util.WorkNoUtil; import com.chinaweal.aicorg.model.AICUser; import com.chinaweal.aicorg.pojo.AICPermission; import com.chinaweal.youfool.framework.springboot.base.query.BaseQuery; @@ -22,11 +34,14 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import lombok.extern.slf4j.Slf4j; +import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; +import java.time.LocalDate; +import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -46,6 +61,12 @@ public class XrSeriousIllegalPersonSpeListController extends BaseController { private IXrSeriousillegalPersonSpeListService iXrSeriousillegalPersonSpeListService; @Resource private IXrActivityService iXrActivityService; + @Resource + private IXrTaskListService iXrTaskListService; + @Resource + private TSWritService tsWritService; + @Resource + private IXrOpinionService iXrOpinionService; @ApiOperation(value = "1.分页查询列入严重违法失信自然人名单", position = 1) @@ -74,14 +95,14 @@ public class XrSeriousIllegalPersonSpeListController extends BaseController { } //若证件类型是身份证则校验 - if(StringUtils.equals("10",speSaveIvdDto.getCerType())){ + if (StringUtils.equals("10", speSaveIvdDto.getCerType())) { boolean isMatch = false; if (cerNo.length() == 18) { // 18位身份证号码验证 isMatch = cerNo.matches("^[1-9]\\d{5}(18|19|20)\\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\\d{3}[0-9Xx]$"); } else if (cerNo.length() == 15) { // 15位身份证号码验证 isMatch = cerNo.matches("^[1-9]\\d{5}\\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\\d{3}$"); } - if(!isMatch) + if (!isMatch) return RestResult.error(ResultCode.PARAM_IS_INVALID, "身份证号码格式不正确"); } @@ -112,7 +133,7 @@ public class XrSeriousIllegalPersonSpeListController extends BaseController { } Map aicPermissions = user.getAicPermissions(); //根据当前流程节点判断权限 - if (!iXrActivityService.checkPermissionsAndNodeID(aicPermissions, seriousIllegalProcessDto.getCurrentNodeID(), seriousIllegalProcessDto.getNextNodeID(),"seriousillegal")) { + if (!iXrActivityService.checkPermissionsAndNodeID(aicPermissions, seriousIllegalProcessDto.getCurrentNodeID(), seriousIllegalProcessDto.getNextNodeID(), "seriousillegal")) { return RestResult.error(ResultCode.INTERFACE_FORBID_VISIT, "无权操作"); } iXrSeriousillegalPersonSpeListService.processControl(seriousIllegalProcessDto, user); @@ -122,7 +143,163 @@ public class XrSeriousIllegalPersonSpeListController extends BaseController { @ApiOperation(value = "5.业务号获取审批表", position = 5) @GetMapping("/getApprovalFormByBizSeqNo") public RestResult getApprovalFormByBizSeqNo(@RequestParam @ApiParam("id") String bizSeqNo, String cerNo, String illegalListId) { - ApprovalFormDto approvalDto = iXrSeriousillegalPersonSpeListService.getApprovalFormByBizSeqNo(bizSeqNo, cerNo,illegalListId); + ApprovalFormDto approvalDto = iXrSeriousillegalPersonSpeListService.getApprovalFormByBizSeqNo(bizSeqNo, cerNo, illegalListId); return RestResult.ok(approvalDto); } + + /** + * 打印文书页面 + */ + @ApiOperation("打印文书页面") + @PostMapping("/printTSWrit") + public RestResult printTSWrit(@RequestBody PrintTSWritDto dto) { + PrintTSWritVo result = new PrintTSWritVo(); + + if ("1".equals(dto.getPrintstatus())) { + // 打印决定书 + XrSeriousIllegalPersonSpeList detail = iXrSeriousillegalPersonSpeListService.getById(dto.getIllid()); + if (detail == null) { + throw new BusinessException("记录不存在"); + } + + TSWrit writQueryModel = new TSWrit(); + if ("enter".equals(dto.getType())) { + // 列入决定书 + writQueryModel.setWritstype(WorkNoUtil.WORKNOTYPE_21); + writQueryModel.setPripid(detail.getCerNo()); + writQueryModel.setBizseq(detail.getBizSeqNo()); + } else if ("remove".equals(dto.getType())) { + // 移出决定书 + writQueryModel.setWritstype(WorkNoUtil.WORKNOTYPE_25); + writQueryModel.setPripid(detail.getCerNo()); + writQueryModel.setBizseq(detail.getBizSeqNo()); + } + + List tsWritQueryModels = tsWritService.listTswrit(writQueryModel); + if (tsWritQueryModels.size() > 0) { + result.setWrirsno(tsWritQueryModels.get(0).getWritsno()); + } + + // 设置详细信息(需要将XrSeriousIllegalPersonSpeList转换为EOtIlldisdetailTemp类型) + // 注意:这里可能需要创建专门的VO或调整返回结构 + result.setNowTime(LocalDate.now()); + if ("enter".equals(dto.getType())) { + // 列入决定书需要加上届满日期 + if (detail.getAbnTime() != null) { + result.setExpirationDate(detail.getAbnTime().plusYears(3)); + } + } + + } else if ("3".equals(dto.getPrintstatus())) { + // 打印审批表 + XrTaskList taskListModel = iXrTaskListService.getOne( + new LambdaQueryWrapper().eq(XrTaskList::getWorkFlowId, dto.getWorkflowid()) + ); + if (taskListModel == null) { + throw new BusinessException("待办记录不存在"); + } + + String inv = ""; + List list = iXrSeriousillegalPersonSpeListService.list( + new LambdaQueryWrapper() + .eq(XrSeriousIllegalPersonSpeList::getBizSeqNo, taskListModel.getBizSeqNo()) + ); + + if (list != null && !list.isEmpty()) { + for (int i = 0; i < list.size(); i++) { + if (i > 2) { + inv = inv + "等"; + break; + } + if (i > 0) { + inv = inv + ", "; + } + inv = inv + list.get(i).getInv(); + } + } + + List opinionList = iXrOpinionService.list( + new LambdaQueryWrapper() + .eq(XrOpinion::getTaskListId, taskListModel.getTaskLikeId()) + .orderByDesc(XrOpinion::getUpdateTime) + ); + + // 将XrOpinion转换为TSOpinion + List tsOpinionList = new ArrayList<>(); + if (opinionList != null && !opinionList.isEmpty()) { + for (XrOpinion xrOpinion : opinionList) { + TSOpinion tsOpinion = new TSOpinion(); + tsOpinion.setOpinionid(xrOpinion.getOpinionId()); + tsOpinion.setWorkflowid(taskListModel.getWorkFlowId()); + tsOpinion.setOpiniontype(xrOpinion.getOpinionType()); + tsOpinion.setHandler(xrOpinion.getHandler()); + tsOpinion.setHandlerid(xrOpinion.getHandlerId()); + tsOpinion.setOpinioncontent(xrOpinion.getOpinionContent()); + if (xrOpinion.getHandelDate() != null) { + tsOpinion.setHandledate(xrOpinion.getHandelDate().atStartOfDay()); + } + tsOpinion.setIsagree(xrOpinion.getAgree()); + tsOpinion.setAreaCode(xrOpinion.getAreaCode()); + tsOpinion.setLauptime(xrOpinion.getUpdateTime()); + tsOpinionList.add(tsOpinion); + } + } + + result.setOpinionList(tsOpinionList); + result.setRegno(inv); + result.setEname(inv); + if (list != null && !list.isEmpty()) { + result.setDecorgString(list.get(0).getDecOrgCn()); + if ("enter".equals(dto.getType())) { + result.setLostCreditExplain(list.get(0).getSerillReaString()); + } else if ("remove".equals(dto.getType())) { + // 移出类型可能需要从其他字段获取 + } + } + } + + return RestResult.ok(result); + } + + /** + * 作废待办 + */ + @Transactional + @ApiOperation("作废待办") + @PostMapping("/nullify") + public RestResult nullify(HttpServletRequest request, + @ApiParam("待办ID") @RequestParam String tasklistid, + @ApiParam("作废原因") @RequestParam String reason) { + AICUser user = getLoginUser(request); + if (user == null) { + return RestResult.error(ResultCode.USER_NOT_LOGGED_IN); + } + + // 查询待办 + XrTaskList taskListModel = iXrTaskListService.getById(tasklistid); + if (taskListModel == null) { + throw new BusinessException("待办记录不存在"); + } + + // 校验当前用户是否为待办创建人 + if (StringUtils.notEquals(user.getPrimaryKey(), taskListModel.getCreateBy())) { + throw new BusinessException("非待办创建人无权作废待办"); + } + + // 保存作废意见 + XrOpinion opinion = new XrOpinion(); + opinion.setTaskListId(taskListModel.getTaskLikeId()); + opinion.setOpinionType(BaseDataConstant.OPINION_TYPE_ENTER); + opinion.setHandler(user.getName()); + opinion.setHandlerId(user.getPrimaryKey()); + opinion.setHandelDate(LocalDate.now()); + opinion.setOpinionContent("作废原因:" + reason); + iXrOpinionService.save(opinion); + + // 作废工作流 + iXrTaskListService.updateWorkFlow(opinion, taskListModel, FlowUtil.SERIOUS_ILLEGAL_NULLIFY, + new String[]{user.getPrimaryKey()}, null); + + return RestResult.ok(taskListModel); + } }