增加E_LICENSE_NULLIFY_REG视图内容的写入

This commit is contained in:
黎润豪 2026-04-14 15:21:51 +08:00
parent d2040beb2e
commit d7bf8993f2
1 changed files with 62 additions and 60 deletions

View File

@ -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<TSOpinion> list = opinionService.list(new LambdaQueryWrapper<TSOpinion>()
.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<BizRevEnt> 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<BizRevEnt> 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<BizRevEnt> bizRevEntList = bizRevEntService.getListByBizseq(bizseq);
if(CollectionUtils.isEmpty(bizRevEntList))throw new BusinessException("业务主体数据为空");
if (CollectionUtils.isEmpty(bizRevEntList)) throw new BusinessException("业务主体数据为空");
//ArrayList<Revokelist> 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<String, Object> paramMap = new HashMap<>();
paramMap.put("bizseq",bizseq);
paramMap.put("bizseq", bizseq);
IPage<Tsbizrevlist> 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<String, Object> 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<Tswrittemplate> 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<EBaseinfo>().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<ForceLogoutNoticeDetail> 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<Tswrittemplate> 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);
}