|  |  | 
 |  |  |  | 
 |  |  | import com.baomidou.mybatisplus.mapper.EntityWrapper; | 
 |  |  | import com.baomidou.mybatisplus.mapper.Wrapper; | 
 |  |  | import com.core.common.Cools; | 
 |  |  | import com.core.common.DateUtils; | 
 |  |  | import com.core.common.R; | 
 |  |  | import com.core.common.SnowflakeIdWorker; | 
 |  |  | import com.core.common.*; | 
 |  |  | import com.core.exception.CoolException; | 
 |  |  | import com.zy.asrs.entity.*; | 
 |  |  | import com.zy.asrs.entity.param.*; | 
 |  |  | 
 |  |  |     private StaDescService staDescService; | 
 |  |  |     @Autowired | 
 |  |  |     private LocMastService locMastService; | 
 |  |  |     @Autowired | 
 |  |  |     private RgvOneSignService rgvOneSignService; | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     @Transactional | 
 |  |  | 
 |  |  |         WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", basDevp.getWrkNo())); | 
 |  |  |         if (Cools.isEmpty(wrkMast)){ | 
 |  |  |             throw new CoolException("站点:"+param.getDevNo()+" 工作中任务不存在,任务号:"+basDevp.getWrkNo()); | 
 |  |  |         }else if (!wrkMast.getWrkSts().equals(52L)){ | 
 |  |  |             throw new CoolException("站点:"+param.getDevNo()+" 工作中任务状态已变更,请勿重复申请,任务号:"+basDevp.getWrkNo()+",任务状态:"+wrkMast.getWrkSts$()); | 
 |  |  |         } | 
 |  |  | //        else if (!wrkMast.getWrkSts().equals(52L)){ | 
 |  |  | //            throw new CoolException("站点:"+param.getDevNo()+" 工作中任务状态已变更,请勿重复申请,任务号:"+basDevp.getWrkNo()+",任务状态:"+wrkMast.getWrkSts$()); | 
 |  |  | //        } | 
 |  |  |  | 
 |  |  |         List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", basDevp.getWrkNo())); | 
 |  |  |         if (Cools.isEmpty(wrkDetls) || wrkDetls.size()==0){ | 
 |  |  | 
 |  |  | //        labellerMatParam.setLabellingTime(DateUtils.convert(new Date())); | 
 |  |  | //        labellerMatParam.setLabTemplate("1"); | 
 |  |  | //        labellerMatParam.setOrderNo(orderNo); | 
 |  |  |         wrkMast.setWrkSts(53L); | 
 |  |  |         if (!wrkMastService.updateById(wrkMast)){ | 
 |  |  |             throw new CoolException("异常,请重新申请"); | 
 |  |  |         } | 
 |  |  | //        wrkMast.setWrkSts(53L); | 
 |  |  | //        if (!wrkMastService.updateById(wrkMast)){ | 
 |  |  | //            throw new CoolException("异常,请重新申请"); | 
 |  |  | //        } | 
 |  |  |         return labellerMatParam; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | 
 |  |  |             }else if (Cools.isEmpty(matList.getWeight()) || matList.getWeight().equals(0D)){ | 
 |  |  |                 throw new CoolException("规格:"+matList.getMatnr()+"、参数:净重 weight为空"); | 
 |  |  |             }else if (Cools.isEmpty(matList.getRoughWeight()) || matList.getRoughWeight().equals(0D)){ | 
 |  |  |                 throw new CoolException("规格:"+matList.getMatnr()+"、参数:毛重 roughWeight"); | 
 |  |  |                 throw new CoolException("规格:"+matList.getMatnr()+"、参数:毛重 roughWeight为空"); | 
 |  |  |             }else if (Cools.isEmpty(matList.getRollExtent()) || matList.getRollExtent().equals(0D)){ | 
 |  |  |                 throw new CoolException("规格:"+matList.getMatnr()+"、参数:卷长度 rollExtent"); | 
 |  |  |                 throw new CoolException("规格:"+matList.getMatnr()+"、参数:卷长度 rollExtent为空"); | 
 |  |  |             } | 
 |  |  | //            else if (Cools.isEmpty(matList.getJoint()) || matList.getJoint()==0){ | 
 |  |  | //                throw new CoolException("规格:"+matList.getMatnr()+"、参数:接头数 joint"); | 
 |  |  | 
 |  |  |             throw new CoolException("托盘条码:"+param.getBarcode()+"已存在,请勿重复组托"); | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         try{ | 
 |  |  |             int rgvOneType = rgvOneSignService.selectCount(new EntityWrapper<RgvOneSign>().eq("rgv_one_type", param.getPalletizingNo() + "barcode" + param.getBarcode())); | 
 |  |  |             if (rgvOneType==0){ | 
 |  |  |                 RgvOneSign rgvOneSign = new RgvOneSign(); | 
 |  |  |                 rgvOneSign.setRgvOneSign(param.getPalletizingNo()); | 
 |  |  |                 rgvOneSign.setRgvOneType(param.getPalletizingNo() + "barcode" + param.getBarcode()); | 
 |  |  |                 boolean insert = rgvOneSignService.insert(rgvOneSign); | 
 |  |  |                 if (!insert){ | 
 |  |  |                     throw new CoolException("托盘码标记添加失败,请重新下发!!!"); | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |         }catch (Exception e){ | 
 |  |  |             throw new CoolException("托盘码标记添加异常,请重新下发!!!"); | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         Date now = new Date(); | 
 |  |  |         for (PalletizingCompleteTwoFloorParam.MatList matList:param.getMatList()){ | 
 |  |  | 
 |  |  |             waitPakin.sync(mat); | 
 |  |  |             waitPakin.setBatch(matList.getBatch());       //木箱编码  //批次  唯一值  箱号 | 
 |  |  |             waitPakin.setModel(matList.getModel());       //卷号  唯一值 | 
 |  |  |             waitPakin.setBrand(param.getBoxType());     //木箱类型 | 
 |  |  |             String boxType = param.getBoxType(); | 
 |  |  |             try{ | 
 |  |  |                 BasBoxTypeService basBoxTypeService = SpringUtils.getBean(BasBoxTypeService.class); | 
 |  |  |                 BasBoxType basBoxType = basBoxTypeService.selectOne(new EntityWrapper<BasBoxType>().eq("box_specs", boxType)); | 
 |  |  |                 if (!Cools.isEmpty(basBoxType)){ | 
 |  |  |                     boxType = basBoxType.getBoxType(); | 
 |  |  |                 } | 
 |  |  |             } catch (Exception e){ | 
 |  |  |  | 
 |  |  |             } | 
 |  |  |             waitPakin.setBrand(boxType);     //木箱类型 | 
 |  |  |             waitPakin.setZpallet(param.getBarcode());   //托盘码 | 
 |  |  |             waitPakin.setOrigin(matList.getPosition()); //木箱在托盘上的位置 | 
 |  |  |             waitPakin.setWeight(matList.getWeight());  //净重 | 
 |  |  |             waitPakin.setVolume(matList.getRoughWeight());  //毛重 | 
 |  |  |             waitPakin.setPrice(matList.getRollExtent());   //长度 | 
 |  |  |             waitPakin.setSpecs(String.valueOf(matList.getJoint()));   //接头 | 
 |  |  |             waitPakin.setDanger(matList.getQualified());   //待判 | 
 |  |  |             waitPakin.setIoStatus("N");     // 入出状态 | 
 |  |  |             waitPakin.setAnfme(matList.getAnfme());  // 数量 | 
 |  |  |             waitPakin.setStatus("Y");    // 状态 | 
 |  |  | 
 |  |  |             if (!waitPakinService.insert(waitPakin)) { | 
 |  |  |                 throw new CoolException("保存入库通知档失败"); | 
 |  |  |             } | 
 |  |  |  | 
 |  |  |             RgvOneSign armNo = rgvOneSignService.selectOne(new EntityWrapper<RgvOneSign>().eq("rgv_one_type","armNo"+param.getPalletizingNo())); | 
 |  |  |             armNo.setRgvOneSign(1); | 
 |  |  |             rgvOneSignService.updateById(armNo); | 
 |  |  |  | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |     } | 
 |  |  | 
 |  |  |             throw new CoolException("参数:码垛位编号 palletizingNo为空"); | 
 |  |  |         }else if (Cools.isEmpty(param.getMatList()) || param.getMatList().size()==0){ | 
 |  |  |             throw new CoolException("参数:物料明细 matLists为空"); | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         if (Cools.isEmpty(param.getBarcode())){ | 
 |  |  |             throw new CoolException("参数:托盘码 barcode为空"); | 
 |  |  |         } | 
 |  |  |         WrkMast wrkMastMatrix = wrkMastService.selectByBarcode(param.getBarcode()); | 
 |  |  |         if (Cools.isEmpty(wrkMastMatrix)){ | 
 |  |  |             throw new CoolException("参数:托盘码查询工作档失败:"+param.getBarcode()); | 
 |  |  |         } | 
 |  |  |         if (!wrkMastMatrix.getSheetNo().equals("1")){ | 
 |  |  |             throw new CoolException("参数:此任务未上报禁止完成:"+param.getBarcode()); | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         ArrayList<WrkDetl> wrkDetlsNew = new ArrayList<>(); | 
 |  |  | 
 |  |  |         if (Cools.isEmpty(wrkMastMatrix)){ | 
 |  |  |             throw new CoolException("参数:托盘码查询工作档失败:"+param.getBarcode()); | 
 |  |  |         } | 
 |  |  |         if (!wrkMastMatrix.getSheetNo().equals("1")){ | 
 |  |  |             throw new CoolException("参数:此任务未上报禁止完成:"+param.getBarcode()); | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         wrkMastMatrix.setSheetNo("2"); | 
 |  |  |         wrkMastMatrix.setSheetNo("3"); | 
 |  |  |         if (!wrkMastService.updateById(wrkMastMatrix)){ | 
 |  |  |             throw new CoolException("更新工作档失败==》桁架上位软件:单托拆垛完成通知"); | 
 |  |  |         } | 
 |  |  | 
 |  |  |         return crnStn; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /* | 
 |  |  |      * FQC质检 | 
 |  |  |      * */ | 
 |  |  |     @Override | 
 |  |  |     @Transactional | 
 |  |  |     public void qualityInspection(QualityInspectionParam param) { | 
 |  |  |         //判断param参数 | 
 |  |  |         if (Cools.isEmpty(param.getBoxNo())){ | 
 |  |  |             throw new CoolException("参数:箱号 boxNo为空"); | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         List<LocDetl> locDetlList = locDetlService.selectList(new EntityWrapper<LocDetl>() | 
 |  |  |                 .eq("batch", param.getBoxNo()) | 
 |  |  |                 .eq("model", param.getModel()) | 
 |  |  |         ); | 
 |  |  |         if (locDetlList.isEmpty()){ | 
 |  |  |             throw new CoolException("未查询到对应箱号:"+param.getBoxNo()+";与卷号:"+param.getModel()+";的物料"); | 
 |  |  |         } | 
 |  |  |         for (LocDetl locDetl:locDetlList){ | 
 |  |  |             if (locDetl.getDanger()!=0){ | 
 |  |  |                 String dangerStr = ""; | 
 |  |  |                 if (locDetl.getDanger()==1){ | 
 |  |  |                     dangerStr = "合格"; | 
 |  |  |                 }else if (locDetl.getDanger()==2){ | 
 |  |  |                     dangerStr = "不合格"; | 
 |  |  |                 } | 
 |  |  |                 throw new CoolException("查询到对应箱号:"+param.getBoxNo()+";与卷号:"+param.getModel()+";的物料,但是已经标记为"+dangerStr+",不能重复标记!"); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         for (LocDetl locDetl:locDetlList){ | 
 |  |  |             if (locDetl.getDanger()==0){ | 
 |  |  |                 locDetl.setDanger(param.getDanger()); | 
 |  |  |                 locDetl.setMemo(param.getMemo()); | 
 |  |  |                 locDetlService.update(locDetl,new EntityWrapper<LocDetl>() | 
 |  |  |                         .eq("loc_no", locDetl.getLocNo()) | 
 |  |  |                         .eq("batch", param.getBoxNo())); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /*...........................上饶江铜..............以上.............徐工汉云...........................*/ | 
 |  |  | } |