|
@@ -1,6 +1,7 @@
|
|
|
package com.qmth.sop.business.service.impl;
|
|
|
|
|
|
import com.alibaba.fastjson.JSONArray;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
@@ -226,6 +227,37 @@ public class TBDingSubmitServiceImpl extends ServiceImpl<TBDingSubmitMapper, TBD
|
|
|
}).collect(Collectors.toList());
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public boolean canUpdateDingSetting(String sopNo) {
|
|
|
+ boolean result = true;
|
|
|
+ TBDingSubmit tbDingSubmit = this.getOne(
|
|
|
+ new QueryWrapper<TBDingSubmit>().lambda().eq(TBDingSubmit::getSopNo, sopNo).last(SystemConstant.LIMIT1));
|
|
|
+ if (Objects.nonNull(tbDingSubmit)) {
|
|
|
+ DingSubmitStatusEnum submitStatus = tbDingSubmit.getSubmitStatus();
|
|
|
+ if (!DingSubmitStatusEnum.WILL_SUBMIT.equals(submitStatus) && !DingSubmitStatusEnum.AGREE_WITHDRAW.equals(
|
|
|
+ submitStatus)) {
|
|
|
+ result = false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public boolean canUpdateDingSetting(String sopNo, Long userId) {
|
|
|
+ boolean result = true;
|
|
|
+ TBDingSubmit tbDingSubmit = this.getOne(
|
|
|
+ new QueryWrapper<TBDingSubmit>().lambda().eq(TBDingSubmit::getSopNo, sopNo)
|
|
|
+ .eq(TBDingSubmit::getUserId, userId).last(SystemConstant.LIMIT1));
|
|
|
+ if (Objects.nonNull(tbDingSubmit)) {
|
|
|
+ DingSubmitStatusEnum submitStatus = tbDingSubmit.getSubmitStatus();
|
|
|
+ if (!DingSubmitStatusEnum.WILL_SUBMIT.equals(submitStatus) && !DingSubmitStatusEnum.AGREE_WITHDRAW.equals(
|
|
|
+ submitStatus)) {
|
|
|
+ result = false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
private void dingSubmitOperate(DingSubmitParam dingSubmitParam, DingSubmitOperateEnum dingSubmitOperateType) {
|
|
|
SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
|
|
|
String sopNo = dingSubmitParam.getSopNo();
|
|
@@ -245,6 +277,7 @@ public class TBDingSubmitServiceImpl extends ServiceImpl<TBDingSubmitMapper, TBD
|
|
|
tbDingSubmit.setServiceId(dingSubmitResult.getServiceUnitId());
|
|
|
tbDingSubmit.setSopNo(sopNo);
|
|
|
tbDingSubmit.setCrmNo(dingSubmitResult.getCrmNo());
|
|
|
+ tbDingSubmit.setUserId(dingSubmitResult.getUserId());
|
|
|
tbDingSubmit.setUserArchivesId(userArchivesId);
|
|
|
tbDingSubmit.setScanStartTime(dingSubmitResult.getScanStartTime());
|
|
|
tbDingSubmit.setScanEndTime(dingSubmitResult.getScanEndTime());
|
|
@@ -290,8 +323,8 @@ public class TBDingSubmitServiceImpl extends ServiceImpl<TBDingSubmitMapper, TBD
|
|
|
FlowStatusEnum flowStatus = tfFlowApproves.getStatus();
|
|
|
if (!FlowStatusEnum.FINISH.equals(flowStatus)) {
|
|
|
throw ExceptionResultEnum.ERROR.exception(
|
|
|
- String.format("服务单元为[%s],sop流水号为[%s],用户档案为[%s]的sop状态为[%s],sop结束后次日才能提交考勤", serviceUnitName, sopNo,
|
|
|
- userArchivesName, flowStatus.getTitle()));
|
|
|
+ String.format("服务单元为[%s],sop流水号为[%s],用户档案为[%s]的sop状态为[%s],sop结束后次日才能提交考勤", serviceUnitName,
|
|
|
+ sopNo, userArchivesName, flowStatus.getTitle()));
|
|
|
}
|
|
|
Long endTime = tfFlowApproves.getUpdateTime();
|
|
|
Calendar calendar = Calendar.getInstance();
|