自动化立体仓库 - WMS系统
zhangc
2025-03-06 b4ec8b4cc3476b49b9bc47e11ec03c4eecaba880
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;
@@ -12,11 +13,11 @@
import com.zy.asrs.entity.DocType;
import com.zy.asrs.entity.Order;
import com.zy.asrs.entity.OrderDetl;
import com.zy.asrs.mapper.AgvWrkDetlMapper;
import com.zy.asrs.service.*;
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;
@@ -39,6 +40,9 @@
    private LocDetlService locDetlService;
    @Autowired
    private AgvLocDetlService agvLocDetlService;
    @Autowired
    private AgvWrkDetlMapper agvWrkDetlMapper;
    @RequestMapping(value = "/orderDetl/{id}/auth")
    @ManagerAuth
@@ -163,8 +167,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);
@@ -185,9 +187,67 @@
        for (OrderDetl record : page.getRecords()) {
            Double sumAnfme = agvLocDetlService.getSumAnfme(record.getMatnr(), record.getThreeCode());
            record.setStock(sumAnfme == null ? 0 : sumAnfme);
            //Double workNum = agvWrkDetlMapper.sumAnfmeByMatnr(record.getMatnr(), record.getThreeCode(), record.getOrderNo());
            //record.setWorkNum(workNum == null ? 0 : workNum);
        }
        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);
            //Double workNum = agvWrkDetlMapper.sumAnfmeByMatnr(record.getMatnr(), record.getThreeCode(), record.getOrderNo());
            //record.setWorkNum(workNum == null ? 0 : workNum);
        }
        return R.ok(page);
    }
@@ -255,6 +315,44 @@
        for (OrderDetl record : page.getRecords()) {
            Double sumAnfme = agvLocDetlService.getSumAnfmeProcessed(record.getMatnr(), record.getThreeCode());
            record.setStock(sumAnfme == null ? 0 : sumAnfme);
            //Double workNum = agvWrkDetlMapper.sumAnfmeByMatnr(record.getMatnr(), record.getThreeCode(), record.getOrderNo());
            //record.setWorkNum(workNum == null ? 0 : workNum);
        }
        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);
            //Double workNum = agvWrkDetlMapper.sumAnfmeByMatnr(record.getMatnr(), record.getThreeCode(), record.getOrderNo());
            //record.setWorkNum(workNum == null ? 0 : workNum);
        }
        return R.ok(page);
@@ -278,7 +376,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());
            }
        }
@@ -288,6 +386,8 @@
        for (OrderDetl record : page.getRecords()) {
            Double sumAnfme = agvLocDetlService.getSumAnfme(record.getMatnr(), record.getThreeCode());
            record.setStock(sumAnfme == null ? 0 : sumAnfme);
            //Double workNum = agvWrkDetlMapper.sumAnfmeByMatnr(record.getMatnr(), record.getThreeCode(), record.getOrderNo());
            //record.setWorkNum(workNum == null ? 0 : workNum);
        }
        return R.ok(page);