xzc il y a 1 semaine
Parent
commit
3fee2eaf07
14 fichiers modifiés avec 98 ajouts et 17 suppressions
  1. 3 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/boilertaskorder/vo/BoilerOrderItemAddReportVO.java
  2. 6 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/boilertaskorder/vo/BoilerOrderItemCostInfoRepsVO.java
  3. 3 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/equipboilerscheduling/vo/BoilerPlanSchedulingCheckItemVO.java
  4. 3 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/inspectionnature/vo/InspectionNatureTemplateDetailRespVO.java
  5. 3 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/inspectionnature/vo/InspectionNatureTemplateSaveReqVO.java
  6. 3 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/pipetaskorder/vo/PipeOrderItemAddReportVO.java
  7. 5 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/dal/dataobject/equipboilerschedulingitem/EquipBoilerSchedulingCheckDO.java
  8. 5 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/dal/dataobject/equippipeschedulingitem/EquipPipeSchedulingCheckDO.java
  9. 5 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/dal/dataobject/inspectionnature/InspectionNatureTemplateDO.java
  10. 25 9
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/boilertaskorder/BoilerTaskOrderServiceImpl.java
  11. 1 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/equipboilerscheduling/EquipBoilerSchedulingServiceImpl.java
  12. 1 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/equippipescheduling/EquipPipeSchedulingServiceImpl.java
  13. 3 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/inspectionnature/InspectionNatureTemplateServiceImpl.java
  14. 32 8
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/pipetaskorder/PipeTaskOrderServiceImpl.java

+ 3 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/boilertaskorder/vo/BoilerOrderItemAddReportVO.java

@@ -43,4 +43,7 @@ public class BoilerOrderItemAddReportVO {
 
     @Schema(description = "费用类型", example = "1")
     private String type;
+
+    @Schema(description = "排序", example = "1")
+    private Integer sort;
 }

+ 6 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/boilertaskorder/vo/BoilerOrderItemCostInfoRepsVO.java

@@ -75,4 +75,10 @@ public class BoilerOrderItemCostInfoRepsVO {
 
     @Schema(description = "是否收费")
     private String isFee;
+
+    /**
+     * 序号
+     */
+    @Schema(description = "序号")
+    private Integer sort;
 }

+ 3 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/equipboilerscheduling/vo/BoilerPlanSchedulingCheckItemVO.java

@@ -26,4 +26,7 @@ public class BoilerPlanSchedulingCheckItemVO {
 
     @Schema(description = "默认数量")
     private Integer defaultCount;
+
+    @Schema(description = "排序")
+    private Integer sort;
 }

+ 3 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/inspectionnature/vo/InspectionNatureTemplateDetailRespVO.java

