diff --git a/src/main/java/com/gaotao/modules/schedule/controller/ScheduleController.java b/src/main/java/com/gaotao/modules/schedule/controller/ScheduleController.java index 7ae0be1..2d549ad 100644 --- a/src/main/java/com/gaotao/modules/schedule/controller/ScheduleController.java +++ b/src/main/java/com/gaotao/modules/schedule/controller/ScheduleController.java @@ -536,68 +536,6 @@ public class ScheduleController { .put("success", true) .put("msg", "操作成功!"); } - - /** - * @Author LR - * @Description 根据工单和物料自动获取bom行数据 - * @DateTime 2021/12/20 10:59 - * @Param [inData] - * @return com.gaotao.common.utils.R - **/ - @RequestMapping(value = "getBomItemNosByPartNo") - public R getBomItemNosByPartNo(@RequestBody SearchScheduleData inData){ - List> resultList = scheduleService.getBomItemNosByPartNo(inData); - return R.ok() - .put("code", 200) - .put("msg", "操作成功!") - .put("rows", resultList); - } - - /** - * TODO 检查是否可以上料 - * @author LR - * @date 2021/12/22 11:57 - * @param inData - * @return com.gaotao.common.utils.R - **/ - @RequestMapping(value = "checkFeedingMaterialRoll") - public R checkFeedingMaterialRoll(@RequestBody SearchScheduleData inData){ - Map resultMap = scheduleService.checkFeedingMaterialRoll(inData); - return R.ok() - .put("resultMap", resultMap); - } - - /** - * @Author LR - * @Description 保存材料上机的记录数据 - * @DateTime 2021/12/20 16:34 - * @Param [inData] - * @return com.gaotao.common.utils.R - **/ - @RequestMapping(value = "feedingMaterialRoll") - public R feedingMaterialRoll(@RequestBody SearchScheduleData inData){ - scheduleService.feedingMaterialRoll(inData); - return R.ok() - .put("code", 200) - .put("success", true) - .put("msg", "操作成功!"); - } - - /** - * @Author LR - * @Description 保存材料接换料的记录 - * @DateTime 2021/12/21 9:54 - * @Param [inData] - * @return com.gaotao.common.utils.R - **/ - @RequestMapping(value = "connectMaterialRoll") - public R connectMaterialRoll(@RequestBody SearchScheduleData inData){ - scheduleService.connectMaterialRoll(inData); - return R.ok() - .put("code", 200) - .put("success", true) - .put("msg", "操作成功!"); - } /** * TODO 开始调机 @@ -721,8 +659,52 @@ public class ScheduleController { .put("success", true) .put("msg", "操作成功!"); } - // - // + + /** + * @Author LR + * @Description 根据工单和物料自动获取bom行数据 + * @DateTime 2021/12/20 10:59 + * @Param [inData] + * @return com.gaotao.common.utils.R + **/ + @RequestMapping(value = "getBomItemNosByPartNo") + public R getBomItemNosByPartNo(@RequestBody SearchScheduleData inData){ + List> resultList = scheduleService.getBomItemNosByPartNo(inData); + return R.ok() + .put("code", 200) + .put("msg", "操作成功!") + .put("rows", resultList); + } + + /** + * TODO 检查是否可以上当前的材料卷 + * @author LR + * @date 2021/12/30 11:48 + * @param inData + * @return com.gaotao.common.utils.R + **/ + @RequestMapping(value = "checkFeedingMaterialRoll") + public R checkMaterialRoll(@RequestBody SearchScheduleData inData){ + Map resultMap = scheduleService.checkFeedingMaterialRoll(inData); + return R.ok() + .put("resultMap", resultMap); + } + + /** + * @Author LR + * @Description 保存材料上机的记录数据 + * @DateTime 2021/12/20 16:34 + * @Param [inData] + * @return com.gaotao.common.utils.R + **/ + @RequestMapping(value = "feedingMaterialRoll") + public R feedingMaterialRoll(@RequestBody SearchScheduleData inData){ + scheduleService.feedingMaterialRoll(inData); + return R.ok() + .put("code", 200) + .put("success", true) + .put("msg", "操作成功!"); + } diff --git a/src/main/java/com/gaotao/modules/schedule/service/ScheduleService.java b/src/main/java/com/gaotao/modules/schedule/service/ScheduleService.java index dac9f3d..65165a6 100644 --- a/src/main/java/com/gaotao/modules/schedule/service/ScheduleService.java +++ b/src/main/java/com/gaotao/modules/schedule/service/ScheduleService.java @@ -293,42 +293,6 @@ public interface ScheduleService { **/ void createNewRoll(SearchScheduleData inData); - /** - * @Author LR - * @Description 根据工单和物料自动获取bom行数据 - * @DateTime 2021/12/20 11:07 - * @Param [inData] - * @return java.util.List> - **/ - List> getBomItemNosByPartNo(SearchScheduleData inData); - - /** - * TODO 检查是否可以上料 - * @author LR - * @date 2021/12/22 13:09 - * @param inData - * @return java.util.Map - **/ - Map checkFeedingMaterialRoll(SearchScheduleData inData); - - /** - * @Author LR - * @Description 保存材料上机的记录数据 - * @DateTime 2021/12/20 16:35 - * @Param [inData] - * @return void - **/ - void feedingMaterialRoll(SearchScheduleData inData); - - /** - * @Author LR - * @Description 保存材料接换料的记录 - * @DateTime 2021/12/21 9:55 - * @Param [inData] - * @return void - **/ - void connectMaterialRoll(SearchScheduleData inData); - /** * TODO 添加注释 * @author LR @@ -400,4 +364,31 @@ public interface ScheduleService { * @return void **/ void addToolInstanceId(SearchScheduleData inData); + + /** + * @Author LR + * @Description 根据工单和物料自动获取bom行数据 + * @DateTime 2021/12/20 11:07 + * @Param [inData] + * @return java.util.List> + **/ + List> getBomItemNosByPartNo(SearchScheduleData inData); + + /** + * TODO 检查是否可以上当前的材料卷 + * @author LR + * @date 2021/12/30 11:49 + * @param inData + * @return java.util.Map + **/ + Map checkFeedingMaterialRoll(SearchScheduleData inData); + + /** + * @Author LR + * @Description 保存材料上机的记录数据 + * @DateTime 2021/12/20 16:35 + * @Param [inData] + * @return void + **/ + void feedingMaterialRoll(SearchScheduleData inData); } diff --git a/src/main/java/com/gaotao/modules/schedule/service/impl/ScheduleServiceImpl.java b/src/main/java/com/gaotao/modules/schedule/service/impl/ScheduleServiceImpl.java index 6281d03..68aa6c1 100644 --- a/src/main/java/com/gaotao/modules/schedule/service/impl/ScheduleServiceImpl.java +++ b/src/main/java/com/gaotao/modules/schedule/service/impl/ScheduleServiceImpl.java @@ -737,152 +737,6 @@ public class ScheduleServiceImpl implements ScheduleService { return Integer.parseInt(strItemNo); } - @Override - public List> getBomItemNosByPartNo(SearchScheduleData inData) { - //首先查询当前的材料卷号数据 - CRollInfoOutData cRollInfo = scheduleMapper.getCRollInfoByRollNo(inData); - //判断是否存在 - if(null == cRollInfo){ - throw new RRException("查无此卷!"); - } - inData.setRmPartNo(cRollInfo.getPartNo()); - //查询bom行数据 - List> resultList = scheduleMapper.getBomItemNosByPartNo(inData); - //判断是否存在 - if(resultList.size() == 0){ - throw new RRException("工单:"+inData.getOrderNo()+"没有物料:"+cRollInfo.getPartNo()+"的BOM信息!"); - } - return resultList; - } - - @Override - public Map checkFeedingMaterialRoll(SearchScheduleData inData) { - Map resultMap = new HashMap<>(); - //公共参数 - String site = inData.getSite(); - String orderNo = inData.getOrderNo(); - Integer itemNo = inData.getItemNo(); - String seqNo = inData.getSeqNo(); - String rollNo = inData.getRollNo(); - String rmRollNo = inData.getRmRollNo(); - Integer bomItemNo = inData.getBomItemNo(); - Integer histSeqNo = inData.getHistSeqNo(); - String currentTime = DateUtil.getStringDate(new Date(), "yyyy-MM-dd HH:mm:ss"); - if (histSeqNo > 0){ - resultMap.put("code", 400); - resultMap.put("msg", "请选择换料功能!"); - return resultMap; - } - //调用存储过程判断是否处于调剂或者停机--上/换材料 - String resultCode = this.checkProcessMaterialRoll(site, orderNo, itemNo, seqNo, rollNo, currentTime); - if ("N".equalsIgnoreCase(resultCode)){ - resultMap.put("code", 400); - resultMap.put("msg", "当前卷号不在调试过程中/不处于停机状态(停机原因是更换材料),不允许上/更换材料!"); - return resultMap; - } - //继续判断是否继续 - Map checkMap = this.checkFeedingMaterialRoll(site, orderNo, itemNo, seqNo, rollNo, rmRollNo, bomItemNo); - String code = String.valueOf(checkMap.get("resultCode")); - String msg = String.valueOf(checkMap.get("resultMsg")); - resultMap.put("code", code); - resultMap.put("msg", msg); - return resultMap; - } - - /** - * TODO 调用检查的是否可以上料的存储过程 - * @author LR - * @date 2021/12/22 13:49 - * @return java.util.Map - **/ - public Map checkFeedingMaterialRoll(String site, String orderNo, Integer itemNo, String seqNo, String rollNo, String rmRollNo, Integer bomItemNo) { - List params = new ArrayList<>(); - params.add(site); - params.add(orderNo); - params.add(itemNo); - params.add(seqNo); - params.add(rollNo); - params.add(rmRollNo); - params.add(bomItemNo); - //执行存储过程 - List> resultList = procedureMapper.getProcedureData("checkFeedingMaterialRoll", params); - //返回执行的结果 - return resultList.get(0); - } - - @Override - @Transactional - public void feedingMaterialRoll(SearchScheduleData inData) { - //先调用检查方法是否通过 - Map checkMap = this.checkFeedingMaterialRoll(inData); - //判断检查是否通过 - String code = String.valueOf(checkMap.get("code")); - if ("400".equalsIgnoreCase(code)){ - String msg = String.valueOf(checkMap.get("msg")); - throw new RRException(msg); - } - //调用存储过程执行上料方法 - - - - } - /** - * @Author LR - * @Description 判断是否处于调机或者停机--上/换材料 - * @DateTime 2021/12/21 18:32 - * @Param [site, orderNo, itemNo, seqNo, rollNo, currentTime] - * @return java.lang.String - **/ - public String checkProcessMaterialRoll(String site, String orderNo, Integer itemNo, String seqNo, String rollNo, String currentTime) { - List params = new ArrayList<>(); - params.add(site); - params.add(orderNo); - params.add(itemNo); - params.add(seqNo); - params.add(rollNo); - params.add(currentTime); - //执行存储过程 - List> resultList = procedureMapper.getProcedureData("checkProcessMaterialRoll", params); - //获取返回的结果 - Map resultMap = resultList.get(0); - //处理返回的结果 - return String.valueOf(resultMap.get("resultCode")); - } - - @Override - @Transactional - public void connectMaterialRoll(SearchScheduleData inData) { - //公共参数 - String site = inData.getSite(); - String orderNo = inData.getOrderNo(); - Integer itemNo = inData.getItemNo(); - String seqNo = inData.getSeqNo(); - String rollNo = inData.getRollNo(); - String rmRollNo = inData.getRmRollNo(); - Integer bomItemNo = inData.getBomItemNo(); - Integer histSeqNo = inData.getHistSeqNo(); - String currentTime = DateUtil.getStringDate(new Date(), "yyyy-MM-dd HH:mm:ss"); - if (histSeqNo == 0){ - throw new RRException("请选择上料功能!"); - } - //调用存储过程判断是否处于调剂或者停机--上/换材料 - String resultCode = this.checkProcessMaterialRoll(site, orderNo, itemNo, seqNo, rollNo, currentTime); - if ("N".equalsIgnoreCase(resultCode)){ - throw new RRException("当前卷号不在调试过程中/不处于停机状态(停机原因是更换材料),不允许上/更换材料!"); - } - //继续判断是否继续 - Map checkMap = this.checkConnectMaterialRoll(site, orderNo, itemNo, seqNo, rollNo, rmRollNo, bomItemNo, histSeqNo); - String code = String.valueOf(checkMap.get("resultCode")); - //判断是否可以接料 - if("400".equalsIgnoreCase(code)){ - String msg = String.valueOf(checkMap.get("resultMsg")); - throw new RRException(msg); - } - //继续则执行换料的存储过程 - - - } - @Override @Transactional public void startTuning(SearchScheduleData inData) { @@ -1154,7 +1008,7 @@ public class ScheduleServiceImpl implements ScheduleService { Map resultMap = this.checkToolInstanceId(site, orderNo, itemNo, seqNo, rollNo, toolInstanceId); //判断是否检验成功 String code = String.valueOf(resultMap.get("resultCode")); - if (!"200".equalsIgnoreCase(code)){ + if ("400".equalsIgnoreCase(code)){ String msg = String.valueOf(resultMap.get("resultMsg")); throw new RRException(msg); } @@ -1214,9 +1068,165 @@ public class ScheduleServiceImpl implements ScheduleService { this.checkToolInstanceId(inData); //调用存储过程生成记录的数据 - //this.addToolInstanceId(); + this.addToolInstanceId(site, orderNo, itemNo, seqNo, rollNo, toolInstanceId, username, currentTime); + } + + /** + * TODO 调用存储过程生成工具的记录的数据 + * @author LR + * @date 2021/12/29 18:37 + * @return void + **/ + public void addToolInstanceId(String site, String orderNo, Integer itemNo, String seqNo, String rollNo, String toolInstanceId, + String username, String currentTime) { + List params = new ArrayList<>(); + params.add(site); + params.add(orderNo); + params.add(itemNo); + params.add(seqNo); + params.add(rollNo); + params.add(toolInstanceId); + params.add(username); + params.add(currentTime); + procedureMapper.execProduceData("addToolInstanceId", params); + } + + @Override + public List> getBomItemNosByPartNo(SearchScheduleData inData) { + //首先查询当前的材料卷号数据 + CRollInfoOutData cRollInfo = scheduleMapper.getCRollInfoByRollNo(inData); + //判断是否存在 + if(null == cRollInfo){ + throw new RRException("查无此卷!"); + } + inData.setRmPartNo(cRollInfo.getPartNo()); + //查询bom行数据 + List> resultList = scheduleMapper.getBomItemNosByPartNo(inData); + //判断是否存在 + if(resultList.size() == 0){ + throw new RRException("工单:"+inData.getOrderNo()+"没有物料:"+cRollInfo.getPartNo()+"的BOM信息!"); + } + return resultList; + } + + @Override + public Map checkFeedingMaterialRoll(SearchScheduleData inData) { + //公共参数 + String site = inData.getSite(); + String orderNo = inData.getOrderNo(); + Integer itemNo = inData.getItemNo(); + String seqNo = inData.getSeqNo(); + String rollNo = inData.getRollNo(); + String rmRollNo = inData.getRmRollNo(); + Integer bomItemNo = inData.getBomItemNo(); + Integer histSeqNo = inData.getHistSeqNo(); + String currentTime = DateUtil.getStringDate(new Date(), "yyyy-MM-dd HH:mm:ss"); + if (histSeqNo >= 0){ + throw new RRException("请选择接换料功能!"); + } + + //检查是否是上材料的时机 + String resultCode = this.checkProcessMaterialRoll(site, orderNo, itemNo, seqNo, rollNo, currentTime); + if ("N".equalsIgnoreCase(resultCode)){ + throw new RRException("当前卷号不在调试过程中/不处于停机状态(停机原因是更换材料),不允许上/更换材料!"); + } + + //执行检查材料卷上机的功能 + Map resultMap = this.checkFeedingMaterialRoll(site, orderNo, itemNo, seqNo, rollNo, rmRollNo, bomItemNo); + //判断是否继续 + String code = String.valueOf(resultMap.get("resultCode")); + if ("400".equalsIgnoreCase(code)){ + String msg = String.valueOf(resultMap.get("resultMsg")); + throw new RRException(msg); + } + return resultMap; } + /** + * @Author LR + * @Description 判断是否处于调机或者停机--上/换材料 + * @DateTime 2021/12/21 18:32 + * @Param [site, orderNo, itemNo, seqNo, rollNo, currentTime] + * @return java.lang.String + **/ + public String checkProcessMaterialRoll(String site, String orderNo, Integer itemNo, String seqNo, String rollNo, String currentTime) { + List params = new ArrayList<>(); + params.add(site); + params.add(orderNo); + params.add(itemNo); + params.add(seqNo); + params.add(rollNo); + params.add(currentTime); + //执行存储过程 + List> resultList = procedureMapper.getProcedureData("checkProcessMaterialRoll", params); + //获取返回的结果 + Map resultMap = resultList.get(0); + //处理返回的结果 + return String.valueOf(resultMap.get("resultCode")); + } + + /** + * TODO 调用检查的是否可以上料的存储过程 + * @author LR + * @date 2021/12/22 13:49 + * @return java.util.Map + **/ + public Map checkFeedingMaterialRoll(String site, String orderNo, Integer itemNo, String seqNo, String rollNo, String rmRollNo, Integer bomItemNo) { + List params = new ArrayList<>(); + params.add(site); + params.add(orderNo); + params.add(itemNo); + params.add(seqNo); + params.add(rollNo); + params.add(rmRollNo); + params.add(bomItemNo); + //执行存储过程 + List> resultList = procedureMapper.getProcedureData("checkFeedingMaterialRoll", params); + //返回执行的结果 + return resultList.get(0); + } + + @Override + @Transactional + public void feedingMaterialRoll(SearchScheduleData inData) { + //公共参数 + String site = inData.getSite(); + String orderNo = inData.getOrderNo(); + Integer itemNo = inData.getItemNo(); + String seqNo = inData.getSeqNo(); + String rollNo = inData.getRollNo(); + String rmRollNo = inData.getRmRollNo(); + Integer bomItemNo = inData.getBomItemNo(); + String username = inData.getOperatorId(); + String currentTime = DateUtil.getStringDate(new Date(), "yyyy-MM-dd HH:mm:ss"); + + //先调用检查方法是否通过 + this.checkFeedingMaterialRoll(inData); + + //调用存储过程执行上料方法 + this.feedingMaterialRoll(site, orderNo, itemNo, seqNo, rollNo, rmRollNo, bomItemNo, username, currentTime); + } + + /** + * TODO 调用存储过程执行上机的过程 + * @author LR + * @date 2021/12/30 14:03 + * @return void + **/ + public void feedingMaterialRoll(String site, String orderNo, Integer itemNo, String seqNo, String rollNo, String rmRollNo, Integer bomItemNo, String username, String currentTime) { + List params = new ArrayList<>(); + params.add(site); + params.add(orderNo); + params.add(itemNo); + params.add(seqNo); + params.add(rollNo); + params.add(rmRollNo); + params.add(bomItemNo); + params.add(username); + params.add(currentTime); + //执行存储过程 + procedureMapper.execProduceData("feedingMaterialRoll", params); + } }