From 5937b648b7e778b0cbcd7bc03b050c13580f493e Mon Sep 17 00:00:00 2001
From: zhengyf <zyf654042662@163.com>
Date: Tue, 11 Mar 2025 14:33:43 +0800
Subject: [PATCH] =?UTF-8?q?=E4=B8=BD=E7=9F=A5=EF=BC=9A=E8=B0=83=E6=8B=A8?=
 =?UTF-8?q?=E5=85=A5=E5=BA=93=E7=A1=AE=E8=AE=A4=E5=8D=95=E6=96=B0=E5=A2=9E?=
 =?UTF-8?q?=E5=BA=97=E9=93=BA=E4=BF=A1=E6=81=AF?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../transfer/TransferInPluginInitializer.java | 58 +++++++++++++++++++
 1 file changed, 58 insertions(+)

diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/transfer/TransferInPluginInitializer.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/transfer/TransferInPluginInitializer.java
index b28379c4..e96cdaec 100644
--- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/transfer/TransferInPluginInitializer.java
+++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/transfer/TransferInPluginInitializer.java
@@ -12,10 +12,12 @@ import com.hzya.frame.plugin.lets.constant.ProfilesActiveConstant;
 import com.hzya.frame.plugin.lets.dao.IIcGeneralBDao;
 import com.hzya.frame.plugin.lets.dao.IIcGeneralHDao;
 import com.hzya.frame.plugin.lets.dao.IToBillDao;
+import com.hzya.frame.plugin.lets.entity.BdDefdocEntity;
 import com.hzya.frame.plugin.lets.entity.IcGeneralBEntity;
 import com.hzya.frame.plugin.lets.entity.IcGeneralHEntity;
 import com.hzya.frame.plugin.lets.entity.ToBillEntity;
 import com.hzya.frame.plugin.lets.ofsvo.QueryOfsStockinOrderRequestVO;
+import com.hzya.frame.plugin.lets.ofsvo.QueryOfsTransferOrderRequestVO;
 import com.hzya.frame.plugin.lets.u8cdto.GeneralBillVO;
 import com.hzya.frame.plugin.lets.u8cdto.ReusltStrDto;
 import com.hzya.frame.plugin.lets.util.PushDataByU8cUtil;
@@ -28,6 +30,7 @@ import com.hzya.frame.sysnew.integtationTaskLivingDetails.dao.IIntegrationTaskLi
 import com.hzya.frame.sysnew.integtationTaskLivingDetails.entity.IntegrationTaskLivingDetailsEntity;
 import com.hzya.frame.ttxofs.dto.InterfaceParamDto;
 import com.hzya.frame.ttxofs.dto.ofsReceiptConfirmSearch.OFSReceiptConfirmSearchResponse;
+import com.hzya.frame.ttxofs.dto.ofsTransferOrderSearch.OFSTranseferOrderSearchResponse;
 import com.hzya.frame.ttxofs.dto.stock.StockinOrderSearchResponse;
 import com.hzya.frame.ttxofs.service.OfsUnifiedService;
 import com.hzya.frame.web.entity.BaseResult;
@@ -40,6 +43,7 @@ import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Date;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * 20250303:ofs调拨入库确认单--->U8C调拨入库订单
@@ -323,6 +327,21 @@ public class TransferInPluginInitializer extends PluginBaseEntity {
                 //dbilldate 单据日期
                 parentvo.setDbilldate(format.substring(0, 10));
 
+                ////////////////////////////////////////////////////////////////////////////////ofs调拨订单
+                List<OFSTranseferOrderSearchResponse.OFSTranseferOrder> ofsTranseferOrders = queryOfsTransderOrder(ofsHeader.getRefOrderCode());
+                if (ofsTranseferOrders == null || ofsTranseferOrders.size() == 0 || ofsTranseferOrders.size() > 1) {
+                    Assert.state(false, "根据调拨出库单:{},的来源单据号:{},查询OFS调拨订单为空或不唯一。请检查。", ofsCode, ofsHeader.getRefOrderCode());
+                }
+                OFSTranseferOrderSearchResponse.OFSTranseferOrder ofsTranseferOrder = ofsTranseferOrders.get(0);
+                ////////////////////////////////////////////////////////////////////////////////ofs调拨订单
+                //pk_defdoc4 ofs调入店铺
+                String inShop = locateShop(ofsTranseferOrder.getHeader().getToCompanyCode());
+                if (inShop == null) {
+                    Assert.state(false, "根据调入公司:{},未查询到对应的店铺,请维护(BDDP,调拨公司对应店铺)自定义项档案。", ofsTranseferOrder.getHeader().getCompanyCode());
+                } else {
+                    parentvo.setPk_defdoc4(inShop);
+                }
+
                 //U8C调拨出库单主表信息
                 List<IcGeneralHEntity> icGeneralHEntityList = queryIcGeneralHByVdef19(ofsRefOrderCode);
                 if (icGeneralHEntityList == null) {
@@ -523,6 +542,32 @@ public class TransferInPluginInitializer extends PluginBaseEntity {
     }
 
 
+    /**
+     * 根据调拨订单号查询ofs调拨订单
+     *
+     * @param transferNo
+     * @throws Exception
+     */
+    public List<OFSTranseferOrderSearchResponse.OFSTranseferOrder> queryOfsTransderOrder(String transferNo) throws Exception {
+        QueryOfsTransferOrderRequestVO queryOfsTransferOrderRequestVO = new QueryOfsTransferOrderRequestVO();
+//            queryOfsTransferOrderRequestVO.setStatus("100");//状态 100订单池 200待出库 300已出库 400待入库 900已入库 250出库中 450入库中
+        queryOfsTransferOrderRequestVO.setCode(transferNo);
+        queryOfsTransferOrderRequestVO.setPageNo(1L);
+        queryOfsTransferOrderRequestVO.setPageSize(500L);
+
+        InterfaceParamDto interfaceParamDto = new InterfaceParamDto();
+        interfaceParamDto.setApi("ofs.transferOrder.search");
+        queryOfsTransferOrderRequestVO.setClientCode("LETS");
+        interfaceParamDto.setData(JSON.toJSONString(queryOfsTransferOrderRequestVO));
+        OFSTranseferOrderSearchResponse ofsTranseferOrderSearchResponse = (OFSTranseferOrderSearchResponse) ofsUnifiedService.unified(interfaceParamDto);
+        if (ofsTranseferOrderSearchResponse.getData().size() == 0) {
+            return null;
+        } else {
+            List<OFSTranseferOrderSearchResponse.OFSTranseferOrder> data = ofsTranseferOrderSearchResponse.getData();
+            return data;
+        }
+    }
+
     /**
      * 根据调拨出库单主表自定义项19(ofs调拨订单号)查询调拨出库单主表
      */
@@ -550,4 +595,17 @@ public class TransferInPluginInitializer extends PluginBaseEntity {
         return icGeneralBEntityList;
     }
 
+    /**
+     * 根据自定义项定位店铺
+     */
+    public String locateShop(String companyCode) {
+        List<BdDefdocEntity> defdocEntityList = queryU8CEntityUtil.queryBdDefDocByListCode("BDDP");
+
+        for (BdDefdocEntity bdDefdocEntity : defdocEntityList) {
+            if (companyCode.equals(bdDefdocEntity.getDoccode())) {
+                return bdDefdocEntity.getMemo();
+            }
+        }
+        return null;
+    }
 }