于继渤 il y a 2 ans
Parent
commit
41f41ef14b

+ 8 - 7
src/main/java/com/dk/mdm/mapper/ivt/InboundMapper.xml

@@ -494,11 +494,11 @@
         tmgs.price_purchase AS  list_price_purchase,
         tmgs.price_purchase AS  list_price_purchase,
         tmgs.sku_images AS  list_sku_images,
         tmgs.sku_images AS  list_sku_images,
 
 
-        ( tpii.into_qty + tpii.return_qty)  AS list_reject_qty,
-        tpit.usable_qty AS list_usable_qty,
-        tpit.inv_qty AS list_inv_qty,
-        tpit.outing_qty AS list_outing_qty
-        ,
+        ( tpii.into_qty - tpii.return_qty)  AS list_reject_qty,
+--         tpit.usable_qty AS list_usable_qty,
+--         tpit.inv_qty AS list_inv_qty,
+--         tpit.outing_qty AS list_outing_qty
+--         ,
         tmgs.price_standard AS list_price_std
         tmgs.price_standard AS list_price_std
     </sql>
     </sql>
 
 
@@ -509,9 +509,9 @@
         <include refid="Base_Column_List_Item_Response"/>,
         <include refid="Base_Column_List_Item_Response"/>,
         <include refid="Base_Column_List_Item_Response_Join"/>
         <include refid="Base_Column_List_Item_Response_Join"/>
         FROM dkic_b.t_psi_inbound  tpi
         FROM dkic_b.t_psi_inbound  tpi
-        left join dkic_b.t_psi_inbound_item tpii  on tpi.into_id = tpii.into_id
+        INNER  join dkic_b.t_psi_inbound_item tpii  on tpi.into_id = tpii.into_id
         left join  dkic_b.t_mst_goods_sku  tmgs on tmgs.sku_id = tpii.sku_id
         left join  dkic_b.t_mst_goods_sku  tmgs on tmgs.sku_id = tpii.sku_id
-        left join  dkic_b.t_psi_inventory  tpit on tpit.sku_id = tpii.sku_id
+--         left join  dkic_b.t_psi_inventory  tpit on tpit.sku_id = tpii.sku_id
         <include refid="Condition"/>
         <include refid="Condition"/>
         <if test="pageSize != null and currentPage != null and pageSize != 0 and currentPage != 0">
         <if test="pageSize != null and currentPage != null and pageSize != 0 and currentPage != 0">
             limit #{end} offset #{start}
             limit #{end} offset #{start}
@@ -523,6 +523,7 @@
         SELECT
         SELECT
         count(1)
         count(1)
         FROM dkic_b.t_psi_inbound tpi
         FROM dkic_b.t_psi_inbound tpi
+        left join dkic_b.t_psi_inbound_item tpii  on tpi.into_id = tpii.into_id
         <include refid="Condition"/>
         <include refid="Condition"/>
     </select>
     </select>
 
 

+ 10 - 10
src/main/java/com/dk/mdm/mapper/ivt/IntoReturnItemMapper.xml

@@ -73,8 +73,8 @@
         <result column="item_amt" property="itemAmt"/>
         <result column="item_amt" property="itemAmt"/>
         <result column="non_std_code" property="nonStdCode"/>
         <result column="non_std_code" property="nonStdCode"/>
         <result column="out_status" property="outStatus"/>
         <result column="out_status" property="outStatus"/>
-        <result column="outoing_qty" property="outingQty"/>
-        <result column="outoing_amt" property="outingAmt"/>
+        <result column="outing_qty" property="outingQty"/>
+        <result column="outing_amt" property="outingAmt"/>
         <result column="out_qty" property="outQty"/>
         <result column="out_qty" property="outQty"/>
         <result column="out_amt" property="outAmt"/>
         <result column="out_amt" property="outAmt"/>
         <result column="remarks" property="remarks"/>
         <result column="remarks" property="remarks"/>
@@ -346,17 +346,17 @@
             <if test=" et!=null and et.nonStdCode != null">
             <if test=" et!=null and et.nonStdCode != null">
                 non_std_code = #{et.nonStdCode,jdbcType=VARCHAR},
                 non_std_code = #{et.nonStdCode,jdbcType=VARCHAR},
             </if>
             </if>
-            <if test=" et!=null and et.intoStatus != null">
-                into_status = #{et.intoStatus,jdbcType=VARCHAR},
+            <if test=" et!=null and et.outStatus != null">
+                out_status = #{et.outStatus,jdbcType=VARCHAR},
             </if>
             </if>
