|
|
@@ -4085,14 +4085,27 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
|
|
|
log.info("发起oa审核");
|
|
|
try {
|
|
|
ExternalOACreateFlowRes externalOAFlow = createExternalOAFlow(taskOrderItemReportDO,updateObj);
|
|
|
+
|
|
|
+ // 判断是否是重新发送(已有summaryId)
|
|
|
+ boolean isResend = taskOrderItemReportDO.getSummaryId() != null && !taskOrderItemReportDO.getSummaryId().isEmpty();
|
|
|
+
|
|
|
+ // 如果是重新发送,且返回code=0,即使data为null也认为成功
|
|
|
+ if (isResend && "0".equals(externalOAFlow.getCode())) {
|
|
|
+ log.info("OA流程重新发送成功,使用原有summaryId: {}", taskOrderItemReportDO.getSummaryId());
|
|
|
+ // 保持原有的summaryId不变,不需要更新
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 首次发送,需要获取新的summaryId
|
|
|
if (externalOAFlow.getData() == null){
|
|
|
- log.error(externalOAFlow.getMessage());
|
|
|
+ log.error("OA流程发起失败: {}", externalOAFlow.getMessage());
|
|
|
+ throw new ServiceException(500, "OA流程发起失败: " + externalOAFlow.getMessage());
|
|
|
}else {
|
|
|
updateObj.setSummaryId(externalOAFlow.getData().getSummaryId());
|
|
|
taskOrderItemReportMapper.updateById(updateObj);
|
|
|
}
|
|
|
} catch (Exception e) {
|
|
|
- log.error("发起oa审核异常,OA流程已发起但响应解析失败,不中断业务流程", e);
|
|
|
+// log.error("发起oa审核异常,OA流程已发起但响应解析失败,不中断业务流程", e);
|
|
|
throw new RuntimeException("发起oa审核异常", e);
|
|
|
}
|
|
|
}
|
|
|
@@ -4113,19 +4126,34 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
|
|
|
EquipBoilerDO equipBoilerDO = equipBoilerMapper.selectById(equipId);
|
|
|
ExternalOACreateFlowReq externalOACreateFlowReq = new ExternalOACreateFlowReq();
|
|
|
ExternalOACreateFlowBodyDataReq.FormMain formmain_0042 = new ExternalOACreateFlowBodyDataReq.FormMain();
|
|
|
+ ExternalOACreateFlowBodyDataReq.FormMain_1698 formMain_1698 = new ExternalOACreateFlowBodyDataReq.FormMain_1698();
|
|
|
formmain_0042.setContractno(boilerTaskOrderDO.getUnitName());
|
|
|
+ formMain_1698.setUnit(boilerTaskOrderDO.getUnitName());
|
|
|
+ String prepareId = taskOrderItemReportDO.getPrepareId();
|
|
|
+ if (prepareId != null) {
|
|
|
+ AdminUserRespDTO userRespDTO = adminUserApi.getUser(prepareId).getData();
|
|
|
+ if (userRespDTO != null) {
|
|
|
+ formMain_1698.setPrepare(userRespDTO.getEmployeeNo());
|
|
|
+ }
|
|
|
+ }
|
|
|
formmain_0042.setUnitname(taskOrderItemReportDO.getReportNo());
|
|
|
+ formMain_1698.setReportNo(taskOrderItemReportDO.getReportNo());
|
|
|
+ formMain_1698.setReportName(taskOrderItemReportDO.getReportName());
|
|
|
formmain_0042.setDeptName("锅炉");
|
|
|
+ formMain_1698.setEquipType("锅炉");
|
|
|
formmain_0042.setReportnum(taskOrderItemReportDO.getReportNo().substring(2, 4));
|
|
|
+ formMain_1698.setProjectNo(taskOrderItemReportDO.getReportNo().substring(2, 4));
|
|
|
// 设备类型是锅炉,设备小类非电站锅炉,且关联部门是电站锅炉检验部的就传1,否则传0
|
|
|
if (formmain_0042.getReportnum().equals("06")){
|
|
|
DeptRespDTO data = deptApi.getDept(equipBoilerDO.getRelatedDepartment()).getCheckedData();
|
|
|
formmain_0042.setProperty(!equipBoilerDO.getType().equals("1") && data.getName().equals("锅炉检验部") ? "1" : "0");
|
|
|
+ formMain_1698.setProperty(!equipBoilerDO.getType().equals("1") && data.getName().equals("锅炉检验部") ? "1" : "0");
|
|
|
}
|
|
|
// 独审报告
|
|
|
if (formmain_0042.getReportnum().equals("39")){
|
|
|
BoilerConnectRecordReportDO boilerConnectRecordReportDO = boilerConnectRecordReportMapper.selectById(taskOrderItemReportDO.getProjectId());
|
|
|
formmain_0042.setProperty(boilerConnectRecordReportDO.getApprovalCode());
|
|
|
+ formMain_1698.setProperty(boilerConnectRecordReportDO.getApprovalCode());
|
|
|
|
|
|
}
|
|
|
formmain_0042.setBeginDate(boilerTaskOrderDO.getRemark());
|
|
|
@@ -4154,6 +4182,7 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
|
|
|
String snowflakeNextIdStr = IdUtil.getSnowflakeNextIdStr();
|
|
|
externalOACreateFlowBodyAttReq.setSubReference(snowflakeNextIdStr);
|
|
|
formmain_0042.setTotalFee(snowflakeNextIdStr);
|
|
|
+ formMain_1698.setRecordFile(snowflakeNextIdStr);
|
|
|
|
|
|
thirdAttachments.add(externalOACreateFlowBodyAttReq);
|
|
|
}
|
|
|
@@ -4165,6 +4194,7 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
|
|
|
String snowflakeNextIdStr = IdUtil.getSnowflakeNextIdStr();
|
|
|
externalOACreateFlowBodyAttReq.setSubReference(snowflakeNextIdStr);
|
|
|
formmain_0042.setDiscount(snowflakeNextIdStr);
|
|
|
+ formMain_1698.setReportFile(snowflakeNextIdStr);
|
|
|
thirdAttachments.add(externalOACreateFlowBodyAttReq);
|
|
|
}
|
|
|
externalOACreateFlowReq.setData(externalOACreateFlowBodyDataReq);
|
|
|
@@ -4172,12 +4202,14 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
|
|
|
String auditor = updateObj.getAuditor();
|
|
|
AdminUserRespDTO checkedData = adminUserApi.getUserByEmployeeNo(auditor).getCheckedData();
|
|
|
formmain_0042.setApproval(checkedData.getEmployeeNo());
|
|
|
+ formMain_1698.setApproval(checkedData.getEmployeeNo());
|
|
|
String loginUserId = getLoginUserId();
|
|
|
String employeeNo = adminUserApi.getUser(loginUserId).getCheckedData().getEmployeeNo();
|
|
|
if (!enablProd){
|
|
|
employeeNo = "300801";
|
|
|
}
|
|
|
externalOACreateFlowBodyDataReq.setFormmain_0042(formmain_0042);
|
|
|
+ externalOACreateFlowBodyDataReq.setFormmain_1698(formMain_1698);
|
|
|
return externalOAService.createExternalOAFlow(externalOACreateFlowReq,employeeNo);
|
|
|
// return externalOAService.createExternalOAFlow(externalOACreateFlowReq,checkedData.getUsername());
|
|
|
}
|