From 47621c93193598220eafd62eccd3dfc41ef1daed Mon Sep 17 00:00:00 2001 From: rui_li <877258667@qq.com> Date: Fri, 19 Dec 2025 17:33:54 +0800 Subject: [PATCH] =?UTF-8?q?inventory=20part=20=E9=A2=84=E4=BC=B0=E5=BA=93?= =?UTF-8?q?=E5=AD=98=E4=BB=B6=E9=A2=84=E4=BC=B0=E6=9D=90=E6=96=99=E6=88=90?= =?UTF-8?q?=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/spring/ifs/api/BaseSearchApiTest.java | 35 +++++++++++++++++++ .../com/spring/ifs/bean/BaseSearchBean.java | 10 ++---- .../spring/ifs/bean/BaseSearchBeanTest.java | 28 +++++++++++++++ .../ifs/controller/TestIfsController.java | 23 ++++++++++++ 4 files changed, 89 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/spring/ifs/api/BaseSearchApiTest.java b/src/main/java/com/spring/ifs/api/BaseSearchApiTest.java index 0c6427d0..5d5cf4ec 100644 --- a/src/main/java/com/spring/ifs/api/BaseSearchApiTest.java +++ b/src/main/java/com/spring/ifs/api/BaseSearchApiTest.java @@ -654,4 +654,39 @@ public class BaseSearchApiTest { } } + /** + * @description: 获取库存件的预估成本 + * @author HP + * @date 2025-12-19 16:25 + * @version 1.0 + */ + public static InventoryPartUnitCostSumVo getInventoryEstimatedMaterialCostByPartNo(Server srv, String contract, String partNo) throws APException { + StringBuilder searchSql = new StringBuilder(); + searchSql.append("SELECT OBJID ifsRowId, OBJVERSION ifsRowVersion, CONTRACT site, PART_NO, CONFIGURATION_ID, ESTIMATED_MATERIAL_COST"); + searchSql.append(" FROM ifsapp.INVENTORY_PART_CONFIG ipc"); + searchSql.append(" WHERE ipc.CONTRACT = :contract AND ipc.PART_NO = :partNo AND ipc.CONFIGURATION_ID = '*'"); + //设置查询的入参 + Map inParam = new HashMap<>(); + inParam.put("contract", contract); + inParam.put("partNo", partNo); + //调用查询的通用方法 + RecordCollection recordCollection = IfsPlsqlUtils.execSqlSearchGetRecordCollection(srv, searchSql, inParam); + //判断能否返回 + if (recordCollection == null) { + return null; + } else { + //调用通用的处理方法 返回Map + Map resultMap = IfsConverterToMap.ConverterIfsToMap(recordCollection.get(0)); + InventoryPartUnitCostSumVo resultRow = new InventoryPartUnitCostSumVo(); + //设置参数 + resultRow.setIfsRowId(resultMap.get("IFSROWID")); + resultRow.setIfsRowVersion(resultMap.get("IFSROWVERSION")); + resultRow.setSite(resultMap.get("SITE")); + resultRow.setPartNo(resultMap.get("PART_NO")); + resultRow.setConfigurationId(resultMap.get("CONFIGURATION_ID")); + resultRow.setEstimatedMaterialCost(resultMap.get("ESTIMATED_MATERIAL_COST")); + return resultRow; + } + } + } \ No newline at end of file diff --git a/src/main/java/com/spring/ifs/bean/BaseSearchBean.java b/src/main/java/com/spring/ifs/bean/BaseSearchBean.java index f39cb89c..0caddd6e 100644 --- a/src/main/java/com/spring/ifs/bean/BaseSearchBean.java +++ b/src/main/java/com/spring/ifs/bean/BaseSearchBean.java @@ -191,16 +191,16 @@ public class BaseSearchBean { Map returnMap = new HashMap<>(); String site = inData.getSite(); String partNo = inData.getPartNo(); - logger.info("库存件cost value请求参数 域:"+site+",物料编码:"+partNo); + logger.info("库存件预估成本查询请求参数 域:"+site+",物料编码:"+partNo); try { InventoryPartUnitCostSumVo resultRow = BaseSearchApi.getInventoryEstimatedMaterialCostByPartNo(srv, site, partNo); //判断null if(resultRow == null) { - throw new APException("库存件按成本不存在!"); + throw new APException("库存件预估成本不存在!"); } returnMap.put("resultCode", "200"); returnMap.put("obj", JSON.toJSONString(resultRow)); - logger.info("返回集合大小:"+resultRow.toString()); + logger.info("返回内容:"+resultRow.toString()); } catch(APException e){ returnMap.put("resultCode", "400"); returnMap.put("resultMsg", e.getMessage()); @@ -209,10 +209,6 @@ public class BaseSearchBean { return returnMap; } - - - - /** * @description: 按照条件查询技术等级的数据 * @author LR diff --git a/src/main/java/com/spring/ifs/bean/BaseSearchBeanTest.java b/src/main/java/com/spring/ifs/bean/BaseSearchBeanTest.java index 08776bd3..6f94916d 100644 --- a/src/main/java/com/spring/ifs/bean/BaseSearchBeanTest.java +++ b/src/main/java/com/spring/ifs/bean/BaseSearchBeanTest.java @@ -1,5 +1,6 @@ package com.spring.ifs.bean; +import com.alibaba.fastjson.JSON; import com.spring.ifs.api.BaseSearchApi; import com.spring.ifs.api.BaseSearchApiTest; import com.spring.ifs.api.IfsServer; @@ -8,6 +9,8 @@ import com.spring.ifs.data.*; import com.spring.modules.base.entity.WorkCenterCost; import com.spring.modules.base.vo.PersonnelLevelVo; import com.spring.modules.part.entity.APIEntity.PartIfsInventory; +import com.spring.modules.part.entity.PartInformationEntity; +import com.spring.modules.part.vo.InventoryPartUnitCostSumVo; import ifs.fnd.ap.APException; import ifs.fnd.ap.Server; import org.slf4j.Logger; @@ -166,6 +169,31 @@ public class BaseSearchBeanTest { return resultList; } + /** + * @description: 获取库存件的预估成本 + * @author HP + * @date 2025-12-19 16:25 + * @version 1.0 + */ + public InventoryPartUnitCostSumVo getInventoryEstimatedMaterialCostByPartNo(BaseSearchData inData) throws APException{ + //查询的参数 + //查询的参数 + String username = inData.getIfsUsername(); + String password = inData.getIfsPassword(); + String site = inData.getSite(); + String partNo = inData.getPartNo(); + logger.info("库存件cost value请求参数 域:"+site+",物料编码:"+partNo); + //获取连接 + Server srv = ifsServer.getIfsServer(username, password); + InventoryPartUnitCostSumVo resultRow = BaseSearchApi.getInventoryEstimatedMaterialCostByPartNo(srv, site, partNo); + //判断null + if(resultRow == null) { + throw new APException("库存件按成本不存在!"); + } + logger.info("返回集合大小:"+resultRow.toString()); + return resultRow; + } + /** * @description: 按照条件查询库存件的成本 * @author LR diff --git a/src/main/java/com/spring/ifs/controller/TestIfsController.java b/src/main/java/com/spring/ifs/controller/TestIfsController.java index 0c137ff4..d1153820 100644 --- a/src/main/java/com/spring/ifs/controller/TestIfsController.java +++ b/src/main/java/com/spring/ifs/controller/TestIfsController.java @@ -6,6 +6,7 @@ import com.spring.ifs.data.CopyPart; import com.spring.modules.base.entity.WorkCenterCost; import com.spring.modules.base.vo.PersonnelLevelVo; import com.spring.modules.part.entity.APIEntity.*; +import com.spring.modules.part.vo.InventoryPartUnitCostSumVo; import com.spring.modules.sys.service.CheckLdapDirectory; import ifs.fnd.ap.APException; import org.springframework.beans.factory.ListableBeanFactory; @@ -155,6 +156,28 @@ public class TestIfsController { return resultMap; } + + /** + * @description: 库存件存预估材料成本查询 + * @author LR + * @date 2024/12/9 13:53 + * @version 1.0 + */ + @PostMapping("/getInventoryEstimatedMaterialCostByPartNo") + public Object getInventoryEstimatedMaterialCostByPartNo(@RequestBody BaseSearchData inData) throws APException { + Map resultMap = new HashMap(); + try { + InventoryPartUnitCostSumVo returnRow = baseSearchBeanTest.getInventoryEstimatedMaterialCostByPartNo(inData); + resultMap.put("returnRow", returnRow); + resultMap.put("code", 200); + resultMap.put("msg", "操作成功!"); + } catch (Exception e) { + resultMap.put("code", 400); + resultMap.put("msg", e.getMessage()); + } + return resultMap; + } + /** * @description: 库存件成本查询 * @author LR