diff --git a/src/main/java/com/spring/modules/Tooling/dao/ToolDao.java b/src/main/java/com/spring/modules/Tooling/dao/ToolDao.java index 6fd5ac85..024b7d8a 100644 --- a/src/main/java/com/spring/modules/Tooling/dao/ToolDao.java +++ b/src/main/java/com/spring/modules/Tooling/dao/ToolDao.java @@ -62,7 +62,7 @@ public interface ToolDao { * @date 2024/8/30 10:30 * @version 1.0 */ - int insertToolInfo(IfsTool inData); + void insertToolInfo(IfsTool inData); /** * @description: 修改工具信息 @@ -135,4 +135,20 @@ public interface ToolDao { * @version 1.0 */ IfsToolInstanceData getToolInstanceByToolInstance(String site, String toolId, String toolInstance); + + /** + * @description: 按照工具信息删除工具实例 + * @author LR + * @date 2024/9/3 17:57 + * @version 1.0 + */ + void deleteToolInstanceByTool(IfsTool inData); + + /** + * @description: 按照工具信息删除工具实例的日期 + * @author LR + * @date 2024/9/3 17:57 + * @version 1.0 + */ + void deleteToolInstanceDateByTool(IfsTool inData); } 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 68aba3f8..4c1d5682 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 @@ -37,7 +37,9 @@ public class ToolDaoImpl implements ToolDao { Map paramMap = new HashMap(); sql.append("SELECT site, tool_id, tool_description toolDesc, c_tool_type toolType, c_calendar_id calendarId, c_sched_capacity schedCapacity,"); sql.append(" c_calibration_control calibrationControl, c_calibration_time calibrationTime, c_alternate_tool_id alternateToolId, c_last_used lastUsed,"); - sql.append(" c_enabled_for_control_plan_db enabledForControlPlanDb, c_note_text noteText"); + sql.append(" dbo.getToolInfoDesc(site, c_alternate_tool_id) alternateToolDesc, dbo.getToolTypeDesc(c_tool_type) toolTypeDesc,"); + sql.append(" c_state state,"); + sql.append(" c_enabled_for_control_plan_db enabledForControlPlanDb, c_note_text noteText, ifs_row_id, ifs_row_version"); sql.append(" FROM tool_header th WHERE 1 = 1"); //判断查询的条件 if(!(null == site || "".equals(site))){ @@ -135,17 +137,15 @@ public class ToolDaoImpl implements ToolDao { } @Override - public int insertToolInfo(IfsTool inData) { + public void insertToolInfo(IfsTool inData) { StringBuilder sql = new StringBuilder(); - KeyHolder keyHolder = new GeneratedKeyHolder(); sql.append("INSERT INTO tool_header(site, tool_id, tool_description, c_tool_type, c_calendar_id, c_sched_capacity,"); sql.append(" c_calibration_control, c_calibration_time, c_alternate_tool_id, c_last_used, c_enabled_for_control_plan_db, c_note_text, create_date,"); - sql.append(" created_by)"); + sql.append(" created_by, c_state, ifs_row_id, ifs_row_version)"); sql.append("VALUES(:site, :toolId, :toolDesc, :toolType, :calendarId, :schedCapacity,"); sql.append(" :calibrationControl, :calibrationTime, :alternateToolId, :lastUsed, :enabledForControlPlanDb, :noteText, :createDate,"); - sql.append(" :username)"); - parameterJdbcTemplate.update(sql.toString(), new BeanPropertySqlParameterSource(inData), keyHolder); - return keyHolder.getKey().intValue(); + sql.append(" :username, :state, :ifsRowId, :ifsRowVersion)"); + parameterJdbcTemplate.update(sql.toString(), new BeanPropertySqlParameterSource(inData)); } @Override @@ -247,4 +247,20 @@ public class ToolDaoImpl implements ToolDao { } return null; } + + @Override + public void deleteToolInstanceByTool(IfsTool inData) { + StringBuilder sql = new StringBuilder(); + sql.append("DELETE FROM tool_detail"); + sql.append(" WHERE site = :site AND tool_id = :toolId"); + parameterJdbcTemplate.update(sql.toString(), new BeanPropertySqlParameterSource(inData)); + } + + @Override + public void deleteToolInstanceDateByTool(IfsTool inData) { + StringBuilder sql = new StringBuilder(); + sql.append("DELETE FROM tool_detail_phase_date"); + sql.append(" WHERE site = :site AND tool_id = :toolId"); + parameterJdbcTemplate.update(sql.toString(), new BeanPropertySqlParameterSource(inData)); + } } diff --git a/src/main/java/com/spring/modules/Tooling/data/IfsToolData.java b/src/main/java/com/spring/modules/Tooling/data/IfsToolData.java index abb84912..4487b533 100644 --- a/src/main/java/com/spring/modules/Tooling/data/IfsToolData.java +++ b/src/main/java/com/spring/modules/Tooling/data/IfsToolData.java @@ -21,6 +21,8 @@ public class IfsToolData extends PageData { private Date createDate; private String username; private String state; + private String toolTypeDesc; + private String alternateToolDesc; public IfsToolData() { } @@ -168,4 +170,20 @@ public class IfsToolData extends PageData { public void setState(String state) { this.state = state; } + + public String getToolTypeDesc() { + return toolTypeDesc; + } + + public void setToolTypeDesc(String toolTypeDesc) { + this.toolTypeDesc = toolTypeDesc; + } + + public String getAlternateToolDesc() { + return alternateToolDesc; + } + + public void setAlternateToolDesc(String alternateToolDesc) { + this.alternateToolDesc = alternateToolDesc; + } } diff --git a/src/main/java/com/spring/modules/Tooling/entity/IfsTool.java b/src/main/java/com/spring/modules/Tooling/entity/IfsTool.java index ad5160b8..b4373acd 100644 --- a/src/main/java/com/spring/modules/Tooling/entity/IfsTool.java +++ b/src/main/java/com/spring/modules/Tooling/entity/IfsTool.java @@ -21,6 +21,8 @@ public class IfsTool extends PageData { private String ifsRowId; private String ifsRowVersion; private Date createDate;// + private String username; + private String state; public IfsTool() { } @@ -152,4 +154,20 @@ public class IfsTool extends PageData { public void setCreateDate(Date createDate) { this.createDate = createDate; } + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + public String getState() { + return state; + } + + public void setState(String state) { + this.state = state; + } } 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 deac9923..591bcf8c 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 @@ -95,7 +95,9 @@ public class ToolServiceImpl implements ToolService { //公共参数 String site = inData.getSite(); String toolId = inData.getToolId(); + String toolType = inData.getToolType(); String alternativeToolId = inData.getAlternateToolId(); + String calendarId = inData.getCalendarId(); if(toolId.equals(alternativeToolId)){ throw new RuntimeException("替代工具和当前工具不能相同!"); } @@ -105,18 +107,27 @@ public class ToolServiceImpl implements ToolService { if(tool != null){ throw new RuntimeException("已存在当前工具信息!"); } - IfsToolData alternativeTool = toolDao.getToolInfoByToolId(site, alternativeToolId); - //如果存在 - if(alternativeTool == null){ - throw new RuntimeException("当前替代工具信息不存在!"); + //1.调用存储过程 --校验数据 + Map resultMap = this.checkInsertToolInfo(site, toolId, toolType, calendarId, alternativeToolId); + //判断是否检验成功 + String resultCode = String.valueOf(resultMap.get("result_code")); + if ("400".equalsIgnoreCase(resultCode)) { + String resultMsg = String.valueOf(resultMap.get("result_msg")); + throw new RuntimeException(resultMsg); } - //1.校验存在调用接口 - //判断是否存在替代的 - String toolURL = apiUrl + "/tool/ifs/syncToolDataToIfs"; + + //2.校验存在调用接口 + /* String toolURL = apiUrl + "/tool/ifs/syncToolDataToIfs"; ResponseData toolResponse = HttpClientUtil.doPostByRawWithPLM(toolURL, inData); if (!"200".equals(toolResponse.getCode())) { throw new RuntimeException("IFS Tool新增异常:" + toolResponse.getMsg()); } + // 更新 ifs_row_id ifs_row_version + String objStr = String.valueOf(toolResponse.getObj()); + IfsToolData ifsTool = JSON.parseObject(objStr, IfsToolData.class); + inData.setCreateDate(new Date()); + inData.setIfsRowId(ifsTool.getIfsRowId()); + inData.setIfsRowVersion(ifsTool.getIfsRowVersion()); //删除工具信息默认的工具实例信息 IfsToolInstanceData toolInstance = new IfsToolInstanceData(); //属性拷贝 @@ -126,38 +137,53 @@ public class ToolServiceImpl implements ToolService { toolResponse = HttpClientUtil.doPostByRawWithPLM(toolURL, toolInstance); if (!"200".equals(toolResponse.getCode())) { throw new RuntimeException("IFS ToolInstance新增异常:" + toolResponse.getMsg()); - } - // 更新 ifs_row_id ifs_row_version - String objStr = String.valueOf(toolResponse.getObj()); - IfsToolData ifsTool = JSON.parseObject(objStr, IfsToolData.class); - inData.setCreateDate(new Date()); + }*/ + inData.setState("Active"); //2.调用方法保存当前的数据 toolDao.insertToolInfo(inData); } + /** + * @description: 调用存储过程 校验工具新增 + * @author LR + * @date 2024/9/3 17:11 + * @version 1.0 + */ + public Map checkInsertToolInfo(String site, String toolId, String toolType, String calendarId, String alternativeToolId) { + List params = new ArrayList<>(); + params.add(site); + params.add(toolId); + params.add(toolType); + params.add(calendarId); + params.add(alternativeToolId); + //调用存储过程 + List> resultList = procedureDao.getProcedureData("checkInsertToolInfo", params); + //处理返回的结果 + return resultList.get(0); + } + @Override @Transactional public void modifyToolInfo(IfsTool inData) { //公共参数 String site = inData.getSite(); String toolId = inData.getToolId(); + String toolType = inData.getToolType(); String alternativeToolId = inData.getAlternateToolId(); + String calendarId = inData.getCalendarId(); if(toolId.equals(alternativeToolId)){ throw new RuntimeException("替代工具和当前工具不能相同!"); } - //查询是否存在 - IfsToolData tool = toolDao.getToolInfoByToolId(site, toolId); - //如果存在 - if(tool == null){ - throw new RuntimeException("当前工具信息不存在!"); - } - IfsToolData alternativeTool = toolDao.getToolInfoByToolId(site, alternativeToolId); - //如果存在 - if(alternativeTool == null){ - throw new RuntimeException("当前替代工具信息不存在!"); + //1.调用存储过程 --校验数据 + Map resultMap = this.checkUpdateToolInfo(site, toolId, toolType, calendarId, alternativeToolId); + //判断是否检验成功 + String resultCode = String.valueOf(resultMap.get("result_code")); + if ("400".equalsIgnoreCase(resultCode)) { + String resultMsg = String.valueOf(resultMap.get("result_msg")); + throw new RuntimeException(resultMsg); } - //1.校验存在调用接口 - //判断是否存在替代的 + + /* //2.校验存在调用接口 String toolURL = apiUrl + "/tool/ifs/modifyToolDataToIfs"; ResponseData toolResponse = HttpClientUtil.doPostByRawWithPLM(toolURL, inData); if (!"200".equals(toolResponse.getCode())) { @@ -166,10 +192,31 @@ public class ToolServiceImpl implements ToolService { // 更新 ifs_row_id ifs_row_version String objStr = String.valueOf(toolResponse.getObj()); IfsToolData ifsTool = JSON.parseObject(objStr, IfsToolData.class); + inData.setIfsRowId(ifsTool.getIfsRowId()); + inData.setIfsRowVersion(ifsTool.getIfsRowVersion());*/ //2.调用方法保存当前的数据 toolDao.updateToolInfo(inData); } + /** + * @description: 调用存储过程 校验工具信息的修改 + * @author LR + * @date 2024/9/3 17:41 + * @version 1.0 + */ + public Map checkUpdateToolInfo(String site, String toolId, String toolType, String calendarId, String alternativeToolId) { + List params = new ArrayList<>(); + params.add(site); + params.add(toolId); + params.add(toolType); + params.add(calendarId); + params.add(alternativeToolId); + //调用存储过程 + List> resultList = procedureDao.getProcedureData("checkUpdateToolInfo", params); + //处理返回的结果 + return resultList.get(0); + } + @Override @Transactional public void removeToolInfo(IfsTool inData) { @@ -183,7 +230,6 @@ public class ToolServiceImpl implements ToolService { throw new RuntimeException("当前工具信息不存在!"); } //1.调用存储过程判断是否可以删除 - //调用存储过程 --向下移动派工单 Map resultMap = this.checkDeleteToolInfo(site, toolId); //判断是否检验成功 String resultCode = String.valueOf(resultMap.get("result_code")); @@ -192,17 +238,16 @@ public class ToolServiceImpl implements ToolService { throw new RuntimeException(resultMsg); } //2.校验存在调用接口 - //判断是否存在替代的 + /*//判断是否存在替代的 String toolURL = apiUrl + "/tool/ifs/removeToolDataToIfs"; ResponseData toolResponse = HttpClientUtil.doPostByRawWithPLM(toolURL, inData); if (!"200".equals(toolResponse.getCode())) { throw new RuntimeException("IFS Tool删除异常:" + toolResponse.getMsg()); - } - // 更新 ifs_row_id ifs_row_version - String objStr = String.valueOf(toolResponse.getObj()); - IfsToolData ifsTool = JSON.parseObject(objStr, IfsToolData.class); - //2.调用方法保存当前的数据 + }*/ + //3.调用方法保存当前的数据 toolDao.deleteToolInfo(inData); + toolDao.deleteToolInstanceByTool(inData); + toolDao.deleteToolInstanceDateByTool(inData); } /**