Browse Source

ifs jar代码提交

master
Rui_Li 1 year ago
parent
commit
6b5e0a30b3
  1. 19
      src/main/java/com/spring/ifs/api/BomApi.java
  2. 18
      src/main/java/com/spring/ifs/api/BomApiTest.java
  3. 8
      src/main/java/com/spring/ifs/data/BomItem.java
  4. 38
      src/main/java/com/spring/modules/Tooling/service/impl/ToolServiceImpl.java
  5. 9
      src/main/java/com/spring/modules/part/entity/APIEntity/BomIfsItem.java

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

@ -552,6 +552,7 @@ public class BomApi {
String consumptionItem = inData.getConsumptionItem();
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 productFlag = inData.getProductFlag();
//入参
Map<String, String> inParam = new HashMap<>();
//填充参数
@ -566,14 +567,19 @@ public class BomApi {
inParam.put("LINE_SEQUENCE", sequenceNo); // 序号
inParam.put("COMPONENT_PART", componentPart); // 子零件
inParam.put("QTY_PER_ASSEMBLY", qtyPerAssembly); // 单位用量
inParam.put("ISSUE_TYPE", issueType); //
if ("byProduct".equalsIgnoreCase(productFlag)) {
inParam.put("CONSUMPTION_ITEM", "Consumed"); // 消耗项目
}else {
inParam.put("ISSUE_TYPE", issueType); // 生产属性
inParam.put("CONSUMPTION_ITEM", consumptionItem); // 消耗项目
}
inParam.put("COMPONENT_SCRAP", componentScrap); // 报废
inParam.put("SHRINKAGE_FACTOR", shrinkageFactor); // 损耗率
inParam.put("NOTE_TEXT", noteText); // 备注
inParam.put("OPERATION_NO", operationNo); // 工序
inParam.put("ISSUE_PLANNED_SCRAP_DB", "TRUE"); // 固定值
inParam.put("ISSUE_OVERREPORTED_QTY_DB", "FALSE"); // 固定值
inParam.put("CONSUMPTION_ITEM", consumptionItem); // 消耗项目
inParam.put("LEADTIME_OFFSET", "0"); // 固定值
inParam.put("PROMISE_PLANNED", "Promised"); // 固定值
inParam.put("PHANTOM_CONSUME", "Not Phantom Consume"); // 固定值
@ -621,6 +627,7 @@ public class BomApi {
String consumptionItem = inData.getConsumptionItem();
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 productFlag = inData.getProductFlag();
//入参
Map<String, String> inParam = new HashMap<>();
//填充参数
@ -629,11 +636,15 @@ public class BomApi {
inParam.put("LINE_SEQUENCE", sequenceNo); // 序号
inParam.put("COMPONENT_PART", componentPart); // 子零件
inParam.put("QTY_PER_ASSEMBLY", qtyPerAssembly); // 单位用量
inParam.put("ISSUE_TYPE", issueType); //
inParam.put("COMPONENT_SCRAP", componentScrap); // 报废
if ("byProduct".equalsIgnoreCase(productFlag)) {
inParam.put("CONSUMPTION_ITEM", "Consumed"); // 消耗项目
}else {
inParam.put("ISSUE_TYPE", issueType); // 生产属性
inParam.put("CONSUMPTION_ITEM", consumptionItem); // 消耗项目
}
inParam.put("SHRINKAGE_FACTOR", shrinkageFactor); // 损耗率
inParam.put("NOTE_TEXT", noteText); // 备注
inParam.put("CONSUMPTION_ITEM", consumptionItem); // 消耗项目
inParam.put("CREATE_DATE", createDate); // 创建时间
inParam.put("OPERATION_NO", operationNo); // 工序
inParam.put("LAST_ACTIVITY_DATE", lastActivityDate); // 最近更新时间

18
src/main/java/com/spring/ifs/api/BomApiTest.java

@ -551,6 +551,7 @@ public class BomApiTest {
String consumptionItem = inData.getConsumptionItem();
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 productFlag = inData.getProductFlag();
//入参
Map<String, String> inParam = new HashMap<>();
//填充参数
@ -565,14 +566,18 @@ public class BomApiTest {
inParam.put("LINE_SEQUENCE", sequenceNo); // 序号
inParam.put("COMPONENT_PART", componentPart); // 子零件
inParam.put("QTY_PER_ASSEMBLY", qtyPerAssembly); // 单位用量
inParam.put("ISSUE_TYPE", issueType); //
if ("byProduct".equalsIgnoreCase(productFlag)) {
inParam.put("CONSUMPTION_ITEM", "Consumed"); // 消耗项目
}else {
inParam.put("ISSUE_TYPE", issueType); // 生产属性
inParam.put("CONSUMPTION_ITEM", consumptionItem); // 消耗项目
}
inParam.put("COMPONENT_SCRAP", componentScrap); // 报废
inParam.put("SHRINKAGE_FACTOR", shrinkageFactor); // 损耗率
inParam.put("NOTE_TEXT", noteText); // 备注
inParam.put("OPERATION_NO", operationNo); // 工序
inParam.put("ISSUE_PLANNED_SCRAP_DB", "TRUE"); // 固定值
inParam.put("ISSUE_OVERREPORTED_QTY_DB", "FALSE"); // 固定值
inParam.put("CONSUMPTION_ITEM", consumptionItem); // 消耗项目
inParam.put("LEADTIME_OFFSET", "0"); // 固定值
inParam.put("PROMISE_PLANNED", "Promised"); // 固定值
inParam.put("PHANTOM_CONSUME", "Not Phantom Consume"); // 固定值
@ -620,6 +625,7 @@ public class BomApiTest {
String consumptionItem = inData.getConsumptionItem();
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 productFlag = inData.getProductFlag();
//入参
Map<String, String> inParam = new HashMap<>();
//填充参数
@ -628,11 +634,15 @@ public class BomApiTest {
inParam.put("LINE_SEQUENCE", sequenceNo); // 序号
inParam.put("COMPONENT_PART", componentPart); // 子零件
inParam.put("QTY_PER_ASSEMBLY", qtyPerAssembly); // 单位用量
inParam.put("ISSUE_TYPE", issueType); //
if ("byProduct".equalsIgnoreCase(productFlag)) {
inParam.put("CONSUMPTION_ITEM", "Consumed"); // 消耗项目
}else {
inParam.put("ISSUE_TYPE", issueType); // 生产属性
inParam.put("CONSUMPTION_ITEM", consumptionItem); // 消耗项目
}
inParam.put("COMPONENT_SCRAP", componentScrap); // 报废
inParam.put("SHRINKAGE_FACTOR", shrinkageFactor); // 损耗率
inParam.put("NOTE_TEXT", noteText); // 备注
inParam.put("CONSUMPTION_ITEM", consumptionItem); // 消耗项目
inParam.put("CREATE_DATE", createDate); // 创建时间
inParam.put("OPERATION_NO", operationNo); // 工序
inParam.put("LAST_ACTIVITY_DATE", lastActivityDate); // 最近更新时间

8
src/main/java/com/spring/ifs/data/BomItem.java

@ -19,6 +19,7 @@ public class BomItem extends BomAlternative {
private String consumptionItem;// 消耗项目
private String operationNo;// 工序
private String histType;// 类型
private String productFlag;
public BomItem() {
super();
@ -104,4 +105,11 @@ public class BomItem extends BomAlternative {
this.histType = histType;
}
public String getProductFlag() {
return productFlag;
}
public void setProductFlag(String productFlag) {
this.productFlag = productFlag;
}
}

38
src/main/java/com/spring/modules/Tooling/service/impl/ToolServiceImpl.java

@ -1,6 +1,9 @@
package com.spring.modules.Tooling.service.impl;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.spring.ifs.api.IfsServer;
import com.spring.ifs.bean.ToolServiceBean;
import com.spring.modules.Tooling.dao.BaseConfigDao;
import com.spring.modules.Tooling.data.*;
import com.spring.modules.Tooling.dao.ToolDao;
@ -12,6 +15,10 @@ import com.spring.modules.base.utils.DateUtils;
import com.spring.modules.base.utils.HttpClientUtil;
import com.spring.modules.base.utils.ResponseData;
import com.spring.modules.report.dao.ProcedureDao;
import com.spring.modules.sys.dao.SysUserDao;
import com.spring.modules.sys.entity.SysUserEntity;
import ifs.fnd.ap.Server;
import org.apache.shiro.SecurityUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
@ -38,11 +45,17 @@ public class ToolServiceImpl implements ToolService {
private ProcedureDao procedureDao;
@Autowired
private BaseConfigDao baseConfigDao;
@Autowired
private ToolServiceBean toolServiceBean;
@Autowired
private SysUserDao sysUserDao;
@Value("${ifs-api.api-url}")
private String apiUrl;
@Value("${ifs-control.control-flag}")
private Boolean controlFlag;
@Autowired
private IfsServer ifsServer;
@Override
public List<ToolInfo> getToolInfoList(IfsTool inData) {
@ -135,13 +148,25 @@ public class ToolServiceImpl implements ToolService {
BeanUtils.copyProperties(inData, ifsToolData);
//2.校验存在调用接口
if (controlFlag) {
String toolURL = apiUrl + "/tool/ifs/syncToolDataToIfs";
/*String toolURL = apiUrl + "/tool/ifs/syncToolDataToIfs";
ResponseData toolResponse = HttpClientUtil.doPostByRawWithPLM(toolURL, ifsToolData);
if (!"200".equals(toolResponse.getCode())) {
throw new RuntimeException("IFS Tool新增异常:" + toolResponse.getMsg());
}*/
//获取当前操作的账号
String username = ((SysUserEntity) SecurityUtils.getSubject().getPrincipal()).getUsername();
SysUserEntity ifsUser = sysUserDao.selectOne(new QueryWrapper<SysUserEntity>().eq("username", username));
if (ifsUser == null || !org.apache.commons.lang3.StringUtils.isNotBlank(ifsUser.getIfsUsername()) || !org.apache.commons.lang3.StringUtils.isNotBlank(ifsUser.getIfsPassword())) {
throw new RuntimeException("获取用户的IFS账号密码为空值!");
}
String ifsUsername = ifsUser.getIfsUsername();
String ifsPassword = ifsUser.getIfsPassword();
//获取链接
Server srv = ifsServer.getIfsServer(ifsUsername, ifsPassword);
//调用新的api方法
Map<String, String> returnMap = toolServiceBean.syncToolHeader(srv, ifsToolData);
// 更新 ifs_row_id ifs_row_version
String objStr = String.valueOf(toolResponse.getObj());
String objStr = returnMap.get("objStr");
ToolInfo ifsTool = JSON.parseObject(objStr, ToolInfo.class);
inData.setIfsRowId(ifsTool.getIfsRowId());
inData.setIfsRowVersion(ifsTool.getIfsRowVersion());
@ -150,10 +175,11 @@ public class ToolServiceImpl implements ToolService {
//属性拷贝
BeanUtils.copyProperties(inData, toolInstance);
toolInstance.setToolInstance(toolId);
toolURL = apiUrl + "/tool/ifs/removeToolInstanceToIfs";
toolResponse = HttpClientUtil.doPostByRawWithPLM(toolURL, toolInstance);
if (!"200".equals(toolResponse.getCode())) {
throw new RuntimeException("IFS ToolInstance新增异常:" + toolResponse.getMsg());
//调用api 删除已经产生的默认工具实例
//调用新的api方法
Map<String, String> removeMap = toolServiceBean.removeToolInstance(srv, toolInstance);
if (!"200".equals(removeMap.get("resultCode"))) {
throw new RuntimeException("IFS ToolInstance新增异常:" + removeMap.get("resultMsg"));
}
//2.调用api处理属性部分的api数据

9
src/main/java/com/spring/modules/part/entity/APIEntity/BomIfsItem.java

@ -25,6 +25,7 @@ public class BomIfsItem {
private String issueToLoc; // 发料库位
private String operationNo; // 工序id
private String consumptionItem; // 消耗项目
private String productFlag;
public BomIfsItem() {
super();
@ -198,4 +199,12 @@ public class BomIfsItem {
public void setHistType(String histType) {
this.histType = histType;
}
public String getProductFlag() {
return productFlag;
}
public void setProductFlag(String productFlag) {
this.productFlag = productFlag;
}
}
Loading…
Cancel
Save