From 225aaff6a93995400d20c47c55ae6f933a3e9018 Mon Sep 17 00:00:00 2001 From: zhouxy Date: Fri, 2 Jan 2026 12:31:11 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=86=E7=9C=81=E5=B1=80=E8=87=AA=E7=84=B6?= =?UTF-8?q?=E4=BA=BA=E5=88=97=E4=B8=A5=E5=8A=9F=E8=83=BD=E5=BC=BA=E8=A1=8C?= =?UTF-8?q?=E5=90=88=E5=88=B0=E8=BF=99=E9=87=8C=EF=BC=88=E8=87=AA=E7=84=B6?= =?UTF-8?q?=E4=BA=BA=E5=88=97=E4=B8=A5=E7=A7=BB=E5=87=BA=EF=BC=8C=E5=90=8C?= =?UTF-8?q?=E6=A0=B7=E5=B0=9A=E6=9C=AA=E6=B5=8B=E8=AF=95=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...SeriousIllegalPersonRemListController.java | 119 ++++++ .../dto/SeriousIllegalProcessRemDto.java | 82 ++++ ...IXrSeriousIllegalPersonRemListService.java | 33 ++ ...eriousIllegalPersonRemListServiceImpl.java | 361 ++++++++++++++++++ .../writs/service/TswrittemplateService.java | 4 + .../impl/TswrittemplateServiceImpl.java | 28 ++ 6 files changed, 627 insertions(+) create mode 100644 src/main/java/com/chinaweal/aiccs/aiccs/seriousillegalPerson/controller/XrSeriousIllegalPersonRemListController.java create mode 100644 src/main/java/com/chinaweal/aiccs/aiccs/seriousillegalPerson/entity/dto/SeriousIllegalProcessRemDto.java create mode 100644 src/main/java/com/chinaweal/aiccs/aiccs/seriousillegalPerson/service/IXrSeriousIllegalPersonRemListService.java create mode 100644 src/main/java/com/chinaweal/aiccs/aiccs/seriousillegalPerson/service/impl/XrSeriousIllegalPersonRemListServiceImpl.java 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 new file mode 100644 index 0000000..76585fb --- /dev/null +++ b/src/main/java/com/chinaweal/aiccs/aiccs/seriousillegalPerson/controller/XrSeriousIllegalPersonRemListController.java @@ -0,0 +1,119 @@ +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.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.seriousillegalPerson.entity.XrSeriousIllegalPersonList; +import com.chinaweal.aiccs.aiccs.seriousillegalPerson.entity.XrSeriousIllegalPersonRemList; +import com.chinaweal.aiccs.aiccs.seriousillegalPerson.entity.dto.PersonSpeSaveIvdDto; +import com.chinaweal.aiccs.aiccs.seriousillegalPerson.entity.dto.SeriousIllegalListQueryDto; +import com.chinaweal.aiccs.aiccs.seriousillegalPerson.entity.dto.SeriousIllegalProcessRemDto; +import com.chinaweal.aiccs.aiccs.seriousillegalPerson.entity.dto.SeriousIllegalSpeQueryDto; +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.aicorg.model.AICUser; +import com.chinaweal.aicorg.pojo.AICPermission; +import com.chinaweal.youfool.framework.springboot.base.query.BaseQuery; +import com.chinaweal.youfool.framework.springboot.rest.RestResult; +import com.chinaweal.youfool.framework.springboot.rest.ResultCode; +import com.chinaweal.youfool.framework.springboot.util.AssertUtils; +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.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import java.util.List; +import java.util.Map; + +/** + * 移出严重违法失信自然人名单(业务表) 控制器 + * + * @author zhouxy + * @since 2025-07-28 + */ +@Api(tags = "移出严重违法失信自然人名单(业务表)") +@RestController +@RequestMapping("/xrSeriousIllegalPersonRemList") +public class XrSeriousIllegalPersonRemListController extends BaseController { + + @Resource + private IXrSeriousIllegalPersonRemListService iXrSeriousIllegalPersonRemListService; + @Resource + private IXrSeriousIllegalPersonListService iXrSeriousIllegalPersonListService; + @Resource + private IXrActivityService iXrActivityService; + + + @ApiOperation(value = "1.分页查询移出严重违法失信企业名单(业务表)", position = 1) + @PostMapping("/list") + public RestResult> listXrSeriousIllegalPersonRemList(@RequestBody BaseQuery query, HttpServletRequest request) { + AICUser user = getLoginUser(request); + if (user == null) { + return RestResult.error(ResultCode.USER_NOT_LOGGED_IN); + } + IPage data = iXrSeriousIllegalPersonRemListService.listXrSeriousIllegalPersonRemList(query,user); + return RestResult.ok(data); + } + + @ApiOperation(value = "2.分页根据条件查询严重违法失信自然人名单(个案主体办理专用)", position = 2) + @PostMapping("/listXrSeriousIllegalPersonList") + public RestResult> listXrSeriousIllegalPersonList(@RequestBody BaseQuery query, HttpServletRequest request) { + AICUser user = getLoginUser(request); + if (user == null) { + return RestResult.error(ResultCode.USER_NOT_LOGGED_IN); + } + IPage data = iXrSeriousIllegalPersonListService.listXrSeriousIllegalPersonList(query, user); + return RestResult.ok(data); + } + + @ApiOperation(value = "3.启动列入待办", position = 3) + @PostMapping("/saveIvdAccept") + public RestResult saveIvdAccept(@RequestBody PersonSpeSaveIvdDto personSpeSaveIvdDto, HttpServletRequest request) { + AICUser user = SSOUtil.getUser(); + if (user == null) { + return RestResult.error(ResultCode.USER_NOT_LOGGED_IN); + } + XrTaskListVo xrTaskListVo = iXrSeriousIllegalPersonRemListService.saveIvdAccept(personSpeSaveIvdDto,user); + return RestResult.ok(xrTaskListVo); + } + + @ApiOperation(value = "4.业务号查询移出严重违法失信自然人表", position = 4) + @GetMapping("/listByBizSeqNo") + public RestResult listByBizSeqNo(@RequestParam @ApiParam("id") String bizSeqNo) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(XrSeriousIllegalPersonRemList::getBizSeqNo, bizSeqNo); + List xrSeriousIllegalPersonRemLists = iXrSeriousIllegalPersonRemListService.list(queryWrapper); + //目前暂时只取第一条业务数据 + XrSeriousIllegalPersonRemList xrSeriousIllegalPersonRemList = xrSeriousIllegalPersonRemLists.get(0); + return RestResult.ok(xrSeriousIllegalPersonRemList); + } + + @ApiOperation(value = "5.流程控制", position = 9) + @PostMapping("/processControl") + public RestResult processControl(@RequestBody @Validated SeriousIllegalProcessRemDto processRemDto) { + AssertUtils.isNotBlank(processRemDto.getNextNodeID(), processRemDto.getBizSeqNo()); + AICUser user = SSOUtil.getUser(); + + Map aicPermissions = user.getAicPermissions(); + //根据当前流程节点判断权限 + if (!iXrActivityService.checkPermissionsAndNodeID(aicPermissions, processRemDto.getCurrentNodeID(),processRemDto.getNextNodeID(),"abnormal")) { + return RestResult.error(ResultCode.INTERFACE_FORBID_VISIT, "无权操作"); + } + iXrSeriousIllegalPersonRemListService.processControl(processRemDto, user); + return RestResult.ok(); + } + + @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); + return RestResult.ok(approvalDto); + } +} diff --git a/src/main/java/com/chinaweal/aiccs/aiccs/seriousillegalPerson/entity/dto/SeriousIllegalProcessRemDto.java b/src/main/java/com/chinaweal/aiccs/aiccs/seriousillegalPerson/entity/dto/SeriousIllegalProcessRemDto.java new file mode 100644 index 0000000..8a81aa4 --- /dev/null +++ b/src/main/java/com/chinaweal/aiccs/aiccs/seriousillegalPerson/entity/dto/SeriousIllegalProcessRemDto.java @@ -0,0 +1,82 @@ +package com.chinaweal.aiccs.aiccs.seriousillegalPerson.entity.dto; + +import com.chinaweal.aiccs.aiccs.business.entity.XrOpinion; +import com.chinaweal.aiccs.aiccs.seriousillegalPerson.entity.XrSeriousIllegalPersonRemList; +import com.chinaweal.aiccs.aiccs.writs.entity.Tswrittemplate; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.Valid; +import javax.validation.constraints.NotBlank; + +@Data +@ApiModel(value = "严重违法移出流程模型") +public class SeriousIllegalProcessRemDto { + + + /** + * 业务主键 + */ + @ApiModelProperty(value = "待办主键") + private String tasklistid; + + /** + * 业务主键 + */ + @ApiModelProperty(value = "业务主键") + private String bizSeqNo; + + /** + * 下一流程节点 + */ + @ApiModelProperty(value = "下一流程节点") + @NotBlank(message = "下一流程节点类型不能为空!") + private String nextNodeID; + + /** + * 意见 + */ + @ApiModelProperty(value = "意见") + @Valid + private XrOpinion opinion; + + /** + * 下一步处理人id + */ + @ApiModelProperty(value = "下一步处理人ids") + private String[] nextPerformerIds; + + /** + * 下一步处理人姓名 + */ + @ApiModelProperty(value = "下一步处理人姓名数组") + private String nextPerformerNames; + + @ApiModelProperty(value = "移出信誉修复文书内容") + private Tswrittemplate tswrittemplate; + + /** + * 下一步处理人机构 + */ + @ApiModelProperty(value = "下一步处理人机构") + private String nextOrgID; + + /** + * 当前流程节点 + */ + @ApiModelProperty(value = "当前流程节点") + private String currentNodeID; + + /** + * 决定书内容 + */ + @ApiModelProperty(value = "决定书内容") + private String decisionContent; + + /** + * 自然人移出信息 + */ + @ApiModelProperty(value = "自然人移出信息") + private XrSeriousIllegalPersonRemList xrSeriousIllegalPersonRemList; +} diff --git a/src/main/java/com/chinaweal/aiccs/aiccs/seriousillegalPerson/service/IXrSeriousIllegalPersonRemListService.java b/src/main/java/com/chinaweal/aiccs/aiccs/seriousillegalPerson/service/IXrSeriousIllegalPersonRemListService.java new file mode 100644 index 0000000..1fd05bb --- /dev/null +++ b/src/main/java/com/chinaweal/aiccs/aiccs/seriousillegalPerson/service/IXrSeriousIllegalPersonRemListService.java @@ -0,0 +1,33 @@ +package com.chinaweal.aiccs.aiccs.seriousillegalPerson.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import com.chinaweal.aiccs.aiccs.business.entity.dto.ApprovalFormDto; +import com.chinaweal.aiccs.aiccs.business.entity.vo.XrTaskListVo; +import com.chinaweal.aiccs.aiccs.seriousillegalPerson.entity.XrSeriousIllegalPersonRemList; +import com.chinaweal.aiccs.aiccs.seriousillegalPerson.entity.dto.PersonSpeSaveIvdDto; +import com.chinaweal.aiccs.aiccs.seriousillegalPerson.entity.dto.SeriousIllegalProcessRemDto; +import com.chinaweal.aiccs.aiccs.seriousillegalPerson.entity.dto.SeriousIllegalSpeQueryDto; +import com.chinaweal.aicorg.model.AICUser; +import com.chinaweal.youfool.framework.springboot.base.query.BaseQuery; + +/** + * 移出严重违法失信自然人名单(业务表) 服务类 + * + * @author zhouxy + * @since 2025-07-28 + */ +public interface IXrSeriousIllegalPersonRemListService extends IService { + + IPage listXrSeriousIllegalPersonRemList(BaseQuery query, AICUser user); + + XrTaskListVo saveIvdAccept(PersonSpeSaveIvdDto personSpeSaveIvdDto, AICUser user); + + /** + * 流程控制 + */ + void processControl(SeriousIllegalProcessRemDto processRemDto, AICUser user); + + ApprovalFormDto getApprovalFormByBizSeqNo(String bizSeqNo, String cerNo, String bizSerRemId); + +} diff --git a/src/main/java/com/chinaweal/aiccs/aiccs/seriousillegalPerson/service/impl/XrSeriousIllegalPersonRemListServiceImpl.java b/src/main/java/com/chinaweal/aiccs/aiccs/seriousillegalPerson/service/impl/XrSeriousIllegalPersonRemListServiceImpl.java new file mode 100644 index 0000000..62ac3ea --- /dev/null +++ b/src/main/java/com/chinaweal/aiccs/aiccs/seriousillegalPerson/service/impl/XrSeriousIllegalPersonRemListServiceImpl.java @@ -0,0 +1,361 @@ +package com.chinaweal.aiccs.aiccs.seriousillegalPerson.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.chinaweal.aiccs.aiccs.abnormal.entity.TSWrit; +import com.chinaweal.aiccs.aiccs.abnormal.service.TSWritService; +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.rules.init.FlowUtil; +import com.chinaweal.aiccs.aiccs.business.service.IXrOpinionService; +import com.chinaweal.aiccs.aiccs.business.service.IXrTaskListService; +import com.chinaweal.aiccs.aiccs.inspect.service.TSWorkNoService; +import com.chinaweal.aiccs.aiccs.seriousillegalPerson.common.emnu.AuthEnum; +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; +import com.chinaweal.aiccs.aiccs.seriousillegalPerson.entity.dto.SeriousIllegalProcessRemDto; +import com.chinaweal.aiccs.aiccs.seriousillegalPerson.entity.dto.SeriousIllegalSpeQueryDto; +import com.chinaweal.aiccs.aiccs.seriousillegalPerson.mapper.XrSeriousIllegalPersonRemListMapper; +import com.chinaweal.aiccs.aiccs.seriousillegalPerson.service.IXrSeriousIllegalPersonListService; +import com.chinaweal.aiccs.aiccs.seriousillegalPerson.service.IXrSeriousIllegalPersonRemListService; +import com.chinaweal.aiccs.aiccs.system.entity.TRBaseCode; +import com.chinaweal.aiccs.aiccs.system.service.TRBaseCodeService; +import com.chinaweal.aiccs.aiccs.writs.entity.Tswrittemplate; +import com.chinaweal.aiccs.aiccs.writs.entity.dto.WritTempEntInfoDto; +import com.chinaweal.aiccs.aiccs.writs.service.TswrittemplateService; +import com.chinaweal.aiccs.common.constant.BaseDataConstant; +import com.chinaweal.aiccs.common.constant.FlowConstant; +import com.chinaweal.aiccs.common.util.StringUtils; +import com.chinaweal.aiccs.common.util.WorkNoUtil; +import com.chinaweal.aiccs.org.entity.OrgUnits; +import com.chinaweal.aiccs.org.service.AicorgService; +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.sso.util.SSOUtil; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.util.*; + +import static com.chinaweal.aiccs.common.util.WorkNoUtil.WORKNOTYPE_53; + +/** + * 移出严重违法失信自然人名单(业务表) 服务实现类 + * + * @author zhouxy + * @since 2025-07-28 + */ +@Service +public class XrSeriousIllegalPersonRemListServiceImpl extends ServiceImpl implements IXrSeriousIllegalPersonRemListService { + + @Autowired + private IXrSeriousIllegalPersonListService iXrSeriousIllegalPersonListService; + @Autowired + private IXrTaskListService iXrTaskListService; + @Autowired + private IXrOpinionService iXrOpinionService; + @Autowired + private AicorgService aicorgService; + @Autowired + private TRBaseCodeService trBaseCodeService; + @Autowired + private TSWritService tsWritService; + @Autowired + private TSWorkNoService tsWorkNoService; + @Autowired + private TswrittemplateService tswrittemplateService; + + @Override + public IPage listXrSeriousIllegalPersonRemList(BaseQuery query, AICUser user) { + SeriousIllegalSpeQueryDto entity = query.getEntity(SeriousIllegalSpeQueryDto.class); + Page page = new Page<>(query.getCurrent(), query.getSize()); + + String areaCode = aicorgService.getOrgnumberByUserLevel(user,false); + entity.setAreaCode(areaCode); + if(StringUtils.equals("history",entity.getBusType())){ + return baseMapper.listRecordByOrg(page, entity); + } else { + Map aicPermissions = user.getAicPermissions(); + // 权限 + List authList = new ArrayList<>(); + authList.add(user.getPrimaryKey()); + if (aicPermissions.containsKey(AuthEnum.XR_HANDLE.getCode())) { + authList.add(user.getRegionID() + ":" + AuthEnum.XR_HANDLE.getCode()); + } + entity.setAuthList(authList); + entity.setBusStatus("0"); + return baseMapper.listTodoByOrg(page, entity); + } + } + + @Override + public XrTaskListVo saveIvdAccept(PersonSpeSaveIvdDto personSpeSaveIvdDto, AICUser user) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(XrSeriousIllegalPersonList::getOperationStatus, '0'); + if(StringUtils.isNotEmpty(personSpeSaveIvdDto.getIllegalListId())){ + queryWrapper.eq(XrSeriousIllegalPersonList::getIllegalListId, personSpeSaveIvdDto.getIllegalListId()); + } else { + queryWrapper.eq(XrSeriousIllegalPersonList::getCerType, personSpeSaveIvdDto.getCerType()) + .eq(XrSeriousIllegalPersonList::getCerNo, personSpeSaveIvdDto.getCerNo()); + } + XrSeriousIllegalPersonList xrSeriousIllegalPersonList = iXrSeriousIllegalPersonListService.getOne(queryWrapper, false); + if (xrSeriousIllegalPersonList == null) { + throw new BusinessException("数据为空"); + } + + XrSeriousIllegalPersonRemList xrSeriousIllegalPersonRemList = new XrSeriousIllegalPersonRemList(); + xrSeriousIllegalPersonRemList.setBizSerRemId(UUID.randomUUID().toString()) + .setBizSeqNo(UUID.randomUUID().toString()) + .setIllegalListId(xrSeriousIllegalPersonList.getIllegalListId()) + .setCerType(xrSeriousIllegalPersonList.getCerType()) + .setCerNo(xrSeriousIllegalPersonList.getCerNo()) + .setInv(xrSeriousIllegalPersonList.getInv()) + .setAbnTime(xrSeriousIllegalPersonList.getAbnTime()) + .setApplyTime(LocalDateTime.now()) + .setSerIllRea(xrSeriousIllegalPersonList.getSerIllRea()) + .setAreaCode(user.getRegionID().substring(0, 6)) + .setDecOrg(user.getRegionID()) + .setDecOrgCn(user.getOrgName()) + .setRemSponsorIllegal(user.getPrimaryKey()) + .setStatus("0") + .setFinished("0") + .setDisplayed("1") + .setAddDepId(user.getOrgID()) + .setAddDepName(user.getOrgName()); + + XrTaskList xrTaskList = new XrTaskList(); + xrTaskList.setTaskLikeId(UUID.randomUUID().toString()) + .setBizSeqNo(xrSeriousIllegalPersonRemList.getBizSeqNo()) + .setBusName(xrSeriousIllegalPersonRemList.getInv()); + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.set(XrSeriousIllegalPersonList::getIsHandling, "1") + .set(XrSeriousIllegalPersonList::getRemBizSeq, xrSeriousIllegalPersonRemList.getBizSeqNo()) + .eq(XrSeriousIllegalPersonList::getIllegalListId, xrSeriousIllegalPersonList.getIllegalListId()); + iXrSeriousIllegalPersonListService.update(updateWrapper); + + save(xrSeriousIllegalPersonRemList); + xrTaskList.setApplyOrgId(user.getOrgID()); + xrTaskList.setWorkFlowId(FlowUtil.SERIOUS_REM_WORK_FLOW); + // 保存待办信息 + iXrTaskListService.startWorkFlowPerson(xrTaskList, new String[]{user.getPrimaryKey()}, null, Arrays.asList(personSpeSaveIvdDto)); + return new XrTaskListVo(xrTaskList.getTaskLikeId(), xrSeriousIllegalPersonRemList.getBizSeqNo(), ""); + } + + @Override + public void processControl(SeriousIllegalProcessRemDto processRemDto, AICUser user) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(XrSeriousIllegalPersonRemList::getBizSeqNo, processRemDto.getBizSeqNo()); + XrSeriousIllegalPersonRemList xrSeriousIllegalPersonRemList = getOne(queryWrapper); + if (xrSeriousIllegalPersonRemList == null) { + throw new BusinessException("暂无数据"); + } + LambdaQueryWrapper queryWrapper1 = new LambdaQueryWrapper<>(); + queryWrapper1.eq(XrTaskList::getBizSeqNo, xrSeriousIllegalPersonRemList.getBizSeqNo()); + XrTaskList xrTaskList = iXrTaskListService.getOne(queryWrapper1); + + if (StringUtils.equals(FlowConstant.LINK_TYPE_EXAMINE, processRemDto.getNextNodeID())) { + XrSeriousIllegalPersonRemList remList = processRemDto.getXrSeriousIllegalPersonRemList(); + //保存文书模板 + tswrittemplateService.savePersonRemTemplates(remList); + remList.setBizSerRemId(xrSeriousIllegalPersonRemList.getBizSerRemId()) + .setAreaCode(xrSeriousIllegalPersonRemList.getAreaCode()); + xrSeriousIllegalPersonRemList = remList; + // 审批流程中把状态设置成 "审核中" + xrSeriousIllegalPersonRemList.setStatus("1"); + TRBaseCode trbasecode; + QueryWrapper queryBaWrapper = new QueryWrapper<>(); + queryBaWrapper.lambda().eq(TRBaseCode::getCode, xrSeriousIllegalPersonRemList.getRemExcpRes()) + .eq(TRBaseCode::getCodeid, "CD74"); + trbasecode = trBaseCodeService.getOne(queryBaWrapper); + xrSeriousIllegalPersonRemList.setRemExcpResCn(trbasecode.getName()); +// //判断是否是从年报推过来的信用修复 +// xrTaskList = iXrTaskListService.checkNBXrTask(xrTaskList); + } else if (StringUtils.equals(FlowConstant.LINK_TYPE_APPROVE, processRemDto.getNextNodeID())) { + // 审核提交,下一步审审批 + // 审批流程中把状态设置成 "审批" + xrSeriousIllegalPersonRemList.setStatus("2"); + } else if (StringUtils.equals(FlowConstant.LINK_TYPE_END, processRemDto.getNextNodeID())) { + // 审批提交,结束业务 + // 审批流程中把状态设置成 "通过" + xrSeriousIllegalPersonRemList.setStatus("3"); + //业务完成 + xrSeriousIllegalPersonRemList.setFinished("1"); + xrSeriousIllegalPersonRemList.setRemDate(LocalDate.now()); + // 移出严重违法 + xrTaskList.setBusStatus(BaseDataConstant.BUSINESS_STATUS_END); + toEndRemList(xrSeriousIllegalPersonRemList,user); +// //判断是否是从年报推过来的信用修复 +// xrTaskList = iXrTaskListService.checkNBXrTask(xrTaskList); + } else if (StringUtils.equals(FlowConstant.LINK_TYPE_NULLIFY, processRemDto.getNextNodeID())) { + // 审批流程中把状态设置成 "不通过" + xrSeriousIllegalPersonRemList.setStatus(FlowConstant.LINK_STATUS_FIVE).setFinished("1"); + LambdaQueryWrapper queryWrapper2 = new LambdaQueryWrapper<>(); + queryWrapper2.eq(XrSeriousIllegalPersonList::getIllegalListId, xrSeriousIllegalPersonRemList.getIllegalListId()); + XrSeriousIllegalPersonList xrSeriousIllegalPersonList = iXrSeriousIllegalPersonListService.getOne(queryWrapper2); + xrSeriousIllegalPersonList.setIsHandling("0"); + iXrSeriousIllegalPersonListService.saveOrUpdate(xrSeriousIllegalPersonList); + if (processRemDto.getOpinion() != null) { + xrSeriousIllegalPersonRemList.setBackProposal(processRemDto.getOpinion().getOpinionContent()); + } + } else if (StringUtils.equals(FlowConstant.LINK_TYPE_EXAMINE_FINISH, processRemDto.getNextNodeID()) + || StringUtils.equals(FlowConstant.LINK_TYPE_APPROVE_FINISH, processRemDto.getNextNodeID())) { + // 审批流程中把状态设置成 "作废" + xrSeriousIllegalPersonRemList.setStatus("4"); + xrSeriousIllegalPersonRemList.setBackProposal(processRemDto.getOpinion().getOpinionContent()); + xrSeriousIllegalPersonRemList.setFinished("1"); + } else if (StringUtils.equals(FlowConstant.LINK_TYPE_EXAMINE_RETURN, processRemDto.getNextNodeID())) { + xrSeriousIllegalPersonRemList.setStatus(FlowConstant.LINK_STATUS_ONE); + } else if (StringUtils.equals(FlowConstant.LINK_TYPE_HANDLE_RETURN, processRemDto.getNextNodeID())) { + xrSeriousIllegalPersonRemList.setStatus(FlowConstant.LINK_STATUS_ZERO); + } else if (StringUtils.equals(FlowConstant.LINK_TYPE_REPLENISH, processRemDto.getNextNodeID())) { // 材料补正 + processRemDto.setNextPerformerIds(new String[]{user.getPrimaryKey()}); + xrSeriousIllegalPersonRemList.setStatus(FlowConstant.LINK_STATUS_FOUR); //材料补正视作不通过 +// xrSeriousIllegalPersonRemList.setBackProposal(processRemDto.getXrSeriousIllegalRemList().getBackProposal()); + xrSeriousIllegalPersonRemList.setIsAccept("2"); + xrSeriousIllegalPersonRemList.setApprovalDate(LocalDate.now()); + xrSeriousIllegalPersonRemList.setFinished("1"); + xrTaskList.setBusStatus(BaseDataConstant.BUSINESS_STATUS_END); +// //判断是否是从年报推过来的信用修复 +// xrTaskList = iXrTaskListService.checkNBXrTask(xrTaskList); + } + xrSeriousIllegalPersonRemList.setRemSponsorIllegal(user.getPrimaryKey()); + saveOrUpdate(xrSeriousIllegalPersonRemList); + iXrTaskListService.updateWorkFlow(processRemDto.getOpinion(), xrTaskList, + processRemDto.getNextNodeID(), processRemDto.getNextPerformerIds(), null); + } + + private void toEndRemList(XrSeriousIllegalPersonRemList xrSeriousIllegalPersonRemList, AICUser user){ + XrSeriousIllegalPersonList xrSeriousIllegalPersonList = iXrSeriousIllegalPersonListService.getById(xrSeriousIllegalPersonRemList.getIllegalListId()); + if (xrSeriousIllegalPersonList == null) { + throw new BusinessException("严重违法失信自然人名单表数据为空"); + } + xrSeriousIllegalPersonList.setRemExcpRes(xrSeriousIllegalPersonRemList.getRemExcpRes()); + TRBaseCode trBaseCode = trBaseCodeService.getOne(new LambdaQueryWrapper() + .eq(TRBaseCode::getCode, xrSeriousIllegalPersonRemList.getRemExcpRes()) + .eq(TRBaseCode::getCodeid, "CD74")); + if (trBaseCode != null) { + xrSeriousIllegalPersonList.setRemExcpResCn(trBaseCode.getName()); + } + xrSeriousIllegalPersonList.setLostCreditExplainRem(xrSeriousIllegalPersonRemList.getLostCreditExplainRem()) + .setRemSponsorIllegal(xrSeriousIllegalPersonRemList.getRemSponsorIllegal()) + .setIsHandling("0") + .setOperationStatus("1") + .setDisplayed("1") + .setRemDate(LocalDate.now()) + .setDisplayed("1"); + //判断列入机关,若是所一级,则改为其上级单位,即区县一级 + xrSeriousIllegalPersonList = iXrSeriousIllegalPersonListService.checkDecOrg(xrSeriousIllegalPersonList,user.getOrgID(),1); + + String remWritId = tsWorkNoService.generateSeriousIncludeDocNo(xrSeriousIllegalPersonRemList.getAreaCode()); + Tswrittemplate tswrittemplate = tswrittemplateService + .getOne(new LambdaQueryWrapper() + .eq(Tswrittemplate::getBizseq, xrSeriousIllegalPersonRemList.getBizSeqNo()), false); + if (tswrittemplate != null) { + TSWrit tsWrit = new TSWrit(); + tsWrit.setWritsid(remWritId) + .setBizseq(tswrittemplate.getBizseq()) + .setWritstype(tswrittemplate.getWritsType()) + .setWritsname(WorkNoUtil.getWorkNoTypeName(tswrittemplate.getWritsType())) + .setPripid(xrSeriousIllegalPersonRemList.getCerNo()) + .setContent(tswrittemplate.getContent()) + .setAreaCode(xrSeriousIllegalPersonRemList.getAreaCode()); + tsWritService.save(tsWrit); + } + xrSeriousIllegalPersonList.setRemWritId(remWritId); + + saveOrUpdate(xrSeriousIllegalPersonRemList); + iXrSeriousIllegalPersonListService.saveOrUpdate(xrSeriousIllegalPersonList); + } + + @Override + public ApprovalFormDto getApprovalFormByBizSeqNo(String bizSeqNo, String cerNo, String bizSerRemId) { + ApprovalFormDto approvalFormDto = new ApprovalFormDto(); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + if(StringUtils.isNotBlank(bizSerRemId)){ + queryWrapper.eq(XrSeriousIllegalPersonRemList::getBizSerRemId, bizSerRemId); + } else { + queryWrapper.eq(XrSeriousIllegalPersonRemList::getBizSeqNo, bizSeqNo) + .eq(XrSeriousIllegalPersonRemList::getCerNo, cerNo); + } + + XrSeriousIllegalPersonRemList xrSeriousIllegalPersonRemList = getOne(queryWrapper); + LambdaQueryWrapper queryWrapper1 = new LambdaQueryWrapper<>(); + queryWrapper1.eq(XrTaskList::getBizSeqNo, bizSeqNo); + XrTaskList one = iXrTaskListService.getOne(queryWrapper1); + List data = iXrOpinionService.list(new LambdaQueryWrapper() + .eq(XrOpinion::getTaskListId, one.getTaskLikeId()).orderByDesc(XrOpinion::getUpdateTime)); + BeanUtils.copyProperties(xrSeriousIllegalPersonRemList, approvalFormDto); + AICUser user = SSOUtil.getUser(); + approvalFormDto.setAreaName(user.getOrgName()); + approvalFormDto.setInv(xrSeriousIllegalPersonRemList.getInv()); + approvalFormDto.setCerNo(xrSeriousIllegalPersonRemList.getCerNo()); + approvalFormDto.setOpinion(data); + + String lostCreditExplain = ""; + TRBaseCode trbasecode = trBaseCodeService.getOne(new LambdaQueryWrapper() + .eq(TRBaseCode::getCode, xrSeriousIllegalPersonRemList.getRemExcpRes()) + .eq(TRBaseCode::getCodeid, "CD74")); + if(trbasecode != null){ + lostCreditExplain = trbasecode.getName(); + } else { + lostCreditExplain = xrSeriousIllegalPersonRemList.getRemExcpResCn(); + } + //用该字段存移出原因 + approvalFormDto.setLostCreditExplain(lostCreditExplain); + + //信誉是否修复文书 + HashMap map = new HashMap<>(); + LambdaQueryWrapper tsWritLambdaQueryWrapper = new LambdaQueryWrapper<>(); + tsWritLambdaQueryWrapper.eq(TSWrit::getBizseq, bizSeqNo) + .eq(TSWrit::getPripid, cerNo) + .in(TSWrit::getWritstype, "p2","p3"); + TSWrit tsWritRepair = tsWritService.getOne(tsWritLambdaQueryWrapper,false); + if (tsWritRepair != null) { + map.put("writsNo", tsWritRepair.getWritsno()); + map.put("abnTime", xrSeriousIllegalPersonRemList.getAbnTime()); + map.put("writTime", tsWritRepair.getCreatetime()); + if (tsWritRepair.getContent() != null) { + map.put("content", tsWritRepair.getContent()); + } else { +// WritTempEntInfoDto writTempEntInfoDto = new WritTempEntInfoDto(); +// writTempEntInfoDto.setBizseq(xrSeriousIllegalPersonRemList.getBizSeqNo()); +// Tswrittemplate template = tswrittemplateService.getTemplateTwo(writTempEntInfoDto); +// map.put("content", template.getContent()); + map.put("content", ""); + } + + map.put("writsName", tsWritRepair.getWritsname()); + String areaName = user.getOrgName(); + OrgUnits orgunits = aicorgService.getOne(new LambdaQueryWrapper() + .eq(OrgUnits::getOrgUnitId, user.getOrgID())); + //若当前单位是所级则显示其区局 + if(orgunits.getOrgLevel() >= 5){ + OrgUnits parentOrg = aicorgService.getOne(new LambdaQueryWrapper() + .eq(OrgUnits::getOrgNumber,StringUtils.substring(user.getRegionID(),0,6)+"000") + .eq(OrgUnits::getDeleted, "0")); + areaName = parentOrg.getOrgUnitName(); + } + if (areaName.contains("市场监督管理局")) { + areaName = areaName.substring(0,areaName.indexOf("市场监督管理局")); + } + map.put("areaName", areaName); + map.put("WritsType", tsWritRepair.getWritstype()); + approvalFormDto.setRepairMap(map); + } + return approvalFormDto; + } + +} diff --git a/src/main/java/com/chinaweal/aiccs/aiccs/writs/service/TswrittemplateService.java b/src/main/java/com/chinaweal/aiccs/aiccs/writs/service/TswrittemplateService.java index 7903e99..e17239d 100644 --- a/src/main/java/com/chinaweal/aiccs/aiccs/writs/service/TswrittemplateService.java +++ b/src/main/java/com/chinaweal/aiccs/aiccs/writs/service/TswrittemplateService.java @@ -1,5 +1,6 @@ package com.chinaweal.aiccs.aiccs.writs.service; +import com.chinaweal.aiccs.aiccs.seriousillegalPerson.entity.XrSeriousIllegalPersonRemList; import com.chinaweal.aiccs.aiccs.writs.entity.Tswrittemplate; import com.chinaweal.aicorg.model.AICUser; import com.chinaweal.youfool.framework.springboot.mybatis.plus.BaseService; @@ -53,4 +54,7 @@ public interface TswrittemplateService extends BaseService { * @since 2025年3月3日09:52:04 */ Tswrittemplate generateWrits(String writsType, String bizseq, String type, AICUser user); + + void savePersonRemTemplates(XrSeriousIllegalPersonRemList xrSeriousIllegalPersonRemList); + } diff --git a/src/main/java/com/chinaweal/aiccs/aiccs/writs/service/impl/TswrittemplateServiceImpl.java b/src/main/java/com/chinaweal/aiccs/aiccs/writs/service/impl/TswrittemplateServiceImpl.java index a9ff859..3be8046 100644 --- a/src/main/java/com/chinaweal/aiccs/aiccs/writs/service/impl/TswrittemplateServiceImpl.java +++ b/src/main/java/com/chinaweal/aiccs/aiccs/writs/service/impl/TswrittemplateServiceImpl.java @@ -9,6 +9,7 @@ import com.chinaweal.aiccs.aiccs.seriousillegal.entity.TSBizSerIllegalRem; import com.chinaweal.aiccs.aiccs.seriousillegal.entity.TSSerIllegalList; import com.chinaweal.aiccs.aiccs.seriousillegal.service.TSBizSerIllegalRemService; import com.chinaweal.aiccs.aiccs.seriousillegal.service.TSSerIllegalListService; +import com.chinaweal.aiccs.aiccs.seriousillegalPerson.entity.XrSeriousIllegalPersonRemList; import com.chinaweal.aiccs.aiccs.system.entity.TRBaseCode; import com.chinaweal.aiccs.aiccs.system.service.TRBaseCodeService; import com.chinaweal.aiccs.aiccs.writs.entity.Tswrittemplate; @@ -23,6 +24,7 @@ import com.chinaweal.aicorg.model.AICUser; import com.chinaweal.youfool.framework.springboot.mybatis.plus.BaseServiceImpl; import com.chinaweal.youfool.framework.springboot.rest.RestResult; import com.chinaweal.youfool.framework.springboot.util.SpringUtil; +import com.chinaweal.youfool.framework.sso.util.SSOUtil; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; @@ -34,6 +36,7 @@ import java.time.LocalDate; import java.time.LocalDateTime; import java.util.List; import java.util.Map; +import java.util.UUID; /** *

@@ -239,4 +242,29 @@ public class TswrittemplateServiceImpl extends BaseServiceImpl