fzzy-igdss-view/src/main/java/com/fzzy/igds/DepotPR.java
@@ -3,12 +3,13 @@
import com.bstek.dorado.annotation.DataProvider;
import com.bstek.dorado.annotation.DataResolver;
import com.bstek.dorado.annotation.Expose;
import com.fzzy.igds.data.IgdsBaseParam;
import com.fzzy.common.constant.BizTypeEnum;
import com.fzzy.igds.domain.Depot;
import com.fzzy.igds.domain.PledgeContract;
import com.fzzy.igds.service.DepotService;
import com.fzzy.igds.service.PledgeContractService;
import com.fzzy.igds.utils.ContextUtil;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.StringUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
@@ -16,7 +17,6 @@
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
/**
@@ -48,49 +48,18 @@
    }
    /**
     * depotPR#getDataByBankId
     *     depotPR#getDepotByUserType
     *
     * @return
     */
    @DataProvider
    public List<Depot> getDataByBankId(String bankId) {
        if (StringUtils.isNotEmpty(bankId)) {
            //查询银行对应的监管仓库
            IgdsBaseParam baseParam = new IgdsBaseParam();
            baseParam.setBankId(bankId);
            List<PledgeContract> pledgeContracts = pledgeContractService.listAll(baseParam);
            // 提取所有 PledgeContract 中 depot_ids 字段包含的 depot ID
            List<String> validDepotIds = new ArrayList<>();
            for (PledgeContract contract : pledgeContracts) {
                if (StringUtils.isNotEmpty(contract.getDepotIds())) {
                    // 将逗号分隔的 depot_ids 转换为 Set
                    String[] ids = contract.getDepotIds().split(",");
                    for (String id : ids) {
                        if (StringUtils.isNotEmpty(id.trim())) {
                            validDepotIds.add(id.trim());
                        }
                    }
                }
            }
            List<Depot> allData = depotService.getData(null, ContextUtil.subDeptId(null), false);
            if (!validDepotIds.isEmpty()) {
                // 过滤出在 PledgeContract.depot_ids 中出现的 depot
                List<Depot> filteredData = new ArrayList<>();
                for (Depot allDatum : allData) {
                    if (validDepotIds.contains(allDatum.getId())) {
                        filteredData.add(allDatum);
                    }
                }
                return filteredData;
            }
            return new ArrayList<>();
    public List<Depot> getDepotByUserType(String parentId) {
        if (StringUtils.isNotEmpty(parentId)) {
            return depotService.getDepotByUserType(parentId);
        }
        return depotService.getData(null, ContextUtil.subDeptId(null), false);
        return depotService.getDepotByUserType(null);
    }
    /**
     * depotPR#saveOrUpdate
     *
@@ -108,12 +77,31 @@
    }
    /**
     * 更新库存信息
     * depotPR#saveOrUpdate2
     *
     * @param data
     * @return
     */
    @DataResolver
    @Transactional
    @Log(title = "库存管理", businessType = BusinessType.UPDATE,bizType = BizTypeEnum.SYS)
    public String saveOrUpdate2(Depot data) {
        Depot depot = new Depot();
        BeanUtils.copyProperties(data, depot);
        depotService.updateStorageReal(depot);
        return null;
    }
    /**
     * depotPR#deleteDepot
     *
     * @param data
     */
    @Expose
    @Transactional
    @Log(title = "仓库管理", businessType = BusinessType.DELETE,bizType = BizTypeEnum.SYS)
    public void deleteDepot(Depot data) {
        Depot depot = new Depot();
        BeanUtils.copyProperties(data, depot);