| | |
| | | |
| | | 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"); |
| | | // } |
| | | |
| | | if (matList.getPosition().equals("1")){//1、左 2、右 |
| | | if (!matnrOne.equals("")){ |
| | |
| | | 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.setRoughWeight(matList.getRoughWeight()); //毛重 |
| | | // waitPakin.setRollExtent(matList.getRollExtent()); //长度 |
| | | 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()); |
| | | if (param.getDanger()==2){ |
| | | String memo = Cools.isEmpty(locDetl.getMemo())? "" : locDetl.getMemo()+","; |
| | | locDetl.setMemo(memo+"质检结果不合格:"+param.getMemo());//不合格会给备注,需要把备注给到包装做展示 |
| | | } |
| | | locDetlService.update(locDetl,new EntityWrapper<LocDetl>() |
| | | .eq("loc_no", locDetl.getLocNo()) |
| | | .eq("batch", param.getBoxNo())); |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | /*...........................上饶江铜..............以上.............徐工汉云...........................*/ |
| | | } |