|
@@ -3,6 +3,7 @@ package com.qmth.sop.business.service.impl;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.qmth.sop.business.bean.dto.DataPermissionDto;
|
|
|
import com.qmth.sop.business.bean.dto.DingSubmitExportDto;
|
|
|
import com.qmth.sop.business.bean.params.DingSubmitParam;
|
|
|
import com.qmth.sop.business.bean.result.DingSubmitResult;
|
|
@@ -10,6 +11,7 @@ import com.qmth.sop.business.bean.result.DingSubmitSubTotalResult;
|
|
|
import com.qmth.sop.business.entity.SysUser;
|
|
|
import com.qmth.sop.business.entity.TBDingSubmit;
|
|
|
import com.qmth.sop.business.mapper.TBDingSubmitMapper;
|
|
|
+import com.qmth.sop.business.service.SysUserService;
|
|
|
import com.qmth.sop.business.service.TBDingSubmitService;
|
|
|
import com.qmth.sop.common.contant.SystemConstant;
|
|
|
import com.qmth.sop.common.enums.DingSubmitStatusEnum;
|
|
@@ -19,6 +21,7 @@ import com.qmth.sop.common.util.ServletUtil;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
+import javax.annotation.Resource;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Arrays;
|
|
|
import java.util.List;
|
|
@@ -32,6 +35,9 @@ import java.util.stream.Stream;
|
|
|
*/
|
|
|
@Service
|
|
|
public class TBDingSubmitServiceImpl extends ServiceImpl<TBDingSubmitMapper, TBDingSubmit> implements TBDingSubmitService {
|
|
|
+ @Resource
|
|
|
+ private SysUserService sysUserService;
|
|
|
+
|
|
|
@Override
|
|
|
public IPage<DingSubmitResult> findDingSubmitPage(Long serviceUnitId, String dingSubmitStatusDesc, Long submitUserId,
|
|
|
String archivesName, Long supplierId, String customName, String sopNo,
|
|
@@ -46,8 +52,11 @@ public class TBDingSubmitServiceImpl extends ServiceImpl<TBDingSubmitMapper, TBD
|
|
|
}
|
|
|
archivesName = SystemConstant.translateSpecificSign(archivesName);
|
|
|
customName = SystemConstant.translateSpecificSign(customName);
|
|
|
+
|
|
|
+ SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
|
|
|
+ DataPermissionDto dpr = sysUserService.buildUserDataPermission(requestUser.getId());
|
|
|
return this.baseMapper.findDingSubmitPage(new Page<>(pageNumber, pageSize), serviceUnitId, dingSubmitStatusEnumList,
|
|
|
- submitUserId, archivesName, supplierId, customName, sopNo, violationHoursLimit, dingExceptionLimit, remainLimit, exceptionLimit);
|
|
|
+ submitUserId, archivesName, supplierId, customName, sopNo, violationHoursLimit, dingExceptionLimit, remainLimit, exceptionLimit, dpr);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -63,8 +72,12 @@ public class TBDingSubmitServiceImpl extends ServiceImpl<TBDingSubmitMapper, TBD
|
|
|
}
|
|
|
archivesName = SystemConstant.translateSpecificSign(archivesName);
|
|
|
customName = SystemConstant.translateSpecificSign(customName);
|
|
|
+
|
|
|
+ SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
|
|
|
+ DataPermissionDto dpr = sysUserService.buildUserDataPermission(requestUser.getId());
|
|
|
+
|
|
|
List<DingSubmitResult> dingSubmitResultList = this.baseMapper.findDingSubmitList(serviceUnitId, dingSubmitStatusEnumList,
|
|
|
- submitUserId, null, archivesName, supplierId, customName, sopNo, violationHoursLimit, dingExceptionLimit, remainLimit, exceptionLimit);
|
|
|
+ submitUserId, null, archivesName, supplierId, customName, sopNo, violationHoursLimit, dingExceptionLimit, remainLimit, exceptionLimit, dpr);
|
|
|
|
|
|
Integer dingCount = dingSubmitResultList.size();
|
|
|
Integer willSubmitCount = Math.toIntExact(dingSubmitResultList.stream().filter(e -> e.getSubmitStatus().getSubmitDesc().equals("待提交")).count());
|
|
@@ -96,7 +109,7 @@ public class TBDingSubmitServiceImpl extends ServiceImpl<TBDingSubmitMapper, TBD
|
|
|
Long userArchivesId = dingSubmitParam.getUserArchivesId();
|
|
|
List<DingSubmitResult> dingSubmitResultList = this.baseMapper.findDingSubmitList(serviceUnitId, null,
|
|
|
null, userArchivesId, null, null, null, sopNo,
|
|
|
- null, null, null, null);
|
|
|
+ null, null, null, null, null);
|
|
|
|
|
|
if (dingSubmitResultList.size() != 1) {
|
|
|
throw ExceptionResultEnum.ERROR.exception(String.format("未找到服务单元id为[%s],sop流水号为[%s],用户档案号为[%s]的考勤信息", serviceUnitId, sopNo, userArchivesId));
|
|
@@ -155,7 +168,7 @@ public class TBDingSubmitServiceImpl extends ServiceImpl<TBDingSubmitMapper, TBD
|
|
|
Long userArchivesId = dingSubmitParam.getUserArchivesId();
|
|
|
List<DingSubmitResult> dingSubmitResultList = this.baseMapper.findDingSubmitList(serviceUnitId, null,
|
|
|
null, userArchivesId, null, null, null, sopNo,
|
|
|
- null, null, null, null);
|
|
|
+ null, null, null, null, null);
|
|
|
|
|
|
if (dingSubmitResultList.size() != 1) {
|
|
|
throw ExceptionResultEnum.ERROR.exception(String.format("未找到服务单元id为[%s],sop流水号为[%s],用户档案号为[%s]的考勤信息", serviceUnitId, sopNo, userArchivesId));
|
|
@@ -205,7 +218,7 @@ public class TBDingSubmitServiceImpl extends ServiceImpl<TBDingSubmitMapper, TBD
|
|
|
Long userArchivesId = dingSubmitParam.getUserArchivesId();
|
|
|
List<DingSubmitResult> dingSubmitResultList = this.baseMapper.findDingSubmitList(serviceUnitId, null,
|
|
|
null, userArchivesId, null, null, null, sopNo,
|
|
|
- null, null, null, null);
|
|
|
+ null, null, null, null, null);
|
|
|
|
|
|
if (dingSubmitResultList.size() != 1) {
|
|
|
throw ExceptionResultEnum.ERROR.exception(String.format("未找到服务单元id为[%s],sop流水号为[%s],用户档案号为[%s]的考勤信息", serviceUnitId, sopNo, userArchivesId));
|
|
@@ -246,7 +259,7 @@ public class TBDingSubmitServiceImpl extends ServiceImpl<TBDingSubmitMapper, TBD
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public List<DingSubmitExportDto> findDingSubmitExportList(Long serviceUnitId, String dingSubmitStatusDesc, Long submitUserId, String archivesName, Long supplierId, String customName, String sopNo, Integer violationHoursLimit, Integer dingExceptionLimit, Integer remainLimit, Integer exceptionLimit) {
|
|
|
+ public List<DingSubmitExportDto> findDingSubmitExportList(Long serviceUnitId, String dingSubmitStatusDesc, Long submitUserId, String archivesName, Long supplierId, String customName, String sopNo, Integer violationHoursLimit, Integer dingExceptionLimit, Integer remainLimit, Integer exceptionLimit, Long requestUserId) {
|
|
|
List<DingSubmitStatusEnum> dingSubmitStatusEnumList = new ArrayList<>();
|
|
|
if (dingSubmitStatusDesc != null && dingSubmitStatusDesc.length() > 0) {
|
|
|
dingSubmitStatusEnumList = Arrays.stream(DingSubmitStatusEnum.values())
|
|
@@ -255,9 +268,11 @@ public class TBDingSubmitServiceImpl extends ServiceImpl<TBDingSubmitMapper, TBD
|
|
|
}
|
|
|
archivesName = SystemConstant.translateSpecificSign(archivesName);
|
|
|
customName = SystemConstant.translateSpecificSign(customName);
|
|
|
+
|
|
|
+ DataPermissionDto dpr = sysUserService.buildUserDataPermission(requestUserId);
|
|
|
List<DingSubmitResult> dingSubmitResultList = this.baseMapper.findDingSubmitList(serviceUnitId, dingSubmitStatusEnumList,
|
|
|
submitUserId, null, archivesName, supplierId, customName, sopNo, violationHoursLimit, dingExceptionLimit,
|
|
|
- remainLimit, exceptionLimit);
|
|
|
+ remainLimit, exceptionLimit, dpr);
|
|
|
|
|
|
return dingSubmitResultList.stream().flatMap(e -> {
|
|
|
DingSubmitExportDto dto = new DingSubmitExportDto();
|