sgj
2026-03-20 58f63e3a124680d0b1f571f5d0a1e3ed308d43be
fzzy-igdss-view/src/main/java/com/fzzy/igds/PledgeContractPR.java
@@ -7,8 +7,11 @@
import com.fzzy.igds.constant.Constant;
import com.fzzy.igds.data.BaseResp;
import com.fzzy.igds.data.IgdsBaseParam;
import com.fzzy.igds.domain.InoutNoticeIn;
import com.fzzy.igds.domain.Depot;
import com.fzzy.igds.domain.PledgeContract;
import com.fzzy.igds.domain.PledgeContractDepot;
import com.fzzy.igds.service.DepotService;
import com.fzzy.igds.service.PledgeContractDepotService;
import com.fzzy.igds.service.PledgeContractService;
import com.fzzy.igds.utils.ContextUtil;
import com.ruoyi.common.annotation.Log;
@@ -28,6 +31,13 @@
    @Resource
    private PledgeContractService pledgeContractService;
    @Resource
    private PledgeContractDepotService pledgeContractDepotService;
    @Resource
    private DepotService depotService;
    /**
     * pledgeContractPR#initAdd
@@ -73,6 +83,10 @@
    @Transactional
    @DataResolver
    public BaseResp saveUpdate(PledgeContract pledgeContract) {
        List<PledgeContractDepot> depotData = pledgeContract.getDepotData();
        if (depotData != null && !depotData.isEmpty()) {
            pledgeContractDepotService.addDataByList(depotData);
        }
        if (null == pledgeContract.getCreateTime()) {
            return pledgeContractService.addData(pledgeContract);
        } else {
@@ -83,6 +97,7 @@
    /**
     * 删除
     * pledgeContractPR#delete
     *
     * @param pledgeContract
     * @return
@@ -107,4 +122,68 @@
        result.add(new SysDictData("已解押", Constant.YN_Y));
        return result;
    }
    /**
     * 删除质押仓库
     * pledgeContractPR#deleteDepot
     *
     * @param pledgeContractDepot
     * @return
     */
    @Log(title = "质押合同", businessType = BusinessType.DELETE, bizType = BizTypeEnum.SUPERVISION)
    @Expose
    public BaseResp deleteDepot(PledgeContractDepot pledgeContractDepot) {
        if (StringUtils.isNotEmpty(pledgeContractDepot.getId()))
            return pledgeContractDepotService.deleteData(pledgeContractDepot);
        return BaseResp.success();
    }
    /**
     * pledgeContractPR#listAllData
     * 质押仓库列表
     */
    @DataProvider
    public List<PledgeContractDepot> listAllData(String PledgeId) {
        IgdsBaseParam param = new IgdsBaseParam();
        param.setCompanyId(ContextUtil.getCompanyId());
        param.setParentId(PledgeId);
        return pledgeContractDepotService.listAll(param);
    }
    /**
     * pledgeContractPR#getUnplacedDepotData
     *
     * @return
     */
    @DataProvider
    public List<Depot> getUnplacedDepotData(String parentId, String PledgeId) {
        List<Depot> result = new ArrayList<>();
        if (com.ruoyi.common.utils.StringUtils.isBlank(PledgeId) || com.ruoyi.common.utils.StringUtils.isBlank(parentId)) {
            return result;
        }
        //获取收储公司下所有仓库
        List<Depot> data = depotService.getData(null, parentId, false);
        //获取已配置仓库
        IgdsBaseParam param = new IgdsBaseParam();
        param.setCompanyId(ContextUtil.getCompanyId());
        param.setParentId(PledgeId);
        List<PledgeContractDepot> pledgeContractDepots = pledgeContractDepotService.listAll(param);
        //遍历找出所有未配置仓库
        for (Depot depot : data) {
            boolean flag = true;
            for (PledgeContractDepot pledgeContractDepot : pledgeContractDepots) {
                if (depot.getId().equals(pledgeContractDepot.getPledgeDepot())) {
                    flag = false;
                    break;
                }
            }
            if (flag) {
                result.add(depot);
            }
        }
        return result;
    }
}