TmstrainMeasureCommissionServiceImpl.java 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192
  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. //发送计量委托,成功返回1,失败返回0
  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 int updateTrainMeasureCommission(Map<String, Object> map){
  89. return 0;
  90. }
  91. /**
  92. * 更新火车装车实绩
  93. * @param map
  94. * @return
  95. */
  96. public void updateTrainLoadResult(Map<String, Object> map){
  97. TmstrainLoadingResult tmstrainLoadingResult = new TmstrainLoadingResult();
  98. tmstrainLoadingResult.setResultId(DataChange.dataToBigDecimal(map.get("resultId")));
  99. tmstrainLoadingResult.setSendRequest(new BigDecimal(2)); //更新委托已发送过
  100. tmstrainLoadingResultMapper.updateByPrimaryKeySelective(tmstrainLoadingResult);
  101. }
  102. /**
  103. * 查询待计量
  104. * @param map
  105. * @return
  106. */
  107. @Override
  108. public List<Map<String, Object>> getLoadResultToSendMC(Map<String, Object> map) {
  109. return tmstrainMeasureCommissionMapper.getLoadResultToSendMC(map);
  110. }
  111. /**
  112. * 查询已计量
  113. * @param map
  114. * @return
  115. */
  116. @Override
  117. public List<Map<String, Object>> getWeightResult(Map<String, Object> map) {
  118. return tmstrainMeasureCommissionMapper.getWeightResult(map);
  119. }
  120. /**
  121. * 添加火运计量委托
  122. * resultTotalId 火运总实绩ID
  123. * materialId 物资ID
  124. * calculateId 计量衡Id
  125. * @param map
  126. * @return
  127. */
  128. public int addMeasureCommission(Map<String, Object> map){
  129. TmstrainMeasureCommission tmstrainMeasureCommission = new TmstrainMeasureCommission();
  130. tmstrainMeasureCommission.setId(tmstrainMeasureCommissionMapper.selectMaxId());
  131. tmstrainMeasureCommission.setCalculateId(new BigDecimal(13));
  132. tmstrainMeasureCommission.setMaterialId(DataChange.dataToBigDecimal(map.get("materialId")));
  133. tmstrainMeasureCommission.setResultTotalId(DataChange.dataToBigDecimal(map.get("resultTotalId")));
  134. return tmstrainMeasureCommissionMapper.insertSelective(tmstrainMeasureCommission);
  135. }
  136. /**
  137. * 查询计量委托
  138. * @param map
  139. * @return
  140. */
  141. @Override
  142. public Map<String, Object> getTrainMeasureCommission(Map<String, Object> map) {
  143. return tmstrainMeasureCommissionMapper.getTrainMeasureCommission(map);
  144. }
  145. /**
  146. * 访问计量接口方法
  147. * @param map
  148. * @return
  149. */
  150. public int sendMesToMeasure(Map<String, Object> map){
  151. List<Map<String, Object>> sendMap = new ArrayList<>();
  152. sendMap.add(map);
  153. JSONObject jsonObject = new JSONObject();
  154. jsonObject.put("data", sendMap);
  155. String url = "http://172.16.33.122:44325/api/logistics/TareApplyFor";
  156. String jsonData = null;
  157. try {
  158. jsonData = HTTPRequestUtils.send(url, jsonObject, "utf-8");
  159. } catch (IOException e) {
  160. e.printStackTrace();
  161. }
  162. if(!"null".equals(jsonData)){
  163. System.out.println(jsonData);
  164. HashMap hashMap = JSON.parseObject(jsonData, HashMap.class);
  165. boolean success = (boolean) hashMap.get("success");
  166. System.out.println(hashMap.get("msg"));
  167. if(success){
  168. return 1;
  169. }
  170. }
  171. return 0;
  172. }
  173. }