| | |
| | | @Service |
| | | public class OpenServiceImpl implements OpenService { |
| | | |
| | | // 二楼堆垛机对应入库站点 |
| | | private static final int[] secondFloorIn = new int[]{0,2061,2064,2067,2070,2073,2076}; |
| | | |
| | | @Autowired |
| | | private OrderService orderService; |
| | | @Autowired |
| | |
| | | StartupDto dto = commonService.getLocNo(1, param.getPalletizingNo(), locTypeDto, 0); |
| | | |
| | | // 返回GWCS目标信息 |
| | | pushStaNoToGwcs(param.getPalletizingNo(), dto.getStaNo(), dto.getWorkNo(),param.getBarcode()); |
| | | boolean result = pushStaNoToGwcs(param.getPalletizingNo(), dto.getStaNo(), dto.getWorkNo(), param.getBarcode()); |
| | | // if (!result) { |
| | | // throw new CoolException("入库回推入库码头给GWCS失败"); |
| | | // } |
| | | |
| | | int workNo = dto.getWorkNo(); |
| | | Date now = new Date(); |
| | |
| | | throw new CoolException(dto.getLocNo() + "目标库位已被占用"); |
| | | } |
| | | return "入库成功"; |
| | | } |
| | | |
| | | @Override |
| | | @Transactional |
| | | public R kthl(KthlParam param) { |
| | | |
| | | // 获取模式为电脑模式,无任务的堆垛机列表:防止分配到堆垛机不可用 |
| | | List<BasCrnp> basCrnps = basCrnpService.selectList(new EntityWrapper<BasCrnp>().eq("crn_sts",3) |
| | | .eq("wrk_no",0).eq("in_enable","Y").eq("out_enable","Y")); |
| | | if (basCrnps.isEmpty()) { |
| | | // 都有任务则获取电脑模式的堆垛机列表 |
| | | basCrnps = basCrnpService.selectList(new EntityWrapper<BasCrnp>().eq("crn_sts",3).eq("in_enable","Y") |
| | | .eq("out_enable","Y")); |
| | | } |
| | | if (basCrnps.isEmpty()) { |
| | | throw new CoolException("没有可用堆垛机,堆垛机停止或异常或禁用"); |
| | | } |
| | | // 可用堆垛机列表 |
| | | List<Integer> crnNoList = basCrnps.stream().map(BasCrnp::getCrnNo).collect(Collectors.toList()); |
| | | Integer crnNo = crnNoList.get(0); |
| | | |
| | | int workNo = commonService.getWorkNo(5); |
| | | Date now = new Date(); |
| | | // 生成工作档 |
| | | WrkMast wrkMast = new WrkMast(); |
| | | wrkMast.setWrkNo(workNo); |
| | | wrkMast.setIoTime(new Date()); |
| | | wrkMast.setWrkSts(1L); // |
| | | wrkMast.setIoType(3); // 站到站 |
| | | wrkMast.setIoPri(14D); // 优先级 |
| | | wrkMast.setCrnNo(crnNo); |
| | | wrkMast.setSourceStaNo(secondFloorIn[crnNo]); |
| | | wrkMast.setStaNo(3013); |
| | | wrkMast.setLocNo(""); |
| | | wrkMast.setBarcode(param.getBarcode()); // 托盘码 |
| | | wrkMast.setFullPlt("N"); // 满板:Y |
| | | wrkMast.setPicking("N"); // 拣料 |
| | | wrkMast.setExitMk("N"); // 退出 |
| | | wrkMast.setEmptyMk("Y"); // 空板 |
| | | wrkMast.setLinkMis("Y"); |
| | | wrkMast.setCtnType(1); // 容器类型 |
| | | // 操作人员数据 |
| | | wrkMast.setAppeTime(now); |
| | | wrkMast.setModiTime(now); |
| | | boolean res = wrkMastService.insert(wrkMast); |
| | | if (!res) { |
| | | throw new CoolException("保存工作档失败"); |
| | | } |
| | | // 返回GWCS目标信息 |
| | | pushStaNoToGwcs(wrkMast.getSourceStaNo(),wrkMast.getStaNo(),workNo,param.getBarcode()); |
| | | |
| | | return R.ok("空托回流请求成功"); |
| | | } |
| | | |
| | | @Override |
| | |
| | | return wrkDetls.size() > 1 ? 0 : 1; // 一条记录就是一卷 |
| | | } |
| | | |
| | | public void pushStaNoToGwcs(Integer palletizingNo, Integer staNo, Integer workNo,String barcode) { |
| | | public boolean pushStaNoToGwcs(Integer palletizingNo, Integer staNo, Integer workNo,String barcode) { |
| | | boolean success = false; |
| | | // 获取请求头 |
| | | Map<String, Object> headers = getHeaders(); |
| | |
| | | log.error("", e); |
| | | } |
| | | } |
| | | return success; |
| | | } |
| | | |
| | | Map<String, Object> getHeaders(){ |