From 3d52dff06fd23ee793c38b69c30d4fd4eea35064 Mon Sep 17 00:00:00 2001 From: zpl Date: Thu, 25 Nov 2021 09:05:35 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E8=BD=A6=E9=97=B4=E5=BC=82=E5=B8=B8?= =?UTF-8?q?=E7=9C=8B=E6=9D=BF=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- common/src/main/resources/mapper/BoardMapper.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/src/main/resources/mapper/BoardMapper.xml b/common/src/main/resources/mapper/BoardMapper.xml index 70bc5544..9a91eed3 100644 --- a/common/src/main/resources/mapper/BoardMapper.xml +++ b/common/src/main/resources/mapper/BoardMapper.xml @@ -563,7 +563,7 @@ diff --git a/production/src/main/java/com/foreverwin/mesnac/production/service/impl/PodTemplateServiceImpl.java b/production/src/main/java/com/foreverwin/mesnac/production/service/impl/PodTemplateServiceImpl.java index 47c5c856..eaf41cc1 100644 --- a/production/src/main/java/com/foreverwin/mesnac/production/service/impl/PodTemplateServiceImpl.java +++ b/production/src/main/java/com/foreverwin/mesnac/production/service/impl/PodTemplateServiceImpl.java @@ -165,10 +165,12 @@ public class PodTemplateServiceImpl implements PodTemplateService { if (resultMap == null) { throw new BaseException("根据当前资源未找到条码[" + sfc + "]的基本信息!"); } + if(resultMap.get("EMPLOYEE_DESCRIPTION")==null||resultMap.get("EMPLOYEE_DESCRIPTION").equals("")){ + throw new BaseException("产品条码[" + sfc + "]的操作人员为空!请联系调度人员维护!"); + } //List> substepList = sfcCrossMapper.querySfcStep(site, sfc, operationBySfcBo.getOperation()); List> substepList = new ArrayList<>(); resultMap.put("SFC_STEP_LIST", substepList); - //是否需要自检和互检 String isCreateH = "N"; String isCreateZ = "N"; @@ -284,7 +286,7 @@ public class PodTemplateServiceImpl implements PodTemplateService { } BigDecimal workHour=BigDecimal.ZERO; BigDecimal qty = new BigDecimal(sfcServiceById.getQty().toString()); - if (!operation.equals("WX_6106GX")) { + if (!operation.equals("WX_6106GX")&&!operation.equals("HJ_6106JYGX")&&!operation.equals("HJ_6106JRGX")) { //是否有自检检验项目 List inspectionItemDetails = inspectionItemService.selectQualityInspection(sfc, operation, stepId, Constants.INSPECTION_TYPE_Z); if (inspectionItemDetails.size() > 0 && inspectionItemDetails.get(0) != null) { diff --git a/production/src/main/resources/mapper/SfcCrossMapper.xml b/production/src/main/resources/mapper/SfcCrossMapper.xml index 1530d3b5..1a88e754 100644 --- a/production/src/main/resources/mapper/SfcCrossMapper.xml +++ b/production/src/main/resources/mapper/SfcCrossMapper.xml @@ -94,7 +94,7 @@ CASE WHEN ST.STATUS='403' AND SS.QTY_IN_QUEUE > 0 THEN N'402' ELSE ST.STATUS END STATUS, OP.OPERATION, OT.DESCRIPTION OPERATION_DESC,OP.OPERATION||'/'||RS.STEP_ID OPERATION_STEP, RO_CF2.VALUE TOOL ,SOD.HANDLE SFC_DISPATCH_DETAIL_BO,SOD.WORK_CENTER,SOD.PROD_HOURS, - S.SFC,S.QTY SFC_QTY,RS.STEP_ID, SOD.DISPATCH_NO , + S.SFC,S.QTY SFC_QTY,RS.STEP_ID, SOD.DISPATCH_NO ,SOD.EMPLOYEE_DESCRIPTION, TO_CHAR( SOD.PLANNED_START_DATE + INTERVAL '8' HOUR,'yyyy-mm-dd hh24:mi:ss')START_DATE, TO_CHAR(SOD.PLANNED_COMP_DATE + INTERVAL '8' HOUR ,'yyyy-mm-dd hh24:mi:ss')COMP_DATE, TO_CHAR((SOD.PLANNED_COMP_DATE - SOD.PLANNED_START_DATE )*24,'fm9999999990.00')||'H' ADD_DATE, @@ -117,7 +117,7 @@ INNER JOIN ITEM I ON I.HANDLE = S.ITEM_BO LEFT JOIN ITEM_T IT ON IT.ITEM_BO = I.HANDLE AND IT.LOCALE =#{locale} INNER JOIN ( - SELECT SD.HANDLE, SD.SFC,SD.RESRCE,SD.OPERATION,SD.STEP_ID,SD.PLANNED_COMP_DATE, SD.PLANNED_START_DATE,SD.DISPATCH_NO,SD.WORK_CENTER,SD.PROD_HOURS + SELECT SD.HANDLE, SD.SFC,SD.RESRCE,SD.OPERATION,SD.STEP_ID,SD.PLANNED_COMP_DATE, SD.PLANNED_START_DATE,SD.DISPATCH_NO,SD.WORK_CENTER,SD.PROD_HOURS,SD.EMPLOYEE_DESCRIPTION FROM Z_PROD_READY_TASK RB INNER JOIN Z_SFC_DISPATCH SD ON SD.HANDLE = RB.SFC_DISPATCH_BO WHERE RB.SITE =#{site} AND RB.STATUS = 'FINISH' AND RB."RESULT"='OK' From 1e8589f8fc7f61de2f84f19eeb9eb235764bae72 Mon Sep 17 00:00:00 2001 From: philip <244793088@qq.com> Date: Tue, 28 Dec 2021 20:23:37 +0800 Subject: [PATCH 6/6] =?UTF-8?q?=E4=BA=A7=E5=93=81=E6=8A=A5=E5=BA=9F?= =?UTF-8?q?=E6=A3=80=E7=B4=A2=E6=89=80=E6=9C=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../anomaly/mapper/AbnormalBillMapper.java | 2 + .../service/impl/AbnormalBillServiceImpl.java | 108 +++++++++--------- .../resources/mapper/AbnormalBillMapper.xml | 45 ++++++++ 3 files changed, 103 insertions(+), 52 deletions(-) diff --git a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/mapper/AbnormalBillMapper.java b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/mapper/AbnormalBillMapper.java index 1783104f..2490aec9 100644 --- a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/mapper/AbnormalBillMapper.java +++ b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/mapper/AbnormalBillMapper.java @@ -48,4 +48,6 @@ public interface AbnormalBillMapper extends BaseMapper { IPage getAbnormalSFCPage(IPage page, @Param("paramMap")Map paramMap,@Param("keyword")String keyword); Map findReplaceMessageByAbnormal(@Param("abnormalBill")AbnormalBill abnormalBill); + + List findScrapDtoList(String site); } \ No newline at end of file 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 357de2a7..68307f33 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 @@ -1553,67 +1553,71 @@ public class AbnormalBillServiceImpl extends ServiceImpl scrapDtoBySfc = null; //根据用户提报上来的sfc和异常单查找主SFC - Map map = this.jgProductionIsScrap(abnormalNo, site, sfc); - String mainSfc = null; - String abnormalBo = null; - if(map != null){ - mainSfc = map.get("SFC"); - abnormalBo = map.get("HANDLE"); - } + if (StringUtils.notBlank(abnormalNo)||StringUtils.notBlank(sfc)){ + Map map = this.jgProductionIsScrap(abnormalNo, site, sfc); + String mainSfc = null; + String abnormalBo = null; + if(map != null){ + mainSfc = map.get("SFC"); + abnormalBo = map.get("HANDLE"); + } - List splitSfcs = null; - SplitSfc splitSfc = new SplitSfc(); - splitSfc.setSite(site); + List splitSfcs = null; + SplitSfc splitSfc = new SplitSfc(); + splitSfc.setSite(site); - //判断能否找到该主sfc。 - if(StringUtil.isBlank(mainSfc)){ - //判断该用户提报上来的sfc是否为空 - if(StringUtil.isBlank(sfc)) { - throw new BaseException("该异常单下没有报废的产品条码"); - } + //判断能否找到该主sfc。 + if(StringUtil.isBlank(mainSfc)){ + //判断该用户提报上来的sfc是否为空 + if(StringUtil.isBlank(sfc)) { + throw new BaseException("该异常单下没有报废的产品条码"); + } - //如果不为空,则判断根据这个sfc能从Z_SPLIT_SFC表中查找到主SFC吗,然后在判断主SFC是否已经报废 - splitSfc.setSplitSfc(sfc); - splitSfcs = splitSfcService.selectList(splitSfc); - if(splitSfcs.size()>0){ - Map map1 = this.jgProductionIsScrap(abnormalNo, site, splitSfcs.get(0).getSfc()); - mainSfc = map1.get("SFC"); - abnormalBo = map1.get("HANDLE"); - }else{ - if(!StringUtil.isBlank(sfc) && !StringUtil.isBlank(abnormalNo)){ - throw new BaseException("该异常单下的产品条码不是报废"); + //如果不为空,则判断根据这个sfc能从Z_SPLIT_SFC表中查找到主SFC吗,然后在判断主SFC是否已经报废 + splitSfc.setSplitSfc(sfc); + splitSfcs = splitSfcService.selectList(splitSfc); + if(splitSfcs.size()>0){ + Map map1 = this.jgProductionIsScrap(abnormalNo, site, splitSfcs.get(0).getSfc()); + mainSfc = map1.get("SFC"); + abnormalBo = map1.get("HANDLE"); + }else{ + if(!StringUtil.isBlank(sfc) && !StringUtil.isBlank(abnormalNo)){ + throw new BaseException("该异常单下的产品条码不是报废"); + } + throw new BaseException("该产品条码的异常方案不是报废"); } - throw new BaseException("该产品条码的异常方案不是报废"); + }else if(StringUtil.isBlank(sfc)){ + //根据异常单找到了主sfc,并且sfc参数为空,找到异常单主sfc下拆分的次sfc + splitSfc.setSfc(mainSfc); + splitSfcs = splitSfcService.selectList(splitSfc); } - }else if(StringUtil.isBlank(sfc)){ - //根据异常单找到了主sfc,并且sfc参数为空,找到异常单主sfc下拆分的次sfc - splitSfc.setSfc(mainSfc); - splitSfcs = splitSfcService.selectList(splitSfc); - } - List scrapDtoBySfc = abnormalBillMapper.findScrapDtoBySfc(site, mainSfc,splitSfcs); - - //如果用户提报上来的sfc不为空,并且不是主sfc,则把主sfc从scrapDtoBySfc去掉 - if(!StringUtil.isBlank(sfc) && !sfc.equals(mainSfc)){ - for (int i = 0; i < scrapDtoBySfc.size(); i++) { - if(scrapDtoBySfc.get(i).getSfc().equals(mainSfc)){ - scrapDtoBySfc.remove(scrapDtoBySfc.get(i)); - continue; + scrapDtoBySfc = abnormalBillMapper.findScrapDtoBySfc(site, mainSfc,splitSfcs); + + //如果用户提报上来的sfc不为空,并且不是主sfc,则把主sfc从scrapDtoBySfc去掉 + if(!StringUtil.isBlank(sfc) && !sfc.equals(mainSfc)){ + for (int i = 0; i < scrapDtoBySfc.size(); i++) { + if(scrapDtoBySfc.get(i).getSfc().equals(mainSfc)){ + scrapDtoBySfc.remove(scrapDtoBySfc.get(i)); + continue; + } } } - } - if(scrapDtoBySfc.size() <= 0){ - throw new BaseException("该产品条码的异常方案不是报废"); - } - - //查找到责任人,放到表里 - AbnormalBillDispose abnormalBillDispose = new AbnormalBillDispose(); - abnormalBillDispose.setAbnormalBillBo(abnormalBo); - List abnormalBillDisposes = abnormalBillDisposeService.selectList(abnormalBillDispose); - if(abnormalBillDisposes.size() > 0){ - for (int i = 0; i < scrapDtoBySfc.size(); i++) { - scrapDtoBySfc.get(i).setDutyUser(abnormalBillDisposes.get(0).getPrincipalUser()); + if(scrapDtoBySfc.size() <= 0){ + throw new BaseException("该产品条码的异常方案不是报废"); + } + //查找到责任人,放到表里 + AbnormalBillDispose abnormalBillDispose = new AbnormalBillDispose(); + abnormalBillDispose.setAbnormalBillBo(abnormalBo); + List abnormalBillDisposes = abnormalBillDisposeService.selectList(abnormalBillDispose); + if(abnormalBillDisposes.size() > 0){ + for (int i = 0; i < scrapDtoBySfc.size(); i++) { + scrapDtoBySfc.get(i).setDutyUser(abnormalBillDisposes.get(0).getPrincipalUser()); + } } + }else { + scrapDtoBySfc = abnormalBillMapper.findScrapDtoList(site); } return scrapDtoBySfc; } diff --git a/anomaly/src/main/resources/mapper/AbnormalBillMapper.xml b/anomaly/src/main/resources/mapper/AbnormalBillMapper.xml index 0ca0be65..585a36e4 100644 --- a/anomaly/src/main/resources/mapper/AbnormalBillMapper.xml +++ b/anomaly/src/main/resources/mapper/AbnormalBillMapper.xml @@ -76,6 +76,7 @@ + @@ -1234,6 +1235,50 @@ +