package com.zteits.park.dao.impl; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.function.Function; import java.util.stream.Collectors; import com.zteits.clouds.api.dto.park.dto.TpEEmployeeChargeDTO; import com.zteits.clouds.api.dto.park.param.dutyroster.DutyRosterChargerForUpdateQueryReq; import com.zteits.clouds.api.dto.park.param.parksource.QueryParkSourceByOrgIdsRequest; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.apache.commons.collections4.CollectionUtils; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.xiaoleilu.hutool.util.CollectionUtil; import com.zteits.clouds.api.apibase.constants.DataStatusEnum; import com.zteits.clouds.api.dto.clouds.param.QueryEmployeeRequest; import com.zteits.clouds.api.dto.park.dto.parksource.ParkSouceEmployeeStaDTO; import com.zteits.clouds.api.dto.park.param.dutyroster.DutyRosterChargerQueryReq; import com.zteits.clouds.api.dto.park.param.parksource.QueryParkSourceRequest; import com.zteits.park.dao.TpEEmployeeChargeDao; import com.zteits.park.domain.TpEEmployeeCharge; import com.zteits.park.domain.TpEEmployeeChargeExample; import com.zteits.park.mapper.TpEEmployeeChargeMapper; import com.zteits.park.mapper.smapper.TpEEmployeeChargeSMapper; /** * * Copyright: Copyright (c) 2017 zteits * * @ClassName: TpEEmployeeChargeDaoImpl.java * @Description: * @version: v1.0.0 * @author: wangfei * @date: 2017年9月17日 下午12:08:30 * Modification History: * Date Author Version Description * ---------------------------------------------------------* * 2017年9月17日 wangfei v1.0.0 创建 */ @Component public class TpEEmployeeChargeDaoImpl implements TpEEmployeeChargeDao { @Autowired private TpEEmployeeChargeSMapper tpEEmployeeChargeSMapper; @Autowired private TpEEmployeeChargeMapper tpEEmployeeChargeMapper; @Override public TpEEmployeeCharge queryChargerByChargerCode(String chargerCode) { TpEEmployeeChargeExample example = new TpEEmployeeChargeExample(); example.createCriteria().andChargerCodeEqualTo(chargerCode) .andDataStatusEqualTo(DataStatusEnum.DATA_STATUS_VALID.value()); List eEmployeeCharges = tpEEmployeeChargeMapper.selectByExample(example ); if(!CollectionUtils.isEmpty(eEmployeeCharges)){ return eEmployeeCharges.get(0); } return null; } @Override public TpEEmployeeCharge queryEmployeeByCodeAndPwd(String chargerCode, String chargerPwd) { TpEEmployeeChargeExample example = new TpEEmployeeChargeExample(); example.createCriteria().andChargerCodeEqualTo(chargerCode) .andChargerPwdEqualTo(chargerPwd) .andDataStatusEqualTo(DataStatusEnum.DATA_STATUS_VALID.value()); List eEmployeeCharges = tpEEmployeeChargeMapper.selectByExample(example ); if(!CollectionUtils.isEmpty(eEmployeeCharges)){ return eEmployeeCharges.get(0); } return null; } @Override public Boolean updateByChargerCode(TpEEmployeeCharge tpEEmployeeCharge) { if(tpEEmployeeCharge.getModifyTime()==null){ tpEEmployeeCharge.setModifyTime(new Date()); } return tpEEmployeeChargeSMapper.updateByChargerCode(tpEEmployeeCharge) > 0; } @Override public Integer insertSelective(TpEEmployeeCharge record) { record.setCreateTime(new Date()); record.setModifyTime(new Date()); return tpEEmployeeChargeMapper.insertSelective(record ); } @Override public PageInfo queryEmployeesForPage(QueryEmployeeRequest request) { PageHelper.startPage(request.getBaseRequest().getPageNum(), request.getBaseRequest().getPageSize()); List list = tpEEmployeeChargeSMapper.queryEmployeesForPage(request); if (CollectionUtils.isNotEmpty(list)) { return new PageInfo(list); } return new PageInfo(new ArrayList()); } @Override public TpEEmployeeCharge getEmployeeById(Long id) { return tpEEmployeeChargeMapper.selectByPrimaryKey(id); } @Override public int updateByPrimaryKeySelective(TpEEmployeeCharge record) { return tpEEmployeeChargeMapper.updateByPrimaryKeySelective(record); } @Override public Boolean isExistsForChargerCode(String chargerCode) { TpEEmployeeChargeExample example = new TpEEmployeeChargeExample(); example.createCriteria().andChargerCodeEqualTo(chargerCode); return tpEEmployeeChargeMapper.countByExample(example )>0; } @Override public String generateChargerCode(String areaCode) { // TpEEmployeeChargeExample example = new TpEEmployeeChargeExample(); // example.createCriteria().andChargerCodeLike(areaCode+"%"); // long count = tpEEmployeeChargeMapper.countByExample(example ); //改造为查询最大的编号(后四位) Integer count = tpEEmployeeChargeSMapper.queryTheMaxChargerCodeNum(areaCode); count++; //默认为areaCode+4位数字,不够补零 String countStr = new Long(count).toString(); if(countStr.length()<4){ return areaCode+String.format("%04d", count); } return areaCode+countStr; } @Override public boolean deleteChargerByIds(List Ids, Long opId) { TpEEmployeeChargeExample example = new TpEEmployeeChargeExample(); example.createCriteria().andIdIn(Ids); TpEEmployeeCharge record = new TpEEmployeeCharge(); record.setDataStatus(DataStatusEnum.DATA_STATUS_NO_VALID.value()); record.setModifyOp(opId); record.setModifyTime(new Date()); tpEEmployeeChargeMapper.updateByExampleSelective(record, example); return true; } @Override public List queryChargerByPlNo(List plNos) { TpEEmployeeChargeExample example = new TpEEmployeeChargeExample(); example.createCriteria().andPlNoIn(plNos) .andDataStatusEqualTo(DataStatusEnum.DATA_STATUS_VALID.value()).andChargerTypeEqualTo("0"); return tpEEmployeeChargeMapper.selectByExample(example ); } @Override public List queryChargerByChargerCodes(List chargerCodes) { if(CollectionUtils.isEmpty(chargerCodes)){ return new ArrayList<>(); } TpEEmployeeChargeExample example = new TpEEmployeeChargeExample(); example.createCriteria().andChargerCodeIn(chargerCodes) .andDataStatusEqualTo(DataStatusEnum.DATA_STATUS_VALID.value()); return tpEEmployeeChargeMapper.selectByExample(example); } @Override public Integer queryEmployeeNumByPlNo(QueryEmployeeRequest request) { return tpEEmployeeChargeSMapper.queryEmployeeNumByPlNo(request); } @Override public PageInfo queryParkSourceEmployeeSta(QueryParkSourceRequest request) { //设置分页信息 PageHelper.startPage(request.getBaseRequest().getPageNum(), request.getBaseRequest().getPageSize()); List dtos = tpEEmployeeChargeSMapper.queryParkSourceEmployeeSta(request); return new PageInfo<>(dtos); } @Override public Map queryParkSourceEmployeeStaForMap(QueryParkSourceRequest request) { List list = tpEEmployeeChargeSMapper.queryParkSourceEmployeeSta(request); if(CollectionUtil.isEmpty(list)){ Map map=new HashMap<>(); return map; }else{ return list.stream().collect(Collectors.toMap(ParkSouceEmployeeStaDTO::getPlNo, Function.identity())); } } @Override public List queryNotDutyChargerList(DutyRosterChargerQueryReq request) { return tpEEmployeeChargeSMapper.queryNotDutyChargerList(request); } @Override public List queryNotDutyAndThisPlanChargerList(DutyRosterChargerForUpdateQueryReq request) { return tpEEmployeeChargeSMapper.queryNotDutyAndThisPlanChargerList(request); } @Override public TpEEmployeeCharge queryChargerInfoById(Long id) { return tpEEmployeeChargeMapper.selectByPrimaryKey(id); } @Override public List queryChargerInfoByIds(List ids) { TpEEmployeeChargeExample example = new TpEEmployeeChargeExample(); example.createCriteria().andIdIn(ids) .andDataStatusEqualTo(DataStatusEnum.DATA_STATUS_VALID.value()); return tpEEmployeeChargeMapper.selectByExample(example); } @Override public ParkSouceEmployeeStaDTO queryEmployeeStaByOrgIds(QueryParkSourceByOrgIdsRequest request) { return tpEEmployeeChargeSMapper.queryEmployeeStaByOrgIds(request); } @Override public List queryOnlineEmployeeChargeList(QueryEmployeeRequest queryEmployeeRequest) { return tpEEmployeeChargeSMapper.queryOnlineEmployeeChargeList(queryEmployeeRequest); } @Override public List queryChargerByOrgId(Long orgId) { TpEEmployeeChargeExample example = new TpEEmployeeChargeExample(); example.createCriteria().andOrgIdEqualTo(orgId) .andDataStatusEqualTo(DataStatusEnum.DATA_STATUS_VALID.value()).andChargerTypeEqualTo("0"); return tpEEmployeeChargeMapper.selectByExample(example ); } }