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 @@ +