|
|
|
@ -1208,14 +1208,19 @@ public class ChangeManagementServiceImpl extends ServiceImpl<ChangeManagementMap |
|
|
|
changeManagementMapper.updateChangeStatus2(paramData); |
|
|
|
|
|
|
|
// 删除异构系统指定人员待办流程 |
|
|
|
DeleteUserRequestInfoParam deleteUserRequestInfoParam = new DeleteUserRequestInfoParam(); |
|
|
|
deleteUserRequestInfoParam.setRequestId(paramData.getWorkflowId() + paramData.getRequestId()); |
|
|
|
deleteUserRequestInfoParam.setSyscode("PLM"); |
|
|
|
List<OaUserData> oaUserList = changeManagementMapper.getOaUserIdByIsRemark(paramData.getSite(), paramData.getDocNo(), "0"); |
|
|
|
for (OaUserData oaUser : oaUserList) { |
|
|
|
deleteUserRequestInfoParam.setUserId(oaUser.getId()); |
|
|
|
String deleteUserRequestInfoURL = apiUrlOa + "/oa/interface/deleteUserRequestInfo"; |
|
|
|
ResponseData deleteUserRequestInfoResponses = HttpClientUtil.doPostByRawWithOA(deleteUserRequestInfoURL, deleteUserRequestInfoParam); |
|
|
|
deleteUserRequestInfoWithLog( |
|
|
|
paramData.getSite(), |
|
|
|
paramData.getDocNo(), |
|
|
|
type, |
|
|
|
paramData.getWorkflowId(), |
|
|
|
paramData.getRequestId(), |
|
|
|
oaUser.getId(), |
|
|
|
"issueFunction", |
|
|
|
"archive", |
|
|
|
paramData.getUserName() |
|
|
|
); |
|
|
|
} |
|
|
|
// 直接归档,不再继续后续流程 |
|
|
|
return; |
|
|
|
@ -1503,8 +1508,6 @@ public class ChangeManagementServiceImpl extends ServiceImpl<ChangeManagementMap |
|
|
|
*/ |
|
|
|
@Transactional |
|
|
|
public void agreeFunction (ParamData paramData, String type) { |
|
|
|
String deleteUserRequestInfoURL = apiUrlOa + "/oa/interface/deleteUserRequestInfo"; |
|
|
|
|
|
|
|
// 获取流程流转信息 |
|
|
|
RequestOperatorInfoParam requestOperatorInfoParam = new RequestOperatorInfoParam(); |
|
|
|
requestOperatorInfoParam.setUserId(paramData.getUserId()); |
|
|
|
@ -1548,9 +1551,6 @@ public class ChangeManagementServiceImpl extends ServiceImpl<ChangeManagementMap |
|
|
|
List<ProcessFormVo> pfs = changeManagementMapper.getProcessFormByIsRemark(paramData.getSite(), paramData.getBu(), paramData.getDocNo(), "0"); |
|
|
|
|
|
|
|
// 2025-05-12 使用 process_form 根据 site documentNo isRemark = 0 来获取人员 可能有多个 循环调用 |
|
|
|
DeleteUserRequestInfoParam deleteUserRequestInfoParam = new DeleteUserRequestInfoParam(); |
|
|
|
deleteUserRequestInfoParam.setRequestId(paramData.getWorkflowId() + paramData.getRequestId()); |
|
|
|
deleteUserRequestInfoParam.setSyscode("PLM"); |
|
|
|
List<OaUserData> oaUserList = changeManagementMapper.getOaUserIdByIsRemark(paramData.getSite(), paramData.getDocNo(), "0"); |
|
|
|
|
|
|
|
// 将记录表中 isRemark 为0的修改为1 |
|
|
|
@ -1613,8 +1613,17 @@ public class ChangeManagementServiceImpl extends ServiceImpl<ChangeManagementMap |
|
|
|
|
|
|
|
// 2025-05-13 删除异构系统指定人员待办流程异常信息 |
|
|
|
for (OaUserData oaUser : oaUserList) { |
|
|
|
deleteUserRequestInfoParam.setUserId(oaUser.getId()); |
|
|
|
HttpClientUtil.doPostByRawWithOA(deleteUserRequestInfoURL, deleteUserRequestInfoParam); |
|
|
|
deleteUserRequestInfoWithLog( |
|
|
|
paramData.getSite(), |
|
|
|
paramData.getDocNo(), |
|
|
|
type, |
|
|
|
paramData.getWorkflowId(), |
|
|
|
paramData.getRequestId(), |
|
|
|
oaUser.getId(), |
|
|
|
"agreeFunction", |
|
|
|
"finish", |
|
|
|
paramData.getUserName() |
|
|
|
); |
|
|
|
} |
|
|
|
|
|
|
|
// 如果是ECN则执行升版操作且节点勾选了特殊管控 -- 2025-10-28 特殊权限改到存储过程判断 -- 2025-12-05 存储过程改为修改stepId以后再升版 -- 2026-02-26 最后一个节点删除代办后判断执行 |
|
|
|
@ -1623,8 +1632,6 @@ public class ChangeManagementServiceImpl extends ServiceImpl<ChangeManagementMap |
|
|
|
changeRequestEntity.setSite(paramData.getSite()); |
|
|
|
changeRequestEntity.setChangeNo(paramData.getDocNo()); |
|
|
|
List<ChangeRequestDetailEntity> codelist = changeManagementMapper.requestDetailSearch(changeRequestEntity); |
|
|
|
DeleteUserRequestInfoParam deleteUserRequestInfoParam2 = new DeleteUserRequestInfoParam(); |
|
|
|
deleteUserRequestInfoParam2.setSyscode("PLM"); |
|
|
|
for (ChangeRequestDetailEntity detail : codelist) { |
|
|
|
List<Object> params = new ArrayList<>(); |
|
|
|
List<Map<String, Object>> resultList; |
|
|
|
@ -1676,9 +1683,17 @@ public class ChangeManagementServiceImpl extends ServiceImpl<ChangeManagementMap |
|
|
|
String[] oaUsers = oaUserStr.split(";"); |
|
|
|
for (String oaUser : oaUsers) { |
|
|
|
if (oaUser != null && !oaUser.trim().isEmpty()) { |
|
|
|
deleteUserRequestInfoParam2.setRequestId(workflowId); |
|
|
|
deleteUserRequestInfoParam2.setUserId(oaUser); |
|
|
|
HttpClientUtil.doPostByRawWithOA(deleteUserRequestInfoURL, deleteUserRequestInfoParam2); |
|
|
|
deleteUserRequestInfoWithLog( |
|
|
|
paramData.getSite(), |
|
|
|
paramData.getDocNo(), |
|
|
|
type, |
|
|
|
workflowId, |
|
|
|
"", |
|
|
|
oaUser, |
|
|
|
"agreeFunction", |
|
|
|
"finish-ecn-procedure", |
|
|
|
paramData.getUserName() |
|
|
|
); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
@ -1701,8 +1716,17 @@ public class ChangeManagementServiceImpl extends ServiceImpl<ChangeManagementMap |
|
|
|
if (isRemarks.get(0).get("nodeid").toString().equals(newNodeId) && !pfs.isEmpty()) { |
|
|
|
// 2025-05-09 发送统一待办前先调用[删除异构系统指定人员待办流程]接口 |
|
|
|
for (OaUserData oaUser : oaUserList) { |
|
|
|
deleteUserRequestInfoParam.setUserId(oaUser.getId()); |
|
|
|
HttpClientUtil.doPostByRawWithOA(deleteUserRequestInfoURL, deleteUserRequestInfoParam); |
|
|
|
deleteUserRequestInfoWithLog( |
|
|
|
paramData.getSite(), |
|
|
|
paramData.getDocNo(), |
|
|
|
type, |
|
|
|
paramData.getWorkflowId(), |
|
|
|
paramData.getRequestId(), |
|
|
|
oaUser.getId(), |
|
|
|
"agreeFunction", |
|
|
|
"before-resend", |
|
|
|
paramData.getUserName() |
|
|
|
); |
|
|
|
} |
|
|
|
|
|
|
|
// 发送代办 |
|
|
|
@ -1807,8 +1831,17 @@ public class ChangeManagementServiceImpl extends ServiceImpl<ChangeManagementMap |
|
|
|
|
|
|
|
// 2025-05-09 发送统一待办前先调用[删除异构系统指定人员待办流程]接口 |
|
|
|
for (OaUserData oaUser : oaUserList) { |
|
|
|
deleteUserRequestInfoParam.setUserId(oaUser.getId()); |
|
|
|
HttpClientUtil.doPostByRawWithOA(deleteUserRequestInfoURL, deleteUserRequestInfoParam); |
|
|
|
deleteUserRequestInfoWithLog( |
|
|
|
paramData.getSite(), |
|
|
|
paramData.getDocNo(), |
|
|
|
type, |
|
|
|
paramData.getWorkflowId(), |
|
|
|
paramData.getRequestId(), |
|
|
|
oaUser.getId(), |
|
|
|
"agreeFunction", |
|
|
|
"before-send", |
|
|
|
paramData.getUserName() |
|
|
|
); |
|
|
|
} |
|
|
|
|
|
|
|
// 如果是ECN则执行升版操作且节点勾选了特殊管控 -- 2025-10-28 特殊权限改到存储过程判断 -- 2025-12-05 存储过程改为修改stepId以后再升版 -- 2026-02-26 存储过程改为升版操作放到统一代办接口前执行 |
|
|
|
@ -1817,8 +1850,6 @@ public class ChangeManagementServiceImpl extends ServiceImpl<ChangeManagementMap |
|
|
|
changeRequestEntity.setSite(paramData.getSite()); |
|
|
|
changeRequestEntity.setChangeNo(paramData.getDocNo()); |
|
|
|
List<ChangeRequestDetailEntity> codelist = changeManagementMapper.requestDetailSearch(changeRequestEntity); |
|
|
|
DeleteUserRequestInfoParam deleteUserRequestInfoParam2 = new DeleteUserRequestInfoParam(); |
|
|
|
deleteUserRequestInfoParam2.setSyscode("PLM"); |
|
|
|
for (ChangeRequestDetailEntity detail : codelist) { |
|
|
|
List<Object> params = new ArrayList<>(); |
|
|
|
List<Map<String, Object>> resultList; |
|
|
|
@ -1869,9 +1900,17 @@ public class ChangeManagementServiceImpl extends ServiceImpl<ChangeManagementMap |
|
|
|
String[] oaUsers = oaUserStr.split(";"); |
|
|
|
for (String oaUser : oaUsers) { |
|
|
|
if (oaUser != null && !oaUser.trim().isEmpty()) { |
|
|
|
deleteUserRequestInfoParam2.setRequestId(workflowId); |
|
|
|
deleteUserRequestInfoParam2.setUserId(oaUser); |
|
|
|
HttpClientUtil.doPostByRawWithOA(deleteUserRequestInfoURL, deleteUserRequestInfoParam2); |
|
|
|
deleteUserRequestInfoWithLog( |
|
|
|
paramData.getSite(), |
|
|
|
paramData.getDocNo(), |
|
|
|
type, |
|
|
|
workflowId, |
|
|
|
"", |
|
|
|
oaUser, |
|
|
|
"agreeFunction", |
|
|
|
"before-send-ecn-procedure", |
|
|
|
paramData.getUserName() |
|
|
|
); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
@ -1953,9 +1992,6 @@ public class ChangeManagementServiceImpl extends ServiceImpl<ChangeManagementMap |
|
|
|
changeManagementMapper.updateProcessNodeForReject(paramData.getSite(), paramData.getBu() == null ? "" : paramData.getBu(), paramData.getRequestId(), paramData.getClassificationNo(), paramData.getNodeId(), paramData.getNodeConclusion(), paramData.getRejectOpinion()); |
|
|
|
|
|
|
|
// 2025-05-09 发送统一待办前先调用[删除异构系统指定人员待办流程]接口 |
|
|
|
DeleteUserRequestInfoParam deleteUserRequestInfoParam = new DeleteUserRequestInfoParam(); |
|
|
|
deleteUserRequestInfoParam.setRequestId(paramData.getWorkflowId() + paramData.getRequestId()); |
|
|
|
deleteUserRequestInfoParam.setSyscode("PLM"); |
|
|
|
List<OaUserData> oaUserList = changeManagementMapper.getOaUserIdByIsRemark(paramData.getSite(), paramData.getDocNo(), "0"); |
|
|
|
|
|
|
|
// 将记录表中 isRemark 为0的修改为1 |
|
|
|
@ -1978,12 +2014,17 @@ public class ChangeManagementServiceImpl extends ServiceImpl<ChangeManagementMap |
|
|
|
changeManagementMapper.updateChangeStatus2(paramData); |
|
|
|
// 2025-05-13 删除异构系统指定人员待办流程异常信息 |
|
|
|
for (OaUserData oaUser : oaUserList) { |
|
|
|
deleteUserRequestInfoParam.setUserId(oaUser.getId()); |
|
|
|
String deleteUserRequestInfoURL = apiUrlOa + "/oa/interface/deleteUserRequestInfo"; |
|
|
|
ResponseData deleteUserRequestInfoResponses = HttpClientUtil.doPostByRawWithOA(deleteUserRequestInfoURL, deleteUserRequestInfoParam); |
|
|
|
// if (!"0".equals(deleteUserRequestInfoResponses.getCode())) { |
|
|
|
// throw new RuntimeException("删除异构系统指定人员待办流程异常信息:" + deleteUserRequestInfoResponses.getMsg()); |
|
|
|
// } |
|
|
|
deleteUserRequestInfoWithLog( |
|
|
|
paramData.getSite(), |
|
|
|
paramData.getDocNo(), |
|
|
|
type, |
|
|
|
paramData.getWorkflowId(), |
|
|
|
paramData.getRequestId(), |
|
|
|
oaUser.getId(), |
|
|
|
"rejectFunction", |
|
|
|
"finish", |
|
|
|
paramData.getUserName() |
|
|
|
); |
|
|
|
} |
|
|
|
} else { // 未结束 |
|
|
|
// 存放isRemark为0的域控账号 |
|
|
|
@ -2035,12 +2076,17 @@ public class ChangeManagementServiceImpl extends ServiceImpl<ChangeManagementMap |
|
|
|
String requestName = changeManagementMapper.getRequestNameByFunction(paramData.getSite(), paramData.getClassificationNo(), paramData.getWorkflowId(), paramData.getWorkflowName(), paramData.getNodeId(), paramData.getNodeName(), paramData.getDocNo(), "N", paramData.getUserName(), DateUtils.getStringNow(), paramData.getRejectOpinion(), paramData.getMenuName(), "提交"); |
|
|
|
|
|
|
|
for (OaUserData oaUser : oaUserList) { |
|
|
|
deleteUserRequestInfoParam.setUserId(oaUser.getId()); |
|
|
|
String deleteUserRequestInfoURL = apiUrlOa + "/oa/interface/deleteUserRequestInfo"; |
|
|
|
ResponseData deleteUserRequestInfoResponses = HttpClientUtil.doPostByRawWithOA(deleteUserRequestInfoURL, deleteUserRequestInfoParam); |
|
|
|
// if (!"0".equals(deleteUserRequestInfoResponses.getCode())) { |
|
|
|
// throw new RuntimeException("删除异构系统指定人员待办流程异常信息:" + deleteUserRequestInfoResponses.getMsg()); |
|
|
|
// } |
|
|
|
deleteUserRequestInfoWithLog( |
|
|
|
paramData.getSite(), |
|
|
|
paramData.getDocNo(), |
|
|
|
type, |
|
|
|
paramData.getWorkflowId(), |
|
|
|
paramData.getRequestId(), |
|
|
|
oaUser.getId(), |
|
|
|
"rejectFunction", |
|
|
|
"before-send", |
|
|
|
paramData.getUserName() |
|
|
|
); |
|
|
|
} |
|
|
|
|
|
|
|
// 9、统一待办接口 |
|
|
|
@ -2553,12 +2599,17 @@ public class ChangeManagementServiceImpl extends ServiceImpl<ChangeManagementMap |
|
|
|
|
|
|
|
// 调用OA删除统一待办 |
|
|
|
for (ProcessFormCloseVo pf : processFormList) { |
|
|
|
DeleteUserRequestInfoParam deleteParam = new DeleteUserRequestInfoParam(); |
|
|
|
deleteParam.setRequestId(pf.getWorkflowId() + pf.getRequestId()); |
|
|
|
deleteParam.setSyscode("PLM"); |
|
|
|
deleteParam.setUserId(pf.getUserId()); |
|
|
|
String deleteUrl = apiUrlOa + "/oa/interface/deleteUserRequestInfo"; |
|
|
|
HttpClientUtil.doPostByRawWithOA(deleteUrl, deleteParam); |
|
|
|
deleteUserRequestInfoWithLog( |
|
|
|
vo.getSite(), |
|
|
|
docNo, |
|
|
|
vo.getDocumentType(), |
|
|
|
pf.getWorkflowId(), |
|
|
|
pf.getRequestId(), |
|
|
|
pf.getUserId(), |
|
|
|
"closeProcess", |
|
|
|
"manual-close", |
|
|
|
vo.getUserName() |
|
|
|
); |
|
|
|
} |
|
|
|
|
|
|
|
// 更新plm_process_form的close_flag为Y |
|
|
|
@ -2568,4 +2619,62 @@ public class ChangeManagementServiceImpl extends ServiceImpl<ChangeManagementMap |
|
|
|
changeManagementMapper.updateDocumentStatusToDraft(tableName, keyField, statusField, draftStatus, vo.getSite(), docNo, vo.getUserName(), statusCodeField, statusCodeValue); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 删除OA待办并记录接口调用日志(无论成功失败都不影响主流程) |
|
|
|
*/ |
|
|
|
public ResponseData deleteUserRequestInfoWithLog(String site, String documentNo, String documentType, |
|
|
|
String workflowId, String requestId, String oaUserId, |
|
|
|
String callMethod, String callScene, String operator) { |
|
|
|
String deleteUrl = apiUrlOa + "/oa/interface/deleteUserRequestInfo"; |
|
|
|
DeleteUserRequestInfoParam deleteParam = new DeleteUserRequestInfoParam(); |
|
|
|
deleteParam.setRequestId(StringUtils.defaultString(workflowId) + StringUtils.defaultString(requestId)); |
|
|
|
deleteParam.setSyscode("PLM"); |
|
|
|
deleteParam.setUserId(oaUserId); |
|
|
|
|
|
|
|
ResponseData responseData = null; |
|
|
|
String errorMsg = null; |
|
|
|
try { |
|
|
|
responseData = HttpClientUtil.doPostByRawWithOA(deleteUrl, deleteParam); |
|
|
|
} catch (Exception e) { |
|
|
|
errorMsg = e.getMessage(); |
|
|
|
logger.error("调用OA删除待办接口异常, site={}, documentNo={}, flowId={}, oaUserId={}", |
|
|
|
site, documentNo, deleteParam.getRequestId(), oaUserId, e); |
|
|
|
} finally { |
|
|
|
saveDeleteUserRequestInfoLog(site, documentNo, documentType, workflowId, requestId, deleteParam, deleteUrl, |
|
|
|
responseData, errorMsg, callMethod, callScene, operator); |
|
|
|
} |
|
|
|
return responseData; |
|
|
|
} |
|
|
|
|
|
|
|
private void saveDeleteUserRequestInfoLog(String site, String documentNo, String documentType, String workflowId, |
|
|
|
String requestId, DeleteUserRequestInfoParam deleteParam, String deleteUrl, |
|
|
|
ResponseData responseData, String errorMsg, String callMethod, |
|
|
|
String callScene, String operator) { |
|
|
|
try { |
|
|
|
OaDeleteUserRequestInfoLogEntity logEntity = new OaDeleteUserRequestInfoLogEntity(); |
|
|
|
logEntity.setSite(site); |
|
|
|
logEntity.setDocumentNo(documentNo); |
|
|
|
logEntity.setDocumentType(documentType); |
|
|
|
logEntity.setWorkflowId(workflowId); |
|
|
|
logEntity.setRequestId(requestId); |
|
|
|
logEntity.setFlowId(deleteParam.getRequestId()); |
|
|
|
logEntity.setOaUserId(deleteParam.getUserId()); |
|
|
|
logEntity.setSyscode(deleteParam.getSyscode()); |
|
|
|
logEntity.setInterfaceUrl(deleteUrl); |
|
|
|
logEntity.setCallMethod(callMethod); |
|
|
|
logEntity.setCallScene(callScene); |
|
|
|
logEntity.setRequestJson(JSON.toJSONString(deleteParam)); |
|
|
|
logEntity.setResponseJson(responseData == null ? null : JSON.toJSONString(responseData)); |
|
|
|
logEntity.setResponseCode(responseData == null ? null : responseData.getCode()); |
|
|
|
logEntity.setResponseMsg(responseData == null ? null : responseData.getMsg()); |
|
|
|
logEntity.setSuccessFlag(errorMsg == null && responseData != null && "0".equals(responseData.getCode()) ? "Y" : "N"); |
|
|
|
logEntity.setErrorMsg(errorMsg); |
|
|
|
logEntity.setCreateBy(operator); |
|
|
|
changeManagementMapper.saveDeleteUserRequestInfoLog(logEntity); |
|
|
|
} catch (Exception e) { |
|
|
|
logger.error("保存OA删除待办接口日志失败, site={}, documentNo={}, flowId={}, oaUserId={}", |
|
|
|
site, documentNo, deleteParam.getRequestId(), deleteParam.getUserId(), e); |
|
|
|
} |
|
|
|
} |
|
|
|
} |