package com.spring.ifs.bean; import com.alibaba.fastjson.JSON; import com.spring.ifs.api.BomApi; import com.spring.ifs.api.IfsServer; import com.spring.ifs.data.*; import com.spring.modules.part.entity.APIEntity.BomIfsAlternative; import com.spring.modules.part.entity.APIEntity.BomIfsHeader; import com.spring.modules.part.entity.APIEntity.BomIfsItem; import ifs.fnd.ap.APException; import ifs.fnd.ap.Server; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.function.Function; import java.util.stream.Collectors; /** * @description: 处理Bom的 * @author LR * @date 2024/12/9 15:44 * @version 1.0 */ @Component public class BomServiceBean { @Autowired private IfsServer ifsServer; private static final Logger logger = LoggerFactory.getLogger(BomServiceBean.class); /** * @description: 查询Bom Header * @author LR * @date 2024/12/12 15:49 * @version 1.0 */ public Map getBomHeader(Server srv, BomIfsHeader inData) { logger.info("Bom查询参数:"+JSON.toJSONString(inData)); //查询的参数 Map returnMap = new HashMap<>(); String contract = inData.getContract(); String partNo = inData.getPartNo(); String engChgLevel = inData.getEngChgLevel(); String bomType = inData.getBomType(); try{ //查询数据 Map bomMap = BomApi.getBomHeader(srv, contract, partNo, engChgLevel, bomType); //判断是否需要插入到ifs if(bomMap == null || bomMap.size() == 0) { throw new RuntimeException("Bom不存在!"); } //设置ifs 信息 inData.setIfsRowId(bomMap.get("IFSROWID")); inData.setIfsRowVersion(bomMap.get("IFSROWVERSION")); returnMap.put("resultCode", "200"); returnMap.put("obj", JSON.toJSONString(inData)); } catch(APException e){ returnMap.put("resultCode", "400"); returnMap.put("resultMsg", e.getMessage()); } //打印日志 logger.info("Bom查询:"+JSON.toJSONString(inData)); //返回结果集 return returnMap; } /** * @description: Bom Header新增 * @author LR * @date 2024/12/12 15:52 * @version 1.0 */ public Map syncBomHeader(Server srv, BomIfsHeader inData) { logger.info("Bom新增开始:"+JSON.toJSONString(inData)); //查询的参数 Map returnMap = new HashMap<>(); String contract = inData.getContract(); String partNo = inData.getPartNo(); String engChgLevel = inData.getEngChgLevel(); String bomType = inData.getBomType(); try{ //查询数据 Map bomMap = BomApi.getBomHeader(srv, contract, partNo, engChgLevel, bomType); //判断是否需要插入到ifs if(bomMap != null && bomMap.size() > 0) { throw new RuntimeException("Bom已存在!"); } //调用api Map resultMap = BomApi.insertBomHeader(srv, inData); //设置版本的信息 inData.setIfsRowVersion(resultMap.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("Bom新增结束:"+JSON.toJSONString(inData)); //返回结果集 return returnMap; } /** * @description: Bom Header修改 * @author LR * @date 2024/12/12 15:55 * @version 1.0 */ public Map modifyBomHeader(Server srv, BomIfsHeader inData) { logger.info("Bom修改开始:"+JSON.toJSONString(inData)); //查询的参数 Map returnMap = new HashMap<>(); String contract = inData.getContract(); String partNo = inData.getPartNo(); String engChgLevel = inData.getEngChgLevel(); String bomType = inData.getBomType(); try{ //查询数据 Map bomMap = BomApi.getBomHeader(srv, contract, partNo, engChgLevel, bomType); //判断是否需要插入到ifs if(bomMap == null || bomMap.size() == 0) { throw new RuntimeException("Bom不存在!"); } //设置ifs 信息 inData.setIfsRowId(bomMap.get("IFSROWID")); inData.setIfsRowVersion(bomMap.get("IFSROWVERSION")); Map resultMap = BomApi.modifyBomHeader(srv, inData); //设置ifs 信息 inData.setIfsRowVersion(resultMap.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("Bom修改结束:"+JSON.toJSONString(inData)); //返回结果集 return returnMap; } /** * @description: Bom Header删除 * @author LR * @date 2024/12/12 15:58 * @version 1.0 */ public Map removeBomHeader(Server srv, BomIfsHeader inData) { logger.info("Bom Header删除开始:"+JSON.toJSONString(inData)); //查询的参数 Map returnMap = new HashMap<>(); String contract = inData.getContract(); String partNo = inData.getPartNo(); String engChgLevel = inData.getEngChgLevel(); String bomType = inData.getBomType(); try{ //查询数据 Map bomMap = BomApi.getBomHeader(srv, contract, partNo, engChgLevel, bomType); //判断是否需要插入到ifs if(bomMap == null || bomMap.size() == 0) { throw new RuntimeException("Bom不存在!"); } //设置ifs 信息 inData.setIfsRowId(bomMap.get("IFSROWID")); inData.setIfsRowVersion(bomMap.get("IFSROWVERSION")); BomApi.removeBomHeader(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("Bom Header 删除结束:"+JSON.toJSONString(inData)); //返回结果集 return returnMap; } /** * @description: 查询Bom Alternative * @author LR * @date 2024/12/12 16:59 * @version 1.0 */ public Map getBomAlternative(Server srv, BomIfsAlternative inData) { logger.info("Bom Alternative 查询开始:"+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(); try{ //查询数据 Map alternativeMap = BomApi.getBomAlternative(srv, contract, partNo, engChgLevel, bomType, alternativeNo); //判断是否需要插入到ifs if(alternativeMap == null) { throw new RuntimeException("Bom Alternative 不存在!"); } //设置ifs 信息 inData.setIfsRowId(alternativeMap.get("IFSROWID")); inData.setIfsRowVersion(alternativeMap.get("IFSROWVERSION")); returnMap.put("resultCode", "200"); returnMap.put("obj", JSON.toJSONString(inData)); } catch(APException e){ returnMap.put("resultCode", "400"); returnMap.put("resultMsg", e.getMessage()); } //打印日志 logger.info("Bom Alternative 查询结束:"+JSON.toJSONString(inData)); //返回结果集 return returnMap; } /** * @description: 插入Bom Alternative * @author LR * @date 2024/12/12 17:03 * @version 1.0 */ public Map syncBomAlternative(Server srv, BomIfsAlternative inData) { logger.info("Bom Alternative 新增开始:"+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(); try{ //查询数据 Map alternativeMap = BomApi.getBomAlternative(srv, contract, partNo, engChgLevel, bomType, alternativeNo); //判断是否需要插入到ifs if(alternativeMap != null && alternativeMap.size() > 0) { throw new RuntimeException("Bom Alternative 已存在!"); } //调用新增api Map resultMap = BomApi.insertBomAlternative(srv, inData); //设置ifs 信息 inData.setIfsRowId(resultMap.get("OBJID")); inData.setIfsRowVersion(resultMap.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("Bom Alternative 新增结束:"+JSON.toJSONString(inData)); //返回结果集 return returnMap; } /** * @description: 修改Bom Alternative * @author LR * @date 2024/12/12 17:06 * @version 1.0 */ public Map modifyBomAlternative(Server srv, BomIfsAlternative inData) { logger.info("Bom Alternative 修改开始:"+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(); try{ //查询数据 Map alternativeMap = BomApi.getBomAlternative(srv, contract, partNo, engChgLevel, bomType, alternativeNo); //判断是否需要插入到ifs if(alternativeMap == null || alternativeMap.size() == 0) { throw new RuntimeException("Bom Alternative不存在!"); } //设置ifs 信息 inData.setIfsRowId(alternativeMap.get("IFSROWID")); inData.setIfsRowVersion(alternativeMap.get("IFSROWVERSION")); //调用api Map resultMap = BomApi.modifyBomAlternative(srv, inData); //设置ifs 信息 inData.setIfsRowVersion(resultMap.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("Bom Alternative 修改结束:"+JSON.toJSONString(inData)); //返回结果集 return returnMap; } /** * @description: 删除Bom Alternative * @author LR * @date 2024/12/12 17:07 * @version 1.0 */ public Map removeBomAlternative(Server srv, BomIfsAlternative inData) { logger.info("Bom Alternative 删除开始:"+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(); try{ //查询数据 Map alternativeMap = BomApi.getBomAlternative(srv, contract, partNo, engChgLevel, bomType, alternativeNo); //判断是否需要插入到ifs if(alternativeMap == null || alternativeMap.size() == 0) { throw new RuntimeException("Bom Alternative不存在!"); } //设置ifs 信息 inData.setIfsRowId(alternativeMap.get("IFSROWID")); inData.setIfsRowVersion(alternativeMap.get("IFSROWVERSION")); //调用api BomApi.removeBomAlternative(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("Bom Alternative 删除结束:"+JSON.toJSONString(inData)); //返回结果集 return returnMap; } /** * @description: Build Bom Alternative * @author LR * @date 2024/12/13 9:37 * @version 1.0 */ public Map buildBomAlternative(Server srv, BomIfsAlternative inData) { logger.info("Bom替代Build开始:"+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(); try{ //查询数据 Map alternativeMap = BomApi.getBomAlternative(srv, contract, partNo, engChgLevel, bomType, alternativeNo); //判断是否需要插入到ifs if(alternativeMap == null || alternativeMap.size() == 0) { throw new RuntimeException("Bom Alternative不存在!"); } //设置ifs 信息 inData.setIfsRowId(alternativeMap.get("IFSROWID")); inData.setIfsRowVersion(alternativeMap.get("IFSROWVERSION")); //调用删除方法 Map resultMap = BomApi.buildBomAlternative(srv, inData); //设置ifs 信息 inData.setIfsRowVersion(resultMap.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("Bom替代Build结束:"+JSON.toJSONString(inData)); //返回结果集 return returnMap; } /** * @description: Retire Bom Alternative * @author LR * @date 2024/12/13 9:40 * @version 1.0 */ public Map retireBomAlternative(Server srv, BomIfsAlternative inData) { logger.info("Bom替代retire开始:"+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(); try{ //查询数据 Map alternativeMap = BomApi.getBomAlternative(srv, contract, partNo, engChgLevel, bomType, alternativeNo); //判断是否需要插入到ifs if(alternativeMap == null || alternativeMap.size() == 0) { throw new RuntimeException("Bom Alternative不存在!"); } //设置ifs 信息 inData.setIfsRowId(alternativeMap.get("IFSROWID")); inData.setIfsRowVersion(alternativeMap.get("IFSROWVERSION")); //调用删除方法 Map resultMap = BomApi.retireBomAlternative(srv, inData); //设置ifs 信息 inData.setIfsRowVersion(resultMap.get("IFSROWVERSION")); returnMap.put("resultCode", "200"); returnMap.put("obj", JSON.toJSONString(inData)); } catch(APException e){ returnMap.put("resultCode", "400"); returnMap.put("resultMsg", e.getMessage()); } //打印日志 logger.info("Bom替代retire开始:"+JSON.toJSONString(inData)); //返回结果集 return returnMap; } /** * @description: 获取Bom 的明细 * @author LR * @date 2024/12/13 9:53 * @version 1.0 */ public Map getBomItems(Server srv, BomIfsItem 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{ //查询数据 Map alternativeMap = BomApi.getBomAlternative(srv, contract, partNo, engChgLevel, bomType, alternativeNo); //判断是否需要插入到ifs if(alternativeMap == null || alternativeMap.size() == 0) { throw new RuntimeException("Bom Alternative不存在!"); } //查询结果集 List resultList = BomApi.getBomItems(srv, contract, partNo, engChgLevel, bomType, alternativeNo, lineItemNo); //判断是否查询数据 if(resultList == null ||resultList.size() == 0 || resultList.isEmpty()) { throw new RuntimeException("不存在此bom组件信息!"); } returnMap.put("resultCode", "200"); returnMap.put("obj", JSON.toJSONString(inData)); } catch(APException e){ returnMap.put("resultCode", "400"); returnMap.put("resultMsg", e.getMessage()); } //打印日志 logger.info("Bom替代明细集合结束:"+JSON.toJSONString(inData)); //返回结果集 return returnMap; } /** * @description: 批量新增Bom Item * @author LR * @date 2024/12/12 17:23 * @version 1.0 */ public Map syncBomItems(Server srv, List inDatas) { logger.info("Bom替代明细集合新增开始:"+JSON.toJSONString(inDatas)); //公共参数 Map returnMap = new HashMap<>(); String contract = inDatas.get(0).getContract(); String partNo = inDatas.get(0).getPartNo(); String engChgLevel = inDatas.get(0).getEngChgLevel(); String bomType = inDatas.get(0).getBomType(); String alternativeNo = inDatas.get(0).getAlternativeNo(); String lineItemNo = inDatas.get(0).getLineItemNo(); try{ //查询数据 Map alternativeMap = BomApi.getBomAlternative(srv, contract, partNo, engChgLevel, bomType, alternativeNo); //判断是否需要插入到ifs if(alternativeMap == null || alternativeMap.size() == 0) { throw new RuntimeException("Bom Alternative不存在!"); } //查询结果集 List itemList = BomApi.getBomItems(srv, contract, partNo, engChgLevel, bomType, alternativeNo, null); //转Map Map itemMap = itemList.stream().collect(Collectors.toMap(BomItem::getLineItemNo, BomItem::getLineItemNo)); //打印日志 logger.info("Bom替代明细集合 批量新增结束:"+JSON.toJSONString(inDatas)); //循环判断的方法 for(BomIfsItem bomItem : inDatas) { //判断是否已经存在 String tempLineItemNo = bomItem.getLineItemNo(); if(itemMap.containsKey(tempLineItemNo)) { throw new RuntimeException("已存在此bom组件信息!LineItemNo:"+tempLineItemNo); } } // 校验通过 循环调用新增的方法 for(BomIfsItem bomItem : inDatas) { //调用api Map tempMap = BomApi.insertBomItem(srv, bomItem); //设置ifs 信息 bomItem.setIfsRowId(tempMap.get("OBJID")); bomItem.setIfsRowVersion(tempMap.get("OBJVERSION")); } returnMap.put("resultCode", "200"); returnMap.put("obj", JSON.toJSONString(inDatas)); } catch(APException e){ returnMap.put("resultCode", "400"); returnMap.put("resultMsg", e.getMessage()); } //打印日志 logger.info("Bom替代明细集合新增开始:"+JSON.toJSONString(inDatas)); //返回结果集 return returnMap; } /** * @description: 修改Bom的明细 * @author LR * @date 2024/12/13 10:24 * @version 1.0 */ public Map modifyBomItem(Server srv, BomIfsItem inData) { logger.info("Bom替代明细新增开始:"+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{ //查询数据 Map alternativeMap = BomApi.getBomAlternative(srv, contract, partNo, engChgLevel, bomType, alternativeNo); //判断是否需要插入到ifs if(alternativeMap == null || alternativeMap.size() == 0) { throw new RuntimeException("Bom Alternative不存在!"); } //查询结果集 List resultList = BomApi.getBomItems(srv, contract, partNo, engChgLevel, bomType, alternativeNo, lineItemNo); //判断是否查询数据 if(resultList.size() == 0 || resultList.isEmpty()) { throw new RuntimeException("不存在此bom组件信息!"); } BomItem bomItem = resultList.get(0); //设置版本信息 inData.setIfsRowId(bomItem.getIfsRowId()); inData.setIfsRowVersion(bomItem.getIfsRowVersion()); //调用修改的方法 Map resultMap = BomApi.modifyBomItem(srv, inData); //设置ifs 信息 bomItem.setIfsRowId(resultMap.get("OBJID")); bomItem.setIfsRowVersion(resultMap.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("Bom替代明细新增结束:"+JSON.toJSONString(inData)); //返回结果集 return returnMap; } /** * @description: 批量删除 * @author LR * @date 2024/12/13 10:26 * @version 1.0 */ public Map removeBomItems(Server srv, ArrayList inDatas) { logger.info("Bom 明细集合删除开始:"+JSON.toJSONString(inDatas)); //公共参数 Map returnMap = new HashMap<>(); String contract = inDatas.get(0).getContract(); String partNo = inDatas.get(0).getPartNo(); String engChgLevel = inDatas.get(0).getEngChgLevel(); String bomType = inDatas.get(0).getBomType(); String alternativeNo = inDatas.get(0).getAlternativeNo(); try{ //查询数据 List itemList = BomApi.getBomItems(srv, contract, partNo, engChgLevel, bomType, alternativeNo, null); //转Map Map itemMap = itemList.stream().collect(Collectors.toMap(BomItem::getLineItemNo, Function.identity())); //打印日志 logger.info("Bom替代明细集合 批量新增结束:"+JSON.toJSONString(inDatas)); //循环判断的方法 for(BomIfsItem bomItem : inDatas) { //判断是否已经存在 String tempLineItemNo = bomItem.getLineItemNo(); if(!itemMap.containsKey(tempLineItemNo)) { throw new RuntimeException("不存在此bom组件信息!LineItemNo:"+tempLineItemNo); } } // 校验通过 循环调用新增的方法 for(BomIfsItem bomItem : inDatas) { //设置版本的信息 String key = bomItem.getLineItemNo(); BomItem oriItem = itemMap.get(key); bomItem.setIfsRowId(oriItem.getIfsRowId()); bomItem.setIfsRowVersion(oriItem.getIfsRowVersion()); //调用api BomApi.removeBomItem(srv, bomItem); } returnMap.put("resultCode", "200"); returnMap.put("obj", JSON.toJSONString(inDatas)); } catch(APException e){ returnMap.put("resultCode", "400"); returnMap.put("resultMsg", e.getMessage()); } //打印日志 logger.info("Bom 明细集合删除开始:"+JSON.toJSONString(inDatas)); //返回结果集 return returnMap; } /** * @description: 修改单个 Bom 副产品 * @author LR * @date 2024/12/13 10:51 * @version 1.0 */ public Map modifyBomDistribution(Server srv, BomDistribution inData) { logger.info("Bom Distribution查询开始:"+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 componentLineItemNo = inData.getComponentLineItemNo(); String byProductLineItemNo = inData.getByProdLineItemNo();// 副产品的序号 try{ //查询数据 Map searchMap = BomApi.getBomDistribution(srv, contract, partNo, engChgLevel, bomType, alternativeNo, componentLineItemNo, byProductLineItemNo); //判断是否存在 if(searchMap == null) { throw new RuntimeException("查无此副产品分配信息!"); } //设置RowId和Rowversion inData.setIfsRowId(searchMap.get("IFSROWID")); inData.setIfsRowVersion(searchMap.get("IFSROWVERSION")); //不存在 则调用当前修改的副产品成本分配的方法 Map resultMap = BomApi.modifyBomDistribution(srv, inData); //设置IFS信息 inData.setIfsRowVersion(resultMap.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("Bom Distribution查询结束:"+JSON.toJSONString(inData)); //返回结果集 return returnMap; } /** * @description: 批量修改 * @author LR * @date 2024/12/13 10:57 * @version 1.0 */ public Map modifyBomDistributions(Server srv, List inDatas) { logger.info("Bom Distribution批量修改开始:"+JSON.toJSONString(inDatas)); BomDistribution inData = inDatas.get(0); //公共参数 Map returnMap = new HashMap<>(); String contract = inData.getContract(); String partNo = inData.getPartNo(); String engChgLevel = inData.getEngChgLevel(); String bomType = inData.getBomType(); String alternativeNo = inData.getAlternativeNo(); try{ //迭代循环调用 验证 for(BomDistribution bomDistribution : inDatas) { String componentLineItemNo = bomDistribution.getComponentLineItemNo(); String byProductLineItemNo = bomDistribution.getByProdLineItemNo();// 副产品的序号 Map searchMap = BomApi.getBomDistribution(srv, contract, partNo, engChgLevel, bomType, alternativeNo, componentLineItemNo, byProductLineItemNo); //判断是否存在 if(searchMap == null) { throw new RuntimeException("查无此副产品分配信息!"); } } //迭代循环调用 for(BomDistribution bomDistribution : inDatas) { String componentLineItemNo = bomDistribution.getComponentLineItemNo(); String byProductLineItemNo = bomDistribution.getByProdLineItemNo();// 副产品的序号 Map searchMap = BomApi.getBomDistribution(srv, contract, partNo, engChgLevel, bomType, alternativeNo, componentLineItemNo, byProductLineItemNo); //设置RowId和Rowversion bomDistribution.setIfsRowId(searchMap.get("IFSROWID")); bomDistribution.setIfsRowVersion(searchMap.get("IFSROWVERSION")); //不存在 则调用当前修改的副产品成本分配的方法 Map resultMap = BomApi.modifyBomDistribution(srv, bomDistribution); //设置版本信息 bomDistribution.setIfsRowVersion(resultMap.get("IFSROWVERSION")); } returnMap.put("resultCode", "200"); returnMap.put("obj", JSON.toJSONString(inData)); } catch(APException e){ returnMap.put("resultCode", "400"); returnMap.put("resultMsg", e.getMessage()); } //打印日志 logger.info("Bom Distribution批量修改结束:"+JSON.toJSONString(inDatas)); //返回结果集 return returnMap; } }