Jelajahi Sumber

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

于继渤 1 tahun lalu
induk
melakukan
68f1ceca60

+ 3 - 3
src/main/java/com/dk/mdm/mapper/ivt/InboundItemMapper.xml

@@ -193,7 +193,7 @@
                 AND tpii.into_type = #{intoType}
             </if>
             <if test="fromId != null and fromId != ''">
-                AND tpii.from_id = #{fromId}
+                AND tpii.from_id = #{fromId}::uuid
             </if>
             <if test="fromItemId != null and fromItemId != ''">
                 AND tpii.from_item_id = #{fromItemId}
@@ -217,7 +217,7 @@
                 AND tpii.cp_id = #{cpId}
             </if>
             <if test="sPurId != null">
-                AND tpii.s_pur_id = #{sPurId}
+                AND tpii.s_pur_id = #{sPurId,typeHandler=UuidTypeHandler}
             </if>
         </where>
     </sql>
@@ -1067,7 +1067,7 @@
         SELECT count(1)
         FROM dkic_b.t_psi_inbound_item
         where flg_valid = #{flgValid}
-          AND s_pur_id = #{sPurId}
+          AND s_pur_id = #{sPurId,typeHandler=UuidTypeHandler}
           AND into_type = #{intoType}
     </select>
 

+ 1 - 1
src/main/java/com/dk/mdm/service/ivt/inbound/InboundPurchaseService.java

