2 Commits

  1. 55
      src/main/java/com/spring/ifs/api/BomApi.java
  2. 54
      src/main/java/com/spring/ifs/api/RecipeApi.java
  3. 28
      src/main/java/com/spring/ifs/bean/BomServiceBean.java
  4. 32
      src/main/java/com/spring/ifs/bean/RecipeServiceBean.java
  5. 175
      src/main/java/com/spring/ifs/data/CopyBomStructureData.java

55
src/main/java/com/spring/ifs/api/BomApi.java

@ -909,5 +909,58 @@ public class BomApi {
} }
/**
* @description: 执行Bom 结构的赋值操作
* @author LR
* @date 2026/3/30 17:01
* @version 1.0
*/
public static Map<String, String> copyBomStructure(Server srv, CopyBomStructureData inData) throws APException {
//公共参数
String fromContract = inData.getFromContract();
String fromPartNo = inData.getFromPartNo();
String fromEngChgLevel = inData.getFromEngChgLevel();
String fromBomType = inData.getFromBomType();
String fromAlternativeNo = inData.getFromAlternativeNo();
String toContract = inData.getToContract();
String toPartNo = inData.getToPartNo();
String toEngChgLevel = inData.getToEngChgLevel();
String toBomType = inData.getToBomType();
String toAlternativeNo = inData.getToAlternativeNo();
String toEffPhaseInDate= inData.getToEffPhaseInDate();
String toEffPhaseOutDate = inData.getToEffPhaseOutDate();
String copyAttachDocuments = inData.getCopyAttachDocuments();
String copyMro = inData.getCopyMro();
String copyAltStatus = inData.getCopyAltStatus();
String copyForReplace = inData.getCopyForReplace();
//入参
List<IfsParamBean> inParams = new ArrayList<>();
List<IfsParamBean> outParams = new ArrayList<>();
//设置入参和出参
inParams.add(new IfsParamBean("FROM_PART_NO", "TEXT", fromPartNo));
inParams.add(new IfsParamBean("FROM_CONTRACT", "TEXT", fromContract));
inParams.add(new IfsParamBean("FROM_ENG_CHG_LEVEL", "TEXT", fromEngChgLevel));
inParams.add(new IfsParamBean("FROM_BOM_TYPE", "TEXT", fromBomType));
inParams.add(new IfsParamBean("FROM_ALTERNATIVE_NO", "TEXT", fromAlternativeNo));
//To 入参
inParams.add(new IfsParamBean("TO_PART_NO", "TEXT", toPartNo));
inParams.add(new IfsParamBean("TO_CONTRACT", "TEXT", toContract));
inParams.add(new IfsParamBean("TO_ENG_CHG_LEVEL", "TEXT", toEngChgLevel));
inParams.add(new IfsParamBean("TO_BOM_TYPE", "TEXT", toBomType));
inParams.add(new IfsParamBean("TO_ALTERNATIVE_NO", "TEXT", toAlternativeNo));
inParams.add(new IfsParamBean("TO_EFF_PHASE_IN_DATE", "TEXT", toEffPhaseInDate));
inParams.add(new IfsParamBean("TO_EFF_PHASE_OUT_DATE", "TEXT", toEffPhaseOutDate));
inParams.add(new IfsParamBean("COPY_ATTACH_DOCUMENTS", "TEXT", copyAttachDocuments));
inParams.add(new IfsParamBean("COPY_MRO", "TEXT", copyMro));
inParams.add(new IfsParamBean("COPY_ALT_STATUS", "TEXT", "0"));
inParams.add(new IfsParamBean("COPY_FOR_REPLACE", "TEXT", "FALSE"));
//out canshu
outParams.add(new IfsParamBean("INFO", "TEXT", ""));
//执行Do的操作
Map<String, String> resultMap = IfsPlsqlUtils.execProcedureGetRecord(srv, "Manuf_Structure_Util_API",
"Copy_Manuf_Alternate", inParams, outParams);
//返回结果集
return resultMap;
}
} }

54
src/main/java/com/spring/ifs/api/RecipeApi.java

