package com.steerinfo.dil.service.impl; import com.steerinfo.dil.mapper.*; import com.steerinfo.dil.model.*; import com.steerinfo.dil.service.IBmstruckStatementService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.math.BigDecimal; import java.util.HashMap; import java.util.List; import java.util.Map; /** * BmstruckStatement服务实现: * @author generator * @version 1.0-SNAPSHORT 2021-10-27 04:14 * 类描述 * 修订历史: * 日期:2021-10-27 * 作者:generator * 参考: * 描述:BmstruckStatement服务实现 * @see null * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved. */ @Service(value = "bmstruckStatementService") public class BmstruckStatementServiceImpl implements IBmstruckStatementService { @Autowired private BmstruckStatementMapper bmstruckStatementMapper; @Autowired BmstrainStatementMapper bmstrainStatementMapper; @Autowired BmsshipStatementMapper bmsshipStatementMapper; @Autowired BmstruckDetailsOrderMapper bmstruckDetailsOrderMapper; @Autowired BmsportHandlingFeeMapper bmsportHandlingFeeMapper; /** * 得到汽运账单 * @param statementId * @return */ @Override public Map getStatement(Integer statementId) { Map head = bmstruckStatementMapper.getStatement(new BigDecimal(statementId)); List> mapList = bmstruckStatementMapper.getCarrierAndReceiver(new BigDecimal(statementId)); String amountType = "销售汽运"; head.put("amountType",amountType); Map map = mapList.get(0); head.putAll(map); head.put("payUnitNum",""); head.put("forwordUnitNum",""); head.put("collectionUnitNum",""); return head; } /** * 修改账单信息 * @param head * @return */ @Override public int updateStatement(Map head) { int result = 0; Map parametersMap = new HashMap<>(); String statementNumber = (String) head.get("statementNumber"); List> detailsNumberList = (List>) head.get("mapList"); String amount = (String) head.get("amount"); String remark = (String) head.get("remark"); if (remark.equals("采购汽运")){ Map map = detailsNumberList.get(0); String detailsNo = (String) map.get("detailsNo"); parametersMap.put("detailsNo",detailsNo); List bmstruckDetailsOrders = bmstruckDetailsOrderMapper.selectByParameters(parametersMap); BmstruckDetailsOrder bmstruckDetailsOrder = bmstruckDetailsOrders.get(0); // 修改详单金额 bmstruckDetailsOrder.setDetailsAmount(new BigDecimal(amount)); bmstruckDetailsOrderMapper.updateByPrimaryKeySelective(bmstruckDetailsOrder); } if (remark.equals("采购火运")){ parametersMap.put("statementNumber",statementNumber); List bmstrainStatements = bmstrainStatementMapper.selectByParameters(parametersMap); BmstrainStatement bmstrainStatement = bmstrainStatements.get(0); // 修改火运账单金额 bmstrainStatement.setStatementTotalAmount(new BigDecimal(amount)); bmstrainStatementMapper.updateByPrimaryKeySelective(bmstrainStatement); } if (remark.equals("港口装卸费")){ parametersMap.put("statementNumber",statementNumber); List bmsportHandlingFees = bmsportHandlingFeeMapper.selectByParameters(parametersMap); BmsportHandlingFee bmsportHandlingFee = bmsportHandlingFees.get(0); // 修改结算金额 bmsportHandlingFee.setFeeValue(new BigDecimal(amount)); bmsportHandlingFeeMapper.updateByPrimaryKeySelective(bmsportHandlingFee); } if (remark.equals("水运费")){ parametersMap.put("statementNumber",statementNumber); List bmsshipStatements = bmsshipStatementMapper.selectByParameters(parametersMap); BmsshipStatement bmsshipStatement = bmsshipStatements.get(0); // 修改结算金额 bmsshipStatement.setStatementTotalAmount(new BigDecimal(amount)); bmsshipStatementMapper.updateByPrimaryKeySelective(bmsshipStatement); } if (remark.equals("水分检测费")){ parametersMap.put("statementNumber",statementNumber); List bmsshipStatements = bmsshipStatementMapper.selectByParameters(parametersMap); BmsshipStatement bmsshipStatement = bmsshipStatements.get(0); // 修改结算金额 bmsshipStatement.setStatementTotalAmount(new BigDecimal(amount)); bmsshipStatementMapper.updateByPrimaryKeySelective(bmsshipStatement); } if (remark.equals("物流途损超标扣款")){ parametersMap.put("statementNumber",statementNumber); List bmsshipStatements = bmsshipStatementMapper.selectByParameters(parametersMap); BmsshipStatement bmsshipStatement = bmsshipStatements.get(0); // 修改结算金额 bmsshipStatement.setStatementTotalAmount(new BigDecimal(amount)); bmsshipStatementMapper.updateByPrimaryKeySelective(bmsshipStatement); } if (remark.equals("")){ } return result; } }