From bfd271e6104dea29cde4e446d96585db5e807e51 Mon Sep 17 00:00:00 2001 From: Rui_Li <877258667@qq.com> Date: Thu, 17 Feb 2022 16:14:59 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=87=E6=8D=A2=E5=8D=B7=E5=92=8C=E5=88=9B?= =?UTF-8?q?=E5=BB=BA=E5=88=86=E5=8D=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ScheduleController.java | 31 ++++ .../schedule/data/SearchScheduleData.java | 18 +++ .../schedule/service/ScheduleService.java | 18 +++ .../service/impl/ScheduleServiceImpl.java | 143 +++++++++++++++++- 4 files changed, 204 insertions(+), 6 deletions(-) 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 5bba1c5..8b04163 100644 --- a/src/main/java/com/gaotao/modules/schedule/controller/ScheduleController.java +++ b/src/main/java/com/gaotao/modules/schedule/controller/ScheduleController.java @@ -1044,5 +1044,36 @@ public class ScheduleController { .put("msg", "操作成功!"); } + /** + * @Author LR + * @Description 检查是否可以创建分卷 + * @DateTime 2022/2/17 11:45 + * @Param [inData] + * @return com.gaotao.common.utils.R + **/ + @RequestMapping(value = "checkCreateSplitSfdcRoll") + public R checkCreateSplitSfdcRoll(@RequestBody SearchScheduleData inData) { + Map resultMap = scheduleService.checkCreateSplitSfdcRoll(inData); + return R.ok() + .put("code", 200) + .put("msg", "操作成功!") + .put("resultMap", resultMap); + } + + /** + * @Author LR + * @Description 执行创建分卷的业务逻辑 + * @DateTime 2022/2/17 11:45 + * @Param [inData] + * @return com.gaotao.common.utils.R + **/ + @RequestMapping(value = "createSplitSfdcRoll") + public R createSplitSfdcRoll(@RequestBody SearchScheduleData inData) { + scheduleService.createSplitSfdcRoll(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 0747ce5..3629666 100644 --- a/src/main/java/com/gaotao/modules/schedule/data/SearchScheduleData.java +++ b/src/main/java/com/gaotao/modules/schedule/data/SearchScheduleData.java @@ -99,6 +99,8 @@ public class SearchScheduleData extends BaseData { private Float transQty;//交易的数量 private String oriRollNo;//原始卷号 private String newRollNo;//新切换的卷号 + private Float rollQty;//当前卷的良品数量 + private Integer rollNums;//当前卷的数量 public SearchScheduleData() { } @@ -670,4 +672,20 @@ public class SearchScheduleData extends BaseData { public void setNewRollNo(String newRollNo) { this.newRollNo = newRollNo; } + + public Float getRollQty() { + return rollQty; + } + + public void setRollQty(Float rollQty) { + this.rollQty = rollQty; + } + + public Integer getRollNums() { + return rollNums; + } + + public void setRollNums(Integer rollNums) { + this.rollNums = rollNums; + } } \ 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 a15cd65..5e09b7b 100644 --- a/src/main/java/com/gaotao/modules/schedule/service/ScheduleService.java +++ b/src/main/java/com/gaotao/modules/schedule/service/ScheduleService.java @@ -591,4 +591,22 @@ public interface ScheduleService { * @return void **/ void switchSfdcRoll(SearchScheduleData inData); + + /** + * @Author LR + * @Description 检查是否可以创建分卷 + * @DateTime 2022/2/17 11:46 + * @Param [inData] + * @return java.util.Map + **/ + Map checkCreateSplitSfdcRoll(SearchScheduleData inData); + + /** + * @Author LR + * @Description 执行创建分卷的业务逻辑 + * @DateTime 2022/2/17 11:48 + * @Param [inData] + * @return void + **/ + void createSplitSfdcRoll(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 2cc48ff..474c65b 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 @@ -12,10 +12,7 @@ import com.gaotao.modules.shopOrder.entity.OperatorData; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import org.springframework.web.bind.annotation.RequestBody; -import javax.jws.soap.SOAPBinding; -import javax.validation.GroupSequence; import java.math.BigDecimal; import java.text.ParseException; import java.util.*; @@ -2696,12 +2693,11 @@ public class ScheduleServiceImpl implements ScheduleService { 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"); + Map checkMap = this.switchRollCheck(site, orderNo, itemNo, seqNo, newRollNo, username, "N", "Y"); //判断结果是否成功 String checkCode = String.valueOf(checkMap.get("resultCode")); if ("400".equalsIgnoreCase(checkCode)) { @@ -2781,7 +2777,7 @@ public class ScheduleServiceImpl implements ScheduleService { this.checkSwitchSfdcRoll(inData); //1. 调用存储过程 处理切换卷 - Map resultMap = this.switchRollAction(site, orderNo, itemNo, seqNo, newRollNo, username, "N", "Y", "Y"); + Map resultMap = this.switchRollAction(site, orderNo, itemNo, seqNo, newRollNo, username, "N", "Y", "N"); //判断结果是否成功 String resultCode = String.valueOf(resultMap.get("resultCode")); if ("400".equalsIgnoreCase(resultCode)) { @@ -2814,4 +2810,139 @@ public class ScheduleServiceImpl implements ScheduleService { return resultList.get(0); } + + @Override + public Map checkCreateSplitSfdcRoll(SearchScheduleData inData) { + //公共参数 + String site = inData.getSite(); + String orderNo = inData.getOrderNo(); + Integer itemNo = inData.getItemNo(); + String seqNo = inData.getSeqNo(); + String rollNo = inData.getRollNo(); + String username = inData.getOperatorId(); + String reportDate = inData.getReportDate(); + String reportTime = inData.getReportTime(); + Float rollQty = inData.getRollQty(); + Integer rollNums = inData.getRollNums(); + String currentTime = reportDate +" " +reportTime; + //1.调用存储过程 --校验是否继续创建分卷 --顾总写的 + Map checkMap = this.workBenchCreateSlittingRollCheck(site, orderNo, itemNo, seqNo, rollQty, rollNo, username); + //判断结果是否成功 + String checkCode = String.valueOf(checkMap.get("resultCode")); + if ("400".equalsIgnoreCase(checkCode)) { + String msg = String.valueOf(checkMap.get("resultMsg")); + throw new RRException(msg); + } + + //2.调用存储过程 --校验数量 是否返回确认按钮的 没有权限直接报错 + Map resultMap = this.checkSplitRollWithSfdcRollAndSecurity(site, orderNo, itemNo, seqNo, rollNo, rollQty, rollNums, 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; + } + + /** + * @Author LR + * @Description 调用存储过程 --校验数量 是否返回确认按钮的 没有权限直接报错 + * @DateTime 2022/2/17 14:32 + * @Param [site, orderNo, itemNo, seqNo, rollNo, rollQty, rollNums, username] + * @return java.util.Map + **/ + public Map checkSplitRollWithSfdcRollAndSecurity(String site, String orderNo, Integer itemNo, String seqNo, String rollNo, + Float rollQty, Integer rollNums, String username) { + List params = new ArrayList<>(); + params.add(site); + params.add(orderNo); + params.add(itemNo); + params.add(seqNo); + params.add(rollNo); + params.add(rollQty); + params.add(rollNums); + params.add(username); + //调用存储过程 + List> resultList = procedureMapper.getProcedureData("checkSplitRollWithSfdcRollAndSecurity", params); + //处理返回的结果 + return resultList.get(0); + } + + /** + * @Author LR + * @Description --校验是否继续创建分卷 --顾总写的 + * @DateTime 2022/2/17 14:27 + * @Param [site, orderNo, itemNo, seqNo, rollQty, rollNo, username] + * @return java.util.Map + **/ + public Map workBenchCreateSlittingRollCheck(String site, String orderNo, Integer itemNo, String seqNo, Float rollQty, String rollNo, String username) { + List params = new ArrayList<>(); + params.add(site); + params.add(orderNo); + params.add(itemNo); + params.add(seqNo); + params.add(rollQty); + params.add(rollNo); + params.add(username); + //调用存储过程 + List> resultList = procedureMapper.getProcedureData("workbench_createslittingroll_check", params); + //处理返回的结果 + return resultList.get(0); + } + + @Override + @Transactional + public void createSplitSfdcRoll(SearchScheduleData inData) { + //公共参数 + String site = inData.getSite(); + String orderNo = inData.getOrderNo(); + Integer itemNo = inData.getItemNo(); + String seqNo = inData.getSeqNo(); + String rollNo = inData.getRollNo(); + String username = inData.getOperatorId(); + String reportDate = inData.getReportDate(); + String reportTime = inData.getReportTime(); + Float rollQty = inData.getRollQty(); + Integer rollNums = inData.getRollNums(); + String currentTime = reportDate +" " +reportTime; + + //执行校验的方法 + this.checkCreateSplitSfdcRoll(inData); + + //存储过程 调用存储过程 创建分卷 + Map resultMap = this.workBenchCreateSlittingRollAction(site, orderNo, itemNo, seqNo, rollNo, rollQty, rollNums, username); + //判断结果是否成功 + String resultCode = String.valueOf(resultMap.get("resultCode")); + if ("400".equalsIgnoreCase(resultCode)) { + String msg = String.valueOf(resultMap.get("resultMsg")); + throw new RRException(msg); + } + } + + /** + * @Author LR + * @Description 调用存储过程 创建分卷 + * @DateTime 2022/2/17 14:51 + * @Param [site, orderNo, itemNo, seqNo, rollNo, rollQty, rollNums, username] + * @return void + **/ + public Map workBenchCreateSlittingRollAction(String site, String orderNo, Integer itemNo, String seqNo, String rollNo, Float rollQty, Integer rollNums, String username) { + List params = new ArrayList<>(); + params.add(site); + params.add(orderNo); + params.add(itemNo); + params.add(seqNo); + params.add(rollNo); + params.add(rollQty); + params.add(rollNums); + params.add(username); + //调用存储过程 + List> resultList = procedureMapper.getProcedureData("workbench_createslittingroll_action", params); + //处理返回的结果 + return resultList.get(0); + } + + + } \ No newline at end of file