|
|
@@ -593,7 +593,7 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
|
|
|
} else {
|
|
|
other += item.getQuantity();
|
|
|
}
|
|
|
- boxTypeSum.append(item.getCntrTypeCode()).append("*").append(item.getQuantity()).append(",");
|
|
|
+ boxTypeSum.append(item.getQuantity()).append("*").append(item.getCntrTypeCode()).append(",");
|
|
|
quantityCntrTypesDescr.append(BigDecimalUtils.convertToEnglish(new BigDecimal(item.getQuantity() + ""))).append(" AND");
|
|
|
if (ObjectUtils.isNotNull(item.getQuantity()) && ObjectUtils.isNotNull(item.getTeu())) {
|
|
|
teu = teu.add(new BigDecimal(item.getQuantity()).multiply(item.getTeu()));
|
|
|
@@ -602,7 +602,7 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
|
|
|
|
|
|
if (quantityCntrTypesDescr.length() > 0) {
|
|
|
quantityCntrTypesDescr = new StringBuilder(quantityCntrTypesDescr.substring(0, quantityCntrTypesDescr.length() - 4));
|
|
|
- quantityCntrTypesDescr.append("ONLY.");
|
|
|
+ quantityCntrTypesDescr.append(" ONLY.");
|
|
|
bills.setQuantityCntrTypesDescr(quantityCntrTypesDescr.toString());
|
|
|
}
|
|
|
preContainersService.saveOrUpdateBatch(bills.getPreContainersList());
|
|
|
@@ -1606,6 +1606,10 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
|
|
|
Map<String, Object> map = dataProcessingUtil.profitStatus(declare.getId(), declare.getBusinessType(), feeCenterList);
|
|
|
if (ObjectUtils.isNotNull(map)) {
|
|
|
auditProecessDTO.setCustomizeTwo(map.get("profitStatusText").toString());
|
|
|
+ String errMsg = map.get("errorMessage").toString().trim();
|
|
|
+ if(!errMsg.isEmpty()){
|
|
|
+ throw new SecurityException(errMsg);
|
|
|
+ }
|
|
|
}
|
|
|
if ("SE".equals(declare.getBusinessType())) {
|
|
|
auditProecessDTO.setCustomizeThree(declare.getEtd());
|
|
|
@@ -2934,7 +2938,7 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
|
|
|
} else {
|
|
|
other += item.getQuantity();
|
|
|
}
|
|
|
- boxTypeSum.append(item.getCntrTypeCode()).append("*").append(item.getQuantity()).append(",");
|
|
|
+ boxTypeSum.append(item.getQuantity()).append("*").append(item.getCntrTypeCode()).append(",");
|
|
|
if (ObjectUtils.isNotNull(item.getQuantity()) && ObjectUtils.isNotNull(item.getTeu())) {
|
|
|
teu = teu.add(new BigDecimal(item.getQuantity()).multiply(item.getTeu()));
|
|
|
}
|
|
|
@@ -4308,6 +4312,10 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
|
|
|
Map<String, Object> map = dataProcessingUtil.profitStatus(declare.getId(), declare.getBusinessType(), feeCenterList);
|
|
|
if (ObjectUtils.isNotNull(map)) {
|
|
|
auditProecessDTO.setCustomizeTwo(map.get("profitStatusText").toString());
|
|
|
+ String errMsg = map.get("errorMessage").toString().trim();
|
|
|
+ if(!errMsg.isEmpty()){
|
|
|
+ throw new SecurityException(errMsg);
|
|
|
+ }
|
|
|
}
|
|
|
if ("SE".equals(declare.getBusinessType())) {
|
|
|
auditProecessDTO.setCustomizeThree(declare.getEtd());
|
|
|
@@ -4407,6 +4415,15 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
|
|
|
Bills copyBills = new Bills();
|
|
|
copyBills.setDetail(seaBillsDetail);
|
|
|
copyBills.setSeaType(detail.getSeaType());
|
|
|
+ copyBills.setMasterId(detail.getId());
|
|
|
+ copyBills.setMasterBillNo(detail.getBillNo());
|
|
|
+ copyBills.setTeamId(detail.getTeamId());
|
|
|
+ copyBills.setTeamName(detail.getTeamName());
|
|
|
+ copyBills.setHpaymode(detail.getHpaymode());
|
|
|
+ copyBills.setMpaymode(detail.getMpaymode());
|
|
|
+ copyBills.setPackingUnit(detail.getPackingUnit());
|
|
|
+ copyBills.setPackingUnitId(detail.getPackingUnitId());
|
|
|
+ copyBills.setIssueType(detail.getIssueType());
|
|
|
copyBills.setBusinessType(detail.getBusinessType());
|
|
|
copyBills.setBillType("MH");
|
|
|
copyBills.setPreContainersList(preContainersList);
|
|
|
@@ -4540,164 +4557,176 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
|
|
|
.in(FeeCenter::getPid, idList));
|
|
|
List<FeeCenter> feeCenters = new ArrayList<>();
|
|
|
for (Bills item : billsList) {
|
|
|
+ Boolean canCopy = true;
|
|
|
+ if(!item.getCorpId().equals(bills.getCorpId())){
|
|
|
+ canCopy = false;
|
|
|
+ item.setRemark("客户不一致!");
|
|
|
+ }
|
|
|
+
|
|
|
List<FeeCenter> feeItemList = new ArrayList<>();
|
|
|
List<FeeCenter> feeItemListOld = new ArrayList<>();
|
|
|
- if (!feeCenterList.isEmpty()) {
|
|
|
+ if (canCopy && !feeCenterList.isEmpty()) {
|
|
|
feeItemList = feeCenterList.stream().filter(e -> e.getPid().equals(item.getId()))
|
|
|
.collect(Collectors.toList());
|
|
|
}
|
|
|
+
|
|
|
if (feeItemList.isEmpty()) {
|
|
|
feeItemListOld = bills.getFeeCenterListAll();
|
|
|
} else {
|
|
|
- List<String> feeCodeList = feeItemList.stream().map(FeeCenter::getFeeCode).distinct().collect(Collectors.toList());
|
|
|
- List<FeeCenter> feeCenters1 = bills.getFeeCenterListAll().stream().filter(e -> !feeCodeList.contains(e.getFeeCode()))
|
|
|
- .collect(Collectors.toList());
|
|
|
- if (!feeCenters1.isEmpty()) {
|
|
|
- feeItemListOld = feeCenters1;
|
|
|
- }
|
|
|
+ // List<String> feeCodeList = feeItemList.stream().map(FeeCenter::getFeeCode).distinct().collect(Collectors.toList());
|
|
|
+ // List<FeeCenter> feeCenters1 = bills.getFeeCenterListAll().stream().filter(e -> !feeCodeList.contains(e.getFeeCode()))
|
|
|
+ // .collect(Collectors.toList());
|
|
|
+ // if (!feeCenters1.isEmpty()) {
|
|
|
+ // feeItemListOld = feeCenters1;
|
|
|
+ // }
|
|
|
+ canCopy = false;
|
|
|
+ item.setRemark("已存在费用,不允许复制!");
|
|
|
}
|
|
|
- for (FeeCenter feeCenter : feeItemListOld) {
|
|
|
- feeCenter.setAccountDate(null);
|
|
|
- feeCenter.setAccBillId(null);
|
|
|
- feeCenter.setAccBillNo("");
|
|
|
- feeCenter.setAccDate(null);
|
|
|
- feeCenter.setAccStatus(0);
|
|
|
- feeCenter.setAccById(0L);
|
|
|
- feeCenter.setAccByName("");
|
|
|
- feeCenter.setCheckBillId(0L);
|
|
|
- feeCenter.setCheckBillNo("");
|
|
|
- feeCenter.setCheckDate(null);
|
|
|
- feeCenter.setCheckAmount(new BigDecimal("0.00"));
|
|
|
- feeCenter.setCheckStatus(0);
|
|
|
- feeCenter.setCheckById(0L);
|
|
|
- feeCenter.setCheckByName("");
|
|
|
- feeCenter.setStlBillId(0L);
|
|
|
- feeCenter.setStlBillNo("");
|
|
|
- feeCenter.setStlDate(null);
|
|
|
- feeCenter.setStlOrgAmount(new BigDecimal("0.00"));
|
|
|
- feeCenter.setStlCurCode("");
|
|
|
- feeCenter.setStlExrate(new BigDecimal("0.00"));
|
|
|
- feeCenter.setStlExrateLoc(new BigDecimal("0.00"));
|
|
|
- feeCenter.setStlAmount(new BigDecimal("0.00"));
|
|
|
- feeCenter.setStlAmountLoc(new BigDecimal("0.00"));
|
|
|
- feeCenter.setStlStatus(0);
|
|
|
- feeCenter.setStlById(0L);
|
|
|
- feeCenter.setStlByName("");
|
|
|
- feeCenter.setStlTtlAmount(new BigDecimal("0.00"));
|
|
|
- feeCenter.setVoucherBillId(0L);
|
|
|
- feeCenter.setVoucherBillNo("");
|
|
|
- feeCenter.setVoucherNo("");
|
|
|
- feeCenter.setVoucherDate(null);
|
|
|
- feeCenter.setVoucherStatus(0);
|
|
|
- feeCenter.setVoucherById(0L);
|
|
|
- feeCenter.setVoucherByName("");
|
|
|
- feeCenter.setInvoiceBillId("");
|
|
|
- feeCenter.setInvoiceBillNo("");
|
|
|
- feeCenter.setInvoiceNo("");
|
|
|
- feeCenter.setInvoiceDate(null);
|
|
|
- feeCenter.setInvoiceStatus(0);
|
|
|
- feeCenter.setInvoiceCurCode("");
|
|
|
- feeCenter.setInvoiceExrate(new BigDecimal("0.00"));
|
|
|
- feeCenter.setInvoiceAmount(new BigDecimal("0.00"));
|
|
|
- feeCenter.setInvoiceAmountLoc(new BigDecimal("0.00"));
|
|
|
- feeCenter.setUninvoicedAmount(new BigDecimal("0.00"));
|
|
|
- feeCenter.setAppliedAmount(new BigDecimal("0.00"));
|
|
|
- feeCenter.setAppliedInvoiceAmount(new BigDecimal("0.00"));
|
|
|
- feeCenter.setReconciliationAmount(new BigDecimal("0.00"));
|
|
|
- feeCenter.setAppliedAmountStl(new BigDecimal("0.00"));
|
|
|
- feeCenter.setAppliedInvoiceAmountStl(new BigDecimal("0.00"));
|
|
|
- feeCenter.setInvoiceById(0L);
|
|
|
- feeCenter.setInvoiceByName("");
|
|
|
- feeCenter.setIsSignfor(0);
|
|
|
- feeCenter.setSignforId(0);
|
|
|
- feeCenter.setSignforName("");
|
|
|
- feeCenter.setSignforDate(null);
|
|
|
- feeCenter.setApplyId(0L);
|
|
|
- feeCenter.setApplyName("");
|
|
|
- feeCenter.setApplyTime(null);
|
|
|
- feeCenter.setApproverId(0L);
|
|
|
- feeCenter.setApproverName("");
|
|
|
- feeCenter.setApproveTime(null);
|
|
|
- feeCenter.setAuditStatus("0");
|
|
|
- feeCenter.setId(null);
|
|
|
- feeCenter.setPid(item.getId());
|
|
|
- feeCenter.setBillNo(item.getBillNo());
|
|
|
- feeCenter.setBusinessType(item.getBusinessType());
|
|
|
- feeCenter.setBillType(item.getBillType());
|
|
|
- feeCenter.setBillDate(item.getBillDate());
|
|
|
- feeCenter.setSrcType(item.getSrcType());
|
|
|
- feeCenter.setSrcId(item.getSrcId());
|
|
|
- feeCenter.setSrcCnName(item.getSrcCnName());
|
|
|
- feeCenter.setSrcEnName(item.getSrcEnName());
|
|
|
- feeCenter.setBillCorpId(item.getCorpId());
|
|
|
- feeCenter.setBillCorpCnName(item.getCorpCnName());
|
|
|
- feeCenter.setBillCorpEnName(item.getCorpEnName());
|
|
|
- feeCenter.setBillShortName(item.getShortName());
|
|
|
- feeCenter.setLineId(item.getLineId());
|
|
|
- feeCenter.setLineCnName(item.getLineCnName());
|
|
|
- feeCenter.setLineEnName(item.getLineEnName());
|
|
|
- feeCenter.setVesselId(item.getVesselId());
|
|
|
- feeCenter.setVesselEnName(item.getVesselEnName());
|
|
|
- feeCenter.setVesselCnName(item.getVesselCnName());
|
|
|
- feeCenter.setVoyageNo(item.getVoyageNo());
|
|
|
- feeCenter.setMblno(item.getMblno());
|
|
|
- feeCenter.setHblno(item.getHblno());
|
|
|
- feeCenter.setEtd(item.getEtd());
|
|
|
- feeCenter.setEta(item.getEta());
|
|
|
- feeCenter.setPolId(item.getPolId());
|
|
|
- feeCenter.setPolCode(item.getPolCode());
|
|
|
- feeCenter.setPolCnName(item.getPolCnName());
|
|
|
- feeCenter.setPolEnName(item.getPolEnName());
|
|
|
- feeCenter.setPodId(item.getPodId());
|
|
|
- feeCenter.setPodCode(item.getPodCode());
|
|
|
- feeCenter.setPodCnName(item.getPodCnName());
|
|
|
- feeCenter.setPodEnName(item.getPodEnName());
|
|
|
- feeCenter.setPaymode(item.getMpaymode());
|
|
|
- feeCenter.setPayplace(item.getMpayplace());
|
|
|
- feeCenter.setRefno(item.getRefno());
|
|
|
- feeCenter.setBookingNo(item.getBookingNo());
|
|
|
- if (!preContainersList.isEmpty()) {
|
|
|
- PreContainers preContainers = preContainersList.stream().filter(e -> e.getCntrTypeCode().equals(feeCenter.getUnitNo()))
|
|
|
- .findFirst().orElse(null);
|
|
|
- if (preContainers != null) {
|
|
|
- feeCenter.setQuantity(new BigDecimal(preContainers.getQuantity() + ""));
|
|
|
- // 去税金额 = 数量quantity * 单价price
|
|
|
- BigDecimal amountNet = new BigDecimal("0.00");
|
|
|
- // 税额 = 去税金额amountNet * 税率taxRateSum
|
|
|
- BigDecimal amountTax = new BigDecimal("0.00");
|
|
|
- // 金额,amountTax + 去税金额amountNet - 折扣金额amountDiscount
|
|
|
- BigDecimal amount = new BigDecimal("0.00");
|
|
|
- //总税率 = 税率taxRate + 附加税率surchargeRate
|
|
|
- BigDecimal taxRate = new BigDecimal("0.00");
|
|
|
- // 税率 = 总税率/100
|
|
|
- BigDecimal taxRateSum = new BigDecimal("0.00");
|
|
|
|
|
|
- amountNet = amountNet.add(feeCenter.getQuantity().multiply(feeCenter.getPrice()))
|
|
|
- .setScale(2, RoundingMode.HALF_UP);
|
|
|
- taxRate = taxRate.add(feeCenter.getTaxRate()).add(feeCenter.getSurchargeRate());
|
|
|
- taxRateSum = taxRateSum.add(taxRate.divide(new BigDecimal("100"), 2, RoundingMode.HALF_UP));
|
|
|
- amountTax = amountTax.add(amountNet.multiply(taxRateSum)).setScale(2, RoundingMode.HALF_UP);
|
|
|
- amount = amount.add(amountNet.add(amountTax).subtract(feeCenter.getAmountDiscount()));
|
|
|
+ if(canCopy) {
|
|
|
+ for (FeeCenter feeCenter : feeItemListOld) {
|
|
|
+ feeCenter.setAccountDate(null);
|
|
|
+ feeCenter.setAccBillId(null);
|
|
|
+ feeCenter.setAccBillNo("");
|
|
|
+ feeCenter.setAccDate(null);
|
|
|
+ feeCenter.setAccStatus(0);
|
|
|
+ feeCenter.setAccById(0L);
|
|
|
+ feeCenter.setAccByName("");
|
|
|
+ feeCenter.setCheckBillId(0L);
|
|
|
+ feeCenter.setCheckBillNo("");
|
|
|
+ feeCenter.setCheckDate(null);
|
|
|
+ feeCenter.setCheckAmount(new BigDecimal("0.00"));
|
|
|
+ feeCenter.setCheckStatus(0);
|
|
|
+ feeCenter.setCheckById(0L);
|
|
|
+ feeCenter.setCheckByName("");
|
|
|
+ feeCenter.setStlBillId(0L);
|
|
|
+ feeCenter.setStlBillNo("");
|
|
|
+ feeCenter.setStlDate(null);
|
|
|
+ feeCenter.setStlOrgAmount(new BigDecimal("0.00"));
|
|
|
+ feeCenter.setStlCurCode("");
|
|
|
+ feeCenter.setStlExrate(new BigDecimal("0.00"));
|
|
|
+ feeCenter.setStlExrateLoc(new BigDecimal("0.00"));
|
|
|
+ feeCenter.setStlAmount(new BigDecimal("0.00"));
|
|
|
+ feeCenter.setStlAmountLoc(new BigDecimal("0.00"));
|
|
|
+ feeCenter.setStlStatus(0);
|
|
|
+ feeCenter.setStlById(0L);
|
|
|
+ feeCenter.setStlByName("");
|
|
|
+ feeCenter.setStlTtlAmount(new BigDecimal("0.00"));
|
|
|
+ feeCenter.setVoucherBillId(0L);
|
|
|
+ feeCenter.setVoucherBillNo("");
|
|
|
+ feeCenter.setVoucherNo("");
|
|
|
+ feeCenter.setVoucherDate(null);
|
|
|
+ feeCenter.setVoucherStatus(0);
|
|
|
+ feeCenter.setVoucherById(0L);
|
|
|
+ feeCenter.setVoucherByName("");
|
|
|
+ feeCenter.setInvoiceBillId("");
|
|
|
+ feeCenter.setInvoiceBillNo("");
|
|
|
+ feeCenter.setInvoiceNo("");
|
|
|
+ feeCenter.setInvoiceDate(null);
|
|
|
+ feeCenter.setInvoiceStatus(0);
|
|
|
+ feeCenter.setInvoiceCurCode("");
|
|
|
+ feeCenter.setInvoiceExrate(new BigDecimal("0.00"));
|
|
|
+ feeCenter.setInvoiceAmount(new BigDecimal("0.00"));
|
|
|
+ feeCenter.setInvoiceAmountLoc(new BigDecimal("0.00"));
|
|
|
+ feeCenter.setUninvoicedAmount(new BigDecimal("0.00"));
|
|
|
+ feeCenter.setAppliedAmount(new BigDecimal("0.00"));
|
|
|
+ feeCenter.setAppliedInvoiceAmount(new BigDecimal("0.00"));
|
|
|
+ feeCenter.setReconciliationAmount(new BigDecimal("0.00"));
|
|
|
+ feeCenter.setAppliedAmountStl(new BigDecimal("0.00"));
|
|
|
+ feeCenter.setAppliedInvoiceAmountStl(new BigDecimal("0.00"));
|
|
|
+ feeCenter.setInvoiceById(0L);
|
|
|
+ feeCenter.setInvoiceByName("");
|
|
|
+ feeCenter.setIsSignfor(0);
|
|
|
+ feeCenter.setSignforId(0);
|
|
|
+ feeCenter.setSignforName("");
|
|
|
+ feeCenter.setSignforDate(null);
|
|
|
+ feeCenter.setApplyId(0L);
|
|
|
+ feeCenter.setApplyName("");
|
|
|
+ feeCenter.setApplyTime(null);
|
|
|
+ feeCenter.setApproverId(0L);
|
|
|
+ feeCenter.setApproverName("");
|
|
|
+ feeCenter.setApproveTime(null);
|
|
|
+ feeCenter.setAuditStatus("0");
|
|
|
+ feeCenter.setId(null);
|
|
|
+ feeCenter.setPid(item.getId());
|
|
|
+ feeCenter.setBillNo(item.getBillNo());
|
|
|
+ feeCenter.setBusinessType(item.getBusinessType());
|
|
|
+ feeCenter.setBillType(item.getBillType());
|
|
|
+ feeCenter.setBillDate(item.getBillDate());
|
|
|
+ feeCenter.setSrcType(item.getSrcType());
|
|
|
+ feeCenter.setSrcId(item.getSrcId());
|
|
|
+ feeCenter.setSrcCnName(item.getSrcCnName());
|
|
|
+ feeCenter.setSrcEnName(item.getSrcEnName());
|
|
|
+ feeCenter.setBillCorpId(item.getCorpId());
|
|
|
+ feeCenter.setBillCorpCnName(item.getCorpCnName());
|
|
|
+ feeCenter.setBillCorpEnName(item.getCorpEnName());
|
|
|
+ feeCenter.setBillShortName(item.getShortName());
|
|
|
+ feeCenter.setLineId(item.getLineId());
|
|
|
+ feeCenter.setLineCnName(item.getLineCnName());
|
|
|
+ feeCenter.setLineEnName(item.getLineEnName());
|
|
|
+ feeCenter.setVesselId(item.getVesselId());
|
|
|
+ feeCenter.setVesselEnName(item.getVesselEnName());
|
|
|
+ feeCenter.setVesselCnName(item.getVesselCnName());
|
|
|
+ feeCenter.setVoyageNo(item.getVoyageNo());
|
|
|
+ feeCenter.setMblno(item.getMblno());
|
|
|
+ feeCenter.setHblno(item.getHblno());
|
|
|
+ feeCenter.setEtd(item.getEtd());
|
|
|
+ feeCenter.setEta(item.getEta());
|
|
|
+ feeCenter.setPolId(item.getPolId());
|
|
|
+ feeCenter.setPolCode(item.getPolCode());
|
|
|
+ feeCenter.setPolCnName(item.getPolCnName());
|
|
|
+ feeCenter.setPolEnName(item.getPolEnName());
|
|
|
+ feeCenter.setPodId(item.getPodId());
|
|
|
+ feeCenter.setPodCode(item.getPodCode());
|
|
|
+ feeCenter.setPodCnName(item.getPodCnName());
|
|
|
+ feeCenter.setPodEnName(item.getPodEnName());
|
|
|
+ feeCenter.setPaymode(item.getMpaymode());
|
|
|
+ feeCenter.setPayplace(item.getMpayplace());
|
|
|
+ feeCenter.setRefno(item.getRefno());
|
|
|
+ feeCenter.setBookingNo(item.getBookingNo());
|
|
|
+ if (!preContainersList.isEmpty()) {
|
|
|
+ PreContainers preContainers = preContainersList.stream().filter(e -> e.getCntrTypeCode().equals(feeCenter.getUnitNo()))
|
|
|
+ .findFirst().orElse(null);
|
|
|
+ if (preContainers != null) {
|
|
|
+ feeCenter.setQuantity(new BigDecimal(preContainers.getQuantity() + ""));
|
|
|
+ // 去税金额 = 数量quantity * 单价price
|
|
|
+ BigDecimal amountNet = new BigDecimal("0.00");
|
|
|
+ // 税额 = 去税金额amountNet * 税率taxRateSum
|
|
|
+ BigDecimal amountTax = new BigDecimal("0.00");
|
|
|
+ // 金额,amountTax + 去税金额amountNet - 折扣金额amountDiscount
|
|
|
+ BigDecimal amount = new BigDecimal("0.00");
|
|
|
+ //总税率 = 税率taxRate + 附加税率surchargeRate
|
|
|
+ BigDecimal taxRate = new BigDecimal("0.00");
|
|
|
+ // 税率 = 总税率/100
|
|
|
+ BigDecimal taxRateSum = new BigDecimal("0.00");
|
|
|
|
|
|
- //判断是否是本位币
|
|
|
- if ("CNY".equals(feeCenter.getCurCode())) {
|
|
|
- feeCenter.setAmountNetLoc(amountNet);
|
|
|
- feeCenter.setAmountTaxLoc(amountTax);
|
|
|
- feeCenter.setAmountLoc(amount);
|
|
|
- feeCenter.setAmountDiscountLoc(amount);
|
|
|
- } else {
|
|
|
- feeCenter.setAmountNetLoc(feeCenter.getExrate().multiply(amountNet));
|
|
|
- feeCenter.setAmountTaxLoc(feeCenter.getExrate().multiply(amountTax));
|
|
|
- feeCenter.setAmountLoc(feeCenter.getExrate().multiply(amount));
|
|
|
- feeCenter.setAmountDiscountLoc(feeCenter.getExrate().multiply(amount));
|
|
|
+ amountNet = amountNet.add(feeCenter.getQuantity().multiply(feeCenter.getPrice()))
|
|
|
+ .setScale(2, RoundingMode.HALF_UP);
|
|
|
+ taxRate = taxRate.add(feeCenter.getTaxRate()).add(feeCenter.getSurchargeRate());
|
|
|
+ taxRateSum = taxRateSum.add(taxRate.divide(new BigDecimal("100"), 2, RoundingMode.HALF_UP));
|
|
|
+ amountTax = amountTax.add(amountNet.multiply(taxRateSum)).setScale(2, RoundingMode.HALF_UP);
|
|
|
+ amount = amount.add(amountNet.add(amountTax).subtract(feeCenter.getAmountDiscount()));
|
|
|
+
|
|
|
+ //判断是否是本位币
|
|
|
+ if ("CNY".equals(feeCenter.getCurCode())) {
|
|
|
+ feeCenter.setAmountNetLoc(amountNet);
|
|
|
+ feeCenter.setAmountTaxLoc(amountTax);
|
|
|
+ feeCenter.setAmountLoc(amount);
|
|
|
+ feeCenter.setAmountDiscountLoc(amount);
|
|
|
+ } else {
|
|
|
+ feeCenter.setAmountNetLoc(feeCenter.getExrate().multiply(amountNet));
|
|
|
+ feeCenter.setAmountTaxLoc(feeCenter.getExrate().multiply(amountTax));
|
|
|
+ feeCenter.setAmountLoc(feeCenter.getExrate().multiply(amount));
|
|
|
+ feeCenter.setAmountDiscountLoc(feeCenter.getExrate().multiply(amount));
|
|
|
+ }
|
|
|
+ feeCenter.setAmountNet(amountNet);
|
|
|
+ feeCenter.setAmountTax(amountTax);
|
|
|
+ feeCenter.setAmount(amount);
|
|
|
}
|
|
|
- feeCenter.setAmountNet(amountNet);
|
|
|
- feeCenter.setAmountTax(amountTax);
|
|
|
- feeCenter.setAmount(amount);
|
|
|
}
|
|
|
+ feeCenter.setUnsettledAmount(feeCenter.getAmount());
|
|
|
+ feeCenters.add(feeCenter);
|
|
|
}
|
|
|
- feeCenter.setUnsettledAmount(feeCenter.getAmount());
|
|
|
- feeCenters.add(feeCenter);
|
|
|
}
|
|
|
}
|
|
|
if (!feeCenters.isEmpty()) {
|