|
@@ -11,6 +11,7 @@ import com.qmth.sop.business.bean.result.DingSubmitResult;
|
|
import com.qmth.sop.business.bean.result.DingSubmitSubTotalResult;
|
|
import com.qmth.sop.business.bean.result.DingSubmitSubTotalResult;
|
|
import com.qmth.sop.business.entity.SysUser;
|
|
import com.qmth.sop.business.entity.SysUser;
|
|
import com.qmth.sop.business.entity.TBDingSubmit;
|
|
import com.qmth.sop.business.entity.TBDingSubmit;
|
|
|
|
+import com.qmth.sop.business.entity.TFFlowApprove;
|
|
import com.qmth.sop.business.mapper.TBDingSubmitMapper;
|
|
import com.qmth.sop.business.mapper.TBDingSubmitMapper;
|
|
import com.qmth.sop.business.service.SysUserService;
|
|
import com.qmth.sop.business.service.SysUserService;
|
|
import com.qmth.sop.business.service.TBDingSubmitService;
|
|
import com.qmth.sop.business.service.TBDingSubmitService;
|
|
@@ -23,10 +24,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
import javax.annotation.Resource;
|
|
import java.math.BigDecimal;
|
|
import java.math.BigDecimal;
|
|
-import java.util.ArrayList;
|
|
|
|
-import java.util.Arrays;
|
|
|
|
-import java.util.List;
|
|
|
|
-import java.util.Objects;
|
|
|
|
|
|
+import java.util.*;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Stream;
|
|
import java.util.stream.Stream;
|
|
|
|
|
|
@@ -286,6 +284,29 @@ public class TBDingSubmitServiceImpl extends ServiceImpl<TBDingSubmitMapper, TBD
|
|
String.format("服务单元为[%s],sop流水号为[%s],用户档案为[%s]的考勤待处理异常数为[%s],不能提交", serviceUnitName, sopNo,
|
|
String.format("服务单元为[%s],sop流水号为[%s],用户档案为[%s]的考勤待处理异常数为[%s],不能提交", serviceUnitName, sopNo,
|
|
userArchivesName, exceptionCount));
|
|
userArchivesName, exceptionCount));
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ // 条件3 - SOP结束后的第二天才能提交考勤
|
|
|
|
+ TFFlowApprove tfFlowApproves = tbDingService.findFlowApproveBySopNo(sopNo);
|
|
|
|
+ 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()));
|
|
|
|
+ }
|
|
|
|
+ Long endTime = tfFlowApproves.getUpdateTime();
|
|
|
|
+ Calendar calendar = Calendar.getInstance();
|
|
|
|
+ calendar.setTimeInMillis(endTime);
|
|
|
|
+ calendar.set(Calendar.HOUR_OF_DAY, 0);
|
|
|
|
+ calendar.set(Calendar.MINUTE, 0);
|
|
|
|
+ calendar.set(Calendar.SECOND, 0);
|
|
|
|
+ calendar.add(Calendar.DATE, 1);
|
|
|
|
+ long nextDayEarliestTime = calendar.getTimeInMillis();
|
|
|
|
+ if (System.currentTimeMillis() < nextDayEarliestTime) {
|
|
|
|
+ throw ExceptionResultEnum.ERROR.exception(
|
|
|
|
+ String.format("服务单元为[%s],sop流水号为[%s],用户档案为[%s]的考勤还未到提交时间,sop结束后次日才能提交考勤", serviceUnitName,
|
|
|
|
+ sopNo, userArchivesName));
|
|
|
|
+ }
|
|
|
|
+
|
|
Long submitId = dingSubmitResult.getSubmitId();
|
|
Long submitId = dingSubmitResult.getSubmitId();
|
|
if (SystemConstant.longNotNull(submitId)) {
|
|
if (SystemConstant.longNotNull(submitId)) {
|
|
tbDingSubmit.setId(submitId);
|
|
tbDingSubmit.setId(submitId);
|