|
|
@@ -1902,11 +1902,43 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
|
|
|
updateReport.setId(id);
|
|
|
updateReport.setApprovalId(userId);
|
|
|
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) {
|
|
|
updateReport.setApprovalName(userRespDTO.getNickname());
|
|
|
}
|
|
|
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);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
}
|
|
|
@@ -2114,13 +2146,35 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
|
|
|
bean.setRatifyTime(itemReportDO.getRatifyTime());
|
|
|
bean.setRatifyName(itemReportDO.getRatifyName());
|
|
|
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 null;
|
|
|
}).filter(Objects::nonNull).toList().forEach(item -> {
|
|
|
+
|
|
|
taskOrderItemReportMapper.insert(item);
|
|
|
dynamicTbInsService.copyInstantiate(reportDO.getId(), item.getId());
|
|
|
|
|
|
+ //更新 报表数据
|
|
|
+ BoilerTaskOrderSyncReportVO syncReportVO = new BoilerTaskOrderSyncReportVO();
|
|
|
+ syncReportVO.setRefId(item.getId());
|
|
|
+ syncReportVO.setReportType("record");
|
|
|
+ syncReportData(syncReportVO);
|
|
|
+
|
|
|
//添加提交人
|
|
|
BoilerTaskOrderItemReportUserDO userDO = new BoilerTaskOrderItemReportUserDO();
|
|
|
if (reportDO.getSubmitId() != null){
|
|
|
@@ -2140,9 +2194,79 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
|
|
|
itemReportDO.setTaskStatus(TaskOrderStatusEnum.ENTER.getStatus());
|
|
|
}
|
|
|
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;
|
|
|
}
|
|
|
|
|
|
+ @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
|
|
|
private PushTaskOrderService pushTaskOrderService;
|
|
|
|
|
|
@@ -4393,7 +4517,7 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
|
|
|
// byte[] pdf1 = pdfService.pdf(dynamicTbInsDO.getTbId(), dynamicTbInsDO.getId());
|
|
|
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 externalOAUploadAttachmentRes2 = externalOAService.externalOAUploadAttachment(new ByteArrayInputStream(pdf2), "检验报告_" + boilerTaskOrderDO.getOrderNo() + ".pdf");
|
|
|
List<ExternalOAUploadAttachmentRes.Attachment> atts1 = externalOAUploadAttachmentRes1.getAtts();
|
|
|
@@ -4516,6 +4640,20 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
|
|
|
if (CollUtil.isNotEmpty(taskOrderMajorIssuesVO.getOrderItemIds())) {
|
|
|
taskOrderReportDO.setOrderItemIdsStr(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())) {
|
|
|
taskOrderReportDO.setReportName(taskOrderMajorIssuesVO.getReportName());
|
|
|
@@ -4530,7 +4668,6 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
|
|
|
ruleVO.setRefName(addReport.getReportName());
|
|
|
ruleVO.setReportType(1);
|
|
|
com.alibaba.fastjson2.JSONObject params = new com.alibaba.fastjson2.JSONObject();
|
|
|
- params.put("checkUserId",getLoginUserId());
|
|
|
params.put("equipMainType","boiler");
|
|
|
ruleVO.setParams(params);
|
|
|
//获取tbCode的服务方法名
|
|
|
@@ -6228,7 +6365,7 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public byte[] getReportOutputStreamMerge(String orderItemId) {
|
|
|
+ public byte[] getReportOutputStreamMerge(String orderItemId,boolean isCover) {
|
|
|
|
|
|
// List<BoilerTaskOrderItemReportDO> taskOrderReportDOS = taskOrderItemReportMapper.selectList(new LambdaQueryWrapperX<BoilerTaskOrderItemReportDO>().
|
|
|
// eq(BoilerTaskOrderItemReportDO::getOrderItemId, orderItemId).
|
|
|
@@ -6237,7 +6374,7 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
|
|
|
// .orderByAsc(BoilerTaskOrderItemReportDO::getSort));
|
|
|
|
|
|
BoilerTaskOrderItemDO taskOrderItemDO = boilerTaskOrderItemMapper.selectById(orderItemId);
|
|
|
- if (taskOrderItemDO.getIssueUrl() != null && !taskOrderItemDO.getIssueUrl().isEmpty()){
|
|
|
+ if (taskOrderItemDO.getIssueUrl() != null && !taskOrderItemDO.getIssueUrl().isEmpty() && !isCover){
|
|
|
try {
|
|
|
|
|
|
log.info("---获取已生成报告PDF---");
|