|
|
@@ -116,21 +116,6 @@ public class OrderReportServiceImpl extends ServiceImpl<OrderReportMapper, Order
|
|
|
|
|
|
@Override
|
|
|
public void generateBoilerOrderReport(String acceptOrderId) {
|
|
|
- OrderReportDO one = getOne(new LambdaQueryWrapperX<OrderReportDO>().eq(OrderReportDO::getAcceptOrderId, acceptOrderId));
|
|
|
- OrderReportDO orderReportDO = one == null ? new OrderReportDO() : one;
|
|
|
- orderReportDO.setAcceptOrderId(acceptOrderId);
|
|
|
- orderReportDO.setOrderType(ACCEPT);
|
|
|
-
|
|
|
- /*List<DynamicTbDO> list = dynamicTbService.list(new LambdaQueryWrapperX<DynamicTbDO>()
|
|
|
- .eq(DynamicTbDO::getPjType, 3)
|
|
|
- .eq(DynamicTbDO::getReportType, 300)
|
|
|
- );
|
|
|
- if (CollUtil.isEmpty(list)) {
|
|
|
- return;
|
|
|
- }
|
|
|
- // 目前拿第一个
|
|
|
- DynamicTbDO reportTemplateDO = list.get(0);*/
|
|
|
- // 找到主项目
|
|
|
List<EquipBoilerSchedulingCheckDO> list = equipBoilerSchedulingCheckService.list(
|
|
|
new LambdaQueryWrapper<EquipBoilerSchedulingCheckDO>()
|
|
|
.eq(EquipBoilerSchedulingCheckDO::getAcceptOrderId, acceptOrderId)
|
|
|
@@ -141,35 +126,43 @@ public class OrderReportServiceImpl extends ServiceImpl<OrderReportMapper, Order
|
|
|
.in(BoilerConnectRecordReportDO::getId, checkIds)
|
|
|
.eq(BoilerConnectRecordReportDO::getIsMainProject, "1")
|
|
|
);
|
|
|
- if (!boilerConnectRecordReportDOS.isEmpty()) {
|
|
|
- BoilerConnectRecordReportDO boilerConnectRecordReportDO = boilerConnectRecordReportDOS.get(0);
|
|
|
+ if (boilerConnectRecordReportDOS.isEmpty()) {
|
|
|
+ throw new ServiceException(500, "生成报表数据失败,未找到主项目受理单配置");
|
|
|
+ }
|
|
|
+
|
|
|
+ // 一个受理单可能有多个主项目,每个主项目对应一个报告
|
|
|
+ for (BoilerConnectRecordReportDO boilerConnectRecordReportDO : boilerConnectRecordReportDOS) {
|
|
|
DynamicTbDO reportTemplateDO = dynamicTbService.getById(boilerConnectRecordReportDO.getAcceptOrderTemplateId());
|
|
|
+ if (reportTemplateDO == null) continue;
|
|
|
+
|
|
|
+ // 按 acceptOrderId + templateId 查重,避免重复生成
|
|
|
+ OrderReportDO exist = getOne(new LambdaQueryWrapperX<OrderReportDO>()
|
|
|
+ .eq(OrderReportDO::getAcceptOrderId, acceptOrderId)
|
|
|
+ .eq(OrderReportDO::getTemplateId, reportTemplateDO.getId())
|
|
|
+ );
|
|
|
+ OrderReportDO orderReportDO = exist == null ? new OrderReportDO() : exist;
|
|
|
+ orderReportDO.setAcceptOrderId(acceptOrderId);
|
|
|
+ orderReportDO.setOrderType(ACCEPT);
|
|
|
orderReportDO.setTemplateId(reportTemplateDO.getId());
|
|
|
- // 找到模板
|
|
|
- //生成报表数据
|
|
|
+
|
|
|
+ // 生成报表数据
|
|
|
CreateInstantiateWithRuleVO ruleVO = new CreateInstantiateWithRuleVO();
|
|
|
ruleVO.setTemplateId(reportTemplateDO.getId());
|
|
|
ruleVO.setRefId(acceptOrderId);
|
|
|
ruleVO.setRefName(reportTemplateDO.getTbName());
|
|
|
ruleVO.setReportType(1);
|
|
|
JSONObject params = new JSONObject();
|
|
|
-
|
|
|
params.put("equipMainType", "boiler");
|
|
|
ruleVO.setParams(params);
|
|
|
- //获取tbCode的服务方法名
|
|
|
+
|
|
|
BoilerConnectTbServiceDO tbServiceDO = boilerConnectTbServiceMapper.selectOne(BoilerConnectTbServiceDO::getTbId, reportTemplateDO.getId());
|
|
|
if (tbServiceDO != null) {
|
|
|
ruleVO.setServiceName(tbServiceDO.getInitServiceName());
|
|
|
DynamicTbInsDO instantiateWithRule = dynamicTbInsService.createInstantiateWithRule(ruleVO);
|
|
|
orderReportDO.setInsId(instantiateWithRule.getId());
|
|
|
- } else {
|
|
|
- //throw new ServiceException(500, "生成报表数据失败,初始化服务方法未配置");
|
|
|
}
|
|
|
|
|
|
-
|
|
|
orderReportMapper.insertOrUpdate(orderReportDO);
|
|
|
- }else {
|
|
|
- throw new ServiceException(500, "生成报表数据失败,未找到主项目受理单配置");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -235,13 +228,14 @@ public class OrderReportServiceImpl extends ServiceImpl<OrderReportMapper, Order
|
|
|
|
|
|
@Override
|
|
|
public void addBoilerOrderReport(String acceptOrderId, String taskOrderId) {
|
|
|
- OrderReportDO one = getOne(new LambdaQueryWrapperX<OrderReportDO>().eq(OrderReportDO::getAcceptOrderId, acceptOrderId));
|
|
|
- if (one == null){
|
|
|
- return;
|
|
|
+ List<OrderReportDO> list = list(new LambdaQueryWrapperX<OrderReportDO>()
|
|
|
+ .eq(OrderReportDO::getAcceptOrderId, acceptOrderId));
|
|
|
+ if (CollUtil.isEmpty(list)) return;
|
|
|
+ for (OrderReportDO orderReportDO : list) {
|
|
|
+ orderReportDO.setTaskOrderId(taskOrderId);
|
|
|
+ orderReportDO.setOrderType(TASK);
|
|
|
+ updateById(orderReportDO);
|
|
|
}
|
|
|
- one.setTaskOrderId(taskOrderId);
|
|
|
- one.setOrderType(TASK);
|
|
|
- updateById(one);
|
|
|
}
|
|
|
|
|
|
@Override
|