package com.kmall.admin.service.impl; import com.kmall.admin.dao.SysCusUnitCodeDao; import com.kmall.admin.entity.SysCusNationCodeEntity; import com.kmall.admin.entity.SysCusUnitCodeEntity; import com.kmall.admin.fromcomm.entity.SysUserEntity; import com.kmall.admin.service.SysCusUnitCodeService; import com.kmall.admin.utils.ShiroUtils; import com.kmall.admin.utils.ValidateUtils; import com.kmall.common.constant.TablePrimaryKeyPrefix; import com.kmall.common.utils.RRException; import com.kmall.common.utils.RandomUtils; import com.kmall.manager.manager.express.sf.ServiceException; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.Date; import java.util.List; import java.util.Map; /** * 计量单位代码Service实现类 * * @author huangyq * @email admin@qhdswl.com * @date 2018-11-10 15:34:36 */ @Service("sysCusUnitCodeService") public class SysCusUnitCodeServiceImpl implements SysCusUnitCodeService { @Autowired private SysCusUnitCodeDao sysCusUnitCodeDao; @Override public SysCusUnitCodeEntity queryObject(String sn) { return sysCusUnitCodeDao.queryObject(sn); } @Override public List queryList(Map map) { return sysCusUnitCodeDao.queryList(map); } @Override public int queryTotal(Map map) { return sysCusUnitCodeDao.queryTotal(map); } @Override public int save(SysCusUnitCodeEntity sysCusUnitCode) { SysCusUnitCodeEntity SysCusUnitCodeTemp = sysCusUnitCodeDao.queryObjectByName(sysCusUnitCode.getName()); if (SysCusUnitCodeTemp != null) { throw new RRException("名称已经存在"); } if (sysCusUnitCode.getCode().length() > 3) { throw new RRException("代码长度有误"); } SysCusUnitCodeTemp = sysCusUnitCodeDao.queryObjectByCode(sysCusUnitCode.getCode()); if (SysCusUnitCodeTemp != null) { throw new RRException("代码已经存在"); } sysCusUnitCode.setSn(TablePrimaryKeyPrefix.sys_cus_unit_code + RandomUtils.getNum(18)); return sysCusUnitCodeDao.save(sysCusUnitCode); } @Override public int update(SysCusUnitCodeEntity sysCusUnitCode) { SysCusUnitCodeEntity SysCusUnitCodeTemp = sysCusUnitCodeDao.queryObjectByName(sysCusUnitCode.getName()); if (SysCusUnitCodeTemp != null && !SysCusUnitCodeTemp.getSn().equals(sysCusUnitCode.getSn())) { throw new RRException("名称已经存在"); } if (sysCusUnitCode.getCode().length() > 3) { throw new RRException("代码长度有误"); } SysCusUnitCodeTemp = sysCusUnitCodeDao.queryObjectByCode(sysCusUnitCode.getCode()); if (SysCusUnitCodeTemp != null && !SysCusUnitCodeTemp.getSn().equals(sysCusUnitCode.getSn())) { throw new RRException("代码已经存在"); } return sysCusUnitCodeDao.update(sysCusUnitCode); } @Override public int delete(String sn) { return sysCusUnitCodeDao.delete(sn); } @Override public int deleteBatch(String[] sns) { return sysCusUnitCodeDao.deleteBatch(sns); } @Override public SysCusUnitCodeEntity getUnitCode(String code) { return sysCusUnitCodeDao.queryObjectByCode(code); } @Override public SysCusUnitCodeEntity getUnitName(String name) { return sysCusUnitCodeDao.queryObjectByName(name); } @Override public List getAll() { return sysCusUnitCodeDao.queryAll(); } @Override @Transactional public void uploadExcel(List sysCusUnitCodeEntityList) { for (SysCusUnitCodeEntity sysCusUnitCodeEntity : sysCusUnitCodeEntityList) { String code = sysCusUnitCodeEntity.getCode(); String name = sysCusUnitCodeEntity.getName(); String isValid = sysCusUnitCodeEntity.getIsValid(); String remark = sysCusUnitCodeEntity.getRemark(); if (!ValidateUtils.validateStrIsInteger(code)) { throw new ServiceException("请输入正确的代码,有问题的代码:" + code); } if (!ValidateUtils.validateChinese(name)) { throw new ServiceException("请输入正确的名称,有问题的名称:" + name); } if (!"0".equals(isValid) && !"1".equals(isValid)) { throw new ServiceException("请输入正确的是否有效,有问题的是否有效:" + isValid); } if (remark != null && !ValidateUtils.validateSpecialAllowChinese(remark)) { throw new ServiceException("请输入正确的备注,有问题的备注:" + remark); } SysUserEntity user = ShiroUtils.getUserEntity(); // 查询代码是否存在 SysCusUnitCodeEntity temp = this.getUnitCode(code); if (temp == null) { // 不存在则新增 sysCusUnitCodeEntity.setCreaterSn(user.getUserId() + ""); sysCusUnitCodeEntity.setCreateTime(new Date()); this.save(sysCusUnitCodeEntity); } else { // 存在则修改 SysCusUnitCodeEntity SysCusUnitCodeTemp = sysCusUnitCodeDao.queryObjectByName(temp.getName()); if (SysCusUnitCodeTemp != null && !SysCusUnitCodeTemp.getSn().equals(temp.getSn())) { throw new RRException("名称已经存在"); } sysCusUnitCodeEntity.setSn(temp.getSn()); sysCusUnitCodeEntity.setModerSn(user.getUserId() + ""); sysCusUnitCodeEntity.setModTime(new Date()); sysCusUnitCodeDao.update(sysCusUnitCodeEntity); } } } }