自动化立体仓库 - WMS系统
#
zjj
2024-10-22 465c691ddc5485d528a9325a0f11e14b2e1882e4
src/main/java/com/zy/asrs/controller/WorkController.java
@@ -1,13 +1,19 @@
package com.zy.asrs.controller;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.annotations.ManagerAuth;
import com.core.common.Cools;
import com.core.common.R;
import com.zy.asrs.entity.StaDesc;
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.StaDescService;
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;
@@ -31,6 +37,8 @@
    private WorkService workService;
    @Autowired
    private BasDevpService basDevpService;
    @Autowired
    private StaDescService staDescService;
    @RequestMapping("/available/put/site")
    @ManagerAuth()
@@ -71,6 +79,28 @@
        return R.ok().add(basDevpService.getAvailableOutSite(107));
    }
    @RequestMapping("/available/take/check/site/crn")
    @ManagerAuth()
    public R availableTakeCheckSiteCrn(){
        EntityWrapper<StaDesc> staDescEntityWrapper = new EntityWrapper<>();
        staDescEntityWrapper.eq("type_no",107);
        staDescEntityWrapper.setSqlSelect("DISTINCT stn_no as stnNo");
        staDescEntityWrapper.in("crn_no",1,2,3,4,5,6,7);
        return R.ok().add(staDescService.selectList(staDescEntityWrapper));
    }
    @RequestMapping("/available/take/check/site/ctu")
    @ManagerAuth()
    public R availableTakeCheckSiteCtu(){
        return R.ok().add(basDevpService.getAvailableOutSite(107));
    }
    @RequestMapping("/available/take/check/site/shuttle")
    @ManagerAuth()
    public R availableTakeCheckSiteShuttle(){
        return R.ok().add(basDevpService.getAvailableOutSite(107));
    }
    @RequestMapping("/available/empty/take/site")
    @ManagerAuth()
    public R availableEmptyTakeSite(){
@@ -80,7 +110,12 @@
    @RequestMapping("/full/store/put/start")
    @ManagerAuth(memo = "全板入库")
    public R fullStorePutStart(@RequestBody FullStoreParam fullStoreParam) {
        return R.ok("入库启动成功").add(workService.startupFullPutStore(fullStoreParam,getUserId()));
        try {
            String locNo = workService.startupFullPutStore(fullStoreParam, getUserId());
            return R.ok("入库启动成功").add(locNo);
        } catch (Exception e){
            return R.error("入库启动失败==>"+e.getMessage());
        }
    }
    @RequestMapping("/plate/out/start")
@@ -118,6 +153,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 +190,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);
    }
}