|
@@ -141,6 +141,8 @@ import cn.start.tz.module.pressure2.service.common.RedisService;
|
|
|
import cn.start.tz.module.pressure2.service.costfield.CostFieldService;
|
|
import cn.start.tz.module.pressure2.service.costfield.CostFieldService;
|
|
|
import cn.start.tz.module.pressure2.service.dynamictb.DynamicTbService;
|
|
import cn.start.tz.module.pressure2.service.dynamictb.DynamicTbService;
|
|
|
import cn.start.tz.module.pressure2.service.dynamictbcol.DynamicTbColService;
|
|
import cn.start.tz.module.pressure2.service.dynamictbcol.DynamicTbColService;
|
|
|
|
|
+import cn.start.tz.module.pressure2.dal.mysql.dynamictbins.DynamicTbInsMapper;
|
|
|
|
|
+import cn.start.tz.module.pressure2.dal.mysql.dynamictbval.DynamicTbValMapper;
|
|
|
import cn.start.tz.module.pressure2.service.dynamictbins.DynamicTbInsService;
|
|
import cn.start.tz.module.pressure2.service.dynamictbins.DynamicTbInsService;
|
|
|
import cn.start.tz.module.pressure2.service.dynamictbval.DynamicTbValService;
|
|
import cn.start.tz.module.pressure2.service.dynamictbval.DynamicTbValService;
|
|
|
import cn.start.tz.module.pressure2.service.equipboiler.EquipBoilerService;
|
|
import cn.start.tz.module.pressure2.service.equipboiler.EquipBoilerService;
|
|
@@ -277,6 +279,12 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
|
|
|
@Resource
|
|
@Resource
|
|
|
private BoilerTaskOrderItemReportUserMapper taskOrderItemReportUserMapper;
|
|
private BoilerTaskOrderItemReportUserMapper taskOrderItemReportUserMapper;
|
|
|
|
|
|
|
|
|
|
+ @Resource
|
|
|
|
|
+ private DynamicTbInsMapper dynamicTbInsMapper;
|
|
|
|
|
+
|
|
|
|
|
+ @Resource
|
|
|
|
|
+ private DynamicTbValMapper dynamicTbValMapper;
|
|
|
|
|
+
|
|
|
@Resource
|
|
@Resource
|
|
|
private BoilerTaskOrderItemReportEquipMapper taskOrderItemReportEquipMapper;
|
|
private BoilerTaskOrderItemReportEquipMapper taskOrderItemReportEquipMapper;
|
|
|
|
|
|
|
@@ -1398,7 +1406,8 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
|
|
|
//repsVO.setName(dynamicTbDO.getTbName());
|
|
//repsVO.setName(dynamicTbDO.getTbName());
|
|
|
repsVO.setConnectId(connectRecordReportDO.getId());
|
|
repsVO.setConnectId(connectRecordReportDO.getId());
|
|
|
repsVO.setName(connectRecordReportDO.getProjectName());
|
|
repsVO.setName(connectRecordReportDO.getProjectName());
|
|
|
- repsVO.setFee(ConversionUtil.convert(connectRecordReportDO.getFee()));
|
|
|
|
|
|
|
+ repsVO.setIsFee(connectRecordReportDO.getIsFee());
|
|
|
|
|
+ repsVO.setFee("1".equals(connectRecordReportDO.getIsFee()) ? ConversionUtil.convert(connectRecordReportDO.getFee()) : BigDecimal.ZERO);
|
|
|
repsVO.setTemplateId(dynamicTbDO.getId());
|
|
repsVO.setTemplateId(dynamicTbDO.getId());
|
|
|
repsVO.setIsAutoAmount("0");
|
|
repsVO.setIsAutoAmount("0");
|
|
|
repsVO.setReportType(dynamicTbDO.getTbType());
|
|
repsVO.setReportType(dynamicTbDO.getTbType());
|
|
@@ -1417,7 +1426,8 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
|
|
|
//repsVO.setName(dynamicTbDO.getTbName());
|
|
//repsVO.setName(dynamicTbDO.getTbName());
|
|
|
repsVO.setConnectId(connectRecordReportDO.getId());
|
|
repsVO.setConnectId(connectRecordReportDO.getId());
|
|
|
repsVO.setName(connectRecordReportDO.getProjectName());
|
|
repsVO.setName(connectRecordReportDO.getProjectName());
|
|
|
- repsVO.setFee(ConversionUtil.convert(connectRecordReportDO.getFee()));
|
|
|
|
|
|
|
+ repsVO.setIsFee(connectRecordReportDO.getIsFee());
|
|
|
|
|
+ repsVO.setFee("1".equals(connectRecordReportDO.getIsFee()) ? ConversionUtil.convert(connectRecordReportDO.getFee()) : BigDecimal.ZERO);
|
|
|
repsVO.setTemplateId(dynamicTbDO.getId());
|
|
repsVO.setTemplateId(dynamicTbDO.getId());
|
|
|
repsVO.setIsAutoAmount("0");
|
|
repsVO.setIsAutoAmount("0");
|
|
|
repsVO.setReportType(dynamicTbDO.getTbType());
|
|
repsVO.setReportType(dynamicTbDO.getTbType());
|
|
@@ -1892,11 +1902,43 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
|
|
|
updateReport.setId(id);
|
|
updateReport.setId(id);
|
|
|
updateReport.setApprovalId(userId);
|
|
updateReport.setApprovalId(userId);
|
|
|
updateReport.setApprovalTime(LocalDateTime.now());
|
|
updateReport.setApprovalTime(LocalDateTime.now());
|
|
|
|
|
+ //检验方案读取记录下来的审核日期
|
|
|
|
|
+ String[] OrderItemIds = itemReportDO.getOrderItemId().split(",");
|
|
|
|
|
+ List<BoilerTaskOrderItemDO> taskOrderItemDOS = boilerTaskOrderItemMapper.selectList(new LambdaQueryWrapperX<BoilerTaskOrderItemDO>().
|
|
|
|
|
+ in(BoilerTaskOrderItemDO::getId, OrderItemIds));
|
|
|
|
|
+ if (!taskOrderItemDOS.isEmpty()){
|
|
|
|
|
+ BoilerTaskOrderItemDO firstSchemeItem = taskOrderItemDOS.stream()
|
|
|
|
|
+ .filter(item -> item.getSchemeApprovalTime() != null)
|
|
|
|
|
+ .findFirst()
|
|
|
|
|
+ .orElse(null);
|
|
|
|
|
+ if (firstSchemeItem != null){
|
|
|
|
|
+ updateReport.setApprovalTime(firstSchemeItem.getSchemeApprovalTime());
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
if (userRespDTO != null) {
|
|
if (userRespDTO != null) {
|
|
|
updateReport.setApprovalName(userRespDTO.getNickname());
|
|
updateReport.setApprovalName(userRespDTO.getNickname());
|
|
|
}
|
|
}
|
|
|
taskOrderReportMapper.updateById(updateReport);
|
|
taskOrderReportMapper.updateById(updateReport);
|
|
|
|
|
+
|
|
|
|
|
+ //生成报表数据 -- 检验方案表不同暂不通用
|
|
|
|
|
+ CreateInstantiateWithRuleVO ruleVO = new CreateInstantiateWithRuleVO();
|
|
|
|
|
+ ruleVO.setTemplateId(itemReportDO.getTemplateId());
|
|
|
|
|
+ ruleVO.setRefId(itemReportDO.getId());
|
|
|
|
|
+ ruleVO.setRefName(itemReportDO.getReportName());
|
|
|
|
|
+ ruleVO.setReportType(1);
|
|
|
|
|
+ com.alibaba.fastjson2.JSONObject params = new com.alibaba.fastjson2.JSONObject();
|
|
|
|
|
+ params.put("equipMainType","boiler");
|
|
|
|
|
+ ruleVO.setParams(params);
|
|
|
|
|
+ //获取tbCode的服务方法名
|
|
|
|
|
+ BoilerConnectTbServiceDO tbServiceDO = boilerConnectTbServiceMapper.selectOne(BoilerConnectTbServiceDO::getTbId,itemReportDO.getTemplateId());
|
|
|
|
|
+ if (tbServiceDO != null){
|
|
|
|
|
+ ruleVO.setServiceName(tbServiceDO.getInitServiceName());
|
|
|
|
|
+ dynamicTbInsService.createInstantiateWithRule(ruleVO);
|
|
|
|
|
+ }else{
|
|
|
|
|
+ ruleVO.setServiceName("");
|
|
|
|
|
+ dynamicTbInsService.createInstantiateWithRule(ruleVO);
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
}
|
|
}
|
|
@@ -2104,13 +2146,35 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
|
|
|
bean.setRatifyTime(itemReportDO.getRatifyTime());
|
|
bean.setRatifyTime(itemReportDO.getRatifyTime());
|
|
|
bean.setRatifyName(itemReportDO.getRatifyName());
|
|
bean.setRatifyName(itemReportDO.getRatifyName());
|
|
|
bean.setOrderReportId(reportDO.getId());
|
|
bean.setOrderReportId(reportDO.getId());
|
|
|
|
|
+
|
|
|
|
|
+ //检验方案读取记录下来的审批日期
|
|
|
|
|
+ BoilerTaskOrderItemDO taskOrderItemDO = boilerTaskOrderItemMapper.selectById(item.getId());
|
|
|
|
|
+ if (taskOrderItemDO != null){
|
|
|
|
|
+ if (taskOrderItemDO.getSchemeEnterTime() != null){
|
|
|
|
|
+ bean.setPrepareTime(taskOrderItemDO.getSchemeEnterTime());
|
|
|
|
|
+ }
|
|
|
|
|
+ if (taskOrderItemDO.getSchemeApprovalTime() != null){
|
|
|
|
|
+ bean.setApprovalTime(taskOrderItemDO.getSchemeApprovalTime());
|
|
|
|
|
+ }
|
|
|
|
|
+ if (taskOrderItemDO.getSchemeRatifyTime() != null){
|
|
|
|
|
+ bean.setRatifyTime(taskOrderItemDO.getSchemeRatifyTime());
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
return bean;
|
|
return bean;
|
|
|
}
|
|
}
|
|
|
return null;
|
|
return null;
|
|
|
}).filter(Objects::nonNull).toList().forEach(item -> {
|
|
}).filter(Objects::nonNull).toList().forEach(item -> {
|
|
|
|
|
+
|
|
|
taskOrderItemReportMapper.insert(item);
|
|
taskOrderItemReportMapper.insert(item);
|
|
|
dynamicTbInsService.copyInstantiate(reportDO.getId(), item.getId());
|
|
dynamicTbInsService.copyInstantiate(reportDO.getId(), item.getId());
|
|
|
|
|
|
|
|
|
|
+ //更新 报表数据
|
|
|
|
|
+ BoilerTaskOrderSyncReportVO syncReportVO = new BoilerTaskOrderSyncReportVO();
|
|
|
|
|
+ syncReportVO.setRefId(item.getId());
|
|
|
|
|
+ syncReportVO.setReportType("record");
|
|
|
|
|
+ syncReportData(syncReportVO);
|
|
|
|
|
+
|
|
|
//添加提交人
|
|
//添加提交人
|
|
|
BoilerTaskOrderItemReportUserDO userDO = new BoilerTaskOrderItemReportUserDO();
|
|
BoilerTaskOrderItemReportUserDO userDO = new BoilerTaskOrderItemReportUserDO();
|
|
|
if (reportDO.getSubmitId() != null){
|
|
if (reportDO.getSubmitId() != null){
|
|
@@ -2130,9 +2194,79 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
|
|
|
itemReportDO.setTaskStatus(TaskOrderStatusEnum.ENTER.getStatus());
|
|
itemReportDO.setTaskStatus(TaskOrderStatusEnum.ENTER.getStatus());
|
|
|
}
|
|
}
|
|
|
taskOrderReportMapper.updateById(itemReportDO);
|
|
taskOrderReportMapper.updateById(itemReportDO);
|
|
|
|
|
+
|
|
|
|
|
+ //生成报表数据 -- 检验方案表不同暂不通用
|
|
|
|
|
+ CreateInstantiateWithRuleVO ruleVO = new CreateInstantiateWithRuleVO();
|
|
|
|
|
+ ruleVO.setTemplateId(itemReportDO.getTemplateId());
|
|
|
|
|
+ ruleVO.setRefId(itemReportDO.getId());
|
|
|
|
|
+ ruleVO.setRefName(itemReportDO.getReportName());
|
|
|
|
|
+ ruleVO.setReportType(1);
|
|
|
|
|
+ com.alibaba.fastjson2.JSONObject params = new com.alibaba.fastjson2.JSONObject();
|
|
|
|
|
+ params.put("equipMainType","boiler");
|
|
|
|
|
+ ruleVO.setParams(params);
|
|
|
|
|
+ //获取tbCode的服务方法名
|
|
|
|
|
+ BoilerConnectTbServiceDO tbServiceDO = boilerConnectTbServiceMapper.selectOne(BoilerConnectTbServiceDO::getTbId,itemReportDO.getTemplateId());
|
|
|
|
|
+ if (tbServiceDO != null){
|
|
|
|
|
+ ruleVO.setServiceName(tbServiceDO.getInitServiceName());
|
|
|
|
|
+ dynamicTbInsService.createInstantiateWithRule(ruleVO);
|
|
|
|
|
+ }else{
|
|
|
|
|
+ ruleVO.setServiceName("");
|
|
|
|
|
+ dynamicTbInsService.createInstantiateWithRule(ruleVO);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
return true;
|
|
return true;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public boolean checkSchemeApproved(String orderItemId) {
|
|
|
|
|
+
|
|
|
|
|
+ BoilerTaskOrderItemDO taskOrderItemDO = boilerTaskOrderItemMapper.selectById(orderItemId);
|
|
|
|
|
+ if (taskOrderItemDO == null) {
|
|
|
|
|
+ throw new ServiceException(404, "设备任务单不存在");
|
|
|
|
|
+ }
|
|
|
|
|
+ BoilerTaskOrderDO taskOrderDO = boilerTaskOrderMapper.selectById(taskOrderItemDO.getOrderId());
|
|
|
|
|
+ if (taskOrderDO == null) {
|
|
|
|
|
+ throw new ServiceException(404, "任务单不存在");
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ //锅炉内检才需要判断检验方案
|
|
|
|
|
+ if (taskOrderDO.getCheckType() != 100){
|
|
|
|
|
+ return true;
|
|
|
|
|
+ }else{
|
|
|
|
|
+ List<BoilerTaskOrderItemReportDO> boilerTaskOrderItemReportDOS = taskOrderItemReportMapper.selectList(
|
|
|
|
|
+ new LambdaQueryWrapperX<BoilerTaskOrderItemReportDO>()
|
|
|
|
|
+ .eq(BoilerTaskOrderItemReportDO::getOrderItemId, orderItemId)
|
|
|
|
|
+ .eq(BoilerTaskOrderItemReportDO::getReportType, 600)
|
|
|
|
|
+ .eq(BoilerTaskOrderItemReportDO::getStatus, AcceptOrderStatusEnum.AUDIT.getStatus())
|
|
|
|
|
+ .isNotNull(BoilerTaskOrderItemReportDO::getRatifyTime)
|
|
|
|
|
+ .orderByDesc(BoilerTaskOrderItemReportDO::getRatifyTime)
|
|
|
|
|
+ );
|
|
|
|
|
+
|
|
|
|
|
+ if (boilerTaskOrderItemReportDOS.isEmpty()){
|
|
|
|
|
+ return false;
|
|
|
|
|
+ }else{
|
|
|
|
|
+
|
|
|
|
|
+ //记录审批时间
|
|
|
|
|
+ BoilerTaskOrderItemReportDO lastReport = boilerTaskOrderItemReportDOS.get(0);
|
|
|
|
|
+ if (taskOrderItemDO.getSchemeEnterTime() == null || taskOrderItemDO.getSchemeApprovalTime() == null || taskOrderItemDO.getSchemeRatifyTime() == null){
|
|
|
|
|
+
|
|
|
|
|
+ if (lastReport != null){
|
|
|
|
|
+ BoilerTaskOrderItemDO updateTaskOrderDO = new BoilerTaskOrderItemDO();
|
|
|
|
|
+ updateTaskOrderDO.setId(orderItemId);
|
|
|
|
|
+ updateTaskOrderDO.setSchemeEnterTime(lastReport.getPrepareTime());
|
|
|
|
|
+ updateTaskOrderDO.setSchemeApprovalTime(lastReport.getApprovalTime());
|
|
|
|
|
+ updateTaskOrderDO.setSchemeRatifyTime(lastReport.getRatifyTime());
|
|
|
|
|
+ boilerTaskOrderItemMapper.updateById(updateTaskOrderDO);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ return true;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
@Resource
|
|
@Resource
|
|
|
private PushTaskOrderService pushTaskOrderService;
|
|
private PushTaskOrderService pushTaskOrderService;
|
|
|
|
|
|
|
@@ -2565,7 +2699,7 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
|
|
|
addInstructionReport.setTaskStatus(TaskOrderStatusEnum.ENTER.getStatus());
|
|
addInstructionReport.setTaskStatus(TaskOrderStatusEnum.ENTER.getStatus());
|
|
|
addInstructionReport.setSort(count + 1);
|
|
addInstructionReport.setSort(count + 1);
|
|
|
addInstructionReport.setFeeType(vo.getType());
|
|
addInstructionReport.setFeeType(vo.getType());
|
|
|
-
|
|
|
|
|
|
|
+ addInstructionReport.setItemPartId(itemPartId);
|
|
|
addInstructionReport.setProjectId(connectDO.getId());
|
|
addInstructionReport.setProjectId(connectDO.getId());
|
|
|
if (vo.getFee() == null || vo.getFee().compareTo(BigDecimal.ZERO) == 0) {
|
|
if (vo.getFee() == null || vo.getFee().compareTo(BigDecimal.ZERO) == 0) {
|
|
|
addInstructionReport.setFee(ConversionUtil.convert(connectDO.getFee()));
|
|
addInstructionReport.setFee(ConversionUtil.convert(connectDO.getFee()));
|
|
@@ -4383,7 +4517,7 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
|
|
|
// byte[] pdf1 = pdfService.pdf(dynamicTbInsDO.getTbId(), dynamicTbInsDO.getId());
|
|
// byte[] pdf1 = pdfService.pdf(dynamicTbInsDO.getTbId(), dynamicTbInsDO.getId());
|
|
|
byte[] pdf1 = getRecordOutputStreamMerge(taskOrderItemReportDO.getOrderItemId());
|
|
byte[] pdf1 = getRecordOutputStreamMerge(taskOrderItemReportDO.getOrderItemId());
|
|
|
// 报告
|
|
// 报告
|
|
|
- byte[] pdf2 = getReportOutputStreamMerge(taskOrderItemReportDO.getOrderItemId());
|
|
|
|
|
|
|
+ byte[] pdf2 = getReportOutputStreamMerge(taskOrderItemReportDO.getOrderItemId(),false);
|
|
|
ExternalOAUploadAttachmentRes externalOAUploadAttachmentRes1 = externalOAService.externalOAUploadAttachment(new ByteArrayInputStream(pdf1), "检验记录_" + boilerTaskOrderDO.getOrderNo() + ".pdf");
|
|
ExternalOAUploadAttachmentRes externalOAUploadAttachmentRes1 = externalOAService.externalOAUploadAttachment(new ByteArrayInputStream(pdf1), "检验记录_" + boilerTaskOrderDO.getOrderNo() + ".pdf");
|
|
|
ExternalOAUploadAttachmentRes externalOAUploadAttachmentRes2 = externalOAService.externalOAUploadAttachment(new ByteArrayInputStream(pdf2), "检验报告_" + boilerTaskOrderDO.getOrderNo() + ".pdf");
|
|
ExternalOAUploadAttachmentRes externalOAUploadAttachmentRes2 = externalOAService.externalOAUploadAttachment(new ByteArrayInputStream(pdf2), "检验报告_" + boilerTaskOrderDO.getOrderNo() + ".pdf");
|
|
|
List<ExternalOAUploadAttachmentRes.Attachment> atts1 = externalOAUploadAttachmentRes1.getAtts();
|
|
List<ExternalOAUploadAttachmentRes.Attachment> atts1 = externalOAUploadAttachmentRes1.getAtts();
|
|
@@ -4506,6 +4640,20 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
|
|
|
if (CollUtil.isNotEmpty(taskOrderMajorIssuesVO.getOrderItemIds())) {
|
|
if (CollUtil.isNotEmpty(taskOrderMajorIssuesVO.getOrderItemIds())) {
|
|
|
taskOrderReportDO.setOrderItemIdsStr(String.join(",", taskOrderMajorIssuesVO.getOrderItemIds()));
|
|
taskOrderReportDO.setOrderItemIdsStr(String.join(",", taskOrderMajorIssuesVO.getOrderItemIds()));
|
|
|
taskOrderReportDO.setOrderItemId(String.join(",", taskOrderMajorIssuesVO.getOrderItemIds()));
|
|
taskOrderReportDO.setOrderItemId(String.join(",", taskOrderMajorIssuesVO.getOrderItemIds()));
|
|
|
|
|
+
|
|
|
|
|
+ //检验方案读取记录下来的录入日期
|
|
|
|
|
+ List<BoilerTaskOrderItemDO> taskOrderItemDOS = boilerTaskOrderItemMapper.selectList(new LambdaQueryWrapperX<BoilerTaskOrderItemDO>().
|
|
|
|
|
+ in(BoilerTaskOrderItemDO::getId, taskOrderMajorIssuesVO.getOrderItemIds()));
|
|
|
|
|
+ if (!taskOrderItemDOS.isEmpty()){
|
|
|
|
|
+ BoilerTaskOrderItemDO firstSchemeItem = taskOrderItemDOS.stream()
|
|
|
|
|
+ .filter(item -> item.getSchemeEnterTime() != null)
|
|
|
|
|
+ .findFirst()
|
|
|
|
|
+ .orElse(null);
|
|
|
|
|
+ if (firstSchemeItem != null){
|
|
|
|
|
+ taskOrderReportDO.setPrepareTime(firstSchemeItem.getSchemeEnterTime());
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
}
|
|
}
|
|
|
if (StringUtils.isNotEmpty(taskOrderMajorIssuesVO.getReportName())) {
|
|
if (StringUtils.isNotEmpty(taskOrderMajorIssuesVO.getReportName())) {
|
|
|
taskOrderReportDO.setReportName(taskOrderMajorIssuesVO.getReportName());
|
|
taskOrderReportDO.setReportName(taskOrderMajorIssuesVO.getReportName());
|
|
@@ -4520,7 +4668,6 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
|
|
|
ruleVO.setRefName(addReport.getReportName());
|
|
ruleVO.setRefName(addReport.getReportName());
|
|
|
ruleVO.setReportType(1);
|
|
ruleVO.setReportType(1);
|
|
|
com.alibaba.fastjson2.JSONObject params = new com.alibaba.fastjson2.JSONObject();
|
|
com.alibaba.fastjson2.JSONObject params = new com.alibaba.fastjson2.JSONObject();
|
|
|
- params.put("checkUserId",getLoginUserId());
|
|
|
|
|
params.put("equipMainType","boiler");
|
|
params.put("equipMainType","boiler");
|
|
|
ruleVO.setParams(params);
|
|
ruleVO.setParams(params);
|
|
|
//获取tbCode的服务方法名
|
|
//获取tbCode的服务方法名
|
|
@@ -4599,6 +4746,154 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public String addReportFromExisting(BoilerOrderItemAddFromExistingVO addFromExistingVO) {
|
|
|
|
|
+ // 获取序号
|
|
|
|
|
+ Long count = taskOrderItemReportMapper.selectCount(
|
|
|
|
|
+ BoilerTaskOrderItemReportDO::getOrderId, addFromExistingVO.getOrderId());
|
|
|
|
|
+ if (count == null) {
|
|
|
|
|
+ count = 0L;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ BoilerTaskOrderItemReportDO addReport = new BoilerTaskOrderItemReportDO();
|
|
|
|
|
+ addReport.setOrderId(addFromExistingVO.getOrderId());
|
|
|
|
|
+ addReport.setOrderItemId(addFromExistingVO.getOrderItemId());
|
|
|
|
|
+ addReport.setReportType(TaskOrderItemReportTypeEnum.WORK_INSTRUCTION.getType());
|
|
|
|
|
+ addReport.setTaskStatus(TaskOrderStatusEnum.CONFIRM.getStatus());
|
|
|
|
|
+ addReport.setStatus(0);
|
|
|
|
|
+ addReport.setSort(count.intValue() + 1);
|
|
|
|
|
+ addReport.setItemPartId(addFromExistingVO.getItemPartId());
|
|
|
|
|
+ addReport.setRemark(addFromExistingVO.getRemark());
|
|
|
|
|
+ addReport.setSubmitTime(LocalDateTime.now());
|
|
|
|
|
+ addReport.setPrepareTime(LocalDateTime.now());
|
|
|
|
|
+ addReport.setCreateTime(LocalDateTime.now());
|
|
|
|
|
+
|
|
|
|
|
+ BoilerTaskOrderItemReportDO sourceReport = null;
|
|
|
|
|
+ if ("1".equals(addFromExistingVO.getAddType())) {
|
|
|
|
|
+ // 引用上次模板:从源指导书复制
|
|
|
|
|
+ sourceReport = taskOrderItemReportMapper.selectById(addFromExistingVO.getInstructionId());
|
|
|
|
|
+ if (sourceReport == null) {
|
|
|
|
|
+ throw new ServiceException(GlobalErrorCodeConstants.FIND_NOT_DATA.getCode(), "源指导书不存在");
|
|
|
|
|
+ }
|
|
|
|
|
+ addReport.setTemplateId(sourceReport.getTemplateId());
|
|
|
|
|
+ addReport.setReportName(sourceReport.getReportName());
|
|
|
|
|
+ addReport.setPrepareJson(sourceReport.getPrepareJson());
|
|
|
|
|
+ addReport.setInstructionId(sourceReport.getId());
|
|
|
|
|
+ addReport.setPrepareId(sourceReport.getPrepareId());
|
|
|
|
|
+ addReport.setPrepareName(sourceReport.getPrepareName());
|
|
|
|
|
+ addReport.setReportUrl(sourceReport.getReportUrl());
|
|
|
|
|
+ } else {
|
|
|
|
|
+ // 模板生成:从模板创建
|
|
|
|
|
+ DynamicTbDO dynamicTbDO = dynamicTbMapper.selectById(addFromExistingVO.getTemplateId());
|
|
|
|
|
+ if (dynamicTbDO == null) {
|
|
|
|
|
+ throw new ServiceException(GlobalErrorCodeConstants.FIND_NOT_DATA.getCode(), "模板不存在");
|
|
|
|
|
+ }
|
|
|
|
|
+ addReport.setTemplateId(dynamicTbDO.getId());
|
|
|
|
|
+ addReport.setReportName(dynamicTbDO.getTbName());
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ taskOrderItemReportMapper.insert(addReport);
|
|
|
|
|
+
|
|
|
|
|
+ // 添加提交人
|
|
|
|
|
+ BoilerTaskOrderItemReportUserDO userDO = new BoilerTaskOrderItemReportUserDO();
|
|
|
|
|
+ userDO.setUserId(getLoginUserId());
|
|
|
|
|
+ userDO.setReportId(addReport.getId());
|
|
|
|
|
+ taskOrderItemReportUserMapper.insert(userDO);
|
|
|
|
|
+
|
|
|
|
|
+ if ("1".equals(addFromExistingVO.getAddType())) {
|
|
|
|
|
+ // 引用上次模板:复制源报告的 DynamicTbInsDO + DynamicTbValDO
|
|
|
|
|
+ copyReportInstance(sourceReport.getId(), addReport.getId(), sourceReport.getTemplateId());
|
|
|
|
|
+ } else {
|
|
|
|
|
+ // 模板生成:创建空模板实例
|
|
|
|
|
+ BoilerTaskOrderSyncReportVO syncReportVO = new BoilerTaskOrderSyncReportVO();
|
|
|
|
|
+ syncReportVO.setRefId(addReport.getId());
|
|
|
|
|
+ syncReportVO.setReportType("record");
|
|
|
|
|
+ syncReportData(syncReportVO);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ return addReport.getId();
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 复制报告的模板实例数据(DynamicTbInsDO + DynamicTbValDO)
|
|
|
|
|
+ */
|
|
|
|
|
+ private void copyReportInstance(String sourceReportId, String targetReportId, String templateId) {
|
|
|
|
|
+ // 查询源报告的模板实例
|
|
|
|
|
+ DynamicTbInsDO sourceIns = dynamicTbInsMapper.selectOne(
|
|
|
|
|
+ new LambdaQueryWrapper<DynamicTbInsDO>()
|
|
|
|
|
+ .eq(DynamicTbInsDO::getRefId, sourceReportId)
|
|
|
|
|
+ .eq(DynamicTbInsDO::getTbId, templateId)
|
|
|
|
|
+ );
|
|
|
|
|
+ if (sourceIns == null) {
|
|
|
|
|
+ // 源报告没有模板实例,走创建空实例
|
|
|
|
|
+ BoilerTaskOrderSyncReportVO syncReportVO = new BoilerTaskOrderSyncReportVO();
|
|
|
|
|
+ syncReportVO.setRefId(targetReportId);
|
|
|
|
|
+ syncReportVO.setReportType("record");
|
|
|
|
|
+ syncReportData(syncReportVO);
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 创建新实例
|
|
|
|
|
+ DynamicTbInsDO newIns = new DynamicTbInsDO();
|
|
|
|
|
+ newIns.setTbId(sourceIns.getTbId());
|
|
|
|
|
+ newIns.setRefId(targetReportId);
|
|
|
|
|
+ newIns.setRefName(sourceIns.getRefName());
|
|
|
|
|
+ newIns.setNote(sourceIns.getNote());
|
|
|
|
|
+ newIns.setCreateorName(sourceIns.getCreateorName());
|
|
|
|
|
+ dynamicTbInsMapper.insert(newIns);
|
|
|
|
|
+
|
|
|
|
|
+ // 复制实例值
|
|
|
|
|
+ List<DynamicTbValDO> sourceVals = dynamicTbValMapper.selectList(
|
|
|
|
|
+ new LambdaQueryWrapper<DynamicTbValDO>()
|
|
|
|
|
+ .eq(DynamicTbValDO::getInsId, sourceIns.getId())
|
|
|
|
|
+ );
|
|
|
|
|
+ if (CollUtil.isNotEmpty(sourceVals)) {
|
|
|
|
|
+ for (DynamicTbValDO val : sourceVals) {
|
|
|
|
|
+ DynamicTbValDO newVal = new DynamicTbValDO();
|
|
|
|
|
+ newVal.setInsId(newIns.getId());
|
|
|
|
|
+ newVal.setColCode(val.getColCode());
|
|
|
|
|
+ newVal.setValValue(val.getValValue());
|
|
|
|
|
+ newVal.setNote(val.getNote());
|
|
|
|
|
+ newVal.setCreateorName(val.getCreateorName());
|
|
|
|
|
+ dynamicTbValMapper.insert(newVal);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public List<BoilerTaskOrderItemReportRespVO> getHistoryInstructionsByEquipId(String equipId, String currentOrderItemId) {
|
|
|
|
|
+ // 查该设备的所有任务单项,按创建时间倒序(最近的在前面)
|
|
|
|
|
+ List<BoilerTaskOrderItemDO> orderItems = boilerTaskOrderItemMapper.selectList(
|
|
|
|
|
+ new LambdaQueryWrapperX<BoilerTaskOrderItemDO>()
|
|
|
|
|
+ .eq(BoilerTaskOrderItemDO::getEquipId, equipId)
|
|
|
|
|
+ .orderByDesc(BoilerTaskOrderItemDO::getCreateTime)
|
|
|
|
|
+ );
|
|
|
|
|
+ if (CollUtil.isEmpty(orderItems)) {
|
|
|
|
|
+ return List.of();
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 跳过当前任务单项,取上一次的任务单
|
|
|
|
|
+ BoilerTaskOrderItemDO previousItem = null;
|
|
|
|
|
+ for (BoilerTaskOrderItemDO item : orderItems) {
|
|
|
|
|
+ if (!item.getId().equals(currentOrderItemId)) {
|
|
|
|
|
+ previousItem = item;
|
|
|
|
|
+ break;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ if (previousItem == null) {
|
|
|
|
|
+ return List.of();
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 查询上次任务单下的作业指导书(reportType=700)
|
|
|
|
|
+ List<BoilerTaskOrderItemReportDO> reports = taskOrderItemReportMapper.selectList(
|
|
|
|
|
+ new LambdaQueryWrapperX<BoilerTaskOrderItemReportDO>()
|
|
|
|
|
+ .eq(BoilerTaskOrderItemReportDO::getOrderItemId, previousItem.getId())
|
|
|
|
|
+ .eq(BoilerTaskOrderItemReportDO::getReportType, TaskOrderItemReportTypeEnum.WORK_INSTRUCTION.getType())
|
|
|
|
|
+ );
|
|
|
|
|
+
|
|
|
|
|
+ return BeanUtils.toBean(reports, BoilerTaskOrderItemReportRespVO.class);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
@Override
|
|
@Override
|
|
|
public Boolean opinionNotice(MajorIssuesSubmitVO majorIssuesSubmitVO) {
|
|
public Boolean opinionNotice(MajorIssuesSubmitVO majorIssuesSubmitVO) {
|
|
|
|
|
|
|
@@ -6070,7 +6365,7 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
- public byte[] getReportOutputStreamMerge(String orderItemId) {
|
|
|
|
|
|
|
+ public byte[] getReportOutputStreamMerge(String orderItemId,boolean isCover) {
|
|
|
|
|
|
|
|
// List<BoilerTaskOrderItemReportDO> taskOrderReportDOS = taskOrderItemReportMapper.selectList(new LambdaQueryWrapperX<BoilerTaskOrderItemReportDO>().
|
|
// List<BoilerTaskOrderItemReportDO> taskOrderReportDOS = taskOrderItemReportMapper.selectList(new LambdaQueryWrapperX<BoilerTaskOrderItemReportDO>().
|
|
|
// eq(BoilerTaskOrderItemReportDO::getOrderItemId, orderItemId).
|
|
// eq(BoilerTaskOrderItemReportDO::getOrderItemId, orderItemId).
|
|
@@ -6079,7 +6374,7 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
|
|
|
// .orderByAsc(BoilerTaskOrderItemReportDO::getSort));
|
|
// .orderByAsc(BoilerTaskOrderItemReportDO::getSort));
|
|
|
|
|
|
|
|
BoilerTaskOrderItemDO taskOrderItemDO = boilerTaskOrderItemMapper.selectById(orderItemId);
|
|
BoilerTaskOrderItemDO taskOrderItemDO = boilerTaskOrderItemMapper.selectById(orderItemId);
|
|
|
- if (taskOrderItemDO.getIssueUrl() != null && !taskOrderItemDO.getIssueUrl().isEmpty()){
|
|
|
|
|
|
|
+ if (taskOrderItemDO.getIssueUrl() != null && !taskOrderItemDO.getIssueUrl().isEmpty() && !isCover){
|
|
|
try {
|
|
try {
|
|
|
|
|
|
|
|
log.info("---获取已生成报告PDF---");
|
|
log.info("---获取已生成报告PDF---");
|