自动化立体仓库 - WMS系统
1
ZY
2024-08-19 d7cbe984b51fb8fa509890809aa75e6416168249
src/main/java/com/zy/asrs/controller/WorkController.java
@@ -1,19 +1,27 @@
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;
import org.springframework.web.bind.annotation.RequestMapping;
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;
/**
 * 工作流接口控制器
@@ -28,25 +36,46 @@
    private BasDevpService basDevpService;
    @RequestMapping("/available/put/site")
    @ManagerAuth(memo = "获取入库站点")
    @ManagerAuth()
    public R availablePutSite(){
        return R.ok().add(basDevpService.getAvailableInSite());
    }
    @RequestMapping("/available/empty/put/site")
    @ManagerAuth(memo = "获取空板入库站点")
    @ManagerAuth()
    public R availableEmptyPutSite(){
        return R.ok().add(basDevpService.getAvailableEmptyInSite());
    }
    @RequestMapping("/available/take/site")
    @ManagerAuth(memo = "获取出库站点")
    @ManagerAuth()
    public R availableTakeSite(){
        return R.ok().add(basDevpService.getAvailableOutSite());
        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);
//        }
        return R.ok().add(result);
    }
    @RequestMapping("/available/take/check/site")
    @ManagerAuth()
    public R availableTakeCheckSite(){
        return R.ok().add(basDevpService.getAvailableOutSite(107));
    }
    @RequestMapping("/available/empty/take/site")
    @ManagerAuth(memo = "获取空板出库站点")
    @ManagerAuth()
    public R availableEmptyTakeSite(){
        return R.ok().add(basDevpService.getAvailableEmptyOutSite());
    }
@@ -92,6 +121,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) {
@@ -109,8 +151,25 @@
        } else if (type == 2) {
            workService.cancelWrkMast(workNo, getUserId());
            return R.ok("工作档已取消");
        } else if (type == 3) {
            workService.pickWrkMast(workNo, getUserId());
            return R.ok("工作档已拣料");
        }
        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);
    }
}