TmstrainMeasureCommissionServiceImpl.java 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  1. package com.steerinfo.dil.service.impl;
  2. import com.alibaba.fastjson.JSON;
  3. import com.alibaba.fastjson.JSONObject;
  4. import com.steerinfo.dil.mapper.TmstrainLoadingResultMapper;
  5. import com.steerinfo.dil.mapper.TmstrainMeasureCommissionMapper;
  6. import com.steerinfo.dil.model.TmstrainLoadingResult;
  7. import com.steerinfo.dil.model.TmstrainMeasureCommission;
  8. import com.steerinfo.dil.service.ITmstrainMeasureCommissionService;
  9. import com.steerinfo.dil.util.DataChange;
  10. import com.steerinfo.dil.util.HTTPRequestUtils;
  11. import org.springframework.beans.factory.annotation.Autowired;
  12. import org.springframework.stereotype.Service;
  13. import org.springframework.transaction.annotation.Transactional;
  14. import java.io.IOException;
  15. import java.math.BigDecimal;
  16. import java.util.ArrayList;
  17. import java.util.HashMap;
  18. import java.util.List;
  19. import java.util.Map;
  20. /**
  21. * TmstrainMeasureCommission服务实现:
  22. * @author generator
  23. * @version 1.0-SNAPSHORT 2021-12-09 06:52
  24. * 类描述
  25. * 修订历史:
  26. * 日期:2021-12-09
  27. * 作者:generator
  28. * 参考:
  29. * 描述:TmstrainMeasureCommission服务实现
  30. * @see null
  31. * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
  32. */
  33. @Service(value = "tmstrainMeasureCommissionService")
  34. public class TmstrainMeasureCommissionServiceImpl implements ITmstrainMeasureCommissionService {
  35. @Autowired
  36. private TmstrainMeasureCommissionMapper tmstrainMeasureCommissionMapper;
  37. @Autowired
  38. private TmstrainLoadingResultMapper tmstrainLoadingResultMapper;
  39. /**
  40. * 批量发送计量委托
  41. * @return
  42. */
  43. public int batchSendMeasureCommission(Map<String, Object> map){
  44. List<Map<String, Object>> resultIdList = (List<Map<String, Object>>) map.get("resultIdList");
  45. int count = 0;
  46. for (Map<String, Object> objectMap : resultIdList) {
  47. count += addTrainMeasureCommission(objectMap);
  48. }
  49. return count;
  50. }
  51. /**
  52. * 添加计量委托并发送计量委托
  53. * resultId 装车实绩ID
  54. * @return
  55. */
  56. public int addTrainMeasureCommission(Map<String, Object> map){
  57. //查询计量委托
  58. Map<String, Object> measureCommission = getTrainMeasureCommission(map);
  59. measureCommission.put("steelyardNum", "铁专线");
  60. measureCommission.put("transportNum", map.get("transportNum"));
  61. measureCommission.put("isRelationEAS", true);
  62. measureCommission.put("flowTo", "进厂");
  63. measureCommission.put("isDel", false);
  64. measureCommission.put("isInsert", true);
  65. measureCommission.put("IsAssembly", false);
  66. measureCommission.put("deliveryMethod", "磅重交货");
  67. measureCommission.put("packagesNum", 0);
  68. map.put("materialId", measureCommission.get("materialId"));
  69. map.put("resultTotalId", measureCommission.get("resultTotalId"));
  70. measureCommission.remove("resultTotalId");
  71. //添加计量委托其他数据
  72. // int i = sendMesToMeasure(measureCommission);
  73. int i = 1;
  74. if(i == 1){
  75. //添加计量委托实绩
  76. addMeasureCommission(map);
  77. updateTrainLoadResult(map);
  78. }
  79. return i;
  80. }
  81. /**
  82. * 更新火车装车实绩
  83. * @param map
  84. * @return
  85. */
  86. public void updateTrainLoadResult(Map<String, Object> map){
  87. TmstrainLoadingResult tmstrainLoadingResult = new TmstrainLoadingResult();
  88. tmstrainLoadingResult.setResultId(DataChange.dataToBigDecimal(map.get("resultId")));
  89. tmstrainLoadingResult.setSendRequest(new BigDecimal(2)); //更新委托已发送过
  90. tmstrainLoadingResultMapper.updateByPrimaryKeySelective(tmstrainLoadingResult);
  91. }
  92. /**
  93. * 查询没有发送过计量委托的车皮装车实绩并且到站是新区轨道衡和老区轨道衡的车皮装车实绩
  94. * @param map
  95. * @return
  96. */
  97. @Override
  98. public List<Map<String, Object>> getLoadResultToSendMC(Map<String, Object> map) {
  99. return tmstrainMeasureCommissionMapper.getLoadResultToSendMC(map);
  100. }
  101. /**
  102. * 添加火运计量委托
  103. * resultTotalId 火运总实绩ID
  104. * materialId 物资ID
  105. * calculateId 计量衡Id
  106. * @param map
  107. * @return
  108. */
  109. public int addMeasureCommission(Map<String, Object> map){
  110. TmstrainMeasureCommission tmstrainMeasureCommission = new TmstrainMeasureCommission();
  111. tmstrainMeasureCommission.setId(tmstrainMeasureCommissionMapper.selectMaxId());
  112. tmstrainMeasureCommission.setCalculateId(new BigDecimal(13));
  113. tmstrainMeasureCommission.setMaterialId(DataChange.dataToBigDecimal(map.get("materialId")));
  114. tmstrainMeasureCommission.setResultTotalId(DataChange.dataToBigDecimal(map.get("resultTotalId")));
  115. return tmstrainMeasureCommissionMapper.insertSelective(tmstrainMeasureCommission);
  116. }
  117. /**
  118. * 查询计量委托
  119. * @param map
  120. * @return
  121. */
  122. @Override
  123. public Map<String, Object> getTrainMeasureCommission(Map<String, Object> map) {
  124. return tmstrainMeasureCommissionMapper.getTrainMeasureCommission(map);
  125. }
  126. /**
  127. * 访问计量接口方法
  128. * @param map
  129. * @return
  130. */
  131. public int sendMesToMeasure(Map<String, Object> map){
  132. List<Map<String, Object>> sendMap = new ArrayList<>();
  133. sendMap.add(map);
  134. JSONObject jsonObject = new JSONObject();
  135. jsonObject.put("data", sendMap);
  136. String url = "http://172.16.33.122:44325/api/logistics/TareApplyFor";
  137. String jsonData = null;
  138. try {
  139. jsonData = HTTPRequestUtils.send(url, jsonObject, "utf-8");
  140. } catch (IOException e) {
  141. e.printStackTrace();
  142. }
  143. if(!"null".equals(jsonData)){
  144. System.out.println(jsonData);
  145. HashMap hashMap = JSON.parseObject(jsonData, HashMap.class);
  146. boolean success = (boolean) hashMap.get("success");
  147. System.out.println(hashMap.get("msg"));
  148. if(success){
  149. return 1;
  150. }
  151. }
  152. return 0;
  153. }
  154. }