ChargerAssessTemplateDaoImpl.java 5.38 KB
package com.zteits.park.dao.impl;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
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.park.param.ChargerAssessTemplateRequest;
import com.zteits.park.constant.AssessNoConstant;
import com.zteits.park.dao.ChargerAssessTemplateDao;
import com.zteits.park.domain.ChargerAssessTemplate;
import com.zteits.park.domain.ChargerAssessTemplateExample;
import com.zteits.park.domain.ChargerAssessTemplateExample.Criteria;
import com.zteits.park.mapper.ChargerAssessTemplateMapper;

@Component
public class ChargerAssessTemplateDaoImpl implements  ChargerAssessTemplateDao {
    @Autowired
    private ChargerAssessTemplateMapper chargerAssessTemplateMapper;

    @Override
    public int saveChargerAssessTemplate(ChargerAssessTemplate chargerAssessTemplate) {
        if(chargerAssessTemplate.getCreateTime()==null){
            chargerAssessTemplate.setCreateTime(new Date());
        }
        if(chargerAssessTemplate.getOrgId() == null){
        	throw new BizException(ErrorType.PARAMM_NULL,"组织编码为空!");
        }

        return chargerAssessTemplateMapper.insertSelective(chargerAssessTemplate);
    }

    @Override
    public int updateByExampleSelective(ChargerAssessTemplate record, ChargerAssessTemplateExample example) {
        return chargerAssessTemplateMapper.updateByExampleSelective(record,example);
    }

    @Override
    public int updateByPrimaryKeySelective(ChargerAssessTemplate record) {
        return chargerAssessTemplateMapper.updateByPrimaryKeySelective(record);
    }

    @Override
    public List<ChargerAssessTemplate> selectByExample(ChargerAssessTemplateExample example) {
        return chargerAssessTemplateMapper.selectByExample(example);
    }

    @Override
    public ChargerAssessTemplate queryByPrimaryKey(Long id) {
        return chargerAssessTemplateMapper.selectByPrimaryKey(id);
    }

    @Override
    public List<ChargerAssessTemplate> queryChargerAssessTemplate(ChargerAssessTemplateRequest request) {
    	 ChargerAssessTemplateExample example = new ChargerAssessTemplateExample();
         Criteria sql = example.createCriteria();
         sql.andDataStateEqualTo(DataStatusEnum.DATA_STATUS_VALID.value());
         sql.andOrgIdEqualTo(request.getOrgId());
         if(request.getState() != null){
         	sql.andStateEqualTo(request.getState());
         }
         List<ChargerAssessTemplate> list = chargerAssessTemplateMapper.selectByExample(example);
         if (CollectionUtils.isNotEmpty(list)) {
             return (list);
         }
         return null;
    }

    @Override
    public int batchDeleteChargerAssessTemplateByPrimaryKey(List<Long> ids, String opId, String opName) {
        ChargerAssessTemplate record = new ChargerAssessTemplate();
        record.setModifyEmpId(opId);
        record.setModifyEmpName(opName);
        record.setModifyTime(new Date());
        record.setDataState(DataStatusEnum.DATA_STATUS_NO_VALID.value());
        //where条件
        ChargerAssessTemplateExample example = new ChargerAssessTemplateExample();
        example.createCriteria().andIdIn(ids);
        return chargerAssessTemplateMapper.updateByExampleSelective(record,example);
    }

    @Override
    public PageInfo<ChargerAssessTemplate> queryChargerAssessTemplateForPage(ChargerAssessTemplateRequest request) {
        PageHelper.startPage(request.getBaseRequest().getPageNum(), request.getBaseRequest().getPageSize());
        ChargerAssessTemplateExample example = new ChargerAssessTemplateExample();
        Criteria sql = example.createCriteria();
        sql.andDataStateEqualTo(DataStatusEnum.DATA_STATUS_VALID.value());
        sql.andOrgIdEqualTo(request.getOrgId());
        if(request.getState() != null){
        	sql.andStateEqualTo(request.getState());
        }
        example.setOrderByClause("id desc");
        List<ChargerAssessTemplate> list = chargerAssessTemplateMapper.selectByExample(example);
        if (CollectionUtils.isNotEmpty(list)) {
            return new PageInfo<ChargerAssessTemplate>(list);
        }
        return new PageInfo<ChargerAssessTemplate>(new ArrayList<ChargerAssessTemplate>());
    }

	@Override
	public String queryNextTemplateNoByOrgId(Long orgId) {
		PageHelper.startPage(1, 1);
		ChargerAssessTemplateExample example = new ChargerAssessTemplateExample();
        Criteria sql = example.createCriteria();
        sql.andOrgIdEqualTo(orgId);
        example.setOrderByClause("id desc");
        List<ChargerAssessTemplate> list = chargerAssessTemplateMapper.selectByExample(example);
        if (CollectionUtils.isEmpty(list) || StringUtils.isBlank(list.get(0).getTemplateNo())) {
            return AssessNoConstant.TEMPLATE_NO;
        }
        String templateNo = list.get(0).getTemplateNo();
        //切割字母+数字
        String []strs = templateNo.split("(?<=\\D)(?=\\d+\\b)");
        String letter = strs[0];
        String number = strs[1];
        Integer num = Integer.valueOf(number);
        return letter+(num+1);
	}
}