|
|
@@ -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,9 +1594,15 @@ 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());
|
|
|
+ addReport.setFeeCalculateJson(vo.getFeeCalculateJson());
|
|
|
|
|
|
// 计算当前是第几个(从 1 开始)
|
|
|
int currentIndex = existingTemplateCount + i + 1;
|
|
|
@@ -1629,7 +1646,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 +2950,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));
|
|
|
|
|
|
// 检验方案(通过的)
|
|
|
@@ -3536,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) {
|
|
|
@@ -3596,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()) {
|
|
|
|
|
|
@@ -3614,8 +3642,6 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
|
|
|
|
|
|
reportDO.setTaskOrderId(orderId);
|
|
|
reportDO.setTemplateId(dynamicTbDO.getId());
|
|
|
- reportDO.setReportNo(reportNo);
|
|
|
-
|
|
|
notificationformReportMapper.insert(reportDO);
|
|
|
|
|
|
//生成报表数据
|
|
|
@@ -3643,7 +3669,6 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
|
|
|
return reportDO.getId();
|
|
|
}
|
|
|
|
|
|
- addReport.setReportNo(reportNo);
|
|
|
taskOrderItemReportMapper.insert(addReport);
|
|
|
|
|
|
//添加提交人
|
|
|
@@ -3818,6 +3843,33 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ //一览表回写设备信息逻辑
|
|
|
+ PipeTaskOrderItemReportDO updateReportDO = taskOrderItemReportMapper.selectById(orderItemEnterVO.getId());
|
|
|
+ if (updateReportDO != null) {
|
|
|
+ DynamicTbDO dynamicTbDO = dynamicTbMapper.selectById(updateReportDO.getTemplateId());
|
|
|
+ if (dynamicTbDO != null && dynamicTbDO.getTbCode().contains("QC12116")){
|
|
|
+ if (updateReportDO.getOrderItemId() != null){
|
|
|
+ PipeTaskOrderItemDO pipeTaskOrderItemDO = pipeTaskOrderItemMapper.selectById(updateReportDO.getOrderItemId());
|
|
|
+ if (pipeTaskOrderItemDO != null){
|
|
|
+ EquipPipeDO updatePipeDO = new EquipPipeDO();
|
|
|
+ updatePipeDO.setId(pipeTaskOrderItemDO.getEquipId());
|
|
|
+ if (jsonObject.containsKey("securityMan_edit")) {
|
|
|
+ updatePipeDO.setSecurityMan(jsonObject.getString("securityMan_edit"));
|
|
|
+ }
|
|
|
+ if (jsonObject.containsKey("securityDept_edit")) {
|
|
|
+ updatePipeDO.setDepartment(jsonObject.getString("securityDept_edit"));
|
|
|
+ }
|
|
|
+ if (jsonObject.containsKey("contact_edit")) {
|
|
|
+ updatePipeDO.setContact(jsonObject.getString("contact_edit"));
|
|
|
+ }
|
|
|
+ if (jsonObject.containsKey("contactPhone_edit")) {
|
|
|
+ updatePipeDO.setContactPhone(jsonObject.getString("contactPhone_edit"));
|
|
|
+ }
|
|
|
+ equipPipeMapper.updateById(updatePipeDO);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
if (StringUtils.isNotBlank(orderItemEnterVO.getPrepareUrl())) {
|
|
|
taskOrderItemReportDO.setPrepareUrl(orderItemEnterVO.getPrepareUrl());
|
|
|
@@ -4580,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();
|
|
|
@@ -4588,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);
|
|
|
@@ -4602,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);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -5290,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 {
|