TmstruckEnfactoryResultServiceImpl.java 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249
  1. package com.steerinfo.dil.service.impl;
  2. import com.steerinfo.dil.mapper.TmstruckEnfactoryResultMapper;
  3. import com.steerinfo.dil.mapper.TmstruckWeightResultMapper;
  4. import com.steerinfo.dil.model.TmstruckEnfactoryResult;
  5. import com.steerinfo.dil.model.TmstruckWeightResult;
  6. import com.steerinfo.dil.service.ITmstruckEnfactoryResultService;
  7. import com.steerinfo.dil.util.DataChange;
  8. import org.springframework.beans.factory.annotation.Autowired;
  9. import org.springframework.stereotype.Service;
  10. import java.math.BigDecimal;
  11. import java.util.Date;
  12. import java.util.List;
  13. import java.util.Map;
  14. /**
  15. * TmstruckEnfactoryResult服务实现:
  16. * @author TXF
  17. * @version 1.0-SNAPSHORT 2021-09-08 06:23
  18. * 类描述
  19. * 修订历史:
  20. * 日期:2021-09-08
  21. * 作者:generator
  22. * 参考:
  23. * 描述:TmstruckEnfactoryResult服务实现
  24. * @see null
  25. * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
  26. */
  27. @Service(value = "tmstruckEnfactoryResultService")
  28. public class TmstruckEnfactoryResultServiceImpl implements ITmstruckEnfactoryResultService {
  29. @Autowired
  30. private TmstruckEnfactoryResultMapper tmstruckEnfactoryResultMapper;
  31. @Autowired
  32. private TmstruckMeasureCommissionServiceImpl tmstruckMeasureCommissionService;
  33. @Autowired
  34. private TmstruckWeightResultServiceImpl tmstruckWeightResultService;
  35. @Autowired
  36. private UtilsServiceImpl utilsService;
  37. /**
  38. * 派单时新增进厂实绩
  39. * map: 总实绩Id、线路起点
  40. * @param map
  41. * @return
  42. */
  43. @Override
  44. public int addEnFactoryResult(Map<String, Object> map) {
  45. TmstruckEnfactoryResult tmstruckEnfactoryResult = new TmstruckEnfactoryResult();
  46. //生成进厂作业主键Id
  47. //添加主键
  48. tmstruckEnfactoryResult.setResultId(tmstruckEnfactoryResultMapper.selectMaxId());
  49. //如果有线路ID 添加门岗ID 路线起点就是进厂门岗
  50. if(map.get("lineStartNodeId") != null){
  51. tmstruckEnfactoryResult.setGatepostId(DataChange.dataToBigDecimal(map.get("lineStartNodeId")));
  52. }
  53. //添加实绩总表Id
  54. tmstruckEnfactoryResult.setResultTotalId(DataChange.dataToBigDecimal(map.get("resultTotalId")));
  55. return tmstruckEnfactoryResultMapper.insertSelective(tmstruckEnfactoryResult);
  56. }
  57. /**
  58. * 通过运输订单号查找排队顺序号
  59. * @param orderNumber
  60. * @return
  61. */
  62. @Override
  63. public Integer selectNodeNumber(String orderNumber) {
  64. return tmstruckEnfactoryResultMapper.selectNodeNumber(orderNumber);
  65. }
  66. /**
  67. * 获取进厂实绩
  68. * 1:销售订单;2:焦炭发运计划;3:水渣发运计划;4:内转到异地库;5:采购辅料订单;6:采购老区燃料订单;
  69. * 7:采购新区燃料订单;8:采购进口矿(万州-厂内);9:采购内转(达州-厂内);10:采购内转(老区-厂内); 11:厂内内转
  70. * @param map
  71. * @return
  72. */
  73. @Override
  74. public List<Map<String, Object>> getAllEnFactoryResult(Map<String, Object> map) {
  75. Integer orderType = (Integer) map.get("orderTypee");
  76. switch (orderType){
  77. case 1:
  78. return tmstruckEnfactoryResultMapper.getXSEnFactoryResult(map); //apiId:210
  79. case 2:
  80. break;
  81. case 3:
  82. break;
  83. case 4:
  84. break;
  85. case 5:
  86. case 6:
  87. case 7:
  88. case 8:
  89. return tmstruckEnfactoryResultMapper.getCGJKEnFactoryResult(map); //apiID: 99
  90. case 9:
  91. break;
  92. case 10:
  93. break;
  94. case 11:
  95. }
  96. return null;
  97. }
  98. /**
  99. * 通过运输订单id查询物资信息
  100. * @param orderId
  101. * @return
  102. */
  103. @Override
  104. public List<Map<String, Object>> getMaterial(Integer orderId) {
  105. return tmstruckEnfactoryResultMapper.getMaterial(orderId);
  106. }
  107. /**
  108. * 通过PDA进厂
  109. * orderNumber 运输订单号 gatepostName 门岗名称
  110. * 1:销售订单;2:焦炭发运计划;3:水渣发运计划;4:内转到异地库;5:采购辅料订单;6:采购老区燃料订单;
  111. * 7:采购新区燃料订单;8:采购进口矿(万州-厂内);9:采购内转(达州-厂内);10:采购内转(老区-厂内); 11:厂内内转
  112. * @param map
  113. * @return
  114. */
  115. public int enFactoryResultByPDA(Map<String, Object> map){
  116. int i = 0;
  117. //通过运输订单号查询订单类型
  118. String orderNumber = (String) map.get("orderNumber");
  119. map.putAll(tmstruckEnfactoryResultMapper.selectEnFactoryResultId(orderNumber));
  120. BigDecimal orderType = DataChange.dataToBigDecimal(map.get("orderTypee"));
  121. switch (orderType.intValue()){
  122. case 1:
  123. case 4:
  124. case 11:
  125. i += updateEnFactoryResultByPDA(map); //添加进厂实绩
  126. i += tmstruckMeasureCommissionService.addPiMeasureCommission(map); //添加计皮委托
  127. i += utilsService.updateOrderLineSequence(map, 4);//修改路段顺序号 4:计皮
  128. break;
  129. case 2:
  130. break;
  131. case 5:
  132. case 6:
  133. case 7:
  134. case 8:
  135. case 9:
  136. i += updateEnFactoryResultByPDA(map); //添加进厂实绩
  137. i += tmstruckMeasureCommissionService.addMaoMeasureCommission(map); //添加计毛委托 并发送计毛委托
  138. i += utilsService.updateOrderLineSequence(map, 2);//修改路段顺序号 2:计毛
  139. break;
  140. case 10: // 采购内转(老区-厂内)
  141. break;
  142. }
  143. return i;
  144. }
  145. /**
  146. * 通过门禁进厂
  147. * 运输订单号 orderNumber,车牌号capacityNumber,
  148. * 门岗名称 gatepostName,进厂时间 resultEntryGateTime,(进厂方式)
  149. * @param map
  150. * @return
  151. */
  152. public int enFactoryResultByMJ(Map<String, Object> map){
  153. int i = 0;
  154. //通过运输订单号查询订单类型
  155. String orderNumber = (String) map.get("orderNumber");
  156. map.putAll(tmstruckEnfactoryResultMapper.selectEnFactoryResultId(orderNumber));
  157. BigDecimal orderType = DataChange.dataToBigDecimal(map.get("orderTypee"));
  158. switch (orderType.intValue()){
  159. case 1:
  160. case 4:
  161. case 11:
  162. i += updateEnFactoryResultByMJ(map); //添加进厂实绩
  163. i += tmstruckMeasureCommissionService.addPiMeasureCommission(map); //添加计皮委托
  164. i += utilsService.updateOrderLineSequence(map, 4);//修改路段顺序号 4:计皮
  165. break;
  166. case 2:
  167. break;
  168. case 5:
  169. case 6:
  170. case 7:
  171. case 8:
  172. case 9:
  173. i += updateEnFactoryResultByMJ(map); //添加进厂实绩
  174. i += tmstruckMeasureCommissionService.addMaoMeasureCommission(map); //添加计毛委托 并发送计毛委托
  175. i += utilsService.updateOrderLineSequence(map, 2);//修改路段顺序号 2:计毛
  176. i += tmstruckWeightResultService.isNextNeedJl(DataChange.dataToBigDecimal(map.get("orderId")));
  177. break;
  178. case 10: // 采购内转(老区-厂内)
  179. break;
  180. }
  181. return i;
  182. }
  183. /**
  184. * 通过PDA添加进厂实绩方法
  185. * @param map
  186. * @return
  187. */
  188. public int updateEnFactoryResultByPDA(Map<String, Object> map){
  189. TmstruckEnfactoryResult tmstruckEnfactoryResult = new TmstruckEnfactoryResult();
  190. //获取进厂实绩id
  191. tmstruckEnfactoryResult.setResultId(DataChange.dataToBigDecimal(map.get("resultId")));
  192. //添加门岗
  193. String gatepostName = (String) map.get("gatepostName");
  194. Integer gatepostId = tmstruckEnfactoryResultMapper.selectGatepostIdByGatepostName(gatepostName);
  195. tmstruckEnfactoryResult.setGatepostId(new BigDecimal(gatepostId));
  196. //添加进厂时间
  197. tmstruckEnfactoryResult.setResultEntryGateTime(new Date());
  198. tmstruckEnfactoryResult.setInsertTime(new Date());
  199. tmstruckEnfactoryResult.setResultEntryMode("手动抬杠");
  200. tmstruckEnfactoryResult.setInsertUsername("admin");
  201. return tmstruckEnfactoryResultMapper.updateByPrimaryKeySelective(tmstruckEnfactoryResult);
  202. }
  203. /**
  204. * 通过门禁系统添加进厂实绩方法
  205. * @param map
  206. * @return
  207. */
  208. public int updateEnFactoryResultByMJ(Map<String, Object> map){
  209. TmstruckEnfactoryResult tmstruckEnfactoryResult=new TmstruckEnfactoryResult();
  210. //进门方式
  211. tmstruckEnfactoryResult.setResultEntryMode("自动抬杆");
  212. //添加进厂时间
  213. tmstruckEnfactoryResult.setResultEntryGateTime(new Date((long) map.get("resultEntryGateTime")));
  214. //添加门岗
  215. String gatepostName = (String) map.get("gatepostName");
  216. Integer gatepostNameId = tmstruckEnfactoryResultMapper.selectGatepostIdByGatepostName(gatepostName);
  217. tmstruckEnfactoryResult.setGatepostId(new BigDecimal(gatepostNameId));
  218. tmstruckEnfactoryResult.setInsertTime(new Date());
  219. tmstruckEnfactoryResult.setInsertUsername("admin");
  220. return tmstruckEnfactoryResultMapper.updateByPrimaryKeySelective(tmstruckEnfactoryResult);
  221. }
  222. }