@ -1,5 +1,7 @@
package com.spring.ifs.api; package com.spring.ifs.api;
import com.spring.ifs.data.CopyBomStructureData;
import com.spring.ifs.data.IfsParamBean;
import com.spring.ifs.utils.IfsConverterToMap; import com.spring.ifs.utils.IfsConverterToMap;
import com.spring.ifs.utils.IfsPlsqlUtils; import com.spring.ifs.utils.IfsPlsqlUtils;
import com.spring.modules.base.utils.DateUtils; import com.spring.modules.base.utils.DateUtils;
@ -697,4 +699,56 @@ public class RecipeApi {
"REMOVE__", PlsqlBaseMethodType.REMOVE, PlsqlBaseMethodAction.DO, inParam); "REMOVE__", PlsqlBaseMethodType.REMOVE, PlsqlBaseMethodAction.DO, inParam);
} }
/**
* @description: 拷贝配方的结构
* @author LR
* @date 2026/3/30 17:31
* @version 1.0
*/
public static Map<String, String> copyRecipeStructure(Server srv, CopyBomStructureData inData) throws APException {
//公共参数
String fromContract = inData.getFromContract();
String fromPartNo = inData.getFromPartNo();
String fromEngChgLevel = inData.getFromEngChgLevel();
String fromBomType = inData.getFromBomType();
String fromAlternativeNo = inData.getFromAlternativeNo();
String toContract = inData.getToContract();
String toPartNo = inData.getToPartNo();
String toEngChgLevel = inData.getToEngChgLevel();
String toBomType = inData.getToBomType();
String toAlternativeNo = inData.getToAlternativeNo();
String toEffPhaseInDate= inData.getToEffPhaseInDate();
String toEffPhaseOutDate = inData.getToEffPhaseOutDate();
String copyAttachDocuments = inData.getCopyAttachDocuments();
//入参
//填充参数
List<IfsParamBean> inParams = new ArrayList<>();
List<IfsParamBean> outParams = new ArrayList<>();
//设置入参和出参
inParams.add(new IfsParamBean("FROM_PART_NO", "TEXT", fromPartNo));
inParams.add(new IfsParamBean("FROM_CONTRACT", "TEXT", fromContract));
inParams.add(new IfsParamBean("FROM_ENG_CHG_LEVEL", "TEXT", fromEngChgLevel));
inParams.add(new IfsParamBean("FROM_BOM_TYPE", "TEXT", fromBomType));
inParams.add(new IfsParamBean("FROM_ALTERNATIVE_NO", "TEXT", fromAlternativeNo));
//To 入参
inParams.add(new IfsParamBean("TO_PART_NO", "TEXT", toPartNo));
inParams.add(new IfsParamBean("TO_CONTRACT", "TEXT", toContract));
inParams.add(new IfsParamBean("TO_ENG_CHG_LEVEL", "TEXT", toEngChgLevel));
inParams.add(new IfsParamBean("TO_BOM_TYPE", "TEXT", toBomType));
inParams.add(new IfsParamBean("TO_ALTERNATIVE_NO", "TEXT", toAlternativeNo));
inParams.add(new IfsParamBean("TO_EFF_PHASE_IN_DATE", "TEXT", toEffPhaseInDate));
inParams.add(new IfsParamBean("TO_EFF_PHASE_OUT_DATE", "TEXT", toEffPhaseOutDate));
inParams.add(new IfsParamBean("COPY_ATTACH_DOCUMENTS", "TEXT", copyAttachDocuments));
inParams.add(new IfsParamBean("COPY_MRO", "TEXT", "0"));
inParams.add(new IfsParamBean("COPY_ALT_STATUS", "TEXT", "0"));
inParams.add(new IfsParamBean("COPY_FOR_REPLACE", "TEXT", "FALSE"));
//out canshu
outParams.add(new IfsParamBean("INFO", "TEXT", ""));
//执行Do的操作
Map<String, String> resultMap = IfsPlsqlUtils.execProcedureGetRecord(srv, "Manuf_Structure_Util_API",
"Copy_Manuf_Alternate", inParams, outParams);
//返回结果集
return resultMap;
}
} }

28
src/main/java/com/spring/ifs/bean/BomServiceBean.java

@ -3,6 +3,7 @@ package com.spring.ifs.bean;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.spring.ifs.api.BomApi; import com.spring.ifs.api.BomApi;
import com.spring.ifs.api.IfsServer; import com.spring.ifs.api.IfsServer;
import com.spring.ifs.data.CopyBomStructureData;
import com.spring.modules.part.entity.APIEntity.BomIfsAlternative; import com.spring.modules.part.entity.APIEntity.BomIfsAlternative;
import com.spring.modules.part.entity.APIEntity.BomIfsHeader; import com.spring.modules.part.entity.APIEntity.BomIfsHeader;
import com.spring.modules.part.entity.APIEntity.BomIfsItem; import com.spring.modules.part.entity.APIEntity.BomIfsItem;
@ -829,6 +830,33 @@ public class BomServiceBean {
return returnMap; return returnMap;
} }
/**
* @description: 拷贝Bom的层级结构
* @author LR
* @date 2026/3/31 09:04
* @version 1.0
*/
public Map<String, String> copyBomStructure(Server srv, CopyBomStructureData inData) {
logger.info("Bom Copy:"+JSON.toJSONString(inData));
//查询的参数
Map<String, String> returnMap = new HashMap<>();
try{
//调用api
Map<String, String> resultMap = BomApi.copyBomStructure(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("异常信息:"+e.getMessage());
}
//打印日志
logger.info("Bom Copy结束:"+JSON.toJSONString(inData));
//返回结果集
return returnMap;
}
} }

32
src/main/java/com/spring/ifs/bean/RecipeServiceBean.java

