TmstruckLoadResultServiceImpl.java 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. package com.steerinfo.dil.service.impl;
  2. import com.steerinfo.dil.feign.WmshBoundFeign;
  3. import com.steerinfo.dil.mapper.OmstruckOrderMapper;
  4. import com.steerinfo.dil.mapper.TmstruckEnfactoryResultMapper;
  5. import com.steerinfo.dil.mapper.TmstruckLoadResultMapper;
  6. import com.steerinfo.dil.model.OmstruckOrder;
  7. import com.steerinfo.dil.model.TmstruckLoadResult;
  8. import com.steerinfo.dil.service.ITmstruckLoadResultService;
  9. import com.steerinfo.dil.util.DataChange;
  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. * TmstruckLoadResult服务实现:
  20. * @author generator
  21. * @version 1.0-SNAPSHORT 2021-09-02 10:38
  22. * 类描述
  23. * 修订历史:
  24. * 日期:2021-09-02
  25. * 作者:generator
  26. * 参考:
  27. * 描述:TmstruckLoadResult服务实现
  28. * @see null
  29. * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
  30. */
  31. @Service(value = "tmstruckLoadResultService")
  32. public class TmstruckLoadResultServiceImpl implements ITmstruckLoadResultService {
  33. @Autowired
  34. private TmstruckLoadResultMapper tmstruckLoadResultMapper;
  35. @Autowired
  36. private TmstruckEnfactoryResultMapper tmstruckEnfactoryResultMapper;
  37. @Autowired
  38. private OmstruckOrderMapper omstruckOrderMapper;
  39. @Autowired
  40. private WmshBoundFeign wmshBoundFeign;
  41. /**
  42. * 查询所有装车实绩
  43. * @param map
  44. * @return
  45. */
  46. @Override
  47. public List<Map<String, Object>> getAllLoadResult(Map<String, Object> map) {
  48. return tmstruckLoadResultMapper.getAllLoadResult(map);
  49. }
  50. /**
  51. * 新增装车实绩
  52. * 运输订单号 或 运输订单Id
  53. * 是否清场
  54. * 装车日期
  55. * 备注
  56. * 计量吨位
  57. * @param map
  58. * @return
  59. */
  60. @Override
  61. @Transactional
  62. public int addLoadResult(Map<String, Object> map) {
  63. //通过运输订单号 或 运单Id 查询实绩总表ID 此方法在 进厂作业mapper中
  64. Integer totalId = tmstruckEnfactoryResultMapper.selectOrderIdByCpAndOn(map);
  65. // 新增装车实绩
  66. TmstruckLoadResult tmstruckLoadResult = new TmstruckLoadResult();
  67. //添加主键Id
  68. long id;
  69. BigDecimal selectMaxId = tmstruckLoadResultMapper.selectMaxId();
  70. id = selectMaxId == null ? 1 : selectMaxId.longValue() + 1;
  71. //新增计量吨位 装车所装的重量
  72. BigDecimal resultMeasuredTonnage = DataChange.dataToBigDecimal(map.get("resultMeasuredTonnage"));
  73. tmstruckLoadResult.setResultMeasuredTonnage(resultMeasuredTonnage);
  74. tmstruckLoadResult.setStatus(new BigDecimal(0));
  75. tmstruckLoadResult.setResultId(new BigDecimal(id));
  76. tmstruckLoadResult.setResultTotalId(new BigDecimal(totalId));
  77. String resultIsclear = (String) (map.get("resultIsclear"));
  78. tmstruckLoadResult.setResultIsclear(resultIsclear);
  79. tmstruckLoadResult.setResultLoadStartTime(new Date((long) map.get("resultLoadStartTime")));
  80. tmstruckLoadResult.setInsertUpdateRemark((String) map.get("insertUpdateRemark"));
  81. int i = tmstruckLoadResultMapper.insertSelective(tmstruckLoadResult);
  82. //修改订单状态为执行中 1
  83. OmstruckOrder omstruckOrder = new OmstruckOrder();
  84. BigDecimal orderId = DataChange.dataToBigDecimal(map.get("orderId"));
  85. omstruckOrder.setOrderId(orderId);
  86. omstruckOrder.setOrderStatus(new BigDecimal(1));
  87. int i1 = omstruckOrderMapper.updateByPrimaryKeySelective(omstruckOrder);
  88. //修改运力状态为执行中
  89. BigDecimal capacityId = omstruckOrderMapper.getCapacityIdByOrderOrNum(map);
  90. HashMap<String, Object> changeMap = new HashMap<>();
  91. changeMap.put("capacityId", capacityId);
  92. changeMap.put("capacityStatus", 0);
  93. int i2 = omstruckOrderMapper.updateCapacityByCarIdOrNum(changeMap);
  94. //新增出库实绩 并修改实时库存
  95. BigDecimal portId = tmstruckLoadResultMapper.getPortIdBySendStationId(DataChange.dataToBigDecimal(map.get("loadingId")));
  96. if(portId != null){
  97. BigDecimal batchId = tmstruckLoadResultMapper.getBatchIdByOrderId(orderId);
  98. if(batchId != null){
  99. HashMap<String, Object> hashMap = new HashMap<>();
  100. hashMap.put("batchId", batchId);
  101. hashMap.put("portId", portId);
  102. hashMap.put("resultTonnage",resultMeasuredTonnage);
  103. hashMap.put("isClean", resultIsclear);
  104. wmshBoundFeign.addResult(hashMap);
  105. }
  106. }
  107. return i + i1 + i2;
  108. }
  109. /**
  110. * 修改装车作业
  111. * @param tmstruckLoadResult
  112. * @return
  113. */
  114. @Override
  115. public int updateLoadResult(TmstruckLoadResult tmstruckLoadResult) {
  116. return tmstruckLoadResultMapper.updateByPrimaryKeySelective(tmstruckLoadResult);
  117. }
  118. /**
  119. * 通过ID查询装车实绩
  120. * @param resultId
  121. * @return
  122. */
  123. @Override
  124. public List<Map<String, Object>> getLoadResultById(Integer resultId) {
  125. return tmstruckLoadResultMapper.getLoadResultById(resultId);
  126. }
  127. /**
  128. * 逻辑删除装车实绩 状态 1
  129. * @param resultId
  130. * @return
  131. */
  132. @Override
  133. public int deleteLoadResult(Integer resultId) {
  134. TmstruckLoadResult tmstruckLoadResult = new TmstruckLoadResult();
  135. tmstruckLoadResult.setResultId(new BigDecimal(resultId));
  136. tmstruckLoadResult.setStatus(new BigDecimal(1));
  137. return tmstruckLoadResultMapper.updateByPrimaryKeySelective(tmstruckLoadResult);
  138. }
  139. }