|
@@ -4,11 +4,13 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.qmth.sop.business.bean.dto.DingStatisticByPersonDto;
|
|
import com.qmth.sop.business.bean.dto.DingStatisticByPersonDto;
|
|
|
|
+import com.qmth.sop.business.bean.dto.SopInfoDto;
|
|
import com.qmth.sop.business.entity.TBDingAdd;
|
|
import com.qmth.sop.business.entity.TBDingAdd;
|
|
import com.qmth.sop.business.entity.TBDingStatistic;
|
|
import com.qmth.sop.business.entity.TBDingStatistic;
|
|
import com.qmth.sop.business.entity.TBDingStatisticByPerson;
|
|
import com.qmth.sop.business.entity.TBDingStatisticByPerson;
|
|
import com.qmth.sop.business.mapper.TBDingStatisticByPersonMapper;
|
|
import com.qmth.sop.business.mapper.TBDingStatisticByPersonMapper;
|
|
import com.qmth.sop.business.service.TBDingStatisticByPersonService;
|
|
import com.qmth.sop.business.service.TBDingStatisticByPersonService;
|
|
|
|
+import com.qmth.sop.common.contant.SystemConstant;
|
|
import org.apache.commons.collections4.CollectionUtils;
|
|
import org.apache.commons.collections4.CollectionUtils;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
@@ -16,7 +18,6 @@ import org.springframework.transaction.annotation.Transactional;
|
|
import java.math.BigDecimal;
|
|
import java.math.BigDecimal;
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
-import java.util.Objects;
|
|
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -76,21 +77,43 @@ public class TBDingStatisticByPersonServiceImpl extends ServiceImpl<TBDingStatis
|
|
tbDingStatisticByPerson.setViolationDays(violationDays);
|
|
tbDingStatisticByPerson.setViolationDays(violationDays);
|
|
|
|
|
|
// 处理工时增加
|
|
// 处理工时增加
|
|
- List<TBDingAdd> dingAddList = dingAddDatasource.stream().filter(e -> serviceId.equals(e.getServiceId()) && userId.equals(e.getUserId())).limit(1)
|
|
|
|
|
|
+ StringBuilder addDaysDetail = new StringBuilder();
|
|
|
|
+ StringBuilder addHoursDetail = new StringBuilder();
|
|
|
|
+
|
|
|
|
+ List<TBDingAdd> dingAddList = dingAddDatasource.stream().filter(e -> serviceId.equals(e.getServiceId()) && userId.equals(e.getUserId()))
|
|
.collect(Collectors.toList());
|
|
.collect(Collectors.toList());
|
|
if (CollectionUtils.isNotEmpty(dingAddList)) {
|
|
if (CollectionUtils.isNotEmpty(dingAddList)) {
|
|
for (TBDingAdd tbDingAdd : dingAddList) {
|
|
for (TBDingAdd tbDingAdd : dingAddList) {
|
|
- if (Objects.nonNull(tbDingAdd.getAddDays())){
|
|
|
|
- addDays = addDays.add(tbDingAdd.getAddDays());
|
|
|
|
|
|
+ String sopNo = tbDingAdd.getSopNo();
|
|
|
|
+ BigDecimal addDaysCell = tbDingAdd.getAddDays();
|
|
|
|
+ BigDecimal addHoursCell = tbDingAdd.getAddHours();
|
|
|
|
+ String sopInfo = "";
|
|
|
|
+ if (SystemConstant.strNotNull(sopNo)) {
|
|
|
|
+ SopInfoDto sopInfoDto = this.baseMapper.findSopInfoBySopNo(sopNo);
|
|
|
|
+ sopInfo = sopInfoDto.getSopNo() + SystemConstant.FLOW_FORM_ID_UNDERLINE + sopInfoDto.getCustomName() + SystemConstant.FLOW_FORM_ID_UNDERLINE
|
|
|
|
+ + sopInfoDto.getCourseName();
|
|
|
|
+ }
|
|
|
|
+ if (SystemConstant.effectBigDecimal(addDaysCell)) {
|
|
|
|
+ addDays = addDays.add(addDaysCell);
|
|
|
|
+ addDaysDetail.append(sopInfo).append("(").append(addDaysCell).append(")").append("\n");
|
|
}
|
|
}
|
|
- if (Objects.nonNull(tbDingAdd.getAddHours())){
|
|
|
|
- addHours = addHours.add(tbDingAdd.getAddHours());
|
|
|
|
|
|
+
|
|
|
|
+ if (SystemConstant.effectBigDecimal(addHoursCell)) {
|
|
|
|
+ addHours = addHours.add(addHoursCell);
|
|
|
|
+ addHoursDetail.append(sopInfo).append("(").append(addHoursCell).append(")").append("\n");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
tbDingStatisticByPerson.setAddDays(addDays);
|
|
tbDingStatisticByPerson.setAddDays(addDays);
|
|
tbDingStatisticByPerson.setAddHours(addHours);
|
|
tbDingStatisticByPerson.setAddHours(addHours);
|
|
tbDingStatisticByPerson.setWorkDays(tbDingStatisticByPerson.getWorkDays().add(addDays));
|
|
tbDingStatisticByPerson.setWorkDays(tbDingStatisticByPerson.getWorkDays().add(addDays));
|
|
tbDingStatisticByPerson.setWorkHours(workHours.add(addHours));
|
|
tbDingStatisticByPerson.setWorkHours(workHours.add(addHours));
|
|
|
|
+ if (SystemConstant.strNotNull(addDaysDetail.toString())) {
|
|
|
|
+ tbDingStatisticByPerson.setAddDaysDetail(addDaysDetail.substring(0, addDaysDetail.length() - "\n".length()));
|
|
|
|
+ }
|
|
|
|
+ if (SystemConstant.strNotNull(addHoursDetail.toString())) {
|
|
|
|
+ tbDingStatisticByPerson.setAddHoursDetail(addHoursDetail.substring(0, addHoursDetail.length() - "\n".length()));
|
|
|
|
+ }
|
|
}
|
|
}
|
|
result.add(tbDingStatisticByPerson);
|
|
result.add(tbDingStatisticByPerson);
|
|
}
|
|
}
|