1
3 天以前 87da6dccde2f6e68a805edcf8a31dd28297d988e
rsf-server/src/main/java/com/vincent/rsf/server/api/controller/pda/PdaOutStockController.java
@@ -1,16 +1,31 @@
package com.vincent.rsf.server.api.controller.pda;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.vincent.rsf.framework.common.Cools;
import com.vincent.rsf.framework.common.R;
import com.vincent.rsf.server.api.entity.dto.ContainerWaveDto;
import com.vincent.rsf.server.api.entity.params.CallForEmptyContainersParam;
import com.vincent.rsf.server.api.entity.params.ContainerWaveParam;
import com.vincent.rsf.server.api.entity.params.OrderOutGeneralParam;
import com.vincent.rsf.server.api.service.PdaOutStockService;
import com.vincent.rsf.server.manager.controller.params.OrderOutTaskParam;
import com.vincent.rsf.server.manager.entity.WkOrder;
import com.vincent.rsf.server.manager.entity.WkOrderItem;
import com.vincent.rsf.server.manager.enums.OrderType;
import com.vincent.rsf.server.manager.service.OutStockItemService;
import com.vincent.rsf.server.manager.service.OutStockService;
import com.vincent.rsf.server.system.constant.DictTypeCode;
import com.vincent.rsf.server.system.controller.BaseController;
import com.vincent.rsf.server.system.entity.DictData;
import com.vincent.rsf.server.system.service.DictDataService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
@@ -21,8 +36,13 @@
    @Autowired
    private PdaOutStockService pdaOutStockService;
    @Resource
    private OutStockService outStockService;
    @Resource
    private OutStockItemService outStockItemService;
    @Autowired
    private DictDataService dictDataService;
    @PreAuthorize("hasAuthority('manager:task:list')")
    @GetMapping("/outStockTaskItem/{barcode}")
    @ApiOperation("快速拣货查询")
    public R getOutStockTaskItem(@PathVariable String barcode) {
@@ -30,7 +50,6 @@
        return pdaOutStockService.getOutStockTaskItem(barcode);
    }
    @PreAuthorize("hasAuthority('manager:task:list')")
    @GetMapping("/saveOutTaskSts/{barcode}")
    @ApiOperation("快速拣货")
    public R saveOutTaskSts(@PathVariable String barcode) {
@@ -38,7 +57,6 @@
        return pdaOutStockService.saveOutTaskSts(barcode);
    }
    @PreAuthorize("hasAuthority('manager:task:list')")
    @PostMapping("/getWaveList")
    @ApiOperation("查询波次列表")
    public R getWaveListItem(@RequestBody Map<String, String> map) {
@@ -46,7 +64,6 @@
        return pdaOutStockService.getWaveListItem(map.get("barcode"));
    }
    @PreAuthorize("hasAuthority('manager:task:list')")
    @PostMapping("/getContainerWaveList")
    @ApiOperation("根据容器码查询波次及出库单")
    public R getContainerWaveList(@RequestBody Map<String, String> map) {
@@ -54,11 +71,89 @@
        return pdaOutStockService.getContainerWaveList(map);
    }
    @PreAuthorize("hasAuthority('manager:task:list')")
    @PostMapping("/saveWavePick")
    @ApiOperation("根据容器码查询波次及出库单")
    public R saveWavePick(@RequestBody ContainerWaveParam containerWaveParam) {
        return pdaOutStockService.saveWavePick(containerWaveParam,getLoginUserId());
        return pdaOutStockService.saveWavePick(containerWaveParam, getLoginUserId());
    }
    @PostMapping("/callForEmptyContainers")
    @ApiOperation("呼叫空容器")
    public R callForEmptyContainers(@RequestBody CallForEmptyContainersParam containerWaveParam) {
        return pdaOutStockService.callForEmptyContainers(containerWaveParam, getLoginUserId());
    }
    // @PreAuthorize("hasAuthority('manager:outStock:list')")
    @PostMapping("/outStockItem/page")
    public R page(@RequestBody JSONObject param) {
        return R.ok()
                .add(outStockItemService.list(new LambdaQueryWrapper<>(WkOrderItem.class).eq(WkOrderItem::getDeleted, 0)
                        .eq(WkOrderItem::getOrderCode, param.getString("orderId"))));
    }
    @PostMapping("/orderOut/getType")
    public R orderOutGetType(@RequestBody OrderOutGeneralParam param) {
        if (Cools.isEmpty(param)) {
            return R.ok();
        }
        List<DictData> dictData = dictDataService.list(new LambdaQueryWrapper<DictData>()
                .eq(DictData::getDictTypeCode, DictTypeCode.DICT_SYS_BUSINESS_TYPE)
                .in(DictData::getValue, param.getType()));
        return R.ok(dictData);
    }
    @RequestMapping(value = "/orderOut/list")
    public R pdaPageList(@RequestParam(required = true) String orderNo,
            @RequestParam(defaultValue = "1") Integer curr,
            @RequestParam(defaultValue = "5") Integer limit) {
        Page<WkOrder> page = new Page<>(curr, limit);
        LambdaQueryWrapper<WkOrder> wkOrderLambdaQueryWrapper = new LambdaQueryWrapper<>();
        wkOrderLambdaQueryWrapper.eq(WkOrder::getType, OrderType.ORDER_OUT.type);
        wkOrderLambdaQueryWrapper.eq(!Cools.isEmpty(orderNo), WkOrder::getCode, orderNo);
        Page<WkOrder> wkOrderPage = outStockService.page(page, wkOrderLambdaQueryWrapper);
        return R.ok(wkOrderPage);
    }
    @RequestMapping(value = "/orderOut/detlList")
    public R orderOutDetlList(@RequestParam(required = true) String orderNo) {
        if (Cools.isEmpty(orderNo)) {
            return R.error("订单号为空");
        }
        LambdaQueryWrapper<WkOrderItem> wkOrderLambdaQueryWrapper = new LambdaQueryWrapper<>();
        // wkOrderLambdaQueryWrapper.eq(WkOrderItem::getType, OrderType.ORDER_OUT.type);
        wkOrderLambdaQueryWrapper.eq(!Cools.isEmpty(orderNo), WkOrderItem::getOrderCode, orderNo);
        List<WkOrderItem> list = outStockItemService.list(wkOrderLambdaQueryWrapper);
        return R.ok(list);
    }
    @PostMapping("/orderOut/getOutLocView")
    public R orderOutGetOutLocView(@RequestBody OrderOutGeneralParam param) {
        //参数 param.getOrderItemId()//出库预览
        if (Cools.isEmpty(param)) {
            return R.error("参数不能为空");
        }
        OrderOutTaskParam orderOutTaskParam = new OrderOutTaskParam();
        orderOutTaskParam.setOrderId(param.getOrderItemId());
        orderOutTaskParam.setWaveId(param.getWaveId());
        return outStockService.getOrderOutTaskItem(orderOutTaskParam);
//        return R.ok();
    }
    //
    @PostMapping("/orderOut/getOutLocRun")
    public R orderOutGetOutLocRun(@RequestBody OrderOutGeneralParam param) {
        //参数 param.getOrderItemId()//出库执行
        return R.ok();
    }
}