|
|
@@ -130,6 +130,7 @@ import cn.start.tz.module.pressure2.service.pipetaskorderinput.PipeTaskOrderInpu
|
|
|
import cn.start.tz.module.pressure2.service.pipetaskorderitemreportversion.PipeTaskOrderItemReportVersionService;
|
|
|
import cn.start.tz.module.pressure2.service.pipetaskorderoperation.PipeTaskOrderOperationService;
|
|
|
import cn.start.tz.module.pressure2.service.pipetaskordersecuritycheck.PipeTaskOrderSecurityCheckService;
|
|
|
+import cn.start.tz.module.pressure2.util.ConversionUtil;
|
|
|
import cn.start.tz.module.pressure2.util.DeptDataPermissionUtil;
|
|
|
import cn.start.tz.module.pressure2.util.JsonDiffTool;
|
|
|
import cn.start.tz.module.system.api.clientunit.ClientUnitApi;
|
|
|
@@ -630,7 +631,11 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
|
|
|
//刷新报表数据
|
|
|
BoilerTaskOrderSyncReportVO syncReportVO = new BoilerTaskOrderSyncReportVO();
|
|
|
syncReportVO.setRefId(report.getId());
|
|
|
- syncReportVO.setReportType("record");
|
|
|
+ if (report.getTemplateId() != null){
|
|
|
+ syncReportVO.setReportType("record");
|
|
|
+ }else{
|
|
|
+ syncReportVO.setReportType("report");
|
|
|
+ }
|
|
|
com.alibaba.fastjson2.JSONObject params = new com.alibaba.fastjson2.JSONObject();
|
|
|
params.put("checkUserId",managerId);
|
|
|
syncReportVO.setParams(params);
|
|
|
@@ -798,6 +803,7 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
|
|
|
//checkId是记录和报告关联的主键ID
|
|
|
BoilerConnectRecordReportDO recordReportDO = boilerConnectRecordReportMapper.selectById(item.getCheckId());
|
|
|
if (recordReportDO != null){
|
|
|
+ if (recordReportDO.getRecordTemplateId() != null){
|
|
|
DynamicTbDO dynamicTbDO = dynamicTbMapper.selectById(recordReportDO.getRecordTemplateId());
|
|
|
if (dynamicTbDO != null && dynamicTbDO.getTbCode().contains("QC12116")) {
|
|
|
// 压力管道一览表根据设备数量生成多条记录
|
|
|
@@ -805,7 +811,7 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
|
|
|
for (PipeTaskOrderItemDO itemDO : orderItems) {
|
|
|
PipeTaskOrderItemReportDO addReport1 = new PipeTaskOrderItemReportDO();
|
|
|
addReport1.setTemplateId(dynamicTbDO.getId());
|
|
|
- addReport1.setFee(item.getFee());
|
|
|
+ addReport1.setFee(ConversionUtil.convert(recordReportDO.getFee()));
|
|
|
addReport1.setOrderId(taskOrderDO.getId());
|
|
|
addReport1.setTaskStatus(500);
|
|
|
addReport1.setReportNo(reportNo);
|
|
|
@@ -831,7 +837,7 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
|
|
|
}else {
|
|
|
PipeTaskOrderItemReportDO addReport1 = new PipeTaskOrderItemReportDO();
|
|
|
addReport1.setTemplateId(dynamicTbDO.getId());
|
|
|
- addReport1.setFee(item.getFee());
|
|
|
+ addReport1.setFee(ConversionUtil.convert(recordReportDO.getFee()));
|
|
|
addReport1.setOrderId(taskOrderDO.getId());
|
|
|
addReport1.setTaskStatus(500);
|
|
|
addReport1.setReportNo(reportNo);
|
|
|
@@ -844,6 +850,26 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
|
|
|
|
|
|
insertList.add(addReport1);
|
|
|
}
|
|
|
+ }else if (recordReportDO.getReportTemplateId() != null){
|
|
|
+ DynamicTbDO dynamicTbDO = dynamicTbMapper.selectById(recordReportDO.getReportTemplateId());
|
|
|
+ PipeTaskOrderItemReportDO addReport1 = new PipeTaskOrderItemReportDO();
|
|
|
+// addReport1.setTemplateId(dynamicTbDO.getId());
|
|
|
+ addReport1.setReportTemplateId(dynamicTbDO.getId());
|
|
|
+ addReport1.setFee(ConversionUtil.convert(recordReportDO.getFee()));
|
|
|
+ addReport1.setOrderId(taskOrderDO.getId());
|
|
|
+ addReport1.setTaskStatus(520);
|
|
|
+ addReport1.setReportNo(reportNo);
|
|
|
+ //addReport1.setSort(index.getAndSet(index.get() + 1));
|
|
|
+ String isMainProject = recordReportDO.getIsMainProject();
|
|
|
+ addReport1.setReportType("1".equals(isMainProject) ? 100 : 200);
|
|
|
+
|
|
|
+ //使用配置的项目名称
|
|
|
+ //addReport1.setReportName(dynamicTbDO.getTbName());
|
|
|
+ addReport1.setReportName(recordReportDO.getProjectName());
|
|
|
+
|
|
|
+ insertList.add(addReport1);
|
|
|
+
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
}
|
|
|
@@ -871,7 +897,11 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
|
|
|
//生成 报表数据
|
|
|
BoilerTaskOrderSyncReportVO syncReportVO = new BoilerTaskOrderSyncReportVO();
|
|
|
syncReportVO.setRefId(item.getId());
|
|
|
- syncReportVO.setReportType("record");
|
|
|
+ if (item.getTemplateId() != null){
|
|
|
+ syncReportVO.setReportType("record");
|
|
|
+ }else {
|
|
|
+ syncReportVO.setReportType("report");
|
|
|
+ }
|
|
|
com.alibaba.fastjson2.JSONObject params = new com.alibaba.fastjson2.JSONObject();
|
|
|
params.put("checkUserId",getLoginUserId());
|
|
|
params.put("orderItemId",item.getOrderItemId());
|
|
|
@@ -1099,6 +1129,15 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
|
|
|
if (matchedReport != null) {
|
|
|
applyReportData(repsVO, matchedReport);
|
|
|
}
|
|
|
+ natureTemplateDOList.stream()
|
|
|
+ .filter(natureTemplateDO -> natureTemplateDO.getTemplateId().equals(templateDO.getId()))
|
|
|
+ .findFirst()
|
|
|
+ .ifPresent(natureTemplateDO -> {
|
|
|
+ // 找到匹配的检验性质模版
|
|
|
+ repsVO.setUse("1".equals(natureTemplateDO.getIsDefault()));
|
|
|
+ });
|
|
|
+ repsVO.setUse(repsVO.getUse() || "1".equals(templateDO.getIsMainProject()));
|
|
|
+
|
|
|
return repsVO;
|
|
|
})
|
|
|
.collect(Collectors.toCollection(ArrayList::new)); // 预分配空间
|
|
|
@@ -1110,7 +1149,17 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
|
|
|
List<BoilerOrderItemCostInfoRepsVO> resultList = templateDOList.stream()
|
|
|
.map(templateDO -> {
|
|
|
// 3. 使用构建器模式创建对象(避免重复set调用)
|
|
|
- return createBaseVO(reqVO, templateDO);
|
|
|
+ // 找到模板配置
|
|
|
+ BoilerOrderItemCostInfoRepsVO baseVO = createBaseVO(reqVO, templateDO);
|
|
|
+ natureTemplateDOList.stream()
|
|
|
+ .filter(natureTemplateDO -> natureTemplateDO.getTemplateId().equals(templateDO.getId()))
|
|
|
+ .findFirst()
|
|
|
+ .ifPresent(natureTemplateDO -> {
|
|
|
+ // 找到匹配的检验性质模版
|
|
|
+ baseVO.setUse("1".equals(natureTemplateDO.getIsDefault()));
|
|
|
+ });
|
|
|
+ baseVO.setUse(baseVO.getUse() || "1".equals(templateDO.getIsMainProject()));
|
|
|
+ return baseVO;
|
|
|
})
|
|
|
.collect(Collectors.toCollection(ArrayList::new)); // 预分配空间
|
|
|
// 外部结果集引用
|
|
|
@@ -1140,6 +1189,7 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
|
|
|
|
|
|
BoilerConnectRecordReportDO connectRecordReportDO = boilerConnectRecordReportMapper.selectById(natureTemplateDO.getTemplateId());
|
|
|
if (connectRecordReportDO != null){
|
|
|
+ if (connectRecordReportDO.getRecordTemplateId() != null){
|
|
|
DynamicTbDO dynamicTbDO = dynamicTbMapper.selectById(connectRecordReportDO.getRecordTemplateId());
|
|
|
if (dynamicTbDO != null) {
|
|
|
|
|
|
@@ -1150,13 +1200,33 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
|
|
|
repsVO.setName(connectRecordReportDO.getProjectName());
|
|
|
repsVO.setTemplateId(dynamicTbDO.getId());
|
|
|
repsVO.setIsAutoAmount("0");
|
|
|
+ repsVO.setFee(ConversionUtil.convert(connectRecordReportDO.getFee()));
|
|
|
repsVO.setReportType(dynamicTbDO.getTbType());
|
|
|
repsVO.setUse("1".equals(natureTemplateDO.getIsDefault())); // 默认值
|
|
|
-
|
|
|
+ repsVO.setIsMainProject(connectRecordReportDO.getIsMainProject());
|
|
|
return repsVO;
|
|
|
}else {
|
|
|
return null;
|
|
|
+ }}else if (connectRecordReportDO.getReportTemplateId() != null){
|
|
|
+ DynamicTbDO dynamicTbDO = dynamicTbMapper.selectById(connectRecordReportDO.getReportTemplateId());
|
|
|
+ if (dynamicTbDO != null) {
|
|
|
+ BoilerOrderItemCostInfoRepsVO repsVO = new BoilerOrderItemCostInfoRepsVO();
|
|
|
+ repsVO.setOrderId(reqVO.getOrderId());
|
|
|
+ //repsVO.setName(dynamicTbDO.getTbName());
|
|
|
+ repsVO.setConnectId(connectRecordReportDO.getId());
|
|
|
+ repsVO.setName(connectRecordReportDO.getProjectName());
|
|
|
+ repsVO.setFee(ConversionUtil.convert(connectRecordReportDO.getFee()));
|
|
|
+ repsVO.setTemplateId(dynamicTbDO.getId());
|
|
|
+ repsVO.setIsAutoAmount("0");
|
|
|
+ repsVO.setReportType(dynamicTbDO.getTbType());
|
|
|
+ repsVO.setUse("1".equals(natureTemplateDO.getIsDefault())); // 默认值
|
|
|
+ repsVO.setIsMainProject(connectRecordReportDO.getIsMainProject());
|
|
|
+ return repsVO;
|
|
|
+ }else {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
}
|
|
|
+ return null;
|
|
|
}else{
|
|
|
return null;
|
|
|
}
|
|
|
@@ -1172,6 +1242,7 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
|
|
|
BoilerOrderItemCostInfoRepsVO vo = new BoilerOrderItemCostInfoRepsVO();
|
|
|
|
|
|
//获取记录模板
|
|
|
+ if (templateDO.getRecordTemplateId() != null){
|
|
|
DynamicTbDO recordDO = dynamicTbMapper.selectById(templateDO.getRecordTemplateId());
|
|
|
|
|
|
vo.setOrderId(reqVO.getOrderId());
|
|
|
@@ -1181,9 +1252,19 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
|
|
|
vo.setIsAutoAmount("0");
|
|
|
//vo.setFormulaTemplateUrl(templateDO.getFormulaTemplateUrl());
|
|
|
vo.setReportType(recordDO.getTbType());
|
|
|
- vo.setUse(Boolean.FALSE); // 默认值
|
|
|
//vo.setRecordTemplateUrl(templateDO.getRecordTemplateUrl());
|
|
|
//vo.setReportTemplateUrl(templateDO.getReportTemplateUrl());
|
|
|
+ vo.setIsMainProject(templateDO.getIsMainProject());
|
|
|
+ }else if (templateDO.getReportTemplateId() != null){
|
|
|
+ DynamicTbDO recordDO = dynamicTbMapper.selectById(templateDO.getReportTemplateId());
|
|
|
+ vo.setOrderId(reqVO.getOrderId());
|
|
|
+ vo.setConnectId(templateDO.getId());
|
|
|
+ vo.setName(templateDO.getProjectName());
|
|
|
+ vo.setTemplateId(recordDO.getId());
|
|
|
+ vo.setIsAutoAmount("0");
|
|
|
+ vo.setReportType(recordDO.getTbType());
|
|
|
+ vo.setIsMainProject(templateDO.getIsMainProject());
|
|
|
+ }
|
|
|
return vo;
|
|
|
}
|
|
|
|
|
|
@@ -1250,7 +1331,7 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
|
|
|
for (int i = 0; i < quantity; i++) {
|
|
|
PipeTaskOrderItemReportDO addReport = new PipeTaskOrderItemReportDO();
|
|
|
addReport.setTemplateId(vo.getTemplateId());
|
|
|
- addReport.setFee(vo.getFee());
|
|
|
+// addReport.setFee(vo.getFee());
|
|
|
addReport.setOrderId(orderId);
|
|
|
addReport.setTaskStatus(TaskOrderStatusEnum.ENTER.getStatus());
|
|
|
addReport.setSort(count + 1 + i);
|
|
|
@@ -1267,6 +1348,7 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
|
|
|
String baseReportName = "";
|
|
|
if (connectDO != null){
|
|
|
baseReportName = connectDO.getProjectName();
|
|
|
+ addReport.setFee(ConversionUtil.convert(connectDO.getFee()));
|
|
|
}
|
|
|
|
|
|
// 添加数量后缀(当数量大于 1 时)
|
|
|
@@ -1283,6 +1365,13 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
|
|
|
if (reportTemplateDO.getTbType() == 400){
|
|
|
addReport.setIsApproval(true);
|
|
|
}
|
|
|
+
|
|
|
+ // 只有报告
|
|
|
+ if (connectDO.getRecordTemplateId() == null){
|
|
|
+ addReport.setTaskStatus(TaskOrderStatusEnum.REPORT_PREPARE.getStatus());
|
|
|
+ addReport.setReportTemplateId(connectDO.getReportTemplateId());
|
|
|
+ addReport.setTemplateId(null);
|
|
|
+ }
|
|
|
} else {
|
|
|
if (vo.getReportType() == null) {
|
|
|
throw new ServiceException(900, "模板类型缺失");
|
|
|
@@ -1352,7 +1441,11 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
|
|
|
//生成 报表数据
|
|
|
BoilerTaskOrderSyncReportVO syncReportVO = new BoilerTaskOrderSyncReportVO();
|
|
|
syncReportVO.setRefId(addReport.getId());
|
|
|
- syncReportVO.setReportType("record");
|
|
|
+ if (addReport.getReportTemplateId()!=null){
|
|
|
+ syncReportVO.setReportType("report");
|
|
|
+ }else{
|
|
|
+ syncReportVO.setReportType("record");
|
|
|
+ }
|
|
|
com.alibaba.fastjson2.JSONObject params = new com.alibaba.fastjson2.JSONObject();
|
|
|
if (taskOrderDO != null && StringUtils.isBlank(orderItemEnterVO.getCheckId())) {
|
|
|
params.put("checkUserId",taskOrderDO.getManagerId());
|
|
|
@@ -2745,6 +2838,8 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
|
|
|
formmain_0042.setBeginDate(pipeTaskOrderDO.getRemark());
|
|
|
ExternalOACreateFlowBodyDataReq externalOACreateFlowBodyDataReq = new ExternalOACreateFlowBodyDataReq();
|
|
|
|
|
|
+ // 重新发送
|
|
|
+ externalOACreateFlowReq.setSummaryId(taskOrderItemReportDO.getSummaryId());
|
|
|
|
|
|
// 记录模板
|
|
|
DynamicTbInsDO dynamicTbInsDO1 = dynamicTbInsService.getDynamicRefId(taskOrderItemReportDO.getId());
|
|
|
@@ -4606,6 +4701,9 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
|
|
|
return true;
|
|
|
}else{
|
|
|
//throw new ServiceException(500, "生成报表数据失败,初始化服务方法未配置");
|
|
|
+ ruleVO.setServiceName("");
|
|
|
+ dynamicTbInsService.createInstantiateWithRule(ruleVO);
|
|
|
+ return true;
|
|
|
}
|
|
|
|
|
|
}
|