AmstruckInwardRequirementServiceImpl.java 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268
  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. String materialWeight = (String) mapValue.get("materialWeight");
  57. String materialCount = (String) mapValue.get("materialNumber");
  58. AmstruckInwardRequirement amstruckInwardRequirement = new AmstruckInwardRequirement();
  59. //设置主键
  60. BigDecimal requirementId = amstruckInwardRequirementMapper.selectOtherId();
  61. amstruckInwardRequirement.setRequirementId(requirementId);
  62. DataChange dataChange=new DataChange();
  63. amstruckInwardRequirement.setRequirementNumber(dataChange.generateEightDigitsNumber("YSXQ",amstruckInwardRequirementMapper.selectOtherId().intValue()));
  64. amstruckInwardRequirement.setRequirementStatus(new BigDecimal(0));
  65. amstruckInwardRequirement.setPurchaseOrderId(new BigDecimal(purchaseOrderId));
  66. amstruckInwardRequirement.setRequirementType(requirementType);
  67. amstruckInwardRequirement.setCapacityTypeId(new BigDecimal(capacityTypeId));
  68. amstruckInwardRequirement.setRequirementTruckTime(requirementTruckTime);
  69. amstruckInwardRequirement.setRequirementWorkType(new BigDecimal(requirementWorkType));
  70. amstruckInwardRequirement.setRequirementWorkContent(requirementWorkContent);
  71. amstruckInwardRequirement.setRequirementWorkEnvironment(requirementWorkEnvironment);
  72. amstruckInwardRequirement.setRequirementEstimatedDuration(new BigDecimal(requirementEstimatedDuration));
  73. amstruckInwardRequirement.setRequiremntUnitId(new BigDecimal(requiremntUnitId));
  74. amstruckInwardRequirement.setRequirementOverlimit(requirementOverlimit);
  75. amstruckInwardRequirement.setRequirementShipperId(new BigDecimal(requirementShipperId));
  76. amstruckInwardRequirement.setRequirementUnloadUnitId(new BigDecimal(requirementUnloadUnitId));
  77. // 设置常规字段
  78. amstruckInwardRequirement.setInsertTime(new Date());
  79. amstruckInwardRequirement.setInsertUsername("admin");
  80. amstruckInwardRequirement.setInsertUpdateRemark("无");
  81. amstruckInwardRequirement.setDeleted(new BigDecimal(0));
  82. int result = 0;
  83. result += amstruckInwardRequirementMapper.insertSelective(amstruckInwardRequirement);
  84. // 物资中间表
  85. BigDecimal materialId = amstruckInwardRequirementMapper.getMaterialId(new BigDecimal(purchaseOrderId));
  86. AmstruckRequirementMaterial amstruckRequirementMaterial = new AmstruckRequirementMaterial();
  87. BigDecimal requirementMaterialId = amstruckRequirementMaterialMapper.selectRequirementMaterialId();
  88. amstruckRequirementMaterial.setRequirementMaterialId(requirementMaterialId);
  89. amstruckRequirementMaterial.setRequirementId(requirementId);
  90. amstruckRequirementMaterial.setMaterialCount(new BigDecimal(materialCount));
  91. amstruckRequirementMaterial.setMaterialWeight(new BigDecimal(materialWeight));
  92. amstruckRequirementMaterial.setMaterialId(materialId);
  93. amstruckRequirementMaterial.setInsertTime(new Date());
  94. amstruckRequirementMaterial.setInsertUsername("admin");
  95. amstruckRequirementMaterial.setInsertUpdateRemark("无");
  96. amstruckRequirementMaterial.setUpdateTime(new Date());
  97. amstruckRequirementMaterial.setUpdateUsername("admin");
  98. result += amstruckRequirementMaterialMapper.insertSelective(amstruckRequirementMaterial);
  99. return result;
  100. }
  101. /**
  102. * 查询用车需求
  103. * @param mapValue
  104. * @return
  105. */
  106. @Override
  107. public List<Map<String, Object>> getTruckRequirementList(Map<String, Object> mapValue) {
  108. List<Map<String, Object>> mapList;
  109. if (((Integer) mapValue.get("requirementStatus")) == 2) {
  110. mapList = amstruckInwardRequirementMapper.getFinishTruckRequirementList(mapValue);
  111. }
  112. else {
  113. mapList = amstruckInwardRequirementMapper.getTruckRequirementList(mapValue);
  114. }
  115. for (Map<String,Object> map : mapList) {
  116. BigDecimal workType = (BigDecimal) map.get("requirementWorkType");
  117. map.remove("requirementWorkType");
  118. String requirementWorkType;
  119. switch (workType.intValue()) {
  120. case 0 : requirementWorkType = "日常内转费";
  121. break;
  122. case 1 : requirementWorkType = "推进办费用";
  123. break;
  124. case 2 : requirementWorkType = "大修费用";
  125. break;
  126. case 3 : requirementWorkType = "新增建设项目";
  127. break;
  128. case 4 : requirementWorkType = "外委吊车";
  129. break;
  130. case 5 : requirementWorkType = "外委转机";
  131. break;
  132. default: requirementWorkType = "环保绿化项目";
  133. }
  134. map.put("workType",requirementWorkType);
  135. }
  136. return mapList;
  137. }
  138. /**
  139. * 删除用车需求
  140. * @param requirementId
  141. * @return
  142. */
  143. @Override
  144. public int deleteTruckRequirement(BigDecimal requirementId) {
  145. AmstruckInwardRequirement amstruckInwardRequirement = amstruckInwardRequirementMapper.selectByPrimaryKey(requirementId);
  146. amstruckInwardRequirement.setDeleted(new BigDecimal(1));
  147. int result = amstruckInwardRequirementMapper.updateByPrimaryKeySelective(amstruckInwardRequirement);
  148. return result;
  149. }
  150. /**
  151. * 修改用车需求
  152. * @param amstruckInwardRequirement
  153. * @return
  154. */
  155. @Override
  156. public int updateTruckRequirement(AmstruckInwardRequirement amstruckInwardRequirement) {
  157. int result = amstruckInwardRequirementMapper.updateByPrimaryKeySelective(amstruckInwardRequirement);
  158. return result;
  159. }
  160. /**
  161. * 查询修改渲染
  162. * @param requirementId
  163. * @return
  164. */
  165. @Override
  166. public List<Map<String, Object>> selectRequirement(Integer requirementId) {
  167. return amstruckInwardRequirementMapper.selectRequirement(new BigDecimal(requirementId));
  168. }
  169. /**
  170. * 下发需求
  171. * @param requirementIds
  172. * @return
  173. */
  174. @Override
  175. public int downRequirement(List<Map<String,Object>> requirementIds) {
  176. int result = 0;
  177. for (Map<String,Object> map : requirementIds) {
  178. Integer requirementId = (Integer) map.get("requirementId");
  179. AmstruckInwardRequirement amstruckInwardRequirement = amstruckInwardRequirementMapper.selectByPrimaryKey(new BigDecimal(requirementId));
  180. amstruckInwardRequirement.setRequirementStatus(new BigDecimal(1));
  181. result += amstruckInwardRequirementMapper.updateByPrimaryKeySelective(amstruckInwardRequirement);
  182. }
  183. return result;
  184. }
  185. /**
  186. * 接收需求
  187. * @param requirementId
  188. * @return
  189. */
  190. @Override
  191. public int receiveRequirement(Integer requirementId) {
  192. AmstruckInwardRequirement amstruckInwardRequirement = amstruckInwardRequirementMapper.selectByPrimaryKey(new BigDecimal(requirementId));
  193. amstruckInwardRequirement.setRequirementStatus(new BigDecimal(2));
  194. amstruckInwardRequirement.setUpdateTime(new Date());
  195. amstruckInwardRequirement.setUpdateUsername("admin");
  196. int result = amstruckInwardRequirementMapper.updateByPrimaryKeySelective(amstruckInwardRequirement);
  197. return result;
  198. }
  199. /**
  200. * 批次信息
  201. * @param mapValue
  202. * @return
  203. */
  204. @Override
  205. public List<Map<String, Object>> getPurchaseIdByBatch(Map<String, Object> mapValue) {
  206. List<Map<String, Object>> mapList = amstruckInwardRequirementMapper.getPurchaseIdByBatch(mapValue);
  207. // for (Map<String,Object> map : mapList) {
  208. // BigDecimal purchaseOrderId = (BigDecimal) map.get("purchaseOrderId");
  209. // Map<String,Object> purchaseMap = new HashMap<>();
  210. // purchaseMap.put("purchaseOrderId",purchaseOrderId);
  211. // List<AmstruckInwardRequirement> amstruckInwardRequirements = amstruckInwardRequirementMapper.selectByParameters(purchaseMap);
  212. // if (amstruckInwardRequirements.size() == 0 || amstruckInwardRequirements == null) {
  213. // }
  214. // else {
  215. // mapList.remove(map);
  216. // }
  217. // }
  218. return mapList;
  219. }
  220. /**
  221. * 车型下拉
  222. * @return
  223. */
  224. @Override
  225. public List<Map<String, Object>> getCapacityType() {
  226. return amstruckInwardRequirementMapper.getCapacityType();
  227. }
  228. /**
  229. * 用车单位下拉
  230. * @return
  231. */
  232. @Override
  233. public List<Map<String, Object>> getShipperUser() {
  234. return amstruckInwardRequirementMapper.getShipperUser();
  235. }
  236. /**
  237. * 查询所有仓库
  238. * @param mapValue
  239. * @return
  240. */
  241. @Override
  242. public List<Map<String, Object>> getWareHouse(Map<String, Object> mapValue) {
  243. return amstruckInwardRequirementMapper.getWareHouse(mapValue);
  244. }
  245. @Override
  246. public List<Map<String, Object>> getOffsetWareHouse() {
  247. return amstruckRequirementMaterialMapper.getOffsetWarehouse();
  248. }
  249. }