TmstruckReceiptResultServiceImpl.java 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. package com.steerinfo.dil.service.impl;
  2. import com.steerinfo.dil.mapper.TmstruckReceiptResultMapper;
  3. import com.steerinfo.dil.mapper.UtilsMapper;
  4. import com.steerinfo.dil.model.TmstruckReceiptResult;
  5. import com.steerinfo.dil.service.ITmstruckReceiptResultService;
  6. import com.steerinfo.dil.util.DataChange;
  7. import com.steerinfo.route.mapper.TmstruckArrivalResultMapper;
  8. import org.springframework.beans.factory.annotation.Autowired;
  9. import org.springframework.stereotype.Service;
  10. import java.math.BigDecimal;
  11. import java.util.Date;
  12. import java.util.List;
  13. import java.util.Map;
  14. /**
  15. * TmstruckReceiptResult服务实现:
  16. * @author generator
  17. * @version 1.0-SNAPSHORT 2021-09-10 10:10
  18. * 类描述
  19. * 修订历史:
  20. * 日期:2021-09-10
  21. * 作者:generator
  22. * 参考:
  23. * 描述:TmstruckReceiptResult服务实现
  24. * @see null
  25. * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
  26. */
  27. @Service(value = "tmstruckReceiptResultService")
  28. public class TmstruckReceiptResultServiceImpl implements ITmstruckReceiptResultService {
  29. @Autowired
  30. private TmstruckReceiptResultMapper tmstruckReceiptResultMapper;
  31. @Autowired
  32. private UtilsMapper utilsMapper;
  33. @Autowired
  34. private TmstruckArrivalResultMapper tmstruckArrivalResultMapper;
  35. @Override
  36. public synchronized BigDecimal addTmstruckReceiptResult(String orderNumber, TmstruckReceiptResult tmstruckReceiptResult) {
  37. long id;
  38. if(tmstruckReceiptResultMapper.selectMaxId()==null){
  39. id = 1;
  40. }else {
  41. id = tmstruckReceiptResultMapper.selectMaxId().longValue()+1;
  42. }
  43. //生成主键id
  44. tmstruckReceiptResult.setResultId(new BigDecimal(id));
  45. //获取并插入总实绩Id
  46. BigDecimal truckTotalId = tmstruckArrivalResultMapper.getTotalIdByOrderNumber(orderNumber);
  47. tmstruckReceiptResult.setResultTotalId(truckTotalId);
  48. //常规字段
  49. tmstruckReceiptResult.setInsertUsername("admin");
  50. tmstruckReceiptResult.setInsertTime(new Date());
  51. tmstruckReceiptResult.setUpdateUsername("admin");
  52. tmstruckReceiptResult.setUpdateTime(new Date());
  53. tmstruckReceiptResult.setInsertUpdateRemark("无");
  54. tmstruckReceiptResultMapper.insertSelective(tmstruckReceiptResult);
  55. return new BigDecimal(id);
  56. }
  57. @Override
  58. public List<Map<String, Object>> getReceiptResultInfo(Map<String, Object> map) {
  59. return tmstruckReceiptResultMapper.getReceiptResultInfo(map);
  60. }
  61. /**
  62. * 查询所有收货实绩
  63. * @param map
  64. * @return
  65. */
  66. @Override
  67. public List<Map<String, Object>> getReceiveResult(Map<String, Object> map) {
  68. Integer orderType = (Integer) map.get("orderTypee");
  69. switch (orderType){
  70. case 1:
  71. break;
  72. case 2:
  73. break;
  74. case 3:
  75. break;
  76. case 4:
  77. return tmstruckReceiptResultMapper.getSteelNzReceiptResult(map); //apiId: 266
  78. case 5:
  79. case 6:
  80. case 7:
  81. case 8:
  82. case 17:
  83. case 18:
  84. return tmstruckReceiptResultMapper.getCGReceiptResult(map); //apiId: 107
  85. case 9:
  86. case 10:
  87. return tmstruckReceiptResultMapper.getInwardReceipt(map); //apiId: 107
  88. case 11:
  89. }
  90. return null;
  91. }
  92. /**
  93. * 新增一条虚拟收货实绩
  94. * @param {resultTotalId:总实绩ID}
  95. * @return
  96. */
  97. public int addReceiptResult(BigDecimal resultTotalId){
  98. //根据总实绩ID查询收货实绩查看是否已收货
  99. Integer receiptResult = tmstruckReceiptResultMapper.getReceiptResult(resultTotalId);
  100. if(receiptResult != null){
  101. return 0;
  102. }
  103. //新增完卸车实绩后新增一条收货实绩
  104. TmstruckReceiptResult tmstruckReceiptResult = new TmstruckReceiptResult();
  105. tmstruckReceiptResult.setId(tmstruckReceiptResultMapper.selectMaxId());//添加主键
  106. tmstruckReceiptResult.setResultTotalId(resultTotalId);//添加总实绩Id
  107. tmstruckReceiptResult.setStatus(new BigDecimal(0)); // 卸货完成后添加的为虚拟收货实绩
  108. return tmstruckReceiptResultMapper.insertSelective(tmstruckReceiptResult);
  109. }
  110. /**
  111. * 确认收货(修改收货实绩为真实收货实绩)
  112. * @param map {resultTotalId:总实绩ID}
  113. * @return
  114. */
  115. public int updateReceiptResult(Map<String, Object> map){
  116. TmstruckReceiptResult tmstruckReceiptResult = new TmstruckReceiptResult();
  117. tmstruckReceiptResult.setResultTotalId(DataChange.dataToBigDecimal(map.get("resultTotalId")));
  118. tmstruckReceiptResult.setStatus(new BigDecimal(1));
  119. tmstruckReceiptResult.setInsertUsername("admin");
  120. tmstruckReceiptResult.setInsertTime(new Date());
  121. return tmstruckReceiptResultMapper.updateByTotalResultId(tmstruckReceiptResult);
  122. }
  123. /**
  124. * 新增钢材到异地库达州站驻港人员确定收货
  125. * @param map
  126. * @return
  127. */
  128. public int addSteelNzReceiptResult(Map<String, Object> map){
  129. String orderNumber = (String) map.get("orderNumber");
  130. //通过运输订单号获取总实绩ID
  131. BigDecimal resultTotalId = utilsMapper.getTotalIdByOrderNumber(orderNumber);
  132. //获取异地库ID
  133. BigDecimal warehouseId = DataChange.dataToBigDecimal(map.get("warehouseId"));
  134. TmstruckReceiptResult tmstruckReceiptResult = new TmstruckReceiptResult();
  135. tmstruckReceiptResult.setResultId(tmstruckReceiptResultMapper.selectMaxId());
  136. tmstruckReceiptResult.setResultTotalId(resultTotalId);
  137. tmstruckReceiptResult.setStatus(new BigDecimal(1));
  138. tmstruckReceiptResult.setWarehouseId(warehouseId);
  139. tmstruckReceiptResult.setInsertTime(new Date());
  140. tmstruckReceiptResult.setInsertUsername("admin");
  141. return tmstruckReceiptResultMapper.insertSelective(tmstruckReceiptResult);
  142. }
  143. }