TmstrainMeasureCommissionServiceImpl.java 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  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. if (resultIdList.size()-count!=0){
  50. return -1;
  51. }
  52. return count;
  53. }
  54. /**
  55. * 添加计量委托并发送计量委托
  56. * resultId 装车实绩ID
  57. * @return
  58. */
  59. public int addTrainMeasureCommission(Map<String, Object> map){
  60. //查询计量委托
  61. Map<String, Object> measureCommission = getTrainMeasureCommission(map);
  62. measureCommission.put("steelyardNum", "铁专线");
  63. //车皮号
  64. measureCommission.put("isRelationEAS", true);
  65. measureCommission.put("flowTo", "进厂");
  66. measureCommission.put("isDel", false);
  67. measureCommission.put("isInsert", true);
  68. measureCommission.put("IsAssembly", false);
  69. measureCommission.put("deliveryMethod", "磅重交货");
  70. measureCommission.put("packagesNum", 0);
  71. map.put("materialId", measureCommission.get("materialId"));
  72. map.put("resultTotalId", measureCommission.get("resultTotalId"));
  73. measureCommission.remove("resultTotalId");
  74. //发送计量委托
  75. int i = sendMesToMeasure(measureCommission);
  76. if(i == 1){
  77. //添加计量委托实绩
  78. addMeasureCommission(map);
  79. updateTrainLoadResult(map);
  80. }
  81. return i;
  82. }
  83. /**
  84. * 更新火车装车实绩
  85. * @param map
  86. * @return
  87. */
  88. public void updateTrainLoadResult(Map<String, Object> map){
  89. TmstrainLoadingResult tmstrainLoadingResult = new TmstrainLoadingResult();
  90. tmstrainLoadingResult.setResultId(DataChange.dataToBigDecimal(map.get("resultId")));
  91. tmstrainLoadingResult.setSendRequest(new BigDecimal(2)); //更新委托已发送过
  92. tmstrainLoadingResultMapper.updateByPrimaryKeySelective(tmstrainLoadingResult);
  93. }
  94. /**
  95. * 查询没有发送过计量委托的车皮装车实绩并且到站是新区轨道衡和老区轨道衡的车皮装车实绩
  96. * @param map
  97. * @return
  98. */
  99. @Override
  100. public List<Map<String, Object>> getLoadResultToSendMC(Map<String, Object> map) {
  101. return tmstrainMeasureCommissionMapper.getLoadResultToSendMC(map);
  102. }
  103. /**
  104. * 添加火运计量委托
  105. * resultTotalId 火运总实绩ID
  106. * materialId 物资ID
  107. * calculateId 计量衡Id
  108. * @param map
  109. * @return
  110. */
  111. public int addMeasureCommission(Map<String, Object> map){
  112. TmstrainMeasureCommission tmstrainMeasureCommission = new TmstrainMeasureCommission();
  113. tmstrainMeasureCommission.setId(tmstrainMeasureCommissionMapper.selectMaxId());
  114. tmstrainMeasureCommission.setCalculateId(new BigDecimal(13));
  115. tmstrainMeasureCommission.setMaterialId(DataChange.dataToBigDecimal(map.get("materialId")));
  116. tmstrainMeasureCommission.setResultTotalId(DataChange.dataToBigDecimal(map.get("resultTotalId")));
  117. return tmstrainMeasureCommissionMapper.insertSelective(tmstrainMeasureCommission);
  118. }
  119. /**
  120. * 查询计量委托
  121. * @param map
  122. * @return
  123. */
  124. @Override
  125. public Map<String, Object> getTrainMeasureCommission(Map<String, Object> map) {
  126. return tmstrainMeasureCommissionMapper.getTrainMeasureCommission(map);
  127. }
  128. /**
  129. * 访问计量接口方法
  130. * @param map
  131. * @return
  132. */
  133. public int sendMesToMeasure(Map<String, Object> map){
  134. List<Map<String, Object>> sendMap = new ArrayList<>();
  135. sendMap.add(map);
  136. JSONObject jsonObject = new JSONObject();
  137. jsonObject.put("data", sendMap);
  138. String url = "http://172.16.33.122:44325/api/logistics/TareApplyFor";
  139. String jsonData = null;
  140. try {
  141. jsonData = HTTPRequestUtils.send(url, jsonObject, "utf-8");
  142. } catch (IOException e) {
  143. e.printStackTrace();
  144. }
  145. if(!"null".equals(jsonData)){
  146. System.out.println(jsonData);
  147. HashMap hashMap = JSON.parseObject(jsonData, HashMap.class);
  148. boolean success = (boolean) hashMap.get("success");
  149. System.out.println(hashMap.get("msg"));
  150. if(success){
  151. return 1;
  152. }
  153. }
  154. return 0;
  155. }
  156. }