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 selectByExample(ChargerAssessTemplateExample example) { return chargerAssessTemplateMapper.selectByExample(example); } @Override public ChargerAssessTemplate queryByPrimaryKey(Long id) { return chargerAssessTemplateMapper.selectByPrimaryKey(id); } @Override public List 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 list = chargerAssessTemplateMapper.selectByExample(example); if (CollectionUtils.isNotEmpty(list)) { return (list); } return null; } @Override public int batchDeleteChargerAssessTemplateByPrimaryKey(List 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 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 list = chargerAssessTemplateMapper.selectByExample(example); if (CollectionUtils.isNotEmpty(list)) { return new PageInfo(list); } return new PageInfo(new ArrayList()); } @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 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); } }