xy 4 дней назад
Родитель
Сommit
58424f2d47

+ 25 - 10
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/dynamicOFData/pipe/QC12116_202400RecordOFData.java

@@ -2,6 +2,7 @@ package cn.start.tz.module.pressure2.service.dynamicOFData.pipe;
 
 import cn.start.tz.module.pressure2.controller.admin.dynamictbins.vo.CreateInstantiateWithRuleVO;
 import cn.start.tz.module.pressure2.dal.dataobject.dynamictbcol.DynamicTbColDO;
+import cn.start.tz.module.pressure2.dal.dataobject.dynamictbins.DynamicTbInsDO;
 import cn.start.tz.module.pressure2.dal.dataobject.dynamictbval.DynamicTbValDO;
 import cn.start.tz.module.pressure2.dal.dataobject.equippipe.EquipPipeDO;
 import cn.start.tz.module.pressure2.dal.dataobject.equippipedetail.EquipPipeDetailDO;
@@ -16,6 +17,7 @@ import cn.start.tz.module.pressure2.dal.mysql.pipetaskorderitem.PipeTaskOrderIte
 import cn.start.tz.module.pressure2.dal.mysql.pipetaskorderitemreport.PipeTaskOrderItemReportMapper;
 import cn.start.tz.module.pressure2.service.dynamicOFData.IDynamicOFData;
 import cn.start.tz.module.pressure2.service.dynamictbcol.DynamicTbColService;
+import cn.start.tz.module.pressure2.service.dynamictbins.DynamicTbInsService;
 import cn.start.tz.module.pressure2.service.dynamictbval.DynamicTbValService;
 import cn.start.tz.module.pressure2.service.pipetaskorderitemdetail.PipeTaskOrderItemDetailService;
 import cn.start.tz.module.system.api.user.AdminUserApi;
@@ -59,6 +61,9 @@ public class QC12116_202400RecordOFData implements IDynamicOFData {
     @Resource
     private DynamicTbValService dynamicTbValService;
 
+    @Resource
+    private DynamicTbInsService dynamicTbInsService;
+
     @Resource
     private AdminUserApi adminUserApi;
 
@@ -83,6 +88,7 @@ public class QC12116_202400RecordOFData implements IDynamicOFData {
 
         if (itemReportDO != null){
 
+            DynamicTbInsDO firstInsDO = dynamicTbInsService.getDynamicRefId(refId);
             PipeTaskOrderItemDO itemDO = pipeTaskOrderItemMapper.selectById(orderItemId);
             if (itemDO != null){
 
@@ -90,7 +96,7 @@ public class QC12116_202400RecordOFData implements IDynamicOFData {
                 if (equipPipeDO != null){
 
                     //一览表生成时先删除所有值,防止设备不对
-                    dynamicTbValService.deleteDynamicTbValByRefId(refId);
+                    //dynamicTbValService.deleteDynamicTbValByRefId(refId);
 
                     //设备信息
                     result.put("projectNo",equipPipeDO.getProjectNo());
@@ -108,7 +114,14 @@ public class QC12116_202400RecordOFData implements IDynamicOFData {
                     //管线信息
                     List<PipeTaskOrderItemDetailDO> details = pipeTaskOrderItemDetailService.lambdaQuery().eq(PipeTaskOrderItemDetailDO::getOrderItemId,orderItemId).list();
                     if (!details.isEmpty()){
-                        List<EquipPipeDetailDO> pipeDetails = equipPipeDetailMapper.selectByIds(details.stream().map(PipeTaskOrderItemDetailDO::getEquipDetailId).toList());
+                        List<EquipPipeDetailDO> pipeDetails = equipPipeDetailMapper.selectByIds(details.stream().map(PipeTaskOrderItemDetailDO::getEquipDetailId).toList())
+                                .stream()
+                                .sorted((a, b) -> {
+                                    String pipeRegCodeA = a.getPipeRegCode() != null ? a.getPipeRegCode() : "";
+                                    String pipeRegCodeB = b.getPipeRegCode() != null ? b.getPipeRegCode() : "";
+                                    return pipeRegCodeA.compareTo(pipeRegCodeB);
+                                })
+                                .toList();
                         if (!pipeDetails.isEmpty()){
                             for (int i = 0; i < pipeDetails.size(); i++){
                                 EquipPipeDetailDO pipeDetail = pipeDetails.get(i);
@@ -139,14 +152,16 @@ public class QC12116_202400RecordOFData implements IDynamicOFData {
                                 String endPoint = pipeDetail.getEndPoint() != null ? pipeDetail.getEndPoint() : "";
                                 result.put("startEndPoint_"+(i+1), startPoint + "-" + endPoint);
 
-                                //获取检验性质
-                                PipeTaskOrderDO taskOrderDO = pipeTaskOrderMapper.selectById(itemReportDO.getOrderId());
-                                if (taskOrderDO.getCheckType().equals(100)){
-                                    //定检
-                                    result.put("yearSafetyStatusLevel_"+(i+1),pipeDetail.getLegalSafetyStatusLevel());
-                                }else if (taskOrderDO.getCheckType().equals(200)){
-                                    //年检
-                                    result.put("yearSafetyStatusLevel_"+(i+1),pipeDetail.getYearSafetyStatusLevel());
+                                if (firstInsDO == null) {
+                                    //获取检验性质
+                                    PipeTaskOrderDO taskOrderDO = pipeTaskOrderMapper.selectById(itemReportDO.getOrderId());
+                                    if (taskOrderDO.getCheckType().equals(100)){
+                                        //定检
+                                        result.put("yearSafetyStatusLevel_"+(i+1),pipeDetail.getLegalSafetyStatusLevel());
+                                    }else if (taskOrderDO.getCheckType().equals(200)){
+                                        //年检
+                                        result.put("yearSafetyStatusLevel_"+(i+1),pipeDetail.getYearSafetyStatusLevel());
+                                    }
                                 }
                             }
                         }