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 e15062b..2c2a0fb 100644 --- a/src/main/java/com/gaotao/modules/schedule/controller/ScheduleController.java +++ b/src/main/java/com/gaotao/modules/schedule/controller/ScheduleController.java @@ -952,4 +952,35 @@ public class ScheduleController { .put("msg", "操作成功!"); } + /** + * @Author LR + * @Description 查询校验是否可以下料功能 + * @DateTime 2022/2/15 16:40 + * @Param [inData] + * @return com.gaotao.common.utils.R + **/ + @RequestMapping(value = "checkCuttingMaterial") + public R checkCuttingMaterial(@RequestBody SearchScheduleData inData) { + Map resultMap = scheduleService.checkCuttingMaterial(inData); + return R.ok() + .put("code", 200) + .put("msg", "操作成功!") + .put("resultMap", resultMap); + } + + /** + * @Author LR + * @Description 处理材料下料功能 + * @DateTime 2022/2/15 17:12 + * @Param [inData] + * @return com.gaotao.common.utils.R + **/ + @RequestMapping(value = "processCuttingMaterialRoll") + public R processCuttingMaterialRoll(@RequestBody SearchScheduleData inData) { + scheduleService.processCuttingMaterialRoll(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 514e487..802c942 100644 --- a/src/main/java/com/gaotao/modules/schedule/data/SearchScheduleData.java +++ b/src/main/java/com/gaotao/modules/schedule/data/SearchScheduleData.java @@ -96,7 +96,7 @@ public class SearchScheduleData extends BaseData { private String showNoFinishedToolFlag;//显示工具 private String showNoFinishedMaterialFlag;//显示材料 private String autoTool;//是否自动处理工具 - + private Float transQty;//交易的数量 public SearchScheduleData() { } @@ -644,4 +644,12 @@ public class SearchScheduleData extends BaseData { public void setAutoTool(String autoTool) { this.autoTool = autoTool; } + + public Float getTransQty() { + return transQty; + } + + public void setTransQty(Float transQty) { + this.transQty = transQty; + } } \ 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 088e71d..1fbc0a3 100644 --- a/src/main/java/com/gaotao/modules/schedule/service/ScheduleService.java +++ b/src/main/java/com/gaotao/modules/schedule/service/ScheduleService.java @@ -537,4 +537,22 @@ public interface ScheduleService { * @return void **/ void finishScheduleWithNoFqc(SearchScheduleData inData); + + /** + * @Author LR + * @Description 查询校验是否可以下料功能 + * @DateTime 2022/2/15 16:41 + * @Param [inData] + * @return java.util.Map + **/ + Map checkCuttingMaterial(SearchScheduleData inData); + + /** + * @Author LR + * @Description 处理材料下料功能 + * @DateTime 2022/2/15 17:13 + * @Param [inData] + * @return void + **/ + void processCuttingMaterialRoll(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 fa90822..09c86de 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 @@ -15,6 +15,7 @@ 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.*; @@ -2355,6 +2356,8 @@ public class ScheduleServiceImpl implements ScheduleService { //8.反写交易记录表的SAP交易号 } + + /** * @Author LR * @Description @@ -2473,4 +2476,130 @@ public class ScheduleServiceImpl implements ScheduleService { procedureMapper.getProcedureData("finishScheduleProcessSfdcToolHist", params); } + @Override + public Map checkCuttingMaterial(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(); + String username = inData.getOperatorId(); + String currentTime = DateUtil.getStringDate(new Date(), "yyyy-MM-dd HH:mm:ss"); + Float transQty = inData.getTransQty(); + Integer histSeqNo = inData.getHistSeqNo(); + + + //1.调用存储过程 校验是否可以移除材料 + Map removeMap = this.checkRemoveMaterialRoll(site, orderNo, itemNo, seqNo, rollNo, currentTime); + //判断结果是否成功 + String removeCode = String.valueOf(removeMap.get("resultCode")); + if ("400".equalsIgnoreCase(removeCode)) { + String msg = String.valueOf(removeMap.get("resultMsg")); + throw new RRException(msg); + } + + //2.调用存储过程 校验材料的下料功能是否可以用 + Map checkMap = this.checkCuttingMaterialWithSfdcMaterial(site, orderNo, itemNo, seqNo, rmRollNo, transQty, histSeqNo); + //判断结果是否成功 + String checkCode = String.valueOf(checkMap.get("resultCode")); + if ("400".equalsIgnoreCase(checkCode)) { + String msg = String.valueOf(checkMap.get("resultMsg")); + throw new RRException(msg); + } + return checkMap; + } + + /** + * @Author LR + * @Description 调用存储过程 校验材料的下料功能是否可以用 + * @DateTime 2022/2/15 17:05 + * @Param [site, orderNo, itemNo, seqNo, rollNo, currentTime] + * @return java.util.Map + **/ + public Map checkCuttingMaterialWithSfdcMaterial(String site, String orderNo, Integer itemNo, String seqNo, String rmRollNo, Float transQty, int histSeqNo) { + List params = new ArrayList<>(); + params.add(site); + params.add(orderNo); + params.add(itemNo); + params.add(seqNo); + params.add(rmRollNo); + params.add(transQty); + params.add(histSeqNo); + //调用存储过程 + List> resultList = procedureMapper.getProcedureData("checkCuttingMaterialWithSfdcMaterial", params); + //处理返回的结果 + return resultList.get(0); + } + + /** + * @Author LR + * @Description 调用存储过程 校验是否可以移除材料 + * @DateTime 2022/2/15 16:53 + * @Param [site, orderNo, itemNo, seqNo, rollNo, currentTime] + * @return java.util.Map + **/ + public Map checkRemoveMaterialRoll(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("checkRemoveMaterialRoll", params); + //处理返回的结果 + return resultList.get(0); + } + + @Override + @Transactional + public void processCuttingMaterialRoll(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(); + String rmPartNo = inData.getRmPartNo(); + String username = inData.getOperatorId(); + String currentTime = DateUtil.getStringDate(new Date(), "yyyy-MM-dd HH:mm:ss"); + Float transQty = inData.getTransQty(); + Integer histSeqNo = inData.getHistSeqNo(); + + //调用校验的方法 + this.checkCuttingMaterial(inData); + + //调用存储过程 执行材料下料的功能 + this.processCuttingMaterialRoll(site, orderNo, itemNo, seqNo, rollNo, rmRollNo, rmPartNo, transQty, histSeqNo, username, currentTime); + } + + /** + * @Author LR + * @Description 调用存储过程 执行材料下料的功能 + * @DateTime 2022/2/15 17:18 + * @Param [site, orderNo, itemNo, seqNo, rollNo, rmRollNo, rmPartNo, transQty, histSeqNo, username, currentTime] + * @return void + **/ + public void processCuttingMaterialRoll(String site, String orderNo, Integer itemNo, String seqNo, String rollNo, String rmRollNo, String rmPartNo, Float transQty, + Integer histSeqNo, 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(rmPartNo); + params.add(transQty); + params.add(histSeqNo); + params.add(username); + params.add(currentTime); + //调用存储过程 + procedureMapper.execProduceData("processCuttingMaterialRoll", params); + } + } \ No newline at end of file