|
@@ -1,11 +1,9 @@
|
|
|
package com.qmth.sop.business.service.impl;
|
|
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
-import com.qmth.sop.business.bean.result.TBDingAttendanceCountResult;
|
|
|
-import com.qmth.sop.business.bean.result.TBDingAttendanceResult;
|
|
|
-import com.qmth.sop.business.bean.result.TBDingCountQueryResult;
|
|
|
-import com.qmth.sop.business.bean.result.TBDingCountResult;
|
|
|
+import com.qmth.sop.business.bean.result.*;
|
|
|
import com.qmth.sop.business.entity.TBDing;
|
|
|
import com.qmth.sop.business.mapper.TBDingMapper;
|
|
|
import com.qmth.sop.business.service.TBDingService;
|
|
@@ -13,6 +11,7 @@ import com.qmth.sop.common.enums.DingResultEnum;
|
|
|
import com.qmth.sop.common.enums.InOutTypeEnum;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
import java.util.Objects;
|
|
@@ -30,6 +29,73 @@ import java.util.Objects;
|
|
|
public class TBDingServiceImpl extends ServiceImpl<TBDingMapper, TBDing> implements TBDingService {
|
|
|
|
|
|
|
|
|
+ @Override
|
|
|
+ public Object findDingElements() {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public DingStatisticResult findDingStatistic(Long serviceUnitId, String sopNo, Long userArchivesId) {
|
|
|
+ List<TBDing> tbDingList = this.list(new QueryWrapper<TBDing>().lambda()
|
|
|
+ .eq(TBDing::getServiceId, serviceUnitId)
|
|
|
+ .eq(TBDing::getSopNo, sopNo)
|
|
|
+ .eq(TBDing::getUserArchivesId, userArchivesId)
|
|
|
+ .orderByAsc(TBDing::getId));
|
|
|
+ List<DingFormResult> formList = new ArrayList<>();
|
|
|
+ int exceptionDays = 0;
|
|
|
+ for (TBDing tbDing : tbDingList) {
|
|
|
+ String signDate = tbDing.getSignDate();
|
|
|
+ Long signInTime = tbDing.getSignInTime();
|
|
|
+ String signInAddress = tbDing.getSignInAddress();
|
|
|
+ String axisInX = tbDing.getAxisInX();
|
|
|
+ String axisInY = tbDing.getAxisInY();
|
|
|
+
|
|
|
+ DingInfoResult signInInfo = new DingInfoResult();
|
|
|
+ if (signInTime == null || signInTime == 0) {
|
|
|
+ signInInfo.setStatus(false);
|
|
|
+ } else {
|
|
|
+ signInInfo.setStatus(true);
|
|
|
+ signInInfo.setInOutType(InOutTypeEnum.IN);
|
|
|
+ signInInfo.setSignTime(signInTime);
|
|
|
+ signInInfo.setSignAddress(signInAddress);
|
|
|
+ signInInfo.setAxisX(axisInX);
|
|
|
+ signInInfo.setAxisY(axisInY);
|
|
|
+ }
|
|
|
+
|
|
|
+ Long signOutTime = tbDing.getSignOutTime();
|
|
|
+ String signOutAddress = tbDing.getSignInAddress();
|
|
|
+ String axisOutX = tbDing.getAxisInX();
|
|
|
+ String axisOutY = tbDing.getAxisInY();
|
|
|
+
|
|
|
+ DingInfoResult signOutInfo = new DingInfoResult();
|
|
|
+ if (signOutTime == null || signOutTime == 0) {
|
|
|
+ signOutInfo.setStatus(false);
|
|
|
+ } else {
|
|
|
+ signOutInfo.setStatus(true);
|
|
|
+ signOutInfo.setInOutType(InOutTypeEnum.OUT);
|
|
|
+ signOutInfo.setSignTime(signOutTime);
|
|
|
+ signOutInfo.setSignAddress(signOutAddress);
|
|
|
+ signOutInfo.setAxisX(axisOutX);
|
|
|
+ signOutInfo.setAxisY(axisOutY);
|
|
|
+ }
|
|
|
+ DingFormResult formResult = new DingFormResult();
|
|
|
+ formResult.setDingId(tbDing.getId());
|
|
|
+ formResult.setSignDate(signDate);
|
|
|
+ formResult.setSignInInfo(signInInfo);
|
|
|
+ formResult.setSignOutInfo(signOutInfo);
|
|
|
+ formList.add(formResult);
|
|
|
+
|
|
|
+ if (!signInInfo.getStatus() || !signOutInfo.getStatus()) {
|
|
|
+ exceptionDays++;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ DingStatisticResult dingStatisticResult = new DingStatisticResult();
|
|
|
+ dingStatisticResult.setDingFormList(formList);
|
|
|
+ dingStatisticResult.setWorkDays(formList.size());
|
|
|
+ dingStatisticResult.setExceptionCount(exceptionDays);
|
|
|
+ return dingStatisticResult;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 查询列表
|
|
|
*
|
|
@@ -48,22 +114,22 @@ public class TBDingServiceImpl extends ServiceImpl<TBDingMapper, TBDing> impleme
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public TBDingCountResult count(Long serviceId, Long createId, String userName, Long supplierId, String custom, String sopNo) {
|
|
|
+ public TBDingCountResult count(Long serviceId, Long createId, String userName, Long supplierId, String custom, String sopNo) {
|
|
|
return this.baseMapper.count(serviceId, createId, userName, supplierId, custom, sopNo);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public IPage<TBDingAttendanceResult> attendanceQuery(IPage<Map> iPage, Long serviceId, String userName, Long startTime, Long endTime, Long supplierId, String custom, String sopNo, InOutTypeEnum type, DingResultEnum status) {
|
|
|
- return this.baseMapper.attendanceQuery(iPage,serviceId,userName,startTime,endTime, supplierId, custom, sopNo, Objects.nonNull(type)?type.name():null,Objects.nonNull(status)?status.name():null);
|
|
|
+ return this.baseMapper.attendanceQuery(iPage, serviceId, userName, startTime, endTime, supplierId, custom, sopNo, Objects.nonNull(type) ? type.name() : null, Objects.nonNull(status) ? status.name() : null);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public TBDingAttendanceCountResult attendanceCount(Long serviceId, String userName, Long startTime, Long endTime, Long supplierId, String custom, String sopNo) {
|
|
|
- return this.baseMapper.attendanceCount(serviceId,userName,startTime,endTime, supplierId, custom, sopNo);
|
|
|
+ return this.baseMapper.attendanceCount(serviceId, userName, startTime, endTime, supplierId, custom, sopNo);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public List<TBDingAttendanceResult> attendanceQuery(Long serviceId, String userName, Long startTime, Long endTime, Long supplierId, String custom, String sopNo, InOutTypeEnum type, DingResultEnum status) {
|
|
|
- return this.baseMapper.attendanceQuery(serviceId,userName,startTime,endTime, supplierId, custom, sopNo, Objects.nonNull(type)?type.name():null,Objects.nonNull(status)?status.name():null);
|
|
|
+ return this.baseMapper.attendanceQuery(serviceId, userName, startTime, endTime, supplierId, custom, sopNo, Objects.nonNull(type) ? type.name() : null, Objects.nonNull(status) ? status.name() : null);
|
|
|
}
|
|
|
}
|