From 7bf68eafeeb6f49fbe4cc143b3f0cbe1ca19290d Mon Sep 17 00:00:00 2001 From: Rui_Li <877258667@qq.com> Date: Mon, 30 Dec 2024 15:17:19 +0800 Subject: [PATCH] =?UTF-8?q?ifs=20=E9=85=8D=E6=96=B9=20jar=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../spring/ifs/bean/RecipeServiceBean.java | 94 +++++++++++++++++++ 1 file changed, 94 insertions(+) diff --git a/src/main/java/com/spring/ifs/bean/RecipeServiceBean.java b/src/main/java/com/spring/ifs/bean/RecipeServiceBean.java index 58bedb46..48228b0c 100644 --- a/src/main/java/com/spring/ifs/bean/RecipeServiceBean.java +++ b/src/main/java/com/spring/ifs/bean/RecipeServiceBean.java @@ -521,6 +521,47 @@ public class RecipeServiceBean { return returnMap; } + + /** + * @description: 同步配方项目到IFS系统 + * @author LR + * @date 2024/12/30 15:12 + * @version 1.0 + */ + public Map syncRecipeItem(Server srv, RecipeIfsItem inData) { + logger.info("Recipe替代明细新增开始:"+JSON.toJSONString(inData)); + //公共参数 + Map returnMap = new HashMap<>(); + String contract = inData.getContract(); + String partNo = inData.getPartNo(); + String engChgLevel = inData.getEngChgLevel(); + String bomType = inData.getBomType(); + String alternativeNo = inData.getAlternativeNo(); + String lineItemNo = inData.getLineItemNo(); + try{ + //查询结果集 + List itemList = RecipeApi.getRecipeItems(srv, contract, partNo, engChgLevel, bomType, alternativeNo, lineItemNo); + // + if(itemList != null || itemList.size() > 0){ + throw new APException("已存在此查Recipe组件信息!"); + } + //调用api + Map tempMap = RecipeApi.insertRecipeItem(srv, inData); + //设置ifs 信息 + inData.setIfsRowId(tempMap.get("OBJID")); + inData.setIfsRowVersion(tempMap.get("OBJVERSION")); + returnMap.put("resultCode", "200"); + returnMap.put("obj", JSON.toJSONString(inData)); + } catch(APException e){ + returnMap.put("resultCode", "400"); + returnMap.put("resultMsg", e.getMessage()); + } + //打印日志 + logger.info("Recipe替代明细新增结束:"+JSON.toJSONString(inData)); + //返回结果集 + return returnMap; + } + /** * @description: 修改查Recipe的明细 暂时不可用 * @author LR @@ -624,4 +665,57 @@ public class RecipeServiceBean { return returnMap; } + /** + * @description: 单个删除的方法 + * @author LR + * @date 2024/12/30 15:15 + * @version 1.0 + */ + public Map removeRecipeItem(Server srv, RecipeIfsItem inData) { + // 记录日志,开始删除过程 + logger.info("Recipe 明细删除开始:" + JSON.toJSONString(inData)); + // 公共参数 + Map returnMap = new HashMap<>(); + String contract = inData.getContract(); + String partNo = inData.getPartNo(); + String engChgLevel = inData.getEngChgLevel(); + String bomType = inData.getBomType(); + String alternativeNo = inData.getAlternativeNo(); + String lineItemNo = inData.getLineItemNo(); + + try { + // 查询数据 + List itemList = RecipeApi.getRecipeItems(srv, contract, partNo, engChgLevel, bomType, alternativeNo, lineItemNo); + + // 判断是否已经存在 + if (itemList == null || itemList.isEmpty()) { + throw new APException("不存在此Recipe组件信息! LineItemNo:" + lineItemNo); + } + + // 获取要删除的项目 + RecipeIfsItem itemToDelete = itemList.get(0); + + // 设置版本的信息 + inData.setIfsRowId(itemToDelete.getIfsRowId()); + inData.setIfsRowVersion(itemToDelete.getIfsRowVersion()); + + // 调用API删除项目 + RecipeApi.removeRecipeItem(srv, inData); + + // 设置返回值 + returnMap.put("resultCode", "200"); + returnMap.put("obj", JSON.toJSONString(inData)); + } catch (APException e) { + // 异常处理,设置错误代码和消息 + returnMap.put("resultCode", "400"); + returnMap.put("resultMsg", e.getMessage()); + } + + // 打印日志,结束删除过程 + logger.info("Recipe 明细删除结束:" + JSON.toJSONString(inData)); + + // 返回结果集 + return returnMap; + } + }