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.modules.part.entity.APIEntity.PartIfsCatalog; 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.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 getMasterPart(Server srv, PartIfsCatalog inData) { //公共参数 Map returnMap = new HashMap<>(); String partNo = inData.getPartNo(); try { //获取参数 Map resultMap = MasterPartApi.getMasterPart(srv, partNo); //判断是否存在 if (null == resultMap) { throw new RuntimeException("当前物料件不存在!"); } else { //设置IFS信息 //设置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()); } return returnMap; } /** * @description: master part 新增 * @author LR * @date 2024/12/12 15:33 * @version 1.0 */ public Map syncPartCatalog(Server srv, PartIfsCatalog inData) { logger.info("Part Catalog 新增开始:"+ JSON.toJSONString(inData)); //公共参数 Map returnMap = new HashMap<>(); String partNo = inData.getPartNo(); try{ Map partMap = MasterPartApi.getMasterPart(srv, partNo); //判断是否需要插入到ifs if(partMap == null || partMap.size() == 0) { Map resultMap = MasterPartApi.insertMasterPart(srv, inData); //设置ifs 信息 inData.setIfsRowId(resultMap.get("OBJID")); inData.setIfsRowVersion(resultMap.get("OBJVERSION")); }else { throw new RuntimeException("物料件已存在!"); } returnMap.put("resultCode", "200"); returnMap.put("obj", JSON.toJSONString(inData)); } catch(APException e){ returnMap.put("resultCode", "400"); returnMap.put("resultMsg", 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 modifyPartCatalog(Server srv, PartIfsCatalog inData) { logger.info("Part Catalog 修改开始:"+JSON.toJSONString(inData)); //公共参数 Map returnMap = new HashMap<>(); String partNo = inData.getPartNo(); try { //查询数据 Map partMap = MasterPartApi.getMasterPart(srv, partNo); //判断是否需要插入到ifs if (partMap == null && partMap.size() == 0) { throw new RuntimeException("物料件不存在!"); } else { //设置ifs 信息 inData.setIfsRowId(partMap.get("IFSROWID")); inData.setIfsRowVersion(partMap.get("IFSROWVERSION")); Map resultMap = MasterPartApi.modifyMasterPart(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("Part Catalog 修改结束:"+JSON.toJSONString(inData)); //返回结果集 return returnMap; } /** * @description: 调用删除的方法 * @author LR * @date 2024/12/12 15:40 * @version 1.0 */ public Map removePartCatalog(Server srv, PartIfsCatalog inData) { logger.info("Part Catalog 删除开始:"+JSON.toJSONString(inData)); //公共参数 Map returnMap = new HashMap<>(); String partNo = inData.getPartNo(); //查询数据 try{ Map partMap = MasterPartApi.getMasterPart(srv, partNo); //判断是否需要插入到ifs if(partMap == null && partMap.size() == 0) { throw new RuntimeException("物料件不存在!"); }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("Part Catalog 删除结束:"+JSON.toJSONString(inData)); //返回结果集 return returnMap; } }