Browse Source

检验方案调整

xy 1 week ago
parent
commit
5b0dc11c9e

+ 31 - 11
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/boilertaskorder/BoilerTaskOrderServiceImpl.java

@@ -2212,7 +2212,7 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
                 //orderItemIds为空时则为创建检验方案没有勾选任务单设备
                 if (StringUtils.isNotEmpty(itemReportDO.getOrderItemIdsStr())) {
                     List<String> orderItemIds = List.of(itemReportDO.getOrderItemIdsStr().split(","));
-                    String reportNo = generateOrderItemInspectionPlanReportNo(reportDO.getOrderId());
+//                    String reportNo = generateOrderItemInspectionPlanReportNo(reportDO.getOrderId());
                     taskOrderItemReportDOS.stream().map(item -> {
                         //找出匹配的设备
                         List<String> findList = orderItemIds.stream().filter(x -> x.equals(item.getId())).toList();
@@ -2220,7 +2220,7 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
                             BoilerTaskOrderItemReportDO bean = BeanUtils.toBean(reportDO, BoilerTaskOrderItemReportDO.class);
                             bean.setId(null);
 //                            bean.setReportNo(reportDO.getReportNo());
-                            bean.setReportNo(reportNo);
+//                            bean.setReportNo(reportNo);
                             bean.setOrderItemId(item.getId());
                             bean.setTaskStatus(TaskOrderStatusEnum.REPORT_FINISH.getStatus());
                             bean.setStatus(200);
@@ -2268,7 +2268,7 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
                         taskOrderItemReportUserMapper.insert(userDO);
 
                     });
-                    itemReportDO.setReportNo(reportNo);
+//                    itemReportDO.setReportNo(reportNo);
                 }
             }
 
@@ -4758,7 +4758,7 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
             if (StringUtils.isNotEmpty(taskOrderMajorIssuesVO.getReportName())) {
                 taskOrderReportDO.setReportName(taskOrderMajorIssuesVO.getReportName());
             }
-            taskOrderReportDO.setReportNo(reportNo);
+            taskOrderReportDO.setReportNo(generateOrderItemInspectionPlanReportNo(addReport.getOrderId()));
             taskOrderReportMapper.insert(taskOrderReportDO);
 
             //生成报表数据 -- 检验方案表不同暂不通用
