|
@@ -94,6 +94,9 @@ public class TBSopInfoServiceImpl extends ServiceImpl<TBSopInfoMapper, TBSopInfo
|
|
|
@Resource
|
|
|
TBServiceService tbServiceService;
|
|
|
|
|
|
+ @Resource
|
|
|
+ TBSopPlanDateLogService tbSopPlanDateLogService;
|
|
|
+
|
|
|
/**
|
|
|
* 查询动态sop表名是否存在
|
|
|
*
|
|
@@ -329,6 +332,7 @@ public class TBSopInfoServiceImpl extends ServiceImpl<TBSopInfoMapper, TBSopInfo
|
|
|
Map<String, Object> map = activitiService.taskApprove(flowApproveParam);
|
|
|
if (flowApproveParam.getApprove() != FlowApprovePassEnum.DRAFT) {
|
|
|
map.put(SystemConstant.CRM_INFO, crmProjectResult);
|
|
|
+ map.put(SystemConstant.SOP_ID, tbSopInfo.getId());
|
|
|
tbSopInfoService.saveJobRemind(map);
|
|
|
}
|
|
|
TFFlowApprove tfFlowApprove = (TFFlowApprove) map.get(SystemConstant.FLOW_APPROVE);
|
|
@@ -743,6 +747,7 @@ public class TBSopInfoServiceImpl extends ServiceImpl<TBSopInfoMapper, TBSopInfo
|
|
|
Map<String, Object> map = activitiService.taskApprove(new FlowApproveParam(flowDeploymentId, approve, approveUserIds, crmNo, formProperties));
|
|
|
if (approve != FlowApprovePassEnum.DRAFT) {
|
|
|
map.put(SystemConstant.CRM_INFO, crmProjectResult);
|
|
|
+ map.put(SystemConstant.SOP_ID, null);
|
|
|
tbSopInfoService.saveJobRemind(map);
|
|
|
}
|
|
|
|
|
@@ -756,6 +761,11 @@ public class TBSopInfoServiceImpl extends ServiceImpl<TBSopInfoMapper, TBSopInfo
|
|
|
tbSopInfoDetail.setSopInfoId(tbSopInfo.getId());
|
|
|
}
|
|
|
tbSopInfoDetailService.save(tbSopInfoDetail);
|
|
|
+ TBSopPlanDateLog tbSopPlanDateLog = tbSopPlanDateLogService.getOne(new QueryWrapper<TBSopPlanDateLog>().lambda().eq(TBSopPlanDateLog::getFlowId, tfCustomFlowEntity.getFlowId()).orderByDesc(TBSopPlanDateLog::getCreateTime).last(" limit 1 "));
|
|
|
+ if (Objects.nonNull(tbSopPlanDateLog)) {
|
|
|
+ tbSopPlanDateLog.setSopId(tbSopInfo.getId());
|
|
|
+ tbSopPlanDateLogService.updateById(tbSopPlanDateLog);
|
|
|
+ }
|
|
|
|
|
|
tfCustomFlowEntity.setObjId(tbSopInfo.getId());
|
|
|
tfCustomFlowEntityService.updateById(tfCustomFlowEntity);
|
|
@@ -784,6 +794,7 @@ public class TBSopInfoServiceImpl extends ServiceImpl<TBSopInfoMapper, TBSopInfo
|
|
|
TFFlowLog tfFlowLog = (TFFlowLog) map.get(SystemConstant.FLOW_APPROVE_LOG);
|
|
|
Optional.ofNullable(tfFlowLog).orElseThrow(() -> ExceptionResultEnum.FLOW_APPROVE_LOG_NO_DATA.exception());
|
|
|
|
|
|
+ Long sopId = (Long) map.get(SystemConstant.SOP_ID);
|
|
|
List<Task> taskList = taskService.createTaskQuery().processInstanceId(String.valueOf(tfCustomFlowEntity.getFlowId())).list();
|
|
|
if (!CollectionUtils.isEmpty(taskList) && (tfFlowApprove.getStatus() != FlowStatusEnum.DRAFT && tfFlowApprove.getStatus() != FlowStatusEnum.FINISH && tfFlowApprove.getStatus() != FlowStatusEnum.END)) {
|
|
|
Long processLimitedTime = null;
|
|
@@ -793,6 +804,7 @@ public class TBSopInfoServiceImpl extends ServiceImpl<TBSopInfoMapper, TBSopInfo
|
|
|
FlowTaskResult flowTaskResult = this.getFormProperties(tfCustomFlowEntity, 1);
|
|
|
processLimitedTime = this.getProcessLimitedTime(flowTaskResult, ProcessLimitedEnum.PROJECT_KEY_INFO_DATE.getKey());
|
|
|
execField = ProcessLimitedEnum.PROJECT_KEY_INFO_DATE.getKey();
|
|
|
+ tbSopInfoService.saveSopPlanDate(flowTaskResult, sopId, tfCustomFlowEntity.getFlowId(), sysUser.getId());
|
|
|
} else if (tfFlowApprove.getSetup().intValue() == 3) {//内审
|
|
|
processLimitedTime = tfFlowApprove.getUpdateTime();
|
|
|
execField = ProcessLimitedEnum.APPROVE_RADIO.getKey();
|
|
@@ -823,6 +835,7 @@ public class TBSopInfoServiceImpl extends ServiceImpl<TBSopInfoMapper, TBSopInfo
|
|
|
FlowTaskResult flowTaskResult = this.getFormProperties(tfCustomFlowEntity, 1);
|
|
|
processLimitedTime = this.getProcessLimitedTime(flowTaskResult, ProcessLimitedEnum.PROJECT_KEY_INFO_DATE.getKey());
|
|
|
execField = ProcessLimitedEnum.PROJECT_KEY_INFO_DATE.getKey();
|
|
|
+ tbSopInfoService.saveSopPlanDate(flowTaskResult, sopId, tfCustomFlowEntity.getFlowId(), sysUser.getId());
|
|
|
} else if (tfFlowApprove.getSetup().intValue() == 3) {//内审
|
|
|
processLimitedTime = tfFlowApprove.getUpdateTime();
|
|
|
execField = ProcessLimitedEnum.APPROVE_RADIO.getKey();
|
|
@@ -1009,7 +1022,7 @@ public class TBSopInfoServiceImpl extends ServiceImpl<TBSopInfoMapper, TBSopInfo
|
|
|
map.put(SystemConstant.FLOW_APPROVE, tfFlowApprove);
|
|
|
map.put(SystemConstant.FLOW_APPROVE_LOG, tfFlowLog);
|
|
|
map.put(SystemConstant.CRM_INFO, crmProjectResult);
|
|
|
-
|
|
|
+ map.put(SystemConstant.SOP_ID, tbSopInfo.getId());
|
|
|
tbSopInfoService.saveJobRemind(map);
|
|
|
}
|
|
|
|
|
@@ -1095,6 +1108,36 @@ public class TBSopInfoServiceImpl extends ServiceImpl<TBSopInfoMapper, TBSopInfo
|
|
|
return processLimitedTime;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 更新sop计划进场开始时间和结束时间
|
|
|
+ *
|
|
|
+ * @param flowTaskResult
|
|
|
+ * @param sopId
|
|
|
+ * @param flowId
|
|
|
+ * @param userId
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ @Transactional
|
|
|
+ public void saveSopPlanDate(FlowTaskResult flowTaskResult, Long sopId, Long flowId, Long userId) {
|
|
|
+ Long serviceFinishPlanBeginDate = this.getProcessLimitedTime(flowTaskResult, ProcessLimitedEnum.SERVICE_FINISH_PLAN_BEGIN_DATE.getKey());
|
|
|
+ Long serviceFinishPlanEndDate = this.getProcessLimitedTime(flowTaskResult, ProcessLimitedEnum.SERVICE_FINISH_PLAN_DATE.getKey());
|
|
|
+ serviceFinishPlanBeginDate = serviceFinishPlanBeginDate + 1000;
|
|
|
+ TBSopPlanDateLog tbSopPlanDateLog = tbSopPlanDateLogService.getOne(new QueryWrapper<TBSopPlanDateLog>().lambda().eq(TBSopPlanDateLog::getFlowId, flowId).orderByDesc(TBSopPlanDateLog::getCreateTime).last(" limit 1 "));
|
|
|
+ if (Objects.isNull(tbSopPlanDateLog)) {
|
|
|
+ tbSopPlanDateLog = new TBSopPlanDateLog(sopId, flowId, serviceFinishPlanBeginDate, serviceFinishPlanEndDate, userId);
|
|
|
+ tbSopPlanDateLogService.save(tbSopPlanDateLog);
|
|
|
+ } else {
|
|
|
+ TBSopPlanDateLog tbSopPlanDateLogNew = new TBSopPlanDateLog();
|
|
|
+ BeanUtils.copyProperties(tbSopPlanDateLog, tbSopPlanDateLogNew);
|
|
|
+ tbSopPlanDateLogNew.setBeginTime(serviceFinishPlanBeginDate);
|
|
|
+ tbSopPlanDateLogNew.setEndTime(serviceFinishPlanEndDate);
|
|
|
+ if (!tbSopPlanDateLogNew.equals(tbSopPlanDateLog)) {
|
|
|
+ tbSopPlanDateLogNew.updateInfo(userId);
|
|
|
+ tbSopPlanDateLogService.save(tbSopPlanDateLogNew);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 根据crmNo查询在途的sop信息
|
|
|
*
|