Sfoglia il codice sorgente

Merge branch 'master' of http://git.dongkesoft.com:9001/iBOSS-2.0-Mini/iboss-server-mdm

zhoux 1 anno fa
parent
commit
e1c46cac36

+ 1 - 1
src/main/java/com/dk/mdm/controller/ivt/inboundReturnController.java

@@ -82,7 +82,7 @@ public class inboundReturnController {
 
 
     /**
-     * @desc : 编辑
+     * @desc : 编辑(小程序用)
      * @date : 2022/6/28 16:58
      * @author : 于继渤
      */

+ 75 - 100
src/main/java/com/dk/mdm/service/ivt/InboundReturnService.java

@@ -127,7 +127,7 @@ public class InboundReturnService extends BaseService<Inbound> {
         //查询采购订单
         PurchaseResponse purchaseResponse = purchaseMapper.selectById(inboundVO.getSPurId());
 
-        if(purchaseResponse != null){
+        if (purchaseResponse != null) {
             //反写采购订单退货数量、金额
             purchaseMapper.updateAmount(new Purchase().setPurId(inboundVO.getSPurId())
                     .setReturnQty(purchaseResponse.getReturnQty().add(inboundVO.getReturnQty()))
@@ -137,7 +137,7 @@ public class InboundReturnService extends BaseService<Inbound> {
 
         //反写入库单退货数量金额
         InboundResponse inboundResponse = inboundMapper.selectById(inboundVO.getFromId());
-        if(inboundResponse != null){
+        if (inboundResponse != null) {
             inboundMapper.updateAmount(new Inbound().setIntoId(inboundVO.getFromId())
                     .setReturnQty(inboundResponse.getReturnQty().add(inboundVO.getReturnQty()))
                     .setReturnAmt(inboundResponse.getReturnAmt().add(inboundVO.getReturnAmt())));
@@ -148,7 +148,7 @@ public class InboundReturnService extends BaseService<Inbound> {
         for (InboundItemVO inboundItemVO : itemList) {
             //查询采购订单明细数据
             PurchaseItemResponse purchaseItemResponse = purchaseItemMapper.selectById(inboundItemVO.getSPurItemId());
-            if(purchaseItemResponse != null){
+            if (purchaseItemResponse != null) {
                 //反写订单明细退货数量和退货金额
                 purchaseItemMapper.updateAmount(
                         new PurchaseItem()
@@ -162,7 +162,7 @@ public class InboundReturnService extends BaseService<Inbound> {
 
             //根据退货明细中入库明细id查询入库明细数据
             InboundItemResponse inboundItemResponse = inboundItemMapper.selectById(inboundItemVO.getSIntoItemId());
-            if(purchaseItemResponse != null){
+            if (purchaseItemResponse != null) {
                 inboundItemMapper.updateAmount(
                         new InboundItem()
                                 .setItemId(inboundItemVO.getSIntoItemId())
@@ -183,115 +183,90 @@ public class InboundReturnService extends BaseService<Inbound> {
      */
     @Transactional(rollbackFor = {Exception.class})
     public ResponseResultVO<String> update(InboundVO inboundVO) {
-        inboundVO.setReturnQty(inboundVO.getReturnQty().abs());
-        inboundVO.setReturnAmt(inboundVO.getReturnAmt().abs());
+
         //查询编辑之前的采退单
         InboundResponse inboundReturnResponse = inboundMapper.selectById(inboundVO.getIntoId());
-        inboundReturnResponse.setReturnQty(inboundReturnResponse.getReturnQty().abs());
-        inboundReturnResponse.setReturnAmt(inboundReturnResponse.getReturnAmt().abs());
-
-        inboundVO.setReturnAmt(inboundVO.getReturnAmt().abs());
-        if(inboundVO.getFromId() != null ){
-            //查询采购订单
-            PurchaseResponse purchaseResponse = purchaseMapper.selectById(inboundVO.getFromId());
-            //采购订单原始退货数量 - 原始退货单退货数量
-            BigDecimal purchaseReturnQty = purchaseResponse.getReturnQty().subtract(inboundReturnResponse.getReturnQty());
-            BigDecimal purchaseReturnAmt = purchaseResponse.getReturnAmt().subtract(inboundReturnResponse.getReturnAmt());
-            //反写采购订单已入库退货数量、金额
-            purchaseMapper.updateAmount(new Purchase().setPurId(inboundVO.getFromId())
-                    .setReturnQty(purchaseReturnQty.add(inboundVO.getReturnAmt()))
-                    .setReturnAmt(purchaseReturnAmt.add(inboundVO.getReturnQty()))
-            );
+        //原入库单
+        if (inboundReturnResponse.getFromId() != null) {
+            //反写上游入库单退货数量金额
+            InboundResponse sInboundResponse = inboundMapper.selectById(inboundReturnResponse.getFromId());
+            if (sInboundResponse != null) {
+                inboundMapper.updateAmount(new Inbound()
+                        .setIntoId(sInboundResponse.getIntoId())
+                        .setReturnQty(sInboundResponse.getReturnQty().subtract(inboundReturnResponse.getIntoQty().abs()).add(inboundVO.getIntoQty().abs()))
+                        .setReturnAmt(sInboundResponse.getReturnAmt().subtract(inboundReturnResponse.getIntoAmt().abs()).add(inboundVO.getIntoAmt().abs())));
+            }
+            //反写上游采购单退货数量金额
+            if (sInboundResponse.getFromId() != null) {
+                //查询采购单
+                PurchaseResponse purchaseResponse = purchaseMapper.selectById(sInboundResponse.getFromId());
+                purchaseMapper.updateAmount(
+                        new Purchase()
+                                .setPurId(purchaseResponse.getPurId())
+                                .setReturnQty(sInboundResponse.getReturnQty().subtract(inboundReturnResponse.getIntoQty().abs()).add(inboundVO.getIntoQty().abs()))
+                                .setReturnAmt(sInboundResponse.getReturnAmt().subtract(inboundReturnResponse.getIntoAmt().abs()).add(inboundVO.getIntoAmt().abs())));
+            }
         }
 
         //校验明细
         if (inboundVO.getItemList() != null && inboundVO.getItemList().size() > 0) {
-            for (InboundItemVO inboundItemVO : inboundVO.getItemList()) {
-                inboundItemVO.setReturnQty(inboundItemVO.getReturnQty().abs());
-                inboundItemVO.setReturnAmt(inboundItemVO.getReturnAmt().abs());
-                if(inboundItemVO.getSIntoItemId() != null ){
-                    InboundItemResponse inboundItemReturnResponse = inboundItemMapper.selectById(inboundItemVO.getSIntoItemId());
-                    inboundItemReturnResponse.setReturnQty(inboundItemReturnResponse.getReturnQty().abs());
-                    inboundItemReturnResponse.setReturnAmt(inboundItemReturnResponse.getReturnAmt().abs());
+            for (InboundItemVO inboundItemVO : inboundVO.getItemList()) {   //查询原退货明细
+                InboundItemResponse inboundItem = inboundItemMapper.selectById(inboundItemVO.getItemId());
+                if (inboundItemVO.getSIntoItemId() != null) {
 
+                    //查询上游入库明细
+                    InboundItemResponse inboundItemReturnResponse = inboundItemMapper.selectById(inboundItemVO.getSIntoItemId());
+                    if (inboundItemReturnResponse != null) {
+                        //修改入库单明细 已入库退货数量/金额
+                        inboundItemMapper.updateAmount(new InboundItem()
+                                .setItemId(inboundItemReturnResponse.getItemId())
+                                .setReturnQty(inboundItemReturnResponse.getReturnQty().subtract(inboundItem.getIntoQty().abs()).add(inboundItemVO.getIntoQty().abs()))
+                                .setReturnAmt(inboundItemReturnResponse.getReturnAmt().subtract(inboundItem.getIntoAmt().abs()).add(inboundItemVO.getIntoAmt().abs())));
+                    }
 
-                    //查询采购订单明细数据
+                }
+                //修改上游采购明细
+                if (inboundItemVO.getSPurItemId() != null) {
+                    //查询上游采购订单明细
                     PurchaseItemResponse purchaseItemResponse = purchaseItemMapper.selectById(inboundItemVO.getSPurItemId());
-                    BigDecimal purchaseItemReturnQty = purchaseItemResponse.getReturnQty().subtract(inboundItemReturnResponse.getReturnQty());
-                    BigDecimal purchaseItemReturnAmt = purchaseItemResponse.getReturnAmt().subtract(inboundItemReturnResponse.getReturnAmt());
-                    //反写采购订单明细退货数量和退货金额
                     purchaseItemMapper.updateAmount(
                             new PurchaseItem()
-                                    .setItemId(inboundItemVO.getSPurItemId())
-                                    .setReturnQty(purchaseItemReturnQty.add(inboundItemVO.getReturnQty().setScale(6, BigDecimal.ROUND_HALF_UP)))
-                                    .setReturnAmt(purchaseItemReturnAmt.add(inboundItemVO.getReturnAmt().setScale(6, BigDecimal.ROUND_HALF_UP)))
-                    );
-                    //根据退货明细中入库明细id查询入库明细数据
-                    InboundItemResponse inboundItemResponse = inboundItemMapper.selectById(inboundItemVO.getSIntoItemId());
-                    BigDecimal inboundItemReturnQty = inboundItemResponse.getReturnQty().subtract(inboundItemReturnResponse.getReturnQty());
-                    BigDecimal inboundItemReturnAmt = inboundItemResponse.getReturnAmt().subtract(inboundItemReturnResponse.getReturnAmt());
-
-
-                    BigDecimal ReturnQty = inboundItemReturnQty.add(inboundItemVO.getReturnQty().setScale(6, BigDecimal.ROUND_HALF_UP));
-                    BigDecimal ReturnAm = inboundItemReturnAmt.add(inboundItemVO.getReturnAmt().setScale(6, BigDecimal.ROUND_HALF_UP));
-                    //反写原始入库单明细 不是负向的入库单
-                    inboundItemMapper.updateAmount(
-                            new InboundItem()
-                                    .setItemId(inboundItemResponse.getItemId())
-                                    .setReturnQty(ReturnQty)
-                                    .setReturnAmt(ReturnAm)
-                    );
-                    //反写原始入库单
-                    InboundResponse inboundResponse = inboundMapper.selectById(inboundItemVO.getSIntoId());
-                    BigDecimal inboundReturnQty = inboundResponse.getReturnQty().subtract(inboundItemReturnResponse.getReturnQty());
-                    BigDecimal inboundReturnAmt = inboundResponse.getReturnAmt().subtract(inboundItemReturnResponse.getReturnAmt());
-                    inboundMapper.updateAmount(new Inbound().setIntoId(inboundItemVO.getSIntoId())
-                            .setReturnQty(inboundReturnQty.add(inboundItemVO.getReturnQty()))
-                            .setReturnAmt(inboundReturnAmt.add(inboundItemVO.getReturnAmt())));
+                                    .setItemId(purchaseItemResponse.getItemId())
+                                    .setReturnQty(purchaseItemResponse.getReturnQty().subtract(inboundItem.getIntoQty().abs()).add(inboundItemVO.getIntoQty().abs()))
+                                    .setReturnAmt(purchaseItemResponse.getReturnAmt().subtract(inboundItem.getIntoAmt().abs()).add(inboundItemVO.getIntoAmt().abs())));
                 }
-
-
-
-
-                //修改采退明细
-                InboundItem inboundItem = new InboundItem();
-                inboundItem.setItemId(inboundItemVO.getItemId());
-                inboundItem.setReturnQty(inboundItemVO.getReturnQty().multiply(new BigDecimal(-1)));
-                inboundItem.setReturnAmt(inboundItemVO.getReturnAmt().multiply(new BigDecimal(-1)));
-                //修改
-                inboundItemMapper.update(inboundItem,
-                        new UpdateWrapper<InboundItem>().lambda()
-                                .eq(InboundItem::getItemId, UUID.fromString(inboundItem.getItemId()))
-                );
             }
         }
 
-        //删除 采退入库明细
+        //删除明细
         if (inboundVO.getDeleteItemList() != null && inboundVO.getDeleteItemList().size() > 0) {
             for (InboundItemVO inboundItemVO : inboundVO.getDeleteItemList()) {
-                if (inboundItemVO.getItemId() != null) {
-                    //修改 采退明细 状态
-                    InboundItem inboundItem = inboundItemConvert.convertToPo(inboundItemVO);
-                    inboundItem.setFlgValid(false);
-                    //修改
-                    inboundItemMapper.update(inboundItem,
-                            new UpdateWrapper<InboundItem>().lambda()
-                                    .eq(InboundItem::getItemId, UUID.fromString(inboundItem.getItemId()))
-                    );
+                //查询原退货明细
+                InboundItemResponse inboundItem = inboundItemMapper.selectById(inboundItemVO.getItemId());
+                if (inboundItemVO.getSIntoItemId() != null) {
+                    //查询上游入库明细
+                    InboundItemResponse inboundItemReturnResponse = inboundItemMapper.selectById(inboundItemVO.getSIntoItemId());
+                    if (inboundItemReturnResponse != null) {
+                        //修改入库单明细 已入库退货数量/金额
+                        inboundItemMapper.updateAmount(new InboundItem()
+                                .setItemId(inboundItemReturnResponse.getItemId())
+                                .setReturnQty(inboundItemReturnResponse.getReturnQty().subtract(inboundItem.getIntoQty().abs()))
+                                .setReturnAmt(inboundItemReturnResponse.getReturnAmt().subtract(inboundItem.getIntoAmt().abs())));
+                    }
+
+                }
+                if (inboundItemVO.getSPurItemId() != null) {
+                    //查询上游采购订单明
+                    PurchaseItemResponse purchaseItemResponse = purchaseItemMapper.selectById(inboundItemVO.getSPurItemId());
+                    purchaseItemMapper.updateAmount(
+                            new PurchaseItem()
+                                    .setItemId(purchaseItemResponse.getItemId())
+                                    .setReturnQty(purchaseItemResponse.getReturnQty().subtract(inboundItem.getIntoQty().abs()))
+                                    .setReturnAmt(purchaseItemResponse.getReturnAmt().subtract(inboundItem.getIntoAmt().abs())));
                 }
             }
         }
 
-        //修改采退总单
-        Inbound inbound = new Inbound();
-        inbound.setIntoId(inboundVO.getIntoId());
-        inbound.setReturnQty(inboundVO.getReturnQty().multiply(new BigDecimal(-1)));
-        inbound.setReturnAmt(inboundVO.getReturnAmt().multiply(new BigDecimal(-1)));
-        //修改
-        inboundMapper.update(inbound,
-                new UpdateWrapper<Inbound>().lambda().eq(Inbound::getIntoId, UUID.fromString(inbound.getIntoId()))
-        );
-
 
         inboundPurchaseReturnService.purchaseReturnInboundUpdate(inboundVO);
         return ResponseResultUtil.success();
@@ -306,16 +281,16 @@ public class InboundReturnService extends BaseService<Inbound> {
     public ResponseResultVO<String> cancel(InboundVO inboundVO) {
         //查询当前 采退入库单 负
         InboundResponse inboundResponse = inboundMapper.selectInboundReturnById(inboundVO.getIntoId());
-        if(inboundResponse.getFromId()!=null){
+        if (inboundResponse.getFromId() != null) {
             //反写上游入库单退货数量金额
             InboundResponse sInboundResponse = inboundMapper.selectById(inboundResponse.getFromId());
-            if(sInboundResponse != null){
+            if (sInboundResponse != null) {
                 inboundMapper.updateAmount(new Inbound().setIntoId(sInboundResponse.getIntoId())
                         .setReturnQty(sInboundResponse.getReturnQty().subtract(inboundResponse.getIntoQty().abs()))
                         .setReturnAmt(sInboundResponse.getReturnAmt().subtract(inboundResponse.getIntoAmt().abs())));
             }
             //反写上游采购订单退货数量金额
-            if(sInboundResponse.getFromId()!=null){
+            if (sInboundResponse.getFromId() != null) {
                 //查询采购单
                 PurchaseResponse purchaseResponse = purchaseMapper.selectById(sInboundResponse.getFromId());
                 purchaseMapper.updateAmount(
@@ -329,7 +304,7 @@ public class InboundReturnService extends BaseService<Inbound> {
         List<InboundItemResponse> inboundItemResponses = inboundItemMapper.selectByCond(new InboundItemQuery().setIntoId(inboundResponse.getIntoId()));
         for (InboundItemResponse inboundItemRespons : inboundItemResponses) {
 
-            if(inboundItemRespons.getSIntoItemId() != null){
+            if (inboundItemRespons.getSIntoItemId() != null) {
                 //查询源入库单明细
                 InboundItemResponse inboundItem = inboundItemMapper.selectById(inboundItemRespons.getSIntoItemId());
                 //修改入库单明细 已入库退货数量/金额
@@ -339,7 +314,7 @@ public class InboundReturnService extends BaseService<Inbound> {
                         .setReturnAmt(inboundItem.getReturnAmt().subtract(inboundItemRespons.getIntoAmt().abs()))
                 );
             }
-            if(inboundItemRespons.getSPurItemId()!=null){
+            if (inboundItemRespons.getSPurItemId() != null) {
                 //查询采购单明细
                 PurchaseItemResponse purchaseItemResponse = purchaseItemMapper.selectById(inboundItemRespons.getSPurItemId());
                 //修改采购单明细 已入库退货数量/金额
@@ -372,7 +347,7 @@ public class InboundReturnService extends BaseService<Inbound> {
         }
         inboundVO.setReturnQty(inboundVO.getReturnQty().abs());
         inboundVO.setReturnAmt(inboundVO.getReturnAmt().abs());
-        if(inboundVO.getFromId() != null){
+        if (inboundVO.getFromId() != null) {
             //查询采购订单
             PurchaseResponse purchaseResponse = purchaseMapper.selectById(inboundVO.getFromId()); //采购订单id
 
@@ -389,7 +364,7 @@ public class InboundReturnService extends BaseService<Inbound> {
             inboundItemVO.setReturnQty(inboundItemVO.getReturnQty().abs());
             inboundItemVO.setReturnAmt(inboundItemVO.getReturnAmt().abs());
             //根据退货明细中入库明细id查询入库明细数据
-            if(inboundItemVO.getSIntoItemId() != null){
+            if (inboundItemVO.getSIntoItemId() != null) {
                 InboundItemResponse inboundItemResponse = inboundItemMapper.selectById(inboundItemVO.getSIntoItemId()); //原入库单明细id
                 BigDecimal returnQty = inboundItemResponse.getReturnQty().add(inboundItemVO.getReturnQty().setScale(6, BigDecimal.ROUND_HALF_UP));
                 BigDecimal returnAmt = inboundItemResponse.getReturnAmt().add(inboundItemVO.getReturnAmt().setScale(6, BigDecimal.ROUND_HALF_UP));
@@ -406,7 +381,7 @@ public class InboundReturnService extends BaseService<Inbound> {
                                 .setReturnAmt(returnAmt)
                 );
             }
-            if(inboundItemVO.getSPurItemId() != null){
+            if (inboundItemVO.getSPurItemId() != null) {
                 //反写订单出库明细 退货数量和退货金额
                 //查询采购订单明细数据
                 PurchaseItemResponse purchaseItemResponse = purchaseItemMapper.selectById(inboundItemVO.getSPurItemId());

+ 4 - 12
src/main/java/com/dk/mdm/service/ivt/inbound/InboundPurchaseReturnService.java

@@ -261,8 +261,6 @@ public class InboundPurchaseReturnService extends BaseService<Inbound> {
         else {
             //region 根据id查询 此条入库单的数据还未更改前的数据
             InboundResponse inboundResponse = inboundMapper.selectById(inboundVO.getIntoId());
-            BigDecimal sumQty = inboundVO.getItemList().stream().map(InboundItemVO::getIntoingQty).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(6, BigDecimal.ROUND_HALF_UP);
-            BigDecimal sumAmt = inboundVO.getItemList().stream().map(InboundItemVO::getIntoingAmt).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(2, BigDecimal.ROUND_HALF_UP);
             //endregion
 
             //region 已入库编辑
@@ -366,8 +364,8 @@ public class InboundPurchaseReturnService extends BaseService<Inbound> {
                 //region  修改入库总单
                 Inbound inbound = new Inbound();
                 inbound.setIntoId(inboundVO.getIntoId());
-                inbound.setIntoQty(sumQty);
-                inbound.setIntoAmt(sumAmt);
+                inbound.setIntoQty(inboundVO.getIntoingQty());
+                inbound.setIntoAmt(inboundVO.getIntoingAmt());
                 //修改
                 inboundMapper.update(inbound,
                         new UpdateWrapper<Inbound>().lambda().eq(Inbound::getIntoId, UUID.fromString(inbound.getIntoId()))
@@ -387,9 +385,6 @@ public class InboundPurchaseReturnService extends BaseService<Inbound> {
                 inventoryService.operatingInventoryInformation(map);
                 //endregion
             }
-            else{
-                throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.FLG_HANDLE_SETTING_NOT_ENABLED_INTO.getMessage());
-            }
             //endregion
 
             //region 入库中编辑
@@ -458,17 +453,14 @@ public class InboundPurchaseReturnService extends BaseService<Inbound> {
                 //region  修改入库总单
                 Inbound inbound = new Inbound();
                 inbound.setIntoId(inboundVO.getIntoId());
-                inbound.setIntoingQty(sumQty);
-                inbound.setIntoingAmt(sumAmt);
+                inbound.setIntoingQty(inboundVO.getIntoingQty());
+                inbound.setIntoingAmt(inboundVO.getIntoingAmt());
                 //修改
                 inboundMapper.update(inbound,
                         new UpdateWrapper<Inbound>().lambda().eq(Inbound::getIntoId, UUID.fromString(inbound.getIntoId()))
                 );
                 //endregion
             }
-            else{
-                throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.FLG_HANDLE_SETTING_NOT_ENABLED_INTO.getMessage());
-            }
             //endregion
         }
         //endregion