|
|
@@ -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 {
|