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.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 */ @RestController @RequestMapping("/work") public class WorkController extends BaseController { @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 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 pakouts = pakoutService.selectList(new EntityWrapper().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 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().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()); } }