skyouc
21 小时以前 ebdfa825c07189b5f8e89f147d96d1bc612589db
rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/OutStockItemController.java
@@ -4,6 +4,7 @@
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.vincent.rsf.framework.common.Cools;
import com.vincent.rsf.framework.common.R;
@@ -13,11 +14,10 @@
import com.vincent.rsf.server.common.domain.KeyValVo;
import com.vincent.rsf.server.common.domain.PageParam;
import com.vincent.rsf.server.common.utils.ExcelUtil;
import com.vincent.rsf.server.manager.entity.AsnOrderItem;
import com.vincent.rsf.server.manager.entity.WkOrderItem;
import com.vincent.rsf.server.manager.entity.Companys;
import com.vincent.rsf.server.manager.entity.excel.AsnOrderTemplate;
import com.vincent.rsf.server.manager.entity.excel.OutStockTemplate;
import com.vincent.rsf.server.manager.enums.CompanysType;
import com.vincent.rsf.server.manager.service.AsnOrderItemService;
import com.vincent.rsf.server.manager.service.CompanysService;
import com.vincent.rsf.server.manager.service.OutStockItemService;
import com.vincent.rsf.server.system.controller.BaseController;
@@ -47,8 +47,9 @@
    @PostMapping("/outStockItem/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(outStockItemService.listByAsnId(pageParam, pageParam.buildWrapper(true)));
        PageParam<WkOrderItem, BaseParam> pageParam = new PageParam<>(baseParam, WkOrderItem.class);
        QueryWrapper<WkOrderItem> queryWrapper = pageParam.buildWrapper(true);
        return R.ok().add(outStockItemService.listByAsnId(pageParam, queryWrapper));
    }
    @PreAuthorize("hasAuthority('manager:outStockItem:list')")
@@ -89,22 +90,23 @@
    @PreAuthorize("hasAuthority('manager:outStockItem:update')")
    @OperationLog("Update 出库单明细")
    @PostMapping("/outStockItem/update")
    public R update(@RequestBody AsnOrderItem asnOrderItem) {
        asnOrderItem.setUpdateBy(getLoginUserId());
        asnOrderItem.setUpdateTime(new Date());
        if (!Objects.isNull(asnOrderItem.getSplrName()) && StringUtils.isNotBlank(asnOrderItem.getSplrName())) {
    public R update(@RequestBody WkOrderItem wkOrderItem) {
        wkOrderItem.setUpdateBy(getLoginUserId());
        wkOrderItem.setUpdateTime(new Date());
        if (!Objects.isNull(wkOrderItem.getSplrName()) && StringUtils.isNotBlank(wkOrderItem.getSplrName())) {
            Companys companys = companysService.getOne(new LambdaQueryWrapper<Companys>()
                            .eq(Companys::getType, CompanysType.COMPANYS_TYPE_SUPPLIER.val)
                    .eq(Companys::getId, asnOrderItem.getSplrName()));
                    .eq(Companys::getId, wkOrderItem.getSplrName()));
            if (!Objects.isNull(companys)) {
                asnOrderItem.setSplrCode(companys.getCode()).setSplrName(companys.getName());
                wkOrderItem.setSplrCode(companys.getCode()).setSplrName(companys.getName());
            }
        }
        if (!outStockItemService.updateById(asnOrderItem)) {
        if (!outStockItemService.updateById(wkOrderItem)) {
            return R.error("Update Fail");
        }
        return R.ok("Update Success").add(asnOrderItem);
        return R.ok("Update Success").add(wkOrderItem);
    }
    @PreAuthorize("hasAuthority('manager:outStockItem:remove')")
    @OperationLog("Delete 出库单明细")
@@ -120,9 +122,9 @@
    @PostMapping("/outStockItem/query")
    public R query(@RequestParam(required = false) String condition) {
        List<KeyValVo> vos = new ArrayList<>();
        LambdaQueryWrapper<AsnOrderItem> wrapper = new LambdaQueryWrapper<>();
        LambdaQueryWrapper<WkOrderItem> wrapper = new LambdaQueryWrapper<>();
        if (!Cools.isEmpty(condition)) {
            wrapper.like(AsnOrderItem::getId, condition);
            wrapper.like(WkOrderItem::getId, condition);
        }
        outStockItemService.page(new Page<>(1, 30), wrapper).getRecords().forEach(
                item -> vos.add(new KeyValVo(item.getId(), item.getId()))
@@ -130,17 +132,18 @@
        return R.ok().add(vos);
    }
    @PreAuthorize("hasAuthority('manager:outStockItem:list')")
    @PostMapping("/outStockItem/export")
    @ApiOperation("导出出库单明细")
    public void export(@RequestBody Map<String, Object> map, HttpServletResponse response) throws Exception {
        List<AsnOrderItem> orderItems = new ArrayList<>();
        List<WkOrderItem> orderItems = new ArrayList<>();
        if (!Objects.isNull(map.get("ids"))) {
            List<Long> ids = JSONArray.parseArray(JSONObject.toJSONString(map.get("ids")), Long.class);
            if (!ids.isEmpty()) {
                orderItems = outStockItemService.list(new LambdaQueryWrapper<AsnOrderItem>()
                        .in(AsnOrderItem::getId, ids)
                        .eq(AsnOrderItem::getStatus, 1));
                orderItems = outStockItemService.list(new LambdaQueryWrapper<WkOrderItem>()
                        .in(WkOrderItem::getId, ids)
                        .eq(WkOrderItem::getStatus, 1));
            } else {
                orderItems = outStockItemService.list(new LambdaQueryWrapper<>());
            }
@@ -148,7 +151,7 @@
            orderItems = outStockItemService.list(new LambdaQueryWrapper<>());
        }
        ExcelUtil.build(ExcelUtil.create(orderItems, AsnOrderItem.class, true), response);
        ExcelUtil.build(ExcelUtil.create(orderItems, WkOrderItem.class, true), response);
    }
    /**
@@ -159,7 +162,7 @@
    @PostMapping("/outStockItem/import")
    @ApiOperation("ASN导入接口")
    @PreAuthorize("hasAuthority('manager:outStockItem:update')")
    public R importExcel(@RequestParam(value = "file") MultipartFile file, @RequestParam String asnId) throws Exception {
    public R importExcel(@RequestParam(value = "file") MultipartFile file) throws Exception {
        if (Objects.isNull(file)) {
            R.error("文件不能为空!!");
        }
@@ -178,9 +181,10 @@
    @ApiOperation("下载收货单模板")
    @PreAuthorize("hasAuthority('manager:outStockItem:update')")
    public void downloadTemplate(@RequestBody Map<String, Object> map, HttpServletResponse response) throws Exception {
        AsnOrderTemplate template = ExcelUtil.mockData(AsnOrderTemplate.class);
        List<AsnOrderTemplate> list = Arrays.asList(template);
        ExcelUtil.build(ExcelUtil.create(list, AsnOrderTemplate.class, true), response);
        OutStockTemplate template = ExcelUtil.mockData(OutStockTemplate.class);
        List<OutStockTemplate> list = Arrays.asList(template);
        ExcelUtil.build(ExcelUtil.create(list, OutStockTemplate.class, true), response);
    }
}