|
@@ -21,11 +21,13 @@ import cn.start.tz.module.pressure2.dal.dataobject.boilertaskorderitemreport.Boi
|
|
|
import cn.start.tz.module.pressure2.dal.dataobject.equippipe.EquipPipeDO;
|
|
import cn.start.tz.module.pressure2.dal.dataobject.equippipe.EquipPipeDO;
|
|
|
import cn.start.tz.module.pressure2.dal.dataobject.equippipecheckhistory.EquipPipeCheckHistoryDO;
|
|
import cn.start.tz.module.pressure2.dal.dataobject.equippipecheckhistory.EquipPipeCheckHistoryDO;
|
|
|
import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorder.PipeTaskOrderDO;
|
|
import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorder.PipeTaskOrderDO;
|
|
|
|
|
+import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorderinput.PipeTaskOrderInputDO;
|
|
|
import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorderitem.PipeTaskOrderItemDO;
|
|
import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorderitem.PipeTaskOrderItemDO;
|
|
|
import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorderitemreportrecord.PipeTaskOrderItemReportRecordDO;
|
|
import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorderitemreportrecord.PipeTaskOrderItemReportRecordDO;
|
|
|
import cn.start.tz.module.pressure2.dal.mysql.equippipe.EquipPipeMapper;
|
|
import cn.start.tz.module.pressure2.dal.mysql.equippipe.EquipPipeMapper;
|
|
|
import cn.start.tz.module.pressure2.dal.mysql.equippipecheckhistory.EquipPipeCheckHistoryMapper;
|
|
import cn.start.tz.module.pressure2.dal.mysql.equippipecheckhistory.EquipPipeCheckHistoryMapper;
|
|
|
import cn.start.tz.module.pressure2.dal.mysql.pipetaskorder.PipeTaskOrderMapper;
|
|
import cn.start.tz.module.pressure2.dal.mysql.pipetaskorder.PipeTaskOrderMapper;
|
|
|
|
|
+import cn.start.tz.module.pressure2.dal.mysql.pipetaskorderinput.PipeTaskOrderInputMapper;
|
|
|
import cn.start.tz.module.pressure2.dal.mysql.pipetaskorderitem.PipeTaskOrderItemMapper;
|
|
import cn.start.tz.module.pressure2.dal.mysql.pipetaskorderitem.PipeTaskOrderItemMapper;
|
|
|
import cn.start.tz.module.pressure2.dal.mysql.pipetaskorderitemreportrecord.PipeTaskOrderItemReportRecordMapper;
|
|
import cn.start.tz.module.pressure2.dal.mysql.pipetaskorderitemreportrecord.PipeTaskOrderItemReportRecordMapper;
|
|
|
import cn.start.tz.module.pressure2.framework.thread.CommonThread;
|
|
import cn.start.tz.module.pressure2.framework.thread.CommonThread;
|
|
@@ -34,6 +36,7 @@ import cn.start.tz.module.pressure2.service.externalOA.vo.ExternalOACommentInfoR
|
|
|
import cn.start.tz.module.pressure2.service.externalOA.vo.ExternalOACommentRes;
|
|
import cn.start.tz.module.pressure2.service.externalOA.vo.ExternalOACommentRes;
|
|
|
import cn.start.tz.module.pressure2.service.externalOA.vo.ExternalOARes;
|
|
import cn.start.tz.module.pressure2.service.externalOA.vo.ExternalOARes;
|
|
|
import cn.start.tz.module.pressure2.service.pipetaskorder.PipeTaskOrderService;
|
|
import cn.start.tz.module.pressure2.service.pipetaskorder.PipeTaskOrderService;
|
|
|
|
|
+import cn.start.tz.module.pressure2.service.pipetaskorderinput.PipeTaskOrderInputService;
|
|
|
import cn.start.tz.module.pressure2.service.pipetaskorderissuereport.PipeTaskOrderIssueReportService;
|
|
import cn.start.tz.module.pressure2.service.pipetaskorderissuereport.PipeTaskOrderIssueReportService;
|
|
|
import cn.start.tz.module.pressure2.service.pushtaskorder.PushTaskOrderService;
|
|
import cn.start.tz.module.pressure2.service.pushtaskorder.PushTaskOrderService;
|
|
|
import cn.start.tz.module.pressure2.service.synchronization.SynchronizationService;
|
|
import cn.start.tz.module.pressure2.service.synchronization.SynchronizationService;
|
|
@@ -88,6 +91,9 @@ public class PipeTaskOrderItemReportServiceImpl extends ServiceImpl<PipeTaskOrde
|
|
|
@Resource
|
|
@Resource
|
|
|
private PipeTaskOrderItemReportMapper pipeTaskOrderItemReportMapper;
|
|
private PipeTaskOrderItemReportMapper pipeTaskOrderItemReportMapper;
|
|
|
|
|
|
|
|
|
|
+ @Resource
|
|
|
|
|
+ private PipeTaskOrderInputMapper pipeTaskOrderInputMapper;
|
|
|
|
|
+
|
|
|
@Override
|
|
@Override
|
|
|
public String createPipeTaskOrderItemReport(PipeTaskOrderItemReportSaveReqVO createReqVO) {
|
|
public String createPipeTaskOrderItemReport(PipeTaskOrderItemReportSaveReqVO createReqVO) {
|
|
|
// 插入
|
|
// 插入
|
|
@@ -212,24 +218,28 @@ public class PipeTaskOrderItemReportServiceImpl extends ServiceImpl<PipeTaskOrde
|
|
|
ExternalOACommentRes externalOAComment = externalOAService.getExternalOAComment(pipeTaskOrderItemReportDO.getSummaryId());
|
|
ExternalOACommentRes externalOAComment = externalOAService.getExternalOAComment(pipeTaskOrderItemReportDO.getSummaryId());
|
|
|
if (externalOAComment != null && externalOAComment.getData() != null) {
|
|
if (externalOAComment != null && externalOAComment.getData() != null) {
|
|
|
log.info("查询结果,{}", externalOAComment);
|
|
log.info("查询结果,{}", externalOAComment);
|
|
|
- if (externalOAComment.getData().getState() != null) {
|
|
|
|
|
|
|
+ ExternalOARes oaRes = externalOAComment.getData();
|
|
|
|
|
+ if (oaRes.getState() != null) {
|
|
|
// 流程流转记录
|
|
// 流程流转记录
|
|
|
- List<ExternalOACommentInfoRes> comments = externalOAComment.getData().getComments();
|
|
|
|
|
|
|
+ List<ExternalOACommentInfoRes> comments = oaRes.getComments();
|
|
|
if (comments != null && !comments.isEmpty()) {
|
|
if (comments != null && !comments.isEmpty()) {
|
|
|
- // 增加
|
|
|
|
|
addFlowRecord(pipeTaskOrderItemReportDO, comments);
|
|
addFlowRecord(pipeTaskOrderItemReportDO, comments);
|
|
|
}
|
|
}
|
|
|
- if ("处理中".equals(externalOAComment.getData().getState())) {
|
|
|
|
|
-
|
|
|
|
|
- } else if ("结束".equals(externalOAComment.getData().getState())) {
|
|
|
|
|
- // 修改报告状态
|
|
|
|
|
|
|
+ String state = oaRes.getState();
|
|
|
|
|
+ // 检查是否有退回标识:isStepBack=true 或 评论中包含 EXT_ATT3=stepBack
|
|
|
|
|
+ boolean isStepBack = oaRes.isStepBack() || (comments != null && comments.stream()
|
|
|
|
|
+ .anyMatch(c -> "common.toolbar.stepBack.label".equals(c.getExtAtt3())));
|
|
|
|
|
+// if ("处理中".equals(state) || "待处理".equals(state)) {
|
|
|
|
|
+// // 流程处理中,不做操作
|
|
|
|
|
+// } else
|
|
|
|
|
+ if ("结束".equals(state) && !isStepBack) {
|
|
|
|
|
+ // 流程正常结束,修改报告状态
|
|
|
updateReportStatus(pipeTaskOrderItemReportDO, comments);
|
|
updateReportStatus(pipeTaskOrderItemReportDO, comments);
|
|
|
- } else if ("退回".equals(externalOAComment.getData().getState())) {
|
|
|
|
|
- // 退回
|
|
|
|
|
-// boilerTaskOrderItemReportDO.setTaskStatus(TaskOrderStatusEnum.ENTER.getStatus());
|
|
|
|
|
-// taskOrderItemReportMapper.updateById(boilerTaskOrderItemReportDO);
|
|
|
|
|
- orderItemRollback(pipeTaskOrderItemReportDO.getId(), externalOAComment.getData());
|
|
|
|
|
}
|
|
}
|
|
|
|
|
+// else if ("退回".equals(state) || ("结束".equals(state) && isStepBack)) {
|
|
|
|
|
+// // 流程退回(包括结束但被退回的情况)
|
|
|
|
|
+// orderItemRollback(pipeTaskOrderItemReportDO.getId(), oaRes);
|
|
|
|
|
+// }
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
@@ -290,7 +300,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评论中提取最近两个"同意"或"已阅"的评论,分别作为审核人和审批人
|
|
|
|
|
|
|
+ // 从OA评论中提取最近两个"【同意】"或"【已阅】"的评论,分别作为审核人和审批人
|
|
|
String approvalId = null;
|
|
String approvalId = null;
|
|
|
String approvalName = null;
|
|
String approvalName = null;
|
|
|
LocalDateTime approvalTime = null;
|
|
LocalDateTime approvalTime = null;
|
|
@@ -300,7 +310,8 @@ public class PipeTaskOrderItemReportServiceImpl extends ServiceImpl<PipeTaskOrde
|
|
|
|
|
|
|
|
List<ExternalOACommentInfoRes> approvalComments = comments.stream()
|
|
List<ExternalOACommentInfoRes> approvalComments = comments.stream()
|
|
|
.filter(comment -> comment.getComment() != null &&
|
|
.filter(comment -> comment.getComment() != null &&
|
|
|
- (comment.getComment().contains("同意") || comment.getComment().contains("已阅")))
|
|
|
|
|
|
|
+ (comment.getComment().contains("【同意】") || comment.getComment().contains("【已阅】"))
|
|
|
|
|
+ && !"common.toolbar.stepBack.label".equals(comment.getExtAtt3()))
|
|
|
.sorted(Comparator.comparing(ExternalOACommentInfoRes::getCreateDate).reversed())
|
|
.sorted(Comparator.comparing(ExternalOACommentInfoRes::getCreateDate).reversed())
|
|
|
.limit(2)
|
|
.limit(2)
|
|
|
.toList();
|
|
.toList();
|
|
@@ -458,11 +469,6 @@ public class PipeTaskOrderItemReportServiceImpl extends ServiceImpl<PipeTaskOrde
|
|
|
taskOrderItemReportMapper.updateById(updateObj);
|
|
taskOrderItemReportMapper.updateById(updateObj);
|
|
|
|
|
|
|
|
// 流转记录
|
|
// 流转记录
|
|
|
- PipeTaskOrderItemReportRecordDO taskOrderItemReportRecordDO = new PipeTaskOrderItemReportRecordDO();
|
|
|
|
|
- taskOrderItemReportRecordDO.setReportId(id);
|
|
|
|
|
- taskOrderItemReportRecordDO.setProcess(TaskOrderStatusEnum.REPORT_RATIFY.getStatus());
|
|
|
|
|
- taskOrderItemReportRecordDO.setResult(100);
|
|
|
|
|
- pipeTaskOrderItemReportRecordMapper.insert(taskOrderItemReportRecordDO);
|
|
|
|
|
|
|
|
|
|
// TaskOrderItemReportDO taskOrderItemReportDO = taskOrderItemReportMapper.selectById(orderItemRatifyVO.getId());
|
|
// TaskOrderItemReportDO taskOrderItemReportDO = taskOrderItemReportMapper.selectById(orderItemRatifyVO.getId());
|
|
|
if (taskOrderItemReportDO.getReportType() != null && taskOrderItemReportDO.getReportType() == 100) {
|
|
if (taskOrderItemReportDO.getReportType() != null && taskOrderItemReportDO.getReportType() == 100) {
|
|
@@ -577,9 +583,7 @@ public class PipeTaskOrderItemReportServiceImpl extends ServiceImpl<PipeTaskOrde
|
|
|
equipPipeCheckHistoryMapper.insert(historyDO);
|
|
equipPipeCheckHistoryMapper.insert(historyDO);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-
|
|
|
|
|
- Boolean isAllFinish = pipeTaskOrderItemDOList.stream().allMatch(item -> item.getTaskStatus() == TaskOrderStatusEnum.REPORT_FINISH.getStatus().intValue());
|
|
|
|
|
- if (isAllFinish && pipeTaskOrderItemDOList != null && !pipeTaskOrderItemDOList.isEmpty()) {
|
|
|
|
|
|
|
+ if (!pipeTaskOrderItemDOList.isEmpty()) {
|
|
|
PipeTaskOrderItemDO pipeTaskOrderItemDO = pipeTaskOrderItemDOList.get(0);
|
|
PipeTaskOrderItemDO pipeTaskOrderItemDO = pipeTaskOrderItemDOList.get(0);
|
|
|
// 任务完成
|
|
// 任务完成
|
|
|
PipeTaskOrderDO updateOrder = new PipeTaskOrderDO();
|
|
PipeTaskOrderDO updateOrder = new PipeTaskOrderDO();
|
|
@@ -588,6 +592,11 @@ public class PipeTaskOrderItemReportServiceImpl extends ServiceImpl<PipeTaskOrde
|
|
|
updateOrder.setConfirmDate(now());
|
|
updateOrder.setConfirmDate(now());
|
|
|
pipeTaskOrderMapper.updateById(updateOrder);
|
|
pipeTaskOrderMapper.updateById(updateOrder);
|
|
|
|
|
|
|
|
|
|
+ pipeTaskOrderInputMapper.update(new LambdaUpdateWrapper<PipeTaskOrderInputDO>()
|
|
|
|
|
+ .eq(PipeTaskOrderInputDO::getOrderId, pipeTaskOrderItemDO.getOrderId())
|
|
|
|
|
+ .set(PipeTaskOrderInputDO::getTaskStatus, TaskOrderStatusEnum.REPORT_FINISH.getStatus())
|
|
|
|
|
+ );
|
|
|
|
|
+
|
|
|
//任务单办结后添加任务单非税开单申请
|
|
//任务单办结后添加任务单非税开单申请
|
|
|
try {
|
|
try {
|
|
|
taskOrderNonTaxApplyService.create(new TaskOrderNonTaxApplyCreateVO().setOrderId(pipeTaskOrderItemDO.getOrderId()));
|
|
taskOrderNonTaxApplyService.create(new TaskOrderNonTaxApplyCreateVO().setOrderId(pipeTaskOrderItemDO.getOrderId()));
|