| | |
| | | 入库 |
| | | */ |
| | | @Transactional |
| | | @Synchronized |
| | | public StartupDto createWaitPainWrkMastStart(List<AgvBasDevp> agvBasDevpList, Long userId, boolean isConveyor) { |
| | | public synchronized StartupDto createWaitPainWrkMastStart(List<AgvBasDevp> agvBasDevpList, Long userId, boolean isConveyor) { |
| | | |
| | | Date now = new Date(); |
| | | |
| | |
| | | //agvWrkDetlService.update(agvWrkDetl,new EntityWrapper<AgvWrkDetl>().eq("wrk_no",agvWrkDetl.getWrkNo())); |
| | | //修改库存信息 |
| | | agvWrkDetlList.forEach(agvWrkDetl -> { |
| | | if(agvWrkDetl.getAnfme() <= 0){ |
| | | return; |
| | | } |
| | | |
| | | AgvLocDetl agvLocDetl = agvLocDetlService.selectByMatnrAndBatchAndCsocodeAndisoCode(agvWrkMast.getLocNo(), agvWrkDetl.getMatnr(), agvWrkDetl.getBatch(), agvWrkDetl.getThreeCode(), agvWrkDetl.getDeadTime()); |
| | | |
| | | //AgvLocDetl agvLocDetl = agvLocDetlService.selectLocdetl(agvWrkMast.getLocNo(),agvWrkDetl.getMatnr(),agvWrkDetl.getBatch(),agvWrkDetl.getThreeCode(),agvWrkDetl.getDeadTime()); |
| | | |
| | | double updateAnfme = agvLocDetl.getAnfme() - agvWrkDetl.getAnfme(); |
| | | agvLocDetlService.updateAnfme(updateAnfme,agvLocDetl.getLocNo(),agvLocDetl.getMatnr(),agvLocDetl.getBatch(),agvLocDetl.getThreeCode(),agvLocDetl.getDeadTime()); |
| | | }); |
| | |
| | | |
| | | Date now = new Date(); |
| | | taskDtos.forEach(taskDto -> { |
| | | |
| | | //判断是否有重复料想的工作当 |
| | | AgvWrkMast agvWrkMastList = agvWrkMastService.selectByContainerCode(taskDto.getLocDtos().get(0).getContainerCode()); |
| | | if(!Cools.isEmpty(agvWrkMastList)){ |
| | | return; |
| | | } |
| | | |
| | | //生成工作档 |
| | | AgvWrkMast wrkMast = createWrkMast(107, 21L,taskDto.getLocNo(),taskDto.getAgvStaNo(),taskDto.getLocDtos().get(0).getContainerCode(),now,userId,false); |
| | | //生成工作档明细 |
| | |
| | | adjDetl.setBatch(locDetl.getBatch()); |
| | | adjDetl.setOriQty(locDetl.getAnfme()); |
| | | adjDetl.setAdjQty(adjust.getCount()); |
| | | adjDetl.setMemo(locDetl.getSuppCode()); |
| | | adjDetl.setModiTime(now); |
| | | adjDetl.setModiUser(userId); |
| | | adjDetl.setAppeTime(now); |
| | |
| | | } |
| | | //拣料入库 盘点入库不可取消 |
| | | if(wrkMast.getIoType() == 53 || wrkMast.getIoType() == 57){ |
| | | throw new CoolException("当前任务不可取消"); |
| | | if (userId != 9527) { |
| | | throw new CoolException("当前任务不可取消"); |
| | | } |
| | | } |
| | | |
| | | //入库取消 |
| | | if(wrkMast.getIoType() == 1 || wrkMast.getIoType() == 10){ |
| | | if(wrkMast.getIoType() == 1 || wrkMast.getIoType() == 10 || wrkMast.getIoType() == 53 || wrkMast.getIoType() == 57){ |
| | | //源站点 |
| | | String devNo = wrkMast.getSourceLocNo(); |
| | | //目标库位 |
| | |
| | | |
| | | } |
| | | |
| | | @Override |
| | | public void changeToOutWrkMast(String workNo, Long userId) { |
| | | AgvWrkMast agvWrkMast = agvWrkMastService.selectById(workNo); |
| | | if (Cools.isEmpty(agvWrkMast)){ |
| | | throw new CoolException(workNo+"工作档不存在"); |
| | | } |
| | | if (agvWrkMast.getIoType() == 1 || agvWrkMast.getIoType() == 53){ |
| | | throw new CoolException(workNo+"入库任务无法转出库"); |
| | | } |
| | | |
| | | agvWrkMast.setIoType(101); |
| | | agvWrkMast.setWrkSts(206L); |
| | | agvWrkMast.setModiTime(new Date()); |
| | | agvWrkMast.setModiUser(userId); |
| | | |
| | | agvWrkMastService.updateById(agvWrkMast); |
| | | |
| | | } |
| | | |
| | | /* |
| | | 更新目标库位信息 |
| | | */ |