|
@@ -267,10 +267,15 @@ public class PipeTaskOrderItemReportServiceImpl extends ServiceImpl<PipeTaskOrde
|
|
|
.map(comment -> {
|
|
.map(comment -> {
|
|
|
PipeTaskOrderItemReportRecordDO pipeTaskOrderItemReportRecordDO = new PipeTaskOrderItemReportRecordDO();
|
|
PipeTaskOrderItemReportRecordDO pipeTaskOrderItemReportRecordDO = new PipeTaskOrderItemReportRecordDO();
|
|
|
pipeTaskOrderItemReportRecordDO.setReportId(pipeTaskOrderItemReportDO.getId());
|
|
pipeTaskOrderItemReportRecordDO.setReportId(pipeTaskOrderItemReportDO.getId());
|
|
|
- pipeTaskOrderItemReportRecordDO.setProcess(600);
|
|
|
|
|
|
|
+ pipeTaskOrderItemReportRecordDO.setProcess(
|
|
|
|
|
+ "审批人".equals(comment.getNodeName()) ? 700 : 600);
|
|
|
pipeTaskOrderItemReportRecordDO.setRemark(comment.getComment());
|
|
pipeTaskOrderItemReportRecordDO.setRemark(comment.getComment());
|
|
|
pipeTaskOrderItemReportRecordDO.setCreateTime(comment.getCreateDate());
|
|
pipeTaskOrderItemReportRecordDO.setCreateTime(comment.getCreateDate());
|
|
|
- pipeTaskOrderItemReportRecordDO.setCreator(comment.getUserName());
|
|
|
|
|
|
|
+ String userName = comment.getUserName();
|
|
|
|
|
+ CommonResult<List<AdminUserRespDTO>> userListByNickname = adminUserApi.getUserListByNickname(userName);
|
|
|
|
|
+ if (!userListByNickname.getCheckedData().isEmpty()) {
|
|
|
|
|
+ pipeTaskOrderItemReportRecordDO.setCreator(userListByNickname.getCheckedData().get(0).getId());
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
if (comment.getComment().contains("【") && comment.getComment().contains("】")) {
|
|
if (comment.getComment().contains("【") && comment.getComment().contains("】")) {
|
|
|
String substring = comment.getComment().substring(comment.getComment().indexOf("【") + 1, comment.getComment().indexOf("】"));
|
|
String substring = comment.getComment().substring(comment.getComment().indexOf("【") + 1, comment.getComment().indexOf("】"));
|
|
@@ -400,7 +405,7 @@ public class PipeTaskOrderItemReportServiceImpl extends ServiceImpl<PipeTaskOrde
|
|
|
* @param comments OA 流程评论列表
|
|
* @param comments OA 流程评论列表
|
|
|
*/
|
|
*/
|
|
|
public void updateReportStatus(PipeTaskOrderItemReportDO pipeTaskOrderItemReportDO, List<ExternalOACommentInfoRes> comments) {
|
|
public void updateReportStatus(PipeTaskOrderItemReportDO pipeTaskOrderItemReportDO, List<ExternalOACommentInfoRes> comments) {
|
|
|
- // 从OA评论中提取最近两个"【同意】"或"【已阅】"的评论,分别作为审核人和审批人
|
|
|
|
|
|
|
+ // 根据NODE_NAME区分审核人和审批人
|
|
|
String approvalId = null;
|
|
String approvalId = null;
|
|
|
String approvalName = null;
|
|
String approvalName = null;
|
|
|
LocalDateTime approvalTime = null;
|
|
LocalDateTime approvalTime = null;
|
|
@@ -408,41 +413,48 @@ public class PipeTaskOrderItemReportServiceImpl extends ServiceImpl<PipeTaskOrde
|
|
|
String ratifyName = null;
|
|
String ratifyName = null;
|
|
|
LocalDateTime ratifyTime = null;
|
|
LocalDateTime ratifyTime = null;
|
|
|
|
|
|
|
|
- List<ExternalOACommentInfoRes> approvalComments = comments.stream()
|
|
|
|
|
- .filter(comment -> comment.getComment() != null &&
|
|
|
|
|
- (comment.getComment().contains("【同意】") || comment.getComment().contains("【已阅】"))
|
|
|
|
|
- && !"common.toolbar.stepBack.label".equals(comment.getExtAtt3()))
|
|
|
|
|
- .sorted(Comparator.comparing(ExternalOACommentInfoRes::getCreateDate).reversed())
|
|
|
|
|
- .limit(2)
|
|
|
|
|
- .toList();
|
|
|
|
|
-
|
|
|
|
|
- // 最近一条评论对应审核人(approval)
|
|
|
|
|
- ExternalOACommentInfoRes approval = !approvalComments.isEmpty() ? approvalComments.get(0) : null;
|
|
|
|
|
- // 第二条评论对应审批人(ratify)
|
|
|
|
|
- ExternalOACommentInfoRes ratify = approvalComments.size() > 1 ? approvalComments.get(1) : null;
|
|
|
|
|
-
|
|
|
|
|
- if (approval != null) {
|
|
|
|
|
- List<AdminUserRespDTO> userListByNickname = adminUserApi.getUserListByNickname(approval.getUserName()).getCheckedData();
|
|
|
|
|
- if (!userListByNickname.isEmpty()) {
|
|
|
|
|
- AdminUserRespDTO approvalUser = userListByNickname.get(0);
|
|
|
|
|
- approvalId = approvalUser.getId();
|
|
|
|
|
- approvalName = approvalUser.getNickname();
|
|
|
|
|
- approvalTime = approval.getCreateDate();
|
|
|
|
|
|
|
+ if (comments != null && !comments.isEmpty()) {
|
|
|
|
|
+ // NODE_NAME="审核人" → approval(审核人)
|
|
|
|
|
+ ExternalOACommentInfoRes approval = comments.stream()
|
|
|
|
|
+ .filter(c -> c.getComment() != null
|
|
|
|
|
+ && (c.getComment().contains("【同意】") || c.getComment().contains("【已阅】"))
|
|
|
|
|
+ && !"common.toolbar.stepBack.label".equals(c.getExtAtt3())
|
|
|
|
|
+ && "审核人".equals(c.getNodeName()))
|
|
|
|
|
+ .max(Comparator.comparing(ExternalOACommentInfoRes::getCreateDate))
|
|
|
|
|
+ .orElse(null);
|
|
|
|
|
+
|
|
|
|
|
+ // NODE_NAME="审批人" → ratify(审批人)
|
|
|
|
|
+ ExternalOACommentInfoRes ratify = comments.stream()
|
|
|
|
|
+ .filter(c -> c.getComment() != null
|
|
|
|
|
+ && (c.getComment().contains("【同意】") || c.getComment().contains("【已阅】"))
|
|
|
|
|
+ && !"common.toolbar.stepBack.label".equals(c.getExtAtt3())
|
|
|
|
|
+ && "审批人".equals(c.getNodeName()))
|
|
|
|
|
+ .max(Comparator.comparing(ExternalOACommentInfoRes::getCreateDate))
|
|
|
|
|
+ .orElse(null);
|
|
|
|
|
+
|
|
|
|
|
+ if (approval != null) {
|
|
|
|
|
+ List<AdminUserRespDTO> userListByNickname = adminUserApi.getUserListByNickname(approval.getUserName()).getCheckedData();
|
|
|
|
|
+ if (!userListByNickname.isEmpty()) {
|
|
|
|
|
+ AdminUserRespDTO approvalUser = userListByNickname.get(0);
|
|
|
|
|
+ approvalId = approvalUser.getId();
|
|
|
|
|
+ approvalName = approvalUser.getNickname();
|
|
|
|
|
+ approvalTime = approval.getCreateDate();
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
- }
|
|
|
|
|
|
|
|
|
|
- if (ratify != null) {
|
|
|
|
|
- List<AdminUserRespDTO> userListByNickname1 = adminUserApi.getUserListByNickname(ratify.getUserName()).getCheckedData();
|
|
|
|
|
- if (!userListByNickname1.isEmpty()) {
|
|
|
|
|
- AdminUserRespDTO ratifyUser = userListByNickname1.get(0);
|
|
|
|
|
- ratifyId = ratifyUser.getId();
|
|
|
|
|
- ratifyName = ratifyUser.getNickname();
|
|
|
|
|
- ratifyTime = ratify.getCreateDate();
|
|
|
|
|
|
|
+ if (ratify != null) {
|
|
|
|
|
+ List<AdminUserRespDTO> userListByNickname1 = adminUserApi.getUserListByNickname(ratify.getUserName()).getCheckedData();
|
|
|
|
|
+ if (!userListByNickname1.isEmpty()) {
|
|
|
|
|
+ AdminUserRespDTO ratifyUser = userListByNickname1.get(0);
|
|
|
|
|
+ ratifyId = ratifyUser.getId();
|
|
|
|
|
+ ratifyName = ratifyUser.getNickname();
|
|
|
|
|
+ ratifyTime = ratify.getCreateDate();
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
- }
|
|
|
|
|
|
|
|
|
|
- // 调用重载方法,传入从OA评论中提取的审核人和审批人信息
|
|
|
|
|
- updateOrderItemRatifyFinish(pipeTaskOrderItemReportDO.getId(), approvalId, approvalName, approvalTime, ratifyId, ratifyName, ratifyTime);
|
|
|
|
|
|
|
+ // 调用重载方法,传入从OA评论中提取的审核人和审批人信息
|
|
|
|
|
+ updateOrderItemRatifyFinish(pipeTaskOrderItemReportDO.getId(), approvalId, approvalName, approvalTime, ratifyId, ratifyName, ratifyTime);
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public void orderItemRollback(String id, ExternalOARes externalOARes) {
|
|
public void orderItemRollback(String id, ExternalOARes externalOARes) {
|
|
@@ -708,7 +720,7 @@ public class PipeTaskOrderItemReportServiceImpl extends ServiceImpl<PipeTaskOrde
|
|
|
CompletableFuture.runAsync(() -> {
|
|
CompletableFuture.runAsync(() -> {
|
|
|
// 任务单办结
|
|
// 任务单办结
|
|
|
pipeTaskOrderDO.setTaskStatus(TaskOrderStatusEnum.REPORT_FINISH.getStatus());
|
|
pipeTaskOrderDO.setTaskStatus(TaskOrderStatusEnum.REPORT_FINISH.getStatus());
|
|
|
-// pushTaskOrderService.pushFinanceSystem(pipeTaskOrderDO);
|
|
|
|
|
|
|
+ pushTaskOrderService.pushFinanceSystem(pipeTaskOrderDO);
|
|
|
});
|
|
});
|
|
|
|
|
|
|
|
//生成任务单下所有设备报告
|
|
//生成任务单下所有设备报告
|