AmstruckInwardRequirementServiceImpl.java 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272
  1. package com.steerinfo.dil.service.impl;
  2. import com.steerinfo.dil.mapper.AmstruckInwardRequirementMapper;
  3. import com.steerinfo.dil.mapper.AmstruckRequirementMaterialMapper;
  4. import com.steerinfo.dil.model.AmstruckInwardRequirement;
  5. import com.steerinfo.dil.model.AmstruckRequirementMaterial;
  6. import com.steerinfo.dil.service.IAmstruckInwardRequirementService;
  7. import com.steerinfo.dil.util.DataChange;
  8. import com.steerinfo.framework.mapper.IBaseMapper;
  9. import com.steerinfo.framework.service.impl.BaseServiceImpl;
  10. import org.springframework.beans.factory.annotation.Autowired;
  11. import org.springframework.stereotype.Service;
  12. import org.springframework.transaction.annotation.Transactional;
  13. import java.math.BigDecimal;
  14. import java.util.Date;
  15. import java.util.HashMap;
  16. import java.util.List;
  17. import java.util.Map;
  18. /**
  19. * AmstruckInwardRequirement服务实现:
  20. * @author generator
  21. * @version 1.0-SNAPSHORT 2021-10-25 11:30
  22. * 类描述
  23. * 修订历史:
  24. * 日期:2021-10-25
  25. * 作者:generator
  26. * 参考:
  27. * 描述:AmstruckInwardRequirement服务实现
  28. * @see null
  29. * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
  30. */
  31. @Service(value = "amstruckInwardRequirementService")
  32. public class AmstruckInwardRequirementServiceImpl extends BaseServiceImpl<AmstruckInwardRequirement, BigDecimal> implements IAmstruckInwardRequirementService {
  33. @Autowired
  34. private AmstruckInwardRequirementMapper amstruckInwardRequirementMapper;
  35. @Autowired
  36. AmstruckRequirementMaterialMapper amstruckRequirementMaterialMapper;
  37. @Override
  38. protected IBaseMapper<AmstruckInwardRequirement, BigDecimal> getMapper() {
  39. return amstruckInwardRequirementMapper;
  40. }
  41. @Transactional
  42. @Override
  43. public int insert(Map<String,Object> mapValue) {
  44. Integer purchaseOrderId = (Integer) mapValue.get("purchaseOrderId");
  45. String requirementType = (String) mapValue.get("requirementType");
  46. Integer capacityTypeId = (Integer) mapValue.get("capacityTypeId");
  47. Date requirementTruckTime = new Date((Long) mapValue.get("requirementTruckTime"));
  48. Integer requirementShipperId = (Integer) mapValue.get("requirementShipperId");
  49. String requirementWorkType = (String) mapValue.get("requirementWorkType");
  50. String requirementWorkContent = (String) mapValue.get("requirementWorkContent");
  51. String requirementWorkEnvironment = (String) mapValue.get("requirementWorkEnvironment");
  52. String requirementEstimatedDuration = (String) mapValue.get("requirementEstimatedDuration");
  53. Integer requiremntUnitId = (Integer) mapValue.get("requiremntUnitId");
  54. Integer requirementUnloadUnitId = (Integer) mapValue.get("requirementUnloadUnitId");
  55. String requirementOverlimit = (String) mapValue.get("requirementOverlimit");
  56. BigDecimal materialWeight = DataChange.dataToBigDecimal(mapValue.get("materialWeight"));
  57. BigDecimal materialCount = DataChange.dataToBigDecimal(mapValue.get("materialNumber"));
  58. AmstruckInwardRequirement amstruckInwardRequirement = new AmstruckInwardRequirement();
  59. //设置主键
  60. BigDecimal requirementId = amstruckInwardRequirementMapper.selectOtherId();
  61. amstruckInwardRequirement.setRequirementId(requirementId);
  62. amstruckInwardRequirement.setRequirementNumber(DataChange.generateEightDigitsNumber("YSXQ",amstruckInwardRequirementMapper.selectOtherId().intValue()));
  63. amstruckInwardRequirement.setRequirementStatus(new BigDecimal(0));
  64. if(purchaseOrderId != null){
  65. amstruckInwardRequirement.setPurchaseOrderId(new BigDecimal(purchaseOrderId));
  66. }
  67. amstruckInwardRequirement.setRequirementType(requirementType);
  68. amstruckInwardRequirement.setCapacityTypeId(new BigDecimal(capacityTypeId));
  69. amstruckInwardRequirement.setRequirementTruckTime(requirementTruckTime);
  70. amstruckInwardRequirement.setRequirementWorkType(new BigDecimal(requirementWorkType));
  71. amstruckInwardRequirement.setRequirementWorkContent(requirementWorkContent);
  72. amstruckInwardRequirement.setRequirementWorkEnvironment(requirementWorkEnvironment);
  73. amstruckInwardRequirement.setRequirementEstimatedDuration(new BigDecimal(requirementEstimatedDuration));
  74. amstruckInwardRequirement.setRequiremntUnitId(new BigDecimal(requiremntUnitId));
  75. amstruckInwardRequirement.setRequirementOverlimit(requirementOverlimit);
  76. amstruckInwardRequirement.setRequirementShipperId(new BigDecimal(requirementShipperId));
  77. amstruckInwardRequirement.setRequirementUnloadUnitId(new BigDecimal(requirementUnloadUnitId));
  78. amstruckInwardRequirement.setRequirementPlatformId(DataChange.dataToBigDecimal(mapValue.get("requirementPlatformId")));
  79. // 设置常规字段
  80. amstruckInwardRequirement.setInsertTime(new Date());
  81. amstruckInwardRequirement.setInsertUsername("admin");
  82. amstruckInwardRequirement.setInsertUpdateRemark("无");
  83. amstruckInwardRequirement.setDeleted(new BigDecimal(0));
  84. int result = 0;
  85. result += amstruckInwardRequirementMapper.insertSelective(amstruckInwardRequirement);
  86. // 物资中间表
  87. BigDecimal materialId = DataChange.dataToBigDecimal(mapValue.get("materialId"));
  88. if(materialId.intValue() == 0)
  89. if(purchaseOrderId != null)
  90. materialId = amstruckInwardRequirementMapper.getMaterialId(new BigDecimal(purchaseOrderId));
  91. AmstruckRequirementMaterial amstruckRequirementMaterial = new AmstruckRequirementMaterial();
  92. amstruckRequirementMaterial.setRequirementMaterialId(amstruckRequirementMaterialMapper.selectRequirementMaterialId());
  93. amstruckRequirementMaterial.setRequirementId(requirementId);
  94. if(materialCount.intValue() != 0)
  95. amstruckRequirementMaterial.setMaterialCount(materialCount);
  96. if(materialWeight.intValue() != 0)
  97. amstruckRequirementMaterial.setMaterialWeight(materialWeight);
  98. amstruckRequirementMaterial.setMaterialId(materialId);
  99. amstruckRequirementMaterial.setInsertTime(new Date());
  100. amstruckRequirementMaterial.setInsertUsername("admin");
  101. amstruckRequirementMaterial.setInsertUpdateRemark("无");
  102. result += amstruckRequirementMaterialMapper.insertSelective(amstruckRequirementMaterial);
  103. return result;
  104. }
  105. /**
  106. * 查询用车需求
  107. * @param mapValue
  108. * @return
  109. */
  110. @Override
  111. public List<Map<String, Object>> getTruckRequirementList(Map<String, Object> mapValue) {
  112. List<Map<String, Object>> mapList;
  113. if (((Integer) mapValue.get("requirementStatus")) == 2) {
  114. mapList = amstruckInwardRequirementMapper.getFinishTruckRequirementList(mapValue);
  115. }
  116. else {
  117. mapList = amstruckInwardRequirementMapper.getTruckRequirementList(mapValue);
  118. }
  119. for (Map<String,Object> map : mapList) {
  120. BigDecimal workType = (BigDecimal) map.get("requirementWorkType");
  121. map.remove("requirementWorkType");
  122. String requirementWorkType;
  123. switch (workType.intValue()) {
  124. case 0 : requirementWorkType = "日常内转费";
  125. break;
  126. case 1 : requirementWorkType = "推进办费用";
  127. break;
  128. case 2 : requirementWorkType = "大修费用";
  129. break;
  130. case 3 : requirementWorkType = "新增建设项目";
  131. break;
  132. case 4 : requirementWorkType = "外委吊车";
  133. break;
  134. case 5 : requirementWorkType = "外委转机";
  135. break;
  136. default: requirementWorkType = "环保绿化项目";
  137. }
  138. map.put("workType",requirementWorkType);
  139. }
  140. return mapList;
  141. }
  142. /**
  143. * 删除用车需求
  144. * @param requirementId
  145. * @return
  146. */
  147. @Override
  148. public int deleteTruckRequirement(BigDecimal requirementId) {
  149. AmstruckInwardRequirement amstruckInwardRequirement = amstruckInwardRequirementMapper.selectByPrimaryKey(requirementId);
  150. amstruckInwardRequirement.setDeleted(new BigDecimal(1));
  151. int result = amstruckInwardRequirementMapper.updateByPrimaryKeySelective(amstruckInwardRequirement);
  152. return result;
  153. }
  154. /**
  155. * 修改用车需求
  156. * @param amstruckInwardRequirement
  157. * @return
  158. */
  159. @Override
  160. public int updateTruckRequirement(AmstruckInwardRequirement amstruckInwardRequirement) {
  161. int result = amstruckInwardRequirementMapper.updateByPrimaryKeySelective(amstruckInwardRequirement);
  162. return result;
  163. }
  164. /**
  165. * 查询修改渲染
  166. * @param requirementId
  167. * @return
  168. */
  169. @Override
  170. public List<Map<String, Object>> selectRequirement(Integer requirementId) {
  171. return amstruckInwardRequirementMapper.selectRequirement(new BigDecimal(requirementId));
  172. }
  173. /**
  174. * 下发需求
  175. * @param requirementIds
  176. * @return
  177. */
  178. @Override
  179. public int downRequirement(List<Map<String,Object>> requirementIds) {
  180. int result = 0;
  181. for (Map<String,Object> map : requirementIds) {
  182. Integer requirementId = (Integer) map.get("requirementId");
  183. AmstruckInwardRequirement amstruckInwardRequirement = amstruckInwardRequirementMapper.selectByPrimaryKey(new BigDecimal(requirementId));
  184. amstruckInwardRequirement.setRequirementStatus(new BigDecimal(1));
  185. result += amstruckInwardRequirementMapper.updateByPrimaryKeySelective(amstruckInwardRequirement);
  186. }
  187. return result;
  188. }
  189. /**
  190. * 接收需求
  191. * @param requirementId
  192. * @return
  193. */
  194. @Override
  195. public int receiveRequirement(Integer requirementId) {
  196. AmstruckInwardRequirement amstruckInwardRequirement = amstruckInwardRequirementMapper.selectByPrimaryKey(new BigDecimal(requirementId));
  197. amstruckInwardRequirement.setRequirementStatus(new BigDecimal(2));
  198. amstruckInwardRequirement.setUpdateTime(new Date());
  199. amstruckInwardRequirement.setUpdateUsername("admin");
  200. int result = amstruckInwardRequirementMapper.updateByPrimaryKeySelective(amstruckInwardRequirement);
  201. return result;
  202. }
  203. /**
  204. * 批次信息
  205. * @param mapValue
  206. * @return
  207. */
  208. @Override
  209. public List<Map<String, Object>> getPurchaseIdByBatch(Map<String, Object> mapValue) {
  210. List<Map<String, Object>> mapList = amstruckInwardRequirementMapper.getPurchaseIdByBatch(mapValue);
  211. // for (Map<String,Object> map : mapList) {
  212. // BigDecimal purchaseOrderId = (BigDecimal) map.get("purchaseOrderId");
  213. // Map<String,Object> purchaseMap = new HashMap<>();
  214. // purchaseMap.put("purchaseOrderId",purchaseOrderId);
  215. // List<AmstruckInwardRequirement> amstruckInwardRequirements = amstruckInwardRequirementMapper.selectByParameters(purchaseMap);
  216. // if (amstruckInwardRequirements.size() == 0 || amstruckInwardRequirements == null) {
  217. // }
  218. // else {
  219. // mapList.remove(map);
  220. // }
  221. // }
  222. return mapList;
  223. }
  224. /**
  225. * 车型下拉
  226. * @return
  227. */
  228. @Override
  229. public List<Map<String, Object>> getCapacityType() {
  230. return amstruckInwardRequirementMapper.getCapacityType();
  231. }
  232. /**
  233. * 用车单位下拉
  234. * @return
  235. */
  236. @Override
  237. public List<Map<String, Object>> getShipperUser() {
  238. return amstruckInwardRequirementMapper.getShipperUser();
  239. }
  240. /**
  241. * 查询所有仓库
  242. * @param mapValue
  243. * @return
  244. */
  245. @Override
  246. public List<Map<String, Object>> getWareHouse(Map<String, Object> mapValue) {
  247. return amstruckInwardRequirementMapper.getWareHouse(mapValue);
  248. }
  249. @Override
  250. public List<Map<String, Object>> getOffsetWareHouse() {
  251. return amstruckRequirementMaterialMapper.getOffsetWarehouse();
  252. }
  253. }