@@ -64,4 +64,7 @@ public class InspectionNatureTemplateDetailRespVO {
 
     @Schema(description = "默认数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Integer defaultCount;
+
+    @Schema(description = "序号", example = "1")
+    private Integer sort;
 }

+ 3 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/inspectionnature/vo/InspectionNatureTemplateSaveReqVO.java

@@ -28,4 +28,7 @@ public class InspectionNatureTemplateSaveReqVO {
     @Schema(description = "默认数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Integer defaultCount;
 
+    @Schema(description = "序号", example = "1")
+    private Integer sort;
+
 }

+ 3 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/pipetaskorder/vo/PipeOrderItemAddReportVO.java

@@ -50,4 +50,7 @@ public class PipeOrderItemAddReportVO {
 
     @Schema(description = "壁厚测定点位列表")
     private List<WallThicknessReqVO> wallThicknessList;
+
+    @Schema(description = "排序", example = "1")
+    private Integer sort;
 }

+ 5 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/dal/dataobject/equipboilerschedulingitem/EquipBoilerSchedulingCheckDO.java

@@ -78,4 +78,9 @@ public class EquipBoilerSchedulingCheckDO extends BaseDO {
      * 默认数量
      */
     private Integer defaultCount;
+
+    /**
+     * 序号
+     */
+    private Integer sort;
 }

+ 5 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/dal/dataobject/equippipeschedulingitem/EquipPipeSchedulingCheckDO.java

@@ -77,4 +77,9 @@ public class EquipPipeSchedulingCheckDO extends BaseDO {
      * 默认数量
      */
     private Integer defaultCount;
+
+    /**
+     * 序号
+     */
+    private Integer sort;
 }

+ 5 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/dal/dataobject/inspectionnature/InspectionNatureTemplateDO.java

@@ -45,4 +45,9 @@ public class InspectionNatureTemplateDO extends BaseDO {
      */
     private Integer defaultCount;
 
+    /**
+     * 序号
+     */
+    private Integer sort;
+
 }

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

@@ -895,7 +895,7 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
         }
 
         //根据前台约检勾选的检验项目生成数据
-        List<EquipBoilerSchedulingCheckDO> checkDOList = equipBoilerSchedulingCheckService.lambdaQuery().eq(EquipBoilerSchedulingCheckDO::getTaskOrderId, taskOrderDO.getId()).list();
+        List<EquipBoilerSchedulingCheckDO> checkDOList = equipBoilerSchedulingCheckService.lambdaQuery().eq(EquipBoilerSchedulingCheckDO::getTaskOrderId, taskOrderDO.getId()).orderByAsc(EquipBoilerSchedulingCheckDO::getSort).list();
         AtomicReference<Integer> index = new AtomicReference<>(1);
         List<BoilerTaskOrderItemReportDO> insertList = new ArrayList<>();
         if (!checkDOList.isEmpty()){
@@ -919,6 +919,7 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
 
                         BoilerTaskOrderItemReportDO addReport1 = new BoilerTaskOrderItemReportDO();
                         addReport1.setProjectId(recordReportDO.getId());
+                        addReport1.setSort(item.getSort());
                         addReport1.setOrderItemId(id);
                         addReport1.setTemplateId(dynamicTbDO.getId());
                         // 将 String 类型的 fee 转换为 BigDecimal
@@ -946,6 +947,7 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
                                 addInstructionReport.setOrderItemId(id);
                                 addInstructionReport.setTaskStatus(TaskOrderStatusEnum.ENTER.getStatus());
                                 addInstructionReport.setFeeType(item.getType());
+                                addInstructionReport.setSort(item.getSort());
                                 addInstructionReport.setProjectId(recordReportDO.getId());
                                 addInstructionReport.setFee(item.getFee());
                                 DynamicTbDO dynamicTbDO1 = dynamicTbMapper.selectById(recordReportDO.getOperationInstruction());
@@ -974,6 +976,7 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
                             addReport1.setOrderItemId(id);
 //                            addReport1.setTemplateId(dynamicTbDO.getId());
                             addReport1.setReportTemplateId(dynamicTbDO.getId());
+                            addReport1.setSort(item.getSort());
                             // 将 String 类型的 fee 转换为 BigDecimal
 //                            addReport1.setFee(ConversionUtil.convert(recordReportDO.getFee()));
                             addReport1.setFee(item.getFee());
@@ -997,6 +1000,7 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
                                     addInstructionReport.setTemplateId(recordReportDO.getOperationInstruction());
                                     addInstructionReport.setOrderId(taskOrderDO.getId());
                                     addInstructionReport.setOrderItemId(id);
+                                    addInstructionReport.setSort(item.getSort());
                                     addInstructionReport.setTaskStatus(TaskOrderStatusEnum.ENTER.getStatus());
                                     addInstructionReport.setFeeType(item.getType());
                                     addInstructionReport.setProjectId(recordReportDO.getId());
@@ -1032,13 +1036,12 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
             if (!insertList.isEmpty()){
 
                 //按报告类型排序
-                insertList.sort(Comparator.comparing(BoilerTaskOrderItemReportDO::getReportType));
+//                insertList.sort(Comparator.comparing(BoilerTaskOrderItemReportDO::getReportType));
                 // 重新设置 sort 字段,确保每个记录都有连续递增的排序值
-                for (int i = 0; i < insertList.size(); i++) {
-                    BoilerTaskOrderItemReportDO item = insertList.get(i);
-                    item.setSort(index.getAndSet(index.get() + 1));
-                }
-
+//                for (int i = 0; i < insertList.size(); i++) {
+//                    BoilerTaskOrderItemReportDO item = insertList.get(i);
+//                    item.setSort(index.getAndSet(index.get() + 1));
+//                }
                 // 新增报告
                 taskOrderItemReportMapper.insert(insertList);
                 insertList.forEach(item -> {
@@ -1351,6 +1354,7 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
                                 .ifPresent(natureTemplateDO -> {
                                     // 找到匹配的检验性质模版
                                     repsVO.setUse("1".equals(natureTemplateDO.getIsDefault()));
+                                    repsVO.setSort(natureTemplateDO.getSort());
                                 });
                         repsVO.setUse(repsVO.getUse() || "MAIN".equals(templateDO.getProjectType()));
                         // 4. 从Map中直接查找匹配项
@@ -1376,6 +1380,7 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
                                 .ifPresent(natureTemplateDO -> {
                                     // 找到匹配的检验性质模版
                                     baseVO.setUse("1".equals(natureTemplateDO.getIsDefault()));
+                                    baseVO.setSort(natureTemplateDO.getSort());
                                 });
                         baseVO.setUse(baseVO.getUse() || "MAIN".equals(templateDO.getProjectType()));
 
@@ -1427,6 +1432,7 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
                             repsVO.setProjectType(connectRecordReportDO.getProjectType());
                             repsVO.setIsMainProject("MAIN".equals(connectRecordReportDO.getProjectType()) ? "1" : "0");
                             repsVO.setDefaultCount(natureTemplateDO.getDefaultCount() != null ? natureTemplateDO.getDefaultCount() : 1);
+                            repsVO.setSort(natureTemplateDO.getSort() != null ? natureTemplateDO.getSort() : 1);
                             return repsVO;
                         }else {
                             return null;
@@ -1447,6 +1453,7 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
                                 repsVO.setProjectType(connectRecordReportDO.getProjectType());
                                 repsVO.setIsMainProject("MAIN".equals(connectRecordReportDO.getProjectType()) ? "1" : "0");
                                 repsVO.setDefaultCount(natureTemplateDO.getDefaultCount() != null ? natureTemplateDO.getDefaultCount() : 1);
+                                repsVO.setSort(natureTemplateDO.getSort() != null ? natureTemplateDO.getSort() : 1);
                                 return repsVO;
                             }else {
                                 return null;
@@ -1458,6 +1465,7 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
                         return null;
                     }
                 })
+                .sorted(Comparator.comparing(BoilerOrderItemCostInfoRepsVO::getSort))
                 .collect(Collectors.toCollection(ArrayList::new)); // 预分配空间
 
         list.addAll(resultList);
@@ -2734,7 +2742,11 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
             if (reportTemplateDO.getTbType() != null && TaskOrderItemReportTypeEnum.NOTICE_OF_OPINION.getType().intValue() == reportTemplateDO.getTbType()) {
                 addReport.setSort(999);
             }else{
-                addReport.setSort(count + 1);
+                if (vo.getSort() != null){
+                    addReport.setSort(vo.getSort());
+                }else{
+                    addReport.setSort(count + 1);
+                }
             }
             addReport.setItemPartId(itemPartId);
             addReport.setFeeType(vo.getType());
@@ -2769,7 +2781,11 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
                             addInstructionReport.setOrderId(orderItemDOS.get(0).getOrderId());
                             addInstructionReport.setOrderItemId(vo.getOrderItemId());
                             addInstructionReport.setTaskStatus(TaskOrderStatusEnum.ENTER.getStatus());
-                            addInstructionReport.setSort(count + 1);
+                            if (vo.getSort() != null){
+                                addInstructionReport.setSort(vo.getSort());
+                            }else{
+                                addInstructionReport.setSort(count + 1);
+                            }
                             addInstructionReport.setFeeType(vo.getType());
                             addInstructionReport.setItemPartId(itemPartId);
                             addInstructionReport.setProjectId(connectDO.getId());

+ 1 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/equipboilerscheduling/EquipBoilerSchedulingServiceImpl.java

@@ -438,6 +438,7 @@ public class EquipBoilerSchedulingServiceImpl extends ServiceImpl<EquipBoilerSch
                     checkDO.setSchedulingId(item.getId());
                     checkDO.setType(checkItem.getType());
                     checkDO.setCheckId(checkItem.getReportId());
+                    checkDO.setSort(checkItem.getSort());
                     if (checkItem.getNewAmount() != null){
                         checkDO.setFee(BigDecimal.valueOf(checkItem.getNewAmount()));
                     }else {

+ 1 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/equippipescheduling/EquipPipeSchedulingServiceImpl.java

@@ -492,6 +492,7 @@ public class EquipPipeSchedulingServiceImpl extends ServiceImpl<EquipPipeSchedul
                     checkDO.setSchedulingId(item.getId());
                     checkDO.setCheckId(checkItem.getReportId());
                     checkDO.setType(checkItem.getType());
+                    checkDO.setSort(checkItem.getSort());
                     if (checkItem.getNewAmount() != null){
                         checkDO.setFee(BigDecimal.valueOf(checkItem.getNewAmount()));
                     }else {

+ 3 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/inspectionnature/InspectionNatureTemplateServiceImpl.java

@@ -94,6 +94,7 @@ public class InspectionNatureTemplateServiceImpl implements InspectionNatureTemp
     public List<InspectionNatureTemplateDO> listByNatureIds(List<String> natureIds) {
         LambdaQueryWrapperX<InspectionNatureTemplateDO> queryWrapperX = new LambdaQueryWrapperX<>();
         queryWrapperX.inIfPresent(InspectionNatureTemplateDO::getInspectionNatureId, natureIds);
+        queryWrapperX.orderByAsc(InspectionNatureTemplateDO::getSort);
         return inspectionNatureTemplateMapper.selectList(queryWrapperX);
     }
 
@@ -101,6 +102,7 @@ public class InspectionNatureTemplateServiceImpl implements InspectionNatureTemp
     public List<InspectionNatureTemplateDO> listByNatureId(String natureId) {
         LambdaQueryWrapperX<InspectionNatureTemplateDO> queryWrapperX = new LambdaQueryWrapperX<>();
         queryWrapperX.eq(InspectionNatureTemplateDO::getInspectionNatureId, natureId);
+        queryWrapperX.orderByAsc(InspectionNatureTemplateDO::getSort);
         return inspectionNatureTemplateMapper.selectList(queryWrapperX);
     }
 
@@ -142,6 +144,7 @@ public class InspectionNatureTemplateServiceImpl implements InspectionNatureTemp
         }
 
         List<InspectionNatureTemplateDO> natureTemplateDOList = inspectionNatureTemplateMapper.selectList(InspectionNatureTemplateDO::getInspectionNatureId, inspectionNatureDO.getId());
+        natureTemplateDOList.sort(Comparator.comparing(InspectionNatureTemplateDO::getSort, Comparator.nullsLast(Comparator.naturalOrder())));
         if(natureTemplateDOList == null){
             return new ArrayList<>();
         }

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

@@ -882,6 +882,7 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
                                 addReport1.setOrderId(taskOrderDO.getId());
                                 addReport1.setTaskStatus(500);
                                 addReport1.setReportNo(reportNo);
+                                addReport1.setSort(item.getSort());
                                 addReport1.setReportUrl(itemDO.getId());
                                 //addReport1.setSort(index.getAndSet(index.get() + 1));
                                 addReport1.setReportType(dynamicTbDO.getTbType());
@@ -901,6 +902,7 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
                                         addInstructionReport.setFeeType(item.getType());
                                         addInstructionReport.setProjectId(recordReportDO.getId());
                                         addInstructionReport.setFee(item.getFee());
+                                        addInstructionReport.setSort(item.getSort());
                                         DynamicTbDO dynamicTbDO1 = dynamicTbMapper.selectById(recordReportDO.getOperationInstruction());
                                         addInstructionReport.setReportName(dynamicTbDO1.getTbName());
                                         addInstructionReport.setReportType(700);
@@ -936,6 +938,7 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
                             addReport1.setOrderId(taskOrderDO.getId());
                             addReport1.setTaskStatus(500);
                             addReport1.setReportNo(reportNo);
+                            addReport1.setSort(item.getSort());
                             //addReport1.setSort(index.getAndSet(index.get() + 1));
                             addReport1.setReportType(dynamicTbDO.getTbType());
                             addReport1.setProjectId(recordReportDO.getId());
@@ -965,6 +968,7 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
                                 addReport1.setOrderId(taskOrderDO.getId());
                                 addReport1.setTaskStatus(520);
                                 addReport1.setReportNo(reportNo);
+                                addReport1.setSort(item.getSort());
                                 //addReport1.setSort(index.getAndSet(index.get() + 1));
                                 // projectType为MAIN的为主报告
                                 String projectType = recordReportDO.getProjectType();
@@ -992,12 +996,12 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
             if (!insertList.isEmpty()){
 
                 //按报告类型排序
-                insertList.sort(Comparator.comparing(PipeTaskOrderItemReportDO::getReportType));
+//                insertList.sort(Comparator.comparing(PipeTaskOrderItemReportDO::getReportType));
                 // 重新设置 sort 字段,确保每个记录都有连续递增的排序值
-                for (int i = 0; i < insertList.size(); i++) {
-                    PipeTaskOrderItemReportDO item = insertList.get(i);
-                    item.setSort(index.getAndSet(index.get() + 1));
-                }
+//                for (int i = 0; i < insertList.size(); i++) {
+//                    PipeTaskOrderItemReportDO item = insertList.get(i);
+//                    item.setSort(index.getAndSet(index.get() + 1));
+//                }
 
                 taskOrderItemReportMapper.insertBatch(insertList);
                 insertList.forEach(item -> {
@@ -1344,11 +1348,13 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
                                 .ifPresent(natureTemplateDO -> {
                                     // 找到匹配的检验性质模版
                                     repsVO.setUse("1".equals(natureTemplateDO.getIsDefault()));
+                                    repsVO.setSort(natureTemplateDO.getSort());
                                 });
                         repsVO.setUse(repsVO.getUse() || "MAIN".equals(templateDO.getProjectType()));
 
                         return repsVO;
                     })
+                    .sorted(Comparator.comparing(BoilerOrderItemCostInfoRepsVO::getSort))
                     .collect(Collectors.toCollection(ArrayList::new)); // 预分配空间
 
             // 外部结果集引用
@@ -1366,10 +1372,12 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
                                 .ifPresent(natureTemplateDO -> {
                                     // 找到匹配的检验性质模版
                                     baseVO.setUse("1".equals(natureTemplateDO.getIsDefault()));
+                                    baseVO.setSort(natureTemplateDO.getSort());
                                 });
                         baseVO.setUse(baseVO.getUse() || "MAIN".equals(templateDO.getProjectType()));
                         return baseVO;
                     })
+                    .sorted(Comparator.comparing(BoilerOrderItemCostInfoRepsVO::getSort))
                     .collect(Collectors.toCollection(ArrayList::new)); // 预分配空间
             // 外部结果集引用
             list.addAll(resultList);
@@ -1413,6 +1421,7 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
                             repsVO.setFee("1".equals(connectRecordReportDO.getIsFee()) ? ConversionUtil.convert(connectRecordReportDO.getFee()) : BigDecimal.ZERO);
                             repsVO.setReportType(dynamicTbDO.getTbType());
                             repsVO.setUse("1".equals(natureTemplateDO.getIsDefault())); // 默认值
+                            repsVO.setSort(natureTemplateDO.getSort());
                             repsVO.setProjectType(connectRecordReportDO.getProjectType());
                             repsVO.setIsMainProject("MAIN".equals(connectRecordReportDO.getProjectType()) ? "1" : "0");
                             repsVO.setDefaultCount(natureTemplateDO.getDefaultCount() != null ? natureTemplateDO.getDefaultCount() : 1);
@@ -1432,6 +1441,7 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
                                 repsVO.setTemplateId(dynamicTbDO.getId());
                                 repsVO.setIsAutoAmount("0");
                                 repsVO.setReportType(dynamicTbDO.getTbType());
+                                repsVO.setSort(natureTemplateDO.getSort());
                                 repsVO.setUse("1".equals(natureTemplateDO.getIsDefault())); // 默认值
                                 repsVO.setProjectType(connectRecordReportDO.getProjectType());
                                 repsVO.setIsMainProject("MAIN".equals(connectRecordReportDO.getProjectType()) ? "1" : "0");
@@ -1446,6 +1456,7 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
                         return null;
                     }
                 })
