|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if(param.getIoType() == 1) { | 
|---|
|  |  |  | List<SearchLocParam.WantBucket> wantBucketFlag = param.getWantBucketFlag(); | 
|---|
|  |  |  | Optional<SearchLocParam.WantBucket> first = wantBucketFlag.stream().filter(wantBucket -> wantBucket.getBucketType() == param.getBucketType()).findFirst(); | 
|---|
|  |  |  | if (first.isPresent()) { | 
|---|
|  |  |  | if(waitPakin == null) { | 
|---|
|  |  |  | return R.error("入库通知档为空"); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | dto = startupFullPutStore(param,waitPakin,first.get()); // 直供罐装线任务 | 
|---|
|  |  |  | if (dto != null) { | 
|---|
|  |  |  | log.info("WCS入库直供罐装线接口返参:{},托盘码:{}", dto, param.getBarcode()); | 
|---|
|  |  |  | return R.ok().add(dto); | 
|---|
|  |  |  | for(SearchLocParam.WantBucket wantBucket: wantBucketFlag) { | 
|---|
|  |  |  | if(wantBucket.getBucketType() != 0 && wantBucket.getBucketType() == param.getBucketType()) { // 罐装线有要桶信号并且当前桶是罐装线要的桶 | 
|---|
|  |  |  | if(waitPakin == null) { | 
|---|
|  |  |  | return R.error("入库通知档为空"); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | int count = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("wrk_sts", 2).eq("sta_no", wantBucket.getSite())); | 
|---|
|  |  |  | if(wantBucket.getSite() == 1071 && count < 12 || wantBucket.getSite() == 1064 && count < 10 || wantBucket.getSite() == 1078 && count < 12) { | 
|---|
|  |  |  | dto = startupFullPutStore(param,waitPakin,wantBucket); // 直供罐装线任务 | 
|---|
|  |  |  | if (dto != null) { | 
|---|
|  |  |  | log.info("WCS入库直供罐装线接口返参:{},托盘码:{}", dto, param.getBarcode()); | 
|---|
|  |  |  | return R.ok().add(dto); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | log.warn("直供灌装线任务已满,入成品库,入库目标站点{},任务数:{}",wantBucket.getSite(),count); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 获取系统配置,看成品罐装完成是否直接出到发货口 | 
|---|
|  |  |  | Config config = configService.selectConfigByCode("gzwcfh"); | 
|---|
|  |  |  | String fhFlag = ""; | 
|---|
|  |  |  | boolean fhFlag = false; | 
|---|
|  |  |  | if (config != null && config.getStatus() == 1 && !Cools.isEmpty(config.getValue())) { | 
|---|
|  |  |  | fhFlag = config.getValue(); | 
|---|
|  |  |  | String[] split = config.getValue().split("="); | 
|---|
|  |  |  | for(String item : split) { | 
|---|
|  |  |  | if(param.getMatnr().equals(item)) { | 
|---|
|  |  |  | fhFlag = true; | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Date now = new Date(); | 
|---|
|  |  |  | 
|---|
|  |  |  | //            dto.setSourceStaNo(wrkMast.getSourceStaNo()); | 
|---|
|  |  |  | //            dto.setStaNo(wrkMast.getStaNo()); | 
|---|
|  |  |  | //        } else | 
|---|
|  |  |  | if(param.getMatnr().equals(fhFlag)) { // 直接发货 | 
|---|
|  |  |  | if(fhFlag) { // 直接发货 | 
|---|
|  |  |  | // 生成工作档 ------------------------------------------------------ | 
|---|
|  |  |  | WrkMast wrkMast = new WrkMast(); | 
|---|
|  |  |  | wrkMast.setWrkNo(commonService.getWorkNo(0)); | 
|---|
|  |  |  | 
|---|
|  |  |  | wrkMast.setIoPri(13D); // 优先级 | 
|---|
|  |  |  | //            wrkMast.setCrnNo(dto.getCrnNo()); | 
|---|
|  |  |  | wrkMast.setSourceStaNo(param.getSourceStaNo()); | 
|---|
|  |  |  | wrkMast.setStaNo(1024); | 
|---|
|  |  |  | wrkMast.setStaNo(1016); | 
|---|
|  |  |  | //            wrkMast.setLocNo(dto.getLocNo()); | 
|---|
|  |  |  | wrkMast.setBarcode(wrkMast1.getBarcode()); // 托盘码 | 
|---|
|  |  |  | wrkMast.setFullPlt("Y"); // 满板:Y | 
|---|
|  |  |  | 
|---|
|  |  |  | // 源站点状态检测 | 
|---|
|  |  |  | BasDevp sourceStaNo = basDevpService.checkSiteStatus(param.getSourceStaNo(), true); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 判断空桶库有多少这种桶型 | 
|---|
|  |  |  | int count = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("matnr", param.getBucketType()).where("CAST(SUBSTRING(loc_no, 1, 2) as int) >= 9")); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 小于10个则直供罐装线,避免入空桶库后在出库 | 
|---|
|  |  |  | if (count > 10) { | 
|---|
|  |  |  | return null; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //        // 判断空桶库有多少这种桶型 | 
|---|
|  |  |  | //        int count = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("matnr", param.getBucketType()).where("CAST(SUBSTRING(loc_no, 1, 2) as int) >= 9")); | 
|---|
|  |  |  | // | 
|---|
|  |  |  | //        // 小于10个则直供罐装线,避免入空桶库后在出库 | 
|---|
|  |  |  | //        if (count > 10) { | 
|---|
|  |  |  | //             return null; | 
|---|
|  |  |  | //        } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | StartupDto dto = commonService.getLocNo(param,wantBucket.getSite()); | 
|---|
|  |  |  | int workNo = dto.getWorkNo(); | 
|---|