diff --git a/src/main/java/com/chinaweal/aiccs/aiccs/seriousillegal/controller/EOtIlldisdetailController.java b/src/main/java/com/chinaweal/aiccs/aiccs/seriousillegal/controller/EOtIlldisdetailController.java index 89a330e..afe5046 100644 --- a/src/main/java/com/chinaweal/aiccs/aiccs/seriousillegal/controller/EOtIlldisdetailController.java +++ b/src/main/java/com/chinaweal/aiccs/aiccs/seriousillegal/controller/EOtIlldisdetailController.java @@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.chinaweal.aiccs.aiccs.abnormal.entity.EPriPerson; import com.chinaweal.aiccs.aiccs.abnormal.service.EPriPersonService; +import com.chinaweal.aiccs.aiccs.abnormal.entity.TSWrit; +import com.chinaweal.aiccs.aiccs.abnormal.service.TSWritService; import com.chinaweal.aiccs.aiccs.auditing.entity.TSOpinion; import com.chinaweal.aiccs.aiccs.auditing.service.TSOpinionService; import com.chinaweal.aiccs.aiccs.business.entity.TSTaskList; @@ -20,6 +22,7 @@ import com.chinaweal.aiccs.aiccs.seriousillegal.entity.dto.*; import com.chinaweal.aiccs.aiccs.seriousillegal.entity.vo.ApprovalPageVo; import com.chinaweal.aiccs.aiccs.seriousillegal.entity.vo.TaskDetailVo; import com.chinaweal.aiccs.aiccs.seriousillegal.entity.vo.TaskSubmitResultVo; +import com.chinaweal.aiccs.aiccs.seriousillegal.entity.vo.PrintTSWritVo; import com.chinaweal.aiccs.aiccs.seriousillegal.service.IEOtIlldisdetailService; import com.chinaweal.aiccs.aiccs.seriousillegal.service.IEOtIlldisdetailTempService; import com.chinaweal.aiccs.aiccs.system.entity.TRBaseCode; @@ -29,6 +32,7 @@ import com.chinaweal.aiccs.common.constant.BaseDataConstant; import com.chinaweal.aiccs.common.util.FlowUtil; import com.chinaweal.aiccs.common.util.StringUtils; import com.chinaweal.aiccs.common.util.WorkFlowUtil; +import com.chinaweal.aiccs.common.util.WorkNoUtil; import com.chinaweal.aicorg.model.AICUser; import com.chinaweal.youfool.framework.springboot.base.query.BaseQuery; import com.chinaweal.youfool.framework.springboot.exception.custom.BusinessException; @@ -43,7 +47,9 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; +import java.time.LocalDate; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.UUID; @@ -84,6 +90,9 @@ public class EOtIlldisdetailController extends BaseController { @Autowired private EPriPersonService priPersonService; + @Autowired + private TSWritService tsWritService; + /** * 列入严重违法失信企业名单(黑名单)-受理 */ @@ -697,4 +706,91 @@ public class EOtIlldisdetailController extends BaseController { return RestResult.ok(result); } + + /** + * 打印文书页面 + */ + @ApiOperation("打印文书页面") + @PostMapping("/printTSWrit") + public RestResult printTSWrit(@RequestBody PrintTSWritDto dto) { + PrintTSWritVo result = new PrintTSWritVo(); + + if ("1".equals(dto.getPrintstatus())) { + // 打印决定书 + EOtIlldisdetailTemp detail = eOtIlldisdetailTempService.getById(dto.getIllid()); + if (detail == null) { + throw new BusinessException("记录不存在"); + } + + TSWrit writQueryModel = new TSWrit(); + if ("enter".equals(dto.getType())) { + // 列入决定书 + writQueryModel.setWritstype(WorkNoUtil.WORKNOTYPE_21); + writQueryModel.setPripid(detail.getPripid()); + writQueryModel.setBizseq(detail.getInBizseq()); + } else if ("remove".equals(dto.getType())) { + // 移出决定书 + writQueryModel.setWritstype(WorkNoUtil.WORKNOTYPE_25); + writQueryModel.setPripid(detail.getPripid()); + writQueryModel.setBizseq(detail.getOutBizseq()); + } + + List tsWritQueryModels = tsWritService.listTswrit(writQueryModel); + if (tsWritQueryModels.size() > 0) { + result.setWrirsno(tsWritQueryModels.get(0).getWritsno()); + } + + result.setDetail(detail); + result.setNowTime(LocalDate.now()); + if ("enter".equals(dto.getType())) { + // 列入决定书需要加上届满日期 + if (detail.getAbntime() != null) { + result.setExpirationDate(detail.getAbntime().plusYears(5)); + } + } + + } else if ("3".equals(dto.getPrintstatus())) { + // 打印审批表 + TSTaskList taskListModel = taskListService.selectByWorkflowID(dto.getWorkflowid()); + if (taskListModel == null) { + throw new BusinessException("待办记录不存在"); + } + + StringBuilder regno = new StringBuilder(); + StringBuilder ename = new StringBuilder(); + List list = eOtIlldisdetailTempService.listByBizSeq(taskListModel.getBizseqid()); + + if (list != null && !list.isEmpty()) { + for (int i = 0; i < list.size(); i++) { + if (i > 2) { + regno.append("等"); + ename.append("等企业"); + break; + } + if (i > 0) { + ename.append(", "); + regno.append(", "); + } + ename.append(list.get(i).getEntname()); + regno.append(list.get(i).getUniscid() != null ? list.get(i).getUniscid() : list.get(i).getRegno()); + } + } + + List opinionList = opinionService.selectByAuditingID(dto.getWorkflowid()); + result.setOpinionList(opinionList); + result.setRegno(regno.toString()); + result.setEname(ename.toString()); + result.setList(list); + if (list != null && !list.isEmpty()) { + result.setDecorgString(list.get(0).getDecorgCn()); + if ("enter".equals(dto.getType())) { + result.setLostCreditExplain(list.get(0).getSerillreaCn()); + } else if ("remove".equals(dto.getType())) { + result.setLostCreditExplainrem(list.get(0).getRemexcpresCn()); + } + } + } + + return RestResult.ok(result); + } } diff --git a/src/main/java/com/chinaweal/aiccs/aiccs/seriousillegal/entity/EOtIlldisdetail.java b/src/main/java/com/chinaweal/aiccs/aiccs/seriousillegal/entity/EOtIlldisdetail.java index 79efdb2..b6589d9 100644 --- a/src/main/java/com/chinaweal/aiccs/aiccs/seriousillegal/entity/EOtIlldisdetail.java +++ b/src/main/java/com/chinaweal/aiccs/aiccs/seriousillegal/entity/EOtIlldisdetail.java @@ -183,6 +183,20 @@ public class EOtIlldisdetail extends Model { @ApiModelProperty(value = "移出文号") private String redocnum; + /** + * 列入文书id + */ + @TableField("INTOWRITID") + @ApiModelProperty(value = "列入文书id") + private String intowritid; + + /** + * 移除文书id + */ + @TableField("REMWRITID") + @ApiModelProperty(value = "移除文书id") + private String remwritid; + /** * 数据汇总单位 */ diff --git a/src/main/java/com/chinaweal/aiccs/aiccs/seriousillegal/entity/EOtIlldisdetailTemp.java b/src/main/java/com/chinaweal/aiccs/aiccs/seriousillegal/entity/EOtIlldisdetailTemp.java index 0c4792f..a29c587 100644 --- a/src/main/java/com/chinaweal/aiccs/aiccs/seriousillegal/entity/EOtIlldisdetailTemp.java +++ b/src/main/java/com/chinaweal/aiccs/aiccs/seriousillegal/entity/EOtIlldisdetailTemp.java @@ -211,6 +211,20 @@ public class EOtIlldisdetailTemp extends Model { @ApiModelProperty(value = "移出文号") private String redocnum; + /** + * 列入文书id + */ + @TableField("INTOWRITID") + @ApiModelProperty(value = "列入文书id") + private String intowritid; + + /** + * 移除文书id + */ + @TableField("REMWRITID") + @ApiModelProperty(value = "移除文书id") + private String remwritid; + /** * 数据汇总单位 */ diff --git a/src/main/java/com/chinaweal/aiccs/aiccs/seriousillegal/entity/dto/PrintTSWritDto.java b/src/main/java/com/chinaweal/aiccs/aiccs/seriousillegal/entity/dto/PrintTSWritDto.java new file mode 100644 index 0000000..7dd4d28 --- /dev/null +++ b/src/main/java/com/chinaweal/aiccs/aiccs/seriousillegal/entity/dto/PrintTSWritDto.java @@ -0,0 +1,40 @@ +package com.chinaweal.aiccs.aiccs.seriousillegal.entity.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 打印文书参数DTO + * + * @author lroyia + * @since 2026/3/9 + */ +@Data +@ApiModel(value = "PrintTSWritDto", description = "打印文书参数") +public class PrintTSWritDto { + + /** + * 打印状态:1-决定书,3-审批表 + */ + @ApiModelProperty(value = "打印状态:1-决定书,3-审批表", required = true) + private String printstatus; + + /** + * 记录ID + */ + @ApiModelProperty(value = "记录ID", required = true) + private String illid; + + /** + * 工作流ID + */ + @ApiModelProperty(value = "工作流ID") + private String workflowid; + + /** + * 业务类型:enter-列入,remove-移出 + */ + @ApiModelProperty(value = "业务类型:enter-列入,remove-移出", required = true) + private String type; +} \ No newline at end of file diff --git a/src/main/java/com/chinaweal/aiccs/aiccs/seriousillegal/entity/vo/PrintTSWritVo.java b/src/main/java/com/chinaweal/aiccs/aiccs/seriousillegal/entity/vo/PrintTSWritVo.java new file mode 100644 index 0000000..834207a --- /dev/null +++ b/src/main/java/com/chinaweal/aiccs/aiccs/seriousillegal/entity/vo/PrintTSWritVo.java @@ -0,0 +1,91 @@ +package com.chinaweal.aiccs.aiccs.seriousillegal.entity.vo; + +import com.chinaweal.aiccs.aiccs.auditing.entity.TSOpinion; +import com.chinaweal.aiccs.aiccs.seriousillegal.entity.EOtIlldisdetailTemp; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.time.LocalDate; +import java.util.List; + +/** + * 打印文书结果VO + * + * @author lroyia + * @since 2026/3/9 + */ +@Data +@ApiModel(value = "PrintTSWritVo", description = "打印文书结果") +public class PrintTSWritVo { + + // 决定书模式字段 + + /** + * 详细信息(决定书模式) + */ + @ApiModelProperty("详细信息") + private EOtIlldisdetailTemp detail; + + /** + * 当前时间 + */ + @ApiModelProperty("当前时间") + private LocalDate nowTime; + + /** + * 届满日期(列入决定书) + */ + @ApiModelProperty("届满日期(列入决定书)") + private LocalDate expirationDate; + + /** + * 文书号 + */ + @ApiModelProperty("文书号") + private String wrirsno; + + // 审批表模式字段 + + /** + * 审批意见列表(审批表模式) + */ + @ApiModelProperty("审批意见列表") + private List opinionList; + + /** + * 注册号(审批表模式) + */ + @ApiModelProperty("注册号") + private String regno; + + /** + * 企业名称(审批表模式) + */ + @ApiModelProperty("企业名称") + private String ename; + + /** + * 业务记录列表(审批表模式) + */ + @ApiModelProperty("业务记录列表") + private List list; + + /** + * 决定机关(审批表模式) + */ + @ApiModelProperty("决定机关") + private String decorgString; + + /** + * 列入事由(审批表模式-列入类型) + */ + @ApiModelProperty("列入事由(审批表模式-列入类型)") + private String lostCreditExplain; + + /** + * 移出事由(审批表模式-移出类型) + */ + @ApiModelProperty("移出事由(审批表模式-移出类型)") + private String lostCreditExplainrem; +} \ No newline at end of file diff --git a/src/main/java/com/chinaweal/aiccs/aiccs/seriousillegal/service/impl/EOtIlldisdetailTempServiceImpl.java b/src/main/java/com/chinaweal/aiccs/aiccs/seriousillegal/service/impl/EOtIlldisdetailTempServiceImpl.java index b015fc8..bff509d 100644 --- a/src/main/java/com/chinaweal/aiccs/aiccs/seriousillegal/service/impl/EOtIlldisdetailTempServiceImpl.java +++ b/src/main/java/com/chinaweal/aiccs/aiccs/seriousillegal/service/impl/EOtIlldisdetailTempServiceImpl.java @@ -1,20 +1,26 @@ package com.chinaweal.aiccs.aiccs.seriousillegal.service.impl; +import com.alibaba.excel.util.CollectionUtils; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; 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.auditing.entity.TSOpinion; import com.chinaweal.aiccs.aiccs.auditing.service.TSOpinionService; import com.chinaweal.aiccs.aiccs.business.entity.TSTaskList; import com.chinaweal.aiccs.aiccs.business.service.TSTaskListService; import com.chinaweal.aiccs.aiccs.business.service.WorkFlowService; +import com.chinaweal.aiccs.aiccs.inspect.service.TSWorkNoService; import com.chinaweal.aiccs.aiccs.seriousillegal.entity.EOtIlldisdetail; import com.chinaweal.aiccs.aiccs.seriousillegal.entity.EOtIlldisdetailTemp; import com.chinaweal.aiccs.aiccs.seriousillegal.mapper.EOtIlldisdetailTempMapper; import com.chinaweal.aiccs.aiccs.seriousillegal.service.IEOtIlldisdetailService; import com.chinaweal.aiccs.aiccs.seriousillegal.service.IEOtIlldisdetailTempService; -import com.chinaweal.aiccs.common.constant.BaseDataConstant; +import com.chinaweal.aiccs.common.constant.CommonConstants; import com.chinaweal.aiccs.common.util.FlowUtil; import com.chinaweal.aiccs.common.util.StringUtils; +import com.chinaweal.aiccs.common.util.WorkNoUtil; +import com.chinaweal.aiccs.org.service.AicorgService; import com.chinaweal.aicorg.model.AICUser; import com.chinaweal.youfool.framework.springboot.exception.custom.BusinessException; import lombok.extern.slf4j.Slf4j; @@ -23,7 +29,6 @@ import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.time.LocalDate; import java.time.LocalDateTime; import java.util.List; @@ -52,13 +57,24 @@ public class EOtIlldisdetailTempServiceImpl extends ServiceImpl listByBizSeq(String bizSeq) { - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.and(w -> w.eq(EOtIlldisdetailTemp::getInBizseq, bizSeq) - .or() - .eq(EOtIlldisdetailTemp::getOutBizseq, bizSeq)); - return list(wrapper); + List list = lambdaQuery().eq(EOtIlldisdetailTemp::getInBizseq, bizSeq) + .ne(EOtIlldisdetailTemp::getDstate, CommonConstants.DELETED_2).list(); + if (CollectionUtils.isEmpty(list)) { + list = lambdaQuery().eq(EOtIlldisdetailTemp::getOutBizseq, bizSeq) + .ne(EOtIlldisdetailTemp::getDstate, CommonConstants.DELETED_2).list(); + } + return list; } @Override @@ -75,8 +91,8 @@ public class EOtIlldisdetailTempServiceImpl extends ServiceImpl tempRecords, TSOpinion opinionModel, - String nextNodeID, String[] nextPerformerids, String[] nextPerformerNames) { + List tempRecords, TSOpinion opinionModel, + String nextNodeID, String[] nextPerformerids, String[] nextPerformerNames) { try { // 保存审批意见 if (opinionModel != null && StringUtils.isNotBlank(opinionModel.getOperOpinion())) { @@ -92,7 +108,32 @@ public class EOtIlldisdetailTempServiceImpl extends ServiceImpl tempRecords, TSOpinion opinionModel, - String nextNodeID, String[] nextPerformerids, String[] nextPerformerNames) { + List tempRecords, TSOpinion opinionModel, + String nextNodeID, String[] nextPerformerids, String[] nextPerformerNames) { try { // 保存审批意见 if (opinionModel != null && StringUtils.isNotBlank(opinionModel.getOperOpinion())) { @@ -135,12 +176,33 @@ public class EOtIlldisdetailTempServiceImpl extends ServiceImpl