| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165 |
- package cn.com.goldenwater.dcproj.service.impl;
- import cn.com.goldenwater.dcproj.dao.TaskItemDayDao;
- import cn.com.goldenwater.dcproj.dto.BisInspTaskDthDayDto;
- import cn.com.goldenwater.dcproj.dto.TaskItemDayDto;
- import cn.com.goldenwater.dcproj.model.BisInspTaskDthDay;
- import cn.com.goldenwater.dcproj.model.TaskItemDay;
- import cn.com.goldenwater.dcproj.param.BisInspTaskDthDayParam;
- import cn.com.goldenwater.dcproj.param.TaskItemDayParam;
- import cn.com.goldenwater.dcproj.service.OlBisInspOrgService;
- import cn.com.goldenwater.dcproj.service.TaskItemDayService;
- import cn.com.goldenwater.core.service.AbstractCrudService;
- import cn.com.goldenwater.dcproj.task.DayTypeRegService;
- import cn.com.goldenwater.dcproj.utils.AdLevelUtil;
- import cn.com.goldenwater.dcproj.utils.DateUtils;
- import com.github.pagehelper.PageHelper;
- import org.apache.commons.lang3.StringUtils;
- import org.springframework.beans.BeanUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import org.springframework.transaction.annotation.Transactional;
- import cn.com.goldenwater.id.util.UuidUtil;
- import java.util.*;
- /**
- * @author lhc
- * @date 2020-10-20
- */
- @Service
- @Transactional
- public class TaskItemDayServiceImpl extends AbstractCrudService<TaskItemDay, TaskItemDayParam> implements TaskItemDayService {
- @Autowired
- private TaskItemDayDao taskItemDayDao;
- @Autowired
- private OlBisInspOrgService olBisInspOrgService;
- public TaskItemDayServiceImpl(TaskItemDayDao taskItemDayDao) {
- super(taskItemDayDao);
- this.taskItemDayDao = taskItemDayDao;
- }
- @Override
- public int insert(TaskItemDay taskItemDay) {
- // 生成uuid
- String uuid = UuidUtil.uuid();
- // 插入前判断是否存在 存在则更新,不存在则插入
- TaskItemDayParam taskItemDayParam = new TaskItemDayParam();
- taskItemDayParam.setAdCode(taskItemDay.getAdCode());
- taskItemDayParam.setObjType(taskItemDay.getObjType());
- taskItemDayParam.setTm(taskItemDay.getTm());
- taskItemDayParam.setItemName(taskItemDay.getItemName());
- List<TaskItemDay> bisInspTaskDthDays = taskItemDayDao.findList(taskItemDayParam);
- taskItemDay.setUptm(new Date());
- if (bisInspTaskDthDays.size() == 1) {
- taskItemDay.setId(bisInspTaskDthDays.get(0).getId());
- return this.taskItemDayDao.update(taskItemDay);
- } else {
- taskItemDay.setId(uuid);
- taskItemDay.setIntm(new Date());
- taskItemDay.setDataStat("0");
- return this.taskItemDayDao.insert(taskItemDay);
- }
- }
- @Override
- public int update(TaskItemDay taskItemDay) {
- taskItemDay.setUptm(new Date());
- return this.taskItemDayDao.update(taskItemDay);
- }
- @Override
- public int delete(String id) {
- return this.taskItemDayDao.delete(id);
- }
- @Override
- public List<TaskItemDay> find(TaskItemDayDto taskItemDayDto) {
- setDate(taskItemDayDto);
- // 判断市县级别
- taskItemDayDto.setAdGrad("3");
- if (StringUtils.isNotBlank(taskItemDayDto.getAdCode())){
- String addvcd = AdLevelUtil.getAddvcd(taskItemDayDto.getAdCode());
- taskItemDayDto.setAdCode(addvcd);
- if (addvcd.length() == 4) {
- // 市级编码
- taskItemDayDto.setAdGrad("4");
- }
- } else {
- // 没有AD_CODE, 设置指定省份,防止获取到多个省数据
- String province = AdLevelUtil.getAddvcd(olBisInspOrgService.getProvince(taskItemDayDto.getOrgId()));
- taskItemDayDto.setAdCode(province);
- }
- if(StringUtils.isNotBlank(taskItemDayDto.getObjType())){
- taskItemDayDto.setObjType(String.valueOf(Integer.parseInt(taskItemDayDto.getObjType())));
- }
- TaskItemDayParam taskItemDayParam = new TaskItemDayParam();
- BeanUtils.copyProperties(taskItemDayDto, taskItemDayParam);
- List<TaskItemDay> taskItemDayList = taskItemDayDao.findForCity(taskItemDayParam);
- for (TaskItemDay taskItemDay : taskItemDayList){
- taskItemDay.setItemName(Optional.ofNullable(taskItemDay.getItemName()).orElse(""));
- taskItemDay.setErrorPlbm(Optional.ofNullable(taskItemDay.getErrorPlbm()).orElse(0));
- taskItemDay.setErrorsPlbm(Optional.ofNullable(taskItemDay.getErrorsPlbm()).orElse(0));
- taskItemDay.setWarmPlbm(Optional.ofNullable(taskItemDay.getWarmPlbm()).orElse(0));
- taskItemDay.setInfoPlbm(Optional.ofNullable(taskItemDay.getInfoPlbm()).orElse(0));
- taskItemDay.setPblmLogSize(Optional.ofNullable(taskItemDay.getPblmLogSize()).orElse(0));
- taskItemDay.setMendSize(Optional.ofNullable(taskItemDay.getMendSize()).orElse(0));
- taskItemDay.setPblmSize(Optional.ofNullable(taskItemDay.getPblmSize()).orElse(0));
- }
- return taskItemDayList;
- }
- private void setDate(TaskItemDayDto taskItemDayDto) {
- // 1. 判断 时间类别
- String timeType = Optional.ofNullable(taskItemDayDto)
- .map(TaskItemDayDto::getTimeType)
- .orElse("");
- if(null != timeType && timeType.contains("_")){
- //自定义时间段
- String[] dateStr = timeType.split("_");
- if( 2 == dateStr.length){
- taskItemDayDto.setSttm(dateStr[0]);
- taskItemDayDto.setEntm(dateStr[1]);
- return ;
- }
- }
- Date entm = DayTypeRegService.getToday();
- Calendar sttm = Calendar.getInstance();
- switch (timeType) {
- // 近一个月
- case "1":
- sttm.add(Calendar.MONTH, -1);
- break;
- // 近三个月
- case "2":
- sttm.add(Calendar.MONTH, -3);
- break;
- // 近半年
- case "3":
- sttm.add(Calendar.MONTH, -6);
- break;
- // 近一年
- case "4":
- sttm.add(Calendar.YEAR, -1);
- break;
- case "6":
- sttm.set(Integer.parseInt(DateUtils.getToday("yyyy")), Calendar.JANUARY, 1);
- break;
- default:
- }
- assert taskItemDayDto != null;
- taskItemDayDto.setSttm(DateUtils.Calendar2Str(sttm, "yyyy-MM-dd"));
- taskItemDayDto.setEntm(DateUtils.Date2Str(entm, "yyyy-MM-dd"));
- }
- }
|