自动化立体仓库 - WMS系统
skyouc
3 天以前 fea45f7448f209bfb836d1462673ac50c090b1f2
src/main/java/com/zy/asrs/controller/OutController.java
@@ -5,8 +5,12 @@
import com.core.common.BaseRes;
import com.core.common.Cools;
import com.core.common.R;
import com.core.exception.CoolException;
import com.zy.asrs.entity.*;
import com.zy.asrs.enums.LocStsType;
import com.zy.asrs.service.*;
import com.zy.asrs.service.impl.BasDeviceServiceImpl;
import com.zy.asrs.service.impl.LocAroundBindServiceImpl;
import com.zy.common.model.LocDto;
import com.zy.common.model.TaskDto;
import com.zy.common.web.BaseController;
@@ -46,6 +50,10 @@
    @Resource
    private OrderPakoutService orderPakOutService;
    @Autowired
    private BasDeviceService basDeviceService;
    @Autowired
    private LocAroundBindService locAroundBindService;
    @PostMapping("/out/pakout/orderDetlIds/auth")
@@ -68,7 +76,6 @@
        }
        List<LocDto> locDtos = new ArrayList<>();
        Set<String> exist = new HashSet<>();
        // 获取订单主表
@@ -90,6 +97,13 @@
                        locDto.setFrozen(locDetl.getFrozen());
                        locDto.setFrozenLoc(locMast.getFrozen());
                        List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locDetl.getLocNo(), 107);
                        locDto.setBrand(orderDetl.getBrand());
                        locDto.setStandby1(orderDetl.getStandby1());
                        locDto.setStandby2(orderDetl.getStandby2());
                        locDto.setStandby3(orderDetl.getStandby3());
                        locDto.setBoxType1(orderDetl.getBoxType1());
                        locDto.setBoxType2(orderDetl.getBoxType2());
                        locDto.setBoxType3(orderDetl.getBoxType3());
                        locDto.setStaNos(staNos);
                        locDtos.add(locDto);
                        // 剩余待出数量递减
@@ -100,6 +114,13 @@
                }
                if (issued > 0) {
                    LocDto locDto = new LocDto(null, orderDetl.getMatnr(), orderDetl.getMaktx(), orderDetl.getBatch(), orderDetl.getOrderNo(), issued);
                    locDto.setBrand(orderDetl.getBrand());
                    locDto.setStandby1(orderDetl.getStandby1());
                    locDto.setStandby2(orderDetl.getStandby2());
                    locDto.setStandby3(orderDetl.getStandby3());
                    locDto.setBoxType1(orderDetl.getBoxType1());
                    locDto.setBoxType2(orderDetl.getBoxType2());
                    locDto.setBoxType3(orderDetl.getBoxType3());
                    locDto.setLack(Boolean.TRUE);
                    locDtos.add(locDto);
                }
@@ -110,6 +131,27 @@
                if (issued <= 0.0D) {
                    continue;
                }
//                if (!Objects.isNull(orderDetl.getStandby1())) {
//                    BasDevice basDevice = basDeviceService.selectOne(new EntityWrapper<BasDevice>().eq("dev_no", orderDetl.getStandby1()));
//                    if (Objects.isNull(basDevice)) {
//                        throw new CoolException("机台信息不存在!!");
//                    }
//                    List<LocAroundBind> binds = locAroundBindService.selectList(new EntityWrapper<LocAroundBind>().eq("dev_no", basDevice.getDevNo()));
//                    if (Objects.isNull(binds) || binds.isEmpty()) {
//                        throw new CoolException("台机未绑定工作站台!!");
//                    }
//                    Set<String> locs = binds.stream().map(LocAroundBind::getBLocNo).collect(Collectors.toSet());
//
//                    List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
//                            .in("loc_no", locs)
//                            .eq("loc_sts", LocStsType.LOC_STS_TYPE_O.type));
//
//
//                } else {
//
//                }
                List<LocDetl> locDetls = locDetlService.queryStockAll(null, exist,orderDetl.getMatnr(), orderDetl.getBatch(),
                        orderDetl.getBrand(),orderDetl.getStandby1(),orderDetl.getStandby2(),orderDetl.getStandby3(),orderDetl.getBoxType1(),orderDetl.getBoxType2(),orderDetl.getBoxType3());
                for (LocDetl locDetl : locDetls) {
@@ -121,6 +163,14 @@
                        locDto.setFrozenLoc(locMast.getFrozen());
                        List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locDetl.getLocNo(), issued >= locDetl.getAnfme() ? 101 : 103);
                        locDto.setStaNos(staNos);
                        locDto.setBrand(orderDetl.getBrand());
                        locDto.setStandby1(orderDetl.getStandby1());
                        locDto.setStandby2(orderDetl.getStandby2());
                        locDto.setStandby3(orderDetl.getStandby3());
                        locDto.setBoxType1(orderDetl.getBoxType1());
                        locDto.setBoxType2(orderDetl.getBoxType2());
                        locDto.setBoxType3(orderDetl.getBoxType3());
                        locDtos.add(locDto);
                        exist.add(locDetl.getLocNo());
                        // 剩余待出数量递减
@@ -131,6 +181,13 @@
                }
                if (issued > 0) {
                    LocDto locDto = new LocDto(null, orderDetl.getMatnr(), orderDetl.getMaktx(), orderDetl.getBatch(), orderDetl.getOrderNo(), issued);
                    locDto.setBrand(orderDetl.getBrand());
                    locDto.setStandby1(orderDetl.getStandby1());
                    locDto.setStandby2(orderDetl.getStandby2());
                    locDto.setStandby3(orderDetl.getStandby3());
                    locDto.setBoxType1(orderDetl.getBoxType1());
                    locDto.setBoxType2(orderDetl.getBoxType2());
                    locDto.setBoxType3(orderDetl.getBoxType3());
                    locDto.setLack(Boolean.TRUE);
                    locDtos.add(locDto);
                }