自动化立体仓库 - WMS系统
*
lsh
1 天以前 d780ce5e45bf41278f554288bb4b0ac6c37b2c4a
src/main/java/com/zy/asrs/controller/WorkController.java
@@ -1,13 +1,16 @@
package com.zy.asrs.controller;
import com.core.annotations.ManagerAuth;
import com.core.common.Cools;
import com.core.common.R;
import com.zy.asrs.entity.WaitPakin;
import com.zy.asrs.entity.param.EmptyPlateOutParam;
import com.zy.asrs.entity.param.FullStoreParam;
import com.zy.asrs.entity.param.LocDetlAdjustParam;
import com.zy.asrs.entity.param.StockOutParam;
import com.zy.asrs.service.BasDevpService;
import com.zy.asrs.service.WorkService;
import com.zy.common.model.StartupDto;
import com.zy.common.web.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
@@ -15,10 +18,7 @@
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
/**
 * 工作流接口控制器
@@ -49,19 +49,46 @@
    public R availableTakeSite(){
        List<Map<String, Object>> result = new ArrayList<>();
        List<Integer> outSite = basDevpService.getAvailableOutSite(101);
        for (Integer siteId : outSite) {
            Map<String, Object> map = new HashMap<>();
            map.put("siteId", siteId);
            map.put("desc", siteId + "(全板出库口)");
            result.add(map);
        }
        List<Integer> pickOutSite = basDevpService.getAvailableOutSite(103);
        for (Integer siteId : pickOutSite) {
            Map<String, Object> map = new HashMap<>();
            map.put("siteId", siteId);
            map.put("desc", siteId + "(拣料出库口)");
            result.add(map);
        List<Integer> siteList = new ArrayList<>();
        for (Integer siteOut : outSite) {
            for (Integer sitePickOut : pickOutSite) {
                if (siteOut.equals(sitePickOut)) {
                    Map<String, Object> map = new HashMap<>();
                    map.put("siteId", siteOut);
                    map.put("desc", siteOut + "(出库口)");
                    result.add(map);
                    siteList.add(siteOut);
                }
            }
        }
        for (Integer siteId : outSite) {
            if (!siteList.contains(siteId)) {
                Map<String, Object> map = new HashMap<>();
                map.put("siteId", siteId);
                map.put("desc", siteId + "(全板出库口)");
                result.add(map);
            }
        }
        for (Integer siteId : pickOutSite) {
            if (!siteList.contains(siteId)) {
                Map<String, Object> map = new HashMap<>();
                map.put("siteId", siteId);
                map.put("desc", siteId + "(拣料出库口)");
                result.add(map);
            }
        }
        return R.ok().add(result);
    }
    @RequestMapping("/unqualified/available/take/site")
    @ManagerAuth()
    public R availableTakeSiteUnqualified(){
        List<Map<String, Object>> result = new ArrayList<>();
        Map<String, Object> map = new HashMap<>();
        map.put("siteId", 212);
        map.put("desc", 212 + "(退库口)");
        result.add(map);
        return R.ok().add(result);
    }
@@ -87,6 +114,22 @@
    @ManagerAuth(memo = "出库作业")
    public R fullStoreTakeStart(@RequestBody StockOutParam param) {
        workService.startupFullTakeStore(param, getUserId());
        return R.ok("出库启动成功");
    }
    @RequestMapping("/unqualified/plate/out/start")
    @ManagerAuth(memo = "不合格品出库")
    public R fullStoreTakeStartUnqualified(@RequestBody StockOutParam param) {
        param.setOrderNo("不合格品出库");
        workService.startupFullTakeStore(param, getUserId());
        return R.ok("出库启动成功");
    }
    @RequestMapping("/plate/order/out/start")
    @ManagerAuth(memo = "手动订单出库作业")
    public R fullStoreTakeStartOrder(@RequestBody StockOutParam param) {
        param.setOrderName("手动出库单");
        workService.startupFullTakeStoreOrder(param, getUserId());
        return R.ok("出库启动成功");
    }
@@ -118,6 +161,19 @@
        return R.ok("移库启动成功");
    }
    @RequestMapping("/mat/turn/over/out/start")
    @ManagerAuth(memo = "品号移交")
    public R turnMatLocDetl(@RequestBody EmptyPlateOutParam param) {
        if (Cools.isEmpty(param) || Cools.isEmpty(param.getLocDetls(),param.getMatId()) || Cools.isEmpty(param.getLocDetls().get(0)) || Cools.isEmpty(param.getLocDetls().get(0).getMatnr())){
            return R.error("参数为空");
        }
        if (param.getLocDetls().size()>1){
            return R.error("请单条数据修改,谨慎操作!");
        }
        workService.turnMatLocDetl(param, getUserId());
        return R.ok("品号移交成功");
    }
    @RequestMapping("/locDdetl/adjust/start")
    @ManagerAuth(memo = "库存调整")
    public R locDetlAdjustStart(@RequestBody LocDetlAdjustParam param) {
@@ -142,4 +198,18 @@
        return R.ok();
    }
    @RequestMapping("/create/waitPain/wrkMast/start")
    @ManagerAuth(memo = "生成任务")
    public R createWaitPainWrkMastStart(@RequestBody List<WaitPakin> list) {
        StartupDto startupDto = workService.createWaitPainWrkMastStart(list, getUserId());
        return R.ok("任务号:" + startupDto.getWorkNo() + ";目标库位:" + startupDto.getLocNo());
    }
    @RequestMapping("/deal/preHave/start")
    @ManagerAuth(memo = "先入品处理")
    public R dealPreHave(@RequestParam Integer wrkNo) {
        String locNo = workService.dealPreHaveStart(wrkNo, getUserId());
        return R.ok("任务重新入库,目标库位:" + locNo);
    }
}