skyouc
4 天以前 01ce50a3b8736726f58899b6cfa70ea27154637a
rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/OutStockController.java
@@ -8,8 +8,11 @@
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.framework.exception.CoolException;
import com.vincent.rsf.server.manager.controller.params.OrderOutTaskParam;
import com.vincent.rsf.server.manager.controller.params.OutStockToTaskParams;
import com.vincent.rsf.server.manager.entity.DeliveryItem;
import com.vincent.rsf.server.manager.entity.excel.OutStockTemplate;
import com.vincent.rsf.server.manager.enums.OrderType;
import com.vincent.rsf.server.manager.enums.OrderWorkType;
import com.vincent.rsf.server.common.annotation.OperationLog;
@@ -42,7 +45,6 @@
@RestController
@Api(tags = "出库单据")
public class OutStockController extends BaseController {
    Logger logger = LoggerFactory.getLogger(OutStockController.class);
    @Autowired
@@ -53,6 +55,17 @@
    @PreAuthorize("hasAuthority('manager:outStock:list')")
    @PostMapping("/outStock/page")
    public R page(@RequestBody Map<String, Object> map) {
        BaseParam baseParam = buildParam(map, BaseParam.class);
        PageParam<AsnOrder, BaseParam> pageParam = new PageParam<>(baseParam, AsnOrder.class);
        QueryWrapper<AsnOrder> queryWrapper = pageParam.buildWrapper(true);
        List<String> list = Arrays.asList(OrderType.ORDER_OUT.type);
        queryWrapper.in("type", list);
        return R.ok().add(outStockService.page(pageParam, queryWrapper));
    }
    @PreAuthorize("hasAuthority('manager:outStock:list')")
    @PostMapping("/outStock/dialog/page")
    public R dialogPage(@RequestBody Map<String, Object> map) {
        BaseParam baseParam = buildParam(map, BaseParam.class);
        PageParam<AsnOrder, BaseParam> pageParam = new PageParam<>(baseParam, AsnOrder.class);
        QueryWrapper<AsnOrder> queryWrapper = pageParam.buildWrapper(true);
@@ -154,6 +167,21 @@
        return outStockService.cancelOutOrder(id);
    }
    @PreAuthorize("hasAuthority('manager:outStock:update')")
    @ApiOperation("删除已生成明细")
    @GetMapping("/outStock/items/cancel/{ids}")
    public R cancel(@PathVariable Long[] ids) {
        List<Long> list = Arrays.asList(ids);
        if (list.isEmpty()) {
            return R.error("参数不能为空!!");
        }
        List<AsnOrderItem> orderItems = outStockItemService.list(new LambdaQueryWrapper<AsnOrderItem>().in(AsnOrderItem::getId, list));
        if (orderItems.isEmpty()) {
            throw new CoolException("单据明细不存在!!");
        }
        return outStockService.cancelOutOrderByItems(orderItems);
    }
    @PreAuthorize("hasAuthority('manager:outStock:list')")
    @PostMapping("/outStock/export")
@@ -204,8 +232,8 @@
        if (Objects.isNull(params.get("ids"))) {
            return R.error("参数不能为空!!");
        }
        List<Long> ids = (List<Long>) params.get("ids");
        return outStockService.genOutStock(ids, getLoginUserId());
        List<DeliveryItem> items = JSON.parseArray(JSONObject.toJSONString(params.get("ids")), DeliveryItem.class);
        return outStockService.genOutStock(items, getLoginUserId());
    }
    @PreAuthorize("hasAuthority('manager:outStock:update')")
@@ -240,6 +268,7 @@
    }
    @PostMapping("/outStock/order/getOutTaskItems")
    @ApiOperation("出库单库位预览")
    @PreAuthorize("hasAuthority('manager:outStock:list')")
    public R getOrderOutTaskItem(@RequestBody OrderOutTaskParam param) {
        if (Cools.isEmpty(param)) {
@@ -262,10 +291,40 @@
        if (Cools.isEmpty()) {
            return R.error("参数不能为空!!");
        }
        if (Objects.isNull(params.get("outId"))) {
            return R.error("出库参数不能为空!!");
        }
        List<OutStockToTaskParams> taskParams = JSONArray.parseArray(JSONArray.toJSONString(params.get("items")), OutStockToTaskParams.class);
        return  outStockService.genOutStockTask(taskParams, getLoginUserId());
        return  outStockService.genOutStockTask(taskParams, getLoginUserId(), Long.parseLong(params.get("outId").toString()));
    }
    /**
     * 获取出库站点
     * @return
     */
    @GetMapping("/outStock/tasks/sites")
    @ApiOperation("获取出库库口")
    @PreAuthorize("hasAuthority('manager:outStock:list')")
    public R getSiteNos() {
        return outStockService.getSiteNos();
    }
    /**
     * @author Ryan
     * @description 下载模板
     * @param
     * @return
     * @time 2025/4/18 08:17
     */
    @PostMapping("/outStock/template/download")
    @ApiOperation("下载收货单模板")
    @PreAuthorize("hasAuthority('manager:outStockItem:update')")
    public void downloadTemplate(@RequestBody Map<String, Object> map, HttpServletResponse response) throws Exception {
        OutStockTemplate template = ExcelUtil.mockData(OutStockTemplate.class);
        List<OutStockTemplate> list = Arrays.asList(template);
        ExcelUtil.build(ExcelUtil.create(list, OutStockTemplate.class, true), response);
    }
}