From 12f3e7b257cfd52b88d1e113de0f7946e60c5a29 Mon Sep 17 00:00:00 2001 From: philip <244793088@qq.com> Date: Wed, 4 Aug 2021 22:27:27 +0800 Subject: [PATCH 1/7] =?UTF-8?q?=E8=89=AF=E5=93=81=E6=8B=86=E5=88=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/SplitSfcController.java | 15 +++++ .../production/service/SplitSfcService.java | 4 ++ .../service/impl/SplitSfcServiceImpl.java | 57 +++++++++++++++++++ .../main/resources/mapper/SplitSfcMapper.xml | 3 +- 4 files changed, 78 insertions(+), 1 deletion(-) diff --git a/production/src/main/java/com/foreverwin/mesnac/production/controller/SplitSfcController.java b/production/src/main/java/com/foreverwin/mesnac/production/controller/SplitSfcController.java index d63abafb..cd01bbea 100644 --- a/production/src/main/java/com/foreverwin/mesnac/production/controller/SplitSfcController.java +++ b/production/src/main/java/com/foreverwin/mesnac/production/controller/SplitSfcController.java @@ -32,6 +32,21 @@ public class SplitSfcController { return R.ok(result); } + @ResponseBody + @GetMapping("/getGoodSfcData") + public R getGoodSfcData(String sfc){ + SfcDto result; + result = splitSfcService.getGoodSfcData(sfc); + return R.ok(result); + } + + + @ResponseBody + @GetMapping("/goodSfcSplit") + public R goodSfcSplit(SfcDto sfcDto){ + return R.ok(splitSfcService.goodSfcSplit(sfcDto)); + } + @ResponseBody @GetMapping("/splitSfc") public R getSfcData(SfcDto sfcDto){ diff --git a/production/src/main/java/com/foreverwin/mesnac/production/service/SplitSfcService.java b/production/src/main/java/com/foreverwin/mesnac/production/service/SplitSfcService.java index 4e8e4c27..7a7e9309 100644 --- a/production/src/main/java/com/foreverwin/mesnac/production/service/SplitSfcService.java +++ b/production/src/main/java/com/foreverwin/mesnac/production/service/SplitSfcService.java @@ -29,5 +29,9 @@ public interface SplitSfcService extends IService { SfcDto getSfcData(String sfc); + SfcDto getGoodSfcData(String sfc); + + SplitSfc goodSfcSplit(SfcDto sfcDto); + SplitSfc splitSfc(SfcDto sfcDto); } \ No newline at end of file diff --git a/production/src/main/java/com/foreverwin/mesnac/production/service/impl/SplitSfcServiceImpl.java b/production/src/main/java/com/foreverwin/mesnac/production/service/impl/SplitSfcServiceImpl.java index 54b6ccee..a7d5f1f1 100644 --- a/production/src/main/java/com/foreverwin/mesnac/production/service/impl/SplitSfcServiceImpl.java +++ b/production/src/main/java/com/foreverwin/mesnac/production/service/impl/SplitSfcServiceImpl.java @@ -83,6 +83,63 @@ public class SplitSfcServiceImpl extends ServiceImpl i return sfcData; } @Override + public SfcDto getGoodSfcData(String sfc) { + String site = CommonMethods.getSite(); + String handle = HandleEnum.SFC.getHandle(site, sfc); + //根据sfc找工单等信息 + SfcDto sfcData = splitSfcMapper.getSfcData(handle); + if (sfcData==null){ + throw new BaseException("未找到产品条码信息"); + } + if (!sfcData.getStatus().equals("401")&&!sfcData.getStatus().equals("402")){ + throw new BaseException("产品状态不可拆分"); + } + if (sfcData.getQty()==1){ + throw new BaseException("数量为1不可拆分"); + } + return sfcData; + } + @Override + public SplitSfc goodSfcSplit(SfcDto sfcDto){ + String site = CommonMethods.getSite(); + String sfc = sfcDto.getSfc(); + BigDecimal splitQty = new BigDecimal(sfcDto.getQty()); + + //根据sfc找工单等信息 + SfcDto sfcData =getGoodSfcData(sfc); + + SplitSfcRequest splitSfcRequest=new SplitSfcRequest(); + try { + SplitSerializeServiceInterface splitService = MEServices.create("com.sap.me.production", "SplitSerializeService",site); + //拆sfc + List newList=new ArrayList<>(); + SplitSfcDetail splitDetail=new SplitSfcDetail(); + splitDetail.setQuantity(splitQty); + newList.add(splitDetail); + splitSfcRequest.setNewSfcList(newList); + splitSfcRequest.setSfcRef(HandleEnum.SFC.getHandle(site,sfc)); + Collection splitSfcResponses = splitService.splitSfc(splitSfcRequest); + SplitSfcResponse splitSfcResponse = splitSfcResponses.iterator().next(); + String newSfcRef = splitSfcResponse.getNewSfcRef(); + + SplitSfc splitSfc=new SplitSfc(); + String newSfc = StringUtil.trimHandle(newSfcRef); + splitSfc.setHandle(HandleEnum.SPLIT_SFC.getHandle(site,newSfc)); + splitSfc.setSite(site); + splitSfc.setSfc(sfc); + splitSfc.setSplitSfc(newSfc); + splitSfc.setSplitQty(splitQty); + splitSfc.setCreateUser(CommonMethods.getUser()); + splitSfc.setCreatedDateTime(LocalDateTime.now()); + save(splitSfc); + String workCenterBo = shopOrderService.getById(HandleEnum.SHOP_ORDER.getHandle(site, sfcData.getShopOrder())).getPlannedWorkCenterBo(); + return splitSfc; + } catch (Exception e) { + ExceptionUtil.throwException(e); + } + return null; + } + @Override public SplitSfc splitSfc(SfcDto sfcDto){ String site = CommonMethods.getSite(); String sfc = sfcDto.getSfc(); diff --git a/production/src/main/resources/mapper/SplitSfcMapper.xml b/production/src/main/resources/mapper/SplitSfcMapper.xml index 10a68aa5..66587280 100644 --- a/production/src/main/resources/mapper/SplitSfcMapper.xml +++ b/production/src/main/resources/mapper/SplitSfcMapper.xml @@ -367,8 +367,9 @@ SELECT S.SFC SFC, CASE WHEN S2.STATUS = '401' THEN '新建' - WHEN S2.STATUS = '402' THEN '排队' - WHEN S2.STATUS = '403' THEN '活动' - WHEN S2.STATUS = '407' THEN '报废' - END STATUS, - SUBSTR(SS.OPERATION_BO ,INSTR(SS.OPERATION_BO ,',',1)+1,(INSTR(SS.OPERATION_BO ,'#',1)-1)-(INSTR(SS.OPERATION_BO ,',',1)+1)) || '/' || SS.STEP_ID OPERATION, - ZSD.RESRCE RESRCE,ZSD.SHOP_ORDER SHOP_ORDER, - CASE WHEN I.ITEM != 'NULL' THEN I.ITEM || '/' || I.REVISION END ITEM, - CASE WHEN R.ROUTER != 'NULL' THEN R.ROUTER || '/' || R.REVISION END ROUTER , - CASE WHEN B.BOM != 'NULL' THEN B.BOM || '/' || B.REVISION END BOM + WHEN S2.STATUS = '402' THEN '排队' + WHEN S2.STATUS = '403' THEN '活动' + WHEN S2.STATUS = '407' THEN '报废' + END STATUS, + SUBSTR(SS.OPERATION_BO ,INSTR(SS.OPERATION_BO ,',',1)+1,(INSTR(SS.OPERATION_BO ,'#',1)-1)-(INSTR(SS.OPERATION_BO ,',',1)+1)) || '/' || SS.STEP_ID OPERATION, + ZSD.RESRCE RESRCE,ZSD.SHOP_ORDER SHOP_ORDER, + CASE WHEN I.ITEM != 'NULL' THEN I.ITEM || '/' || I.REVISION END ITEM, + CASE WHEN R.ROUTER != 'NULL' THEN R.ROUTER || '/' || R.REVISION END ROUTER , + CASE WHEN B.BOM != 'NULL' THEN B.BOM || '/' || B.REVISION END BOM, + CASE WHEN ZSS.HANDLE != 'NULL' THEN ZSS.REASON + ELSE ZABV.PB_DESCRIPTION + END REASON FROM SFC S - INNER JOIN SFC_ROUTING SR ON SR.SFC_BO = S.HANDLE - INNER JOIN SFC_ROUTER ST ON ST.SFC_ROUTING_BO = SR.HANDLE - INNER JOIN SFC_STEP SS ON SS.SFC_ROUTER_BO = ST.HANDLE AND (SS.QTY_IN_QUEUE > 0 OR SS.QTY_IN_WORK > 0) - INNER JOIN STATUS S2 ON S2.HANDLE = S.STATUS_BO - INNER JOIN Z_SFC_DISPATCH ZSD ON ZSD.DISPATCH_NO = S.SFC || '-' || SS.STEP_ID - LEFT JOIN SHOP_ORDER SO ON SO.SHOP_ORDER = ZSD.SHOP_ORDER AND SO.SITE = S.SITE - LEFT JOIN ITEM I ON I.HANDLE = SO.PLANNED_ITEM_BO - LEFT JOIN ROUTER R ON R.HANDLE = ZSD.ROUTER_BO - LEFT JOIN BOM B ON B.HANDLE = SO.PLANNED_BOM_BO + INNER JOIN SFC_ROUTING SR ON SR.SFC_BO = S.HANDLE + INNER JOIN SFC_ROUTER ST ON ST.SFC_ROUTING_BO = SR.HANDLE + INNER JOIN SFC_STEP SS ON SS.SFC_ROUTER_BO = ST.HANDLE AND (SS.QTY_IN_QUEUE > 0 OR SS.QTY_IN_WORK > 0) + INNER JOIN STATUS S2 ON S2.HANDLE = S.STATUS_BO + INNER JOIN Z_SFC_DISPATCH ZSD ON ZSD.DISPATCH_NO = S.SFC || '-' || SS.STEP_ID + LEFT JOIN SHOP_ORDER SO ON SO.SHOP_ORDER = ZSD.SHOP_ORDER AND SO.SITE = S.SITE + LEFT JOIN ITEM I ON I.HANDLE = SO.PLANNED_ITEM_BO + LEFT JOIN ROUTER R ON R.HANDLE = ZSD.ROUTER_BO + LEFT JOIN Z_SFC_SCRAP ZSS ON ZSS.SFC = S.SFC AND ZSS.SITE = S.SITE + LEFT JOIN BOM B ON B.HANDLE = SO.PLANNED_BOM_BO + INNER JOIN ( SELECT * FROM Z_ABNORMAL_BILL_VIEW ZABV WHERE ZABV.HANDLE = (SELECT MAX(HANDLE) FROM Z_ABNORMAL_BILL_VIEW) ) ZABV ON ZABV.SFC = S.SFC AND ZABV.SITE= S.SITE S.SITE = #{site} AND S.SFC = #{sfc} diff --git a/common/src/main/java/com/foreverwin/mesnac/common/service/AnomalyService.java b/common/src/main/java/com/foreverwin/mesnac/common/service/AnomalyService.java index 6584a38c..8952f968 100644 --- a/common/src/main/java/com/foreverwin/mesnac/common/service/AnomalyService.java +++ b/common/src/main/java/com/foreverwin/mesnac/common/service/AnomalyService.java @@ -23,7 +23,7 @@ public interface AnomalyService { void createAnomalyTask(String category, String resource, String shopOrder, String sfc, String ncCodes,String position,String ncQty, - String ncDescription,String userGroup,String remark); + String ncDescription,String userGroup); /** * 判断产品条码在质量异常中是否为报废 From 7a53834f9188c2ea69f0dc7671cfb93923117e10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E5=98=89=E4=BC=9F?= <1724121454@qq.com> Date: Thu, 5 Aug 2021 13:46:23 +0800 Subject: [PATCH 4/7] =?UTF-8?q?=E7=94=9F=E4=BA=A7-=E5=BC=82=E5=B8=B8=20?= =?UTF-8?q?=E8=AE=BE=E5=A4=87=E5=92=8C=E5=85=B6=E4=BB=96=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/foreverwin/mesnac/common/dto/ScrapDto.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/common/src/main/java/com/foreverwin/mesnac/common/dto/ScrapDto.java b/common/src/main/java/com/foreverwin/mesnac/common/dto/ScrapDto.java index 701ce0a9..4b15b007 100644 --- a/common/src/main/java/com/foreverwin/mesnac/common/dto/ScrapDto.java +++ b/common/src/main/java/com/foreverwin/mesnac/common/dto/ScrapDto.java @@ -22,6 +22,8 @@ public class ScrapDto { private String bom; + private String reason; + public String getSfc() { return sfc; } @@ -85,4 +87,12 @@ public class ScrapDto { public void setBom(String bom) { this.bom = bom; } + + public String getReason() { + return reason; + } + + public void setReason(String reason) { + this.reason = reason; + } } From ca25362497cfafc13e12ac9e70f62fbfee659cc6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E5=98=89=E4=BC=9F?= <1724121454@qq.com> Date: Thu, 5 Aug 2021 14:35:14 +0800 Subject: [PATCH 5/7] =?UTF-8?q?=E5=BE=85=E5=8A=9E=E4=BA=8B=E9=A1=B9?= =?UTF-8?q?=E6=8A=8A=E4=B8=8D=E8=89=AF=E4=BB=A3=E7=A0=81=E6=94=B9=E4=B8=BA?= =?UTF-8?q?=E4=B8=8D=E8=89=AF=E4=BB=A3=E7=A0=81=E7=9A=84=E6=8F=8F=E8=BF=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mesnac/anomaly/dto/AbnormalBillDto.java | 10 +++++++++ .../service/impl/AbnormalBillServiceImpl.java | 1 - .../resources/mapper/AbnormalBillMapper.xml | 21 ++++++++++++------- 3 files changed, 24 insertions(+), 8 deletions(-) diff --git a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/dto/AbnormalBillDto.java b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/dto/AbnormalBillDto.java index 4fbfe94b..27df7b40 100644 --- a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/dto/AbnormalBillDto.java +++ b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/dto/AbnormalBillDto.java @@ -42,6 +42,8 @@ public class AbnormalBillDto extends AbnormalBill { private String resolveRemark; + private String ncCodeDescription; + public String getSeq() { return seq; } @@ -123,4 +125,12 @@ public class AbnormalBillDto extends AbnormalBill { public void setReportUser(String reportUser) { this.reportUser = reportUser; } + + public String getNcCodeDescription() { + return ncCodeDescription; + } + + public void setNcCodeDescription(String ncCodeDescription) { + this.ncCodeDescription = ncCodeDescription; + } } diff --git a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/AbnormalBillServiceImpl.java b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/AbnormalBillServiceImpl.java index f6537990..8978e5da 100644 --- a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/AbnormalBillServiceImpl.java +++ b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/AbnormalBillServiceImpl.java @@ -310,7 +310,6 @@ public class AbnormalBillServiceImpl extends ServiceImpl backLog(AbnormalBillDto abnormalBillDto) { String language = LocaleContextHolder.getLocale().getLanguage(); return abnormalBillMapper.backLog(abnormalBillDto, language); - } @Override diff --git a/anomaly/src/main/resources/mapper/AbnormalBillMapper.xml b/anomaly/src/main/resources/mapper/AbnormalBillMapper.xml index 5615b27c..f1081577 100644 --- a/anomaly/src/main/resources/mapper/AbnormalBillMapper.xml +++ b/anomaly/src/main/resources/mapper/AbnormalBillMapper.xml @@ -56,6 +56,7 @@ + @@ -875,13 +876,17 @@