|
|
@@ -124,12 +124,14 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
|
|
|
Map<String, List<OutboundItemVO>> outboundItemVOListOutPri = outboundVO.getItemList().stream().collect(Collectors.groupingBy(OutboundItemVO::getSOutId));
|
|
|
for (String str : outboundItemVOListOutPri.keySet()) {
|
|
|
List<OutboundItemVO> outboundItemList = outboundItemVOListOutPri.get(str);
|
|
|
+
|
|
|
//region 汇总退货数量 金额
|
|
|
BigDecimal returnSumQty = outboundItemList.stream().map(OutboundItemVO::getOutQty).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(6, BigDecimal.ROUND_HALF_UP);
|
|
|
BigDecimal returnSumAmt = outboundItemList.stream().map(OutboundItemVO::getOutAmt).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
BigDecimal returnIngSumQty = outboundItemList.stream().map(OutboundItemVO::getOutingQty).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(6, BigDecimal.ROUND_HALF_UP);
|
|
|
BigDecimal returnIngSumAmt = outboundItemList.stream().map(OutboundItemVO::getOutingAmt).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
//endregion
|
|
|
+
|
|
|
//查询原单
|
|
|
OutboundResponse outboundResponse = outboundMapper.selectById(str);
|
|
|
//校验数据
|
|
|
@@ -154,6 +156,7 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
|
|
|
Map<String, List<OutboundItemVO>> outboundItemVOListOrderPri = outboundVO.getItemList().stream().collect(Collectors.groupingBy(OutboundItemVO::getSOrderId));
|
|
|
for (String str : outboundItemVOListOrderPri.keySet()) {
|
|
|
List<OutboundItemVO> outboundItemList = outboundItemVOListOrderPri.get(str);
|
|
|
+
|
|
|
//region 汇总退货数量 金额
|
|
|
BigDecimal returnSumQty = outboundItemList.stream().map(OutboundItemVO::getOutQty).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(6, BigDecimal.ROUND_HALF_UP);
|
|
|
BigDecimal returnSumAmt = outboundItemList.stream().map(OutboundItemVO::getOutAmt).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
@@ -161,6 +164,7 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
|
|
|
BigDecimal returnIngSumAmt = outboundItemList.stream().map(OutboundItemVO::getOutingAmt).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
|
|
|
//endregion
|
|
|
+
|
|
|
//查询原单
|
|
|
OrderResponse orderResponse = orderMapper.selectById(str);
|
|
|
//校验数据
|
|
|
@@ -248,6 +252,7 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
|
|
|
*/
|
|
|
@Transactional(rollbackFor = {Exception.class})
|
|
|
public void rollBackTotalAndDetail(List<OutboundItemVO> deleteItemList) {
|
|
|
+ //注意:销售退货生成的出库单 数据是负数的,销售退货上游单据销售订单和销售出库的退货相应字段是正数,所以下面的代码 不用取负数
|
|
|
if (deleteItemList.size() > 0 ) {
|
|
|
if(deleteItemList.get(0).getSOutId() != null ) {
|
|
|
//出库单
|
|
|
@@ -261,15 +266,23 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
|
|
|
//总单
|
|
|
Outbound outboundPri = new Outbound();
|
|
|
outboundPri.setOutId(outId);
|
|
|
- outboundPri.setReturnQty((delOutQty.add(delOutingQty)).negate());
|
|
|
- outboundPri.setReturnAmt(delOutAmt.add(delOutingAmt).negate());
|
|
|
+ outboundPri.setReturnQty((delOutQty.add(delOutingQty)));
|
|
|
+ outboundPri.setReturnAmt((delOutAmt.add(delOutingAmt)));
|
|
|
outboundMapper.updateReturnMessage(outboundPri);
|
|
|
//明细
|
|
|
for (OutboundItemVO outboundItemVO : outboundItemVOList) {
|
|
|
OutboundItem outboundItemPri = new OutboundItem();
|
|
|
- outboundItemPri.setItemId(outboundItemVO.getItemId());
|
|
|
- outboundItemPri.setReturnQty(outboundItemVO.getOutingQty());
|
|
|
- outboundItemPri.setReturnAmt(outboundItemVO.getOutingAmt());
|
|
|
+ outboundItemPri.setItemId(outboundItemVO.getSOutItemId());
|
|
|
+ //已出库
|
|
|
+ if (Constant.OutStatus.YICHUKU.getName().equals(outboundItemVO.getOutStatus())) {
|
|
|
+ outboundItemPri.setReturnQty(outboundItemVO.getOutQty());
|
|
|
+ outboundItemPri.setReturnAmt(outboundItemVO.getOutAmt());
|
|
|
+ }
|
|
|
+ //出库中
|
|
|
+ else if(Constant.OutStatus.CHUKUZHONG.getName().equals(outboundItemVO.getOutStatus())){
|
|
|
+ outboundItemPri.setReturnQty(outboundItemVO.getOutingQty());
|
|
|
+ outboundItemPri.setReturnAmt(outboundItemVO.getOutingAmt());
|
|
|
+ }
|
|
|
outboundItemMapper.updateReturnMessage(outboundItemPri);
|
|
|
}
|
|
|
}
|
|
|
@@ -286,15 +299,23 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
|
|
|
//总单
|
|
|
Order orderPri = new Order();
|
|
|
orderPri.setOrderId(orderId);
|
|
|
- orderPri.setReturnQty((delOutQty.add(delOutingQty)).negate());
|
|
|
- orderPri.setReturnAmt(delOutAmt.add(delOutingAmt).negate());
|
|
|
+ orderPri.setReturnQty((delOutQty.add(delOutingQty)));
|
|
|
+ orderPri.setReturnAmt((delOutAmt.add(delOutingAmt)));
|
|
|
orderMapper.updateReturnMessage(orderPri);
|
|
|
//明细
|
|
|
for (OutboundItemVO outboundItemVO : outboundItemVOList) {
|
|
|
OrderItem orderItemPri = new OrderItem();
|
|
|
- orderItemPri.setItemId(outboundItemVO.getItemId());
|
|
|
- orderItemPri.setReturnQty(outboundItemVO.getOutingQty());
|
|
|
- orderItemPri.setReturnAmt(outboundItemVO.getOutingAmt());
|
|
|
+ orderItemPri.setItemId(outboundItemVO.getSOrderItemId());
|
|
|
+ //已出库
|
|
|
+ if (Constant.OutStatus.YICHUKU.getName().equals(outboundItemVO.getOutStatus())) {
|
|
|
+ orderItemPri.setReturnQty(outboundItemVO.getOutQty());
|
|
|
+ orderItemPri.setReturnAmt(outboundItemVO.getOutAmt());
|
|
|
+ }
|
|
|
+ //出库中
|
|
|
+ else if(Constant.OutStatus.CHUKUZHONG.getName().equals(outboundItemVO.getOutStatus())){
|
|
|
+ orderItemPri.setReturnQty(outboundItemVO.getOutingQty());
|
|
|
+ orderItemPri.setReturnAmt(outboundItemVO.getOutingAmt());
|
|
|
+ }
|
|
|
orderItemMapper.updateReturnMessage(orderItemPri);
|
|
|
}
|
|
|
}
|