From ecbfde0aad87d650177b0624b44dce581e98bad4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=AE=B5=E9=A3=9E=E5=AE=87?= <2684146481@qq.com> Date: Wed, 31 May 2023 18:17:40 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E7=A5=A8=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E5=8F=8A=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../consumer/StandardWorkTicketConsumer.java | 1 - .../ticket/response/ProcessWorkFlowResponse.java | 6 +- .../ticket/twoTicket/entity/TicketInfoDanger.java | 4 +- .../service/impl/TicketProcessServiceImpl.java | 389 +++++++++++---------- .../com/hnac/hzims/ticket/utils/MergeDocUtils.java | 26 +- .../java/com/hnac/hzims/ticket/utils/PdfUtils.java | 2 +- .../impl/WorkTicketPrincipalChangeServiceImpl.java | 146 ++++---- ...工作票危险点分析及控制措施票.docx | Bin 28863 -> 29439 bytes .../template/电气第一种工作票模版.docx | Bin 42886 -> 43047 bytes 9 files changed, 303 insertions(+), 271 deletions(-) diff --git a/hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/processflow/consumer/StandardWorkTicketConsumer.java b/hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/processflow/consumer/StandardWorkTicketConsumer.java index c11ac03..5936bed 100644 --- a/hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/processflow/consumer/StandardWorkTicketConsumer.java +++ b/hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/processflow/consumer/StandardWorkTicketConsumer.java @@ -48,7 +48,6 @@ public class StandardWorkTicketConsumer implements IQueueConsume { if (ObjectUtils.isNotEmpty(ticketService)) { //执行业务方法 try { - response.setNum(1); ticketService.calculate(response); } catch (Exception e) { e.printStackTrace(); diff --git a/hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/response/ProcessWorkFlowResponse.java b/hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/response/ProcessWorkFlowResponse.java index d967681..dbb7447 100644 --- a/hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/response/ProcessWorkFlowResponse.java +++ b/hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/response/ProcessWorkFlowResponse.java @@ -56,6 +56,8 @@ public class ProcessWorkFlowResponse implements Serializable { private String handleType; - - private Integer num; + /** + * 用户Id + */ + private String userId; } diff --git a/hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/twoTicket/entity/TicketInfoDanger.java b/hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/twoTicket/entity/TicketInfoDanger.java index 0e8bc71..aa81a3f 100644 --- a/hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/twoTicket/entity/TicketInfoDanger.java +++ b/hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/twoTicket/entity/TicketInfoDanger.java @@ -47,14 +47,14 @@ public class TicketInfoDanger { /** * 创建时间 */ - @TableField(value = "update_time", fill = FieldFill.INSERT) + //@TableField(value = "update_time", fill = FieldFill.INSERT) private LocalDateTime createTime; /** * 更新时间 */ - @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) + //@TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) private LocalDateTime updateTime; diff --git a/hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/twoTicket/service/impl/TicketProcessServiceImpl.java b/hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/twoTicket/service/impl/TicketProcessServiceImpl.java index 12eda49..5931c64 100644 --- a/hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/twoTicket/service/impl/TicketProcessServiceImpl.java +++ b/hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/twoTicket/service/impl/TicketProcessServiceImpl.java @@ -59,6 +59,7 @@ import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; import java.io.File; import java.io.FileOutputStream; +import java.time.LocalDate; import java.time.LocalDateTime; import java.util.*; import java.util.stream.Collectors; @@ -202,6 +203,7 @@ public class TicketProcessServiceImpl implements TicketProcessService { log.info("获取businessKey: {}", response.getBusinessKey()); log.info("获取taskId: {}", response.getTaskId()); log.info("获取下一个审批人是: {}", response.getNextStepOperator()); + log.info("获取下一个用户Id是: {}", response.getUserId()); log.info("获取当前任务名称是: {}", response.getTaskName()); log.info("获取根据handleType区分是用户还是候选组角色: {}", response.getHandleType()); //json转换表单 @@ -222,22 +224,6 @@ public class TicketProcessServiceImpl implements TicketProcessService { WorkTicketInfoEntity workTicketInfo = ticketInfoService.getById(businessKey); if (ObjectUtils.isEmpty(workTicketInfo)) { log.error("获取工作票的数据为不存在"); - int num = response.getNum(); - while (true) { - if (num == 0) { - break; - } - try { - //睡眠2秒防止cpu飚高 - Thread.sleep(2000); - } catch (InterruptedException e) { - e.printStackTrace(); - } - log.info("进入重试机制 {}", response); - num--; - response.setNum(num); - findPending(response); - } return; } try { @@ -258,12 +244,10 @@ public class TicketProcessServiceImpl implements TicketProcessService { if (CollectionUtils.isNotEmpty(safetyMeasuresList)) { log.info("获取安全措施的数据:{}", safetyMeasuresList); safetyMeasuresList.forEach(item -> { - if (ObjectUtils.isEmpty(item.getId())) { + if (ObjectUtils.isNotEmpty(item.getTicketId())) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(WorkTicketSafetyMeasureEntity::getTicketId, workTicketInfo.getId()); + queryWrapper.eq(WorkTicketSafetyMeasureEntity::getTicketId, item.getTicketId()); workTicketSafetyMeasureService.update(item, queryWrapper); - } else { - workTicketSafetyMeasureService.updateById(item); } }); } @@ -364,10 +348,18 @@ public class TicketProcessServiceImpl implements TicketProcessService { //工作票危险点分析及控制措施票 try { - if (workTicketInfo.getIsHazard()) { + if (workTicket.getIsHazard()) { List ticketInfoDangers = workTicketVo.getTicketInfoDangers(); if (CollectionUtils.isNotEmpty(ticketInfoDangers)) { - ticketInfoDangerService.saveBatch(ticketInfoDangers); + List collect = ticketInfoDangers.stream().map(item -> { + item.setTicketId(workTicketInfo.getId()); + return item; + }).collect(Collectors.toList()); + + System.out.println("工作票危险点分析及控制措施票 : " + collect); + + + ticketInfoDangerService.saveBatch(collect); } } } catch (Exception e) { @@ -383,14 +375,10 @@ public class TicketProcessServiceImpl implements TicketProcessService { * @param response */ private void saveWorkTicket(WorkTicketInfoEntity workTicket, ProcessWorkFlowResponse response) { - String taskId = response.getTaskId(); - workTicket.setFlowTaskId(taskId); - workTicket.setFlowTaskName(response.getTaskName()); - String nextStepOperator = response.getNextStepOperator(); String flowDescription = ""; - Integer flowStatus = workTicket.getFlowStatus(); - + //如果response.getHandleType() 是0使用户 if ("0".equals(response.getHandleType())) { + String nextStepOperator = response.getNextStepOperator(); Long taskUser = NumberUtils.createLong(nextStepOperator.startsWith("taskUser_") ? nextStepOperator.substring(9) : null); if (taskUser != null) { //下一个审批人 @@ -399,47 +387,40 @@ public class TicketProcessServiceImpl implements TicketProcessService { flowDescription = "审批中,当前环节是".concat(response.getTaskName()).concat(",待").concat(stepUser.getName()).concat("审批"); workTicket.setNextStepOperator(stepUser.getName()); } - }else { + } else { workTicket.setNextStepOperator(null); } } - + //如果response.getHandleType() 是1使角色 if ("1".equals(response.getHandleType())) { - - log.info("获取角色信息" + response.getNextStepOperator()); //根据角色别名获取用户信息 - try { - R> roleAlias = userClient.relationUserListByRoleAlias(workTicket.getTenantId(), workTicket.getCreateDept(), response.getNextStepOperator()); - String collect = roleAlias.getData().stream().map(item -> item.getName()).collect(Collectors.joining(",")); - flowDescription = "审批中,当前环节是".concat(response.getTaskName()).concat(",待").concat(collect).concat("审批"); - workTicket.setNextStepOperator(collect); - } catch (Exception e) { - e.printStackTrace(); - log.error("R> roleAlias = userClient.userListByRoleAlias(workTicket.getTenantId(), response.getNextStepOperator())"); - log.error("获取用户信息失败"); - workTicket.setNextStepOperator(null); - } + // try { + // R> roleAlias = userClient.relationUserListByRoleAlias(workTicket.getTenantId(), workTicket.getCreateDept(), response.getNextStepOperator()); + // String collect = roleAlias.getData().stream().map(item -> item.getName()).collect(Collectors.joining(",")); + // flowDescription = "审批中,当前环节是".concat(response.getTaskName()).concat(",待").concat(collect).concat("审批"); + // workTicket.setNextStepOperator(collect); + // } catch (Exception e) { + // e.printStackTrace(); + // log.error("R> roleAlias = userClient.userListByRoleAlias(workTicket.getTenantId(), response.getNextStepOperator())"); + // log.error("获取用户信息失败"); + // workTicket.setNextStepOperator(null); + // } + workTicket.setNextStepOperator(response.getNextStepOperator()); } - //如果taskId为空 或 flowStatus = 99 - if (StringUtils.isEmpty(taskId) || 99 == flowStatus) { - flowDescription = "结束"; - workTicket.setFlowDescription(flowDescription); - workTicket.setFlowTaskId(""); + //如果taskId为空 + String taskId = response.getTaskId(); + if (StringUtils.isEmpty(taskId)) { + workTicket.setFlowDescription("结束"); + workTicket.setFlowTaskId(" "); workTicket.setFlowTaskName("结束"); - workTicket.setNextStepOperator(null); - workTicket.setStepOperator(null); + workTicket.setNextStepOperator(" "); + workTicket.setStepOperator(" "); } else { + workTicket.setFlowTaskId(taskId); + workTicket.setFlowTaskName(response.getTaskName()); workTicket.setFlowDescription(flowDescription); } - - //如果下一个审批人【nextStepOperator】是null设为-1 - if (StringUtils.isEmpty(nextStepOperator)) { - workTicket.setNextStepOperator(null); - } - - - System.out.println("workTicket = " + workTicket); } @@ -700,7 +681,8 @@ public class TicketProcessServiceImpl implements TicketProcessService { } WorkTicketInfoEntity workTicket = workTicketVo.getWorkTicket(); - if ((workTicket.getIsSafety() == null && workTicket.getIsHazard() == null && workTicket.getIsLimited() == null && workTicket.getIsRailway() == null) || (workTicket.getIsSafety() == null || workTicket.getIsHazard() == null || workTicket.getIsLimited() == null || workTicket.getIsRailway() == null)) { + if ((workTicket.getIsSafety() == null && workTicket.getIsHazard() == null && workTicket.getIsLimited() == null && workTicket.getIsRailway() == null) + || (workTicket.getIsSafety() == null || workTicket.getIsHazard() == null || workTicket.getIsLimited() == null || workTicket.getIsRailway() == null)) { extractedWithWord(response, workTicketInfoMap); return; } @@ -711,24 +693,59 @@ public class TicketProcessServiceImpl implements TicketProcessService { return; } List docFileList = new ArrayList<>(); - docFileList.add(new File("template/电气第一种工作票模版.docx")); + + // /template/secondary/工作票安全措施附页.docx + String os = System.getProperty("os.name"); + + String prefix = null; + //Windows操作系统 + if (os != null && os.toLowerCase().startsWith("windows")) { + prefix = "hzims-service/ticket/src/main/resources/template"; + } else { + prefix = "/data/hzims/ticket/word/template/ticket"; + } + + + docFileList.add(new File(prefix + "/电气第一种工作票模版.docx")); //安全隔离措施附页 (true,展示附件,false,不展示附件) if (workTicket.getIsSafety()) { - setWorkTicketPrincipalChange(docFileList); + addFile(prefix, "/secondary/工作票安全措施附页.docx", docFileList); + // setWorkTicketPrincipalChange(docFileList); } //危险点分析与预控措施票 (true,展示附件,false,不展示附件) if (workTicket.getIsSafety()) { - setWorkTicketHazardPointChange(docFileList); + addFile(prefix, "/secondary/工作票危险点分析及控制措施票.docx", docFileList); + // setWorkTicketHazardPointChange(docFileList); } //动火工作票 (true,展示附件,false,不展示附件) if (workTicket.getIsRailway()) { - setWorkTicketRailwayChange(docFileList); + addFile(prefix, "/secondary/动火工作票.docx", docFileList); + // setWorkTicketRailwayChange(docFileList); } //有限空间监测记录单(true,展示附件,false,不展示附件) if (workTicket.getIsLimited()) { - setWorkTicketLimitedChange(docFileList); + addFile(prefix, "/secondary/有限空间监测记录单.docx", docFileList); + // setWorkTicketLimitedChange(docFileList); + } + + String name = LocalDate.now() + "-" + UUID.randomUUID().toString().replaceAll("-", ""); + String docPath = null; + if (os != null && os.toLowerCase().startsWith("windows")) { + docPath = "D:\\导出excel\\"; + } else { + docPath = "/data/hzims/ticket/word/template/ticket/ouput/"; } - MergeDocUtils.mergeDoc(docFileList, response); + + docPath = docPath + name + ".docx"; + + log.info("输出word路径:{}", docPath); + //导入文档 + File file = new File(docPath); + MergeDocUtils.mergeDoc(docFileList, file); + XWPFDocument xwpfDocument = WordExportUtil.exportWord07(docPath, workTicketInfoMap); + xwpfDocument.write(response.getOutputStream()); + //删除路径 + file.delete(); } @@ -760,7 +777,6 @@ public class TicketProcessServiceImpl implements TicketProcessService { private Map convertMap(WorkTicketVo workTicketVo) { Map result = new HashMap<>(); WorkTicketInfoEntity workTicket = workTicketVo.getWorkTicket(); - //1. 工作对象 Map workTicketInfoMap = PdfUtils.objectToMapResult(workTicket, result); //安全隔离措施附页 (true,展示附件,false,不展示附件 @@ -777,74 +793,40 @@ public class TicketProcessServiceImpl implements TicketProcessService { log.info("安全措施: {}", safetyMeasuresList); if (CollectionUtils.isNotEmpty(safetyMeasuresList)) { Map workTicketInfoMap1 = new HashMap<>(); - Map> measureMap = safetyMeasuresList.stream().collect(Collectors.groupingBy(WorkTicketSafetyMeasureEntity::getType)); - Arrays.stream(WorkTicketConstants.WorkTicketMeasureTypeEnum.class.getEnumConstants()).forEach(measureEnum -> { - if (CollectionUtil.isNotEmpty(measureMap.get(measureEnum.getType()))) { - List> mapList = new ArrayList<>(); - int tempIndex = 1, index = 1; - List workTicketSafetyMeasureEntities = measureMap.get(measureEnum.getType()); - for (WorkTicketSafetyMeasureEntity measureVO : workTicketSafetyMeasureEntities) { - String type = measureEnum.getType(); - if (tempIndex != Integer.valueOf(type)) { - index = 1; - tempIndex++; + Map> measureMap = safetyMeasuresList.stream(). + collect(Collectors.groupingBy(WorkTicketSafetyMeasureEntity::getType)); + Arrays.stream(WorkTicketConstants.WorkTicketMeasureTypeEnum.class.getEnumConstants()) + .forEach(measureEnum -> { + if (CollectionUtil.isNotEmpty(measureMap.get(measureEnum.getType()))) { + List> mapList = new ArrayList<>(); + int tempIndex = 1, index = 1; + List workTicketSafetyMeasureEntities = measureMap + .get(measureEnum.getType()); + for (WorkTicketSafetyMeasureEntity measureVO : workTicketSafetyMeasureEntities) { + String type = measureEnum.getType(); + if (tempIndex != Integer.valueOf(type)) { + index = 1; + tempIndex++; + } + log.info("获取安全措施的信息: {}", measureVO); + Map map = PdfUtils.objectToMap(measureVO, true); + map.put("index", index); + map.put("safetyMeasure", ObjectUtil.isNotEmpty(map.get("measure")) ? map.get("measure") : null); + String status = TicketConstants.SafetyMeasureStatusEnum.FINISH.getStatus() + .equals(measureVO.getStatus()) ? "√" : ""; + map.put("status", status); + mapList.add(map); + index++; + } + workTicketInfoMap1.put(measureEnum.getConvertAttributes(), mapList); + } else { + workTicketInfoMap1.put(measureEnum.getConvertAttributes(), + new ArrayList()); } - log.info("获取安全措施的信息: {}", measureVO); - Map map = PdfUtils.objectToMap(measureVO, true); - map.put("index", index); - map.put("safetyMeasure", ObjectUtil.isNotEmpty(map.get("measure")) ? map.get("measure") : null); - String status = TicketConstants.SafetyMeasureStatusEnum.FINISH.getStatus().equals(measureVO.getStatus()) ? "√" : ""; - map.put("status", status); - mapList.add(map); - index++; - } - workTicketInfoMap1.put(measureEnum.getConvertAttributes(), mapList); - } else { - workTicketInfoMap1.put(measureEnum.getConvertAttributes(), new ArrayList()); - } - }); + }); // 工作地点保留带电部位或注意事项 - List> matterLibraryListFive1 = workTicketInfoMap1.get("matterLibraryListFive") == null ? new ArrayList>() : (List>) workTicketInfoMap1.get("matterLibraryListFive"); - List> matterLibraryListFlow1 = workTicketInfoMap1.get("matterLibraryListFlow") == null ? new ArrayList>() : (List>) workTicketInfoMap1.get("matterLibraryListFlow"); - - System.out.println("matterLibraryListFive1 = " + matterLibraryListFive1); - System.out.println("matterLibraryListFlow1 = " + matterLibraryListFlow1); - - if (matterLibraryListFive1 != null && matterLibraryListFlow1 != null) { - List> matterLibraryListFive = matterLibraryListFive1; - // (4)补充工作地点保留带电部位和补充安全措施 - List> matterLibraryListFlow = matterLibraryListFlow1; - - if (CollectionUtils.isNotEmpty(matterLibraryListFive) && CollectionUtils.isNotEmpty(matterLibraryListFlow)) { - if (matterLibraryListFive.size() < matterLibraryListFlow.size()) { - for (Map stringObjectMap : matterLibraryListFlow) { - matterLibraryListFive.add(new HashMap<>()); - } - } - - if (matterLibraryListFive.size() > matterLibraryListFlow.size()) { - for (Map stringObjectMap : matterLibraryListFive) { - matterLibraryListFlow.add(new HashMap<>()); - } - } - - workTicketInfoMap1.put("matterLibraryListFive", CollectionUtils.isEmpty(matterLibraryListFive) ? new ArrayList<>() : matterLibraryListFive); - workTicketInfoMap1.put("matterLibraryListFlow", CollectionUtils.isEmpty(matterLibraryListFlow) ? new ArrayList<>() : matterLibraryListFlow); - } - } - - - if (CollectionUtils.isEmpty(matterLibraryListFive1)) { - workTicketInfoMap1.put("matterLibraryListFive", new ArrayList<>()); - } - - - if (CollectionUtils.isEmpty(matterLibraryListFlow1)) { - workTicketInfoMap1.put("matterLibraryListFlow", new ArrayList<>()); - } - - + this.matterLibraryListWithMap(workTicketInfoMap1); result.putAll(workTicketInfoMap1); } @@ -889,19 +871,105 @@ public class TicketProcessServiceImpl implements TicketProcessService { List> collect = ticketInfoDangers.stream().map(item -> { Map newItem = new HashMap<>(); newItem.put("index", index); - newItem.put("maintenance", item.getMaintenance()); - newItem.put("dangerousPoint", item.getDangerousPoint()); + newItem.put("maintenance", item.getMaintenance() == null ? "\u00A0" : item.getMaintenance()); + newItem.put("dangerousPoint", item.getDangerousPoint() == null ? "\u00A0" : item.getDangerousPoint()); return newItem; }).collect(Collectors.toList()); - map.put("ticketInfoDangers", collect); + map.put("ticketInfoDangers", CollectionUtils.isNotEmpty(collect) ? collect + : new ArrayList>()); result.putAll(map); } + + //7. 是否包含 + isExists(result); + + return result; } /** + * 工作地点保留带电部位或注意事项 + * 2 个map集合转成一个map集合 + * @param workTicketInfoMap + */ + private static void matterLibraryListWithMap(Map workTicketInfoMap) { + List> matterLibraryListFive1 = + workTicketInfoMap.get("matterLibraryListFive") == null ? new ArrayList>() + : (List>) workTicketInfoMap.get("matterLibraryListFive"); + List> matterLibraryListFlow1 = workTicketInfoMap.get("matterLibraryListFlow") == null + ? new ArrayList>() + : (List>) workTicketInfoMap.get("matterLibraryListFlow"); + + if (matterLibraryListFive1 != null && matterLibraryListFlow1 != null) { + List> matterLibraryListFive = matterLibraryListFive1; + // (4)补充工作地点保留带电部位和补充安全措施 + List> matterLibraryListFlow = matterLibraryListFlow1; + //合成一个map + List> maps = new ArrayList<>(); + + if (matterLibraryListFive.size() < matterLibraryListFlow.size()) { + for (int i = 0; i < matterLibraryListFlow.size(); i++) { + listWichMap(matterLibraryListFive, matterLibraryListFlow, maps, i); + } + } + + + if (matterLibraryListFive.size() > matterLibraryListFlow.size()) { + for (int i = 0; i < matterLibraryListFive.size(); i++) { + listWichMap(matterLibraryListFive, matterLibraryListFlow, maps, i); + } + } + + + if (matterLibraryListFive.size() == matterLibraryListFlow.size()) { + for (int i = 0; i < matterLibraryListFive.size(); i++) { + listWichMap(matterLibraryListFive, matterLibraryListFlow, maps, i); + } + } + + workTicketInfoMap.put("matterLibraryList", CollectionUtils.isEmpty(maps) ? new ArrayList<>() : maps); + + } + } + + + /** + * 判断是否包含,是否存在 + * @param result + */ + private static void isExists(Map result) { + if (!result.containsKey("ticketInfoDangers")) { + result.put("ticketInfoDangers",new ArrayList>()); + } + + //项目名称 + if (!result.containsKey("projectName")) { + result.put("projectName","\u00A0 "); + } + } + + + /** + * 两个List转成一个Map + * + * @param matterLibraryListFive 第一个List + * @param matterLibraryListFlow 第二个list + * @param maps 新的Map + * @param i 索引 + */ + private static void listWichMap(List> matterLibraryListFive, List> matterLibraryListFlow, List> maps, int i) { + Map stringObjectMap = matterLibraryListFive.get(i); + Map stringObjectMap1 = matterLibraryListFlow.get(i); + HashMap objectObjectHashMap = new HashMap<>(); + objectObjectHashMap.put("safetyMeasure", stringObjectMap.get("safetyMeasure")); + objectObjectHashMap.put("safetyMeasure1", stringObjectMap1.get("safetyMeasure")); + maps.add(objectObjectHashMap); + } + + + /** * 对象转map * * @param value @@ -913,11 +981,11 @@ public class TicketProcessServiceImpl implements TicketProcessService { Map map = JSONObject.parseObject(jsonString, Map.class); Map newMap = new HashMap<>(); for (Map.Entry stringObjectEntry : map.entrySet()) { - System.out.println("没转换的数据 " + stringObjectEntry.getKey() + "=" + stringObjectEntry.getValue()); + log.info("没转换的数据 " + stringObjectEntry.getKey() + "=" + stringObjectEntry.getValue()); //如果包含直接跳过 if (result.containsKey(stringObjectEntry.getKey())) { - System.out.println("跳过key : " + stringObjectEntry.getKey()); + log.info("跳过key : " + stringObjectEntry.getKey()); continue; } @@ -929,59 +997,27 @@ public class TicketProcessServiceImpl implements TicketProcessService { } for (Map.Entry stringObjectEntry : newMap.entrySet()) { - System.out.println("数据转换的数据 " + stringObjectEntry.getKey() + "=" + stringObjectEntry.getValue()); + log.info("数据转换的数据 " + stringObjectEntry.getKey() + "=" + stringObjectEntry.getValue()); } return newMap; } - /** - * 对象转map - */ - private static Map parseObjectMap(T target, Class clas) { - return JSONObject.parseObject(JSONObject.toJSONString(target), Map.class); - } - /** - * 安全隔离措施附页 - */ - @SneakyThrows - public void setWorkTicketPrincipalChange(List docFileList) { - docFileList.add(new File("template/secondary/工作票安全措施附页.docx")); - } - - - /** - * 危险点分析与预控措施票 - */ - @SneakyThrows - public void setWorkTicketHazardPointChange(List docFileList) { - docFileList.add(new File("template/secondary/工作票危险点分析及控制措施票.docx")); - } - - - /** - * 动火工作票 + * 添加文件 + * + * @param prefix + * @param pathName + * @param docFileList */ - @SneakyThrows - public void setWorkTicketRailwayChange(List docFileList) { - File file = new File("template/secondary/动火工作票.docx"); + private void addFile(String prefix, String pathName, List docFileList) { + File file = new File(prefix + pathName); docFileList.add(file); - } - /** - * 有限空间监测记录单(true,展示附件,false,不展示附件) - */ - @SneakyThrows - public void setWorkTicketLimitedChange(List docFileList) { - File file = new File("template/secondary/有限空间监测记录单.docx"); - docFileList.add(file); - } - /** * value true转 ☑ 或 false转 □ @@ -997,7 +1033,6 @@ public class TicketProcessServiceImpl implements TicketProcessService { } } - } diff --git a/hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/utils/MergeDocUtils.java b/hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/utils/MergeDocUtils.java index 3849457..b023791 100644 --- a/hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/utils/MergeDocUtils.java +++ b/hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/utils/MergeDocUtils.java @@ -6,6 +6,7 @@ package com.hnac.hzims.ticket.utils; * @Serial 1.0 * @Date 2023/5/23 16:42 */ +import cn.afterturn.easypoi.word.entity.MyXWPFDocument; import org.apache.poi.openxml4j.opc.OPCPackage; import org.apache.poi.xwpf.usermodel.BreakType; import org.apache.poi.xwpf.usermodel.Document; @@ -14,44 +15,35 @@ import org.apache.poi.xwpf.usermodel.XWPFPictureData; import org.apache.xmlbeans.XmlOptions; import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTBody; -import javax.servlet.http.HttpServletResponse; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.OutputStream; -import java.time.LocalDate; import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; -/** - * 参数1:需要合并的word的文件对象list - * 参数2:合并之后word存储的全路径file对象 - */ public class MergeDocUtils { /** - * word文档合并 - * @param fileList 合并文档的路径 - * @param response 新的word + * word文档合并 + * + * @param fileList 合并文档的路径 * @throws Exception */ - public static void mergeDoc(List fileList, HttpServletResponse response)throws Exception { - - OutputStream dest = response.getOutputStream(); - ArrayList documentList = new ArrayList(); - XWPFDocument doc = null; + public static void mergeDoc(List fileList, File ouput)throws Exception { + OutputStream dest = new FileOutputStream(ouput); + ArrayList documentList = new ArrayList<>(); + MyXWPFDocument doc = null; for (int i = 0; i < fileList.size(); i++) { FileInputStream in = new FileInputStream(fileList.get(i).getPath()); OPCPackage open = OPCPackage.open(in); - XWPFDocument document = new XWPFDocument(open); + MyXWPFDocument document = new MyXWPFDocument(open); documentList.add(document); } - - for (int i = 0; i < documentList.size(); i++) { doc = documentList.get(0); if (i == 0) { diff --git a/hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/utils/PdfUtils.java b/hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/utils/PdfUtils.java index be9a22b..3e7b2d9 100644 --- a/hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/utils/PdfUtils.java +++ b/hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/utils/PdfUtils.java @@ -261,7 +261,7 @@ public class PdfUtils { || "principalChangeTime".equals(field.getName()) || "principalName".equals(field.getName()) || "jobReceiver".equals(field.getName()) - || "jobReceiverDateTime".equals(field.getName()) + || "jobReceiverTime".equals(field.getName()) || "watchPrincipalEndTime".equals(field.getName()) || "licenseTime".equals(field.getName()) || "licensorName".equals(field.getName()) diff --git a/hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/workTicket/service/impl/WorkTicketPrincipalChangeServiceImpl.java b/hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/workTicket/service/impl/WorkTicketPrincipalChangeServiceImpl.java index 8e6059e..91946b7 100644 --- a/hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/workTicket/service/impl/WorkTicketPrincipalChangeServiceImpl.java +++ b/hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/workTicket/service/impl/WorkTicketPrincipalChangeServiceImpl.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.hnac.hzims.ticket.constants.TicketConstants; import com.hnac.hzims.ticket.twoTicket.entity.WorkTicketFinish; import com.hnac.hzims.ticket.workTicket.dto.WorkTicketInfoDto; @@ -40,82 +41,85 @@ import java.util.List; @Slf4j public class WorkTicketPrincipalChangeServiceImpl extends BaseServiceImpl implements IWorkTicketPrincipalChangeService { - private final WorkTicketInfoMapper workTicketInfoMapper; + private final WorkTicketInfoMapper workTicketInfoMapper; - @Override - public R> queryList(WorkTicketPrincipalChangeDto req, Query query) { - IPage pages = super.page(Condition.getPage(query),this.getQueryWrapper(req)); - return R.data(pages.setRecords(WorkTicketPrincipalChangeWrappper.build().listVO(pages.getRecords()))); - } + @Override + public R> queryList(WorkTicketPrincipalChangeDto req, Query query) { + IPage pages = super.page(Condition.getPage(query), this.getQueryWrapper(req)); + return R.data(pages.setRecords(WorkTicketPrincipalChangeWrappper.build().listVO(pages.getRecords()))); + } - @Override - public List list(WorkTicketPrincipalChangeDto req) { - List workTicketPrincipalChangeEntityList = this.list(this.getQueryWrapper(req)); - return WorkTicketPrincipalChangeWrappper.build().listVO(workTicketPrincipalChangeEntityList); - } + @Override + public List list(WorkTicketPrincipalChangeDto req) { + List workTicketPrincipalChangeEntityList = this.list(this.getQueryWrapper(req)); + return WorkTicketPrincipalChangeWrappper.build().listVO(workTicketPrincipalChangeEntityList); + } - @Override - public R changePrincipal(WorkTicketInfoDto infoDto, WorkTicketPrincipalChangeDto changeDto) { - /**当前流程只能在签发阶段进行**/ - if(!TicketConstants.FirstWorkTicketFlowStatusEnum.SIGN.getStatus().equals(infoDto.getStatus())){ - return R.fail("该操作目前只支持在签发阶段签发人操作"); - } - LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper(); - updateWrapper.set(WorkTicketInfoEntity::getPrincipal,infoDto.getPrincipal()); - updateWrapper.eq(WorkTicketInfoEntity::getId,infoDto.getId()); - workTicketInfoMapper.update(null,updateWrapper); - /**保存负责人变更信息**/ - this.save(changeDto); - return R.success("变更成功"); - } + @Override + public R changePrincipal(WorkTicketInfoDto infoDto, WorkTicketPrincipalChangeDto changeDto) { + /**当前流程只能在签发阶段进行**/ + if (!TicketConstants.FirstWorkTicketFlowStatusEnum.SIGN.getStatus().equals(infoDto.getStatus())) { + return R.fail("该操作目前只支持在签发阶段签发人操作"); + } + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper(); + updateWrapper.set(WorkTicketInfoEntity::getPrincipal, infoDto.getPrincipal()); + updateWrapper.eq(WorkTicketInfoEntity::getId, infoDto.getId()); + workTicketInfoMapper.update(null, updateWrapper); + /**保存负责人变更信息**/ + this.save(changeDto); + return R.success("变更成功"); + } - /** - * 获取WorkTicketPrincipalChangeEntity - queryWrapper - * @param req - * @return - */ - private LambdaQueryWrapper getQueryWrapper(WorkTicketPrincipalChangeDto req){ - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - if(Func.isNotEmpty(req.getTicketId())){ - queryWrapper.eq(WorkTicketPrincipalChangeEntity::getTicketId,req.getTicketId()); - } - if(Func.isNotEmpty(req.getInitialPrincipal())){ - queryWrapper.eq(WorkTicketPrincipalChangeEntity::getInitialPrincipal,req.getInitialPrincipal()); - } - if(Func.isNotEmpty(req.getChangePrincipal())){ - queryWrapper.eq(WorkTicketPrincipalChangeEntity::getChangePrincipal,req.getChangePrincipal()); - } - return queryWrapper; - } + /** + * 获取WorkTicketPrincipalChangeEntity - queryWrapper + * + * @param req + * @return + */ + private LambdaQueryWrapper getQueryWrapper(WorkTicketPrincipalChangeDto req) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + if (Func.isNotEmpty(req.getTicketId())) { + queryWrapper.eq(WorkTicketPrincipalChangeEntity::getTicketId, req.getTicketId()); + } + if (Func.isNotEmpty(req.getInitialPrincipal())) { + queryWrapper.eq(WorkTicketPrincipalChangeEntity::getInitialPrincipal, req.getInitialPrincipal()); + } + if (Func.isNotEmpty(req.getChangePrincipal())) { + queryWrapper.eq(WorkTicketPrincipalChangeEntity::getChangePrincipal, req.getChangePrincipal()); + } + return queryWrapper; + } - /** - * 工作票负责人变更 - * - * @param ticketId - * @return - */ - @Override - public WorkTicketPrincipalChangeEntity selectByTicketId(Long ticketId) { - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(WorkTicketPrincipalChangeEntity::getTicketId,ticketId); - queryWrapper.orderByDesc(BaseEntity::getCreateTime); - queryWrapper.last("limit 1"); - return this.list(queryWrapper).get(0); - } + /** + * 工作票负责人变更 + * + * @param ticketId + * @return + */ + @Override + public WorkTicketPrincipalChangeEntity selectByTicketId(Long ticketId) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(WorkTicketPrincipalChangeEntity::getTicketId, ticketId); + queryWrapper.orderByDesc(BaseEntity::getCreateTime); + queryWrapper.last("limit 1"); + List list = this.list(queryWrapper); + return CollectionUtils.isNotEmpty(list) ? list.get(0) : null; + } - /** - * 更新 - * @param workTicketPrincipalChange - */ - @Override - public void updateByTicketId(WorkTicketPrincipalChangeEntity workTicketPrincipalChange) { - if (workTicketPrincipalChange.getId() == null) { - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.lambda().eq(WorkTicketPrincipalChangeEntity::getTicketId, workTicketPrincipalChange.getTicketId()); - this.update(workTicketPrincipalChange, updateWrapper); - return; - } - this.updateById(workTicketPrincipalChange); - } + /** + * 更新 + * + * @param workTicketPrincipalChange + */ + @Override + public void updateByTicketId(WorkTicketPrincipalChangeEntity workTicketPrincipalChange) { + if (workTicketPrincipalChange.getId() == null) { + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.lambda().eq(WorkTicketPrincipalChangeEntity::getTicketId, workTicketPrincipalChange.getTicketId()); + this.update(workTicketPrincipalChange, updateWrapper); + return; + } + this.updateById(workTicketPrincipalChange); + } } diff --git a/hzims-service/ticket/src/main/resources/template/secondary/工作票危险点分析及控制措施票.docx b/hzims-service/ticket/src/main/resources/template/secondary/工作票危险点分析及控制措施票.docx index 8b4eb810a020e458d371f17d9d52aa71b69ef36e..46cec0fcbc9904a61475e19417977f87bdaacbe7 100644 GIT binary patch delta 19490 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

{55smFn%Rp1K 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 delta 18752 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 delta 17145 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