OmstrainOrderServiceImpl.java 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. package com.steerinfo.dil.service.impl;
  2. import com.steerinfo.dil.mapper.OmstrainOrderMapper;
  3. import com.steerinfo.dil.mapper.TmsttOrderMapper;
  4. import com.steerinfo.dil.model.OmstrainOrder;
  5. import com.steerinfo.dil.model.TmsttOrder;
  6. import com.steerinfo.dil.service.IOmstrainOrderService;
  7. import com.steerinfo.dil.util.DataChange;
  8. import org.apache.tools.ant.taskdefs.Get;
  9. import org.springframework.beans.factory.annotation.Autowired;
  10. import org.springframework.stereotype.Service;
  11. import org.springframework.transaction.annotation.Transactional;
  12. import java.math.BigDecimal;
  13. import java.util.Date;
  14. import java.util.List;
  15. import java.util.Map;
  16. @Service
  17. public class OmstrainOrderServiceImpl implements IOmstrainOrderService {
  18. @Autowired
  19. OmstrainOrderMapper omstrainOrderMapper;
  20. @Autowired
  21. TmsttOrderMapper tmsttOrderMapper;
  22. @Override
  23. @Transactional
  24. public int generateOmstrain(Map<String, Object> map) {
  25. //需要做的事,
  26. int i;
  27. //1.生成火运订单,
  28. OmstrainOrder omstrainOrder = new OmstrainOrder();
  29. //获取火运运输订单ID
  30. BigDecimal trainOrderId = null;
  31. if(map.get("trainOrderId") != null){
  32. trainOrderId = DataChange.dataToBigDecimal(map.get("trainOrderId"));
  33. }else{
  34. trainOrderId = omstrainOrderMapper.getTrainOrder();
  35. }
  36. //生成运输订单号
  37. String trainOrderNumber = DataChange.generateEightDigitsNumber("WHYDD",trainOrderId.intValue());
  38. //获取车皮号/进站时间/发出时间
  39. if (map.get("wagonNo") != null && !"null".equals(map.get("wagonNo"))){
  40. String wagonNo = map.get("wagonNo").toString();
  41. omstrainOrder.setOrderWagonNo(wagonNo);
  42. }
  43. if(map.get("OutStation") != null && !"null".equals(map.get("OutStation"))){
  44. long OutStationTime = (long) map.get("OutStation");
  45. omstrainOrder.setOutstationTime(new Date(OutStationTime));
  46. }
  47. if(map.get("EnStation") != null && !"null".equals(map.get("EnStation"))){
  48. long EnStationTime = (long) map.get("EnStation");
  49. omstrainOrder.setEnstationTime(new Date(EnStationTime));
  50. }
  51. if (map.get("wagonWeight") != null && !"null".equals(map.get("wagonWeight"))){
  52. BigDecimal wagonWeight = DataChange.dataToBigDecimal(map.get("wagonWeight"));
  53. omstrainOrder.setOrderWagonWeight(wagonWeight);
  54. }
  55. if (map.get("wagonBillWeight") != null && !"null".equals(map.get("wagonBillWeight"))){
  56. BigDecimal wagonBillWeight = DataChange.dataToBigDecimal(map.get("wagonBillWeight"));
  57. omstrainOrder.setBillingWeight(wagonBillWeight);
  58. }
  59. if(map.get("strawMats") != null){
  60. omstrainOrder.setStrawmats(DataChange.dataToBigDecimal(map.get("strawMats")));
  61. }
  62. if(map.get("unloadPointId") != null){
  63. omstrainOrder.setWarehouseId(DataChange.dataToBigDecimal(map.get("unloadPointId")));
  64. }
  65. omstrainOrder.setId(trainOrderId);
  66. omstrainOrder.setOrderNo(trainOrderNumber);
  67. omstrainOrder.setInsertTime(new Date());
  68. omstrainOrder.setInsertUsername(map.get("personnelSsoId").toString());
  69. //初始化是没有验收
  70. omstrainOrder.setIsAccept(new BigDecimal(0));
  71. //获取汽运运输订单ID
  72. BigDecimal orderId = DataChange.dataToBigDecimal(map.get("orderId"));
  73. //生成火运订单和汽运订单的中间表
  74. if (map.get("trainOrderId") == null){
  75. TmsttOrder tmsttOrder = new TmsttOrder();
  76. tmsttOrder.setId(trainOrderId);
  77. tmsttOrder.setTrainOrderId(trainOrderId);
  78. tmsttOrder.setTruckOrderId(orderId);
  79. tmsttOrder.setInsertTime(new Date());
  80. i =+ tmsttOrderMapper.insertSelective(tmsttOrder);
  81. }
  82. if(map.get("trainOrderId") != null ){
  83. i =+ omstrainOrderMapper.updateByPrimaryKeySelective(omstrainOrder);
  84. }else{
  85. i =+ omstrainOrderMapper.insertSelective(omstrainOrder);
  86. }
  87. return i;
  88. }
  89. @Override
  90. public List<Map<String, Object>> getOrderTrainMes(Integer orderId) {
  91. List<Map<String,Object>>mapList = omstrainOrderMapper.getOrderTrainMes(orderId);
  92. for(Map<String,Object>map1:mapList){
  93. List<Map<String,Object>> materialList = omstrainOrderMapper.getMaterialList(map1);
  94. for (Map<String,Object>materialMap:materialList){
  95. BigDecimal materialId = DataChange.dataToBigDecimal(materialMap.get("materialId"));
  96. //根据运输订单ID和物资ID去查询炉号
  97. List<Map<String, Object>> luHaoNumberList = omstrainOrderMapper.getLuhaoNum(new BigDecimal(orderId),materialId);
  98. StringBuilder sb = new StringBuilder();
  99. for (Map<String, Object> luHaoMap : luHaoNumberList) {
  100. sb.append(luHaoMap.get("materialFurnaceNumber"));
  101. sb.append("-");
  102. sb.append(luHaoMap.get("materialNum"));
  103. sb.append("/");
  104. }
  105. if(luHaoNumberList.size() > 0){
  106. sb.deleteCharAt(sb.length() - 1);
  107. materialMap.put("luhao",sb.toString());
  108. }
  109. }
  110. map1.put("materialMesList",materialList);
  111. }
  112. return mapList;
  113. }
  114. @Override
  115. public List<Map<String, Object>> getWagonShippingDetails(Map<String, Object> map) {
  116. return omstrainOrderMapper.getWagonShippingDetails(map);
  117. }
  118. }