| | |
| | | import com.core.common.*; |
| | | import com.core.exception.CoolException; |
| | | import com.zy.asrs.entity.*; |
| | | import com.zy.asrs.entity.param.CombParam; |
| | | import com.zy.asrs.entity.param.MobileAdjustParam; |
| | | import com.zy.asrs.entity.param.NodePakoutParam; |
| | | import com.zy.asrs.entity.param.OpenOrderPakinParam; |
| | | import com.zy.asrs.entity.param.*; |
| | | import com.zy.asrs.service.*; |
| | | import com.zy.asrs.task.core.ReturnT; |
| | | import com.zy.asrs.task.handler.WorkLogHandler; |
| | |
| | | private NodeService nodeService; |
| | | @Autowired |
| | | private ManPakOutService manPakOutService; |
| | | @Autowired |
| | | private LocDetlService locDetlService; |
| | | |
| | | @Override |
| | | @Transactional |
| | |
| | | // 生成入库通知档 |
| | | List<DetlDto> detlDtos = new ArrayList<>(); |
| | | param.getCombMats().forEach(elem -> { |
| | | DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme(), elem.getCsocode(), elem.getIsoseq()); |
| | | detlDto.setContainerCode(elem.getContainerCode()); |
| | | |
| | | DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme(), elem.getCsocode(), elem.getIsoseq(),elem.getContainerCode()); |
| | | if (DetlDto.has(detlDtos, detlDto)) { |
| | | DetlDto one = DetlDto.find(detlDtos, detlDto.getMatnr(), detlDto.getBatch(),detlDto.getCsocode(),detlDto.getIsoseq(),detlDto.getContainerCode()); |
| | | assert one != null; |
| | |
| | | throw new CoolException("修改单据明细数量失败"); |
| | | } |
| | | |
| | | DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme(),elem.getCsocode(),elem.getIsoseq()); |
| | | detlDto.setContainerCode(elem.getContainerCode()); |
| | | |
| | | DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme(),elem.getCsocode(),elem.getIsoseq(),elem.getContainerCode()); |
| | | if (DetlDto.has(detlDtos, detlDto)) { |
| | | DetlDto one = DetlDto.find(detlDtos, detlDto.getMatnr(), detlDto.getBatch(),detlDto.getCsocode(),detlDto.getIsoseq(),detlDto.getContainerCode()); |
| | | assert one != null; |
| | |
| | | SaasUtils.insertLog(0,locNo,waitPakin.getMatnr(), waitPakin.getAnfme(),user.getUsername()); |
| | | |
| | | }); |
| | | Node node = nodeService.selectByUuid(locNo); |
| | | node.setStatus(0); |
| | | nodeService.updateById(node); |
| | | |
| | | //生成入库通知历史档 |
| | | waitPakinLogService.save(zpallet); |
| | | //删除入库通知档 |
| | |
| | | //修改库存 |
| | | manLocDetl.setAnfme(manLocDetl.getAnfme()-manPakOut.getCount()); |
| | | if (manLocDetl.getAnfme() == 0 ){ |
| | | checkNodeStatus(manLocDetl.getLocNo()); |
| | | manLocDetlService.delete(manLocDetlWrapper); |
| | | }else{ |
| | | manLocDetl.setStatus(1); |
| | |
| | | //检测订单是否完成 |
| | | orderService.checkComplete(param.getOrderNo()); |
| | | |
| | | } |
| | | |
| | | @Transactional |
| | | public void modifyWrkDetl(List<WrkDetl> wrkDetls, List<ModifyPakoutParam.CA> params, Long userId) { |
| | | |
| | | wrkDetlService.delete(new EntityWrapper<WrkDetl>().eq("wrk_no",wrkDetls.get(0).getWrkNo())); |
| | | |
| | | params.forEach(param ->{ |
| | | WrkDetl wrkDetl = new WrkDetl(); |
| | | LocDetl locDetl = locDetlService.selectByContainerCode(param.getContainerCode()); |
| | | BeanUtils.copyProperties(locDetl,wrkDetl); |
| | | wrkDetl.setWrkNo(wrkDetls.get(0).getWrkNo()); |
| | | if(wrkDetl.getAnfme() < param.getAnfme()){ |
| | | throw new CoolException("料箱"+param.getContainerCode()+"的物料数量小于拣料数量,请重新核对"); |
| | | } |
| | | wrkDetl.setAnfme(param.getAnfme()); |
| | | wrkDetl.setModiTime(new Date()); |
| | | wrkDetl.setAppeTime(new Date()); |
| | | wrkDetl.setModiUser(userId); |
| | | wrkDetlService.insert(wrkDetl); |
| | | |
| | | }); |
| | | } |
| | | |
| | | private void saveManlocDetl(WaitPakin waitPakin, Date now, String locNo){ |
| | |
| | | |
| | | return status; |
| | | |
| | | |
| | | |
| | | } |
| | | |
| | | public static void main(String[] args) { |
| | | ManPakOut m = new ManPakOut(); |
| | | m.setAnfme(1.0); |
| | | NodePakoutParam n = new NodePakoutParam(); |
| | | n.setAnfme(1.0); |
| | | |
| | | double a = 1.0; |
| | | double b = 1.0; |
| | | System.out.println(m.getAnfme() == n.getAnfme()); |
| | | System.out.println(a == b); |
| | | System.out.println(Double.doubleToLongBits(m.getAnfme()) == Double.doubleToLongBits(n.getAnfme())); |
| | | private void checkNodeStatus(String locNo){ |
| | | ManLocDetl manLocDetl = manLocDetlService.selectOne(new EntityWrapper<ManLocDetl>().eq("loc_no", locNo)); |
| | | //如果库存信息中没有改库位,则修改库位状态为1 |
| | | if(Cools.isEmpty(manLocDetl)){ |
| | | Node node = nodeService.selectByUuid(locNo); |
| | | node.setStatus(1); |
| | | nodeService.updateById(node); |
| | | } |
| | | } |
| | | |
| | | |
| | | } |