From 8d589bae61ce484ba39ff010801c1abfe1597ad8 Mon Sep 17 00:00:00 2001 From: Rui_Li <877258667@qq.com> Date: Wed, 18 Mar 2026 18:00:14 +0800 Subject: [PATCH] =?UTF-8?q?IFS=20inventory=20partConfig=20=E5=A2=9E?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/spring/ifs/api/InventoryPartApi.java | 43 +++++++++++++++++++ .../spring/ifs/bean/InventoryServiceBean.java | 31 ++++++++++++- 2 files changed, 73 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/spring/ifs/api/InventoryPartApi.java b/src/main/java/com/spring/ifs/api/InventoryPartApi.java index 328c105f..e79346f9 100644 --- a/src/main/java/com/spring/ifs/api/InventoryPartApi.java +++ b/src/main/java/com/spring/ifs/api/InventoryPartApi.java @@ -332,6 +332,49 @@ public class InventoryPartApi{ } } + /** + * @description: 查询PLM需要的参数 + * @author LR + * @date 2026/3/18 17:48 + * @version 1.0 + */ + + public static PartIfsInventoryConfig getInventoryPartCost(Server srv, String contract, String partNo) throws APException { + //公共参数 + StringBuilder searchSql = new StringBuilder(); + searchSql.append("SELECT CONTRACT, PART_NO partNo, CONFIGURATION_ID, CONFIGURATION_ID, OBJID ifsRowId, OBJVERSION ifsRowVersion"); + searchSql.append(" FROM ifsapp.INVENTORY_PART_CONFIG"); + searchSql.append(" WHERE CONTRACT = :contract AND PART_NO = :partNo AND CONFIGURATION_ID = :configurationId"); + //设置查询的入参 + Map inParam = new HashMap<>(); + inParam.put("contract", contract); + inParam.put("partNo", partNo); + inParam.put("configurationId", "*");//目前填写固定值 + //调用查询的通用方法 + RecordCollection recordCollection = IfsPlsqlUtils.execSqlSearchGetRecordCollection(srv, searchSql, inParam); + //判断能否返回 + if (recordCollection == null) { + return null; + } else { + Record recordData = recordCollection.get(0); + Map resultMap = IfsConverterToMap.ConverterIfsToMap(recordData); + //判断是否存在 + if(null == resultMap || resultMap.size() == 0){ + return null; + }else { + //解析数据 + PartIfsInventoryConfig tempPart = new PartIfsInventoryConfig(); + tempPart.setContract(resultMap.get("CONTRACT")); + tempPart.setPartNo(resultMap.get("PART_NO")); // + tempPart.setIfsRowId(resultMap.get("IFSROWID")); + tempPart.setIfsRowVersion(resultMap.get("IFSROWVERSION")); + tempPart.setConfigurationId(resultMap.get("CONFIGURATION_ID")); + tempPart.setEstimatedMaterialCost(resultMap.get("ESTIMATED_MATERIAL_COST")); + return tempPart; + } + } + } + /** * @description: 修改库存件的cost的信息 * @author LR diff --git a/src/main/java/com/spring/ifs/bean/InventoryServiceBean.java b/src/main/java/com/spring/ifs/bean/InventoryServiceBean.java index 2071ac72..106c4d00 100644 --- a/src/main/java/com/spring/ifs/bean/InventoryServiceBean.java +++ b/src/main/java/com/spring/ifs/bean/InventoryServiceBean.java @@ -154,7 +154,7 @@ public class InventoryServiceBean { * @date 2024/12/12 15:58 * @version 1.0 */ - public Map removeInventoryPart(Server srv, PartIfsInventory inData) { + public Map removeInventoryPart(Server srv, PartIfsInventory inData) { logger.info("Inventory Part 删除开始:"+JSON.toJSONString(inData)); //查询的参数 Map returnMap = new HashMap<>(); @@ -185,6 +185,35 @@ public class InventoryServiceBean { return returnMap; } + /** + * @description: 获取库存件的配置信息 + * @author LR + * @date 2026/3/18 17:59 + * @version 1.0 + */ + + public Map getInventoryPartCost(Server srv, PartIfsInventory inData) { + //公共参数 + Map returnMap = new HashMap<>(); + String contract = inData.getContract(); + String partNo = inData.getPartNo(); + try { + //获取参数 + PartIfsInventoryConfig tempConfig = InventoryPartApi.getInventoryPartCost(srv, contract, partNo); + //判断是否存在 + if (null == tempConfig) { + throw new APException("当前配置参数不存在!"); + } + returnMap.put("resultCode", "200"); + returnMap.put("obj", JSON.toJSONString(tempConfig)); + } catch(APException e){ + returnMap.put("resultCode", "400"); + returnMap.put("resultMsg", e.getMessage()); + logger.info("异常信息:"+e.getMessage()); + } + return returnMap; + } + /** * @description: 修改库存件的配置信息 * @author LR