自动化立体仓库 - WMS系统
1
zhangc
2025-03-30 396dfb3eba1725868ab2e01d7c1af5e64bf108d3
src/main/java/com/zy/asrs/controller/OrderController.java
@@ -1,6 +1,7 @@
package com.zy.asrs.controller;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.enums.SqlLike;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
@@ -215,6 +216,39 @@
//        return R.ok(orderDetlService.selectPage(new Page<>(curr, limit), wrapper));
    }
    //  入库订单明细
    @RequestMapping(value = "/order/detls/pakin/page/auth/v2")
    @ManagerAuth
    public R orderDetlsV2(@RequestParam(defaultValue = "1") Integer curr,
                          @RequestParam(defaultValue = "100") Integer limit,
                          @RequestParam(required = false) String orderByField,
                          @RequestParam(required = false) String orderByType,
                          @RequestParam Map<String, Object> param) {
        EntityWrapper<OrderDetl> wrapper = new EntityWrapper<>();
        excludeTrash(param);
        Object o = param.get("orderType");
        if (o != null) {
            String[] split = o.toString().split(",");
            if (split[0].equals("39")) {
                wrapper.andNew().like("matnr", "401", SqlLike.RIGHT).or().like("matnr", "402", SqlLike.RIGHT).andNew().in("source", split);
            } else {
                wrapper.in("source", split);
            }
            param.remove("orderType");
        }
        convert(param, wrapper);
//        List<DocType> pakins = docTypeService.selectList(new EntityWrapper<DocType>().eq("pakin", 1));
//        List<Long> docIds = new ArrayList<>();
//        for (DocType pakin : pakins) {
//            if (pakin.getDocId() != 32) {
//                docIds.add(pakin.getDocId());
//            }
//        }
        return R.ok(orderDetlService.selectPage(new Page<>(curr, limit), wrapper));
    }
    @RequestMapping(value = "/order/detls/pakin")
    @ManagerAuth
    public R orderDetlsIn(@RequestParam(defaultValue = "1") Integer curr,
@@ -269,10 +303,11 @@
        List<DocType> pakins = docTypeService.selectList(new EntityWrapper<DocType>().eq("pakin", 1));
        List<Long> docIds = new ArrayList<>();
        for (DocType pakin : pakins) {
            if (pakin.getDocId() == 36) {
            if (pakin.getDocId() == 36 || pakin.getDocId() == 39 || pakin.getDocId() == 19) {
                docIds.add(pakin.getDocId());
            }
        }
        wrapper.like("matnr", "50", SqlLike.RIGHT);
        wrapper.in("source", docIds);
        return R.ok(orderDetlService.selectPage(new Page<>(curr, limit), wrapper));
    }
@@ -318,10 +353,46 @@
                docIds.add(pakin.getDocId());
            }
        }
        wrapper.notLike("matnr", "401", SqlLike.RIGHT).notLike("matnr", "402", SqlLike.RIGHT);
        wrapper.in("source", docIds);
        Page<OrderDetl> page = orderDetlService.selectPage(new Page<>(curr, limit), wrapper);
        for (OrderDetl record : page.getRecords()) {
            Double sumAnfme = agvLocDetlService.getSumAnfmeDb(record.getMatnr(), record.getThreeCode(), 1);
            record.setStock(sumAnfme == null ? 0 : sumAnfme);
        }
        return R.ok(page);
    }
    @RequestMapping(value = "/order/bcpDb/detls/pakin/page/auth/v2")
    @ManagerAuth
    public R bcpDbOrderDetlsV2(@RequestParam(defaultValue = "1") Integer curr,
                               @RequestParam(defaultValue = "100") Integer limit,
                               @RequestParam(required = false) String orderByField,
                               @RequestParam(required = false) String orderByType,
                               @RequestParam Map<String, Object> param) {
        EntityWrapper<OrderDetl> wrapper = new EntityWrapper<>();
        excludeTrash(param);
        Object o = param.get("orderType");
        if (o != null) {
            String[] split = o.toString().split(",");
            wrapper.in("source", split);
            param.remove("orderType");
        }
        convert(param, wrapper);
//        return R.ok(orderDetlService.getPakoutPage(toPage(curr, limit, param, OrderDetl.class)));
//        List<DocType> pakins = docTypeService.selectList(new EntityWrapper<DocType>().eq("pakout", 1));
//        List<Long> docIds = new ArrayList<>();
//        for (DocType pakin : pakins) {
//            if (pakin.getDocId() == 33) {
//                docIds.add(pakin.getDocId());
//            }
//        }
        wrapper.like("order_no", "DC", SqlLike.RIGHT);
        //     wrapper.in("source", docIds);
        Page<OrderDetl> page = orderDetlService.selectPage(new Page<>(curr, limit), wrapper);
        for (OrderDetl record : page.getRecords()) {
            Double sumAnfme = agvLocDetlService.getSumAnfmeDb2(record.getMatnr(), record.getThreeCode(), 1);
            record.setStock(sumAnfme == null ? 0 : sumAnfme);
        }
        return R.ok(page);
@@ -421,7 +492,7 @@
            if (param.getDocType() != 32) {
                orderDetl.setProcessSts(3);
            }
            DetlDto dto = new DetlDto(orderDetl.getMatnr(), orderDetl.getBatch());
            DetlDto dto = new DetlDto(orderDetl.getMatnr(), orderDetl.getThreeCode().trim(), orderDetl.getProcessSts());
            if (DetlDto.has(list, dto)) {
                OrderDetl item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getThreeCode().trim(), orderDetl.getDeadTime());
                Double anfme = item.getAnfme();
@@ -601,7 +672,7 @@
                List<DetlDto> dbList = new ArrayList<>();
                for (OrderDetl orderDetl : param.getOrderDetlList()) {
                    if (orderDetl.getProcessSts() != 1) continue;
                    DetlDto dto = new DetlDto(orderDetl.getMatnr(), orderDetl.getBatch());
                    DetlDto dto = new DetlDto(orderDetl.getMatnr(), orderDetl.getThreeCode().trim(), orderDetl.getProcessSts());
                    if (DetlDto.has(dbList, dto)) {
                        OrderDetl item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getThreeCode().trim(), orderDetl.getDeadTime());
                        item.setAnfme(item.getAnfme() + orderDetl.getAnfme());
@@ -691,7 +762,7 @@
        List<DetlDto> list = new ArrayList<>();
        for (OrderDetl orderDetl : param.getOrderDetlList()) {
            DetlDto dto = new DetlDto(orderDetl.getMatnr(), orderDetl.getAnfme(), orderDetl.getProcessSts());
            DetlDto dto = new DetlDto(orderDetl.getMatnr(), orderDetl.getThreeCode(), orderDetl.getProcessSts());
            if (DetlDto.has(list, dto)) {
                OrderDetl item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getThreeCode().trim(), orderDetl.getDeadTime());
                Double anfme = item.getAnfme();
@@ -877,13 +948,17 @@
    }
    @RequestMapping(value = "/order/update/auth")
    @ManagerAuth
    @ManagerAuth(memo = "修改订单状态")
    public R update(Order order) {
        if (Cools.isEmpty(order) || null == order.getId()) {
            return R.error("参数缺失");
        }
        order.setUpdateBy(getUserId());
        order.setUpdateTime(new Date());
        Long settle = order.getSettle();
        if (settle != null && settle == 6) {
            order.setMemo(Cools.isEmpty(order.getMemo()) ? "手动完结" : order.getMemo() + "手动完结");
        }
        if (!orderService.updateById(order)) {
            throw new CoolException("修改订单失败");
        }
@@ -1374,11 +1449,16 @@
            DocType docType = docTypeService.selectOne(new EntityWrapper<DocType>().eq("doc_name", docName));
            String odNo = uuid;
            if (docType.getPakin() == 1) {
                odNo += "_I";
            } else {
                odNo += "_O";
            }
            if (docName.contains("调拨单")) {
                odNo = "DB" + odNo;
            } else if (docName.contains("加工单")) {
                odNo = "JG" + odNo;
            }else {
            } else {
                if (docType.getPakin() == 1) {
                    odNo += "_I";
                } else {