RmsMaterialServiceImpl.java 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218
  1. package com.steerinfo.dil.service.impl;
  2. import com.steerinfo.dil.mapper.RmsMaterialMapper;
  3. import com.steerinfo.dil.mapper.RmsMaterialSteelMapper;
  4. import com.steerinfo.dil.mapper.RmsMaterialTypeMapper;
  5. import com.steerinfo.dil.mapper.RmsUnitOfMeasureMapper;
  6. import com.steerinfo.dil.model.RmsCarrier;
  7. import com.steerinfo.dil.model.RmsMaterial;
  8. import com.steerinfo.dil.model.RmsMaterialType;
  9. import com.steerinfo.dil.model.RmsUnitOfMeasure;
  10. import com.steerinfo.dil.service.IRmsMaterialService;
  11. import com.steerinfo.dil.util.DataChange;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.stereotype.Service;
  14. import java.math.BigDecimal;
  15. import java.util.Date;
  16. import java.util.HashMap;
  17. import java.util.List;
  18. import java.util.Map;
  19. /**
  20. * RmsMaterial服务实现:
  21. * @author generator
  22. * @version 1.0-SNAPSHORT 2021-10-22 05:55
  23. * 类描述
  24. * 修订历史:
  25. * 日期:2021-10-22
  26. * 作者:HuJieHuan
  27. * 参考:
  28. * 描述:RmsMaterial服务实现
  29. * @see null
  30. * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
  31. */
  32. @Service(value = "rmsMaterialService")
  33. public class RmsMaterialServiceImpl implements IRmsMaterialService {
  34. @Autowired
  35. private RmsMaterialMapper rmsMaterialMapper;
  36. @Autowired
  37. RmsMaterialTypeMapper rmsMaterialTypeMapper;
  38. @Autowired
  39. RmsUnitOfMeasureMapper rmsUnitOfMeasureMapper;
  40. @Autowired
  41. RmsMaterialSteelMapper rmsMaterialSteelMapper;
  42. /**
  43. * 操作物资
  44. *
  45. * @param mapVal
  46. * @return
  47. */
  48. @Override
  49. public int operationMaterial(Map<String, Object> mapVal) {
  50. // 得到金蝶物资主键id
  51. Integer EASMaterialIdValue = (Integer) mapVal.get("EASMaterialId");
  52. String EASMaterialId = EASMaterialIdValue.toString();
  53. // 得到物资唯一编码
  54. String materialCode = (String) mapVal.get("materialCode");
  55. // 得到物资类型
  56. String materialType = (String) mapVal.get("materialType");
  57. // 得到物资名称
  58. String materialName = (String) mapVal.get("materialName");
  59. // 得到物资规格
  60. String materialSpecification = (String) mapVal.get("materialSpecification");
  61. // 得到物资型号
  62. String materialModel = (String) mapVal.get("materialModel");
  63. // 得到计量单位
  64. String unitOfMeasure = (String) mapVal.get("unitOfMeasure");
  65. // 得到长度
  66. Double materialLengthValue = (Double) mapVal.get("materialLength");
  67. BigDecimal materialLength = new BigDecimal(materialLengthValue);
  68. // 得到数据状态
  69. Integer dataStatus = (Integer) mapVal.get("dataStatus");
  70. // 判断是否EASId已存在
  71. Map<String, Object> map1 = new HashMap<>();
  72. map1.put("easMaterialId", EASMaterialId);
  73. BigDecimal deleted = new BigDecimal(0);
  74. map1.put("deleted", deleted);
  75. List<RmsMaterial> rmsMaterials = rmsMaterialMapper.selectByParameters(map1);
  76. // 判断物资类型是否已存在
  77. Map<String, Object> map2 = new HashMap<>();
  78. map2.put("materialType", materialType);
  79. List<RmsMaterialType> rmsMaterialTypes = rmsMaterialTypeMapper.selectByParameters(map2);
  80. RmsMaterialType rmsMaterialType = rmsMaterialTypes.get(0);
  81. // 判断单位是否已存在
  82. Map<String, Object> map3 = new HashMap<>();
  83. map3.put("unitOfMeasure", unitOfMeasure);
  84. List<RmsUnitOfMeasure> rmsUnitOfMeasures = rmsUnitOfMeasureMapper.selectByParameters(map3);
  85. RmsUnitOfMeasure rmsUnitOfMeasure = rmsUnitOfMeasures.get(0);
  86. RmsMaterial rmsMaterial = new RmsMaterial();
  87. rmsMaterial.setMaterialName(materialName);
  88. rmsMaterial.setMaterialCode(materialCode);
  89. rmsMaterial.setMaterialSpecification(materialSpecification);
  90. rmsMaterial.setMaterialModel(materialModel);
  91. rmsMaterial.setMaterialLength(materialLength);
  92. rmsMaterial.setEasMaterialId(EASMaterialId);
  93. rmsMaterial.setMaterialTypeId(rmsMaterialType.getMaterialTypeId());
  94. rmsMaterial.setUnitOfMeasureId(rmsUnitOfMeasure.getUnitOfMeasureId());
  95. int result = 0;
  96. // 新增
  97. if (rmsMaterials.size() == 0) {
  98. rmsMaterial.setDeleted(new BigDecimal(0));
  99. BigDecimal materialId = rmsMaterialMapper.getMaterialId();
  100. rmsMaterial.setMaterialId(materialId);
  101. result = rmsMaterialMapper.insertSelective(rmsMaterial);
  102. }
  103. // 修改
  104. if (rmsMaterials.size() != 0 && dataStatus == 2) {
  105. RmsMaterial rmsMaterial1 = rmsMaterials.get(0);
  106. rmsMaterial.setMaterialId(rmsMaterial1.getMaterialId());
  107. result = rmsMaterialMapper.updateByPrimaryKeySelective(rmsMaterial);
  108. }
  109. // 逻辑删除
  110. if (rmsMaterials.size() != 0 && dataStatus == 3) {
  111. RmsMaterial rmsMaterial1 = rmsMaterials.get(0);
  112. rmsMaterial.setMaterialId(rmsMaterial1.getMaterialId());
  113. rmsMaterial.setDeleted(new BigDecimal(1));
  114. result = rmsMaterialMapper.updateByPrimaryKeySelective(rmsMaterial);
  115. }
  116. return result;
  117. }
  118. /**
  119. * 展示物资信息
  120. *
  121. * @param mapVal
  122. * @return
  123. */
  124. @Override
  125. public List<Map<String, Object>> getMaterialList(Map<String, Object> mapVal) {
  126. return rmsMaterialMapper.getMaterialList(mapVal);
  127. }
  128. /**
  129. * 添加原料信息
  130. *
  131. * @param rmsMaterial
  132. * @return
  133. */
  134. @Override
  135. public int insertMaterial(RmsMaterial rmsMaterial) {
  136. String code="lx";
  137. Integer id=rmsMaterialMapper.getMaterialId().intValue();
  138. String materialCode=DataChange.generateEightDigitsNumber(code,id);
  139. rmsMaterial.setMaterialCode(materialCode);
  140. rmsMaterial.setDeleted(new BigDecimal(0));
  141. rmsMaterial.setMaterialId(new BigDecimal(id));
  142. rmsMaterial.setInsertTime(new Date());
  143. rmsMaterial.setInsertUsername("admin");
  144. return rmsMaterialMapper.insertSelective(rmsMaterial);
  145. }
  146. /**
  147. * 修改原料信息
  148. *
  149. * @param rmsMaterial
  150. * @return
  151. */
  152. @Override
  153. public int updateMaterial(RmsMaterial rmsMaterial) {
  154. rmsMaterial.setUpdateUsername("admin");
  155. rmsMaterial.setUpdateTime(new Date());
  156. return rmsMaterialMapper.updateByPrimaryKeySelective(rmsMaterial);
  157. }
  158. /**
  159. * 删除原料信息
  160. *
  161. * @param id
  162. * @return
  163. */
  164. @Override
  165. public int deleteMaterial(BigDecimal id) {
  166. RmsMaterial rmsMaterial = rmsMaterialMapper.selectByPrimaryKey(id);
  167. rmsMaterial.setDeleted(new BigDecimal(1));
  168. return rmsMaterialMapper.updateByPrimaryKeySelective(rmsMaterial);
  169. }
  170. /**
  171. * 根据id值获取原材料信息
  172. *
  173. * @param id
  174. * @return
  175. */
  176. @Override
  177. public List<Map<String, Object>> getMaterialById(BigDecimal id) {
  178. return rmsMaterialMapper.selectMaterialById(id);
  179. }
  180. /**
  181. * 获取原材料类型Id
  182. * @return
  183. */
  184. @Override
  185. public List<Map<String, Object>> getMaterialTypeId() {
  186. return rmsMaterialMapper.getMaterialTypeId();
  187. }
  188. /**
  189. *获得计量单位的Id
  190. * @return
  191. */
  192. @Override
  193. public List<Map<String, Object>> getUnitOfMeasureId() {
  194. return rmsMaterialMapper.getUnitOfMeasureId();
  195. }
  196. /*
  197. * 根据汽车衡测量的物资id,进行展示物资
  198. * */
  199. @Override
  200. public List<Map<String, Object>> getCalculateOfMaterialList(Map<String, Object> mapVal) {
  201. return rmsMaterialMapper.getCalculateOfMaterialList(mapVal);
  202. }
  203. }