liujie
23 小时以前 c8e080d65e26158ea62c98548a11e9aa75c2112e
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TErpClinicWarehousingController.java
@@ -1,19 +1,19 @@
package com.ruoyi.web.controller.api;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.common.core.domain.BaseModel;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.framework.web.service.TokenService;
import com.ruoyi.system.dto.ClinicOutboundGoodsDto;
import com.ruoyi.system.dto.InventoryDto;
import com.ruoyi.system.dto.WarehouseGoodsDto;
import com.ruoyi.system.dto.clinicWarehouseGoodsDto;
import com.ruoyi.system.model.TCrmClinic;
import com.ruoyi.system.model.TCrmSupplier;
import com.ruoyi.system.model.TErpClinicOutbound;
import com.ruoyi.system.model.TErpGoods;
import com.ruoyi.system.model.*;
import com.ruoyi.system.query.*;
import com.ruoyi.system.service.*;
import com.ruoyi.system.vo.*;
@@ -23,6 +23,7 @@
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
@@ -44,15 +45,21 @@
    private final TokenService tokenService;
    private final TCrmClinicService crmClinicService;
    private final TCrmSupplierService crmSupplierService;
    private final TErpClinicWarehousingBatchService erpClinicWarehousingBatchService;
    private final TErpGoodsUnitService erpGoodsUnitService;
    @Autowired
    public TErpClinicWarehousingController(TErpClinicWarehousingService erpClinicWarehousingService, TErpGoodsService erpGoodsService, TokenService tokenService,
                                             TCrmClinicService crmClinicService,TCrmSupplierService crmSupplierService) {
                                             TCrmClinicService crmClinicService,TCrmSupplierService crmSupplierService,TErpClinicWarehousingBatchService erpClinicWarehousingBatchService,
                                           TErpGoodsUnitService erpGoodsUnitService) {
        this.erpClinicWarehousingService = erpClinicWarehousingService;
        this.erpGoodsService = erpGoodsService;
        this.tokenService = tokenService;
        this.crmClinicService = crmClinicService;
        this.crmSupplierService = crmSupplierService;
        this.erpClinicWarehousingBatchService = erpClinicWarehousingBatchService;
        this.erpGoodsUnitService = erpGoodsUnitService;
    }
@@ -62,7 +69,7 @@
    /**
     * 获取erp问题上报管理列表
     */
    @ApiOperation(value = "展示获取库存分页列表")
    @ApiOperation(value = "诊所 获取库存分页列表")
    @PostMapping(value = "/pageList")
    public R<PageInfo<TErpGoodsVO>> pageList(@RequestBody TErpGoodsQuery query) {
@@ -84,6 +91,33 @@
        }
        return R.ok(erpClinicWarehousingService.pageList(query,user));
    }
    /**
     * 获取erp问题上报管理列表
     */
    @ApiOperation(value = "诊所 获取库存库存不足")
    @PostMapping(value = "/pageNotInventoryGoodsList")
    public R<List<TErpGoodsVO>> pageNotInventoryGoodsList(@RequestBody TErpGoodsQuery query) {
        SysUser user = tokenService.getLoginUser().getUser();
        Integer roleType = user.getRoleType();
        if(roleType == 4){
            // 供应商
            TCrmSupplier crmSupplier = crmSupplierService.getOne(Wrappers.lambdaQuery(TCrmSupplier.class)
                    .eq(TCrmSupplier::getUserId, user.getUserId())
                    .last("LIMIT 1"));
            query.setSupplierClinicId(crmSupplier.getId());
        }
        if(roleType == 5){
            // 诊所
            TCrmClinic crmClinic = crmClinicService.getOne(Wrappers.lambdaQuery(TCrmClinic.class)
                    .eq(TCrmClinic::getUserId, user.getUserId())
                    .last("LIMIT 1"));
            query.setSupplierClinicId(crmClinic.getId());
        }
        return R.ok(erpClinicWarehousingService.pageList1(query,user));
    }
@@ -194,6 +228,9 @@
        return R.ok(erpGoodsService.warehouseGoodsPageList(query,user,supplierClinicId));
    }
    @ApiOperation(value = "诊所 入库商品详情")
    @GetMapping(value = "/warehouseGoodsDetail/{id}")
    public R<WarehouseGoodsDetailVo> warehouseGoodsDetail(@PathVariable String id) {
@@ -231,7 +268,7 @@
    @ApiOperation(value = "诊所 入库商品操作")
    @PostMapping(value = "/warehouseGoods")
    public R<?> warehouseGoods(@RequestBody @Valid List<clinicWarehouseGoodsDto> dtos) {
    public R<?> warehouseGoods(@RequestBody @Valid WarehouseGoodsDto dto) {
        SysUser user = tokenService.getLoginUser().getUser();
        Integer roleType = user.getRoleType();
        String supplierClinicId =null;
@@ -242,9 +279,37 @@
                    .last("LIMIT 1"));
            supplierClinicId = crmClinic.getId();
        }
        erpClinicWarehousingService.warehouseGoods(dtos,user,supplierClinicId);
        erpClinicWarehousingService.warehouseGoods(dto,user,supplierClinicId);
        return R.ok();
    }
    @ApiOperation(value = "诊所 获取草稿")
    @GetMapping(value = "/getWarehouseGoodsDraft")
    public R<List<TErpClinicWarehousingBatch>> getWarehouseGoodsDraft() {
        SysUser user = tokenService.getLoginUser().getUser();
        Integer roleType = user.getRoleType();
        String supplierClinicId =null;
        ArrayList<TErpClinicWarehousingBatch> clinicWarehouseGoodsDtos = new ArrayList<>();
        if(roleType == 5){
            // 诊所
            TCrmClinic crmClinic = crmClinicService.getOne(Wrappers.lambdaQuery(TCrmClinic.class)
                    .eq(TCrmClinic::getUserId, user.getUserId())
                    .last("LIMIT 1"));
            supplierClinicId = crmClinic.getId();
            List<TErpClinicWarehousing> list = erpClinicWarehousingService.list(new LambdaQueryWrapper<TErpClinicWarehousing>().eq(TErpClinicWarehousing::getClinicId, supplierClinicId).eq(TErpClinicWarehousing::getStatus, 1).orderByDesc(BaseModel::getCreateTime));
            if(list.isEmpty()){
                return R.ok(clinicWarehouseGoodsDtos);
            }
            List<TErpClinicWarehousingBatch> list1 = erpClinicWarehousingBatchService.list(new LambdaQueryWrapper<TErpClinicWarehousingBatch>().eq(TErpClinicWarehousingBatch::getWarehousingId, list.get(0).getId()));
            for (TErpClinicWarehousingBatch tErpClinicWarehousingBatch : list1) {
                String goodsId = tErpClinicWarehousingBatch.getGoodsId();
                TErpGoods tErpGoods = erpGoodsService.getOne(new LambdaQueryWrapper<TErpGoods>().eq(TErpGoods::getId, goodsId));
                TErpGoodsUnit byId = erpGoodsUnitService.getById(tErpGoods.getPackingUnitId());
                tErpClinicWarehousingBatch.setUnitName(byId.getUnitName());
            }
            return R.ok(list1);
        }
        return R.ok(clinicWarehouseGoodsDtos);
    }