Compare commits
No commits in common. "d7bf8993f29ca2549ece128246a54e56d246e704" and "209eb48bb73f416f0a472194c61664786dd9e27a" have entirely different histories.
d7bf8993f2
...
209eb48bb7
|
|
@ -1,147 +0,0 @@
|
|||
# XQ-20260414-001 开发文档
|
||||
|
||||
## 任务概述
|
||||
**PMS待办编号**: XQ-20260414-001
|
||||
**来源**: 内蒙古市场监督管理局信用监管系统改造
|
||||
**功能点**: 内蒙信用监管-营业执照作废公告进行公示
|
||||
**截止日期**: 2026-04-16
|
||||
|
||||
## 需求分析
|
||||
|
||||
### 1. 功能开发
|
||||
**需求描述**: 强制注销审批成功后,将营业执照作废声明数据插入到 `E_LICENSE_NULLIFY_REG` 表
|
||||
|
||||
**实现方案**:
|
||||
- `E_LICENSE_NULLIFY_REG` 是视图,底层表为 `XR_LICCAN_REC`
|
||||
- 修改 `RevokeServiceImpl.toForcedLogoutEnter()` 方法
|
||||
- 在强制注销公告生成完成后,遍历 `ForceLogoutNoticeDetail` 列表
|
||||
- 为每个未剔除的企业创建 `XrLiccanRec` 记录
|
||||
|
||||
### 2. Bug修复
|
||||
**问题描述**: 营业执照作废记录点击后数据库读写异常(测试账号:xudy)
|
||||
|
||||
**可能原因分析**:
|
||||
- 待排查,需联系测试人员提供更详细的错误日志
|
||||
|
||||
**修复方案**:
|
||||
- 待定,需进一步定位问题
|
||||
|
||||
## 代码修改
|
||||
|
||||
### 修改文件
|
||||
`src/main/java/com/chinaweal/aiccs/aiccs/revoke/service/impl/RevokeServiceImpl.java`
|
||||
|
||||
### 修改内容
|
||||
|
||||
#### 1. 新增导入
|
||||
```java
|
||||
import com.chinaweal.aiccs.aiccs.force.entity.XrLiccanRec;
|
||||
import com.chinaweal.aiccs.aiccs.force.service.IXrLiccanRecService;
|
||||
```
|
||||
|
||||
#### 2. 新增服务注入
|
||||
```java
|
||||
@Autowired
|
||||
private IXrLiccanRecService xrLiccanRecService;
|
||||
```
|
||||
|
||||
#### 3. 在 toForcedLogoutEnter 方法末尾添加逻辑
|
||||
在 `forceLogoutNoticeService.deactivationNotice(...)` 调用之后添加:
|
||||
|
||||
```java
|
||||
// 生成营业执照作废声明数据
|
||||
for (ForceLogoutNoticeDetail detail : forceLogoutNoticeDetailList) {
|
||||
// 跳过已剔除的企业
|
||||
if ("1".equals(detail.getIsRemove())) {
|
||||
continue;
|
||||
}
|
||||
|
||||
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.setLiccanReason("1");
|
||||
liccanRec.setIsoricop("1");
|
||||
liccanRec.setLiccanSta("营业执照因强制注销公告作废");
|
||||
liccanRec.setLiccanDate(LocalDate.now());
|
||||
|
||||
xrLiccanRecService.save(liccanRec);
|
||||
}
|
||||
```
|
||||
|
||||
## 数据映射关系
|
||||
|
||||
| XrLiccanRec 字段 | 数据来源 | 说明 |
|
||||
|-----------------|---------|------|
|
||||
| recId | UUID.randomUUID().toString() | 主键 |
|
||||
| pripId | detail.getPripid() | 主体标识 |
|
||||
| entName | detail.getEntName() | 企业名称 |
|
||||
| uniscId | detail.getUniscid() | 统一社会信用代码 |
|
||||
| regno | detail.getRegNo() | 注册号 |
|
||||
| regOrg | detail.getRegOrg() | 登记机关 |
|
||||
| regOrgCn | detail.getRegOrgCn() | 登记机关中文名 |
|
||||
| regType | "FORCE_LOGOUT" | 业务类型-强制注销 |
|
||||
| liccanReason | "1" | 作废原因-无法缴回 |
|
||||
| isoricop | "1" | 正副本-正副本 |
|
||||
| liccanSta | "营业执照因强制注销公告作废" | 作废声明内容 |
|
||||
| liccanDate | LocalDate.now() | 作废声明日期 |
|
||||
|
||||
## 底层表说明
|
||||
|
||||
### 视图 E_LICENSE_NULLIFY_REG
|
||||
```sql
|
||||
CREATE OR REPLACE VIEW AICCS.E_LICENSE_NULLIFY_REG AS
|
||||
SELECT
|
||||
T1.RECID, T1.PRIPID, T1.ENTNAME, T1.UNISC_ID, T1.REG_ORG, T1.REG_ORG_CN,
|
||||
T1.REG_TYPE, T1.LICAN_REASON, T1.ISORICOP, T1.LICAN_STA, T1.LICAN_DATE,
|
||||
T1.LICCOPY_NO, T1.S_EXT_FROMNODE, T1.S_EXT_DATATIME
|
||||
FROM AICCS.XR_LICCAN_REC T1;
|
||||
```
|
||||
|
||||
### 原始表 XR_LICCAN_REC
|
||||
表名:`AICCS.XR_LICCAN_REC`
|
||||
|
||||
对应实体类:`com.chinaweal.aiccs.aiccs.force.entity.XrLiccanRec`
|
||||
|
||||
## 测试要点
|
||||
|
||||
### 功能测试
|
||||
1. 创建强制注销业务,添加企业名单
|
||||
2. 完成全部审批流程,直到强制注销审批通过
|
||||
3. 验证 `XR_LICCAN_REC` 表中是否生成了对应的作废声明记录
|
||||
4. 验证记录字段值是否正确
|
||||
|
||||
### 回归测试
|
||||
1. 原有强制注销流程是否正常
|
||||
2. 营业执照作废声明查询功能是否正常
|
||||
|
||||
## 风险评估
|
||||
- **风险等级**: 低
|
||||
- **影响范围**: 仅在强制注销审批通过后新增数据写入,不影响原有业务流程
|
||||
- **回滚方案**: 回退代码即可
|
||||
|
||||
## Git提交信息
|
||||
```
|
||||
XQ-20260414-001: 修正为插入XR_LICCAN_REC表
|
||||
|
||||
【修正内容】
|
||||
- E_LICENSE_NULLIFY_REG是视图,原始表为XR_LICCAN_REC
|
||||
- 使用已有的XrLiccanRec实体类
|
||||
- 修改RevokeServiceImpl.toForcedLogoutEnter()方法
|
||||
- 强制注销审批通过后,向XR_LICCAN_REC表插入营业执照作废声明数据
|
||||
```
|
||||
|
||||
## 开发记录
|
||||
- 创建分支: XQ-20260414-001
|
||||
- 开始日期: 2026-04-14
|
||||
- 第一次修正: 插入了错误的表 LICENSE_CANCELLATION_DECLARE
|
||||
- 第二次修正: 改为插入正确的视图对应的原始表 XR_LICCAN_REC
|
||||
|
||||
## 后续工作
|
||||
1. Bug修复需要更多错误日志信息才能定位
|
||||
2. 需要在测试环境验证功能是否正常
|
||||
|
|
@ -3,27 +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.forcedCancellation.service.ForceLogoutNoticeDetailService;
|
||||
import com.chinaweal.aiccs.aiccs.forcedCancellation.service.ForceLogoutNoticeService;
|
||||
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;
|
||||
|
|
@ -43,10 +43,12 @@ 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
|
||||
|
|
@ -94,14 +96,10 @@ public class RevokeServiceImpl implements IRevokeProcessService {
|
|||
private ForceLogoutNoticeDetailService forceLogoutNoticeDetailService;
|
||||
@Autowired
|
||||
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();
|
||||
|
|
@ -109,11 +107,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");
|
||||
|
|
@ -123,12 +121,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");
|
||||
|
|
@ -137,7 +135,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");
|
||||
|
|
@ -159,15 +157,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");
|
||||
|
|
@ -186,7 +184,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;
|
||||
// 行政处罚决定结束
|
||||
// 归档
|
||||
|
|
@ -202,7 +200,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());
|
||||
|
|
@ -219,22 +217,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);
|
||||
}
|
||||
|
|
@ -249,7 +247,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());
|
||||
|
|
@ -270,7 +268,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);
|
||||
|
|
@ -308,22 +306,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("立案名单附件生成出错");
|
||||
}
|
||||
|
||||
|
|
@ -373,15 +371,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("听证告知名单附件生成出错");
|
||||
}
|
||||
}
|
||||
|
|
@ -396,13 +394,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<>();
|
||||
|
|
@ -431,10 +429,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("行政处罚决定名单附件生成出错");
|
||||
}
|
||||
}
|
||||
|
|
@ -445,11 +443,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");
|
||||
|
|
@ -465,23 +463,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);
|
||||
|
||||
|
|
@ -498,7 +496,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()});
|
||||
|
|
@ -549,7 +547,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类型)
|
||||
|
|
@ -558,9 +556,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();
|
||||
|
|
@ -568,7 +566,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());
|
||||
|
|
@ -585,35 +583,9 @@ 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.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("51"); //强制注销
|
||||
liccanRec.setLiccanReason("1");
|
||||
liccanRec.setIsoricop("1");
|
||||
liccanRec.setLiccanSta(liccanSta);
|
||||
liccanRec.setLiccanDate(now);
|
||||
|
||||
xrLiccanRecService.save(liccanRec);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue