diff --git a/src/main/java/com/gaotao/modules/factory/dao/AccessSiteMapper.java b/src/main/java/com/gaotao/modules/factory/dao/AccessSiteMapper.java index b5b99ee..e1314ea 100644 --- a/src/main/java/com/gaotao/modules/factory/dao/AccessSiteMapper.java +++ b/src/main/java/com/gaotao/modules/factory/dao/AccessSiteMapper.java @@ -17,4 +17,6 @@ public interface AccessSiteMapper extends BaseMapper { */ List> getUserAuthorizedSites(@Param("userName") String userName); + List> getSiteById(@Param("siteId") String siteId); + } diff --git a/src/main/java/com/gaotao/modules/po/service/impl/PoServiceImpl.java b/src/main/java/com/gaotao/modules/po/service/impl/PoServiceImpl.java index 9d85dfd..d3bd49c 100644 --- a/src/main/java/com/gaotao/modules/po/service/impl/PoServiceImpl.java +++ b/src/main/java/com/gaotao/modules/po/service/impl/PoServiceImpl.java @@ -6,6 +6,8 @@ import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; import com.gaotao.common.exception.XJException; import com.gaotao.common.utils.*; +import com.gaotao.modules.factory.dao.AccessSiteMapper; +import com.gaotao.modules.factory.entity.Site; import lombok.extern.slf4j.Slf4j; import java.util.Map; @@ -55,20 +57,26 @@ public class PoServiceImpl extends ServiceImpl implemen private HandlingUnitDetailService handlingUnitDetailService; @Autowired private AgvClientUtil agvClientUtil; + @Autowired + private AccessSiteMapper accessSiteMapper; @Value("${custom.ifs-url}") private String ifsUrl; + @Value("${custom.ifs-ifsDBName}") + private String ifsDBName; + @Value("${custom.ifs-domainUserID}") + private String domainUserID; + @Value("${custom.wcs-url}") private String wcsUrl; + @Override public List> getPoList(PurchaseOrderDto purchaseOrder) { try { // 注意:这里应该根据实际的IFS接口调用方式进行调整 // 如果需要获取多行数据,可能需要先获取PO头,再获取行数据 - Map params = Map.of( - "ifsDBName", "UPD24", - "domainUserID", "CCL_WMS", + Map params = Map.of("ifsDBName", ifsDBName, "domainUserID", domainUserID, "ifsSiteID", purchaseOrder.getSite(), "ifsPurchaseOrderNo", purchaseOrder.getPoNumber() ); @@ -78,8 +86,8 @@ public class PoServiceImpl extends ServiceImpl implemen ObjectMapper mapper = new ObjectMapper(); /*Map params2 = Map.of( - "ifsDBName", "UPD24", - "domainUserID", "CCL_WMS", + "ifsDBName", ifsDBName, + "domainUserID", domainUserID, "ifsSiteID", "55", "partNo", "80900095-1DF", "qtyToIssue", 10, @@ -219,11 +227,15 @@ public class PoServiceImpl extends ServiceImpl implemen .eq(TransHeader::getTransNo, transHeader.getTransNo()) .update(); } - // 处理托盘和AGV调度逻辑 - handlePalletAndAGVDispatch(inData, transHeader); - // 同步到IFS syncToIFS(inData, transHeader); + + // 如果工厂是立体仓库,则需处理托盘和AGV调度逻辑 + List> sites = accessSiteMapper.getSiteById(inData.getSite()); + if (!sites.isEmpty() && sites.getFirst().get("verticalWarehouseFlag")!=null + && "Y".equals(sites.getFirst().get("verticalWarehouseFlag").toString())) { + handlePalletAndAGVDispatch(inData, transHeader); + } } catch (Exception e) { throw new XJException("采购入库失败: " + e.getMessage()); } @@ -462,7 +474,7 @@ public class PoServiceImpl extends ServiceImpl implemen try { JSONObject ifsRequest = new JSONObject(); ifsRequest.put("ifsDBName", "IFSTEST"); - ifsRequest.put("domainUserID", "CCL_WMS"); + ifsRequest.put("domainUserID", domainUserID); ifsRequest.put("ifsSiteID", "55"); ifsRequest.put("poNumber", inData.getPoNo()); ifsRequest.put("orderNo", inData.getOrderNo()); diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 2270c32..9eb5b6b 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -102,6 +102,8 @@ query: custom: ifs-url: 'https://cclifswebservice.ccldesign.com/api/v1/' + ifs-ifsDBName: 'IFST' + ifs-domainUserID: 'CCL_WMS' wcs-url: 'http://wcs-server/api/receive' agv-url: 'http://agv-server/api' diff --git a/src/main/resources/mapper/factory/AccessSiteMapper.xml b/src/main/resources/mapper/factory/AccessSiteMapper.xml index ceb918d..36f8163 100644 --- a/src/main/resources/mapper/factory/AccessSiteMapper.xml +++ b/src/main/resources/mapper/factory/AccessSiteMapper.xml @@ -15,4 +15,14 @@ ORDER BY s.siteid + +