SysCusUnitCodeServiceImpl.java 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  1. package com.kmall.admin.service.impl;
  2. import com.kmall.admin.dao.SysCusUnitCodeDao;
  3. import com.kmall.admin.entity.SysCusNationCodeEntity;
  4. import com.kmall.admin.entity.SysCusUnitCodeEntity;
  5. import com.kmall.admin.fromcomm.entity.SysUserEntity;
  6. import com.kmall.admin.service.SysCusUnitCodeService;
  7. import com.kmall.admin.utils.ShiroUtils;
  8. import com.kmall.admin.utils.ValidateUtils;
  9. import com.kmall.common.constant.TablePrimaryKeyPrefix;
  10. import com.kmall.common.utils.RRException;
  11. import com.kmall.common.utils.RandomUtils;
  12. import com.kmall.manager.manager.express.sf.ServiceException;
  13. import org.apache.commons.lang.StringUtils;
  14. import org.springframework.beans.factory.annotation.Autowired;
  15. import org.springframework.stereotype.Service;
  16. import org.springframework.transaction.annotation.Transactional;
  17. import java.util.Date;
  18. import java.util.List;
  19. import java.util.Map;
  20. /**
  21. * 计量单位代码Service实现类
  22. *
  23. * @author huangyq
  24. * @email admin@qhdswl.com
  25. * @date 2018-11-10 15:34:36
  26. */
  27. @Service("sysCusUnitCodeService")
  28. public class SysCusUnitCodeServiceImpl
  29. implements SysCusUnitCodeService {
  30. @Autowired
  31. private SysCusUnitCodeDao sysCusUnitCodeDao;
  32. @Override
  33. public SysCusUnitCodeEntity queryObject(String sn) {
  34. return sysCusUnitCodeDao.queryObject(sn);
  35. }
  36. @Override
  37. public List<SysCusUnitCodeEntity> queryList(Map<String, Object> map) {
  38. return sysCusUnitCodeDao.queryList(map);
  39. }
  40. @Override
  41. public int queryTotal(Map<String, Object> map) {
  42. return sysCusUnitCodeDao.queryTotal(map);
  43. }
  44. @Override
  45. public int save(SysCusUnitCodeEntity sysCusUnitCode) {
  46. SysCusUnitCodeEntity SysCusUnitCodeTemp = sysCusUnitCodeDao.queryObjectByName(sysCusUnitCode.getName());
  47. if (SysCusUnitCodeTemp != null) {
  48. throw new RRException("名称已经存在");
  49. }
  50. if (sysCusUnitCode.getCode().length() > 3) {
  51. throw new RRException("代码长度有误");
  52. }
  53. SysCusUnitCodeTemp = sysCusUnitCodeDao.queryObjectByCode(sysCusUnitCode.getCode());
  54. if (SysCusUnitCodeTemp != null) {
  55. throw new RRException("代码已经存在");
  56. }
  57. sysCusUnitCode.setSn(TablePrimaryKeyPrefix.sys_cus_unit_code + RandomUtils.getNum(18));
  58. return sysCusUnitCodeDao.save(sysCusUnitCode);
  59. }
  60. @Override
  61. public int update(SysCusUnitCodeEntity sysCusUnitCode) {
  62. SysCusUnitCodeEntity SysCusUnitCodeTemp = sysCusUnitCodeDao.queryObjectByName(sysCusUnitCode.getName());
  63. if (SysCusUnitCodeTemp != null && !SysCusUnitCodeTemp.getSn().equals(sysCusUnitCode.getSn())) {
  64. throw new RRException("名称已经存在");
  65. }
  66. if (sysCusUnitCode.getCode().length() > 3) {
  67. throw new RRException("代码长度有误");
  68. }
  69. SysCusUnitCodeTemp = sysCusUnitCodeDao.queryObjectByCode(sysCusUnitCode.getCode());
  70. if (SysCusUnitCodeTemp != null && !SysCusUnitCodeTemp.getSn().equals(sysCusUnitCode.getSn())) {
  71. throw new RRException("代码已经存在");
  72. }
  73. return sysCusUnitCodeDao.update(sysCusUnitCode);
  74. }
  75. @Override
  76. public int delete(String sn) {
  77. return sysCusUnitCodeDao.delete(sn);
  78. }
  79. @Override
  80. public int deleteBatch(String[] sns) {
  81. return sysCusUnitCodeDao.deleteBatch(sns);
  82. }
  83. @Override
  84. public SysCusUnitCodeEntity getUnitCode(String code) {
  85. return sysCusUnitCodeDao.queryObjectByCode(code);
  86. }
  87. @Override
  88. public SysCusUnitCodeEntity getUnitName(String name) {
  89. return sysCusUnitCodeDao.queryObjectByName(name);
  90. }
  91. @Override
  92. public List<SysCusUnitCodeEntity> getAll() {
  93. return sysCusUnitCodeDao.queryAll();
  94. }
  95. @Override
  96. @Transactional
  97. public void uploadExcel(List<SysCusUnitCodeEntity> sysCusUnitCodeEntityList) {
  98. for (SysCusUnitCodeEntity sysCusUnitCodeEntity : sysCusUnitCodeEntityList) {
  99. String code = sysCusUnitCodeEntity.getCode();
  100. String name = sysCusUnitCodeEntity.getName();
  101. String isValid = sysCusUnitCodeEntity.getIsValid();
  102. String remark = sysCusUnitCodeEntity.getRemark();
  103. if (!ValidateUtils.validateStrIsInteger(code)) {
  104. throw new ServiceException("请输入正确的代码,有问题的代码:" + code);
  105. }
  106. if (!ValidateUtils.validateChinese(name)) {
  107. throw new ServiceException("请输入正确的名称,有问题的名称:" + name);
  108. }
  109. if (!"0".equals(isValid) && !"1".equals(isValid)) {
  110. throw new ServiceException("请输入正确的是否有效,有问题的是否有效:" + isValid);
  111. }
  112. if (remark != null && !ValidateUtils.validateSpecialAllowChinese(remark)) {
  113. throw new ServiceException("请输入正确的备注,有问题的备注:" + remark);
  114. }
  115. SysUserEntity user = ShiroUtils.getUserEntity();
  116. // 查询代码是否存在
  117. SysCusUnitCodeEntity temp = this.getUnitCode(code);
  118. if (temp == null) {
  119. // 不存在则新增
  120. sysCusUnitCodeEntity.setCreaterSn(user.getUserId() + "");
  121. sysCusUnitCodeEntity.setCreateTime(new Date());
  122. this.save(sysCusUnitCodeEntity);
  123. } else {
  124. // 存在则修改
  125. SysCusUnitCodeEntity SysCusUnitCodeTemp = sysCusUnitCodeDao.queryObjectByName(temp.getName());
  126. if (SysCusUnitCodeTemp != null && !SysCusUnitCodeTemp.getSn().equals(temp.getSn())) {
  127. throw new RRException("名称已经存在");
  128. }
  129. sysCusUnitCodeEntity.setSn(temp.getSn());
  130. sysCusUnitCodeEntity.setModerSn(user.getUserId() + "");
  131. sysCusUnitCodeEntity.setModTime(new Date());
  132. sysCusUnitCodeDao.update(sysCusUnitCodeEntity);
  133. }
  134. }
  135. }
  136. }