RmsMaterialServiceImpl.java 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163
  1. package com.steerinfo.dil.service.impl;
  2. import com.steerinfo.dil.mapper.RmsMaterialMapper;
  3. import com.steerinfo.dil.mapper.RmsMaterialTypeMapper;
  4. import com.steerinfo.dil.mapper.RmsUnitOfMeasureMapper;
  5. import com.steerinfo.dil.model.RmsMaterial;
  6. import com.steerinfo.dil.model.RmsMaterialType;
  7. import com.steerinfo.dil.model.RmsUnitOfMeasure;
  8. import com.steerinfo.dil.service.IRmsMaterialService;
  9. import org.springframework.beans.factory.annotation.Autowired;
  10. import org.springframework.stereotype.Service;
  11. import java.math.BigDecimal;
  12. import java.util.Date;
  13. import java.util.HashMap;
  14. import java.util.List;
  15. import java.util.Map;
  16. /**
  17. * RmsMaterial服务实现:
  18. * @author generator
  19. * @version 1.0-SNAPSHORT 2021-10-22 05:55
  20. * 类描述
  21. * 修订历史:
  22. * 日期:2021-10-22
  23. * 作者:generator
  24. * 参考:
  25. * 描述:RmsMaterial服务实现
  26. * @see null
  27. * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
  28. */
  29. @Service(value = "rmsMaterialService")
  30. public class RmsMaterialServiceImpl implements IRmsMaterialService {
  31. @Autowired
  32. private RmsMaterialMapper rmsMaterialMapper;
  33. @Autowired
  34. RmsMaterialTypeMapper rmsMaterialTypeMapper;
  35. @Autowired
  36. RmsUnitOfMeasureMapper rmsUnitOfMeasureMapper;
  37. /**
  38. * 操作物资
  39. * @param mapVal
  40. * @return
  41. */
  42. @Override
  43. public int operationMaterial(Map<String, Object> mapVal) {
  44. // 得到金蝶物资主键id
  45. String EASMaterialId = (String) mapVal.get("EASMaterialId");
  46. // 得到物资唯一编码
  47. String materialCode = (String) mapVal.get("materialCode");
  48. // 得到物资类型
  49. String materialTypeName = (String) mapVal.get("materialType");
  50. // 得到物资名称
  51. String materialName = (String) mapVal.get("materialName");
  52. // 得到物资规格
  53. String materialSpecification = (String) mapVal.get("materialSpecification");
  54. // 得到物资型号
  55. String materialModel = (String) mapVal.get("materialModel");
  56. // 得到计量单位
  57. String unitOfMeasure = (String) mapVal.get("unitOfMeasure");
  58. // 得到长度
  59. String materialLengthValue = (String) mapVal.get("materialLength");
  60. BigDecimal materialLength = null;
  61. if (materialLengthValue != null && !materialLengthValue.equals("")) {
  62. materialLength = new BigDecimal(materialLengthValue);
  63. }
  64. // 得到数据状态
  65. Integer dataStatus = (Integer) mapVal.get("dataStatus");
  66. // 判断是否materialCode已存在
  67. Map<String,Object> map1 = new HashMap<>();
  68. map1.put("materialModel",materialModel);
  69. BigDecimal deleted = new BigDecimal(0);
  70. // map1.put("deleted",deleted);
  71. List<RmsMaterial> rmsMaterials = rmsMaterialMapper.selectByParameters(map1);
  72. // 判断物资类型是否已存在
  73. Map<String,Object> map2 = new HashMap<>();
  74. map2.put("materialTypeName",materialTypeName);
  75. List<RmsMaterialType> rmsMaterialTypes = rmsMaterialTypeMapper.selectByParameters(map2);
  76. RmsMaterial rmsMaterial = new RmsMaterial();
  77. if (rmsMaterialTypes.size() == 0) {
  78. RmsMaterialType rmsMaterialType = new RmsMaterialType();
  79. rmsMaterialType.setMaterialTypeId(rmsMaterialTypeMapper.getMaterialId());
  80. rmsMaterialType.setMaterialTypeName(materialTypeName);
  81. rmsMaterialType.setInsertTime(new Date());
  82. rmsMaterialType.setInsertUsername("admin");
  83. rmsMaterialType.setUpdateTime(new Date());
  84. rmsMaterialType.setUpdateUsername("admin");
  85. rmsMaterialType.setInsertUpdateRemark("采集金蝶数据");
  86. rmsMaterialTypeMapper.insertSelective(rmsMaterialType);
  87. rmsMaterial.setMaterialTypeId(rmsMaterialType.getMaterialTypeId());
  88. }
  89. else {
  90. RmsMaterialType rmsMaterialType = rmsMaterialTypes.get(0);
  91. rmsMaterial.setMaterialTypeId(rmsMaterialType.getMaterialTypeId());
  92. }
  93. // 判断单位是否已存在
  94. Map<String,Object> map3 = new HashMap<>();
  95. map3.put("unitOfMeasureName",unitOfMeasure);
  96. List<RmsUnitOfMeasure> rmsUnitOfMeasures = rmsUnitOfMeasureMapper.selectByParameters(map3);
  97. if (rmsUnitOfMeasures.size() == 0) {
  98. RmsUnitOfMeasure rmsUnitOfMeasure = new RmsUnitOfMeasure();
  99. rmsUnitOfMeasure.setUnitOfMeasureId(rmsUnitOfMeasureMapper.getUnitOfMeasureId());
  100. rmsUnitOfMeasure.setUnitOfMeasureName(unitOfMeasure);
  101. rmsUnitOfMeasure.setInsertTime(new Date());
  102. rmsUnitOfMeasure.setInsertUsername("admin");
  103. rmsUnitOfMeasure.setUpdateTime(new Date());
  104. rmsUnitOfMeasure.setUpdateUsername("admin");
  105. rmsUnitOfMeasure.setInsertUpdateRemark("采集金蝶数据");
  106. rmsUnitOfMeasureMapper.insertSelective(rmsUnitOfMeasure);
  107. rmsMaterial.setUnitOfMeasureId(rmsUnitOfMeasure.getUnitOfMeasureId());
  108. }
  109. else {
  110. RmsUnitOfMeasure rmsUnitOfMeasure = rmsUnitOfMeasures.get(0);
  111. rmsMaterial.setUnitOfMeasureId(rmsUnitOfMeasure.getUnitOfMeasureId());
  112. }
  113. rmsMaterial.setMaterialName(materialName);
  114. rmsMaterial.setMaterialCode(materialCode);
  115. rmsMaterial.setMaterialSpecification(materialSpecification);
  116. rmsMaterial.setMaterialModel(materialModel);
  117. rmsMaterial.setMaterialLength(materialLength);
  118. rmsMaterial.setEasMaterialId(EASMaterialId);
  119. rmsMaterial.setInsertTime(new Date());
  120. rmsMaterial.setInsertUsername("admin");
  121. rmsMaterial.setUpdateTime(new Date());
  122. rmsMaterial.setUpdateUsername("admin");
  123. rmsMaterial.setInsertUpdateRemark("采集金蝶数据");
  124. int result = 0;
  125. // 新增
  126. if (rmsMaterials.size() == 0) {
  127. rmsMaterial.setDeleted(new BigDecimal(0));
  128. BigDecimal materialId = rmsMaterialMapper.getMaterialId();
  129. rmsMaterial.setMaterialId(materialId);
  130. result = rmsMaterialMapper.insertSelective(rmsMaterial);
  131. }
  132. // 修改
  133. if (rmsMaterials.size() != 0 && dataStatus == 1){
  134. RmsMaterial rmsMaterial1 = rmsMaterials.get(0);
  135. rmsMaterial.setDeleted(deleted);
  136. rmsMaterial.setMaterialId(rmsMaterial1.getMaterialId());
  137. result = rmsMaterialMapper.updateByPrimaryKeySelective(rmsMaterial);
  138. }
  139. // 逻辑删除
  140. if (rmsMaterials.size() != 0 && dataStatus == 2) {
  141. RmsMaterial rmsMaterial1 = rmsMaterials.get(0);
  142. rmsMaterial.setMaterialId(rmsMaterial1.getMaterialId());
  143. rmsMaterial.setDeleted(new BigDecimal(1));
  144. result = rmsMaterialMapper.updateByPrimaryKeySelective(rmsMaterial);
  145. }
  146. return result;
  147. }
  148. /**
  149. * 展示物资信息
  150. * @param mapVal
  151. * @return
  152. */
  153. @Override
  154. public List<Map<String, Object>> getMaterialList(Map<String, Object> mapVal) {
  155. return rmsMaterialMapper.getMaterialList(mapVal);
  156. }
  157. }