BmstruckStatementServiceImpl.java 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. package com.steerinfo.dil.service.impl;
  2. import com.steerinfo.dil.mapper.*;
  3. import com.steerinfo.dil.model.*;
  4. import com.steerinfo.dil.service.IBmstruckStatementService;
  5. import org.springframework.beans.factory.annotation.Autowired;
  6. import org.springframework.stereotype.Service;
  7. import java.math.BigDecimal;
  8. import java.util.HashMap;
  9. import java.util.List;
  10. import java.util.Map;
  11. /**
  12. * BmstruckStatement服务实现:
  13. * @author generator
  14. * @version 1.0-SNAPSHORT 2021-10-27 04:14
  15. * 类描述
  16. * 修订历史:
  17. * 日期:2021-10-27
  18. * 作者:generator
  19. * 参考:
  20. * 描述:BmstruckStatement服务实现
  21. * @see null
  22. * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
  23. */
  24. @Service(value = "bmstruckStatementService")
  25. public class BmstruckStatementServiceImpl implements IBmstruckStatementService {
  26. @Autowired
  27. private BmstruckStatementMapper bmstruckStatementMapper;
  28. @Autowired
  29. BmstrainStatementMapper bmstrainStatementMapper;
  30. @Autowired
  31. BmsshipStatementMapper bmsshipStatementMapper;
  32. @Autowired
  33. BmstruckDetailsOrderMapper bmstruckDetailsOrderMapper;
  34. @Autowired
  35. BmsportHandlingFeeMapper bmsportHandlingFeeMapper;
  36. /**
  37. * 得到汽运账单
  38. * @param statementId
  39. * @return
  40. */
  41. @Override
  42. public Map<String, Object> getStatement(Integer statementId) {
  43. Map<String,Object> head = bmstruckStatementMapper.getStatement(new BigDecimal(statementId));
  44. List<Map<String,Object>> mapList = bmstruckStatementMapper.getCarrierAndReceiver(new BigDecimal(statementId));
  45. String amountType = "销售汽运";
  46. head.put("amountType",amountType);
  47. Map<String, Object> map = mapList.get(0);
  48. head.putAll(map);
  49. head.put("payUnitNum","");
  50. head.put("forwordUnitNum","");
  51. head.put("collectionUnitNum","");
  52. return head;
  53. }
  54. /**
  55. * 修改账单信息
  56. * @param head
  57. * @return
  58. */
  59. @Override
  60. public int updateStatement(Map<String, Object> head) {
  61. int result = 0;
  62. Map<String,Object> parametersMap = new HashMap<>();
  63. String statementNumber = (String) head.get("statementNumber");
  64. List<Map<String,Object>> detailsNumberList = (List<Map<String, Object>>) head.get("mapList");
  65. String amount = (String) head.get("amount");
  66. String remark = (String) head.get("remark");
  67. if (remark.equals("采购汽运")){
  68. Map<String, Object> map = detailsNumberList.get(0);
  69. String detailsNo = (String) map.get("detailsNo");
  70. parametersMap.put("detailsNo",detailsNo);
  71. List<BmstruckDetailsOrder> bmstruckDetailsOrders = bmstruckDetailsOrderMapper.selectByParameters(parametersMap);
  72. BmstruckDetailsOrder bmstruckDetailsOrder = bmstruckDetailsOrders.get(0);
  73. // 修改详单金额
  74. bmstruckDetailsOrder.setDetailsAmount(new BigDecimal(amount));
  75. bmstruckDetailsOrderMapper.updateByPrimaryKeySelective(bmstruckDetailsOrder);
  76. }
  77. if (remark.equals("采购火运")){
  78. parametersMap.put("statementNumber",statementNumber);
  79. List<BmstrainStatement> bmstrainStatements = bmstrainStatementMapper.selectByParameters(parametersMap);
  80. BmstrainStatement bmstrainStatement = bmstrainStatements.get(0);
  81. // 修改火运账单金额
  82. bmstrainStatement.setStatementTotalAmount(new BigDecimal(amount));
  83. bmstrainStatementMapper.updateByPrimaryKeySelective(bmstrainStatement);
  84. }
  85. if (remark.equals("港口装卸费")){
  86. parametersMap.put("statementNumber",statementNumber);
  87. List<BmsportHandlingFee> bmsportHandlingFees = bmsportHandlingFeeMapper.selectByParameters(parametersMap);
  88. BmsportHandlingFee bmsportHandlingFee = bmsportHandlingFees.get(0);
  89. // 修改结算金额
  90. bmsportHandlingFee.setFeeValue(new BigDecimal(amount));
  91. bmsportHandlingFeeMapper.updateByPrimaryKeySelective(bmsportHandlingFee);
  92. }
  93. if (remark.equals("水运费")){
  94. parametersMap.put("statementNumber",statementNumber);
  95. List<BmsshipStatement> bmsshipStatements = bmsshipStatementMapper.selectByParameters(parametersMap);
  96. BmsshipStatement bmsshipStatement = bmsshipStatements.get(0);
  97. // 修改结算金额
  98. bmsshipStatement.setStatementTotalAmount(new BigDecimal(amount));
  99. bmsshipStatementMapper.updateByPrimaryKeySelective(bmsshipStatement);
  100. }
  101. if (remark.equals("水分检测费")){
  102. parametersMap.put("statementNumber",statementNumber);
  103. List<BmsshipStatement> bmsshipStatements = bmsshipStatementMapper.selectByParameters(parametersMap);
  104. BmsshipStatement bmsshipStatement = bmsshipStatements.get(0);
  105. // 修改结算金额
  106. bmsshipStatement.setStatementTotalAmount(new BigDecimal(amount));
  107. bmsshipStatementMapper.updateByPrimaryKeySelective(bmsshipStatement);
  108. }
  109. if (remark.equals("物流途损超标扣款")){
  110. parametersMap.put("statementNumber",statementNumber);
  111. List<BmsshipStatement> bmsshipStatements = bmsshipStatementMapper.selectByParameters(parametersMap);
  112. BmsshipStatement bmsshipStatement = bmsshipStatements.get(0);
  113. // 修改结算金额
  114. bmsshipStatement.setStatementTotalAmount(new BigDecimal(amount));
  115. bmsshipStatementMapper.updateByPrimaryKeySelective(bmsshipStatement);
  116. }
  117. if (remark.equals("")){
  118. }
  119. return result;
  120. }
  121. }