wms费用科目bug修改;

This commit is contained in:
王奎兴
2026-04-11 17:19:37 +08:00
parent e9d4f699ee
commit 0a9e127d64
5 changed files with 49 additions and 18 deletions
@@ -288,6 +288,7 @@ public class HandoverTaskOrderApplicationService {
if (!handoverTaskOrderIds.isEmpty()) { if (!handoverTaskOrderIds.isEmpty()) {
HandoverTaskOrderDO completeDO = new HandoverTaskOrderDO(); HandoverTaskOrderDO completeDO = new HandoverTaskOrderDO();
completeDO.setHandoverTaskOrderIds(handoverTaskOrderIds); completeDO.setHandoverTaskOrderIds(handoverTaskOrderIds);
completeDO.setBillingJson(handoverTaskOrderDO.getBillingJson());
handoverTaskOrderDomainService.completeHandover(completeDO); handoverTaskOrderDomainService.completeHandover(completeDO);
} }
} }
@@ -3,6 +3,7 @@ package com.mhd.wms.application.service.stockInOrder;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
import com.alibaba.fastjson2.JSONObject; import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -297,6 +298,7 @@ public class StockInOrderApplicationService {
BigDecimal amount = account.getAmount(); BigDecimal amount = account.getAmount();
String subjectCode = account.getSubjectCode(); String subjectCode = account.getSubjectCode();
String subjectName = account.getSubjectName(); String subjectName = account.getSubjectName();
String serviceItemsCode = account.getServiceItemsCode(); String serviceItemsCode = account.getServiceItemsCode();
if (shipperId == null) { if (shipperId == null) {
continue; continue;
@@ -309,8 +311,21 @@ public class StockInOrderApplicationService {
businessDataPushDTO.setBillAmount(account.getAmount());//计费金额 businessDataPushDTO.setBillAmount(account.getAmount());//计费金额
businessDataPushDTO.setEstimatedCost(account.getSettlementAmount());//计算金额 businessDataPushDTO.setEstimatedCost(account.getSettlementAmount());//计算金额
businessDataPushDTO.setOriginalBusinessNum(inOrderNumber); businessDataPushDTO.setOriginalBusinessNum(inOrderNumber);
String amountJson = account.getAmountJson();
if (amountJson != null) {
List<Map<String, Object>> billingParamsList = JSON.parseObject(amountJson, new TypeReference<List<Map<String, Object>>>() {});
com.alibaba.fastjson.JSONObject jsonObject = new com.alibaba.fastjson.JSONObject(); com.alibaba.fastjson.JSONObject jsonObject = new com.alibaba.fastjson.JSONObject();
if ("装卸费".equals(subjectName)) { for (Map<String, Object> stringObjectMap : billingParamsList) {
Integer isFee = (Integer) stringObjectMap.get("isFee");
if (isFee==1) {
jsonObject.put((String) stringObjectMap.get("fields"), stringObjectMap.get("price"));
} else {
jsonObject.put((String) stringObjectMap.get("fields"), stringObjectMap.get("num"));
}
}
businessDataPushDTO.setDocumentFormJson(jsonObject.toJSONString());
}
/*if ("装卸费".equals(subjectName)) {
jsonObject.put("loading_unloading_unit_price", account.getPrice());//装卸货单价 jsonObject.put("loading_unloading_unit_price", account.getPrice());//装卸货单价
jsonObject.put("cargo_quantity",account.getNum());//货物数量 jsonObject.put("cargo_quantity",account.getNum());//货物数量
} else if ("贴标费".equals(subjectName)) { } else if ("贴标费".equals(subjectName)) {
@@ -321,8 +336,8 @@ public class StockInOrderApplicationService {
} else if ("进出仓操作费".equals(subjectName)) { } else if ("进出仓操作费".equals(subjectName)) {
jsonObject.put("cargo_quantity", account.getNum());//货物数量 jsonObject.put("cargo_quantity", account.getNum());//货物数量
jsonObject.put("warehouse_handling_unit_price",account.getPrice());//进出仓操作费单价 jsonObject.put("warehouse_handling_unit_price",account.getPrice());//进出仓操作费单价
} }*/
businessDataPushDTO.setDocumentFormJson(jsonObject.toJSONString());
businessDataPushDTO.setDocumentTypeCode("WMS_ckjccd"); businessDataPushDTO.setDocumentTypeCode("WMS_ckjccd");
businessDataPushDTO.setSettlementEntityId(shipperId); businessDataPushDTO.setSettlementEntityId(shipperId);
businessDataPushDTO.setSecondSubjectCode(subjectCode); businessDataPushDTO.setSecondSubjectCode(subjectCode);
@@ -360,20 +375,20 @@ public class StockInOrderApplicationService {
businessDataPushDTO.setBillAmount(account.getAmount());//计费金额 businessDataPushDTO.setBillAmount(account.getAmount());//计费金额
businessDataPushDTO.setEstimatedCost(account.getSettlementAmount());//计算金额 businessDataPushDTO.setEstimatedCost(account.getSettlementAmount());//计算金额
businessDataPushDTO.setOriginalBusinessNum(inOrderNumber); businessDataPushDTO.setOriginalBusinessNum(inOrderNumber);
String amountJson = account.getAmountJson();
if (amountJson!=null) {
List<Map<String, Object>> billingParamsList = JSON.parseObject(amountJson, new TypeReference<List<Map<String, Object>>>() {});
com.alibaba.fastjson.JSONObject jsonObject = new com.alibaba.fastjson.JSONObject(); com.alibaba.fastjson.JSONObject jsonObject = new com.alibaba.fastjson.JSONObject();
if ("装卸费".equals(subjectName)) { for (Map<String, Object> stringObjectMap : billingParamsList) {
jsonObject.put("loading_unloading_unit_price", account.getPrice());//装卸货单价 Integer isFee = (Integer) stringObjectMap.get("isFee");
jsonObject.put("cargo_quantity",account.getNum());//货物数量 if (isFee==1) {
} else if ("贴标费".equals(subjectName)) { jsonObject.put((String) stringObjectMap.get("fields"), stringObjectMap.get("price"));
jsonObject.put("wooden_case_labeling_unit_price", account.getPrice());//木箱单价 } else {
jsonObject.put("carton_labeling_unit_price",account.getPrice());//纸箱单价 jsonObject.put((String) stringObjectMap.get("fields"), stringObjectMap.get("num"));
jsonObject.put("wooden_case_quantity",account.getNum());//木箱数量 }
jsonObject.put("carton_quantity",account.getNum());//纸箱数量
} else if ("进出仓操作费".equals(subjectName)) {
jsonObject.put("cargo_quantity", account.getNum());//货物数量
jsonObject.put("warehouse_handling_unit_price",account.getPrice());//进出仓操作费单价
} }
businessDataPushDTO.setDocumentFormJson(jsonObject.toJSONString()); businessDataPushDTO.setDocumentFormJson(jsonObject.toJSONString());
}
businessDataPushDTO.setDocumentTypeCode("WMS_ckjccd"); businessDataPushDTO.setDocumentTypeCode("WMS_ckjccd");
businessDataPushDTO.setSettlementEntityId(shipperId); businessDataPushDTO.setSettlementEntityId(shipperId);
businessDataPushDTO.setSecondSubjectCode(subjectCode); businessDataPushDTO.setSecondSubjectCode(subjectCode);
@@ -39,6 +39,7 @@ import com.mhd.wms.domain.receiptMaterialDetail.repository.todo.ReceiptMaterialD
import com.mhd.wms.domain.receiptMaterialDetail.service.ReceiptMaterialDetailDomainService; import com.mhd.wms.domain.receiptMaterialDetail.service.ReceiptMaterialDetailDomainService;
import com.mhd.wms.domain.receiptOrderAccount.entity.ReceiptOrderAccount; import com.mhd.wms.domain.receiptOrderAccount.entity.ReceiptOrderAccount;
import com.mhd.wms.domain.receiptOrderAccount.repository.facade.IReceiptOrderAccountService; import com.mhd.wms.domain.receiptOrderAccount.repository.facade.IReceiptOrderAccountService;
import com.mhd.wms.domain.stockInOrder.repository.facade.IStockInOrderService;
import com.mhd.wms.domain.stockInOrder.repository.todo.StockInOrderDO; import com.mhd.wms.domain.stockInOrder.repository.todo.StockInOrderDO;
import com.mhd.wms.domain.stockReceiptOrder.repository.po.StockReceiptOrderPO; import com.mhd.wms.domain.stockReceiptOrder.repository.po.StockReceiptOrderPO;
import com.mhd.wms.domain.stockReceiptOrder.repository.todo.NoReceiptOrderDO; import com.mhd.wms.domain.stockReceiptOrder.repository.todo.NoReceiptOrderDO;
@@ -97,6 +98,8 @@ public class StockReceiptOrderApplicationService {
private IdGenerator idGenerator; private IdGenerator idGenerator;
@Autowired @Autowired
private IReceiptOrderAccountService receiptOrderAccountService; private IReceiptOrderAccountService receiptOrderAccountService;
@Autowired
private IStockInOrderService stockInOrderService;
/** /**
@@ -767,6 +767,10 @@ public class StockReceiptOrderDomainService {
String inOrderNumber = stockReceiptOrderDTO.getInOrderNumber(); String inOrderNumber = stockReceiptOrderDTO.getInOrderNumber();
Long receiptOrderId = stockReceiptOrderDTO.getReceiptOrderId(); Long receiptOrderId = stockReceiptOrderDTO.getReceiptOrderId();
String billingJson = stockReceiptOrderDTO.getBillingJson(); String billingJson = stockReceiptOrderDTO.getBillingJson();
if (inOrderNumber == null) {
StockReceiptOrder stockReceiptOrder = stockReceiptOrderService.getById(receiptOrderId);
inOrderNumber = stockReceiptOrder.getInOrderNumber();
}
stockInOrderService.update(null, new UpdateWrapper<StockInOrder>().lambda().set(StockInOrder::getBillingJson,billingJson).eq(StockInOrder::getInOrderNumber, inOrderNumber)); stockInOrderService.update(null, new UpdateWrapper<StockInOrder>().lambda().set(StockInOrder::getBillingJson,billingJson).eq(StockInOrder::getInOrderNumber, inOrderNumber));
stockReceiptOrderService.update(null, new UpdateWrapper<StockReceiptOrder>().lambda().set(StockReceiptOrder::getBillingJson,billingJson).eq(StockReceiptOrder::getReceiptOrderId, receiptOrderId)); stockReceiptOrderService.update(null, new UpdateWrapper<StockReceiptOrder>().lambda().set(StockReceiptOrder::getBillingJson,billingJson).eq(StockReceiptOrder::getReceiptOrderId, receiptOrderId));
} }
@@ -98,6 +98,14 @@ public class StockReceiptOrderApi extends BaseController {
return toAjax(stockReceiptOrderApplicationService.completeReceipt(receiptOrderId)); return toAjax(stockReceiptOrderApplicationService.completeReceipt(receiptOrderId));
} }
@ApiOperation("完成收货")
@PostMapping("/completeReceiptAndUpdateJson")
public AjaxResult completeReceipt(@RequestBody StockReceiptOrderDTO stockReceiptOrderDTO) {
Long receiptOrderId = stockReceiptOrderDTO.getReceiptOrderId();
stockReceiptOrderApplicationService.updateInOrder(stockReceiptOrderDTO);
return toAjax(stockReceiptOrderApplicationService.completeReceipt(receiptOrderId));
}
@ApiOperation("整单收货") @ApiOperation("整单收货")
@GetMapping("/entireReceipt/{receiptOrderIds}") @GetMapping("/entireReceipt/{receiptOrderIds}")
public AjaxResult entireReceipt(@PathVariable("receiptOrderIds") Long[] receiptOrderIds) { public AjaxResult entireReceipt(@PathVariable("receiptOrderIds") Long[] receiptOrderIds) {