You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
211 lines
8.0 KiB
211 lines
8.0 KiB
package com.spring.ifs.bean;
|
|
|
|
import com.alibaba.fastjson.JSON;
|
|
import com.spring.ifs.api.IfsServer;
|
|
import com.spring.ifs.api.MasterPartApi;
|
|
import com.spring.ifs.api.TechnicalClassApi;
|
|
import com.spring.modules.base.utils.DateUtils;
|
|
import com.spring.modules.part.entity.APIEntity.PartIfsCatalog;
|
|
import com.spring.modules.part.entity.APIEntity.PartIfsCatalogModel;
|
|
import ifs.fnd.ap.APException;
|
|
import ifs.fnd.ap.Server;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Component;
|
|
|
|
import java.util.Date;
|
|
import java.util.HashMap;
|
|
import java.util.Map;
|
|
|
|
/**
|
|
* @description: 物料件的实现类
|
|
* @author LR
|
|
* @date 2024/12/9 11:49
|
|
* @version 1.0
|
|
*/
|
|
@Component
|
|
public class MasterServiceBean {
|
|
|
|
@Autowired
|
|
private IfsServer ifsServer;
|
|
private static final Logger logger = LoggerFactory.getLogger(MasterServiceBean.class);
|
|
|
|
/**
|
|
* @description: 查询物料件的信息
|
|
* @author LR
|
|
* @date 2024/12/9 13:28
|
|
* @version 1.0
|
|
*/
|
|
public Map<String, String> getMasterPart(Server srv, PartIfsCatalog inData) {
|
|
//公共参数
|
|
Map<String, String> returnMap = new HashMap<>();
|
|
String partNo = inData.getPartNo();
|
|
try {
|
|
//获取参数
|
|
Map<String, String> resultMap = MasterPartApi.getMasterPart(srv, partNo);
|
|
//判断是否存在
|
|
if (null == resultMap) {
|
|
throw new APException("当前物料件不存在!");
|
|
} else {
|
|
//设置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("异常信息:"+e.getMessage());
|
|
}
|
|
return returnMap;
|
|
}
|
|
|
|
/**
|
|
* @description: master part 新增
|
|
* @author LR
|
|
* @date 2024/12/12 15:33
|
|
* @version 1.0
|
|
*/
|
|
public Map<String, String> syncPartCatalog(Server srv, PartIfsCatalog inData) {
|
|
logger.info("Part Catalog 新增开始:"+ JSON.toJSONString(inData));
|
|
//公共参数
|
|
Map<String, String> returnMap = new HashMap<>();
|
|
String partNo = inData.getPartNo();
|
|
try{
|
|
Map<String, String> partMap = MasterPartApi.getMasterPart(srv, partNo);
|
|
//判断是否需要插入到ifs
|
|
if(partMap == null || partMap.isEmpty()) {
|
|
Map<String, String> resultMap = MasterPartApi.insertMasterPart(srv, inData);
|
|
//设置ifs 信息
|
|
inData.setIfsRowId(resultMap.get("OBJID"));
|
|
inData.setIfsRowVersion(resultMap.get("OBJVERSION"));
|
|
}else {
|
|
throw new APException("物料件已存在!");
|
|
}
|
|
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("Part Catalog 新增结束:"+JSON.toJSONString(inData));
|
|
//返回结果集
|
|
return returnMap;
|
|
}
|
|
|
|
/**
|
|
* @description: 调用修改的方法
|
|
* @author LR
|
|
* @date 2024/12/12 15:40
|
|
* @version 1.0
|
|
*/
|
|
public Map<String, String> modifyPartCatalog(Server srv, PartIfsCatalog inData) {
|
|
logger.info("Part Catalog 修改开始:"+JSON.toJSONString(inData));
|
|
//公共参数
|
|
Map<String, String> returnMap = new HashMap<>();
|
|
String partNo = inData.getPartNo();
|
|
try {
|
|
//查询数据
|
|
Map<String, String> partMap = MasterPartApi.getMasterPart(srv, partNo);
|
|
//判断是否需要插入到ifs
|
|
if (partMap == null || partMap.isEmpty()) {
|
|
throw new APException("物料件不存在!");
|
|
} else {
|
|
//设置ifs 信息
|
|
inData.setIfsRowId(partMap.get("IFSROWID"));
|
|
inData.setIfsRowVersion(partMap.get("IFSROWVERSION"));
|
|
Map<String, String> resultMap = MasterPartApi.modifyMasterPart(srv, inData);
|
|
//处理基数等级的业务方法
|
|
this.processPartCatalogTechnicalClass(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("异常信息:"+e.getMessage());
|
|
}
|
|
logger.info("Part Catalog 修改结束:"+JSON.toJSONString(inData));
|
|
//返回结果集
|
|
return returnMap;
|
|
}
|
|
|
|
/**
|
|
* @description: 处理基数等级的业务方法
|
|
* @author LR
|
|
* @date 2024/12/12 15:40
|
|
* @version 1.0
|
|
*/
|
|
public void processPartCatalogTechnicalClass(Server srv, PartIfsCatalog inData) throws APException {
|
|
//拼装技术等级的属性数据
|
|
String partNo = inData.getPartNo();
|
|
String luName = "PartCatalog";
|
|
String keyRef = "PART_NO=" + partNo + "^";
|
|
String technicalClass = inData.getTechnicalClass();
|
|
PartIfsCatalogModel technical = new PartIfsCatalogModel();
|
|
technical.setLuName(luName);
|
|
technical.setKeyRef(keyRef);
|
|
//查询当前技术等级的数据
|
|
Map<String, String> technicalMap = TechnicalClassApi.getTechnicalClass(srv, "PART_CATALOG", "PART_NO=" + partNo + "^");
|
|
//设置IFS系统的参数
|
|
technical.setTechnicalClass(technicalClass);
|
|
technical.setDtOk(DateUtils.getStringDate(new Date(), "yyyy-MM-dd"));
|
|
technical.setOkSign(inData.getIfsUsername()); //判断是否已经存在当前数据
|
|
if (null == technicalMap){
|
|
//判断技术等级是否需要新增
|
|
if (StringUtils.isNotBlank(technicalClass)){
|
|
//设置同步的属性
|
|
technical.setTechnicalSpecNo("");
|
|
TechnicalClassApi.insertTechnicalClass(srv, technical);
|
|
}
|
|
}else {
|
|
//直接调用修改的接口
|
|
technical.setTechnicalSpecNo(technicalMap.get("TECHNICAL_SPEC_NO"));
|
|
TechnicalClassApi.modifyTechnicalClass(srv, technical);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* @description: 调用删除的方法
|
|
* @author LR
|
|
* @date 2024/12/12 15:40
|
|
* @version 1.0
|
|
*/
|
|
public Map<String, String> removePartCatalog(Server srv, PartIfsCatalog inData) {
|
|
logger.info("Part Catalog 删除开始:"+JSON.toJSONString(inData));
|
|
//公共参数
|
|
Map<String, String> returnMap = new HashMap<>();
|
|
String partNo = inData.getPartNo();
|
|
//查询数据
|
|
try{
|
|
Map<String, String> partMap = MasterPartApi.getMasterPart(srv, partNo);
|
|
//判断是否需要插入到ifs
|
|
if(partMap == null || partMap.isEmpty()) {
|
|
throw new APException("物料件不存在!");
|
|
}else {
|
|
//设置ifs 信息
|
|
inData.setIfsRowId(partMap.get("IFSROWID"));
|
|
inData.setIfsRowVersion(partMap.get("IFSROWVERSION"));
|
|
MasterPartApi.removeMasterPart(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("Part Catalog 删除结束:"+JSON.toJSONString(inData));
|
|
//返回结果集
|
|
return returnMap;
|
|
}
|
|
|
|
|
|
}
|