自动化立体仓库 - WMS系统
zjj
2025-02-12 1e5a083e2c1acd8ab24bbc3b0ba579b040abf6b9
src/main/java/com/zy/asrs/controller/InventoryCheckOrderController.java
@@ -1,19 +1,22 @@
package com.zy.asrs.controller;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.core.common.DateUtils;
import com.zy.asrs.entity.DocType;
import com.zy.asrs.entity.InventoryCheckOrder;
import com.zy.asrs.entity.Order;
import com.zy.asrs.service.InventoryCheckOrderService;
import com.core.annotations.ManagerAuth;
import com.core.common.BaseRes;
import com.core.common.Cools;
import com.core.common.DateUtils;
import com.core.common.R;
import com.zy.asrs.entity.InventoryCheckOrder;
import com.zy.asrs.entity.InventoryCheckOrderDetl;
import com.zy.asrs.entity.WrkDetl;
import com.zy.asrs.entity.WrkMast;
import com.zy.asrs.service.InventoryCheckOrderDetlService;
import com.zy.asrs.service.InventoryCheckOrderService;
import com.zy.asrs.service.WrkDetlService;
import com.zy.asrs.service.WrkMastService;
import com.zy.common.web.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@@ -25,6 +28,44 @@
    @Autowired
    private InventoryCheckOrderService inventoryCheckOrderService;
    @Autowired
    private InventoryCheckOrderDetlService inventoryCheckOrderDetlService;
    @Autowired
    private WrkMastService wrkMastService;
    @Autowired
    private WrkDetlService wrkDetlService;
    @RequestMapping("/inventoryCheckOrder/StockCheck/select/barcode")
    @ManagerAuth()
    public R StockCheckSelectBarcode(@RequestParam String barcode) {
        if (Cools.isEmpty(barcode)) {
            return R.ok();
        }
        WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("barcode", barcode));
        if (Cools.isEmpty(wrkMast)) {
            return R.error("该条码未查询到盘点任务");
        }
        ArrayList<InventoryCheckOrderDetl> checkOrderDetls = new ArrayList<>();
        List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
        for (WrkDetl wrkDetl : wrkDetls) {
            InventoryCheckOrderDetl checkDetl = inventoryCheckOrderDetlService.selectOne(new EntityWrapper<InventoryCheckOrderDetl>()
                    .eq("order_no", wrkMast.getSheetNo())
                    .eq("matnr", wrkDetl.getMatnr())
                    .eq("batch", wrkDetl.getBatch()));
            if (Cools.isEmpty(checkDetl)) {
                continue;
            }
            checkOrderDetls.add(checkDetl);
        }
        return R.ok(checkOrderDetls);
    }
    @RequestMapping("/inventoryCheckOrder/select/status/1")
    @ManagerAuth()
    public R availableTakeCheckSite(){
        return R.ok().add(inventoryCheckOrderService.selectList(new EntityWrapper<InventoryCheckOrder>().eq("status", "1")));
    }
    @RequestMapping(value = "/inventoryCheckOrder/nav/list/auth")
@@ -76,11 +117,37 @@
        }
    }
    @RequestMapping(value = "/inventoryCheckOrder/add/auth")
    @PostMapping (value = "/inventoryCheckOrder/add/auth")
    @ManagerAuth
    public R add(InventoryCheckOrder inventoryCheckOrder) {
    public R add(@RequestBody InventoryCheckOrder inventoryCheckOrder) {
        String orderNo = inventoryCheckOrder.getOrderNo();
        long time = new Date().getTime();
        if (Cools.isEmpty(orderNo)) {
            switch (inventoryCheckOrder.getArea()){
                case "堆垛机":
                    orderNo = "DDJ"+time;
                    break;
                case "四向库":
                    orderNo = "SXK"+time;
                    break;
                case "CTU":
                    orderNo = "CTU"+time;
                    break;
            }
            inventoryCheckOrder.setOrderNo(orderNo);
        }
        int count = inventoryCheckOrderService.selectCount(new EntityWrapper<InventoryCheckOrder>().eq("order_no", orderNo));
        if (count > 0) {
            return R.parse("单据编号已经存在:" + orderNo);
        }
        inventoryCheckOrder.setCreateBy(getUserId().toString());
        inventoryCheckOrder.setCreateTime(new Date());
        inventoryCheckOrder.setStatus("1");
        inventoryCheckOrderService.insert(inventoryCheckOrder);
        return R.ok();
        return R.ok(orderNo + "新增成功");
    }
   @RequestMapping(value = "/inventoryCheckOrder/update/auth")