@ -3,6 +3,7 @@ package com.spring.ifs.bean;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.spring.ifs.api.IfsServer; import com.spring.ifs.api.IfsServer;
import com.spring.ifs.api.RecipeApi; import com.spring.ifs.api.RecipeApi;
import com.spring.ifs.data.CopyBomStructureData;
import com.spring.modules.part.entity.APIEntity.RecipeIfsAlternative; import com.spring.modules.part.entity.APIEntity.RecipeIfsAlternative;
import com.spring.modules.part.entity.APIEntity.RecipeIfsHeader; import com.spring.modules.part.entity.APIEntity.RecipeIfsHeader;
import com.spring.modules.part.entity.APIEntity.RecipeIfsItem; import com.spring.modules.part.entity.APIEntity.RecipeIfsItem;
@ -765,4 +766,35 @@ public class RecipeServiceBean {
return returnMap; return returnMap;
} }
/**
* @description: 拷贝 配方的结构信息
* @author LR
* @date 2026/3/30 17:30
* @version 1.0
*/
public Map<String, String> copyRecipeStructure(Server srv, CopyBomStructureData inData) {
// 记录日志开始删除过程
logger.info("Recipe Copy开始:" + JSON.toJSONString(inData));
// 公共参数
Map<String, String> returnMap = new HashMap<>();
try {
// 调用API删除项目
RecipeApi.copyRecipeStructure(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("异常信息:"+e.getMessage());
}
// 打印日志结束删除过程
logger.info("Recipe Copy结束:" + JSON.toJSONString(inData));
// 返回结果集
return returnMap;
}
} }

175
src/main/java/com/spring/ifs/data/CopyBomStructureData.java

@ -0,0 +1,175 @@
package com.spring.ifs.data;
/**
* @author LR
* @version 1.0
* @description: copy Bom recipe 使用
* @date 2026/3/30 16:30
*/
public class CopyBomStructureData {
private String fromContract;
private String fromPartNo;
private String fromEngChgLevel;
private String fromBomType;
private String fromAlternativeNo;
private String toContract;
private String toPartNo;
private String toEngChgLevel;
private String toBomType;
private String toAlternativeNo;
private String toEffPhaseInDate;
private String toEffPhaseOutDate;
private String copyAttachDocuments;
private String copyMro;
private String copyAltStatus;
private String copyForReplace;
private String ifsUsername;
private String ifsPassword;
public CopyBomStructureData() {
}
public String getFromContract() {
return fromContract;
}
public void setFromContract(String fromContract) {
this.fromContract = fromContract;
}
public String getFromPartNo() {
return fromPartNo;
}
public void setFromPartNo(String fromPartNo) {
this.fromPartNo = fromPartNo;
}
public String getFromEngChgLevel() {
return fromEngChgLevel;
}
public void setFromEngChgLevel(String fromEngChgLevel) {
this.fromEngChgLevel = fromEngChgLevel;
}
public String getFromBomType() {
return fromBomType;
}
public void setFromBomType(String fromBomType) {
this.fromBomType = fromBomType;
}
public String getFromAlternativeNo() {
return fromAlternativeNo;
}
public void setFromAlternativeNo(String fromAlternativeNo) {
this.fromAlternativeNo = fromAlternativeNo;
}
public String getToContract() {
return toContract;
}
public void setToContract(String toContract) {
this.toContract = toContract;
}
public String getToPartNo() {
return toPartNo;
}
public void setToPartNo(String toPartNo) {
this.toPartNo = toPartNo;
}
public String getToEngChgLevel() {
return toEngChgLevel;
}
public void setToEngChgLevel(String toEngChgLevel) {
this.toEngChgLevel = toEngChgLevel;
}
public String getToBomType() {
return toBomType;
}
public void setToBomType(String toBomType) {
this.toBomType = toBomType;
}
public String getToAlternativeNo() {
return toAlternativeNo;
}
public void setToAlternativeNo(String toAlternativeNo) {
this.toAlternativeNo = toAlternativeNo;
}
public String getToEffPhaseInDate() {
return toEffPhaseInDate;
}
public void setToEffPhaseInDate(String toEffPhaseInDate) {
this.toEffPhaseInDate = toEffPhaseInDate;
}
public String getToEffPhaseOutDate() {
return toEffPhaseOutDate;
}
public void setToEffPhaseOutDate(String toEffPhaseOutDate) {
this.toEffPhaseOutDate = toEffPhaseOutDate;
}
public String getCopyAttachDocuments() {
return copyAttachDocuments;
}
public void setCopyAttachDocuments(String copyAttachDocuments) {
this.copyAttachDocuments = copyAttachDocuments;
}
public String getCopyMro() {
return copyMro;
}
public void setCopyMro(String copyMro) {
this.copyMro = copyMro;
}
public String getCopyAltStatus() {
return copyAltStatus;
}
public void setCopyAltStatus(String copyAltStatus) {
this.copyAltStatus = copyAltStatus;
}
public String getCopyForReplace() {
return copyForReplace;
}
public void setCopyForReplace(String copyForReplace) {
this.copyForReplace = copyForReplace;
}
public String getIfsUsername() {
return ifsUsername;
}
public void setIfsUsername(String ifsUsername) {
this.ifsUsername = ifsUsername;
}
public String getIfsPassword() {
return ifsPassword;
}
public void setIfsPassword(String ifsPassword) {
this.ifsPassword = ifsPassword;
}
}
Loading…
Cancel
Save