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 8213a84..5bba1c5 100644 --- a/src/main/java/com/gaotao/modules/schedule/controller/ScheduleController.java +++ b/src/main/java/com/gaotao/modules/schedule/controller/ScheduleController.java @@ -1013,5 +1013,36 @@ public class ScheduleController { .put("msg", "操作成功!"); } + /** + * TODO 校验切换卷是否可以进行 + * @author LR + * @date 2022/2/16 17:19 + * @param inData + * @return com.gaotao.common.utils.R + **/ + @RequestMapping(value = "checkSwitchSfdcRoll") + public R checkSwitchSfdcRoll(@RequestBody SearchScheduleData inData) { + Map resultMap = scheduleService.checkSwitchSfdcRoll(inData); + return R.ok() + .put("code", 200) + .put("msg", "操作成功!") + .put("resultMap", resultMap); + } + + /** + * TODO 切换卷操作 + * @author LR + * @date 2022/2/16 18:25 + * @Param [inData] + * @return com.gaotao.common.utils.R + **/ + @RequestMapping(value = "switchSfdcRoll") + public R switchSfdcRoll(@RequestBody SearchScheduleData inData) { + scheduleService.switchSfdcRoll(inData); + return R.ok() + .put("code", 200) + .put("msg", "操作成功!"); + } + } diff --git a/src/main/java/com/gaotao/modules/schedule/data/SearchScheduleData.java b/src/main/java/com/gaotao/modules/schedule/data/SearchScheduleData.java index 3f0886f..0747ce5 100644 --- a/src/main/java/com/gaotao/modules/schedule/data/SearchScheduleData.java +++ b/src/main/java/com/gaotao/modules/schedule/data/SearchScheduleData.java @@ -98,6 +98,7 @@ public class SearchScheduleData extends BaseData { private String autoTool;//是否自动处理工具 private Float transQty;//交易的数量 private String oriRollNo;//原始卷号 + private String newRollNo;//新切换的卷号 public SearchScheduleData() { } @@ -661,4 +662,12 @@ public class SearchScheduleData extends BaseData { public void setOriRollNo(String oriRollNo) { this.oriRollNo = oriRollNo; } + + public String getNewRollNo() { + return newRollNo; + } + + public void setNewRollNo(String newRollNo) { + this.newRollNo = newRollNo; + } } \ No newline at end of file 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 677b561..a15cd65 100644 --- a/src/main/java/com/gaotao/modules/schedule/service/ScheduleService.java +++ b/src/main/java/com/gaotao/modules/schedule/service/ScheduleService.java @@ -573,4 +573,22 @@ public interface ScheduleService { * @return void **/ void deleteSfdcRolls(SearchScheduleData inData); + + /** + * TODO 校验切换卷是否可以进行 + * @author LR + * @date 2022/2/16 17:22 + * @param inData + * @return java.util.Map + **/ + Map checkSwitchSfdcRoll(SearchScheduleData inData); + + /** + * TODO 切换卷操作 + * @author LR + * @date 2022/2/16 18:28 + * @Param [inData] + * @return void + **/ + void switchSfdcRoll(SearchScheduleData inData); } \ No newline at end of file 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 976eadf..2cc48ff 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 @@ -2670,7 +2670,7 @@ public class ScheduleServiceImpl implements ScheduleService { * TODO 调用存储过程 执行删除卷的操作 根据状态判断是否成功过 * @author LR * @date 2022/2/16 16:19 - * @param [site, orderNo, itemNo, seqNo, rollNo, oriRollNo, username] + * @Param [site, orderNo, itemNo, seqNo, rollNo, oriRollNo, username] * @return java.util.Map **/ public Map workBenchDeleteRoll(String site, String orderNo, Integer itemNo, String seqNo, String rollNo, String oriRollNo, String username) { @@ -2688,4 +2688,130 @@ public class ScheduleServiceImpl implements ScheduleService { return resultList.get(0); } + @Override + public Map checkSwitchSfdcRoll(SearchScheduleData inData) { + //公共参数 + String site = inData.getSite(); + String orderNo = inData.getOrderNo(); + Integer itemNo = inData.getItemNo(); + String seqNo = inData.getSeqNo(); + String newRollNo = inData.getNewRollNo(); + String rollNo = inData.getRollNo(); + String username = inData.getOperatorId(); + String currentTime = DateUtil.getStringDate(new Date(), "yyyy-MM-dd HH:mm:ss"); + + //1. 存储过程 切换卷 校验是否可以继续进行 --顾总写的 + Map checkMap = this.switchRollCheck(site, orderNo, itemNo, seqNo, rollNo, username, "N", "Y"); + //判断结果是否成功 + String checkCode = String.valueOf(checkMap.get("resultCode")); + if ("400".equalsIgnoreCase(checkCode)) { + String msg = String.valueOf(checkMap.get("resultMsg")); + throw new RRException(msg); + } + + //2. 存储过程 切换卷 校验sfdcRoll和特殊权限 + Map resultMap = this.checkSwitchRollWithSfdcRollAndSecurity(site, orderNo, itemNo, seqNo, newRollNo, username); + //判断结果是否成功 + String resultCode = String.valueOf(resultMap.get("resultCode")); + if ("400".equalsIgnoreCase(resultCode)) { + String msg = String.valueOf(resultMap.get("resultMsg")); + throw new RRException(msg); + } + return resultMap; + } + + /** + * TODO 存储过程 切换卷 校验sfdcRoll和特殊权限 + * @author LR + * @date 2022/2/16 18:12 + * @Param [site, orderNo, itemNo, seqNo, newRollNo, username] + * @return java.util.Map + **/ + public Map checkSwitchRollWithSfdcRollAndSecurity(String site, String orderNo, Integer itemNo, String seqNo, String newRollNo, String username) { + List params = new ArrayList<>(); + params.add(site); + params.add(orderNo); + params.add(itemNo); + params.add(seqNo); + params.add(newRollNo); + params.add(username); + //调用存储过程 + List> resultList = procedureMapper.getProcedureData("checkSwitchRollWithSfdcRollAndSecurity", params); + //处理返回的结果 + return resultList.get(0); + } + + /** + * TODO 切换卷的功能 校验 + * @author LR + * @date 2022/2/16 17:44 + * @Param [site, orderNo, itemNo, seqNo, rollNo, username, repairFlag, multiFlag] + * @return java.util.Map + **/ + public Map switchRollCheck(String site, String orderNo, Integer itemNo, String seqNo, String rollNo, String username, String repairFlag, String multiFlag) { + List params = new ArrayList<>(); + params.add(site); + params.add(orderNo); + params.add(itemNo); + params.add(seqNo); + params.add(rollNo); + params.add(username); + params.add(repairFlag); + params.add(multiFlag); + //调用存储过程 + List> resultList = procedureMapper.getProcedureData("switchroll_check", params); + //处理返回的结果 + return resultList.get(0); + } + + @Override + @Transactional + public void switchSfdcRoll(SearchScheduleData inData) { + //公共参数 + String site = inData.getSite(); + String orderNo = inData.getOrderNo(); + Integer itemNo = inData.getItemNo(); + String seqNo = inData.getSeqNo(); + String newRollNo = inData.getNewRollNo(); + String rollNo = inData.getRollNo(); + String username = inData.getOperatorId(); + String currentTime = DateUtil.getStringDate(new Date(), "yyyy-MM-dd HH:mm:ss"); + + //调用校验的的方法 + this.checkSwitchSfdcRoll(inData); + + //1. 调用存储过程 处理切换卷 + Map resultMap = this.switchRollAction(site, orderNo, itemNo, seqNo, newRollNo, username, "N", "Y", "Y"); + //判断结果是否成功 + String resultCode = String.valueOf(resultMap.get("resultCode")); + if ("400".equalsIgnoreCase(resultCode)) { + String msg = String.valueOf(resultMap.get("resultMsg")); + throw new RRException(msg); + } + } + + /** + * TODO 执行切换卷操作 + * @author LR + * @date 2022/2/16 18:37 + * @Param [site, orderNo, itemNo, seqNo, rollNo, newRollNo, username, n, y, y1] + * @return java.util.Map + **/ + public Map switchRollAction(String site, String orderNo, Integer itemNo, String seqNo, String newRollNo, String username, String repairFlag, String multiFlag, String directFlag) { + List params = new ArrayList<>(); + params.add(site); + params.add(orderNo); + params.add(itemNo); + params.add(seqNo); + params.add(newRollNo); + params.add(username); + params.add(repairFlag); + params.add(multiFlag); + params.add(directFlag); + //调用存储过程 + List> resultList = procedureMapper.getProcedureData("switchroll_action", params); + //处理返回的结果 + return resultList.get(0); + } + } \ No newline at end of file