@@ -1601,7 +1601,7 @@ public class InboundPurchaseService extends BaseService<Inbound> {
      */
     @Transactional(rollbackFor = {Exception.class})
     public ResponseResultVO<?> oneKeyPurchaseInboundRepeal(String orderId) {
-        List<InboundItemResponse> InboundItemResponses = inboundItemMapper.selectByCond(new InboundItemQuery().setFromId(orderId));
+        List<InboundItemResponse> InboundItemResponses = inboundItemMapper.selectByCond(new InboundItemQuery().setSPurId(orderId));
         if (InboundItemResponses != null && InboundItemResponses.size() > 0) {
             Map<String, List<InboundItemResponse>> inboundItemMap = InboundItemResponses.stream().collect(Collectors.groupingBy(InboundItemResponse::getIntoId));
             for (String str : inboundItemMap.keySet()) {

+ 41 - 0
src/main/java/com/dk/mdm/service/ivt/inventory/InventoryService.java

@@ -444,6 +444,26 @@ public class InventoryService extends BaseService<Inventory> {
                     //删除库存、库存批次,库存流水,出库成本
                     this.deleteInventory(delOutList);
 
+                    //region 销售出库反写销售订单成本金额,成本单价
+                    if(Constant.InventoryDocCode.SALE_ORDER.getValue().equals(delOutList.get(0).getInventoryDocCode())){
+                        Map<String, List<InOutRecordVO>> InOutRecordVOListMap = delOutList.stream().collect(Collectors.groupingBy(InOutRecordVO::getBiznisItemId));
+                        for (String str : InOutRecordVOListMap.keySet()) {
+                            //赋值订单明细
+                            OrderItem orderItem = new OrderItem();
+                            OrderItem orderItemSql = orderItemMapper.selectById(new OrderItemQuery().setItemId(str));
+                            //当前订单存在
+                            if (orderItemSql!=null && orderItemSql.getOutQty() != null && orderItemSql.getOutQty().compareTo(BigDecimal.ZERO) > 0) {
+                                //查询当前订单下的出库单
+                                List<OutboundItemResponse> outboundItemResponseList = outboundItemMapper.selectByCond(new OutboundItemQuery().setFromId(str));
+                                BigDecimal costAmt = outboundItemResponseList.stream().map(OutboundItemResponse::getCostAmt).reduce(BigDecimal.ZERO, BigDecimal::add)
+                                        .setScale(6, BigDecimal.ROUND_HALF_UP);
+                                orderItem.setItemId(str);
+                                orderItem.setCostAmt(costAmt);
+                                orderItem.setCostPrice(costAmt == null || costAmt.compareTo(BigDecimal.ZERO) == 0 ? BigDecimal.ZERO : costAmt.divide(orderItemSql.getOutQty(), 2, BigDecimal.ROUND_HALF_UP));
+                            }
+                        }
+                    }
+                    //endregion
 
                 }
             }
@@ -717,6 +737,27 @@ public class InventoryService extends BaseService<Inventory> {
             }
         }
 
+        //region 销售出库反写销售订单成本金额,成本单价
+        if(Constant.InventoryDocCode.SALE_ORDER.getValue().equals(inOutRecordVOList.get(0).getInventoryDocCode())) {
+            Map<String, List<InOutRecordVO>> InOutRecordVOListMap = inOutRecordVOList.stream().collect(Collectors.groupingBy(InOutRecordVO::getInvOrderItemId));
+            for (String str : InOutRecordVOListMap.keySet()) {
+                //赋值订单明细
+                OrderItem orderItem = new OrderItem();
+                OrderItem orderItemSql = orderItemMapper.selectById(new OrderItemQuery().setItemId(str));
+                //当前订单存在
+                if (orderItemSql != null && orderItemSql.getOutQty() != null && orderItemSql.getOutQty().compareTo(BigDecimal.ZERO) > 0) {
+                    //查询当前订单下的出库单
+                    List<OutboundItemResponse> outboundItemResponseList = outboundItemMapper.selectByCond(new OutboundItemQuery().setFromId(str));
+                    BigDecimal costAmt = outboundItemResponseList.stream().map(OutboundItemResponse::getCostAmt).reduce(BigDecimal.ZERO, BigDecimal::add)
+                            .setScale(6, BigDecimal.ROUND_HALF_UP);
+                    orderItem.setItemId(str);
+                    orderItem.setCostAmt(costAmt);
+                    orderItem.setCostPrice(costAmt == null || costAmt.compareTo(BigDecimal.ZERO) == 0 ? BigDecimal.ZERO : costAmt.divide(orderItemSql.getOutQty(), 2, BigDecimal.ROUND_HALF_UP));
+                }
+            }
+        }
+        //endregion
+
         return inOutRecordVOList;
     }
 

+ 4 - 3
src/main/java/com/dk/mdm/service/pur/PurchaseService.java

@@ -554,10 +554,11 @@ public class PurchaseService extends BaseService<Purchase> {
             throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.ISFLGVALID_FALSE.getMessage());
         }
 
+        //todo  2024年7月10日11:45:12 这里在联调意见作废的时候能进分支,不知道为什么有这个校验
         // 如果入库中数量或已入库数量不是0,不能作废
-        if (purForUpdate.getIntoQty().compareTo(BigDecimal.ZERO) != 0 || purForUpdate.getIntoingQty().compareTo(BigDecimal.ZERO) != 0) {
-            throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.ISEXISTS_AFTER_OPERATE.getMessage());
-        }
+//        if (purForUpdate.getIntoQty().compareTo(BigDecimal.ZERO) != 0 || purForUpdate.getIntoingQty().compareTo(BigDecimal.ZERO) != 0) {
+//            throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.ISEXISTS_AFTER_OPERATE.getMessage());
+//        }
         // 作废
         Purchase purUpdate = new Purchase();
         purUpdate.setFlgValid(false).setPurId(id);

+ 0 - 2
src/main/java/com/dk/mdm/service/sale/OrderService.java

@@ -917,11 +917,9 @@ public class OrderService extends BaseService<Order> {
                         outboundVO.setSumAmount(orderVO.getSumAmount());
                         outboundVO.setOutId(outboundResponsejson.getOutId());
                         outboundVO.setLimitEdit(true);
-
                         outboundSaleOrderService.saleOutboundUpdate(outboundVO);
                     }
 
-
                 }
             }
         }