skyouc
2025-03-27 db93bbe14d4d4ed67702d2c2500c0b36c67896ec
rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/AsnOrderItemController.java
@@ -1,28 +1,21 @@
package com.vincent.rsf.server.manager.controller;
import com.alibaba.fastjson.JSON;
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.framework.exception.CoolException;
import com.vincent.rsf.server.common.utils.CommonUtil;
import com.vincent.rsf.server.common.utils.ExcelUtil;
import com.vincent.rsf.server.common.annotation.OperationLog;
import com.vincent.rsf.server.common.domain.BaseParam;
import com.vincent.rsf.server.common.domain.KeyValVo;
import com.vincent.rsf.server.common.domain.PageParam;
import com.vincent.rsf.server.manager.controller.params.AsnOrderItemParams;
import com.vincent.rsf.server.manager.entity.AsnOrder;
import com.vincent.rsf.server.manager.entity.AsnOrderItem;
import com.vincent.rsf.server.manager.entity.excel.AsnOrderTemplate;
import com.vincent.rsf.server.manager.service.AsnOrderItemService;
import com.vincent.rsf.server.system.controller.BaseController;
import com.vincent.rsf.server.system.entity.Fields;
import com.vincent.rsf.server.system.entity.FieldsItem;
import com.vincent.rsf.server.system.service.FieldsItemService;
import com.vincent.rsf.server.system.service.FieldsService;
import com.vincent.rsf.server.system.utils.SerialRuleUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
@@ -30,10 +23,8 @@
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.*;
import java.util.stream.Collectors;
@Api(tags = "ASN单明细")
@RestController
@@ -43,11 +34,12 @@
    private AsnOrderItemService asnOrderItemService;
    @PreAuthorize("hasAuthority('manager:asnOrderItem:list')")
    @ApiOperation("分页获取列表")
    @PostMapping("/asnOrderItem/page")
    public R page(@RequestBody Map<String, Object> map) {
        BaseParam baseParam = buildParam(map, BaseParam.class);
        PageParam<AsnOrderItem, BaseParam> pageParam = new PageParam<>(baseParam, AsnOrderItem.class);
        return R.ok().add(asnOrderItemService.page(pageParam, pageParam.buildWrapper(true)));
        return R.ok().add(asnOrderItemService.listByAsnId(pageParam, pageParam.buildWrapper(true)));
    }
    @PreAuthorize("hasAuthority('manager:asnOrderItem:list')")
@@ -76,17 +68,15 @@
            throw new CoolException("信息不能为空!!");
        }
        params.put("createBy", getLoginUserId());
        params.put("updateBy", getLoginUser());
        params.put("updateBy", getLoginUserId());
        if (!asnOrderItemService.fieldsSave(params)) {
            return R.error("Save Fail");
        }
        return R.ok("Save Success");
    }
    @PreAuthorize("hasAuthority('manager:asnOrderItem:update')")
    @OperationLog("Update ASN单据")
@@ -126,7 +116,7 @@
    @PreAuthorize("hasAuthority('manager:asnOrderItem:list')")
    @PostMapping("/asnOrderItem/export")
    @ApiOperation("收货通知单明细")
    @ApiOperation("导出收货通知单明细")
    public void export(@RequestBody Map<String, Object> map, HttpServletResponse response) throws Exception {
        AsnOrderTemplate template = ExcelUtil.mockData(AsnOrderTemplate.class);
        List<AsnOrderTemplate> list = new ArrayList<>();
@@ -134,14 +124,26 @@
        ExcelUtil.build(ExcelUtil.create(list, AsnOrderTemplate.class, true), response);
    }
    @PostMapping("/asnOrderItem/generate/barcode")
    @ApiOperation("生成ASN标签")
    @PreAuthorize("hasAuthority('manager:asnOrder:list')")
    public R generateBarcode(@RequestBody List<Long> orders) {
        if (orders.isEmpty()) {
            return R.error("单据不能为空!!");
        }
        return asnOrderItemService.generateBarcode(orders);
    }
    /**
     * ASN单据明细导入
     * @param file
     * @return
     */
    @PostMapping("/asnOrder/import")
    @PostMapping("/asnOrderItem/import")
    @ApiOperation("ASN导入接口")
    @PreAuthorize("hasAuthority('manager:asnOrder:update')")
    @PreAuthorize("hasAuthority('manager:asnOrderItem:update')")
    public R importExcel(@RequestParam(value = "file") MultipartFile file, @RequestParam String asnId) throws Exception {
        if (Objects.isNull(file)) {
            throw new CoolException("文件不能为空!!");