-            <if test=" et!=null and et.outoingQty != null">
-                outoing_qty = outoing_qty + #{et.outoingQty,jdbcType=NUMERIC},
+            <if test=" et!=null and et.outingQty != null">
+                outing_qty = outing_qty + #{et.outingQty,jdbcType=NUMERIC},
             </if>
             </if>
-            <if test=" et!=null and et.outoingAmt != null">
-                outoing_amt = outoing_amt + #{et.outoingAmt,jdbcType=NUMERIC},
+            <if test=" et!=null and et.outingAmt != null">
+                outing_amt = outing_amt + #{et.outingAmt,jdbcType=NUMERIC},
             </if>
             </if>
             <if test=" et!=null and et.outQty != null">
             <if test=" et!=null and et.outQty != null">
-                out_qty = out_qty + #{outQty,jdbcType=NUMERIC},
+                out_qty = out_qty + #{et.outQty,jdbcType=NUMERIC},
             </if>
             </if>
             <if test=" et!=null and et.outAmt != null">
             <if test=" et!=null and et.outAmt != null">
                 out_amt = out_amt + #{et.outAmt,jdbcType=NUMERIC},
                 out_amt = out_amt + #{et.outAmt,jdbcType=NUMERIC},
@@ -372,7 +372,7 @@
             </if>
             </if>
         </set>
         </set>
         where item_id = #{et.itemId,typeHandler=UuidTypeHandler}
         where item_id = #{et.itemId,typeHandler=UuidTypeHandler}
-        and  item_qty >= (out_qty + outoing_qty)
+        and  item_qty >= (out_qty + outing_qty)
     </update>
     </update>
 
 
 </mapper>
 </mapper>

+ 1 - 1
src/main/java/com/dk/mdm/model/vo/ivt/IntoReturnVO.java