@@ -6229,18 +6229,38 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
 
         try {
             LambdaQueryWrapperX <BoilerTaskOrderReportDO> queryWrapperX = new LambdaQueryWrapperX<>();
-            queryWrapperX.eq(BoilerTaskOrderReportDO::getTaskStatus, 800);
             queryWrapperX.eq(BoilerTaskOrderReportDO::getOrderId, orderId);
             List<BoilerTaskOrderReportDO> taskOrderReportDOS = taskOrderReportMapper.selectList(queryWrapperX);
             BoilerTaskOrderDO taskOrderDO = this.boilerTaskOrderMapper.selectById(orderId);
-            if (CollUtil.isNotEmpty(taskOrderReportDOS)) {
-                if (ObjectUtil.isNotEmpty(taskOrderDO)) {
-                    int i = taskOrderReportDOS.size() + 1;
-                    acceptNo = taskOrderDO.getOrderNo() + "-" + i;
+
+            if (ObjectUtil.isNotEmpty(taskOrderDO)) {
+                if (CollUtil.isNotEmpty(taskOrderReportDOS)) {
+                    // 从现有的reportNo中提取数字并找到最大值
+                    int maxNumber = taskOrderReportDOS.stream()
+                            .map(BoilerTaskOrderReportDO::getReportNo)
+                            .filter(Objects::nonNull)
+                            .map(reportNo -> {
+                                // 提取-后面的数字部分
+                                String[] parts = reportNo.split("-");
+                                if (parts.length > 0) {
+                                    try {
+                                        return Integer.parseInt(parts[parts.length - 1]);
+                                    } catch (NumberFormatException e) {
+                                        return 0;
+                                    }
+                                }
+                                return 0;
+                            })
+                            .max(Integer::compareTo)
+                            .orElse(0);
+
+                    // 最大值加1
+                    acceptNo = taskOrderDO.getOrderNo() + "-" + (maxNumber + 1);
+                } else {
+                    acceptNo = taskOrderDO.getOrderNo() + "-" + 1;
                 }
-            } else {
-                acceptNo = taskOrderDO.getOrderNo() + "-" + 1;
             }
+
         } catch (Exception e) {
             throw new RuntimeException("检验方案任务单设备报告编号创建-执行失败:" + e.getMessage());
         } finally {

+ 10 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/dynamicOFData/comm/QC01001_202400OFData.java

@@ -124,6 +124,9 @@ public class QC01001_202400OFData implements IDynamicOFData {
                         if (checkTypeDTO != null){
                             checkTypeName = checkTypeDTO.getLabel();
                         }
+
+                        result.put("checkValue2",true);
+
                     }
 
                     String[] orderItemIdArray = orderItemIds.split(",");
@@ -259,6 +262,13 @@ public class QC01001_202400OFData implements IDynamicOFData {
                         if (checkTypeDTO != null){
                             checkTypeName = checkTypeDTO.getLabel();
                         }
+
+                        if (taskOrderDO.getCheckType() == 100){
+                            result.put("checkValue2",true);
+                        }else if (taskOrderDO.getCheckType() == 200){
+                            result.put("checkValue3",true);
+                        }
+
                     }
 
                     String[] equipIdIdArray = orderItems.stream().map(PipeTaskOrderItemDO::getEquipId).toArray(String[]::new);

+ 44 - 23
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/pipetaskorder/PipeTaskOrderServiceImpl.java

@@ -3561,6 +3561,7 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
         }
 
         String orderId = taskOrderMajorIssuesVO.getOrderId();
+        String reportNo = "";
 
         DynamicTbDO dynamicTbDO = dynamicTbMapper.selectById(taskOrderMajorIssuesVO.getTemplateId());
         if (dynamicTbDO == null) {
@@ -3621,17 +3622,19 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
             if (taskOrderDO != null && taskOrderDO.getSchemeEnterTime() != null){
                 addReport.setPrepareTime(taskOrderDO.getSchemeEnterTime());
             }
+            //检验方案的编号规则特殊
+            addReport.setReportNo(generateOrderItemInspectionPlanReportNo(addReport.getOrderId()));
+        }else{
+            PipeTaskOrderItemReportDO mainReport = taskOrderItemReportMapper.selectOne(new LambdaQueryWrapperX<PipeTaskOrderItemReportDO>().
+                    eq(PipeTaskOrderItemReportDO::getOrderId, taskOrderMajorIssuesVO.getOrderId()), false);
+            if (mainReport != null) {
+                reportNo = mainReport.getReportNo();
+                addReport.setReportNo(reportNo);
+            }
         }
         addReport.setPrepareJson(taskOrderMajorIssuesVO.getPrepareJson());
         addReport.setReportUrl(taskOrderMajorIssuesVO.getReportUrl());
 
-        String reportNo = "";
-        PipeTaskOrderItemReportDO mainReport = taskOrderItemReportMapper.selectOne(new LambdaQueryWrapperX<PipeTaskOrderItemReportDO>().
-                eq(PipeTaskOrderItemReportDO::getOrderId, taskOrderMajorIssuesVO.getOrderId()), false);
-        if (mainReport != null) {
-            reportNo = mainReport.getReportNo();
-        }
-
         // 检验情况告知表
         if (dynamicTbDO.getTbType() != null && TaskOrderItemReportTypeEnum.NOTIFICATION_FORM.getType().intValue() == dynamicTbDO.getTbType()) {
 
@@ -3639,8 +3642,6 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
 
             reportDO.setTaskOrderId(orderId);
             reportDO.setTemplateId(dynamicTbDO.getId());
-            reportDO.setReportNo(reportNo);
-
             notificationformReportMapper.insert(reportDO);
 
             //生成报表数据
@@ -3668,7 +3669,6 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
             return reportDO.getId();
         }
 
-        addReport.setReportNo(reportNo);
         taskOrderItemReportMapper.insert(addReport);
 
         //添加提交人
@@ -4632,7 +4632,7 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
                 //orderItemIds为空时则为创建检验方案没有勾选任务单设备
                 if (StringUtils.isNotEmpty(itemReportDO.getOrderItemIdsStr())) {
                     List<String> orderItemIds = List.of(itemReportDO.getOrderItemIdsStr().split(","));
-                    String reportNo = generateOrderItemInspectionPlanReportNo(reportDO.getOrderId());
+//                    String reportNo = generateOrderItemInspectionPlanReportNo(reportDO.getOrderId());
                     taskOrderItemReportDOS.stream().map(item -> {
                         //找出匹配的设备
                         List<String> findList = orderItemIds.stream().filter(x -> x.equals(item.getId())).toList();
@@ -4640,7 +4640,7 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
                             PipeTaskOrderItemReportDO bean = BeanUtils.toBean(reportDO, PipeTaskOrderItemReportDO.class);
                             bean.setId(null);
 //                            bean.setReportNo(reportDO.getReportNo());
-                            bean.setReportNo(reportNo);
+//                            bean.setReportNo(reportNo);
                             bean.setTaskStatus(TaskOrderStatusEnum.REPORT_FINISH.getStatus());
                             bean.setStatus(200);
                             bean.setRatifyId(userId);
@@ -4654,7 +4654,7 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
                         taskOrderItemReportMapper.insert(item);
                         dynamicTbInsService.copyInstantiate(reportDO.getId(), item.getId());
                     });
-                    itemReportDO.setReportNo(reportNo);
+//                    itemReportDO.setReportNo(reportNo);
                 }
             }
 
@@ -5342,19 +5342,40 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
         }
 
         try {
-            LambdaQueryWrapperX <PipeTaskOrderReportDO> queryWrapperX = new LambdaQueryWrapperX<>();
-            queryWrapperX.eq(PipeTaskOrderReportDO::getTaskStatus, 800);
-            queryWrapperX.eq(PipeTaskOrderReportDO::getOrderId, orderId);
-            List<PipeTaskOrderReportDO> taskOrderReportDOS = taskOrderReportMapper.selectList(queryWrapperX);
+            LambdaQueryWrapperX <PipeTaskOrderItemReportDO> queryWrapperX = new LambdaQueryWrapperX<>();
+            queryWrapperX.eq(PipeTaskOrderItemReportDO::getOrderId, orderId);
+            queryWrapperX.eq(PipeTaskOrderItemReportDO::getReportType, 600);
+            List<PipeTaskOrderItemReportDO> taskOrderReportDOS = taskOrderItemReportMapper.selectList(queryWrapperX);
             PipeTaskOrderDO taskOrderDO = this.pipeTaskOrderMapper.selectById(orderId);
-            if (CollUtil.isNotEmpty(taskOrderReportDOS)) {
-                if (ObjectUtil.isNotEmpty(taskOrderDO)) {
-                    int i = taskOrderReportDOS.size() + 1;
-                    acceptNo = taskOrderDO.getOrderNo() + "-" + i;
+
+            if (ObjectUtil.isNotEmpty(taskOrderDO)) {
+                if (CollUtil.isNotEmpty(taskOrderReportDOS)) {
+                    // 从现有的reportNo中提取数字并找到最大值
+                    int maxNumber = taskOrderReportDOS.stream()
+                            .map(PipeTaskOrderItemReportDO::getReportNo)
+                            .filter(Objects::nonNull)
+                            .map(reportNo -> {
+                                // 提取-后面的数字部分
+                                String[] parts = reportNo.split("-");
+                                if (parts.length > 0) {
+                                    try {
+                                        return Integer.parseInt(parts[parts.length - 1]);
+                                    } catch (NumberFormatException e) {
+                                        return 0;
+                                    }
+                                }
+                                return 0;
+                            })
+                            .max(Integer::compareTo)
+                            .orElse(0);
+
+                    // 最大值加1
+                    acceptNo = taskOrderDO.getOrderNo() + "-" + (maxNumber + 1);
+                } else {
+                    acceptNo = taskOrderDO.getOrderNo() + "-" + 1;
                 }
-            } else {
-                acceptNo = taskOrderDO.getOrderNo() + "-" + 1;
             }
+
         } catch (Exception e) {
             throw new RuntimeException("检验方案任务单设备报告编号创建-执行失败:" + e.getMessage());
         } finally {