|
@@ -740,8 +740,6 @@ public class OutboundSaleOrderService extends BaseService<Outbound> {
|
|
|
outboundItem.setItemId(outboundItemVO.getItemId());
|
|
outboundItem.setItemId(outboundItemVO.getItemId());
|
|
|
outboundItem.setOutQty(outboundItemVO.getOutingQty());
|
|
outboundItem.setOutQty(outboundItemVO.getOutingQty());
|
|
|
outboundItem.setOutAmt(outboundItemVO.getOutingAmt());
|
|
outboundItem.setOutAmt(outboundItemVO.getOutingAmt());
|
|
|
- outboundItem.setCostPrice(outboundItemVO.getPriceOut());
|
|
|
|
|
- outboundItem.setCostAmt(outboundItemVO.getOutQty().multiply(outboundItemVO.getPriceOut()).setScale(6, BigDecimal.ROUND_HALF_UP));
|
|
|
|
|
//修改
|
|
//修改
|
|
|
outboundItemMapper.update(outboundItem,
|
|
outboundItemMapper.update(outboundItem,
|
|
|
new UpdateWrapper<OutboundItem>().lambda()
|
|
new UpdateWrapper<OutboundItem>().lambda()
|
|
@@ -752,19 +750,12 @@ public class OutboundSaleOrderService extends BaseService<Outbound> {
|
|
|
|
|
|
|
|
//region 新建明细
|
|
//region 新建明细
|
|
|
else {
|
|
else {
|
|
|
- //region 反写订单总单 数据需要 把查出来的已出库数量用别的变量存起来
|
|
|
|
|
- outboundItemVO.setUpdateOrderOutQty(outboundItemVO.getOutingQty());
|
|
|
|
|
- outboundItemVO.setUpdateOrderOutAmt(outboundItemVO.getOutingAmt());
|
|
|
|
|
- //endregion
|
|
|
|
|
-
|
|
|
|
|
outboundItemVO
|
|
outboundItemVO
|
|
|
.setOutId(outboundItemVO.getOutId())
|
|
.setOutId(outboundItemVO.getOutId())
|
|
|
.setOutQty(outboundItemVO.getOutingQty())
|
|
.setOutQty(outboundItemVO.getOutingQty())
|
|
|
.setOutAmt(outboundItemVO.getOutingAmt())
|
|
.setOutAmt(outboundItemVO.getOutingAmt())
|
|
|
.setOutingQty(BigDecimal.ZERO)
|
|
.setOutingQty(BigDecimal.ZERO)
|
|
|
.setOutingAmt(BigDecimal.ZERO)
|
|
.setOutingAmt(BigDecimal.ZERO)
|
|
|
- .setCostPrice(outboundItemVO.getPriceOut())
|
|
|
|
|
- .setCostAmt(outboundItemVO.getOutQty().multiply(outboundItemVO.getPriceOut()).setScale(2, BigDecimal.ROUND_HALF_UP))
|
|
|
|
|
.setOutType(Constant.OutType.SALE.getName())
|
|
.setOutType(Constant.OutType.SALE.getName())
|
|
|
;
|
|
;
|
|
|
//出库状态
|
|
//出库状态
|
|
@@ -789,10 +780,10 @@ public class OutboundSaleOrderService extends BaseService<Outbound> {
|
|
|
OrderItemResponse orderItemResponse = orderItemMapper.selectById(outboundItemVO.getFromItemId());
|
|
OrderItemResponse orderItemResponse = orderItemMapper.selectById(outboundItemVO.getFromItemId());
|
|
|
OrderItem orderItem = new OrderItem();
|
|
OrderItem orderItem = new OrderItem();
|
|
|
orderItem.setItemId(outboundItemVO.getFromItemId());
|
|
orderItem.setItemId(outboundItemVO.getFromItemId());
|
|
|
- orderItem.setOutQty(outboundItemResponse.getOutQty().negate().add(outboundItemVO.getOutingQty()));
|
|
|
|
|
- orderItem.setOutAmt(outboundItemResponse.getOutAmt().negate().add(outboundItemVO.getOutingAmt()));
|
|
|
|
|
- orderItem.setOutingQty(outboundItemVO.getOutQty());
|
|
|
|
|
- orderItem.setOutingAmt(outboundItemVO.getOutAmt());
|
|
|
|
|
|
|
+ orderItem.setOutQty((outboundItemResponse != null ? outboundItemResponse.getOutQty().negate() : BigDecimal.ZERO).add(outboundItemVO.getOutQty()));
|
|
|
|
|
+ orderItem.setOutAmt((outboundItemResponse != null ? outboundItemResponse.getOutAmt().negate() : BigDecimal.ZERO).add(outboundItemVO.getOutAmt()));
|
|
|
|
|
+ orderItem.setOutingQty((outboundItemResponse != null && outboundItemResponse.getOutingQty().compareTo(BigDecimal.ZERO) > 0) ? outboundItemVO.getOutQty().negate() : BigDecimal.ZERO);
|
|
|
|
|
+ orderItem.setOutingQty((outboundItemResponse != null && outboundItemResponse.getOutingAmt().compareTo(BigDecimal.ZERO) > 0) ? outboundItemVO.getOutAmt().negate() : BigDecimal.ZERO);
|
|
|
//出库状态
|
|
//出库状态
|
|
|
String outStatus = this.setOutStatus(orderItemResponse.getOutingQty().add(orderItem.getOutingQty()),
|
|
String outStatus = this.setOutStatus(orderItemResponse.getOutingQty().add(orderItem.getOutingQty()),
|
|
|
orderItemResponse.getOutQty().add(orderItem.getOutQty()), orderItemResponse.getItemQty());
|
|
orderItemResponse.getOutQty().add(orderItem.getOutQty()), orderItemResponse.getItemQty());
|
|
@@ -938,17 +929,10 @@ public class OutboundSaleOrderService extends BaseService<Outbound> {
|
|
|
|
|
|
|
|
//region 新建明细
|
|
//region 新建明细
|
|
|
else {
|
|
else {
|
|
|
- //region 反写订单总单 数据需要 把查出来的出库中数量用别的变量存起来
|
|
|
|
|
- outboundItemVO.setUpdateOrderOutingQty(outboundItemVO.getOutingQty());
|
|
|
|
|
- outboundItemVO.setUpdateOrderOutingAmt(outboundItemVO.getOutingAmt());
|
|
|
|
|
- //endregion
|
|
|
|
|
-
|
|
|
|
|
outboundItemVO
|
|
outboundItemVO
|
|
|
.setOutId(outboundItemVO.getOutId())
|
|
.setOutId(outboundItemVO.getOutId())
|
|
|
.setOutQty(BigDecimal.ZERO)
|
|
.setOutQty(BigDecimal.ZERO)
|
|
|
.setOutAmt(BigDecimal.ZERO)
|
|
.setOutAmt(BigDecimal.ZERO)
|
|
|
- .setCostPrice(outboundItemVO.getPriceOut())
|
|
|
|
|
- .setCostAmt(outboundItemVO.getOutingQty().multiply(outboundItemVO.getPriceOut()).setScale(2, BigDecimal.ROUND_HALF_UP))
|
|
|
|
|
.setOutType(Constant.OutType.SALE.getName())
|
|
.setOutType(Constant.OutType.SALE.getName())
|
|
|
;
|
|
;
|
|
|
//出库状态
|
|
//出库状态
|
|
@@ -1075,13 +1059,13 @@ public class OutboundSaleOrderService extends BaseService<Outbound> {
|
|
|
BigDecimal updateOrderOutingAmt = BigDecimal.ZERO;
|
|
BigDecimal updateOrderOutingAmt = BigDecimal.ZERO;
|
|
|
//已出库
|
|
//已出库
|
|
|
if (Constant.OutStatus.YICHUKU.getName().equals(outboundResponse.getOutStatus())) {
|
|
if (Constant.OutStatus.YICHUKU.getName().equals(outboundResponse.getOutStatus())) {
|
|
|
- updateOrderOutQty = orderOutItemVOListGroup.stream().map(OutboundItemVO::getUpdateOrderOutQty).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(6, BigDecimal.ROUND_HALF_UP);
|
|
|
|
|
- updateOrderOutAmt = orderOutItemVOListGroup.stream().map(OutboundItemVO::getUpdateOrderOutAmt).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
|
|
|
|
+ updateOrderOutQty = orderOutItemVOListGroup.stream().filter(it->it.getUpdateOrderOutQty()!=null).map(OutboundItemVO::getUpdateOrderOutQty).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(6, BigDecimal.ROUND_HALF_UP);
|
|
|
|
|
+ updateOrderOutAmt = orderOutItemVOListGroup.stream().filter(it->it.getUpdateOrderOutAmt()!=null).map(OutboundItemVO::getUpdateOrderOutAmt).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
}
|
|
}
|
|
|
//出库中
|
|
//出库中
|
|
|
else {
|
|
else {
|
|
|
- updateOrderOutingQty = orderOutItemVOListGroup.stream().map(OutboundItemVO::getUpdateOrderOutingQty).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(6, BigDecimal.ROUND_HALF_UP);
|
|
|
|
|
- updateOrderOutingAmt = orderOutItemVOListGroup.stream().map(OutboundItemVO::getUpdateOrderOutingAmt).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
|
|
|
|
+ updateOrderOutingQty = orderOutItemVOListGroup.stream().filter(it->it.getUpdateOrderOutingQty()!=null).map(OutboundItemVO::getUpdateOrderOutingQty).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(6, BigDecimal.ROUND_HALF_UP);
|
|
|
|
|
+ updateOrderOutingAmt = orderOutItemVOListGroup.stream().filter(it->it.getUpdateOrderOutingAmt()!=null).map(OutboundItemVO::getUpdateOrderOutingAmt).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
}
|
|
}
|
|
|
//endregion
|
|
//endregion
|
|
|
|
|
|
|
@@ -1108,8 +1092,8 @@ public class OutboundSaleOrderService extends BaseService<Outbound> {
|
|
|
order.setOrderId(fromId);
|
|
order.setOrderId(fromId);
|
|
|
//已出库
|
|
//已出库
|
|
|
if (Constant.OutStatus.YICHUKU.getName().equals(outboundResponse.getOutStatus())) {
|
|
if (Constant.OutStatus.YICHUKU.getName().equals(outboundResponse.getOutStatus())) {
|
|
|
- order.setOutQty(updateOrderOutQty.negate().add(orderSumQty).subtract(orderDelOutQty));
|
|
|
|
|
- order.setOutAmt(updateOrderOutAmt.negate().add(orderSumAmt).subtract(orderDelOutAmt));
|
|
|
|
|
|
|
+ order.setOutQty(orderSumQty.subtract(updateOrderOutQty).subtract(orderDelOutQty));
|
|
|
|
|
+ order.setOutAmt(orderSumAmt.subtract(updateOrderOutAmt).subtract(orderDelOutAmt));
|
|
|
order.setOutingQty(orderDelOutQty);
|
|
order.setOutingQty(orderDelOutQty);
|
|
|
order.setOutingAmt(orderDelOutAmt);
|
|
order.setOutingAmt(orderDelOutAmt);
|
|
|
//出库状态
|
|
//出库状态
|
|
@@ -1119,8 +1103,8 @@ public class OutboundSaleOrderService extends BaseService<Outbound> {
|
|
|
}
|
|
}
|
|
|
//出库中
|
|
//出库中
|
|
|
else if (Constant.OutStatus.CHUKUZHONG.getName().equals(outboundResponse.getOutStatus())) {
|
|
else if (Constant.OutStatus.CHUKUZHONG.getName().equals(outboundResponse.getOutStatus())) {
|
|
|
- order.setOutingQty(updateOrderOutingQty.negate().add(orderSumQty).subtract(orderDelOutQty));
|
|
|
|
|
- order.setOutingAmt(updateOrderOutingAmt.negate().add(orderSumQty).subtract(orderDelOutAmt));
|
|
|
|
|
|
|
+ order.setOutingQty(orderSumQty.subtract(updateOrderOutingQty).subtract(orderDelOutQty));
|
|
|
|
|
+ order.setOutingAmt(orderSumAmt.subtract(updateOrderOutingAmt).subtract(orderDelOutAmt));
|
|
|
//出库状态
|
|
//出库状态
|
|
|
String outStatus = this.setOutStatus(orderResponse.getOutingQty().add(order.getOutingQty()),
|
|
String outStatus = this.setOutStatus(orderResponse.getOutingQty().add(order.getOutingQty()),
|
|
|
orderResponse.getOutQty(), orderResponse.getSumQuantity());
|
|
orderResponse.getOutQty(), orderResponse.getSumQuantity());
|
|
@@ -1142,8 +1126,8 @@ public class OutboundSaleOrderService extends BaseService<Outbound> {
|
|
|
//region 提取新建分组后的明细
|
|
//region 提取新建分组后的明细
|
|
|
List<OutboundItemVO> orderOutItemVOListGroup = orderOutItemVOListMap.get(fromId);
|
|
List<OutboundItemVO> orderOutItemVOListGroup = orderOutItemVOListMap.get(fromId);
|
|
|
//分组后的明细 出库数量和金额总和
|
|
//分组后的明细 出库数量和金额总和
|
|
|
- BigDecimal orderSumQty = orderOutItemVOListGroup.stream().map(OutboundItemVO::getOutingQty).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(6, BigDecimal.ROUND_HALF_UP);
|
|
|
|
|
- BigDecimal orderSumAmt = orderOutItemVOListGroup.stream().map(OutboundItemVO::getOutingAmt).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
|
|
|
|
+ BigDecimal orderSumQty = orderOutItemVOListGroup.stream().map(OutboundItemVO::getOutQty).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(6, BigDecimal.ROUND_HALF_UP);
|
|
|
|
|
+ BigDecimal orderSumAmt = orderOutItemVOListGroup.stream().map(OutboundItemVO::getOutAmt).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
//分组后的明细 原出库数量和金额总和
|
|
//分组后的明细 原出库数量和金额总和
|
|
|
BigDecimal updateOrderOutQty = BigDecimal.ZERO;
|
|
BigDecimal updateOrderOutQty = BigDecimal.ZERO;
|
|
|
BigDecimal updateOrderOutAmt = BigDecimal.ZERO;
|
|
BigDecimal updateOrderOutAmt = BigDecimal.ZERO;
|
|
@@ -1151,13 +1135,13 @@ public class OutboundSaleOrderService extends BaseService<Outbound> {
|
|
|
BigDecimal updateOrderOutingAmt = BigDecimal.ZERO;
|
|
BigDecimal updateOrderOutingAmt = BigDecimal.ZERO;
|
|
|
//已出库
|
|
//已出库
|
|
|
if (Constant.OutStatus.YICHUKU.getName().equals(outboundResponse.getOutStatus())) {
|
|
if (Constant.OutStatus.YICHUKU.getName().equals(outboundResponse.getOutStatus())) {
|
|
|
- updateOrderOutQty = orderOutItemVOListGroup.stream().map(OutboundItemVO::getUpdateOrderOutQty).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(6, BigDecimal.ROUND_HALF_UP);
|
|
|
|
|
- updateOrderOutAmt = orderOutItemVOListGroup.stream().map(OutboundItemVO::getUpdateOrderOutAmt).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
|
|
|
|
+ updateOrderOutQty = orderOutItemVOListGroup.stream().filter(it->it.getUpdateOrderOutQty()!=null).map(OutboundItemVO::getUpdateOrderOutQty).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(6, BigDecimal.ROUND_HALF_UP);
|
|
|
|
|
+ updateOrderOutAmt = orderOutItemVOListGroup.stream().filter(it->it.getUpdateOrderOutQty()!=null).map(OutboundItemVO::getUpdateOrderOutAmt).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
}
|
|
}
|
|
|
//出库中
|
|
//出库中
|
|
|
else {
|
|
else {
|
|
|
- updateOrderOutingQty = orderOutItemVOListGroup.stream().map(OutboundItemVO::getUpdateOrderOutingQty).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(6, BigDecimal.ROUND_HALF_UP);
|
|
|
|
|
- updateOrderOutingAmt = orderOutItemVOListGroup.stream().map(OutboundItemVO::getUpdateOrderOutingAmt).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
|
|
|
|
+ updateOrderOutingQty = orderOutItemVOListGroup.stream().filter(it->it.getUpdateOrderOutingQty()!=null).map(OutboundItemVO::getUpdateOrderOutingQty).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(6, BigDecimal.ROUND_HALF_UP);
|
|
|
|
|
+ updateOrderOutingAmt = orderOutItemVOListGroup.stream().filter(it->it.getUpdateOrderOutingAmt()!=null).map(OutboundItemVO::getUpdateOrderOutingAmt).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
}
|
|
}
|
|
|
//endregion
|
|
//endregion
|
|
|
|
|
|
|
@@ -1168,17 +1152,17 @@ public class OutboundSaleOrderService extends BaseService<Outbound> {
|
|
|
order.setOrderId(fromId);
|
|
order.setOrderId(fromId);
|
|
|
//已出库
|
|
//已出库
|
|
|
if (Constant.OutStatus.YICHUKU.getName().equals(outboundResponse.getOutStatus())) {
|
|
if (Constant.OutStatus.YICHUKU.getName().equals(outboundResponse.getOutStatus())) {
|
|
|
- order.setOutQty(updateOrderOutQty.negate().add(orderSumQty));
|
|
|
|
|
- order.setOutAmt(updateOrderOutAmt.negate().add(orderSumAmt));
|
|
|
|
|
|
|
+ order.setOutQty(orderSumQty.subtract(updateOrderOutQty));
|
|
|
|
|
+ order.setOutAmt(orderSumAmt.subtract(updateOrderOutAmt));
|
|
|
//出库状态
|
|
//出库状态
|
|
|
- String outStatus = this.setOutStatus(orderResponse.getOutingQty().add(order.getOutingQty()),
|
|
|
|
|
|
|
+ String outStatus = this.setOutStatus(orderResponse.getOutingQty(),
|
|
|
orderResponse.getOutQty().add(order.getOutQty()), orderResponse.getSumQuantity());
|
|
orderResponse.getOutQty().add(order.getOutQty()), orderResponse.getSumQuantity());
|
|
|
order.setOutStatus(outStatus);
|
|
order.setOutStatus(outStatus);
|
|
|
}
|
|
}
|
|
|
//出库中
|
|
//出库中
|
|
|
else if (Constant.OutStatus.CHUKUZHONG.getName().equals(outboundResponse.getOutStatus())) {
|
|
else if (Constant.OutStatus.CHUKUZHONG.getName().equals(outboundResponse.getOutStatus())) {
|
|
|
- order.setOutingQty(updateOrderOutingQty.negate().add(orderSumQty));
|
|
|
|
|
- order.setOutingAmt(updateOrderOutingAmt.negate().add(orderSumQty));
|
|
|
|
|
|
|
+ order.setOutingQty(updateOrderOutingQty.negate());
|
|
|
|
|
+ order.setOutingAmt(updateOrderOutingAmt.negate());
|
|
|
//出库状态
|
|
//出库状态
|
|
|
String outStatus = this.setOutStatus(orderResponse.getOutingQty().add(order.getOutingQty()),
|
|
String outStatus = this.setOutStatus(orderResponse.getOutingQty().add(order.getOutingQty()),
|
|
|
orderResponse.getOutQty(), orderResponse.getSumQuantity());
|
|
orderResponse.getOutQty(), orderResponse.getSumQuantity());
|