czt
2026-01-22 e045a93166bcf696012770856c1ac36cf92740b5
fzzy-igdss-view/src/main/java/com/fzzy/igds/DepotPR.java
@@ -3,9 +3,7 @@
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.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;
@@ -16,7 +14,6 @@
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
/**
@@ -43,52 +40,6 @@
    public List<Depot> getData(String parentId) {
        if (StringUtils.isNotEmpty(parentId)) {
            return depotService.getData(null, parentId, false);
        }
        return depotService.getData(null, ContextUtil.subDeptId(null), false);
    }
    /**
     *
     * TODO 当前方法取消,逻辑调整为在提交时候验证是否是银行监管仓,默认获取相应的列表
     * depotPR#getDataByBankId
     *
     * @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<>();
        }
        return depotService.getData(null, ContextUtil.subDeptId(null), false);
    }