| | |
| | | agvTaskDtos.forEach(taskDto -> { |
| | | |
| | | AgvLocMast agvLocMast = agvLockMastService.selectById(taskDto.getLocNo()); |
| | | AgvLocDetl agvLocDetl = agvLocDetlService.selectOne(new EntityWrapper<AgvLocDetl>().eq("loc_no", taskDto.getLocNo())); |
| | | |
| | | //工作档所需参数 |
| | | double anfme = taskDto.getLocDtos().get(0).getAnfme(); |
| | | long wrkSts = 21L; |
| | | String sourceLocNo = taskDto.getLocNo(); |
| | | String targetLocNo = taskDto.getAgvStaNo(); |
| | | String barcode = agvLocMast.getBarcode(); |
| | | String barcode = agvLocDetl.getZpallet(); |
| | | //明细档所需参数 |
| | | String mantr = taskDto.getLocDtos().get(0).getMatnr(); |
| | | String orderNo = taskDto.getLocDtos().get(0).getOrderNo(); |
| | |
| | | //修改订单信息 |
| | | modifyOrderDetl(taskDto.getLocDtos().get(0), userId); |
| | | //更新源站点信息 |
| | | updateAgvLocMast(agvLockMastService.selectById(sourceLocNo),"R"); |
| | | String locSts = ioType == 101 ? "R" : "P"; |
| | | updateAgvLocMast(agvLockMastService.selectById(sourceLocNo),locSts); |
| | | //更新目标站点状态 |
| | | //locSts = ioType == 101 ? "S" : "Q"; |
| | | updateAgvBasDevp(agvBasDevpService.selectById(targetLocNo),"S"); |
| | | |
| | | }); |
| | | } |
| | | |
| | | //拣料入库 |
| | | @Transactional |
| | | public void pickIn(List<AgvWrkMast> agvWrkMastList){ |
| | | Date now = new Date(); |
| | | agvWrkMastList.forEach(agvWrkMast -> { |
| | | //修改工作党 |
| | | agvWrkMast.setWrkSts(201L); |
| | | agvWrkMast.setIoType(53); |
| | | String locNo = agvWrkMast.getLocNo(); |
| | | agvWrkMast.setLocNo(agvWrkMast.getSourceLocNo()); |
| | | agvWrkMast.setSourceLocNo(locNo); |
| | | agvWrkMast.setIoTime(now); |
| | | agvWrkMastService.updateById(agvWrkMast); |
| | | |
| | | AgvWrkDetl agvWrkDetl = agvWrkDetlService.selectOne(new EntityWrapper<AgvWrkDetl>().eq("wrk_no", agvWrkMast.getWrkNo())); |
| | | AgvLocMast agvLocMast = agvLockMastService.selectById(agvWrkMast.getLocNo()); |
| | | AgvLocDetl agvLocDetl = agvLocDetlService.selectOne(new EntityWrapper<AgvLocDetl>().eq("loc_no",agvLocMast.getLocNo())); |
| | | AgvBasDevp agvBasDevp = agvBasDevpService.selectById(agvWrkMast.getSourceLocNo()); |
| | | //修改工作党明细 |
| | | agvWrkDetl.setAnfme(agvLocDetl.getAnfme() - agvWrkDetl.getAnfme()); |
| | | agvWrkDetlService.update(agvWrkDetl,new EntityWrapper<AgvWrkDetl>().eq("wrk_no",agvWrkDetl.getWrkNo())); |
| | | //修改库存信息 |
| | | agvLocDetl.setAnfme(agvWrkDetl.getAnfme()); |
| | | agvLocDetlService.update(agvLocDetl,new EntityWrapper<AgvLocDetl>().eq("loc_no",agvLocDetl.getLocNo())); |
| | | //修改库位信息 |
| | | agvLocMast.setLocSts("Q"); |
| | | agvLockMastService.selectById(agvLocMast); |
| | | //修改站点信息 |
| | | agvBasDevp.setLocSts("R"); |
| | | agvBasDevpService.updateById(agvBasDevp); |
| | | |
| | | }); |
| | | } |
| | |
| | | }else { |
| | | //合并出库 |
| | | List<OrderDto> orderDtoList = JSON.parseArray(locDto.getOrderNo(), OrderDto.class); |
| | | |
| | | //实际出库数量 |
| | | Double locAnfme = locDto.getAnfme(); |
| | | //订单实际出库数量 |
| | | Double orderAnfme; |
| | | |
| | | for (OrderDto orderDto : orderDtoList) { |
| | | OrderDetl orderDetl = orderDetlService.selectItem(orderDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch()); |
| | | if (orderDetl == null) { |
| | | orderDetl = orderDetlService.selectItem(orderDto.getOrderNo(), locDto.getMatnr(), null); |
| | | } |
| | | if (!orderDetlService.increase(orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDto.getAnfme())) { |
| | | |
| | | if(locAnfme > orderDetl.getAnfme()){ |
| | | orderAnfme = orderDetl.getAnfme(); |
| | | locAnfme -= orderAnfme; |
| | | }else { |
| | | orderAnfme = locAnfme; |
| | | } |
| | | |
| | | if (!orderDetlService.increase(orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(), orderAnfme)) { |
| | | throw new CoolException("修改订单明细数量失败"); |
| | | } |
| | | orderService.updateSettle(orderDetl.getOrderId(), 2L, userId); |