diff --git a/src/main/java/com/chinaweal/aiccs/aiccs/revoke/service/impl/RevokeServiceImpl.java b/src/main/java/com/chinaweal/aiccs/aiccs/revoke/service/impl/RevokeServiceImpl.java index 2a9b2c9..df1e5d6 100644 --- a/src/main/java/com/chinaweal/aiccs/aiccs/revoke/service/impl/RevokeServiceImpl.java +++ b/src/main/java/com/chinaweal/aiccs/aiccs/revoke/service/impl/RevokeServiceImpl.java @@ -3,29 +3,27 @@ package com.chinaweal.aiccs.aiccs.revoke.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.chinaweal.aiccs.aiccs.abnormal.entity.TSAttachment; -import com.chinaweal.aiccs.aiccs.abnormal.service.IGzaiccodeService; -import com.chinaweal.aiccs.aiccs.asyncTask.RevokeAsyncTask; import com.chinaweal.aiccs.aiccs.abnormal.entity.EBaseinfo; -import com.chinaweal.aiccs.aiccs.abnormal.entity.TSWrit; import com.chinaweal.aiccs.aiccs.abnormal.service.EBaseinfoService; import com.chinaweal.aiccs.aiccs.abnormal.service.TSAttachmentService; import com.chinaweal.aiccs.aiccs.abnormal.service.TSWritService; +import com.chinaweal.aiccs.aiccs.asyncTask.RevokeAsyncTask; import com.chinaweal.aiccs.aiccs.auditing.entity.TSOpinion; import com.chinaweal.aiccs.aiccs.auditing.service.TSOpinionService; import com.chinaweal.aiccs.aiccs.business.entity.TSTwfProcessNode; import com.chinaweal.aiccs.aiccs.business.service.WorkFlowService; import com.chinaweal.aiccs.aiccs.dict.entity.CmsDictCode; import com.chinaweal.aiccs.aiccs.dict.service.CmsDictCodeService; +import com.chinaweal.aiccs.aiccs.force.entity.XrLiccanRec; +import com.chinaweal.aiccs.aiccs.force.entity.XrLiccanRecTask; +import com.chinaweal.aiccs.aiccs.force.service.IXrLiccanRecService; +import com.chinaweal.aiccs.aiccs.force.service.IXrLiccanRecTaskService; import com.chinaweal.aiccs.aiccs.forcedCancellation.entity.ForceLogoutNotice; import com.chinaweal.aiccs.aiccs.forcedCancellation.entity.ForceLogoutNoticeDetail; -import com.chinaweal.aiccs.aiccs.force.entity.XrLiccanRec; import com.chinaweal.aiccs.aiccs.forcedCancellation.service.ForceLogoutNoticeDetailService; import com.chinaweal.aiccs.aiccs.forcedCancellation.service.ForceLogoutNoticeService; -import com.chinaweal.aiccs.aiccs.force.service.IXrLiccanRecService; import com.chinaweal.aiccs.aiccs.inspect.service.TSWorkNoService; import com.chinaweal.aiccs.aiccs.revoke.entity.*; -import com.chinaweal.aiccs.aiccs.revoke.entity.dto.BizRevEntAttachDto; import com.chinaweal.aiccs.aiccs.revoke.entity.dto.RevokeProcessDto; import com.chinaweal.aiccs.aiccs.revoke.service.*; import com.chinaweal.aiccs.aiccs.writs.entity.Tswrittemplate; @@ -45,12 +43,10 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.io.File; +import java.text.SimpleDateFormat; import java.time.LocalDate; import java.time.LocalDateTime; import java.util.*; -import java.util.stream.Collectors; -import java.text.SimpleDateFormat; -import java.util.Date; /** * @author Lee @@ -100,10 +96,12 @@ public class RevokeServiceImpl implements IRevokeProcessService { private ForceLogoutNoticeService forceLogoutNoticeService; @Autowired private IXrLiccanRecService xrLiccanRecService; + @Autowired + private IXrLiccanRecTaskService xrLiccanRecTaskService; @Override public void processControl(RevokeProcessDto revokeProcessDto, Tsrevtasklist taskList, Tsbizrevlist tsbizrevlist, - AICUser loginUser)throws Exception { + AICUser loginUser) throws Exception { TSTwfProcessNode twfProcessNode = workFlowService.findCurrentNode(taskList.getWorkflowid()); String link = String.format("%s_%s", twfProcessNode.getCurrentnode(), revokeProcessDto.getNextNodeID()); TsCase caseModel = revokeProcessDto.getCaseModel(); @@ -111,11 +109,11 @@ public class RevokeServiceImpl implements IRevokeProcessService { switch (link) { // 立案调查开始 case "caseEnter_handleCase": // 经办_审核 - this.toHandleCase(revokeProcessDto, taskList,tsbizrevlist, loginUser); + this.toHandleCase(revokeProcessDto, taskList, tsbizrevlist, loginUser); break; case "approvalCase_caseEnter": // 回退至经办人 case "handleCase_caseEnter": // 回退至经办人 - this.backCaseEnter(revokeProcessDto, taskList,tsbizrevlist, loginUser); + this.backCaseEnter(revokeProcessDto, taskList, tsbizrevlist, loginUser); break; case "handleCase_handleCase": // 审核_审核 tsbizrevlist.setStatus("2"); @@ -125,12 +123,12 @@ public class RevokeServiceImpl implements IRevokeProcessService { break; case "approvalCase_handleCase": // 审批_审核 tsbizrevlist.setStatus("2"); - this.backLastStep(revokeProcessDto, taskList,"approvalCase", "handleCase"); + this.backLastStep(revokeProcessDto, taskList, "approvalCase", "handleCase"); break; // 立案调查结束 听证告知与行政处罚建议开始 case "approvalCase_investigateEnter":// 立案审批_听证告知经办 flag = true; - this.toInvestigateEnter(revokeProcessDto, taskList,tsbizrevlist, loginUser); + this.toInvestigateEnter(revokeProcessDto, taskList, tsbizrevlist, loginUser); break; case "investigateEnter_handleHearing": // 经办_审核 tsbizrevlist.setStatus("8"); @@ -139,7 +137,7 @@ public class RevokeServiceImpl implements IRevokeProcessService { case "hearingRegDepLeader_investigateEnter": // 回退至经办人 case "handleHearing_investigateEnter": case "approvalHearing_investigateEnter": - this.backInvestigateEnter(revokeProcessDto, taskList,tsbizrevlist, loginUser); + this.backInvestigateEnter(revokeProcessDto, taskList, tsbizrevlist, loginUser); break; case "handleHearing_handleHearing": // 审核-审核 tsbizrevlist.setStatus("8"); @@ -161,15 +159,15 @@ public class RevokeServiceImpl implements IRevokeProcessService { // 听证告知与行政处罚建议结束 行政处罚决定开始 case "approvalHearing_decisionEnter": flag = true; - this.toDecisionEnter(revokeProcessDto, taskList,tsbizrevlist, loginUser); + this.toDecisionEnter(revokeProcessDto, taskList, tsbizrevlist, loginUser); break; case "decisionEnter_handleDecision": - this.toHandleDecision(revokeProcessDto, taskList,tsbizrevlist, loginUser); + this.toHandleDecision(revokeProcessDto, taskList, tsbizrevlist, loginUser); break; case "handleDecision_decisionEnter": // 回退至经办人 case "decisionRegDepLeader_decisionEnter": // 回退至经办人 case "approvalDecision_decisionEnter": // 回退至经办人 - this.backHandleDecision(revokeProcessDto, taskList,tsbizrevlist, loginUser); + this.backHandleDecision(revokeProcessDto, taskList, tsbizrevlist, loginUser); break; case "handleDecision_decisionRegDepLeader": tsbizrevlist.setStatus("27"); @@ -188,7 +186,7 @@ public class RevokeServiceImpl implements IRevokeProcessService { break; case "approvalDecision_sendEnter": flag = true; - this.toSendEnter(revokeProcessDto, taskList,tsbizrevlist, loginUser); + this.toSendEnter(revokeProcessDto, taskList, tsbizrevlist, loginUser); break; // 行政处罚决定结束 // 归档 @@ -204,7 +202,7 @@ public class RevokeServiceImpl implements IRevokeProcessService { tsbizrevlist.setLauptime(LocalDateTime.now()); tsbizrevlistService.saveOrUpdate(tsbizrevlist); - if(!flag) { + if (!flag) { //流程推进 tsrevtasklistService.updateWorkFlow(loginUser, revokeProcessDto.getOpinion(), taskList, revokeProcessDto.getNextNodeID(), revokeProcessDto.getNextPerformerIds(), revokeProcessDto.getNextPerformerNames()); @@ -221,22 +219,22 @@ public class RevokeServiceImpl implements IRevokeProcessService { switch (link) { // 立案调查开始 case "batchDeactivationlEnter_handleBatchDeactivationl": // 经办_审核 - this.toHandleBatchDeactivationl(revokeProcessDto, taskList,tsbizrevlist, loginUser); + this.toHandleBatchDeactivationl(revokeProcessDto, taskList, tsbizrevlist, loginUser); break; case "handleBatchDeactivationl_batchDeactivationlEnter": // 回退至经办人 - this.backBatchDeactivaEnter(revokeProcessDto, taskList,tsbizrevlist, loginUser); + this.backBatchDeactivaEnter(revokeProcessDto, taskList, tsbizrevlist, loginUser); break; - //handleBatchDeactivationl_approveBatchDeactivationl + //handleBatchDeactivationl_approveBatchDeactivationl case "handleBatchDeactivationl_approveBatchDeactivationl": // 审核_审批 - this.toApproveBatchDeactivationl(revokeProcessDto, taskList,tsbizrevlist, loginUser); + this.toApproveBatchDeactivationl(revokeProcessDto, taskList, tsbizrevlist, loginUser); break; case "approveBatchDeactivationl_batchDeactivationlEnter": // 审批_经办 - this.toBatchDeactivationlEntertionl(revokeProcessDto, taskList,tsbizrevlist, loginUser); + this.toBatchDeactivationlEntertionl(revokeProcessDto, taskList, tsbizrevlist, loginUser); break; case "approveBatchDeactivationl_forcedLogoutEnter": // 公告审批_注销经办 flag = true; try { - this.toForcedLogoutEnter(revokeProcessDto, taskList,tsbizrevlist, loginUser); + this.toForcedLogoutEnter(revokeProcessDto, taskList, tsbizrevlist, loginUser); } catch (Exception e) { throw new RuntimeException(e); } @@ -251,7 +249,7 @@ public class RevokeServiceImpl implements IRevokeProcessService { tsbizrevlist.setLauptime(LocalDateTime.now()); tsbizrevlistService.saveOrUpdate(tsbizrevlist); - if(!flag) { + if (!flag) { //流程推进 tsrevtasklistService.updateWorkFlowZx(loginUser, revokeProcessDto.getOpinion(), taskList, revokeProcessDto.getNextNodeID(), revokeProcessDto.getNextPerformerIds(), revokeProcessDto.getNextPerformerNames()); @@ -272,7 +270,7 @@ public class RevokeServiceImpl implements IRevokeProcessService { public void toHandleCase(RevokeProcessDto revokeProcessDto, Tsrevtasklist taskList, Tsbizrevlist tsbizrevlist, AICUser loginUser) { TsCase caseModel = revokeProcessDto.getCaseModel(); taskList.setBusname(caseModel.getCaseName());//案件名称作为待办busname - if(StringUtils.isNotEmpty(caseModel.getIllegalAct())){// 违法行为中文 + if (StringUtils.isNotEmpty(caseModel.getIllegalAct())) {// 违法行为中文 String[] split = caseModel.getIllegalAct().split(Constant.COMMA); String s = split[split.length - 1]; CmsDictCode dictCode = cmsDictCodeService.getList("illegalAct", s); @@ -310,22 +308,22 @@ public class RevokeServiceImpl implements IRevokeProcessService { // 获取立案审批人手动选择的时间 List list = opinionService.list(new LambdaQueryWrapper() .eq(TSOpinion::getWorkflowid, taskList.getWorkflowid()) - .eq(TSOpinion::getIsagree,"1") - .eq(TSOpinion::getOpiniontype,"3") + .eq(TSOpinion::getIsagree, "1") + .eq(TSOpinion::getOpiniontype, "3") .orderByDesc(TSOpinion::getLauptime)); caseModel.setSetTime(list.get(0).getHandledate()); String bizseq = revokeProcessDto.getBizseq(); String userOrgCode = aicorgService.getRegionCodeByUser(loginUser); List bizRevEntList = bizRevEntService.getListByBizseq(bizseq); - if(CollectionUtils.isEmpty(bizRevEntList))throw new BusinessException("业务主体数据为空"); + if (CollectionUtils.isEmpty(bizRevEntList)) throw new BusinessException("业务主体数据为空"); // 生成案件审批表 createFileService.createCaseApprovalDocx(bizseq, ConstantsUtil.getAreaName(userOrgCode), userOrgCode, taskList.getWorkflowid()); // 生成立案名单附件 String path = createFileService.createEntExcel(bizseq, "21", bizRevEntList); - if(path == null){ + if (path == null) { throw new BusinessException("立案名单附件生成出错"); } @@ -375,15 +373,15 @@ public class RevokeServiceImpl implements IRevokeProcessService { String bizseq = revokeProcessDto.getBizseq(); List bizRevEntList = bizRevEntService.getListByBizseq(bizseq); - if(CollectionUtils.isEmpty(bizRevEntList))throw new BusinessException("业务主体数据为空"); + if (CollectionUtils.isEmpty(bizRevEntList)) throw new BusinessException("业务主体数据为空"); // 生成行政处罚建议审批表 String areaName = ConstantsUtil.getAreaName(tsbizrevlist.getHandleOrg()); - createFileService.createPunishAdviceApprDocx(bizseq,areaName,taskList.getWorkflowid()); + createFileService.createPunishAdviceApprDocx(bizseq, areaName, taskList.getWorkflowid()); // 生成听证名单附件 String excelPath = createFileService.createEntExcel(bizseq, "22", bizRevEntList); - if(excelPath == null){ + if (excelPath == null) { throw new BusinessException("听证告知名单附件生成出错"); } } @@ -398,13 +396,13 @@ public class RevokeServiceImpl implements IRevokeProcessService { //流程推进 tsrevtasklistService.updateWorkFlow(loginUser, revokeProcessDto.getOpinion(), taskList, revokeProcessDto.getNextNodeID(), revokeProcessDto.getNextPerformerIds(), revokeProcessDto.getNextPerformerNames()); - tsbizrevlist.setStatus("14"); // 流程中业务状态设置成 "送达经办" + tsbizrevlist.setStatus("14"); // 流程中业务状态设置成 "送达经办" LocalDateTime now = LocalDateTime.now(); String bizseq = revokeProcessDto.getBizseq(); String userOrgCode = aicorgService.getRegionCodeByUser(loginUser); List bizRevEntList = bizRevEntService.getListByBizseq(bizseq); - if(CollectionUtils.isEmpty(bizRevEntList))throw new BusinessException("业务主体数据为空"); + if (CollectionUtils.isEmpty(bizRevEntList)) throw new BusinessException("业务主体数据为空"); //ArrayList revokelists = new ArrayList<>(); @@ -433,10 +431,10 @@ public class RevokeServiceImpl implements IRevokeProcessService { // 生成处罚决定审批表 String areaName = ConstantsUtil.getAreaName(userOrgCode); - createFileService.createPunishDecisionApprDocx(bizseq,areaName,taskList.getWorkflowid()); + createFileService.createPunishDecisionApprDocx(bizseq, areaName, taskList.getWorkflowid()); // 生成处罚决定名单附件 String excelPath = createFileService.createEntExcel(bizseq, "23", bizRevEntList); - if(excelPath == null){ + if (excelPath == null) { throw new BusinessException("行政处罚决定名单附件生成出错"); } } @@ -447,11 +445,11 @@ public class RevokeServiceImpl implements IRevokeProcessService { String bizseq = revokeProcessDto.getBizseq(); HashMap paramMap = new HashMap<>(); - paramMap.put("bizseq",bizseq); + paramMap.put("bizseq", bizseq); IPage revEntPage = tsbizrevlistService.getRevEntPage(new Page<>(1, 1), paramMap); Tsbizrevlist firstEnt = revEntPage.getRecords().get(0); String userOrgCode = aicorgService.getRegionCodeByUser(loginUser); - if(tsbizrevlist.getDecWritStartNo() == null){ // 未有决定书流水号值 + if (tsbizrevlist.getDecWritStartNo() == null) { // 未有决定书流水号值 Map map = tsWorkNoService.getBatchWrirsno(WorkNoUtil.WORKNOTYPE_33, userOrgCode, (int) revEntPage.getTotal()); int currentNo = (int) map.get("currentNo"); String genRule = (String) map.get("genRule"); @@ -467,23 +465,23 @@ public class RevokeServiceImpl implements IRevokeProcessService { map.put("month", now.getMonthValue()); map.put("day", now.getDayOfMonth()); LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(Tswrittemplate::getBizseq,bizseq) - .eq(Tswrittemplate::getIsTemplate,"0") - .eq(Tswrittemplate::getWritsType,WorkNoUtil.WORKNOTYPE_33); + wrapper.eq(Tswrittemplate::getBizseq, bizseq) + .eq(Tswrittemplate::getIsTemplate, "0") + .eq(Tswrittemplate::getWritsType, WorkNoUtil.WORKNOTYPE_33); Tswrittemplate tswrittemplate = tswrittemplateService.getOne(wrapper); - map.put("htmlContent",tswrittemplate.getContent()); + map.put("htmlContent", tswrittemplate.getContent()); EBaseinfo eBaseinfo = eBaseinfoService.getOne(new LambdaQueryWrapper().eq(EBaseinfo::getPripid, firstEnt.getPripid())); map.put("entName", eBaseinfo.getEntname()); map.put("uniscid", eBaseinfo.getUniscid()); map.put("lerep", eBaseinfo.getLerep()); - map.put("dom",eBaseinfo.getDom()); + map.put("dom", eBaseinfo.getDom()); map.put("pripid", eBaseinfo.getPripid()); map.put("entCerName", eBaseinfo.getEntname()); String firstWritsNo = tsWorkNoService.updateWritsNo(tsbizrevlist.getDecFirstWrit(), tsbizrevlist.getDecWritStartNo()); map.put("writsno", firstWritsNo); - map.put("areaName",ConstantsUtil.getAreaName(userOrgCode)); + map.put("areaName", ConstantsUtil.getAreaName(userOrgCode)); String fileName = firstEnt.getEntname() + "-处罚决定书"; - String path = "static" + File.separator + "template" + File.separator + "punishDecision.docx"; + String path = "static" + File.separator + "template" + File.separator + "punishDecision.docx"; // attachtype为'20' 作为处罚决定书预览类型 String docxPath = createFileService.createDocx(firstEnt.getBizseq(), fileName, "20", path, map); @@ -500,7 +498,7 @@ public class RevokeServiceImpl implements IRevokeProcessService { } @Override - public void backLastStep(RevokeProcessDto revokeProcessDto, Tsrevtasklist taskList,String currentNode,String nextNode) { + public void backLastStep(RevokeProcessDto revokeProcessDto, Tsrevtasklist taskList, String currentNode, String nextNode) { String userId = workFlowService.findLastTwfprocessnodeByProcessidAndNodename(taskList.getWorkflowid(), currentNode, nextNode); AICUser handler = orgUM.findUserByPrimaryKey(userId); revokeProcessDto.setNextPerformerIds(new String[]{handler.getPrimaryKey()}); @@ -551,7 +549,7 @@ public class RevokeServiceImpl implements IRevokeProcessService { String bizseq = revokeProcessDto.getBizseq(); String userOrgCode = aicorgService.getRegionCodeByUser(loginUser); List forceLogoutNoticeDetailList = forceLogoutNoticeDetailService.getByBizSeqId(bizseq); - if(CollectionUtils.isEmpty(forceLogoutNoticeDetailList))throw new BusinessException("业务主体数据为空"); + if (CollectionUtils.isEmpty(forceLogoutNoticeDetailList)) throw new BusinessException("业务主体数据为空"); //生成注销公告 // 获取当前日期(LocalDate类型) @@ -560,9 +558,9 @@ public class RevokeServiceImpl implements IRevokeProcessService { LocalDate futureDate = currentDate.plusDays(90); LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(Tswrittemplate::getBizseq,bizseq) - .eq(Tswrittemplate::getIsTemplate,"0") - .eq(Tswrittemplate::getWritsType,WorkNoUtil.WORKNOTYPE_64); + wrapper.eq(Tswrittemplate::getBizseq, bizseq) + .eq(Tswrittemplate::getIsTemplate, "0") + .eq(Tswrittemplate::getWritsType, WorkNoUtil.WORKNOTYPE_64); Tswrittemplate tswrittemplate = tswrittemplateService.getOne(wrapper); ForceLogoutNotice forceLogoutNotice = new ForceLogoutNotice(); @@ -570,7 +568,7 @@ public class RevokeServiceImpl implements IRevokeProcessService { forceLogoutNotice.setForceId(id); forceLogoutNotice.setBizseqId(bizseq); SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日"); - String data = sdf.format(new Date()); + String data = sdf.format(new Date()); String zxbt = tsbizrevlist.getHandleOrgCn() + data + "拟强制注销公告"; forceLogoutNotice.setNoticeTitle(zxbt); forceLogoutNotice.setNoticeContent(tswrittemplate.getContent()); @@ -587,28 +585,32 @@ public class RevokeServiceImpl implements IRevokeProcessService { forceLogoutNoticeService.save(forceLogoutNotice); - forceLogoutNoticeService.deactivationNotice(bizseq,loginUser,tsbizrevlist,taskList); + forceLogoutNoticeService.deactivationNotice(bizseq, loginUser, tsbizrevlist, taskList); // 生成营业执照作废声明数据 + LocalDate now = LocalDate.now(); for (ForceLogoutNoticeDetail detail : forceLogoutNoticeDetailList) { // 跳过已剔除的企业 if ("1".equals(detail.getIsRemove())) { continue; } + XrLiccanRecTask entnameEntity = new XrLiccanRecTask(); + entnameEntity.setEntName(detail.getEntName()); + String liccanSta = xrLiccanRecTaskService.generateLiccanSta(handler, entnameEntity); + XrLiccanRec liccanRec = new XrLiccanRec(); - liccanRec.setRecId(UUID.randomUUID().toString()); liccanRec.setPripId(detail.getPripid()); liccanRec.setEntName(detail.getEntName()); liccanRec.setUniscId(detail.getUniscid()); liccanRec.setRegno(detail.getRegNo()); liccanRec.setRegOrg(detail.getRegOrg()); liccanRec.setRegOrgCn(detail.getRegOrgCn()); - liccanRec.setRegType("FORCE_LOGOUT"); + liccanRec.setRegType("51"); //强制注销 liccanRec.setLiccanReason("1"); liccanRec.setIsoricop("1"); - liccanRec.setLiccanSta("营业执照因强制注销公告作废"); - liccanRec.setLiccanDate(LocalDate.now()); + liccanRec.setLiccanSta(liccanSta); + liccanRec.setLiccanDate(now); xrLiccanRecService.save(liccanRec); }