TmstruckWeightResultServiceImpl.java 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535
  1. package com.steerinfo.dil.service.impl;
  2. import com.steerinfo.dil.mapper.TmstrainWeightResultMapper;
  3. import com.steerinfo.dil.mapper.TmstruckReceiptResultMapper;
  4. import com.steerinfo.dil.mapper.UtilsMapper;
  5. import com.steerinfo.dil.model.TmstrainWeightResult;
  6. import com.steerinfo.dil.model.TmstruckReceiptResult;
  7. import com.steerinfo.dil.model.TmstruckWeightResult;
  8. import com.steerinfo.dil.mapper.TmstruckWeightResultMapper;
  9. import com.steerinfo.dil.service.ITmstruckWeightResultService;
  10. import com.steerinfo.dil.util.DataChange;
  11. import org.springframework.beans.factory.annotation.Autowired;
  12. import org.springframework.stereotype.Service;
  13. import org.springframework.transaction.annotation.Transactional;
  14. import java.text.ParseException;
  15. import java.text.SimpleDateFormat;
  16. import java.util.*;
  17. import java.math.BigDecimal;
  18. /**
  19. * TmstruckWeightResult服务实现:
  20. * @author generator
  21. * @version 1.0-SNAPSHORT 2021-10-25 02:28
  22. * 类描述
  23. * 修订历史:
  24. * 日期:2021-10-25
  25. * 作者:generator
  26. * 参考:
  27. * 描述:TmstruckWeightResult服务实现
  28. * @see null
  29. * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
  30. */
  31. @Service(value = "tmstruckWeightResultService")
  32. public class TmstruckWeightResultServiceImpl implements ITmstruckWeightResultService {
  33. @Autowired
  34. KDWebServiceServiceImpl KDWebServiceServiceImpl;
  35. @Autowired
  36. TmstruckWeightResultMapper tmstruckWeightResultMapper;
  37. @Autowired
  38. UtilsServiceImpl utilsService;
  39. @Autowired
  40. UtilsMapper utilsMapper;
  41. @Autowired
  42. TmstruckReceiptResultMapper tmstruckReceiptResultMapper;
  43. @Autowired
  44. TmstrainWeightResultMapper tmstrainWeightResultMapper;
  45. //属于采购订单的订单类型(先计毛后计皮)
  46. final private List<Integer> judgeOrderTypeList = Arrays.asList(5, 6, 7, 8, 9, 12, 14,15, 17, 18);
  47. //老厂区需要给金蝶回传的数据订单类型
  48. // final private List<Integer> judgeToKDTypeList = Arrays.asList(6, 17);
  49. /**
  50. * 接收达钢计量实绩信息
  51. * "orderNumber":"WYSDD2021091000000002",
  52. * "resultTareCalculateNumber":"1号汽车衡",
  53. * "resultCrossCalculateNumber":"1号汽车衡",
  54. * "resultTareWeight":40.00,
  55. * "resultCrossWeight":40.00,
  56. * "resultNetWeight":0,
  57. * "resultTareWeightTime":"2021-09-10 09:05:22",
  58. * "resultCrossWeightTime":"2021-09-10 09:05:22",
  59. * "resultPoundNo":"Bd123456780",
  60. * "materialId":40
  61. * @param mapList
  62. * @return
  63. */
  64. @Override
  65. @Transactional
  66. public String receiveTmsTruckWeightResultByDaGang(List<Map<String, Object>> mapList){
  67. //遍历列表
  68. StringBuilder sb = new StringBuilder();
  69. for (Map<String, Object> map : mapList) {
  70. sb.append(" ");
  71. String resultTareCalculateNumber = (String) map.get("resultTareCalculateNumber");
  72. //如果计量衡名字中含有铁专线 则代表是轨道衡 走轨道衡路线
  73. if(resultTareCalculateNumber.contains("铁专线")){
  74. sb.append(addTrainWeightResult(map));
  75. }else {
  76. //走汽车衡
  77. map.put("needCheckToKD", "1"); //老厂区专属变量 用于区分新、老厂区 老厂区需要给金蝶传输数据
  78. sb.append(addTruckWeightResult(map));
  79. }
  80. }
  81. return sb.toString();
  82. }
  83. /*
  84. * 接收达兴计量实绩
  85. * @Author TXF
  86. * @Date 2022/2/9 14:57
  87. * @param mapList
  88. * @return
  89. **/
  90. @Transactional
  91. @Override
  92. public String receiveTmsTruckWeightResultByDaXing(List<Map<String, Object>> mapList) {
  93. StringBuilder sb = new StringBuilder();
  94. //遍历列表
  95. for (Map<String, Object> map : mapList) {
  96. sb.append(addTruckWeightResult(map));
  97. }
  98. return sb.toString();
  99. }
  100. /**
  101. * 添加汽车衡计量实绩
  102. * @param map
  103. * @return
  104. */
  105. public String addTruckWeightResult(Map<String, Object> map) {
  106. //首先通过运输订单号查询订单类型
  107. Map<String, Object> oneMap = utilsMapper.getOrderTypeByOrderNumber((String) map.get("orderNumber"));
  108. if(oneMap == null){
  109. return map.get("orderNumber") + "系统无此订单";
  110. }
  111. Integer orderType= DataChange.dataToBigDecimal(oneMap.get("orderType")).intValue();
  112. // if(orderType == 11){
  113. // TmstruckWeightResult tmstruckWeightResult = new TmstruckWeightResult();
  114. // tmstruckWeightResult.setResultPoundNo((String) map.get("resultPoundNo"));
  115. // tmstruckWeightResult.setMaterialId(DataChange.dataToBigDecimal(map.get("materialId")));
  116. // //首先查询这个订单号的这个物资ID是否有计量实绩
  117. // Map<String, Object> twoMap = tmstruckWeightResultMapper.selectResultIdByOrderNoAndMaterialId(map);
  118. // if(twoMap == null){//如果查出来为空,则进行新增操作
  119. // tmstruckWeightResult.setId(tmstruckWeightResultMapper.selectMaxId()); //新增主键
  120. // tmstruckWeightResult.setResultTotalId(DataChange.dataToBigDecimal(oneMap.get("totalId"))); //新增总实绩ID
  121. // try {
  122. // addWeightResult(tmstruckWeightResult, map);
  123. // } catch (Exception e) {
  124. // e.printStackTrace();
  125. // }
  126. // }
  127. // }
  128. //通过运输订单号查询计量实绩Id
  129. Map<String, Object> stringObjectMap = tmstruckWeightResultMapper.selectWeightIdByOrderId(map);
  130. if(stringObjectMap == null){
  131. //通过传来的运输订单号 与 物资ID查询计重实绩ID
  132. stringObjectMap = tmstruckWeightResultMapper.selectTotalIdByOrderNo(map);
  133. if(stringObjectMap == null){
  134. return map.get("orderNumber") + "没有此订单信息或物资信息(" + map.get("materialId") + ")错误";
  135. }
  136. }
  137. map.putAll(stringObjectMap);
  138. TmstruckWeightResult tmstruckWeightResult = null;
  139. try {
  140. tmstruckWeightResult = generateWeightResult(map);
  141. } catch (Exception e) {
  142. return e.getMessage();
  143. }
  144. //如果含有这个变量则代表是老区订单需要判断是否回传给金蝶
  145. if(map.get("needCheckToKD") != null){
  146. if(map.get("resultNetWeight") != null){
  147. Object resultCrossWeightTime = map.get("resultCrossWeightTime");
  148. if ( orderType == 6 && resultCrossWeightTime != null && !"".equals(resultCrossWeightTime)) {
  149. String resultNetWeight = String.valueOf(map.get("resultNetWeight")); //如果净重不为空 或者净重不为0
  150. if (!"null".equals(resultNetWeight) && !"".equals(resultNetWeight) && !"0".equals(resultNetWeight)) {
  151. //回传数据给金蝶方法
  152. sendMesToKD(map, orderType);
  153. }
  154. }
  155. }
  156. }
  157. tmstruckWeightResultMapper.updateByPrimaryKeySelective(tmstruckWeightResult);
  158. //推送数据
  159. utilsService.pushMesToWebsocket((String) stringObjectMap.get("capacityNumber"), "计量");
  160. return map.get("orderNumber") + "成功";
  161. }
  162. /**
  163. * 生成汽运计量实体类
  164. * @Author TXF
  165. * @Date 2022/1/5 16:41
  166. * @param map
  167. * @return
  168. **/
  169. public TmstruckWeightResult generateWeightResult(Map<String, Object> map) throws Exception {
  170. TmstruckWeightResult tmstruckWeightResult = new TmstruckWeightResult();
  171. tmstruckWeightResult.setId(DataChange.dataToBigDecimal(map.get("weightTaskResultId")));
  172. Integer orderType = DataChange.dataToBigDecimal(map.get("orderTypee")).intValue();
  173. //磅单号
  174. tmstruckWeightResult.setResultPoundNo((String) map.get("resultPoundNo"));
  175. String resultCrossWeightTime = (String) map.get("resultCrossWeightTime");
  176. tmstruckWeightResult.setMaterialId(DataChange.dataToBigDecimal(map.get("materialId")));
  177. //如果是采购订单 先计毛再计皮
  178. if(judgeOrderTypeList.contains(orderType)){
  179. //如果毛重数据为空 则是第一次计量为毛重 此时第一次计量时间放皮重时间里面
  180. if(resultCrossWeightTime == null || resultCrossWeightTime.length() == 0){
  181. addMaoWeightResult(tmstruckWeightResult, map);
  182. //更新订单中路段顺序号
  183. map.put("segmentSqe", map.get("grossSegmentSqe")); //毛重路段顺序
  184. utilsService.updateOrderLineSequence(map);
  185. }else {
  186. addWeightResult(tmstruckWeightResult, map); //添加计量实绩数据
  187. //更新订单中路段顺序号
  188. map.put("segmentSqe", map.get("tareSegmentSqe")); //皮重路段顺序
  189. utilsService.updateOrderLineSequence(map);
  190. String orderNumber = (String) map.get("orderNumber");
  191. //如果是采购订单 计皮后自动完成签收
  192. //查询是此订单是否已签收过
  193. Integer check = utilsMapper.checkoutReceipt(orderNumber);
  194. if(check == null){
  195. autoReceipt(orderNumber, map.get("resultTareWeightTime"));
  196. }
  197. }
  198. }
  199. else if(orderType == 10 || orderType == 20){
  200. //查询还有几条没有净重的实绩
  201. Integer resultNum = tmstruckWeightResultMapper.selectNoNetWeightResult((String) map.get("orderNumber"));
  202. if(resultNum == 2){
  203. //如果有两条则是走先计皮后计毛顺序
  204. addWeightResult(tmstruckWeightResult, map); //添加计量实绩数据 (正常添加对应皮毛重方法)
  205. if(resultCrossWeightTime == null || resultCrossWeightTime.length() == 0){
  206. map.put("segmentSqe", map.get("tareSegmentSqe")); //皮重路段顺序
  207. }else{
  208. map.put("segmentSqe", map.get("grossSegmentSqe")); //毛重路段顺序
  209. }
  210. utilsService.updateOrderLineSequence(map);
  211. }else{
  212. //只剩一条数据时则是计毛后计皮顺序
  213. //如果毛重数据为空 则是第一次计量为毛重 此时第一次计量时间放皮重时间里面
  214. if(resultCrossWeightTime == null || resultCrossWeightTime.length() == 0){
  215. addMaoWeightResult(tmstruckWeightResult, map);
  216. //更新订单中路段顺序号
  217. map.put("segmentSqe", map.get("grossSegmentSqe")); //毛重路段顺序
  218. utilsService.updateOrderLineSequence(map);
  219. }else {
  220. addWeightResult(tmstruckWeightResult, map); //添加计量实绩数据
  221. //更新订单中路段顺序号
  222. map.put("segmentSqe", map.get("tareSegmentSqe")); //皮重路段顺序
  223. utilsService.updateOrderLineSequence(map);
  224. String orderNumber = (String) map.get("orderNumber");
  225. //如果是采购订单 计皮后自动完成签收
  226. //查询是此订单是否已签收过
  227. Integer check = utilsMapper.checkoutReceipt(orderNumber);
  228. if(check == null){
  229. autoReceipt(orderNumber, map.get("resultTareWeightTime"));
  230. }
  231. if(orderType == 20){
  232. //此订单类型比较特殊 如果订单类型为20则需要回传金蝶
  233. sendMesToKD(map, orderType);
  234. }
  235. }
  236. }
  237. }
  238. else{
  239. addWeightResult(tmstruckWeightResult, map); //添加计量实绩数据
  240. // 更新订单中路段顺序号,如果毛重时间为空则为计皮:也就是销售第一次计皮,反之有毛重时间则为计毛
  241. if(resultCrossWeightTime == null || resultCrossWeightTime.length() == 0){
  242. map.put("segmentSqe", map.get("tareSegmentSqe")); //皮重路段顺序
  243. }else{
  244. map.put("segmentSqe", map.get("grossSegmentSqe")); //毛重路段顺序
  245. }
  246. utilsService.updateOrderLineSequence(map);
  247. }
  248. return tmstruckWeightResult;
  249. }
  250. /**
  251. * 添加第一次为毛重数据的计量实绩
  252. * @param tmstruckWeightResult
  253. * @param map
  254. */
  255. public void addMaoWeightResult(TmstruckWeightResult tmstruckWeightResult, Map<String, Object> map) throws Exception{
  256. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  257. //设置毛重时间
  258. String firstTime = (String) map.get("resultTareWeightTime");
  259. tmstruckWeightResult.setResultGrossWeightTime(sdf.parse(firstTime));
  260. //添加毛重汽车衡
  261. Integer tareId = tmstruckWeightResultMapper.selectTruckCalculateId((String) map.get("resultTareCalculateNumber"));
  262. if(tareId == null){
  263. throw new Exception("没有此计量衡:" + map.get("resultTareCalculateNumber"));
  264. }
  265. tmstruckWeightResult.setResultGrossPlaceId(new BigDecimal(tareId));
  266. //设置毛重
  267. BigDecimal resultTareWeight = DataChange.dataToBigDecimal(map.get("resultTareWeight"));
  268. tmstruckWeightResult.setResultGrossWeight(resultTareWeight);
  269. tmstruckWeightResult.setInsertTime(new Date());
  270. tmstruckWeightResult.setInsertUsername("admin");
  271. }
  272. /**
  273. * 添加计量实绩添加数据
  274. * @param tmstruckWeightResult
  275. * @param map
  276. * @return
  277. */
  278. public void addWeightResult(TmstruckWeightResult tmstruckWeightResult, Map<String, Object> map) throws Exception{
  279. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  280. //设置皮重汽车衡
  281. String resultTareCalculateNumber = (String) map.get("resultTareCalculateNumber");
  282. if(resultTareCalculateNumber != null){
  283. if(!"".equals(resultTareCalculateNumber)){
  284. Integer tareId = tmstruckWeightResultMapper.selectTruckCalculateId(resultTareCalculateNumber);
  285. if(tareId == null){
  286. throw new Exception("没有此皮重汽车衡:" + map.get("resultTareCalculateNumber"));
  287. }
  288. tmstruckWeightResult.setResultTarePlaceId(new BigDecimal(tareId));
  289. }
  290. }
  291. //设置毛重汽车衡
  292. String resultCrossCalculateNumber = (String) map.get("resultCrossCalculateNumber");
  293. if(resultCrossCalculateNumber != null){
  294. if(!"".equals(resultCrossCalculateNumber)){
  295. Integer crossId = tmstruckWeightResultMapper.selectTruckCalculateId(resultCrossCalculateNumber);
  296. if(crossId == null){
  297. throw new Exception("没有此毛重汽车衡:" + map.get("resultCrossCalculateNumber"));
  298. }
  299. tmstruckWeightResult.setResultGrossPlaceId(new BigDecimal(crossId));
  300. }
  301. }
  302. //毛重
  303. if(map.get("resultCrossWeight") != null){
  304. String resultCrossWeight = String.valueOf(map.get("resultCrossWeight"));
  305. if(!"".equals(resultCrossWeight))
  306. tmstruckWeightResult.setResultGrossWeight(DataChange.dataToBigDecimal(resultCrossWeight));
  307. }
  308. //皮重
  309. if(map.get("resultTareWeight") != null){
  310. String resultTareWeight = String.valueOf(map.get("resultTareWeight"));
  311. if(!"".equals(resultTareWeight))
  312. tmstruckWeightResult.setResultTareWeight(DataChange.dataToBigDecimal(resultTareWeight));
  313. }
  314. //净重
  315. if(map.get("resultNetWeight") != null){
  316. String resultNetWeight = String.valueOf(map.get("resultNetWeight"));
  317. if(!"".equals(resultNetWeight)){
  318. tmstruckWeightResult.setResultNetWeight(DataChange.dataToBigDecimal(resultNetWeight));
  319. }
  320. }
  321. //设置皮重时间
  322. if(map.get("resultTareWeightTime") != null){
  323. String resultTareWeightTime = (String) map.get("resultTareWeightTime");
  324. if(!"".equals(resultTareWeightTime)){
  325. tmstruckWeightResult.setResultTareWeightTime(sdf.parse(resultTareWeightTime));
  326. }
  327. }
  328. //设置毛重时间
  329. if(map.get("resultCrossWeightTime") != null){
  330. String resultGrossWeightTime = (String) map.get("resultCrossWeightTime");
  331. if(!"".equals(resultGrossWeightTime)){
  332. tmstruckWeightResult.setResultGrossWeightTime(sdf.parse(resultGrossWeightTime));
  333. }
  334. }
  335. tmstruckWeightResult.setUpdateTime(new Date());
  336. tmstruckWeightResult.setUpdateUsername("admin");
  337. }
  338. /**
  339. * 自动签收
  340. * @return
  341. */
  342. public void autoReceipt(String orderNumber, Object tareWeightTime){
  343. TmstruckReceiptResult tmstruckReceiptResult = new TmstruckReceiptResult();
  344. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  345. //通过运输订单号查询总实绩ID
  346. BigDecimal resultTotalId = utilsMapper.getTotalIdByOrderNumber(orderNumber);
  347. tmstruckReceiptResult.setResultTotalId(resultTotalId);
  348. tmstruckReceiptResult.setStatus(new BigDecimal(1));
  349. tmstruckReceiptResult.setInsertUsername("admin");
  350. Date receiptTime;
  351. try {
  352. //取皮重时间为收货时间
  353. receiptTime = sdf.parse((String) tareWeightTime);
  354. } catch (ParseException e) {
  355. receiptTime = new Date();
  356. System.out.println(e.getMessage());
  357. }
  358. tmstruckReceiptResult.setInsertTime(receiptTime);
  359. int i = tmstruckReceiptResultMapper.updateByTotalResultId(tmstruckReceiptResult);
  360. if(i == 1) {
  361. System.out.println(orderNumber + "收货成功");
  362. }else {
  363. System.out.println(orderNumber + "收货失败");
  364. }
  365. }
  366. /**
  367. * @Author TXF
  368. * @Date 2022/2/18 9:55
  369. * @param tmstruckWeightResult
  370. * @param map
  371. * @return
  372. **/
  373. public void insertWeightResultBy11(TmstruckWeightResult tmstruckWeightResult, Map<String, Object> map){
  374. }
  375. /**
  376. * 添加火车计量实绩
  377. * @param map
  378. * @return
  379. */
  380. public String addTrainWeightResult(Map<String, Object> map){
  381. //通过采购订单号和车皮号 查询火运总实绩ID和物资ID
  382. Map<String, Object> totalIdAndMateMap = tmstrainWeightResultMapper.getResultIdByPurNoAndWagonNo(map);
  383. if(totalIdAndMateMap == null){
  384. return "采购订单号"+ map.get("purchaseOrderNo")+"或车皮信息"+ map.get("orderNumber")+"错误";
  385. }
  386. if(totalIdAndMateMap.get("resultTotalId") == null){
  387. return "采购订单号"+ map.get("purchaseOrderNo")+"或车皮信息"+ map.get("orderNumber")+"错误";
  388. }
  389. map.putAll(totalIdAndMateMap);
  390. TmstrainWeightResult tmstrainWeightResult = null;
  391. try {
  392. tmstrainWeightResult = generateTrainWeightResult(map);
  393. } catch (Exception e) {
  394. return e.getMessage(); //捕获异常信息
  395. }
  396. tmstrainWeightResultMapper.insertSelective(tmstrainWeightResult);
  397. return map.get("orderNumber") + "成功";
  398. }
  399. /**
  400. * 生成火运计量实体
  401. * @param map
  402. * @return
  403. */
  404. public TmstrainWeightResult generateTrainWeightResult(Map<String, Object> map) throws Exception {
  405. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  406. TmstrainWeightResult tmstrainWeightResult = new TmstrainWeightResult();
  407. tmstrainWeightResult.setResultId(tmstrainWeightResultMapper.selectMaxId());
  408. //磅单号
  409. tmstrainWeightResult.setResultPoundNo((String) map.get("resultPoundNo"));
  410. //添加火运总实绩ID
  411. tmstrainWeightResult.setResultTotalId(DataChange.dataToBigDecimal(map.get("resultTotalId")));
  412. //设置物资ID
  413. tmstrainWeightResult.setMaterialId(DataChange.dataToBigDecimal(map.get("materialId")));
  414. //如果没有计毛时间 则是第一次计量
  415. String resultCrossWeightTime = (String) map.get("resultCrossWeightTime");
  416. if(resultCrossWeightTime == null || resultCrossWeightTime.length() == 0){
  417. //设置毛重时间
  418. String firstTime = (String) map.get("resultTareWeightTime");
  419. tmstrainWeightResult.setResultGrossWeightTime(sdf.parse(firstTime));
  420. //添加毛重轨道衡
  421. Integer tareId = tmstruckWeightResultMapper.selectTruckCalculateId((String) map.get("resultTareCalculateNumber"));
  422. if(tareId == null){
  423. throw new Exception("没有此计量衡:" + map.get("resultTareCalculateNumber"));
  424. }
  425. tmstrainWeightResult.setResultGrossPlaceId(new BigDecimal(tareId));
  426. //设置毛重
  427. BigDecimal resultTareWeight = DataChange.dataToBigDecimal(map.get("resultTareWeight"));
  428. tmstrainWeightResult.setResultGrossWeight(resultTareWeight);
  429. tmstrainWeightResult.setInsertTime(new Date());
  430. tmstrainWeightResult.setInsertUsername("admin");
  431. }else {
  432. //设置皮重轨道衡
  433. Integer tareId = tmstruckWeightResultMapper.selectTruckCalculateId((String) map.get("resultTareCalculateNumber"));
  434. if(tareId == null){
  435. throw new Exception("没有此计量衡:" + map.get("resultTareCalculateNumber"));
  436. }
  437. tmstrainWeightResult.setResultTarePlaceId(new BigDecimal(tareId));
  438. //设置毛重轨道衡
  439. Integer crossId = tmstruckWeightResultMapper.selectTruckCalculateId((String) map.get("resultCrossCalculateNumber"));
  440. if(crossId == null){
  441. throw new Exception("没有此计量衡:" + map.get("resultCrossCalculateNumber"));
  442. }
  443. tmstrainWeightResult.setResultGrossPlaceId(new BigDecimal(crossId));
  444. //毛重
  445. BigDecimal resultCrossWeight = DataChange.dataToBigDecimal(map.get("resultCrossWeight"));
  446. tmstrainWeightResult.setResultGrossWeight(resultCrossWeight);
  447. //皮重
  448. BigDecimal resultTareWeight = DataChange.dataToBigDecimal(map.get("resultTareWeight"));
  449. tmstrainWeightResult.setResultTareWeight(resultTareWeight);
  450. //净重
  451. tmstrainWeightResult.setResultNetWeight(DataChange.dataToBigDecimal(map.get("resultNetWeight")));
  452. //设置皮重时间
  453. String resultTareWeightTime = (String) map.get("resultTareWeightTime");
  454. tmstrainWeightResult.setResultTareWeightTime(sdf.parse(resultTareWeightTime));
  455. //设置毛重时间
  456. String resultGrossWeightTime = (String) map.get("resultCrossWeightTime");
  457. tmstrainWeightResult.setResultGrossWeightTime(sdf.parse(resultGrossWeightTime));
  458. tmstrainWeightResult.setUpdateTime(new Date());
  459. tmstrainWeightResult.setUpdateUsername("admin");
  460. }
  461. return tmstrainWeightResult;
  462. }
  463. /**
  464. * 回传数据给金蝶方法
  465. * @Author TXF
  466. * @Date 2022/2/9 15:46
  467. * @param
  468. * @return
  469. **/
  470. public void sendMesToKD(Map<String, Object> map, Integer orderType){
  471. String orderNumber = (String) map.get("orderNumber");
  472. Map<String, Object> mesMap = new HashMap<>();
  473. switch (orderType){
  474. case 6:
  475. //查询订单信息
  476. mesMap = tmstruckWeightResultMapper.getPurOrderMesToKD(orderNumber);
  477. break;
  478. case 20:
  479. mesMap = tmstruckWeightResultMapper.get20PurOrderMesToKD(orderNumber);
  480. }
  481. //将map数据全放进mesMap中
  482. map.putAll(mesMap);
  483. //访问金蝶接口
  484. KDWebServiceServiceImpl.sendMesToKD(map);
  485. }
  486. /**
  487. * 上面方法的儿子方法
  488. * @Author TXF
  489. * @Date 2022/2/10 15:46
  490. * @param map
  491. * @param mesMap
  492. * @return
  493. **/
  494. public List<String> getMesList(Map<String, Object> map, Map<String, Object> mesMap){
  495. List<String> list = new ArrayList<>();
  496. //按照顺序添加
  497. list.add((String) map.get("resultPoundNo"));//磅单号
  498. list.add((String) mesMap.get("capacityNumber")); //车牌号
  499. list.add((String) map.get("resultCrossWeight")); //毛重
  500. list.add((String) map.get("resultCrossWeightTime")); //毛重时间
  501. list.add((String) map.get("resultTareWeight")); //皮重
  502. list.add((String) map.get("resultTareWeightTime")); //皮重时间
  503. list.add((String) map.get("resultNetWeight")); //净重
  504. list.add((String) mesMap.get("No")); //采购、销售订单号
  505. list.add((String) mesMap.get("easEntryId")); //采购、销售订单分录Id
  506. return list;
  507. }
  508. }