| | |
| | | package com.zy.asrs.service.impl; |
| | | |
| | | import com.alibaba.excel.util.DateUtils; |
| | | import com.alibaba.excel.util.StringUtils; |
| | | import com.alibaba.fastjson.JSONArray; |
| | | import com.alibaba.fastjson.JSONObject; |
| | |
| | | import com.core.exception.CoolException; |
| | | import com.zy.asrs.entity.*; |
| | | import com.zy.asrs.entity.mes.*; |
| | | import com.zy.asrs.entity.param.CombParam; |
| | | import com.zy.asrs.entity.param.EmptyPlateOutParam; |
| | | import com.zy.asrs.entity.rcs.*; |
| | | import com.zy.asrs.mapper.AgvInfoMapper; |
| | | import com.zy.asrs.mapper.MatItemBarcodeMapper; |
| | | import com.zy.asrs.service.*; |
| | | import com.zy.asrs.utils.OrderInAndOutUtil; |
| | | import com.zy.common.model.DetlDto; |
| | | import com.zy.common.model.LocDetlDto; |
| | | import com.zy.common.model.enums.WorkNoType; |
| | | import com.zy.common.service.CommonService; |
| | | import lombok.extern.slf4j.Slf4j; |
| | |
| | | import javax.annotation.Resource; |
| | | import java.text.ParseException; |
| | | import java.util.*; |
| | | import java.util.concurrent.ExecutionException; |
| | | import java.util.stream.Collectors; |
| | | import java.util.stream.Stream; |
| | | |
| | | @Slf4j |
| | | @Service |
| | |
| | | @Resource |
| | | private MobileService mobileService; |
| | | |
| | | @Resource |
| | | private WrkMastService wrkMastService; |
| | | |
| | | @Resource |
| | | private WrkDetlService wrkDetlService; |
| | | |
| | | |
| | | // region MES接口 |
| | | |
| | |
| | | MesReturn mesReturn = new MesReturn(); |
| | | |
| | | // 1、物料信息同步 |
| | | int matSuccess = 0; |
| | | for (MesMatInfo mesMatInfo : matRecvForm.getItemdata()) { |
| | | if (synMatInfo(mesMatInfo) == 1) { |
| | | matSuccess++; |
| | | } else { |
| | | throw new CoolException("同步物料信息失败"); |
| | | } |
| | |
| | | orderDetlPakin.setMaktx(mat.getMaktx()); |
| | | orderDetlPakin.setSpecs(mat.getSpecs()); |
| | | orderDetlPakin.setModel(mat.getModel()); |
| | | orderDetlPakin.setStandby1(JSONObject.toJSONString(mesMat.getItemBarcode())); // 零件二维码 |
| | | orderDetlPakin.setStandby1(barCodeListToStr(mesMat.getItemBarcode())); // 零件二维码 |
| | | orderDetlPakin.setStandby2("1"); //保存齐套性检查标识,1 检查;0 不检查; |
| | | orderDetlPakin.setCreateBy(defaultUserId); |
| | | orderDetlPakin.setCreateTime(now); |
| | |
| | | * @param mesOutApply |
| | | * @return 1 成功;-1 订单重复; |
| | | */ |
| | | @Transactional |
| | | public int outBoundOrder(MesOutApply mesOutApply){ |
| | | |
| | | // 空托出库 |
| | | if (StringUtils.isEmpty(mesOutApply.getOrderNo()) && "01".equals(mesOutApply.getTransType())) { |
| | | // 生成空托出库任务 |
| | | mobileService.callEmptyBinOutBound(WMS_TRANS_START_STATION_1,"1",defaultUserId); |
| | | mobileService.callEmptyBinOutBound(mesOutApply,WMS_TRANS_START_STATION_1,"1",defaultUserId); |
| | | |
| | | try { |
| | | if (!StringUtils.isEmpty(mesOutApply.getTaskno()) && !StringUtils.isEmpty(mesOutApply.getStationId())) { |
| | | TransTask transTask = new TransTask(); |
| | | transTask.setTaskno(mesOutApply.getTaskno()); |
| | | transTask.setTaskname(mesOutApply.getTaskname()); |
| | | transTask.setOrderNo(mesOutApply.getOrderNo()); |
| | | transTask.setTransType(mesOutApply.getTransType()); |
| | | transTask.setCurStationId(WMS_TRANS_START_STATION_1); |
| | | transTask.setNextProcess(mesOutApply.getProductLineId()); |
| | | transTask.setNextStationId(mesOutApply.getStationId()); |
| | | transTask.setItemno(WMS_ZPALLET_ID); // 固定为空托的编码 |
| | | transTask.setQty(1); // 空托只出1个 |
| | | transTask.setProductLineId(mesOutApply.getProductLineId()); |
| | | transTask.setOperateType(1); |
| | | transTask.setAgvFactory(1); |
| | | JSONObject sendAgvTask = submitTask(transTask); |
| | | if (!"1".equals(sendAgvTask.getString("Success"))) { |
| | | log.error("出库下发agv运输任务失败:{}", JSONObject.toJSONString(transTask)); |
| | | } |
| | | } |
| | | } catch (Exception e) { |
| | | log.error("下发AGV运输任务失败", e); |
| | | } |
| | | // try { |
| | | // if (!StringUtils.isEmpty(mesOutApply.getTaskno()) && !StringUtils.isEmpty(mesOutApply.getStationId())) { |
| | | // TransTask transTask = new TransTask(); |
| | | // transTask.setTaskno(mesOutApply.getTaskno()); |
| | | // transTask.setTaskname(mesOutApply.getTaskname()); |
| | | // transTask.setOrderNo(mesOutApply.getOrderNo()); |
| | | // transTask.setTransType(mesOutApply.getTransType()); |
| | | // transTask.setCurStationId(WMS_TRANS_START_STATION_1); |
| | | // transTask.setNextProcess(mesOutApply.getProductLineId()); |
| | | // transTask.setNextStationId(mesOutApply.getStationId()); |
| | | // transTask.setItemno(WMS_ZPALLET_ID); // 固定为空托的编码 |
| | | // transTask.setQty(1); // 空托只出1个 |
| | | // transTask.setProductLineId(mesOutApply.getProductLineId()); |
| | | // transTask.setOperateType(1); |
| | | // transTask.setAgvFactory(1); |
| | | // JSONObject sendAgvTask = submitTask(transTask); |
| | | // if (!"1".equals(sendAgvTask.getString("Success"))) { |
| | | // log.error("出库下发agv运输任务失败:{}", JSONObject.toJSONString(transTask)); |
| | | // } |
| | | // } |
| | | // } catch (Exception e) { |
| | | // log.error("下发AGV运输任务失败", e); |
| | | // } |
| | | |
| | | return 1; |
| | | } else { // 毛坯(物料)出库 |
| | | // docType根据库类型确定 |
| | | long docType = 7; |
| | | long settle = 1; |
| | | long settle = 2; |
| | | |
| | | // 校验订单是否重复 |
| | | OrderPakout order = orderPakoutService.selectByNo(mesOutApply.getOrderNo()); |
| | | if (order != null && !StringUtils.isEmpty(order.getOrderNo())) { |
| | | log.error("出库订单号重复:{}",mesOutApply.getOrderNo()); |
| | | return -1; |
| | | } |
| | | String itemBarcode = barCodeListToStr(mesOutApply.getItemBarcode()); |
| | | // 自动出库 |
| | | LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("standby1", itemBarcode)); |
| | | if (locDetl == null) { |
| | | throw new CoolException("零件二维码没有匹配到库存:" +itemBarcode ); |
| | | } |
| | | LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetl.getLocNo())); |
| | | if (!locMast.getLocSts().equals("F")) { |
| | | throw new CoolException("库位状态不为F:" +locMast.getLocNo() ); |
| | | } |
| | | |
| | | // 生成订单 |
| | |
| | | orderPakout.setUpdateTime(now); |
| | | orderPakout.setMemo(JSONObject.toJSONString(mesOutApply)); |
| | | orderPakout.setPakinPakoutStatus(2); |
| | | orderPakout.setNumber(locMast.getBarcode()); // 托盘条码,上报时用 |
| | | if (!orderPakoutService.insert(orderPakout)) { |
| | | log.error("MES保存出库订单主档失败"); |
| | | throw new CoolException("保存出库订单主档失败"); |
| | |
| | | orderDetlPakout.setOrderId(orderPakout.getId()); |
| | | orderDetlPakout.setOrderNo(orderPakout.getOrderNo()); |
| | | orderDetlPakout.setAnfme(Double.valueOf(mesOutApply.getQty())); |
| | | orderDetlPakout.setWorkQty(orderDetlPakout.getAnfme()); |
| | | orderDetlPakout.setQty(0.0); |
| | | orderDetlPakout.setMatnr(mat.getMatnr()); |
| | | orderDetlPakout.setMaktx(mat.getMaktx()); |
| | | orderDetlPakout.setSpecs(mat.getSpecs()); |
| | | orderDetlPakout.setModel(mat.getModel()); |
| | | orderDetlPakout.setStandby1(barCodeListToStr(mesOutApply.getItemBarcode())); |
| | | |
| | | orderDetlPakout.setStandby1(itemBarcode); |
| | | orderDetlPakout.setCreateBy(defaultUserId); |
| | | orderDetlPakout.setCreateTime(now); |
| | | orderDetlPakout.setUpdateBy(defaultUserId); |
| | |
| | | throw new CoolException("保存出库订单明细档失败"); |
| | | } |
| | | |
| | | // TODO:若AGV和输送线没有安全交互,则要保证立库出货完成后再呼叫AGV。 |
| | | // 立库生成订单后,自动调度AGV运送到站点,目前多托生成多个。 |
| | | try { |
| | | if (!StringUtils.isEmpty(mesOutApply.getTaskno()) && !StringUtils.isEmpty(mesOutApply.getStationId())) { |
| | | // 按零件二维码查询有几个托,多托生成多个任务,每托对应零件二维码 |
| | | String barCode = barCodeListToStr(mesOutApply.getItemBarcode()); |
| | | EntityWrapper<MatItemBarcode> matItemBarcodeEntityWrapper = new EntityWrapper<>(); |
| | | matItemBarcodeEntityWrapper.in("item_barcode", barCode); |
| | | List<MatItemBarcode> barcodes = matItemBarcodeMapper.selectList(matItemBarcodeEntityWrapper); |
| | | if (barcodes != null) { |
| | | Map<String, List<MatItemBarcode>> map = barcodes.stream().collect(Collectors.groupingBy(MatItemBarcode::getZapplet)); |
| | | for (Map.Entry<String, List<MatItemBarcode>> entry : map.entrySet()) { |
| | | List<MatItemBarcode> list = entry.getValue(); |
| | | List<String> codes = new ArrayList<>(); |
| | | for (MatItemBarcode zapllet : list) { |
| | | codes.add(zapllet.getItemBarcode()); |
| | | } |
| | | // 生成工作号 |
| | | int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(101)); |
| | | // 生成工作档 |
| | | WrkMast wrkMast = new WrkMast(); |
| | | wrkMast.setWrkNo(workNo); |
| | | wrkMast.setIoTime(now); |
| | | wrkMast.setWrkSts(11L); // 工作状态:11.生成出库ID |
| | | wrkMast.setIoType(101); // 入出库状态 |
| | | wrkMast.setIoPri(13D); // 优先级:13 |
| | | wrkMast.setCrnNo(1); |
| | | wrkMast.setSourceStaNo("203"); // 源站 |
| | | wrkMast.setStaNo("204"); // 目标站 |
| | | wrkMast.setSourceLocNo(locMast.getLocNo()); // 源库位 |
| | | wrkMast.setFullPlt("Y"); // 满板:Y |
| | | wrkMast.setPicking("N"); // 拣料 |
| | | wrkMast.setExitMk("N"); // 退出 |
| | | wrkMast.setEmptyMk("N"); // 空板 |
| | | wrkMast.setLinkMis("N"); |
| | | wrkMast.setBarcode(locMast.getBarcode()); |
| | | wrkMast.setAppeUser(defaultUserId); // 操作人员数据 |
| | | wrkMast.setAppeTime(now); |
| | | wrkMast.setModiUser(defaultUserId); |
| | | wrkMast.setModiTime(now); |
| | | wrkMast.setMemo(JSONObject.toJSONString(mesOutApply)); |
| | | wrkMast.setTaskNo(mesOutApply.getTaskno()); |
| | | wrkMast.setAgvSta(mesOutApply.getStationId()); |
| | | wrkMastService.insert(wrkMast); |
| | | // 生成工作档明细 |
| | | WrkDetl wrkDetl = new WrkDetl(); |
| | | wrkDetl.sync(locDetl); |
| | | wrkDetl.setOrderNo(orderPakout.getOrderNo()); // 手动出库不需要带出库存中的单据编号 |
| | | wrkDetl.setWrkNo(workNo); |
| | | wrkDetl.setIoTime(now); |
| | | wrkDetl.setAnfme(orderDetlPakout.getAnfme()); // 数量 |
| | | wrkDetl.setAppeTime(now); |
| | | wrkDetl.setAppeUser(defaultUserId); |
| | | wrkDetl.setModiTime(now); |
| | | wrkDetl.setModiUser(defaultUserId); |
| | | // wrkDetl.setMatnr(detlDto.getLocDetl().getMatnr()); |
| | | // wrkDetl.setMaktx(detlDto.getLocDetl().getMaktx()); |
| | | // wrkDetl.setUnit(detlDto.getLocDetl().getUnit()); |
| | | // wrkDetl.setSpecs(detlDto.getLocDetl().getSpecs()); |
| | | // wrkDetl.setUnit(detlDto.getLocDetl().getUnit()); |
| | | // wrkDetl.setModel(detlDto.getLocDetl().getModel()); |
| | | wrkDetlService.insert(wrkDetl); |
| | | |
| | | TransTask transTask = new TransTask(); |
| | | transTask.setTaskno(mesOutApply.getTaskno()); |
| | | transTask.setTaskname(mesOutApply.getTaskname()); |
| | | transTask.setOrderNo(mesOutApply.getOrderNo()); |
| | | transTask.setTransType(mesOutApply.getTransType()); |
| | | transTask.setCurStationId(WMS_TRANS_START_STATION_3); |
| | | transTask.setNextProcess(mesOutApply.getProductLineId()); |
| | | transTask.setNextStationId(mesOutApply.getStationId()); |
| | | transTask.setItemno(mesOutApply.getItemno()); |
| | | transTask.setQty(list.size()); |
| | | transTask.setProductLineId(mesOutApply.getProductLineId()); |
| | | transTask.setItemBarcode(codes); |
| | | transTask.setTuoPanId(entry.getKey()); |
| | | transTask.setOperateType(1); |
| | | transTask.setAgvFactory(1); |
| | | JSONObject sendAgvTask = submitTask(transTask); |
| | | if (!"1".equals(sendAgvTask.getString("Success"))) { |
| | | log.error("出库下发agv运输任务失败", JSONObject.toJSONString(transTask)); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } catch (Exception e) { |
| | | log.error("下发AGV运输任务失败", e); |
| | | // 修改库位状态: F.在库 ====>>> R.出库预约/P.拣料/盘点/并板出库中 |
| | | if (locMast.getLocSts().equals("F")) { |
| | | locMast.setLocSts("R"); |
| | | locMast.setModiUser(defaultUserId); |
| | | locMast.setModiTime(now); |
| | | locMastService.updateById(locMast); |
| | | } |
| | | log.info("出库任务生成成功,任务号:{}",workNo); |
| | | // 立库生成订单后,自动调度AGV运送到站点,目前多托生成多个。 |
| | | // try { |
| | | // if (!StringUtils.isEmpty(mesOutApply.getTaskno()) && !StringUtils.isEmpty(mesOutApply.getStationId())) { |
| | | // // 按零件二维码查询有几个托,多托生成多个任务,每托对应零件二维码 |
| | | //// String barCode = barCodeListToStr(mesOutApply.getItemBarcode()); |
| | | //// EntityWrapper<MatItemBarcode> matItemBarcodeEntityWrapper = new EntityWrapper<>(); |
| | | //// matItemBarcodeEntityWrapper.in("item_barcode", barCode); |
| | | //// List<MatItemBarcode> barcodes = matItemBarcodeMapper.selectList(matItemBarcodeEntityWrapper); |
| | | //// if (barcodes != null) { |
| | | //// Map<String, List<MatItemBarcode>> map = barcodes.stream().collect(Collectors.groupingBy(MatItemBarcode::getZapplet)); |
| | | //// for (Map.Entry<String, List<MatItemBarcode>> entry : map.entrySet()) { |
| | | //// List<MatItemBarcode> list = entry.getValue(); |
| | | //// List<String> codes = new ArrayList<>(); |
| | | //// for (MatItemBarcode zapllet : list) { |
| | | //// codes.add(zapllet.getItemBarcode()); |
| | | //// } |
| | | // |
| | | // TransTask transTask = new TransTask(); |
| | | // transTask.setTaskno(mesOutApply.getTaskno()); |
| | | // transTask.setTaskname(mesOutApply.getTaskname()); |
| | | // transTask.setOrderNo(mesOutApply.getOrderNo()); |
| | | // transTask.setTransType(mesOutApply.getTransType()); |
| | | // transTask.setCurStationId(WMS_TRANS_START_STATION_3); |
| | | // transTask.setNextProcess(mesOutApply.getProductLineId()); |
| | | // transTask.setNextStationId(mesOutApply.getStationId()); |
| | | // transTask.setItemno(mesOutApply.getItemno()); |
| | | // transTask.setQty(mesOutApply.getQty()); |
| | | // transTask.setProductLineId(mesOutApply.getProductLineId()); |
| | | // transTask.setItemBarcode(mesOutApply.getItemBarcode()); |
| | | // transTask.setTuoPanId(locDetl.getZpallet()); |
| | | // transTask.setOperateType(1); |
| | | // transTask.setAgvFactory(1); |
| | | // JSONObject sendAgvTask = submitTask(transTask); |
| | | // if (!"1".equals(sendAgvTask.getString("Success"))) { |
| | | // log.error("出库下发agv运输任务失败", JSONObject.toJSONString(transTask)); |
| | | // } |
| | | //// } |
| | | //// } |
| | | // } |
| | | // } catch (Exception e) { |
| | | // log.error("下发AGV运输任务失败", e); |
| | | // } |
| | | } |
| | | |
| | | return 1; |
| | |
| | | transTask.setOrderNo(mesInApply.getOrderNo()); |
| | | transTask.setTransType(mesInApply.getTransType()); |
| | | transTask.setCurProcess(mesInApply.getProductLineId()); |
| | | transTask.setCurStationId(mesInApply.getStationID()); |
| | | transTask.setNextStationId(WMS_TRANS_START_STATION_2); |
| | | transTask.setCurStationId("A3"); |
| | | transTask.setNextStationId("A4"); |
| | | transTask.setItemno(WMS_ZPALLET_ID); // 固定为空托的编码 |
| | | transTask.setQty(1); // 空托只回1个 |
| | | transTask.setProductLineId(mesInApply.getProductLineId()); |
| | |
| | | orderDetlPakin.setMaktx(mat.getMaktx()); |
| | | orderDetlPakin.setSpecs(mat.getSpecs()); |
| | | orderDetlPakin.setModel(mat.getModel()); |
| | | if (mesInApply.getProductInfo() != null) { |
| | | orderDetlPakin.setStandby1(JSONObject.toJSONString(mesInApply.getProductInfo())); //零件详情存在1 |
| | | } |
| | | List<String> itemBarcode = mesInApply.getProductInfo().stream().map(MesInApply.ProductInfo::getItemBarcode).collect(Collectors.toList()); |
| | | orderDetlPakin.setStandby1(barCodeListToStr(itemBarcode)); //零件详情存在1 |
| | | |
| | | orderDetlPakin.setStandby2("0"); //保存齐套性检查标识,1 检查;0 不检查; |
| | | orderDetlPakin.setCreateBy(defaultUserId); |
| | | orderDetlPakin.setCreateTime(now); |
| | |
| | | waitPakin.setAppeTime(now); |
| | | waitPakin.setModiUser(defaultUserId); |
| | | waitPakin.setModiTime(now); |
| | | List<String> itemBarcode = mesInApply.getProductInfo().stream().map(MesInApply.ProductInfo::getItemBarcode).collect(Collectors.toList()); |
| | | waitPakin.setStandby1(barCodeListToStr(itemBarcode)); |
| | | waitPakinService.insert(waitPakin); |
| | | OrderInAndOutUtil.increaseWorkQty(Boolean.TRUE, orderPakin.getId(), orderDetlPakin.getMatnr(), orderDetlPakin.getBatch(), |
| | |
| | | mesOutFeedback.setStationId(dbMemo.getString("StationId")); |
| | | mesOutFeedback.setItemno(dbMemo.getString("Itemno")); |
| | | mesOutFeedback.setTuoPanId(zpalletId); |
| | | if (itemBarCode != null && itemBarCode.size() > 0) { |
| | | if (itemBarCode.size() > 0) { |
| | | mesOutFeedback.setQty(itemBarCode.size()); |
| | | mesOutFeedback.setItemBarcode(itemBarCode); |
| | | } |
| | |
| | | * @return |
| | | */ |
| | | public static String barCodeListToStr(List<String> list) { |
| | | if(list.isEmpty()) { |
| | | return ""; |
| | | } |
| | | StringBuilder stringBuilder = new StringBuilder(); |
| | | for (String str : list) { |
| | | stringBuilder.append(str).append(","); |
| | |
| | | |
| | | // 下发给RCS |
| | | RcsTaskSubmit rcsTaskSubmit = new RcsTaskSubmit(); |
| | | // 模板名 |
| | | if(transTask.getCurStationId().startsWith("LL") || transTask.getCurStationId().startsWith("LG")) { // 起点产线 |
| | | rcsTaskSubmit.setTaskType("CS2"); |
| | | } else if(transTask.getNextStationId().startsWith("LL") || transTask.getNextStationId().startsWith("LG")) { // 终点产线 |
| | | rcsTaskSubmit.setTaskType("CS"); |
| | | } else { // 不涉及产线 |
| | | rcsTaskSubmit.setTaskType("CS3"); |
| | | } |
| | | rcsTaskSubmit.setRobotTaskCode(transTask.getTaskno()); |
| | | rcsTaskSubmit.setInitPriority(10); //默认10 |
| | | List<RcsTaskTargetRoute> targetRouteList = new ArrayList<>(); |
| | |
| | | rcsTaskSubmit.setTargetRoute(targetRouteList); |
| | | |
| | | // 转发给海康或华晓RCS |
| | | // int success = rcsService.submitTask(rcsTaskSubmit, transTask.getAgvFactory()); |
| | | int success = 1; |
| | | if (success == 1) { |
| | | RcsReturn rcsReturn = rcsService.submitTask(rcsTaskSubmit, transTask.getAgvFactory()); |
| | | if (rcsReturn.getCode().equals("SUCCESS")) { |
| | | JSONObject data = rcsReturn.getData(); |
| | | String robotTaskCode = data.getString("robotTaskCode"); |
| | | if (Cools.isEmpty(transTask.getTaskno())) { |
| | | transTask.setTaskno(robotTaskCode); |
| | | result.put("taskno", transTask.getTaskno()); |
| | | } |
| | | int workNo = commonService.getWorkNo(WorkNoType.OTHER.type); |
| | | Date now = new Date(); |
| | | Task task = new Task(); |
| | |
| | | taskDetl.setIoTime(task.getIoTime()); |
| | | taskDetl.setMatnr(transTask.getItemno()); |
| | | taskDetl.setAnfme(0.0); |
| | | taskDetl.setStandby1(String.valueOf(transTask.getQty())); |
| | | // taskDetl.setStandby1(String.valueOf(transTask.getQty())); |
| | | taskDetl.setMaktx(mat.getMaktx()); |
| | | taskDetl.setSpecs(mat.getSpecs()); |
| | | taskDetl.setOrderNo(transTask.getOrderNo()); |
| | | taskDetl.setZpallet(transTask.getTuoPanId()); |
| | | taskDetl.setMemo(JSONObject.toJSONString(transTask.getItemBarcode())); |
| | | taskDetl.setMemo(barCodeListToStr(transTask.getItemBarcode())); |
| | | taskDetl.setModiUser(defaultUserId); |
| | | taskDetl.setModiTime(now); |
| | | taskDetl.setAppeUser(defaultUserId); |
| | |
| | | * @return |
| | | */ |
| | | public int applyInStation(TransParent apply) { |
| | | String path = ("LL").equals(apply.getProductLineId()) ? "AGVTransportPalletNotice" : "AprsAGVTransportPalletNotice"; |
| | | String path = ("LL").equals(apply.getProductLineId()) ? "AGVTransportPalletNotice" : "Aprs/AGVTransportPalletNotice"; |
| | | String url = MES_URL + path; |
| | | String response = RcsServiceImpl.sendPost(url, JSONObject.toJSONString(apply)); |
| | | if (!StringUtils.isEmpty(response) && response.contains("Success")){ |
| | |
| | | // rcsTaskContinue.setTriggerType("ROBOT"); |
| | | // rcsTaskContinue.setTriggerCode(allow.getAgvCode()); |
| | | |
| | | int success = rcsService.continueTask(rcsTaskContinue, checkRcsFactory(allow.getAgvCode())); |
| | | int success = rcsService.continueTask(rcsTaskContinue, 1); |
| | | mesReturn.setSuccess(success == 1 ? "1" : "2"); |
| | | mesReturn.setMessage(success == 1 ? "" : "转发给RCS失败"); |
| | | } |
| | |
| | | arrivalStation.setOrderNo(null); |
| | | } |
| | | |
| | | String url = MES_URL + "AGVArrivalCompleted"; |
| | | String path = ("LL").equals(arrivalStation.getProductLineId()) ? "AGVArrivalCompleted" : "Aprs/AGVArrivalCompleted"; |
| | | String url = MES_URL + path; |
| | | String response = RcsServiceImpl.sendPost(url, JSONObject.toJSONString(arrivalStation)); |
| | | if (!StringUtils.isEmpty(response) && response.contains("Success")){ |
| | | MesReturn mesReturn = JSONObject.parseObject(response, MesReturn.class); |
| | |
| | | */ |
| | | public int outStation(TransParent apply) { |
| | | |
| | | String url = MES_URL + "AGVDepartureCompleted"; |
| | | String path = ("LL").equals(apply.getProductLineId()) ? "AGVDepartureCompleted" : "Aprs/AGVDepartureCompleted"; |
| | | String url = MES_URL + path; |
| | | String response = RcsServiceImpl.sendPost(url, JSONObject.toJSONString(apply)); |
| | | if (!StringUtils.isEmpty(response) && response.contains("Success")){ |
| | | MesReturn mesReturn = JSONObject.parseObject(response, MesReturn.class); |