|
|
package com.spring.ifs.api;
import com.spring.ifs.utils.IfsConverterToMap;import com.spring.ifs.utils.IfsPlsqlUtils;import com.spring.modules.base.utils.DateUtils;import com.spring.modules.part.entity.APIEntity.*;import ifs.fnd.ap.*;
import java.util.*;
/*** @description: 配方的api* @author LR* @date 2024/12/9 10:56* @version 1.0*/public class RecipeApi {
/** * @description: 查询 Recipe Header * @author LR * @date 2024/12/11 14:45 * @version 1.0 */ public static Map<String, String> getRecipeHeader(Server srv, String contract, String partNo, String engChgLevel, String bomType) throws APException { StringBuilder searchSql = new StringBuilder(); searchSql.append("SELECT OBJID ifsRowId, OBJVERSION ifsRowVersion,"); searchSql.append(" CONTRACT, PART_NO, BOM_TYPE, ENG_CHG_LEVEL, NOTE_TEXT"); searchSql.append(" FROM IFSAPP.RECIPE_STRUCTURE_HEAD"); searchSql.append(" WHERE CONTRACT = :contract AND PART_NO = :partNo AND ENG_CHG_LEVEL = :engChgLevel AND BOM_TYPE = :bomType"); //设置查询的入参
Map<String, String> inParam = new HashMap<>(); inParam.put("contract", contract); inParam.put("partNo", partNo); inParam.put("engChgLevel", engChgLevel); inParam.put("bomType", bomType); //调用查询的通用方法
RecordCollection recordCollection = IfsPlsqlUtils.execSqlSearchGetRecordCollection(srv, searchSql, inParam); //判断能否返回
if (recordCollection == null) { return null; } else { Record recordData = recordCollection.get(0); Map<String, String> resultMap = IfsConverterToMap.ConverterIfsToMap(recordData); return resultMap; } }
/** * @description: 插入Recipe Header的主表 * @author LR * @date 2024/12/11 15:08 * @version 1.0 */ public static Map<String, String> insertRecipeHeader(Server srv, RecipeIfsHeader inData) throws APException { //公共参数
String contract = inData.getContract();// 域
String partNo = inData.getPartNo();// 物料编码
String engChgLevel = inData.getEngChgLevel();// 版本
String bomType = inData.getBomType();// 分类
String effPhaseInDate = inData.getEffPhaseInDate().substring(0, 10)+"-00.00.00";// 启用时间-年月日
String effPhaseOutDate = inData.getEffPhaseOutDate();// 结束时间-年月日
if(effPhaseOutDate == null || effPhaseOutDate.equals("")) { effPhaseOutDate = ""; }else { effPhaseOutDate = effPhaseOutDate+"-00.00.00"; } //判断是否存在问题
String noteText = inData.getNoteText();// 备注
String createDate = DateUtils.getStringDate(new Date(), "yyyy-MM-dd")+"-00.00.00";//创建的时间
//入参
Map<String, String> inParam = new HashMap<>(); //填充参数
inParam.put("OBJID", ""); inParam.put("OBJVERSION", ""); inParam.put("PART_NO", partNo); // 物料编码
inParam.put("CONTRACT", contract); // 域
inParam.put("ENG_CHG_LEVEL", engChgLevel); // 物料的版本
inParam.put("BOM_TYPE", bomType); // BOM类型
//inParam.put("EFF_PHASE_IN_DATE", effPhaseInDate); // 启用日期
//inParam.put("EFF_PHASE_OUT_DATE", effPhaseOutDate); // 到期时间
inParam.put("NOTE_TEXT", noteText); // 备注
inParam.put("CREATE_DATE", createDate); // 创建日期
//执行存储过程 获取结果集
//执行check的操作
Map<String, String> checkMap = IfsPlsqlUtils.execProcedureGetRecord(srv, "RECIPE_STRUCTURE_HEAD_API", "NEW__", PlsqlBaseMethodType.NEW, PlsqlBaseMethodAction.CHECK, inParam); //执行do的操作
Map<String, String> resultMap = IfsPlsqlUtils.execProcedureGetRecord(srv, "RECIPE_STRUCTURE_HEAD_API", "NEW__", PlsqlBaseMethodType.NEW, PlsqlBaseMethodAction.DO, inParam); //返回结果集
return resultMap; }
/** * @description: 修改Recipe Header的主表信息 * @author LR * @date 2024/12/11 15:32 * @version 1.0 */ public static Map<String, String> modifyRecipeHeader(Server srv, RecipeIfsHeader inData) throws APException { //公共参数
String ifsRowId = inData.getIfsRowId(); String ifsRowVersion = inData.getIfsRowVersion(); String effPhaseInDate = inData.getEffPhaseInDate().substring(0, 10)+"-00.00.00";// 启用时间-年月日
String effPhaseOutDate = inData.getEffPhaseOutDate();// 结束时间-年月日
if(effPhaseOutDate == null || effPhaseOutDate.equals("")) { effPhaseOutDate = ""; }else { effPhaseOutDate = effPhaseOutDate+"-00.00.00"; } //判断是否存在问题
String noteText = inData.getNoteText();// 备注
//入参
Map<String, String> inParam = new HashMap<>(); //填充参数
inParam.put("OBJID", ifsRowId); inParam.put("OBJVERSION", ifsRowVersion); //inParam.put("EFF_PHASE_IN_DATE", effPhaseInDate); // 启用日期
//inParam.put("EFF_PHASE_OUT_DATE", effPhaseOutDate); // 到期时间
inParam.put("NOTE_TEXT", noteText); // 备注
//执行check的操作
Map<String, String> checkMap = IfsPlsqlUtils.execProcedureGetRecord(srv, "RECIPE_STRUCTURE_HEAD_API", "MODIFY__", PlsqlBaseMethodType.MODIFY, PlsqlBaseMethodAction.CHECK, inParam); //执行do的操作
Map<String, String> resultMap = IfsPlsqlUtils.execProcedureGetRecord(srv, "RECIPE_STRUCTURE_HEAD_API", "MODIFY__", PlsqlBaseMethodType.MODIFY, PlsqlBaseMethodAction.DO, inParam); //返回结果集
return resultMap; }
/** * @description: 删除Recipe的主表信息 * @author LR * @date 2024/12/11 15:33 * @version 1.0 */ public static Map<String, String> removeRecipeHeader(Server srv, RecipeIfsHeader inData) throws APException { //公共参数
String ifsRowId = inData.getIfsRowId(); String ifsRowVersion = inData.getIfsRowVersion(); //入参
Map<String, String> inParam = new HashMap<>(); //填充参数
inParam.put("OBJID", ifsRowId); inParam.put("OBJVERSION", ifsRowVersion);
//执行check的操作
Map<String, String> checkMap = IfsPlsqlUtils.execProcedureGetRecord(srv, "RECIPE_STRUCTURE_HEAD_API", "REMOVE__", PlsqlBaseMethodType.REMOVE, PlsqlBaseMethodAction.CHECK, inParam); //执行do的操作
Map<String, String> resultMap = IfsPlsqlUtils.execProcedureGetRecord(srv, "RECIPE_STRUCTURE_HEAD_API", "REMOVE__", PlsqlBaseMethodType.REMOVE, PlsqlBaseMethodAction.DO, inParam); //返回结果集
return resultMap; }
/** * @description: 查询Recipe Alternative * @author LR * @date 2024/12/11 14:48 * @version 1.0 */ public static Map<String, String> getRecipeAlternative(Server srv, String contract, String partNo, String engChgLevel, String bomType, String alternativeNo) throws APException { StringBuilder searchSql = new StringBuilder(); searchSql.append("SELECT OBJID ifsRowId, OBJVERSION ifsRowVersion, STD_SIZE_KG,"); searchSql.append(" DISPLAY_WEIGHT_UOM, REG_UNIT, DISPLAY_VOLUME_UOM,"); searchSql.append(" CONTRACT, PART_NO, BOM_TYPE, ENG_CHG_LEVEL, ALTERNATIVE_NO, STATE, NOTE_TEXT"); searchSql.append(" FROM IFSAPP.RECIPE_STRUCT_ALTERNATE"); searchSql.append(" WHERE CONTRACT = :contract AND PART_NO = :partNo AND ENG_CHG_LEVEL = :engChgLevel AND BOM_TYPE = :bomType AND ALTERNATIVE_NO = :alternativeNo");
//设置查询的入参
Map<String, String> inParam = new HashMap<>(); inParam.put("contract", contract); inParam.put("partNo", partNo); inParam.put("engChgLevel", engChgLevel); inParam.put("bomType", bomType); inParam.put("alternativeNo", alternativeNo);
//调用查询的通用方法
RecordCollection recordCollection = IfsPlsqlUtils.execSqlSearchGetRecordCollection(srv, searchSql, inParam); //判断能否返回
if (recordCollection == null) { return null; } else { Record recordData = recordCollection.get(0); Map<String, String> resultMap = IfsConverterToMap.ConverterIfsToMap(recordData); return resultMap; } }
/** * @description: 插入Recipe Alternative * @author LR * @date 2024/12/11 15:45 * @version 1.0 */ public static Map<String, String> insertRecipeAlternative(Server srv, RecipeIfsAlternative inData) throws APException { //公共参数
String contract = inData.getContract();// 域
String partNo = inData.getPartNo();// 物料编码
String engChgLevel = inData.getEngChgLevel();// 版本
String bomType = inData.getBomType();// 分类
String alternativeNo = inData.getAlternativeNo(); String alternativeDesc = inData.getAlternativeDesc(); String displayWeightUom = inData.getDisplayWeightUom(); String displayVolumeUom = inData.getDisplayVolumeUom(); String regUnit = inData.getRegUnit(); //判断是否存在问题
String noteText = inData.getNoteText();// 备注
//入参
Map<String, String> inParam = new HashMap<>(); //填充参数
inParam.put("OBJID", ""); inParam.put("OBJVERSION", ""); inParam.put("PART_NO", partNo); // 物料编码
inParam.put("CONTRACT", contract); // 域
inParam.put("ENG_CHG_LEVEL", engChgLevel); // 物料的版本
inParam.put("BOM_TYPE", bomType); // BOM类型
inParam.put("DISPLAY_WEIGHT_UOM", displayWeightUom); //
inParam.put("DISPLAY_VOLUME_UOM", displayVolumeUom); //
//执行PREPARE的操作
Map<String, String> checkMap = IfsPlsqlUtils.execProcedureGetRecord(srv, "RECIPE_STRUCT_ALTERNATE_API", "NEW__", PlsqlBaseMethodType.NEW, PlsqlBaseMethodAction.PREPARE, inParam);
//填充PREPARE返回的参数
inParam.put("STD_SIZE_KG", checkMap.get("STD_SIZE_KG")); //
inParam.put("YIELD", checkMap.get("YIELD")); //
inParam.put("USE_COST_DISTRIBUTION_DB", checkMap.get("USE_COST_DISTRIBUTION_DB")); // 替代编码
inParam.put("REWORK_ALTERNATE_DB", checkMap.get("REWORK_ALTERNATE_DB")); // 替代编码
//添加DO的参数
inParam.put("ALTERNATIVE_NO", alternativeNo); // 替代编码
inParam.put("ALTERNATIVE_DESCRIPTION", alternativeDesc); // 替代编码描述
inParam.put("REG_UNIT", regUnit); //
inParam.put("NOTE_TEXT", noteText); // 备注
//执行do的操作
Map<String, String> resultMap = IfsPlsqlUtils.execProcedureGetRecord(srv, "RECIPE_STRUCT_ALTERNATE_API", "NEW__", PlsqlBaseMethodType.NEW, PlsqlBaseMethodAction.DO, inParam); //返回结果集
return resultMap; }
/** * @description: 修改Recipe Alternative * @author LR * @date 2024/12/11 15:47 * @version 1.0 */ public static Map<String, String> modifyRecipeAlternative(Server srv, RecipeIfsAlternative inData) throws APException { //公共参数
String ifsRowId = inData.getIfsRowId();// 域
String ifsRowVersion = inData.getIfsRowVersion();// 物料编码
String regUnit = inData.getRegUnit(); String alternativeDesc = inData.getAlternativeDesc(); String stdSizeKg = inData.getStdSizeKg(); String noteText = inData.getNoteText();// 备注
//入参
Map<String, String> inParam = new HashMap<>(); //填充参数
inParam.put("OBJID", ifsRowId); inParam.put("OBJVERSION", ifsRowVersion); inParam.put("ALTERNATIVE_DESCRIPTION", alternativeDesc); // 替代编码描述
inParam.put("REG_UNIT", regUnit); //类型
inParam.put("STD_SIZE_KG", stdSizeKg); //
inParam.put("NOTE_TEXT", noteText); // 备注
//执行check的操作
Map<String, String> checkMap = IfsPlsqlUtils.execProcedureGetRecord(srv, "RECIPE_STRUCT_ALTERNATE_API", "MODIFY__", PlsqlBaseMethodType.MODIFY, PlsqlBaseMethodAction.CHECK, inParam); //执行do的操作
Map<String, String> resultMap = IfsPlsqlUtils.execProcedureGetRecord(srv, "RECIPE_STRUCT_ALTERNATE_API", "MODIFY__", PlsqlBaseMethodType.MODIFY, PlsqlBaseMethodAction.DO, inParam); //返回结果集
return resultMap; }
/** * @description: 删除Recipe Alternative * @author LR * @date 2024/12/11 15:51 * @version 1.0 */ public static void removeRecipeAlternative(Server srv, RecipeIfsAlternative inData) throws APException { //公共参数
String ifsRowId = inData.getIfsRowId();// 域
String ifsRowVersion = inData.getIfsRowVersion();// 物料编码
//入参
Map<String, String> inParam = new HashMap<>(); //填充参数
inParam.put("OBJID", ifsRowId); inParam.put("OBJVERSION", ifsRowVersion);
//执行check的操作
Map<String, String> checkMap = IfsPlsqlUtils.execProcedureGetRecord(srv, "RECIPE_STRUCT_ALTERNATE_API", "REMOVE__", PlsqlBaseMethodType.REMOVE, PlsqlBaseMethodAction.CHECK, inParam); //执行do的操作
Map<String, String> resultMap = IfsPlsqlUtils.execProcedureGetRecord(srv, "RECIPE_STRUCT_ALTERNATE_API", "REMOVE__", PlsqlBaseMethodType.REMOVE, PlsqlBaseMethodAction.DO, inParam); }
/** * @description: Build Recipe Alternative * @author LR * @date 2024/12/11 15:53 * @version 1.0 */ public static Map<String, String> buildRecipeAlternative(Server srv, RecipeIfsAlternative inData) throws APException { //公共参数
String ifsRowId = inData.getIfsRowId();// 域
String ifsRowVersion = inData.getIfsRowVersion();// 物料编码
//入参
Map<String, String> inParam = new HashMap<>(); //填充参数
inParam.put("OBJID", ifsRowId); inParam.put("OBJVERSION", ifsRowVersion);
//执行check的操作
Map<String, String> checkMap = IfsPlsqlUtils.execProcedureGetRecord(srv, "RECIPE_STRUCT_ALTERNATE_API", "BUILD__", PlsqlBaseMethodType.MODIFY, PlsqlBaseMethodAction.CHECK, inParam); //执行do的操作
Map<String, String> resultMap = IfsPlsqlUtils.execProcedureGetRecord(srv, "RECIPE_STRUCT_ALTERNATE_API", "BUILD__", PlsqlBaseMethodType.MODIFY, PlsqlBaseMethodAction.DO, inParam); //返回结果集
return resultMap; }
/** * @description: retire Recipe Alternative * @author LR * @date 2024/12/11 15:55 * @version 1.0 */ public static Map<String, String> retireRecipeAlternative(Server srv, RecipeIfsAlternative inData) throws APException { //公共参数
String ifsRowId = inData.getIfsRowId();// 域
String ifsRowVersion = inData.getIfsRowVersion();// 物料编码
//入参
Map<String, String> inParam = new HashMap<>(); //填充参数
inParam.put("OBJID", ifsRowId); inParam.put("OBJVERSION", ifsRowVersion);
//执行check的操作
Map<String, String> checkMap = IfsPlsqlUtils.execProcedureGetRecord(srv, "RECIPE_STRUCT_ALTERNATE_API", "RETIRE__", PlsqlBaseMethodType.MODIFY, PlsqlBaseMethodAction.CHECK, inParam); //执行do的操作
Map<String, String> resultMap = IfsPlsqlUtils.execProcedureGetRecord(srv, "RECIPE_STRUCT_ALTERNATE_API", "RETIRE__", PlsqlBaseMethodType.MODIFY, PlsqlBaseMethodAction.DO, inParam); //返回结果集
return resultMap; }
/** * @description: 获取Recipe Item * @author LR * @date 2024/12/11 16:12 * @version 1.0 */ public static Map<String, String> getRecipeItem(Server srv, String contract, String partNo, String engChgLevel, String bomType, String alternativeNo, String lineItemNo) throws APException { StringBuilder searchSql = new StringBuilder(); searchSql.append("SELECT OBJID ifsRowId, OBJVERSION ifsRowVersion, PART_NO, CONTRACT, ENG_CHG_LEVEL, BOM_TYPE, ALTERNATIVE_NO,"); searchSql.append(" LINE_ITEM_NO, LINE_SEQUENCE, COMPONENT_PART, QTY_PER_ASSEMBLY, ISSUE_TYPE, WEIGHT_SHARE,"); searchSql.append(" COMPONENT_SCRAP, SHRINKAGE_FACTOR"); searchSql.append(" FROM IFSAPP.RECIPE_STRUCTURE"); searchSql.append(" WHERE CONTRACT = :contract AND PART_NO = :partNo AND ENG_CHG_LEVEL = :engChgLevel AND BOM_TYPE = :bomType"); searchSql.append(" AND ALTERNATIVE_NO = :alternativeNo AND LINE_ITEM_NO = :lineItemNo");
//设置查询的入参
Map<String, String> inParam = new HashMap<>(); inParam.put("contract", contract); inParam.put("partNo", partNo); inParam.put("engChgLevel", engChgLevel); inParam.put("bomType", bomType); inParam.put("alternativeNo", alternativeNo); inParam.put("lineItemNo", lineItemNo); //调用查询的通用方法
RecordCollection recordCollection = IfsPlsqlUtils.execSqlSearchGetRecordCollection(srv, searchSql, inParam); //判断能否返回
if (recordCollection == null) { return null; } else { Record recordData = recordCollection.get(0); Map<String, String> resultMap = IfsConverterToMap.ConverterIfsToMap(recordData); return resultMap; } }
/** * @description: 获取Recipe Items * @author LR * @date 2024/12/11 16:16 * @version 1.0 */ public static List<Map<String, String>> getRecipeItems(Server srv, String contract, String partNo, String engChgLevel, String bomType, String alternativeNo) throws APException { StringBuilder searchSql = new StringBuilder(); searchSql.append("SELECT OBJID ifsRowId, OBJVERSION ifsRowVersion, PART_NO, CONTRACT, ENG_CHG_LEVEL, BOM_TYPE, ALTERNATIVE_NO,"); searchSql.append(" LINE_ITEM_NO, LINE_SEQUENCE, COMPONENT_PART, QTY_PER_ASSEMBLY, ISSUE_TYPE, WEIGHT_SHARE,"); searchSql.append(" COMPONENT_SCRAP, SHRINKAGE_FACTOR"); searchSql.append(" FROM IFSAPP.RECIPE_STRUCTURE"); searchSql.append(" WHERE CONTRACT = :contract AND PART_NO = :partNo AND ENG_CHG_LEVEL = :engChgLevel AND BOM_TYPE = :bomType"); searchSql.append(" AND ALTERNATIVE_NO = :alternativeNo");
//设置查询的入参
Map<String, String> inParam = new HashMap<>(); inParam.put("contract", contract); inParam.put("partNo", partNo); inParam.put("engChgLevel", engChgLevel); inParam.put("bomType", bomType); inParam.put("alternativeNo", alternativeNo); //调用查询的通用方法
RecordCollection recordCollection = IfsPlsqlUtils.execSqlSearchGetRecordCollection(srv, searchSql, inParam); //判断能否返回
if (recordCollection == null) { return null; } else { List<Map<String, String>> resultList = IfsConverterToMap.ConverterIfsToList(recordCollection); return resultList; } }
/** * @description: 查询 Recipe Item集合 * @author LR * @date 2024/12/13 9:48 * @version 1.0 */ public static List<RecipeIfsItem> getRecipeItems(Server srv, String contract, String partNo, String engChgLevel, String bomType, String alternativeNo, String lineItemNo) throws APException { StringBuilder searchSql = new StringBuilder(); searchSql.append("SELECT OBJID ifsRowId, OBJVERSION ifsRowVersion, PART_NO, CONTRACT, ENG_CHG_LEVEL, BOM_TYPE, ALTERNATIVE_NO,"); searchSql.append(" LINE_ITEM_NO, LINE_SEQUENCE, COMPONENT_PART, QTY_PER_ASSEMBLY, ISSUE_TYPE, WEIGHT_SHARE,"); searchSql.append(" COMPONENT_SCRAP, SHRINKAGE_FACTOR"); searchSql.append(" FROM IFSAPP.RECIPE_STRUCTURE"); searchSql.append(" WHERE CONTRACT = :contract AND PART_NO = :partNo AND ENG_CHG_LEVEL = :engChgLevel AND BOM_TYPE = :bomType"); searchSql.append(" AND ALTERNATIVE_NO = :alternativeNo");
//设置查询的入参
Map<String, String> inParam = new HashMap<>(); inParam.put("contract", contract); inParam.put("partNo", partNo); inParam.put("engChgLevel", engChgLevel); inParam.put("bomType", bomType); inParam.put("alternativeNo", alternativeNo); //判断是否需要添加查询的条件
if(!(lineItemNo == null || "".equals(lineItemNo))) { inParam.put("lineItemNo", lineItemNo); searchSql.append(" AND LINE_ITEM_NO = :lineItemNo"); } //调用查询的通用方法
RecordCollection recordCollection = IfsPlsqlUtils.execSqlSearchGetRecordCollection(srv, searchSql, inParam); //判断能否返回
if (recordCollection == null) { return new ArrayList<>(); } else { List<RecipeIfsItem> resultItems = new ArrayList<>(); //调用通用的处理方法 返回Map
List<Map<String, String>> resultList = IfsConverterToMap.ConverterIfsToList(recordCollection); //判断是否存在数据
if(resultList == null) { return resultItems; } //获取数据转bean
for (int i = 0; i < resultList.size(); i++) { Map<String, String> tempMap = resultList.get(i); RecipeIfsItem tempItem = new RecipeIfsItem(); //设置参数
tempItem.setIfsRowId(tempMap.get("IFSROWID")); tempItem.setIfsRowVersion(tempMap.get("IFSROWVERSION")); tempItem.setPartNo(tempMap.get("PART_NO")); tempItem.setContract(tempMap.get("CONTRACT")); tempItem.setEngChgLevel(tempMap.get("ENG_CHG_LEVEL")); tempItem.setBomType(tempMap.get("BOM_TYPE")); tempItem.setAlternativeNo(tempMap.get("ALTERNATIVE_NO")); tempItem.setLineItemNo(tempMap.get("LINE_ITEM_NO")); tempItem.setLineSequence(tempMap.get("LINE_SEQUENCE")); tempItem.setComponentPart(tempMap.get("COMPONENT_PART")); tempItem.setQtyPerAssembly(tempMap.get("QTY_PER_ASSEMBLY")); tempItem.setIssueType(tempMap.get("ISSUE_TYPE")); tempItem.setComponentScrap(tempMap.get("COMPONENT_SCRAP")); tempItem.setShrinkageFactor(tempMap.get("SHRINKAGE_FACTOR")); //添加对象
resultItems.add(tempItem); } return resultItems; } }
/** * @description: 插入Recipe Item * @author LR * @date 2024/12/11 16:17 * @version 1.0 */ public static Map<String, String> insertRecipeItem(Server srv, RecipeIfsItem inData) throws APException { //公共参数
String contract = inData.getContract(); String partNo = inData.getPartNo();// 物料编码
String engChgLevel = inData.getEngChgLevel();// 版本
String bomType = inData.getBomType();// 分类
String alternativeNo = inData.getAlternativeNo(); String lineItemNo = inData.getLineItemNo(); String lineSequence = inData.getLineSequence(); String componentPart = inData.getComponentPart();//
String weightShare = inData.getWeightShare(); String partsByWeight = inData.getPartsByWeight(); String qtyUom = inData.getQtyUom(); String qtyPerAssembly = inData.getQtyPerAssembly(); String componentScrap = inData.getComponentScrap(); String issueType = inData.getIssueType(); String issuePlannedScrapDb = inData.getIssuePlannedScrapDb(); String issueOverreportedQtyDb = inData.getIssueOverreportedQtyDb(); String fixedQtyFlag = inData.getFixedQtyFlag(); String promisePlanned = inData.getPromisePlanned(); String phantomConsume = inData.getPhantomConsume(); String consumptionItem = inData.getConsumptionItem(); String operCostDistribution = inData.getOperCostDistribution(); String genOhCostDistribution = inData.getGenOhCostDistribution(); String qtyKg = inData.getQtyKg(); String byProdAsSupplyInMrpDb = inData.getByProdAsSupplyInMrpDb(); String leadtimeOffset = inData.getLeadtimeOffset(); String stdPlannedItem = inData.getStdPlannedItem(); String chargedItem = inData.getChargedItem(); String createDate = DateUtils.getStringDate(new Date(), "yyyy-MM-dd")+"-00.00.00"; String lastActivityDate = DateUtils.getStringDate(new Date(), "yyyy-MM-dd")+"-00.00.00"; String excludeFromCalculationsDb = inData.getExcludeFromCalculationsDb(); String excludeFromAsBuiltDb = inData.getExcludeFromAsBuiltDb(); String shrinkageFactor = inData.getShrinkageFactor(); String lotBatchOriginDb = inData.getLotBatchOriginDb(); String noteText = inData.getNoteText(); //入参
Map<String, String> inParam = new HashMap<>(); //填充参数
inParam.put("OBJID", ""); inParam.put("OBJVERSION", ""); inParam.put("CONTRACT", contract); // 域
inParam.put("PART_NO", partNo); // 物料编码
inParam.put("ENG_CHG_LEVEL", engChgLevel); // 物料的版本
inParam.put("BOM_TYPE", bomType); // BOM类型
inParam.put("ALTERNATIVE_NO", alternativeNo); // 替代编码
inParam.put("LINE_ITEM_NO", lineItemNo); // 行号
inParam.put("LINE_SEQUENCE", lineSequence); // 序号
inParam.put("COMPONENT_PART", componentPart); // 子零件
inParam.put("QTY_PER_ASSEMBLY", qtyPerAssembly); // 单位用量
inParam.put("ISSUE_TYPE", issueType); // 域
inParam.put("COMPONENT_SCRAP", componentScrap); // 报废
inParam.put("WEIGHT_SHARE", weightShare); // 损耗率
inParam.put("PARTS_BY_WEIGHT", partsByWeight); // 备注
inParam.put("QTY_UOM", qtyUom); //
inParam.put("ISSUE_PLANNED_SCRAP_DB", issuePlannedScrapDb); //
inParam.put("ISSUE_OVERREPORTED_QTY_DB", issueOverreportedQtyDb); //
inParam.put("FIXED_QTY_FLAG", fixedQtyFlag); //
inParam.put("PROMISE_PLANNED", promisePlanned); //
inParam.put("PHANTOM_CONSUME", phantomConsume); //
inParam.put("CONSUMPTION_ITEM", consumptionItem); //
inParam.put("OPER_COST_DISTRIBUTION", operCostDistribution); //
inParam.put("GEN_OH_COST_DISTRIBUTION", genOhCostDistribution); //
inParam.put("QTY_KG", qtyKg); //
inParam.put("BY_PROD_AS_SUPPLY_IN_MRP_DB", byProdAsSupplyInMrpDb); //
inParam.put("LEADTIME_OFFSET", leadtimeOffset); //
inParam.put("STD_PLANNED_ITEM", stdPlannedItem); // 固定值
inParam.put("CHARGED_ITEM", chargedItem); //
inParam.put("EXCLUDE_FROM_CALCULATIONS_DB", excludeFromCalculationsDb); //
inParam.put("EXCLUDE_FROM_AS_BUILT_DB", excludeFromAsBuiltDb); //
inParam.put("SHRINKAGE_FACTOR", shrinkageFactor); //
inParam.put("LOT_BATCH_ORIGIN_DB", lotBatchOriginDb); //
inParam.put("CREATE_DATE", createDate); // 创建时间
inParam.put("LAST_ACTIVITY_DATE", lastActivityDate); // 最近更新时间
inParam.put("NOTE_TEXT", noteText); // 备注
//执行check的操作
Map<String, String> checkMap = IfsPlsqlUtils.execProcedureGetRecord(srv, "RECIPE_STRUCTURE_API", "NEW__", PlsqlBaseMethodType.NEW, PlsqlBaseMethodAction.CHECK, inParam); //执行do的操作
Map<String, String> resultMap = IfsPlsqlUtils.execProcedureGetRecord(srv, "RECIPE_STRUCTURE_API", "NEW__", PlsqlBaseMethodType.NEW, PlsqlBaseMethodAction.DO, inParam); //返回结果集
return resultMap; }
/** * @description: 修改 Recipe Item * @author LR * @date 2024/12/11 16:22 * @version 1.0 */ public static Map<String, String> modifyRecipeItem(Server srv, RecipeIfsItem inData) throws APException { //公共参数
String ifsRowId = inData.getIfsRowId();//
String ifsRowVersion = inData.getIfsRowVersion();//
String lineItemNo = inData.getLineItemNo(); String lineSequence = inData.getLineSequence(); String componentPart = inData.getComponentPart();//
String weightShare = inData.getWeightShare(); String partsByWeight = inData.getPartsByWeight(); String qtyUom = inData.getQtyUom(); String qtyPerAssembly = inData.getQtyPerAssembly(); String componentScrap = inData.getComponentScrap(); String issueType = inData.getIssueType(); String issuePlannedScrapDb = inData.getIssuePlannedScrapDb(); String issueOverreportedQtyDb = inData.getIssueOverreportedQtyDb(); String fixedQtyFlag = inData.getFixedQtyFlag(); String promisePlanned = inData.getPromisePlanned(); String phantomConsume = inData.getPhantomConsume(); String consumptionItem = inData.getConsumptionItem(); String operCostDistribution = inData.getOperCostDistribution(); String genOhCostDistribution = inData.getGenOhCostDistribution(); String qtyKg = inData.getQtyKg(); String byProdAsSupplyInMrpDb = inData.getByProdAsSupplyInMrpDb(); String leadtimeOffset = inData.getLeadtimeOffset(); String stdPlannedItem = inData.getStdPlannedItem(); String chargedItem = inData.getChargedItem(); String lastActivityDate = DateUtils.getStringDate(new Date(), "yyyy-MM-dd")+"-00.00.00"; String excludeFromCalculationsDb = inData.getExcludeFromCalculationsDb(); String excludeFromAsBuiltDb = inData.getExcludeFromAsBuiltDb(); String shrinkageFactor = inData.getShrinkageFactor(); String lotBatchOriginDb = inData.getLotBatchOriginDb(); //入参
Map<String, String> inParam = new HashMap<>(); //填充参数
inParam.put("OBJID", ifsRowId); inParam.put("OBJVERSION", ifsRowVersion); inParam.put("LINE_ITEM_NO", lineItemNo); // 行号
inParam.put("LINE_SEQUENCE", lineSequence); // 序号
inParam.put("COMPONENT_PART", componentPart); // 子零件
inParam.put("QTY_PER_ASSEMBLY", qtyPerAssembly); // 单位用量
inParam.put("ISSUE_TYPE", issueType); // 域
inParam.put("COMPONENT_SCRAP", componentScrap); // 报废
inParam.put("WEIGHT_SHARE", weightShare); // 损耗率
inParam.put("PARTS_BY_WEIGHT", partsByWeight); // 备注
inParam.put("QTY_UOM", qtyUom); //
inParam.put("ISSUE_PLANNED_SCRAP_DB", issuePlannedScrapDb); //
inParam.put("ISSUE_OVERREPORTED_QTY_DB", issueOverreportedQtyDb); //
inParam.put("FIXED_QTY_FLAG", fixedQtyFlag); //
inParam.put("PROMISE_PLANNED", promisePlanned); //
inParam.put("PHANTOM_CONSUME", phantomConsume); //
inParam.put("CONSUMPTION_ITEM", consumptionItem); //
inParam.put("OPER_COST_DISTRIBUTION", operCostDistribution); //
inParam.put("GEN_OH_COST_DISTRIBUTION", genOhCostDistribution); //
inParam.put("QTY_KG", qtyKg); //
inParam.put("BY_PROD_AS_SUPPLY_IN_MRP_DB", byProdAsSupplyInMrpDb); //
inParam.put("LEADTIME_OFFSET", leadtimeOffset); //
inParam.put("STD_PLANNED_ITEM", stdPlannedItem); // 固定值
inParam.put("CHARGED_ITEM", chargedItem); //
inParam.put("EXCLUDE_FROM_CALCULATIONS_DB", excludeFromCalculationsDb); //
inParam.put("EXCLUDE_FROM_AS_BUILT_DB", excludeFromAsBuiltDb); //
inParam.put("SHRINKAGE_FACTOR", shrinkageFactor); //
inParam.put("LOT_BATCH_ORIGIN_DB", lotBatchOriginDb); //
inParam.put("LAST_ACTIVITY_DATE", lastActivityDate); // 最近更新时间
//执行check的操作
Map<String, String> checkMap = IfsPlsqlUtils.execProcedureGetRecord(srv, "RECIPE_STRUCTURE_API", "MODIFY__", PlsqlBaseMethodType.MODIFY, PlsqlBaseMethodAction.CHECK, inParam); //执行do的操作
Map<String, String> resultMap = IfsPlsqlUtils.execProcedureGetRecord(srv, "RECIPE_STRUCTURE_API", "MODIFY__", PlsqlBaseMethodType.MODIFY, PlsqlBaseMethodAction.DO, inParam); //返回结果集
return resultMap; }
/** * @description: 删除 Recipe Item * @author LR * @date 2024/12/11 16:24 * @version 1.0 */ public static void removeRecipeItem(Server srv, RecipeIfsItem inData) throws APException { //公共参数
//公共参数
String ifsRowId = inData.getIfsRowId();//
String ifsRowVersion = inData.getIfsRowVersion();//
//入参
Map<String, String> inParam = new HashMap<>(); //填充参数
inParam.put("OBJID", ifsRowId); inParam.put("OBJVERSION", ifsRowVersion);
//执行check的操作
Map<String, String> checkMap = IfsPlsqlUtils.execProcedureGetRecord(srv, "RECIPE_STRUCTURE_API", "REMOVE__", PlsqlBaseMethodType.REMOVE, PlsqlBaseMethodAction.CHECK, inParam); //执行do的操作
Map<String, String> resultMap = IfsPlsqlUtils.execProcedureGetRecord(srv, "RECIPE_STRUCTURE_API", "REMOVE__", PlsqlBaseMethodType.REMOVE, PlsqlBaseMethodAction.DO, inParam); }
}
|