package com.zteits.park.dao.impl; import java.util.List; import org.apache.commons.collections4.CollectionUtils; import com.zteits.clouds.api.apibase.constants.DataStatusEnum; import com.zteits.clouds.api.dto.park.param.dutyroster.BerthRangeNoQueryByOrgIdReq; import com.zteits.clouds.api.dto.park.param.dutyroster.DeleteParkForDutyRosterReq; import com.zteits.clouds.api.dto.park.param.dutyroster.DutyRosteExchangeReq; import com.zteits.clouds.api.dto.park.param.dutyroster.DutyRosterBaseQueryReq; import com.zteits.park.dao.DutyRosterBaseDao; import com.zteits.park.domain.DutyRosterBase; import com.zteits.park.domain.DutyRosterBaseExample; import com.zteits.park.domain.DutyRosterBaseExample.Criteria; import com.zteits.park.mapper.DutyRosterBaseMapper; import com.zteits.park.mapper.smapper.DutyRosterBaseSMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; /** * Copyright: Copyright (c) 2018 zteits * * @ClassName: com.zteits.park.dao.impl * @Description: * @version: v1.0.0 * @author: atao * @date: 2018/8/15 下午3:35 * Modification History: * Date Author Version Description * ---------------------------------------------------------* * 2018/8/15 atao v1.0.0 创建 */ @Component public class DutyRosterBaseDaoImpl implements DutyRosterBaseDao { @Autowired private DutyRosterBaseMapper dutyRosterBaseMapper; @Autowired private DutyRosterBaseSMapper dutyRosterBaseSMapper; @Override public Integer saveDutyRosterBase(List dutyRosterBases) { int num = 0; if (CollectionUtils.isNotEmpty(dutyRosterBases)) { for (DutyRosterBase base : dutyRosterBases) { int i = dutyRosterBaseMapper.insertSelective(base); if (i > 0) { num++; } } } return num; } @Override public List queryDutyRosterBase(DutyRosterBaseQueryReq req) { DutyRosterBaseExample example = new DutyRosterBaseExample(); Criteria sql = example.createCriteria(); sql.andOrgIdEqualTo(req.getOrgId()); if (null != req.getPlanId()) { sql.andPlanIdEqualTo(req.getPlanId()); } if (null != req.getDataState()) { sql.andDataStatusEqualTo(req.getDataState()); } else { sql.andDataStatusEqualTo(DataStatusEnum.DATA_STATUS_VALID.value()); } if (CollectionUtils.isNotEmpty(req.getChargeCodes())) { sql.andChargerCodeIn(req.getChargeCodes()); } if (CollectionUtils.isNotEmpty(req.getPlNos())) { sql.andPlNoIn(req.getPlNos()); } if (CollectionUtils.isNotEmpty(req.getWorkState())) { sql.andIsRestIn(req.getWorkState()); } if (null != req.getDutyType()) { sql.andDutyTypeEqualTo(req.getDutyType()); } //设置排序字段 StringBuffer orderByCase = new StringBuffer("day_num,"); //视图类型 10:收费员视图 20:停车场视图 if (new Integer(10).equals(req.getViewType())) { orderByCase.append("charger_code,"); } if (new Integer(20).equals(req.getViewType())) { orderByCase.append("pl_no,"); } //删除最后一个 逗号',' if (orderByCase.length() > 0) { orderByCase = orderByCase.deleteCharAt(orderByCase.length() - 1); } example.setOrderByClause(orderByCase.toString()); return dutyRosterBaseMapper.selectByExample(example); } /** * 通过排班计划Id查询排班计划基础数据 * * @return */ @Override public List queryDutyRosterBaseByPlanId(Long planId) { DutyRosterBaseExample example = new DutyRosterBaseExample(); Criteria sql = example.createCriteria(); sql.andDataStatusEqualTo(DataStatusEnum.DATA_STATUS_VALID.value()) .andPlanIdEqualTo(planId); example.setOrderByClause("day_num asc"); return dutyRosterBaseMapper.selectByExample(example); } @Override public Integer deleteutyRosterBaseByPlanId(Long orgId, List PlanIds, Integer dutyType) { DutyRosterBaseExample example = new DutyRosterBaseExample(); Criteria sql = example.createCriteria(); sql.andPlanIdIn(PlanIds); sql.andOrgIdEqualTo(orgId); if (null != dutyType) { sql.andDutyTypeEqualTo(dutyType); } return dutyRosterBaseMapper.deleteByExample(example); } @Override public Integer deleteParkByPlanIdAndPlNosForRosterBase(DeleteParkForDutyRosterReq req) { DutyRosterBaseExample example = new DutyRosterBaseExample(); Criteria sql = example.createCriteria(); sql.andPlNoIn(req.getPlNos()); sql.andPlanIdEqualTo(req.getPlanId()); sql.andOrgIdEqualTo(req.getOrgId()); if (null != req.getDutyType()) { sql.andDutyTypeEqualTo(req.getDutyType()); } return dutyRosterBaseMapper.deleteByExample(example); } @Override public Integer queryHaveChargerNumForUpdatePlan(Long planId) { return dutyRosterBaseSMapper.queryHaveChargerNumForUpdatePlan(planId); } @Override public Integer deleteutyRosterBaseByChargerCodes(Long orgId, List chargerCodes, Integer dutyType) { DutyRosterBaseExample example = new DutyRosterBaseExample(); Criteria sql = example.createCriteria(); sql.andChargerCodeIn(chargerCodes); sql.andOrgIdEqualTo(orgId); return dutyRosterBaseMapper.deleteByExample(example); } @Override public Integer moveTempToBase(Long orgId, Long planId, Integer dutyType) { return dutyRosterBaseSMapper.moveTempToBase(orgId, planId, dutyType); } @Override public List queryHasDutyRosterParkLot(Long orgId, List plNos, Integer dutyType) { return dutyRosterBaseSMapper.queryHasDutyRosterParkLot(orgId, plNos, dutyType); } @Override public List queryChargersByPlNos(Long orgId, List plNos, Integer dutyType) { return dutyRosterBaseSMapper.queryChargersByPlNos(orgId, plNos,dutyType); } @Override public Integer updateDutyRosterBaseByChargerCode(String chargerCode, DutyRosterBase base) { DutyRosterBaseExample example = new DutyRosterBaseExample(); example.createCriteria().andChargerCodeEqualTo(chargerCode); return dutyRosterBaseMapper.updateByExampleSelective(base, example); } @Override public Integer exchangeDutyRoster(DutyRosteExchangeReq req) { return dutyRosterBaseSMapper.exchangeDutyRoster(req); } @Override public List queryBerthRangeNoByOrgId(BerthRangeNoQueryByOrgIdReq req) { return dutyRosterBaseSMapper.queryBerthRangeNoByOrgId(req); } }