From 3d558e1bb5091b76a6525f6fab015574e1755200 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期二, 09 九月 2025 18:27:30 +0800
Subject: [PATCH] 确认单下载增加容错
---
blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/service/ConfirmTablePrintService.java | 130 ++++++++++++++++++++++++++-----------------
1 files changed, 78 insertions(+), 52 deletions(-)
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/service/ConfirmTablePrintService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/service/ConfirmTablePrintService.java
index 9560746..2f2e08c 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/service/ConfirmTablePrintService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/service/ConfirmTablePrintService.java
@@ -6,44 +6,36 @@
import org.apache.commons.lang3.StringUtils;
import org.flowable.engine.HistoryService;
import org.flowable.engine.RuntimeService;
-import org.flowable.engine.TaskService;
import org.flowable.engine.history.HistoricProcessInstance;
import org.flowable.engine.history.HistoricProcessInstanceQuery;
-import org.flowable.engine.task.Comment;
-import org.flowable.task.api.Task;
-import org.flowable.task.api.TaskInfoQuery;
-import org.flowable.task.api.TaskQuery;
-import org.flowable.task.api.history.HistoricTaskInstance;
-import org.flowable.task.api.history.HistoricTaskInstanceQuery;
import org.springblade.core.oss.OssTemplate;
-import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.mdm.basesetting.machine.entity.Machine;
import org.springblade.mdm.basesetting.machine.service.MachineService;
+import org.springblade.mdm.basesetting.producedivision.entity.QinzheFgb;
+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.entity.FlowProgramFile;
-import org.springblade.mdm.flow.entity.MdmFlowProcess;
import org.springblade.mdm.flow.entity.TaskDispatch;
+import org.springblade.mdm.flow.service.ApproveInfoQueryService;
import org.springblade.mdm.flow.service.FlowProgramFileService;
import org.springblade.mdm.flow.service.FlowProgramProperties;
-import org.springblade.mdm.flow.util.MdmFlowCache;
+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.statreport.utils.WordReplaceUtil;
import org.springblade.system.feign.IDictBizClient;
-import org.springblade.system.feign.IUserClient;
-import org.springblade.system.pojo.entity.User;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
-import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.*;
@@ -58,24 +50,25 @@
private final RuntimeService runtimeService;
private final IDictBizClient dictBizClient;
private final HistoryService historyService;
- private final IUserClient userClient;
private final FlowProgramFileService flowProgramFileService;
- @Autowired
- private MachineService machineService;
- @Autowired
- private ParamService paramService;
- @Autowired
- private OssTemplate ossTemplate;
+ private ApproveInfoQueryService approveInfoQueryService;
+ private final MachineService machineService;
+ private final NcNodeService nodeService;
+ private final ParamService paramService;
+ private final TaskDispatchService taskDispatchService;
+ private final OssTemplate ossTemplate;
+ private final QinzheFgbService qinzheFgbService;
+ private static final String DATE_PATTERN = "yyyy-M-d";
/**
* 瀵煎嚭word宀告湰
* @param dispatch 浠诲姟鍒嗘淳
* @param props 娴佺▼灞炴��
*/
- public ByteArrayOutputStream exportConfirmTableDoc(TaskDispatch dispatch, FlowProgramProperties props) throws IOException {
+ public ByteArrayOutputStream exportConfirmTableDoc(FlowProgramProperties props) throws IOException {
ByteArrayOutputStream os= new ByteArrayOutputStream();
String tplOssName = paramService.confirmTableTemplateOssFileName();
try(InputStream tplInputStream = ossTemplate.statFileStream(tplOssName);) {
- WordReplaceUtil.convert(getData(dispatch, props), tplInputStream, os);
+ WordReplaceUtil.convert(getData( props), tplInputStream, os);
}
return os;
}
@@ -84,53 +77,78 @@
* 鑾峰彇濉厖鏁版嵁
*/
- Map<String,String> getData(TaskDispatch dispatch,FlowProgramProperties props){
- //ApproveTableInfo approveInfo = approveInfoQueryService.getApproveInfo(props);
+ Map<String,String> getData(FlowProgramProperties props) {
+ ApproveTableInfo approveInfo = approveInfoQueryService.getApproveInfo(props);
Machine machine;
String machineCode = props.getMachineCode();
machine = machineService.getByCode(machineCode);
+ Map<String, String> dataMap = new HashMap<>();
+ NcNode node = this.nodeService.getById(props.getNodeId());
+ TaskDispatch dispatch = taskDispatchService.getByProgramNo(node.getProgramNo());
+
if(dispatch == null){
- dispatch = new TaskDispatch();//TODO 鍚庨潰鍘绘帀
+ //闃叉鑰佹暟鎹姤閿�
+ dispatch = new TaskDispatch();
}
+ dataMap.put("bh",node.getProgramNo());//缂栧彿锛屽氨鏄暟鎺х▼搴忕紪鍙�
- Map<String,String> dataMap = new HashMap<>();
+ dataMap.put("drawingNo", props.getDrawingNo());
+ dataMap.put("processNo", props.getProcessNo());
+ dataMap.put("craftEdition", props.getCraftEdition());
+ dataMap.put("processEdition", props.getProcessEdition());
+ dataMap.put("machineMode", machine.getName());
+ dataMap.put("drawingEdition", props.getDrawingNoEdition());//word鍐呬笉鑳借窡drawingNo鏈夌浉鍚屽瓧绗�
- dataMap.put("bh","涓嶆槑纭�");
+ QinzheFgb qzfgb = qinzheFgbService.getByLjh(props.getDrawingNo());
+ dataMap.put("drawingName",qzfgb.getLjmc());
- dataMap.put("drawingNo",props.getDrawingNo());
- dataMap.put("processNo",props.getProcessNo());
- dataMap.put("craftEdition",props.getCraftEdition());
- dataMap.put("processEdition",props.getProcessEdition());
- dataMap.put("machineMode",machine.getName());
+ dataMap.put("productModel", props.getProductModel());
- String DATE_PATTERN = "yyyy-M-d";
+ //椤垫暟锛岄〉鍙�
+ dataMap.put("tp", "1");
+ dataMap.put("pg", "1");
- String dispatchDateStr = " ";
+
+ dataMap.put("processName", dispatch.getProcessName());
+ dataMap.put("processCard", dispatch.getProcessCard());
String ctlSystem = "";
- R<String> ctmR = dictBizClient.getValue(DictBizConstants.CONTROL_SYSTEM,machine.getControlSystem());
- if(ctmR.isSuccess()){
+ R<String> ctmR = dictBizClient.getValue(DictBizConstants.CONTROL_SYSTEM, machine.getControlSystem());
+ if (ctmR.isSuccess()) {
ctlSystem = ctmR.getData();
}
- dataMap.put("deviation",dispatch.getDeviation()==null?"":dispatch.getDeviation());
- dataMap.put("controlSystem",ctlSystem);
- dataMap.put("czz","鎿嶄綔鑰�");
- dataMap.put("jyy","妫�楠屽憳");
-
-
+ dataMap.put("deviation", props.getDeviation() == null ? "" : props.getDeviation());
+ dataMap.put("controlSystem", ctlSystem);
+ if (StringUtils.isNotBlank(dispatch.getOperator())){
+ dataMap.put("czz", dispatch.getOperator()+"/"+formatTimeForTable(dispatch.getOperateTime()));//鎿嶄綔鍛橈紝鏃堕棿
+ }else{
+ dataMap.put("czz", "");
+ }
dataMap.put("programNo",dispatch.getProgramNo());
- dataMap.put("fuhey",WordReplaceUtil.CHECKED);
- dataMap.put("fuhen",WordReplaceUtil.UNCHECKED);
- dataMap.put("jly",WordReplaceUtil.CHECKED);
- dataMap.put("jln",WordReplaceUtil.UNCHECKED);
+ if(StringUtils.isNotBlank(dispatch.getInspector())) {
+ dataMap.put("jyy",dispatch.getInspector()+"/"+formatTimeForTable(dispatch.getCheckTime()));//瀹為檯妫�楠屽憳鍜屾楠屾椂闂�
- String bianzhiDateStr = "";//DateUtil.format(dispatch.getCreateTime(), DATE_PATTERN);
+ //鏈夋楠屽憳锛屽嵆 绗﹀悎璇ュ伐搴忓伐鑹哄崱鐗囧昂瀵哥壒鎬ц姹�
+ dataMap.put("fuhey", WordReplaceUtil.CHECKED);
+ dataMap.put("fuhen", WordReplaceUtil.UNCHECKED);
+ dataMap.put("jly",WordReplaceUtil.CHECKED);
+ dataMap.put("jln",WordReplaceUtil.UNCHECKED);
+ }else {
+ dataMap.put("jyy",""); //濉厖绌烘楠屽憳
- dataMap.put("bianzhi","缂栫▼鍛橈紵/"+bianzhiDateStr);
- dataMap.put("jiaodui","宸ヨ壓鏍″锛�/鏃堕棿涓嶇‘瀹�");
- dataMap.put("shenhe","楂樺笀锛�/鏃堕棿涓嶇‘瀹�");
+ dataMap.put("fuhey", WordReplaceUtil.UNCHECKED);
+ dataMap.put("fuhen", WordReplaceUtil.CHECKED);
+
+ dataMap.put("jly",WordReplaceUtil.UNCHECKED);
+ dataMap.put("jln",WordReplaceUtil.CHECKED);
+ }
+
+ 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("sendPath",machine.getProgSendDir()!=null?machine.getProgSendDir():"");
@@ -182,7 +200,7 @@
vo.setHistoryTaskEndTime(processInstance.getEndTime());
- vo.setFile(getFileString(processInstance.getId()));
+ //vo.setFile(getFileString(processInstance.getId()));
records.add(vo);
}
@@ -190,6 +208,14 @@
return page;
}
+
+ String formatTimeForTable(Date date){
+ if(date==null){
+ return "";
+ }
+
+ return DateUtil.format(date, DATE_PATTERN);
+ }
/**
鑾峰彇鍒楄〃涓殑鏂囦欢鍚�
*/
--
Gitblit v1.9.3