自动化立体仓库 - WMS系统
zhangc
2025-03-01 42b021b392b9752c4520425d245213ed262c9059
src/main/java/com/zy/asrs/controller/OrderDetlController.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;
@@ -16,7 +17,6 @@
import com.zy.common.web.BaseController;
import lombok.Synchronized;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.StopWatch;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
@@ -163,8 +163,6 @@
                         @RequestParam(required = false) String orderByField,
                         @RequestParam(required = false) String orderByType,
                         @RequestParam Map<String, Object> param) {
        StopWatch stopWatch = new StopWatch();
        stopWatch.start();
        EntityWrapper<OrderDetl> wrapper = new EntityWrapper<>();
        excludeTrash(param);
        convertLike(param, wrapper);
@@ -186,8 +184,62 @@
            Double sumAnfme = agvLocDetlService.getSumAnfme(record.getMatnr(), record.getThreeCode());
            record.setStock(sumAnfme == null ? 0 : sumAnfme);
        }
        stopWatch.stop();
        System.out.println(stopWatch.getTotalTimeSeconds());
        return R.ok(page);
    }
    @RequestMapping(value = "/orderDetl/pakout/list/authV7")
    @ManagerAuth
    public R pakoutList7(@RequestParam(defaultValue = "1") Integer curr,
                         @RequestParam(defaultValue = "10") 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");
        boolean flag = false;
        if (o != null) {
            String[] split = o.toString().split(",");
            //-1说明是半成品箱壳出库单
            if (split[0].equals("-1")) {
                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.andNew().like("matnr", "401", SqlLike.RIGHT).or().like("matnr", "402", SqlLike.RIGHT).andNew().in("source", docIds);
                flag = true;
            } else {
                wrapper.in("source", split);
            }
            param.remove("orderType");
        }
        convertLike(param, wrapper);
        if (!Cools.isEmpty(orderByField)) {
            wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));
        } else {
            wrapper.orderBy("create_time", false);
        }
//        List<DocType> pakins = docTypeService.selectList(new EntityWrapper<DocType>().eq("pakout", 1));
//        List<Long> docIds = new ArrayList<>();
//        for (DocType pakin : pakins) {
//            if (pakin.getDocId() != 17 && pakin.getDocId() != 33 && pakin.getDocId() != 34 && pakin.getDocId() != 35) {
//                docIds.add(pakin.getDocId());
//            }
//        }
//        wrapper.in("source", docIds);
        Page<OrderDetl> page = orderDetlService.selectPage(new Page<>(curr, limit), wrapper);
        for (OrderDetl record : page.getRecords()) {
            Double sumAnfme;
            if (flag) {
                sumAnfme = agvLocDetlService.getSumAnfme2(record.getMatnr(), record.getThreeCode());
            } else {
                sumAnfme = agvLocDetlService.getSumAnfme(record.getMatnr(), record.getThreeCode());
            }
            record.setStock(sumAnfme == null ? 0 : sumAnfme);
        }
        return R.ok(page);
    }
@@ -260,6 +312,40 @@
        return R.ok(page);
    }
    @RequestMapping(value = "/orderDetl/pakout/list/authV8")
    @ManagerAuth
    public R pakoutList8(@RequestParam(defaultValue = "1") Integer curr,
                         @RequestParam(defaultValue = "10") Integer limit,
                         @RequestParam(required = false) String orderByField,
                         @RequestParam(required = false) String orderByType,
                         @RequestParam Map<String, Object> param) {
        EntityWrapper<OrderDetl> wrapper = new EntityWrapper<>();
        excludeTrash(param);
        convertLike(param, wrapper);
        if (!Cools.isEmpty(orderByField)) {
            wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));
        } else {
            wrapper.orderBy("create_time", false);
        }
        List<DocType> pakins = docTypeService.selectList(new EntityWrapper<DocType>().eq("pakout", 1));
        List<Long> docIds = new ArrayList<>();
        for (DocType pakin : pakins) {
            if (pakin.getDocId() == 34) {
                docIds.add(pakin.getDocId());
            }
        }
        wrapper.in("source", docIds);
        Page<OrderDetl> page = orderDetlService.selectPage(new Page<>(curr, limit), wrapper);
        for (OrderDetl record : page.getRecords()) {
            Double sumAnfme = agvLocDetlService.getSumAnfmeProcessed2(record.getMatnr(), record.getThreeCode());
            record.setStock(sumAnfme == null ? 0 : sumAnfme);
        }
        return R.ok(page);
    }
    @RequestMapping(value = "/orderDetl/pakout/list/authV6")
    @ManagerAuth
    public R pakoutList6(@RequestParam(defaultValue = "1") Integer curr,
@@ -278,7 +364,7 @@
        List<DocType> pakins = docTypeService.selectList(new EntityWrapper<DocType>().eq("pakout", 1));
        List<Long> docIds = new ArrayList<>();
        for (DocType pakin : pakins) {
            if (pakin.getDocId() == 37) {
            if (pakin.getDocId() == 37 || pakin.getDocId() == 43) {
                docIds.add(pakin.getDocId());
            }
        }