#
luxiaotao1123
2021-04-09 eb13b96cc3b01a3d44fbce6a730004e158418ab5
src/main/java/zy/cloud/wms/manager/controller/WorkController.java
@@ -1,14 +1,27 @@
package zy.cloud.wms.manager.controller;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.annotations.ManagerAuth;
import com.core.common.BaseRes;
import com.core.common.Cools;
import com.core.common.R;
import com.core.common.SnowflakeIdWorker;
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 zy.cloud.wms.common.web.BaseController;
import zy.cloud.wms.manager.entity.param.StockInParam;
import zy.cloud.wms.manager.entity.CustOrder;
import zy.cloud.wms.manager.entity.Pakout;
import zy.cloud.wms.manager.entity.WrkSts;
import zy.cloud.wms.manager.entity.param.*;
import zy.cloud.wms.manager.service.CustOrderService;
import zy.cloud.wms.manager.service.PakoutService;
import zy.cloud.wms.manager.service.WorkService;
import zy.cloud.wms.manager.service.WrkStsService;
import java.util.List;
/**
 * Created by vincent on 2021/2/25
@@ -19,12 +32,134 @@
    @Autowired
    private WorkService workService;
    @Autowired
    private PakoutService pakoutService;
    @Autowired
    private WrkStsService wrkStsService;
    @Autowired
    private SnowflakeIdWorker snowflakeIdWorker;
    @Autowired
    private CustOrderService custOrderService;
    @RequestMapping("/stock/pakin")
    @ManagerAuth(memo = "入库")
    public R stockPakin(@RequestBody PakinParam number) {
        return workService.stockPakin(number, getUserId());
    }
    @RequestMapping("/stock/in")
    @ManagerAuth(memo = "上架")
    public R fullStorePutStart(@RequestBody StockInParam stockInParam) {
    public R stockIn(@RequestBody StockInParam stockInParam) {
        return workService.stockIn(stockInParam, getUserId());
    }
    @RequestMapping("/stock/out/check")
    @ManagerAuth(memo = "库存数量检测")
    public R stockOutCheck(@RequestParam String number) {
        return workService.stockOutCheck(number, getUserId());
    }
    @RequestMapping("/stock/out/preview")
    @ManagerAuth(memo = "拣货预览")
    public R stockOutPreview(@RequestBody StockOutParam stockOutParam) {
        return workService.stockOutPreview(stockOutParam, getUserId());
    }
    @RequestMapping("/stock/out")
    @ManagerAuth(memo = "拣货")
    public R stockOut(@RequestBody StockOutParam stockOutParam) {
        return workService.stockOut(stockOutParam, getUserId());
    }
    @RequestMapping("/stock/out/print")
    @ManagerAuth(memo = "拣货单打印")
    public R stockOutPrint(@RequestBody StockOutParam stockOutParam) {
        return workService.stockOutPrint(stockOutParam, getUserId());
    }
    @RequestMapping("/stock/allot")
    @ManagerAuth(memo = "库存调拨")
    public R stockAllot() {
        return R.ok();
    }
    @RequestMapping("/pakout/get")
    @ManagerAuth(memo = "获取出库单")
    public R getPakout(@RequestParam String docNumber) {
        List<Pakout> pakouts = pakoutService.selectList(new EntityWrapper<Pakout>().eq("doc_num", docNumber).in("wrk_sts", 1,2));
        if (Cools.isEmpty(pakouts)) {
            return R.parse(BaseRes.EMPTY);
        }
        Long sts = pakouts.get(0).getWrkSts();
        if (sts == 1) {
            sts = 2L;
        }
        WrkSts wrkSts = wrkStsService.selectById(sts);
        return R.ok().add(Cools
                .add("number", pakouts.get(0).getDocNum())
                .add("wrkSts", pakouts.get(0).getWrkSts())
                .add("wrkSts$", wrkSts==null?"未知":wrkSts.getStsName())
                .add("custName", Cools.isEmpty(pakouts.get(0).getCustName())?"-":pakouts.get(0).getCustName())
                .add("pakouts", pakouts)
        );
    }
    @RequestMapping("/stock/out/confirm")
    @ManagerAuth(memo = "拣货确认")
    public R stockOutConfirm(@RequestBody StockConfirmParam param) {
        return workService.stockOutComplete(param, getUserId());
    }
    @RequestMapping("/pakout/init")
    @ManagerAuth(memo = "生成拣货单")
    public R initPakout(@RequestBody List<InitPakoutParam> params) {
        return workService.initPakout(params, getUserId());
    }
    @RequestMapping("/hand/control/pakout")
    @ManagerAuth(memo = "手动处理拣货单")
    public R handControlWrkMast(@RequestParam String wrkNo, @RequestParam Integer type){
        if (type == 1) {
            return workService.completePakout(wrkNo, getUserId());
        } else if (type == 2) {
            return workService.cancelPakout(wrkNo, getUserId());
        }
        return R.ok();
    }
    @RequestMapping("/orderNo/init")
    @ManagerAuth(memo = "生成销售订单编号")
    public R initOrderNo() {
        long nextId = snowflakeIdWorker.nextId();
        String number = "PR-" + String.valueOf(nextId).substring(0, 15);
        if (custOrderService.selectCount(new EntityWrapper<CustOrder>().eq("number", number)) > 0) {
            return R.error("抱歉单号已存在,请再生成一次");
        }
        return R.ok().add(number);
    }
    @RequestMapping("/order/init")
    @ManagerAuth(memo = "生成销售订单")
    public R initOrder(@RequestBody InitOrderParam param) {
        return workService.initOrder(param, getUserId());
    }
    @RequestMapping("/stock/transfer")
    @ManagerAuth(memo = "库存调拨")
    public R stockTransfer(@RequestBody AsrsTransferParam number) {
        return R.error();
    }
    @RequestMapping("/stock/check")
    @ManagerAuth(memo = "库存盘点")
    public R stockCheck(@RequestBody StoCheckParam param) {
        return workService.stockCheck(param, getUserId());
    }
    @RequestMapping("/stock/check/auditing")
    @ManagerAuth(memo = "盘点记录审核")
    public R checkAuditing(@RequestParam Long checkId) {
        return workService.stockCheckAuditing(checkId, getUserId());
    }
}