diff --git a/src/main/java/com/spring/ifs/api/BomApiTest.java b/src/main/java/com/spring/ifs/api/BomApiTest.java index 0fc86908..849bf559 100644 --- a/src/main/java/com/spring/ifs/api/BomApiTest.java +++ b/src/main/java/com/spring/ifs/api/BomApiTest.java @@ -567,7 +567,7 @@ public class BomApiTest { inParam.put("COMPONENT_PART", componentPart); // 子零件 inParam.put("QTY_PER_ASSEMBLY", qtyPerAssembly); // 单位用量 if ("byProduct".equalsIgnoreCase(productFlag)) { - inParam.put("CONSUMPTION_ITEM", "Consumed"); // 消耗项目 + inParam.put("CONSUMPTION_ITEM", consumptionItem); // 消耗项目 }else { inParam.put("ISSUE_TYPE", issueType); // 生产属性 inParam.put("CONSUMPTION_ITEM", consumptionItem); // 消耗项目 @@ -635,7 +635,7 @@ public class BomApiTest { inParam.put("COMPONENT_PART", componentPart); // 子零件 inParam.put("QTY_PER_ASSEMBLY", qtyPerAssembly); // 单位用量 if ("byProduct".equalsIgnoreCase(productFlag)) { - inParam.put("CONSUMPTION_ITEM", "Consumed"); // 消耗项目 + inParam.put("CONSUMPTION_ITEM", consumptionItem); // 消耗项目 }else { inParam.put("ISSUE_TYPE", issueType); // 生产属性 inParam.put("CONSUMPTION_ITEM", consumptionItem); // 消耗项目 diff --git a/src/main/java/com/spring/modules/Tooling/dao/impl/ToolDaoImpl.java b/src/main/java/com/spring/modules/Tooling/dao/impl/ToolDaoImpl.java index 6ff8a2d2..1b097e66 100644 --- a/src/main/java/com/spring/modules/Tooling/dao/impl/ToolDaoImpl.java +++ b/src/main/java/com/spring/modules/Tooling/dao/impl/ToolDaoImpl.java @@ -275,4 +275,12 @@ public class ToolDaoImpl implements ToolDao { sql.append(" WHERE site = :site AND tool_id = :toolId"); parameterJdbcTemplate.update(sql.toString(), new BeanPropertySqlParameterSource(inData)); } + + @Override + public void updateToolInstanceDateIfsData(IfsToolInstanceDate inData) { + StringBuilder sql = new StringBuilder(); + sql.append("UPDATE tool_detail_phase_date SET ifs_row_id = :ifsRowId, ifs_row_version = :ifsRowVersion"); + sql.append(" WHERE id = :id"); + parameterJdbcTemplate.update(sql.toString(), new BeanPropertySqlParameterSource(inData)); + } } diff --git a/src/main/java/com/spring/modules/Tooling/service/impl/ToolServiceImpl.java b/src/main/java/com/spring/modules/Tooling/service/impl/ToolServiceImpl.java index 53242d8b..b299bba0 100644 --- a/src/main/java/com/spring/modules/Tooling/service/impl/ToolServiceImpl.java +++ b/src/main/java/com/spring/modules/Tooling/service/impl/ToolServiceImpl.java @@ -136,7 +136,7 @@ public class ToolServiceImpl implements ToolService { inData.setState("Active"); inData.setCreateDate(new Date()); //3.校验是否需要插入属性模版的数据 - if(propertyNo != null && !propertyNo.equals("")){ + if(propertyNo != null && !propertyNo.isEmpty()){ this.processToolInfoPropertyTemplate(site, toolId, "", propertyNo, 1); } //4.调用方法保存当前的数据 @@ -165,6 +165,10 @@ public class ToolServiceImpl implements ToolService { Server srv = ifsServer.getIfsServer(ifsUsername, ifsPassword); //调用新的api方法 Map returnMap = toolServiceBean.syncToolHeader(srv, ifsToolData); + // 判断调用是否成功 + if (!"200".equals(returnMap.get("resultCode"))) { + throw new RuntimeException("ifs Tool新增异常:" + returnMap.get("resultMsg")); + } // 更新 ifs_row_id ifs_row_version String objStr = returnMap.get("objStr"); ToolInfo ifsTool = JSON.parseObject(objStr, ToolInfo.class); @@ -179,7 +183,7 @@ public class ToolServiceImpl implements ToolService { //调用新的api方法 Map removeMap = toolServiceBean.removeToolInstance(srv, toolInstance); if (!"200".equals(removeMap.get("resultCode"))) { - throw new RuntimeException("IFS ToolInstance新增异常:" + removeMap.get("resultMsg")); + throw new RuntimeException("IFS ToolInstance删除异常:" + removeMap.get("resultMsg")); } //2.调用api处理属性部分的api数据 @@ -318,6 +322,11 @@ public class ToolServiceImpl implements ToolService { Server srv = ifsServer.getIfsServer(ifsUsername, ifsPassword); //调用新的api方法 Map returnMap = toolServiceBean.modifyToolHeader(srv, ifsToolData); + // 判断调用是否成功 + if (!"200".equals(returnMap.get("resultCode"))) { + throw new RuntimeException("ifs Tool修改异常:" + returnMap.get("resultMsg")); + } + // 更新 ifs_row_id ifs_row_version String objStr = String.valueOf(returnMap.get("obj")); ToolInfo ifsTool = JSON.parseObject(objStr, ToolInfo.class); @@ -463,7 +472,23 @@ public class ToolServiceImpl implements ToolService { BeanUtils.copyProperties(inData, ifsToolData); if (controlFlag) { //1.校验删除调用接口 - this.removeIfsToolInfo(ifsToolData); + //this.removeIfsToolInfo(ifsToolData); + //获取当前操作的账号 + String username = ((SysUserEntity) SecurityUtils.getSubject().getPrincipal()).getUsername(); + SysUserEntity ifsUser = sysUserDao.selectOne(new QueryWrapper().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 returnMap = toolServiceBean.removeToolHeader(srv, ifsToolData); + // 判断调用是否成功 + if (!"200".equals(returnMap.get("resultCode"))) { + throw new RuntimeException("ifs Tool删除异常:" + returnMap.get("resultMsg")); + } } //3.调用方法保存当前的数据 toolDao.deleteToolInfo(inData); @@ -536,13 +561,29 @@ public class ToolServiceImpl implements ToolService { toolInstanceData.setLastCalibrationDate(lastCalibrationTime); //2.校验存在调用接口 - String toolURL = apiUrl + "/tool/ifs/syncToolInstanceToIfs"; + /* String toolURL = apiUrl + "/tool/ifs/syncToolInstanceToIfs"; ResponseData toolResponse = HttpClientUtil.doPostByRawWithPLM(toolURL, toolInstanceData); if (!"200".equals(toolResponse.getCode())) { throw new RuntimeException("IFS ToolInstance新增异常:" + toolResponse.getMsg()); + }*/ + //获取当前操作的账号 + String username = ((SysUserEntity) SecurityUtils.getSubject().getPrincipal()).getUsername(); + SysUserEntity ifsUser = sysUserDao.selectOne(new QueryWrapper().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 objStr = String.valueOf(toolResponse.getObj()); - ToolInfo ifsTool = JSON.parseObject(objStr, ToolInfo.class); + String ifsUsername = ifsUser.getIfsUsername(); + String ifsPassword = ifsUser.getIfsPassword(); + //获取链接 + Server srv = ifsServer.getIfsServer(ifsUsername, ifsPassword); + //调用新的api方法 + Map returnMap = toolServiceBean.syncToolInstance(srv, toolInstanceData); + // 判断调用是否成功 + if (!"200".equals(returnMap.get("resultCode"))) { + throw new RuntimeException("ifs Instance新增异常:" + returnMap.get("resultMsg")); + } + String objStr = String.valueOf(returnMap.get("obj")); + ToolInstance ifsTool = JSON.parseObject(objStr, ToolInstance.class); //设置版本号 inData.setIfsRowId(ifsTool.getIfsRowId()); inData.setIfsRowVersion(ifsTool.getIfsRowVersion()); @@ -670,13 +711,29 @@ public class ToolServiceImpl implements ToolService { inData.setState("Active"); //2.校验存在调用接口 if (controlFlag) { - String toolURL = apiUrl + "/tool/ifs/modifyToolInstanceToIfs"; + /* String toolURL = apiUrl + "/tool/ifs/modifyToolInstanceToIfs"; ResponseData toolResponse = HttpClientUtil.doPostByRawWithPLM(toolURL, toolInstanceData); if (!"200".equals(toolResponse.getCode())) { throw new RuntimeException("IFS ToolInstance修改异常:" + toolResponse.getMsg()); + }*/ + //查询当前用户 + String username = ((SysUserEntity) SecurityUtils.getSubject().getPrincipal()).getUsername(); + SysUserEntity ifsUser = sysUserDao.selectOne(new QueryWrapper().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 objStr = String.valueOf(toolResponse.getObj()); - ToolInfo ifsTool = JSON.parseObject(objStr, ToolInfo.class); + String ifsUsername = ifsUser.getIfsUsername(); + String ifsPassword = ifsUser.getIfsPassword(); + //获取链接 + Server srv = ifsServer.getIfsServer(ifsUsername, ifsPassword); + //调用新的api方法 + Map returnMap = toolServiceBean.modifyToolInstance(srv, toolInstanceData); + // 判断调用是否成功 + if (!"200".equals(returnMap.get("resultCode"))) { + throw new RuntimeException("ifs Instance修改异常:" + returnMap.get("resultMsg")); + } + String objStr = String.valueOf(returnMap.get("obj")); + ToolInstance ifsTool = JSON.parseObject(objStr, ToolInstance.class); //设置版本号 inData.setIfsRowId(ifsTool.getIfsRowId()); inData.setIfsRowVersion(ifsTool.getIfsRowVersion()); @@ -800,7 +857,23 @@ public class ToolServiceImpl implements ToolService { if (controlFlag) { //2.调用IFS API接口 - this.removeIfsToolInstance(toolInstanceData); + //this.removeIfsToolInstance(toolInstanceData); + //查询当前用户 + String username = ((SysUserEntity) SecurityUtils.getSubject().getPrincipal()).getUsername(); + SysUserEntity ifsUser = sysUserDao.selectOne(new QueryWrapper().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 returnMap = toolServiceBean.removeToolInstance(srv, toolInstanceData); + // 判断调用是否成功 + if (!"200".equals(returnMap.get("resultCode"))) { + throw new RuntimeException("ifs Instance删除异常:" + returnMap.get("resultMsg")); + } } //2.调用方法保存当前的数据 toolDao.deleteToolInstance(inData); @@ -857,10 +930,10 @@ public class ToolServiceImpl implements ToolService { instanceDateData.setEndDate(endTime); //保存新增的数据 inData.setCreatedDate(new Date()); - toolDao.insertToolInstanceDate(inData); + int id = toolDao.insertToolInstanceDate(inData); if (controlFlag) { //2.校验存在调用接口 - String toolURL = apiUrl + "/tool/ifs/syncToolInstanceDateToIfs"; + /* String toolURL = apiUrl + "/tool/ifs/syncToolInstanceDateToIfs"; ResponseData toolResponse = HttpClientUtil.doPostByRawWithPLM(toolURL, instanceDateData); if (!"200".equals(toolResponse.getCode())) { throw new RuntimeException("IFS ToolInstance删除异常:" + toolResponse.getMsg()); @@ -869,7 +942,33 @@ public class ToolServiceImpl implements ToolService { String objStr = String.valueOf(toolResponse.getObj()); ToolInstanceDate ifsTool = JSON.parseObject(objStr, ToolInstanceDate.class); inData.setIfsRowId(ifsTool.getIfsRowId()); + inData.setIfsRowVersion(ifsTool.getIfsRowVersion());*/ + + //查询当前用户 + String username = ((SysUserEntity) SecurityUtils.getSubject().getPrincipal()).getUsername(); + SysUserEntity ifsUser = sysUserDao.selectOne(new QueryWrapper().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 returnMap = toolServiceBean.syncToolInstanceDate(srv, instanceDateData); + // 判断调用是否成功 + if (!"200".equals(returnMap.get("resultCode"))) { + throw new RuntimeException("ifs Instance Date 新增异常:" + returnMap.get("resultMsg")); + } + String objStr = String.valueOf(returnMap.get("obj")); + ToolInstanceDate ifsTool = JSON.parseObject(objStr, ToolInstanceDate.class); + //设置版本号- + inData.setIfsRowId(ifsTool.getIfsRowId()); inData.setIfsRowVersion(ifsTool.getIfsRowVersion()); + //调用成功 后需要修改当前时间的IFSROWID + inData.setId(id); + //调用修改的方法 + toolDao.updateToolInstanceDateIfsData(inData); } } @@ -930,7 +1029,7 @@ public class ToolServiceImpl implements ToolService { inData.setUpdatedDate(new Date()); if (controlFlag) { //2.校验存在调用接口 - String toolURL = apiUrl + "/tool/ifs/modifyToolInstanceDateToIfs"; + /* String toolURL = apiUrl + "/tool/ifs/modifyToolInstanceDateToIfs"; ResponseData toolResponse = HttpClientUtil.doPostByRawWithPLM(toolURL, instanceDateData); if (!"200".equals(toolResponse.getCode())) { throw new RuntimeException("IFS ToolInstance删除异常:" + toolResponse.getMsg()); @@ -939,6 +1038,28 @@ public class ToolServiceImpl implements ToolService { String objStr = String.valueOf(toolResponse.getObj()); ToolInstanceDate ifsTool = JSON.parseObject(objStr, ToolInstanceDate.class); inData.setIfsRowId(ifsTool.getIfsRowId()); + inData.setIfsRowVersion(ifsTool.getIfsRowVersion());*/ + + //查询当前用户 + String username = ((SysUserEntity) SecurityUtils.getSubject().getPrincipal()).getUsername(); + SysUserEntity ifsUser = sysUserDao.selectOne(new QueryWrapper().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 returnMap = toolServiceBean.modifyToolInstanceDate(srv, instanceDateData); + // 判断调用是否成功 + if (!"200".equals(returnMap.get("resultCode"))) { + throw new RuntimeException("ifs Instance Date 修改异常:" + returnMap.get("resultMsg")); + } + String objStr = String.valueOf(returnMap.get("obj")); + ToolInstanceDate ifsTool = JSON.parseObject(objStr, ToolInstanceDate.class); + //设置版本号- + inData.setIfsRowId(ifsTool.getIfsRowId()); inData.setIfsRowVersion(ifsTool.getIfsRowVersion()); } //保存新增的数据 @@ -981,10 +1102,25 @@ public class ToolServiceImpl implements ToolService { BeanUtils.copyProperties(inData, instanceDateData); if (controlFlag) { //2.校验存在调用接口 - String toolURL = apiUrl + "/tool/ifs/removeToolInstanceDateToIfs"; + /* String toolURL = apiUrl + "/tool/ifs/removeToolInstanceDateToIfs"; ResponseData toolResponse = HttpClientUtil.doPostByRawWithPLM(toolURL, instanceDateData); if (!"200".equals(toolResponse.getCode())) { throw new RuntimeException("IFS ToolInstanceDate删除异常:" + toolResponse.getMsg()); + }*/ + String username = ((SysUserEntity) SecurityUtils.getSubject().getPrincipal()).getUsername(); + SysUserEntity ifsUser = sysUserDao.selectOne(new QueryWrapper().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 returnMap = toolServiceBean.removeToolInstanceDate(srv, instanceDateData); + // 判断调用是否成功 + if (!"200".equals(returnMap.get("resultCode"))) { + throw new RuntimeException("ifs Instance Date删除异常:" + returnMap.get("resultMsg")); } } //保存新增的数据