package com.zteits.park.dao.impl; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.xiaoleilu.hutool.date.DateUtil; import com.zteits.clouds.api.apibase.constants.DataStatusEnum; import com.zteits.clouds.api.apibase.constants.ErrorType; import com.zteits.clouds.api.apibase.exception.BizException; import com.zteits.clouds.api.dto.assess.param.ChargerAssessRequest; import com.zteits.clouds.api.dto.park.param.ChargeInspectDetailRequest; import com.zteits.park.dao.ChargerAssessEvidenceDao; import com.zteits.park.domain.ChargerAssessServiceEvidence; import com.zteits.park.domain.ChargerAssessServiceEvidenceExample; import com.zteits.park.domain.ChargerAssessSignEvidence; import com.zteits.park.domain.ChargerAssessSignEvidenceExample; import com.zteits.park.domain.ChargerAssessSignEvidenceExample.Criteria; import com.zteits.park.mapper.ChargerAssessServiceEvidenceMapper; import com.zteits.park.mapper.ChargerAssessSignEvidenceMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.util.ArrayList; import java.util.Date; import java.util.List; @Component public class ChargerAssessEvidenceDaoImpl implements ChargerAssessEvidenceDao { @Autowired private ChargerAssessSignEvidenceMapper chargerAssessSignEvidenceMapper; @Autowired private ChargerAssessServiceEvidenceMapper chargerAssessServiceEvidenceMapper; @Override public int saveChargerAssessSignEvidence(ChargerAssessSignEvidence chargerAssessSignEvidence) { if(chargerAssessSignEvidence.getCreateTime()==null){ chargerAssessSignEvidence.setCreateTime(new Date()); } return chargerAssessSignEvidenceMapper.insertSelective(chargerAssessSignEvidence); } @Override public int saveChargerAssessServiceEvidence(ChargerAssessServiceEvidence chargerAssessServiceEvidence) { if(chargerAssessServiceEvidence.getCreateTime()==null){ chargerAssessServiceEvidence.setCreateTime(new Date()); } return chargerAssessServiceEvidenceMapper.insertSelective(chargerAssessServiceEvidence); } @Override public int deleteChargerAssessSignEvidence(ChargerAssessSignEvidence deleteEvidence) { ChargerAssessSignEvidenceExample example = new ChargerAssessSignEvidenceExample(); Criteria sql = example.createCriteria(); sql.andOrgIdEqualTo(deleteEvidence.getOrgId()); sql.andChargerCodeEqualTo(deleteEvidence.getChargerCode()); sql.andSignOutTypeEqualTo(deleteEvidence.getSignOutType()); sql.andDutyDayEqualTo(deleteEvidence.getDutyDay()); deleteEvidence.setModifyTime(new Date()); deleteEvidence.setDataState(DataStatusEnum.DATA_STATUS_NO_VALID.value()); return chargerAssessSignEvidenceMapper.updateByExampleSelective(deleteEvidence, example ); } @Override public PageInfo queryChargerAssessSignDetailForPage(ChargerAssessRequest request) { PageHelper.startPage(request.getBaseRequest().getPageNum(), request.getBaseRequest().getPageSize()); ChargerAssessSignEvidenceExample example = new ChargerAssessSignEvidenceExample(); Criteria sql = example.createCriteria(); sql.andDataStateEqualTo(DataStatusEnum.DATA_STATUS_VALID.value()); sql.andOrgIdEqualTo(request.getOrgId()); if(!StringUtils.isBlank(request.getChargerCode())){ sql.andChargerCodeEqualTo(request.getChargerCode()); } if(request.getPersonType() != null){ sql.andPersonTypeEqualTo(request.getPersonType()); } if(request.getBeginTime() != null){ sql.andDutyDayGreaterThanOrEqualTo(request.getBeginTime()); } if(request.getEndTime() != null){ sql.andDutyDayLessThanOrEqualTo(request.getEndTime()); } List list = chargerAssessSignEvidenceMapper.selectByExample(example); if (CollectionUtils.isNotEmpty(list)) { return new PageInfo(list); } example.setOrderByClause("id desc"); return new PageInfo(new ArrayList()); } @Override public PageInfo queryChargerAssessServiceDetailForPage(ChargerAssessRequest request) { PageHelper.startPage(request.getBaseRequest().getPageNum(), request.getBaseRequest().getPageSize()); ChargerAssessServiceEvidenceExample example = new ChargerAssessServiceEvidenceExample(); com.zteits.park.domain.ChargerAssessServiceEvidenceExample.Criteria sql = example.createCriteria(); sql.andDataStateEqualTo(DataStatusEnum.DATA_STATUS_VALID.value()); sql.andOrgIdEqualTo(request.getOrgId()); if(!StringUtils.isBlank(request.getChargerCode())){ sql.andChargerCodeEqualTo(request.getChargerCode()); } if(request.getPersonType() != null){ sql.andPersonTypeEqualTo(request.getPersonType()); } if(request.getExamState() != null){ sql.andExamStateEqualTo(request.getExamState()); } if(request.getBeginTime() != null){ sql.andDutyDayGreaterThanOrEqualTo(request.getBeginTime()); } if(request.getEndTime() != null){ sql.andDutyDayLessThanOrEqualTo(request.getEndTime()); } List list = chargerAssessServiceEvidenceMapper.selectByExample(example); if (CollectionUtils.isNotEmpty(list)) { return new PageInfo(list); } example.setOrderByClause("id desc"); return new PageInfo(new ArrayList()); } @Override public List querySignEvdenceBySignId(Long signId,String chargerCode,Date dutyDate) { ChargerAssessSignEvidenceExample example = new ChargerAssessSignEvidenceExample(); Criteria sql = example.createCriteria(); sql.andDataStateEqualTo(DataStatusEnum.DATA_STATUS_VALID.value()); if(signId == null && chargerCode == null){ throw new BizException(ErrorType.PARAMM_NULL,"收费员编号和签到ID都为空!"); } if(signId != null){ sql.andSignIdEqualTo(signId); } if(chargerCode != null){ sql.andChargerCodeEqualTo(chargerCode); } if(dutyDate != null){ sql.andDutyDayEqualTo(dutyDate); } List list = chargerAssessSignEvidenceMapper.selectByExample(example); return list; } @Override public Integer deleteTodayChargerAssessSignOutEvidence(ChargerAssessSignEvidence deleteEvidence) { ChargerAssessSignEvidenceExample example = new ChargerAssessSignEvidenceExample(); Criteria sql = example.createCriteria(); sql.andChargerCodeEqualTo(deleteEvidence.getChargerCode()); sql.andDutyDayEqualTo(DateUtil.beginOfDay(new Date())); sql.andSignOutTimeIsNotNull(); deleteEvidence.setModifyTime(new Date()); deleteEvidence.setDataState(DataStatusEnum.DATA_STATUS_NO_VALID.value()); deleteEvidence.setRemark("有新签退记录生成,删除今日历史数据"); return chargerAssessSignEvidenceMapper.updateByExampleSelective(deleteEvidence, example ); } /** * 获取根据 serviceDetailNo 获取详情列表 * * @param request */ @Override public List queryChargerAssessServiceDetailListByNo(ChargeInspectDetailRequest request) { ChargerAssessServiceEvidenceExample example = new ChargerAssessServiceEvidenceExample(); example.createCriteria() .andServiceDetailNoEqualTo(request.getServiceDetailNo()) .andDataStateEqualTo(DataStatusEnum.DATA_STATUS_VALID.value()); return this.chargerAssessServiceEvidenceMapper.selectByExample(example); } }