收货确认时覆盖原来的收货数量,费用以当前页面提交的数据计算
This commit is contained in:
+7
@@ -170,6 +170,13 @@ public class StockReceiptOrderDO extends StockInOrderBaseDO {
|
||||
|
||||
@ApiModelProperty("是否来自PDA收货:true-PDA收货完成,false-PC收货完成(用于上架单是否下发:PDA=是,PC=否)")
|
||||
private Boolean fromPda;
|
||||
|
||||
/**
|
||||
* PC 收货确认:以页面提交数据为全量实绩覆盖落库(由 Application 层根据入口设置,非前端传入)
|
||||
*/
|
||||
@ApiModelProperty(hidden = true)
|
||||
private Boolean receiptSubmitOverwriteFromPage;
|
||||
|
||||
@ApiModelProperty("费用")
|
||||
List<ReceiptOrderAccount> receiptOrderAccountList;
|
||||
}
|
||||
+20
-7
@@ -429,12 +429,14 @@ public class StockReceiptOrderDomainService {
|
||||
|
||||
private void saveAmount(StockReceiptOrderDO stockReceiptOrderDO) {
|
||||
Long receiptOrderId = stockReceiptOrderDO.getReceiptOrderId();
|
||||
List<ReceiptOrderAccount> receiptOrderAccountList = stockReceiptOrderDO.getReceiptOrderAccountList();
|
||||
for (ReceiptOrderAccount receiptOrderAccount : receiptOrderAccountList) {
|
||||
receiptOrderAccount.setOrderId(receiptOrderId);
|
||||
}
|
||||
receiptOrderAccountService.remove(new QueryWrapper<ReceiptOrderAccount>().lambda().eq(ReceiptOrderAccount::getOrderId, receiptOrderId));
|
||||
receiptOrderAccountService.saveBatch(receiptOrderAccountList);
|
||||
List<ReceiptOrderAccount> receiptOrderAccountList = stockReceiptOrderDO.getReceiptOrderAccountList();
|
||||
if (receiptOrderAccountList != null && !receiptOrderAccountList.isEmpty()) {
|
||||
for (ReceiptOrderAccount receiptOrderAccount : receiptOrderAccountList) {
|
||||
receiptOrderAccount.setOrderId(receiptOrderId);
|
||||
}
|
||||
receiptOrderAccountService.saveBatch(receiptOrderAccountList);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -694,8 +696,19 @@ public class StockReceiptOrderDomainService {
|
||||
LoginUser loginUser = SecurityUtils.getLoginUser();
|
||||
StockReceiptOrder stockReceiptOrder = new StockReceiptOrder();
|
||||
stockReceiptOrder.setReceiptOrderId(stockReceiptOrderPO.getReceiptOrderId());
|
||||
stockReceiptOrder.setReceiptQuantity(stockReceiptOrderPO.getReceiptQuantity().add(stockReceiptOrderDO.getActualQuantity()));
|
||||
stockReceiptOrder.setReceiptMaterialQuantity(stockReceiptOrderPO.getReceiptMaterialQuantity() + stockReceiptOrderDO.getActualReceiptMaterialQuantity());
|
||||
if (Boolean.TRUE.equals(stockReceiptOrderDO.getReceiptSubmitOverwriteFromPage())) {
|
||||
BigDecimal rq = stockReceiptOrderDO.getReceiptQuantity();
|
||||
stockReceiptOrder.setReceiptQuantity(rq != null ? rq : BigDecimal.ZERO);
|
||||
Integer rmq = stockReceiptOrderDO.getReceiptMaterialQuantity();
|
||||
stockReceiptOrder.setReceiptMaterialQuantity(rmq != null ? rmq : 0);
|
||||
} else {
|
||||
BigDecimal prevRq = stockReceiptOrderPO.getReceiptQuantity() != null ? stockReceiptOrderPO.getReceiptQuantity() : BigDecimal.ZERO;
|
||||
BigDecimal addAq = stockReceiptOrderDO.getActualQuantity() != null ? stockReceiptOrderDO.getActualQuantity() : BigDecimal.ZERO;
|
||||
stockReceiptOrder.setReceiptQuantity(prevRq.add(addAq));
|
||||
int prevRmq = stockReceiptOrderPO.getReceiptMaterialQuantity() != null ? stockReceiptOrderPO.getReceiptMaterialQuantity() : 0;
|
||||
int addArm = stockReceiptOrderDO.getActualReceiptMaterialQuantity() != null ? stockReceiptOrderDO.getActualReceiptMaterialQuantity() : 0;
|
||||
stockReceiptOrder.setReceiptMaterialQuantity(prevRmq + addArm);
|
||||
}
|
||||
stockReceiptOrder.setStatus(2);
|
||||
stockReceiptOrder.setUpdateBy(loginUser.getUserid());
|
||||
stockReceiptOrder.setUpdateByName(loginUser.getUsername());
|
||||
|
||||
Reference in New Issue
Block a user