+                .sorted(Comparator.comparing(BoilerOrderItemCostInfoRepsVO::getSort))
                 .collect(Collectors.toCollection(ArrayList::new)); // 预分配空间
 
         list.addAll(resultList);
@@ -1583,7 +1594,12 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
                 if (reportTemplateDO.getTbType() != null && TaskOrderItemReportTypeEnum.NOTICE_OF_OPINION.getType().intValue() == reportTemplateDO.getTbType()) {
                     addReport.setSort(999);
                 }else{
-                    addReport.setSort(count + 1 + i);
+                    // 其他报告类型根据排序字段排序
+                    if (vo.getSort() != null){
+                        addReport.setSort(vo.getSort());
+                    }else{
+                        addReport.setSort(count + 1 + i);
+                    }
                 }
                 addReport.setFeeType(vo.getType());
 
@@ -1629,7 +1645,13 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
                                 addInstructionReport.setTemplateId(connectDO.getOperationInstruction());
                                 addInstructionReport.setOrderId(orderId);
                                 addInstructionReport.setTaskStatus(TaskOrderStatusEnum.ENTER.getStatus());
-                                addInstructionReport.setSort(count + 1 + i);
+                                // 其他报告类型根据排序字段排序
+                                if (vo.getSort() != null){
+                                    addInstructionReport.setSort(vo.getSort());
+                                }else{
+                                    addInstructionReport.setSort(count + 1 + i);
+                                }
+
                                 addInstructionReport.setFeeType(vo.getType());
 
                                 addInstructionReport.setProjectId(connectDO.getId());
@@ -2927,7 +2949,9 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
         // 2. 收集报告的检验人员ID
         List<PipeTaskOrderItemReportDO> itemReportDOS = taskOrderItemReportMapper.selectList(new LambdaQueryWrapperX<PipeTaskOrderItemReportDO>().
                 eq(PipeTaskOrderItemReportDO::getOrderId, taskOrderDO.getId())
-                .orderByAsc(PipeTaskOrderItemReportDO::getSort));
+                .orderByAsc(PipeTaskOrderItemReportDO::getSort)
+                .orderByAsc(PipeTaskOrderItemReportDO::getCreateTime)
+        );
         //.orderByAsc(BoilerTaskOrderItemReportDO::getReportType));
 
         // 检验方案(通过的)