yangys
2025-09-23 3baca21e0e6563f8379359ef2ba78c224eb4bc80
blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/service/ConfirmTablePrintService.java
@@ -5,7 +5,6 @@
import lombok.AllArgsConstructor;
import org.apache.commons.lang3.StringUtils;
import org.flowable.engine.HistoryService;
import org.flowable.engine.RuntimeService;
import org.flowable.engine.history.HistoricProcessInstance;
import org.flowable.engine.history.HistoricProcessInstanceQuery;
import org.springblade.core.oss.OssTemplate;
@@ -18,7 +17,8 @@
import org.springblade.mdm.basesetting.producedivision.service.QinzheFgbService;
import org.springblade.mdm.commons.contants.DictBizConstants;
import org.springblade.mdm.commons.service.ParamService;
import org.springblade.mdm.flow.constants.FlowContants;
import org.springblade.mdm.flow.constants.FlowConstant;
import org.springblade.mdm.flow.constants.FlowVariableConstant;
import org.springblade.mdm.flow.entity.FlowProgramFile;
import org.springblade.mdm.flow.entity.TaskDispatch;
import org.springblade.mdm.flow.service.ApproveInfoQueryService;
@@ -27,8 +27,8 @@
import org.springblade.mdm.flow.service.TaskDispatchService;
import org.springblade.mdm.flow.vo.ApproveTableInfo;
import org.springblade.mdm.flow.vo.FlowVO;
import org.springblade.mdm.program.entity.NcNode;
import org.springblade.mdm.program.service.NcNodeService;
import org.springblade.mdm.program.entity.NcNodeHis;
import org.springblade.mdm.program.service.NcNodeHisService;
import org.springblade.mdm.statreport.utils.WordReplaceUtil;
import org.springblade.system.feign.IDictBizClient;
import org.springframework.stereotype.Service;
@@ -47,13 +47,13 @@
@Service
@AllArgsConstructor
public class ConfirmTablePrintService {
   private final RuntimeService runtimeService;
   private final IDictBizClient dictBizClient;
   private final HistoryService historyService;
   private final FlowProgramFileService flowProgramFileService;
   private ApproveInfoQueryService approveInfoQueryService;
   private final MachineService machineService;
   private final NcNodeService nodeService;
   private final NcNodeHisService nodeHisService;
   private final ParamService paramService;
   private final TaskDispatchService taskDispatchService;
   private final OssTemplate ossTemplate;
@@ -61,7 +61,6 @@
   private static final String DATE_PATTERN = "yyyy-M-d";
   /**
    * 导出word岸本
    * @param dispatch 任务分派
    * @param props 流程属性
    */
   public ByteArrayOutputStream exportConfirmTableDoc(FlowProgramProperties props) throws IOException {
@@ -84,10 +83,16 @@
      machine = machineService.getByCode(machineCode);
      Map<String, String> dataMap = new HashMap<>();
      NcNode node = this.nodeService.getById(props.getNodeId());
      //NcNode node = this.nodeService.getById(props.getNodeId());
      NcNodeHis node = nodeHisService.getById(props.getNodeId());
      TaskDispatch dispatch = taskDispatchService.getByProgramNo(node.getProgramNo());
      dataMap.put("bh",node.getProgramNo());//编号,就是数控程序编号
      if(dispatch == null){
         //防止老数据报错
         dispatch = new TaskDispatch();
      }
      String bianhao = props.getDrawingNo()+"-"+props.getProcessNo()+"-"+props.getProcessEdition();
      dataMap.put("bh",bianhao);//编号,就是数控程序编号
      dataMap.put("drawingNo", props.getDrawingNo());
      dataMap.put("processNo", props.getProcessNo());
@@ -121,7 +126,7 @@
      }else{
         dataMap.put("czz", "");
      }
      dataMap.put("programNo",dispatch.getProgramNo());
      dataMap.put("programNo",bianhao);
      if(StringUtils.isNotBlank(dispatch.getInspector())) {
         dataMap.put("jyy",dispatch.getInspector()+"/"+formatTimeForTable(dispatch.getCheckTime()));//实际检验员和检验时间
@@ -143,8 +148,8 @@
      dataMap.put("bianzhi",approveInfo.getProgrammerName()+"/"+formatTimeForTable(approveInfo.getProgrammingDate()));//编程人员
      //approveInfo.getDispatchDate()
      dataMap.put("jiaodui",approveInfo.getTeamLeaderName()+"/"+formatTimeForTable(approveInfo.getCheckDate()));//校对:专业组长
      dataMap.put("shenhe",approveInfo.getSeniorName()+"/"+formatTimeForTable(approveInfo.getApproveDate()));
      dataMap.put("jiaodui",(approveInfo.getTeamLeaderName()!=null?approveInfo.getTeamLeaderName():"")+"/"+formatTimeForTable(approveInfo.getCheckDate()));//校对:专业组长
      dataMap.put("shenhe",(approveInfo.getSeniorName()!=null?approveInfo.getSeniorName():"")+"/"+formatTimeForTable(approveInfo.getApproveDate()));
      dataMap.put("sendPath",machine.getProgSendDir()!=null?machine.getProgSendDir():"");
@@ -161,9 +166,9 @@
    */
   public IPage<FlowVO> confirmTablePage(IPage<FlowVO> page, String drawingNo, String keyword,LocalDateTime createTimeBegin, LocalDateTime createTimeEnd) {
      //固化里路村官
      HistoricProcessInstanceQuery query = this.historyService.createHistoricProcessInstanceQuery().finished().processDefinitionKey(FlowContants.CURE_PROCESS_KEY).includeProcessVariables();
      HistoricProcessInstanceQuery query = this.historyService.createHistoricProcessInstanceQuery().finished().processDefinitionKey(FlowConstant.CURE_PROCESS_KEY).includeProcessVariables();
         //.finished() // 只查询已完成的流程.unfinished() // 查询未完成的流程
      query.variableNotExists(FlowContants.EXCEPTION);//非异常流程
      query.variableNotExists(FlowVariableConstant.EXCEPTION);//非异常流程
      if(createTimeBegin!=null) {
         query.startedAfter(DateUtil.toDate(createTimeBegin));
      }
@@ -172,7 +177,7 @@
      }
      if(Func.isNotEmpty(drawingNo)) {
         String likeVal = "%" + drawingNo + "%";
         query.variableValueLike(FlowContants.DRAWING_NO,likeVal);
         query.variableValueLike(FlowVariableConstant.DRAWING_NO,likeVal);
      }