自动化立体仓库 - WMS系统
#
18516761980
2023-03-04 a2f28fb1c32aeefbe549f48c4ed07929ef851b1b
src/main/java/com/zy/asrs/controller/MobileController.java
@@ -10,6 +10,7 @@
import com.zy.asrs.entity.param.MobileAdjustParam;
import com.zy.asrs.entity.result.MobileAdjustResult;
import com.zy.asrs.service.*;
import com.zy.common.model.WrkDto;
import com.zy.common.web.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
@@ -56,28 +57,52 @@
    @RequestMapping("/order/search/orderNo/auth")
    @ManagerAuth
    public R orderSearchByBarcode(@RequestParam String orderNo){
        Order order = orderService.selectByNo(orderNo);
        if (order == null) {
        if (Cools.isEmpty(orderNo)){
            orderNo=null;
        }
        List<Order> orders = orderService.selectorderNoL(orderNo);
        if (Cools.isEmpty(orders)){
            return R.ok();
        }
        DocType docType = docTypeService.selectById(order.getDocType());
        if (docType.getPakin() == null || docType.getPakin() != 1) {
            return R.ok();
        LinkedList<CombParam> combParams = new LinkedList<>();
        if (!Cools.isEmpty(orders)){
            for (Order order:orders){
                CombParam combParam=new CombParam();
                if (order == null) {
                    continue;
                }
                DocType docType = docTypeService.selectById(order.getDocType());
                if (docType.getPakin() == null || docType.getPakin() != 1) {
                    continue;
                }
                if (order.getSettle() > 2) {
                    continue;
                }
                List<OrderDetl> orderDetls = orderService.selectWorkingDetls(order.getId());
                if (!Cools.isEmpty(orderDetls)) {
                    LinkedList<CombParam.CombMat> combMats = new LinkedList<>();
                    for (OrderDetl orderDetl:orderDetls){
                        CombParam.CombMat combMat = new CombParam.CombMat();
                        combMat.setMatnr(orderDetl.getMatnr());
                        combMat.setBatch(orderDetl.getBatch());
                        combMat.setAnfme(orderDetl.getAnfme()-orderDetl.getQty());
                        combMat.setMaktx(orderDetl.getMaktx());
                        combMat.setSpecs(orderDetl.getSpecs());
                        combMats.add(combMat);
                    }
                    combParam.setCombMats(combMats);
                }
                combParam.setOrderNo(order.getOrderNo());
                combParams.add(combParam);
            }
        }
        if (order.getSettle() > 2) {
            return R.ok();
        }
        List<OrderDetl> orderDetls = orderService.selectWorkingDetls(order.getId());
        if (Cools.isEmpty(orderDetls)) {
            return R.ok();
        }
        return R.ok().add(orderDetls);
        return R.ok().add(combParams);
    }
    @RequestMapping("/comb/auth")
    @ManagerAuth(memo = "组托")
//    @ManagerAuth(memo = "组托")
    public R comb(@RequestBody CombParam combParam){
        mobileService.comb(combParam, getUserId());
        mobileService.comb(combParam, 1l);
        return R.ok("组托成功");
    }
@@ -141,7 +166,7 @@
        if (wrkMast != null) {
            List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
            // 去除已出库确认的明细
            wrkDetls.removeIf(wrkDetl -> wrkDetl.getInspect() == 1);
            wrkDetls.removeIf(wrkDetl -> wrkDetl.getInspect() != null && wrkDetl.getInspect() != 0);
            return R.ok().add(Cools.add("wrkNo", wrkMast.getWrkNo()).add("ioType", wrkMast.getIoType()).add("list", wrkDetls));
        }
        return R.ok();
@@ -197,12 +222,46 @@
        if (Cools.isEmpty(list)) {
            return R.ok();
        }
        // todo:luxiaotao 拣料出库可修改工作档明细
        Set<Integer> wrkNos = new HashSet<>();
        List<WrkDto> dtos = new ArrayList<>();
        for (WrkDetl wrkDetl : list) {
            wrkNos.add(wrkDetl.getWrkNo());
            wrkDetlService.updateInspect(wrkDetl.getWrkNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
            if (wrkNos.contains(wrkDetl.getWrkNo())) {
                for (WrkDto dto : dtos) {
                    if (dto.getWrkNo().equals(wrkDetl.getWrkNo())) {
                        dto.getWrkDetls().add(wrkDetl);
                        break;
                    }
                }
            } else {
                wrkNos.add(wrkDetl.getWrkNo());
                dtos.add(new WrkDto(wrkDetl.getWrkNo(), wrkDetl));
            }
        }
        for (WrkDto dto : dtos) {
            WrkMast wrkMast = wrkMastService.selectById(dto.getWrkNo());
            if (wrkMast != null) {
                // 101
                if (wrkMast.getIoType() == 101) {
                    for (WrkDetl wrkDetl : dto.getWrkDetls()) {
                        wrkDetlService.updateInspect(wrkDetl.getWrkNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
                    }
                }
                // 103
                if (wrkMast.getIoType() == 103) {
                    if (!wrkDetlService.delete(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()))) {
                        throw new CoolException("拣料出库确认失败");
                    }
                    for (WrkDetl wrkDetl : dto.getWrkDetls()) {
                        wrkDetl.setInspect(1);
                        if (!wrkDetlService.insert(wrkDetl)) {
                            throw new CoolException("拣料出库确认失败");
                        }
                    }
                }
            }
        }
        for (Integer wrkNo : wrkNos) {
            WrkMast wrkMast = wrkMastService.selectById(wrkNo);
            if (wrkMast.getWrkSts() == 14 && (Cools.isEmpty(wrkMast.getInvWh()) || wrkMast.getInvWh().equals("N"))) {