@@ -335,7 +335,7 @@ public class IntoReturnVO {
     private List<String> intoReturnIdList;
     private List<String> intoReturnIdList;
 
 
     @ApiModelProperty(value = "自动出库办理标识")
     @ApiModelProperty(value = "自动出库办理标识")
-    private Boolean flgAutoIvt;
+    private Boolean automaticFlg;
 
 
     private static final long serialVersionUID = 1L;
     private static final long serialVersionUID = 1L;
 
 

+ 66 - 54
src/main/java/com/dk/mdm/service/ivt/IntoReturnService.java

@@ -12,6 +12,7 @@ import com.dk.mdm.infrastructure.convert.ivt.IntoReturnItemConvert;
 import com.dk.mdm.infrastructure.util.AuthUtils;
 import com.dk.mdm.infrastructure.util.AuthUtils;
 import com.dk.mdm.mapper.ivt.InboundItemMapper;
 import com.dk.mdm.mapper.ivt.InboundItemMapper;
 import com.dk.mdm.mapper.ivt.InboundMapper;
 import com.dk.mdm.mapper.ivt.InboundMapper;
+import com.dk.mdm.mapper.ivt.IntoReturnItemMapper;
 import com.dk.mdm.mapper.pur.PurchaseItemMapper;
 import com.dk.mdm.mapper.pur.PurchaseItemMapper;
 import com.dk.mdm.mapper.pur.PurchaseMapper;
 import com.dk.mdm.mapper.pur.PurchaseMapper;
 import com.dk.mdm.model.pojo.ivt.Inbound;
 import com.dk.mdm.model.pojo.ivt.Inbound;
@@ -31,18 +32,18 @@ import com.dk.mdm.model.response.ivt.IntoReturnItemResponse;
 import com.dk.mdm.model.response.ivt.IntoReturnResponse;
 import com.dk.mdm.model.response.ivt.IntoReturnResponse;
 import com.dk.mdm.model.response.pur.PurchaseItemResponse;
 import com.dk.mdm.model.response.pur.PurchaseItemResponse;
 import com.dk.mdm.model.response.pur.PurchaseResponse;
 import com.dk.mdm.model.response.pur.PurchaseResponse;
-import com.dk.mdm.model.vo.ivt.IntoReturnItemVO;
-import com.dk.mdm.model.vo.ivt.IntoReturnVO;
-import com.dk.mdm.model.vo.ivt.OutboundItemVO;
-import com.dk.mdm.model.vo.ivt.OutboundVO;
+import com.dk.mdm.model.vo.ivt.*;
 import com.dk.mdm.service.common.CommonService;
 import com.dk.mdm.service.common.CommonService;
 import com.dk.mdm.service.ivt.inbound.InboundItemService;
 import com.dk.mdm.service.ivt.inbound.InboundItemService;
+import com.dk.mdm.service.ivt.inbound.InboundPurchaseReturnService;
+import com.dk.mdm.service.ivt.inbound.InboundPurchaseService;
 import com.dk.mdm.service.ivt.outbound.OutboundService;
 import com.dk.mdm.service.ivt.outbound.OutboundService;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.annotation.Transactional;
 
 
 import java.math.BigDecimal;
 import java.math.BigDecimal;
+import java.time.LocalDateTime;
 import java.util.ArrayList;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.List;
 import java.util.Map;
 import java.util.Map;
@@ -74,6 +75,11 @@ public class IntoReturnService extends BaseService<IntoReturn> {
     @Autowired
     @Autowired
     private IntoReturnItemService intoReturnItemService;
     private IntoReturnItemService intoReturnItemService;
 
 
+
+    @Autowired
+    private IntoReturnItemMapper intoReturnItemMapper;
+
+
     @Autowired
     @Autowired
     private CommonService commonService;
     private CommonService commonService;
 
 
@@ -92,6 +98,9 @@ public class IntoReturnService extends BaseService<IntoReturn> {
     @Autowired
     @Autowired
     private InboundItemService inboundItemService;
     private InboundItemService inboundItemService;
 
 
+    @Autowired
+    private InboundPurchaseReturnService inboundPurchaseReturnService;
+
     /**
     /**
      * @desc : 查询
      * @desc : 查询
      * @author : 于继渤
      * @author : 于继渤
@@ -120,6 +129,8 @@ public class IntoReturnService extends BaseService<IntoReturn> {
         }
         }
         //查询采购订单
         //查询采购订单
         PurchaseResponse purchaseResponse = purchaseMapper.selectById(intoReturnVO.getPurId());
         PurchaseResponse purchaseResponse = purchaseMapper.selectById(intoReturnVO.getPurId());
+        intoReturnVO.setSumQuantity(intoReturnVO.getSumQuantity().abs());
+        intoReturnVO.setSumAmount(intoReturnVO.getSumAmount().abs());
         //设置总单
         //设置总单
         intoReturnVO = this.insertTotal(intoReturnVO, purchaseResponse);
         intoReturnVO = this.insertTotal(intoReturnVO, purchaseResponse);
         //设置明细
         //设置明细
@@ -165,43 +176,41 @@ public class IntoReturnService extends BaseService<IntoReturn> {
 
 
             );
             );
         }
         }
-
-        //新建出库单
-        OutboundVO outboundVO = new OutboundVO();
-        //来源ID
-        outboundVO.setFromId(intoReturnVO.getReturnId());
-        //来源单号
-        outboundVO.setFromNo(intoReturnVO.getReturnNo());
-        //部门
-        outboundVO.setOrgId(intoReturnVO.getOrgId());
-        //员工
-        outboundVO.setStaffId(intoReturnVO.getStaffId());
-        //出库状态 待出库
-        outboundVO.setOutStatus(Constant.OutStatus.CHUKUZHONG.getName());
-        //供应商
-        outboundVO.setSupId(intoReturnVO.getSupId());
-        outboundVO.setMakeStaff(authUtils.getStaff().getStaffId());
-        outboundVO.setCpId(authUtils.getStaff().getCpId());
-
-        outboundVO.setFromId(intoReturnVO.getReturnId());
-        List<OutboundItemVO> itemList = new ArrayList<>();
-        Integer itemIndex = 0;
+        //生成逆向  负数的 入库单
+
+
+        InboundVO inboundVO = new InboundVO();
+        //自动标识
+        inboundVO.setAutomaticFlg(intoReturnVO.getAutomaticFlg());
+
+        inboundVO.setFromId(intoReturnVO.getReturnId());
+        inboundVO.setFromNo(intoReturnVO.getReturnNo());
+        inboundVO.setStaffId(intoReturnVO.getStaffId());
+        inboundVO.setOrgId(intoReturnVO.getOrgId());
+        inboundVO.setMakeStaff(authUtils.getStaff().getStaffId());
+        inboundVO.setMakeTime(LocalDateTime.now());
+        inboundVO.setIntoingQty(intoReturnVO.getSumQuantity());
+        inboundVO.setIntoingAmt(intoReturnVO.getSumAmount());
+        List<InboundItemVO> list = new ArrayList<>();
         for (IntoReturnItemVO intoReturnItemVO : intoReturnItemVOList) {
         for (IntoReturnItemVO intoReturnItemVO : intoReturnItemVOList) {
-            //来源单ID 入库退货
-            OutboundItemVO outboundItemVO = new OutboundItemVO();
-
-            outboundItemVO.setFromId(intoReturnItemVO.getReturnId());
-            outboundItemVO.setFromItemId(intoReturnItemVO.getItemId());
-            outboundItemVO.setSkuId(intoReturnItemVO.getSkuId());
-            outboundItemVO.setItemIndex(itemIndex + 1);
-            outboundItemVO.setPriceOut(intoReturnItemVO.getPriceReturn());
-            outboundItemVO.setInvId(intoReturnItemVO.getInvId());
-            itemList.add(outboundItemVO);
+            System.out.println("'id==='"+intoReturnItemVO.getItemId());
+            InboundItemVO inboundItemVO = new InboundItemVO();
+            inboundItemVO.setIntoingQty(intoReturnItemVO.getItemQty());
+            inboundItemVO.setIntoingAmt(intoReturnItemVO.getItemAmt());
+            inboundItemVO.setPriceInto(intoReturnItemVO.getPriceReturn());
+            inboundItemVO.setFromItemId(intoReturnItemVO.getItemId());
+            inboundItemVO.setSkuId(intoReturnItemVO.getSkuId());
+            inboundItemVO.setItemIndex(intoReturnItemVO.getItemIndex());
+            inboundItemVO.setNonStdCode(intoReturnItemVO.getNonStdCode());
+            inboundItemVO.setReturnQty(intoReturnItemVO.getItemQty());
+            inboundItemVO.setReturnAmt(intoReturnItemVO.getItemAmt());
+            list.add(inboundItemVO);
         }
         }
 
 
-        outboundVO.setItemList(itemList);
-        //新建出库单
-        outboundService.insertOutBound(outboundVO);
+        inboundVO.setItemList(list);
+
+        inboundPurchaseReturnService.purchaseReturnInboundInsert(inboundVO);
+
 
 
         return ResponseResultUtil.success();
         return ResponseResultUtil.success();
     }
     }
@@ -211,10 +220,10 @@ public class IntoReturnService extends BaseService<IntoReturn> {
      * @date : 2023/9/28 16:20
      * @date : 2023/9/28 16:20
      * @author : 于继渤
      * @author : 于继渤
      */
      */
-    @Transactional(rollbackFor = {Exception.class})
+
     public IntoReturnVO insertTotal(IntoReturnVO intoReturnVO, PurchaseResponse purchaseResponse) {
     public IntoReturnVO insertTotal(IntoReturnVO intoReturnVO, PurchaseResponse purchaseResponse) {
         // 获取单号
         // 获取单号
-        Map<String, Object> codeMap = commonService.getUniqueNoteCode(Constant.docNameConstant.OUTBOUND.getName(), false);
+        Map<String, Object> codeMap = commonService.getUniqueNoteCode(Constant.docNameConstant.PURCHASEOUT.getName(), false);
         intoReturnVO.setReturnId(codeMap.get("outId").toString()).setReturnNo(codeMap.get("outNote").toString())
         intoReturnVO.setReturnId(codeMap.get("outId").toString()).setReturnNo(codeMap.get("outNote").toString())
                 .setReturnType(Constant.returnType.PURRETURN.getName());
                 .setReturnType(Constant.returnType.PURRETURN.getName());
 
 
@@ -248,13 +257,15 @@ public class IntoReturnService extends BaseService<IntoReturn> {
      * @date : 2023/9/28 16:20
      * @date : 2023/9/28 16:20
      * @author : 于继渤
      * @author : 于继渤
      */
      */
-    @Transactional(rollbackFor = {Exception.class})
+
     public List<IntoReturnItemVO> insertDetail(IntoReturnVO intoReturnVO, List<IntoReturnItemVO> intoReturnItemVOList) {
     public List<IntoReturnItemVO> insertDetail(IntoReturnVO intoReturnVO, List<IntoReturnItemVO> intoReturnItemVOList) {
         for (IntoReturnItemVO intoReturnItemVO : intoReturnItemVOList) {
         for (IntoReturnItemVO intoReturnItemVO : intoReturnItemVOList) {
             //总单Id
             //总单Id
             intoReturnItemVO.setReturnId(intoReturnVO.getReturnId());
             intoReturnItemVO.setReturnId(intoReturnVO.getReturnId());
             //公司Id
             //公司Id
             intoReturnItemVO.setCpId(intoReturnVO.getCpId());
             intoReturnItemVO.setCpId(intoReturnVO.getCpId());
+            intoReturnItemVO.setPriceReturn(intoReturnItemVO.getPriceReturn().abs());
+            intoReturnItemVO.setItemQty(intoReturnItemVO.getItemQty().abs());
             //根据分销订单明细Id查询数据
             //根据分销订单明细Id查询数据
             //查询明细数据
             //查询明细数据
             PurchaseItemResponse purchaseItemResponse = purchaseItemMapper.selectById(intoReturnItemVO.getFromItemId());
             PurchaseItemResponse purchaseItemResponse = purchaseItemMapper.selectById(intoReturnItemVO.getFromItemId());
@@ -262,7 +273,8 @@ public class IntoReturnService extends BaseService<IntoReturn> {
             intoReturnItemVO.setPurId(purchaseItemResponse.getPurId());
             intoReturnItemVO.setPurId(purchaseItemResponse.getPurId());
             intoReturnItemVO.setPurItemId(purchaseItemResponse.getItemId());
             intoReturnItemVO.setPurItemId(purchaseItemResponse.getItemId());
             intoReturnItemVO.setIntoItemId(intoReturnItemVO.getIntoItemId());
             intoReturnItemVO.setIntoItemId(intoReturnItemVO.getIntoItemId());
-           intoReturnItemVO.setItemId(null);
+            Map<String, Object> codeMap = commonService.getUniqueNoteCode(Constant.docNameConstant.PURCHASEOUT.getName(), false);
+            intoReturnItemVO.setItemId(codeMap.get("outId").toString());
             //标价
             //标价
             intoReturnItemVO.setPriceStd(purchaseItemResponse.getPriceStd());
             intoReturnItemVO.setPriceStd(purchaseItemResponse.getPriceStd());
             //标价金额 (商品数量*标价)
             //标价金额 (商品数量*标价)
@@ -272,20 +284,20 @@ public class IntoReturnService extends BaseService<IntoReturn> {
             //退货金额 (商品数量*退货价)
             //退货金额 (商品数量*退货价)
             intoReturnItemVO.setItemAmt(intoReturnItemVO.getItemQty().multiply(intoReturnItemVO.getPriceReturn()).setScale(2, BigDecimal.ROUND_HALF_UP));
             intoReturnItemVO.setItemAmt(intoReturnItemVO.getItemQty().multiply(intoReturnItemVO.getPriceReturn()).setScale(2, BigDecimal.ROUND_HALF_UP));
             //自动]出库赋值  已入库数量、已入库金额
             //自动]出库赋值  已入库数量、已入库金额
-            if (intoReturnVO.getFlgAutoIvt() != null && intoReturnVO.getFlgAutoIvt()) {
-                intoReturnItemVO.setOutQty(intoReturnItemVO.getItemQty().abs());
-                intoReturnItemVO.setOutAmt(intoReturnItemVO.getItemAmt().abs());
-                intoReturnItemVO.setOutStatus(Constant.OutStatus.YICHUKU.getName());
-
-
-            } else {
-                intoReturnItemVO.setOutingQty(intoReturnItemVO.getItemQty().abs());
-                intoReturnItemVO.setOutingAmt(intoReturnItemVO.getItemAmt().abs());
+//            if (intoReturnVO.getFlgAutoIvt() != null && intoReturnVO.getFlgAutoIvt()) {
+//                intoReturnItemVO.setOutQty(intoReturnItemVO.getItemQty().abs());
+//                intoReturnItemVO.setOutAmt(intoReturnItemVO.getItemAmt().abs());
+//                intoReturnItemVO.setOutStatus(Constant.OutStatus.YICHUKU.getName());
+//
+//
+//            } else {
+                intoReturnItemVO.setOutingQty(intoReturnItemVO.getItemQty());
+                intoReturnItemVO.setOutingAmt(intoReturnItemVO.getItemAmt());
                 intoReturnItemVO.setOutStatus(Constant.OutStatus.CHUKUZHONG.getName());
                 intoReturnItemVO.setOutStatus(Constant.OutStatus.CHUKUZHONG.getName());
-            }
-            //新建明细
+//            }
+//            //新建明细
             IntoReturnItem intoReturnItem = intoReturnItemConvert.convertToPo(intoReturnItemVO);
             IntoReturnItem intoReturnItem = intoReturnItemConvert.convertToPo(intoReturnItemVO);
-            intoReturnItemService.insert(intoReturnItem);
+            intoReturnItemMapper.insert(intoReturnItem);
 
 
         }
         }
         return intoReturnItemVOList;
         return intoReturnItemVOList;