DutyRosterBaseTempDaoImpl.java 3.95 KB
package com.zteits.park.dao.impl;

import java.util.Date;
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.DutyRosterBaseQueryReq;
import com.zteits.park.dao.DutyRosterBaseTempDao;
import com.zteits.park.domain.DutyRosterBaseTemp;
import com.zteits.park.domain.DutyRosterBaseTempExample;
import com.zteits.park.domain.DutyRosterBaseTempExample.Criteria;
import com.zteits.park.mapper.DutyRosterBaseTempMapper;
import io.jsonwebtoken.lang.Collections;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

/**
 * Copyright: Copyright (c) 2017  zteits
 *
 * @ClassName: DutyRosterBaseTempDaoImpl.java
 * @Description:
 * @version: v1.0.0
 * @author: wangfei
 * @date: 2018年8月20日   上午9:41:18
 * Modification History:
 * Date         Author          Version      Description
 * ---------------------------------------------------------*
 * 2018年8月20日      wangfei          v1.0.0          创建
 */
@Component
public class DutyRosterBaseTempDaoImpl implements DutyRosterBaseTempDao {
    @Autowired
    private DutyRosterBaseTempMapper dutyRosterBaseTempMapper;

    @Override
    public Integer saveDutyRosterBaseTemp(DutyRosterBaseTemp dutyRosterBaseTemp) {

        return dutyRosterBaseTempMapper.insertSelective(dutyRosterBaseTemp);
    }

    @Override
    public Integer saveDutyRosterBaseTemps(List<DutyRosterBaseTemp> dutyRosterBaseTemps, Long orgId, List<Long> planIds) {
        if (null != orgId && !Collections.isEmpty(planIds)) {
            DutyRosterBaseTempExample example = new DutyRosterBaseTempExample();
            example.createCriteria().andPlanIdIn(planIds).andOrgIdEqualTo(orgId);
            dutyRosterBaseTempMapper.deleteByExample(example);
        }

        int num = 0;
        if (CollectionUtils.isNotEmpty(dutyRosterBaseTemps)) {
            for (DutyRosterBaseTemp base : dutyRosterBaseTemps) {
                base.setOrgId(orgId);
                base.setCreateTime(new Date());
                int i = dutyRosterBaseTempMapper.insertSelective(base);
                if (i > 0) {
                    num++;
                }
            }
        }

        return num;
    }

    @Override
    public Integer deleteDutyRosterBaseTemp(List<Long> orgIds, List<Long> planIds,Integer dutyType) {
        DutyRosterBaseTempExample example = new DutyRosterBaseTempExample();

        Criteria sql = example.createCriteria();

        if (CollectionUtils.isNotEmpty(orgIds)) {
            sql.andOrgIdIn(orgIds);
        }
        if (CollectionUtils.isNotEmpty(planIds)) {
            sql.andPlanIdIn(planIds);
        }

        if (null != dutyType) {
            sql.andDutyTypeEqualTo(dutyType);
        }

       int num = dutyRosterBaseTempMapper.deleteByExample(example);

        return num;
    }

    @Override
    public List<DutyRosterBaseTemp> queryDutyRosterBaseTemp(DutyRosterBaseQueryReq req) {

        DutyRosterBaseTempExample example = new DutyRosterBaseTempExample();

        //设置查询条件
        Criteria criteria = example.createCriteria();
        criteria.andDataStatusEqualTo(DataStatusEnum.DATA_STATUS_VALID.value());
        if (null != req.getOrgId()) {
            criteria.andOrgIdEqualTo(req.getOrgId());
        }
        if (CollectionUtils.isNotEmpty(req.getChargeCodes())) {
            criteria.andChargerCodeIn(req.getChargeCodes());
        }
        if (CollectionUtils.isNotEmpty(req.getPlNos())) {
            criteria.andPlNoIn(req.getPlNos());
        }

        if (null != req.getDutyType()) {
            criteria.andDutyTypeEqualTo(req.getDutyType());
        }

        return dutyRosterBaseTempMapper.selectByExample(example);

    }

    @Override
    public Boolean updateDutyRosterBaseTemp(DutyRosterBaseTemp dutyRosterBaseTemp) {
        return dutyRosterBaseTempMapper.updateByPrimaryKeySelective(dutyRosterBaseTemp) > 0;
    }
}