AmstruckInwardRequirementServiceImpl.java 12 KB

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