| | |
| | | */ |
| | | // pda呼叫空料框出库 |
| | | @PostMapping("/callEmptyBinOutBound") |
| | | @ManagerAuth(memo = "pda呼叫空料框出库") |
| | | // @ManagerAuth(memo = "pda呼叫空料框出库") |
| | | public synchronized R callEmptyBinOutBound(@RequestParam(required = false) String locNo |
| | | , @RequestParam(required = false) String size) { |
| | | , @RequestParam(required = false) String size |
| | | , @RequestParam(required = false) String palletFormat |
| | | , @RequestParam(required = false) String agvTaskNo) { |
| | | if (Cools.isEmpty(locNo) || Cools.isEmpty(size)) { |
| | | return R.error("站点或者大小不能为空"); |
| | | } |
| | |
| | | if (wrkMast != null) { |
| | | return R.error("该站点="+locNo+"已经有空板出库任务,为了不堵塞堆垛机接驳站点,禁止下发多个空板出库任务"); |
| | | } |
| | | return mobileService.callEmptyBinOutBound(locNo,size,getUserId()); |
| | | return mobileService.callEmptyBinOutBound(locNo, size, palletFormat, agvTaskNo, 9995L); |
| | | } |
| | | |
| | | /** |
| | |
| | | @ApiModelProperty(value= "拣料") |
| | | private String picking; |
| | | |
| | | @ApiModelProperty(value= "补空托盘接受mes的agv任务号") |
| | | @TableField("user_no") |
| | | private String userNo; |
| | | |
| | | @ApiModelProperty(value= "") |
| | | @TableField("link_mis") |
| | | private String linkMis; |
| | |
| | | @ApiModelProperty(value= "") |
| | | @TableField("mtn_type") |
| | | private Double mtnType; |
| | | |
| | | @ApiModelProperty(value= "") |
| | | @TableField("user_no") |
| | | private String userNo; |
| | | |
| | | /** |
| | | * 堆垛机启动时间 |
| | |
| | | /** |
| | | * pda呼叫空料框出库 |
| | | * @param staNo 出库站点 |
| | | * @param locType 托盘类型 1.窄,2.宽 |
| | | * @param locType 托盘类型 1:小托盘 2:大托盘 |
| | | * @param palletFormat 托盘码格式 |
| | | * @param agvTaskNo AGV任务号(可选) |
| | | * @param userId 用户id |
| | | */ |
| | | R callEmptyBinOutBound(String staNo, String locType, Long userId); |
| | | R callEmptyBinOutBound(String staNo, String locType, String palletFormat, String agvTaskNo, Long userId); |
| | | |
| | | } |
| | |
| | | |
| | | @Override |
| | | @Transactional |
| | | public R callEmptyBinOutBound(String staNo, String locType, Long userId) { |
| | | LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_sts", 'D').eq("loc_type2", locType)); |
| | | public R callEmptyBinOutBound(String staNo, String locType, String palletFormat, String agvTaskNo, Long userId) { |
| | | EntityWrapper<LocMast> wrapper = new EntityWrapper<>(); |
| | | wrapper.eq("loc_sts", 'D').eq("loc_type2", locType); |
| | | if (palletFormat != null && !palletFormat.isEmpty()) { |
| | | wrapper.like("barcode", palletFormat); |
| | | } |
| | | wrapper.orderBy("row1", false); |
| | | LocMast locMast = locMastService.selectOne(wrapper); |
| | | if(locMast == null) { |
| | | return R.parse("该类型:" + locType +"空托盘不存在"); |
| | | } |
| | |
| | | } |
| | | |
| | | // 获取路径 |
| | | Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>() |
| | | Wrapper<StaDesc> wrapper1 = new EntityWrapper<StaDesc>() |
| | | .eq("type_no", 110) |
| | | .eq("stn_no", sta) |
| | | .eq("crn_no", locMast.getCrnNo()); |
| | | StaDesc staDesc = staDescService.selectOne(wrapper); |
| | | StaDesc staDesc = staDescService.selectOne(wrapper1); |
| | | if (staDesc == null) { |
| | | R.parse("出库路径不存在,站点:" + sta); |
| | | } |
| | |
| | | wrkMast.setExitMk("N"); // 退出 |
| | | wrkMast.setEmptyMk("Y"); // 空板 |
| | | wrkMast.setLinkMis("N"); |
| | | wrkMast.setUserNo(agvTaskNo); |
| | | wrkMast.setAppeUser(userId); |
| | | wrkMast.setAppeTime(now); |
| | | wrkMast.setModiUser(userId); |
| | | wrkMast.setModiTime(now); |
| | | wrkMast.setMemo(staNo); |
| | | wrkMast.setUserNo(String.valueOf(agvTaskNo)); |
| | | wrkMastService.insert(wrkMast); |
| | | |
| | | // 更新库位状态 |
| | |
| | | // 保存工作档 |
| | | Task task = new Task(); |
| | | Date date = new Date(); |
| | | String TaskNo = wrkMast.getWrkNo() + "aa" + date.getTime(); |
| | | String TaskNo = wrkMast.getUserNo(); |
| | | String taskType = "AGV"; |
| | | List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo()); |
| | | |
| | | if (wrkMast.getIoType()!=110){ |
| | | if (wrkDetls != null && !Cools.isEmpty(wrkDetls.get(0).getOrderNo())){ |
| | | TaskNo = wrkDetls.get(0).getOrderNo(); |
| | | taskType = "KB-AGV"; |
| | | } |
| | | |
| | | if (wrkMast.getIoType()==110){ |
| | | TaskNo = wrkDetls.get(0).getOrderNo(); |
| | | taskType = "ZX-AGV-08-1"; |
| | | }else{ |
| | | if (wrkDetls != null && !Cools.isEmpty(wrkDetls.get(0).getOrderNo())){ |
| | | OrderPakout orderPakout = orderPakoutService.selectByNo(wrkDetls.get(0).getOrderNo()); |
| | |
| | | } |
| | | |
| | | } |
| | | |
| | | } |
| | | |
| | | task.setWrkNo(wrkMast.getWrkNo()) |