diff --git a/src/main/java/com/gaotao/modules/schedule/controller/SchedulingController.java b/src/main/java/com/gaotao/modules/schedule/controller/SchedulingController.java index 396677a..ed49633 100644 --- a/src/main/java/com/gaotao/modules/schedule/controller/SchedulingController.java +++ b/src/main/java/com/gaotao/modules/schedule/controller/SchedulingController.java @@ -343,4 +343,66 @@ public class SchedulingController { .put("msg", "操作成功!"); } + /** + * TODO 刷新分切订单的菜单权限 + * @author LR + * @date 2022/4/7 14:31 + * @Param [inData] + * @return com.gaotao.common.utils.R + **/ + @RequestMapping(value = "refreshWorkPlatformButtonsWithSplit") + public R refreshWorkPlatformButtonsWithSplit(@RequestBody SearchScheduleData inData){ + Map resultMap = schedulingService.refreshWorkPlatformButtonsWithSplit(inData); + return R.ok() + .put("code", 200) + .put("msg", "操作成功!") + .put("resultMap", resultMap); + } + + /** + * TODO 获取分切派工单创建分卷的页面参数 + * @author LR + * @date 2022/4/8 16:38 + * @Param [inData] + * @return com.gaotao.common.utils.R + **/ + @RequestMapping(value = "getSplitScheduleCreateRollPageData") + public R getSplitScheduleCreateRollPageData(@RequestBody SearchScheduleData inData){ + Map pageMap = schedulingService.getSplitScheduleCreateRollPageData(inData); + return R.ok() + .put("code", 200) + .put("msg", "操作成功!") + .put("pageMap", pageMap); + } + + /** + * TODO 检查创建分切派工单的分卷 + * @author LR + * @date 2022/4/8 17:53 + * @Param [inData] + * @return com.gaotao.common.utils.R + **/ + @RequestMapping(value = "checkCreateSplitScheduleSeparateRoll") + public R checkCreateSplitScheduleSeparateRoll(@RequestBody SearchScheduleData inData){ + schedulingService.checkCreateSplitScheduleSeparateRoll(inData); + return R.ok() + .put("code", 200) + .put("msg", "操作成功!"); + } + + /** + * TODO 创建分切派工单的分卷 + * @author LR + * @date 2022/4/8 17:52 + * @Param [inData] + * @return com.gaotao.common.utils.R + **/ + @RequestMapping(value = "createSplitScheduleSeparateRoll") + public R createSplitScheduleSeparateRoll(@RequestBody SearchScheduleData inData){ + schedulingService.createSplitScheduleSeparateRoll(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 7dc6847..8bde4cd 100644 --- a/src/main/java/com/gaotao/modules/schedule/data/SearchScheduleData.java +++ b/src/main/java/com/gaotao/modules/schedule/data/SearchScheduleData.java @@ -139,6 +139,10 @@ public class SearchScheduleData extends BaseData { private Double timeRequired; // 预计重检时长 private String directRepackageflag; // 是否是换包装 private String sortField;//排序规则 + private String partDesc;//物料描述 + private String customerId;//客户编码 + private String fgPartNo;//产品编码 + private String supplierId;//供应商编码 private int rollCount; @@ -984,4 +988,36 @@ public class SearchScheduleData extends BaseData { public void setSortField(String sortField) { this.sortField = sortField; } + + public String getPartDesc() { + return partDesc; + } + + public void setPartDesc(String partDesc) { + this.partDesc = partDesc; + } + + public String getCustomerId() { + return customerId; + } + + public void setCustomerId(String customerId) { + this.customerId = customerId; + } + + public String getFgPartNo() { + return fgPartNo; + } + + public void setFgPartNo(String fgPartNo) { + this.fgPartNo = fgPartNo; + } + + public String getSupplierId() { + return supplierId; + } + + public void setSupplierId(String supplierId) { + this.supplierId = supplierId; + } } \ No newline at end of file diff --git a/src/main/java/com/gaotao/modules/schedule/service/SchedulingService.java b/src/main/java/com/gaotao/modules/schedule/service/SchedulingService.java index 3187fed..5b4dee7 100644 --- a/src/main/java/com/gaotao/modules/schedule/service/SchedulingService.java +++ b/src/main/java/com/gaotao/modules/schedule/service/SchedulingService.java @@ -202,4 +202,40 @@ public interface SchedulingService { * @return void **/ void scheduleOrderWithExpand(SearchScheduleData inData); + + /** + * TODO 刷新分切订单的菜单权限 + * @author LR + * @date 2022/4/7 14:32 + * @Param [inData] + * @return java.util.Map + **/ + Map refreshWorkPlatformButtonsWithSplit(SearchScheduleData inData); + + /** + * TODO 获取分切派工单创建分卷的页面参数 + * @author LR + * @date 2022/4/8 16:39 + * @Param [inData] + * @return java.util.Map + **/ + Map getSplitScheduleCreateRollPageData(SearchScheduleData inData); + + /** + * TODO 检查创建分切派工单的分卷 + * @author LR + * @date 2022/4/8 17:53 + * @Param [inData] + * @return void + **/ + void checkCreateSplitScheduleSeparateRoll(SearchScheduleData inData); + + /** + * TODO 创建分切派工单的分卷 + * @author LR + * @date 2022/4/8 18:02 + * @Param [inData] + * @return void + **/ + void createSplitScheduleSeparateRoll(SearchScheduleData inData); } diff --git a/src/main/java/com/gaotao/modules/schedule/service/impl/SchedulingServiceImpl.java b/src/main/java/com/gaotao/modules/schedule/service/impl/SchedulingServiceImpl.java index 988a9df..cc0a56e 100644 --- a/src/main/java/com/gaotao/modules/schedule/service/impl/SchedulingServiceImpl.java +++ b/src/main/java/com/gaotao/modules/schedule/service/impl/SchedulingServiceImpl.java @@ -2,12 +2,14 @@ package com.gaotao.modules.schedule.service.impl; import com.alibaba.fastjson.JSON; import com.gaotao.common.exception.RRException; +import com.gaotao.common.utils.DateUtil; import com.gaotao.modules.pda.dao.InventoryDao; import com.gaotao.modules.schedule.data.*; import com.gaotao.modules.schedule.mapper.ProcedureMapper; import com.gaotao.modules.schedule.mapper.ScheduleMapper; import com.gaotao.modules.schedule.mapper.SchedulingMapper; import com.gaotao.modules.schedule.service.SchedulingService; +import org.apache.ibatis.mapping.ResultMap; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -754,5 +756,145 @@ public class SchedulingServiceImpl implements SchedulingService { } } + @Override + public Map refreshWorkPlatformButtonsWithSplit(SearchScheduleData inData) { + String site = inData.getSite(); + String orderNo = inData.getOrderNo(); + int itemNo = inData.getItemNo(); + String seqNo = inData.getSeqNo(); + List params = new ArrayList<>(); + params.add(site); + params.add(orderNo); + params.add(itemNo); + params.add(seqNo); + List> resultList = procedureMapper.getProcedureData("refreshWorkPlatformButtonsWithSplit", params); + return resultList.get(0); + } + + @Override + public Map getSplitScheduleCreateRollPageData(SearchScheduleData inData) { + //公共参数 + String site = inData.getSite(); + String partNo = inData.getPartNo(); + String partDesc = inData.getPartDesc(); + String customerId = inData.getCustomerId(); + String fgPartNo = inData.getFgPartNo(); + String supplierId = inData.getSupplierId(); + //调用存储过程 --获取分切派工单 创建分卷的页面参数 + return this.getSplitScheduleCreateRollPageData(site, partNo, partDesc, customerId, fgPartNo, supplierId); + } + + /** + * TODO 获取分切派工单创建分卷的页面参数 + * @author LR + * @date 2022/4/8 16:57 + * @Param [site, partNo, partDesc, customerId, fgPartNo, supplierId] + * @return java.util.Map + **/ + public Map getSplitScheduleCreateRollPageData(String site, String partNo, String partDesc, String customerId, String fgPartNo, String supplierId) { + List params = new ArrayList<>(); + params.add(site); + params.add(partNo); + params.add(partDesc); + params.add(customerId); + params.add(fgPartNo); + params.add(supplierId); + List> resultList = procedureMapper.getProcedureData("getSplitScheduleCreateRollPageData", params); + return resultList.get(0); + } + + @Override + public void checkCreateSplitScheduleSeparateRoll(SearchScheduleData inData) { + //公共参数 + String site = inData.getSite(); + String partNo = inData.getPartNo(); + String customerId = inData.getCustomerId(); + String fgPartNo = inData.getFgPartNo(); + //执行存储过程 检查是都可以创建卷 + Map resultMap = this.checkCreateSplitScheduleSeparateRoll(site, customerId, partNo, fgPartNo); + //判断是否检验成功 + String resultCode = String.valueOf(resultMap.get("resultCode")); + if (!"200".equalsIgnoreCase(resultCode)) { + String msg = String.valueOf(resultMap.get("resultMsg")); + throw new RRException(msg, Integer.parseInt(resultCode)); + } + } + + /** + * TODO 检查创建分切派工单的分卷 + * @author LR + * @date 2022/4/8 18:12 + * @Param [site, customerId, partNo, fgPartNo] + * @return java.util.Map + **/ + public Map checkCreateSplitScheduleSeparateRoll(String site, String customerId, String partNo, String fgPartNo) { + List params = new ArrayList<>(); + params.add(site); + params.add(customerId); + params.add(partNo); + params.add(fgPartNo); + List> resultList = procedureMapper.getProcedureData("slittingorder_createroll_check", params); + return resultList.get(0); + } + + @Override + @Transactional + public void createSplitScheduleSeparateRoll(SearchScheduleData inData) { + //公共参数 + String site = inData.getSite(); + String orderNo = inData.getOrderNo(); + int itemNo = inData.getItemNo(); + String username = inData.getUsername(); + String partNo = inData.getPartNo(); + String partDesc = inData.getPartDesc(); + String customerId = inData.getCustomerId(); + String fgPartNo = inData.getFgPartNo(); + String supplierId = inData.getSupplierId(); + Float rollQty = inData.getRollQty(); + int rollNums = inData.getRollNums(); + String rollNo = inData.getRollNo(); + String rollDate = DateUtil.getStringDate(new Date(), "yyyy-Mm-dd"); + String splitType = "P"; + String supplierNote = ""; + + //首先调用存储过程校验 + this.checkCreateSplitScheduleSeparateRoll(inData); + //校验通过执行创建分卷的操作 + Map resultMap = this.createSplitScheduleSeparateRoll(site, orderNo, itemNo, splitType, supplierId, username, rollQty, rollNums, rollDate, customerId, partNo, fgPartNo, supplierNote, rollNo); + //判断是否检验成功 + String resultCode = String.valueOf(resultMap.get("resultCode")); + if (!"200".equalsIgnoreCase(resultCode)) { + String msg = String.valueOf(resultMap.get("resultMsg")); + throw new RRException(msg, Integer.parseInt(resultCode)); + } + } + + /** + * TODO 校验通过执行创建分卷的操作 + * @author LR + * @date 2022/4/8 18:20 + * @Param [site, orderNo, itemNo, splitType, supplierId, username, rollQty, rollNums, rollDate, customerId, partNo, fgPartNo, supplierNote, rollNo] + * @return void + **/ + public Map createSplitScheduleSeparateRoll(String site, String orderNo, int itemNo, String splitType, String supplierId, String username, Float rollQty, int rollNums, + String rollDate, String customerId, String partNo, String fgPartNo, String supplierNote, String rollNo) { + List params = new ArrayList<>(); + params.add(site); + params.add(orderNo); + params.add(itemNo); + params.add(splitType); + params.add(supplierId); + params.add(username); + params.add(rollQty); + params.add(rollNums); + params.add(rollDate); + params.add(customerId); + params.add(partNo); + params.add(fgPartNo); + params.add(supplierNote); + params.add(rollNo); + List> resultList = procedureMapper.getProcedureData("slittingorder_createroll_action", params); + return resultList.get(0); + } } diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index 9c81a20..a6c8f62 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -4,7 +4,8 @@ spring: druid: driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver type: com.alibaba.druid.pool.DruidDataSource - url: jdbc:sqlserver://xujiesoft.vicp.net:11512;databaseName=XJMES + #url: jdbc:sqlserver://xujiesoft.vicp.net:11512;databaseName=XJMES + url: jdbc:sqlserver://192.168.1.84:1433;databaseName=XJMES username: xjsoft password: XsoftJ123 initial-size: 10 diff --git a/src/main/resources/mapper/schedule/SchedulingMapper.xml b/src/main/resources/mapper/schedule/SchedulingMapper.xml index d73a4b1..6ab0118 100644 --- a/src/main/resources/mapper/schedule/SchedulingMapper.xml +++ b/src/main/resources/mapper/schedule/SchedulingMapper.xml @@ -197,6 +197,9 @@ AND Isnull(S1.ScheduledFlag, 'Y') = #{scheduledFlag} + + AND T.OrderNo = #{orderNo} + AND dbo.Get_SOOpsScheduleAvailResource(T.Site,T.OrderNo,T.WorkCenterNo,T.ItemNo) like '%' + #{resourceId} + '(%'