sgj
2026-01-05 385a783e76b2765d55d03430f064700d12991b6b
入库通知单添加银行填写
已修改4个文件
182 ■■■■■ 文件已修改
fzzy-igdss-core/src/main/java/com/fzzy/igds/service/PledgeContractService.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-view/src/main/java/com/fzzy/igds/DepotPR.java 72 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutNoticeIn.view.xml 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutNoticePR.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-core/src/main/java/com/fzzy/igds/service/PledgeContractService.java
@@ -22,14 +22,19 @@
    private PledgeContractMapper pledgeContractMapper;
    public List<PledgeContract> listAll(IgdsBaseParam param) {
        if (null == param) param = new IgdsBaseParam();
        if (null == param)
            return pledgeContractMapper.selectList(null);
        if (StringUtils.isEmpty(param.getCompanyId())) {
            param.setCompanyId(ContextUtil.getCompanyId());
        }
        QueryWrapper<PledgeContract> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("company_id", param.getCompanyId());
        if (StringUtils.isNotEmpty(param.getName())) {
            queryWrapper.like("name", param.getName());
        }
        if (StringUtils.isNotEmpty(param.getBankId())) {
            queryWrapper.eq("pledge_bank", param.getBankId());
        }
        return pledgeContractMapper.selectList(queryWrapper);
    }
fzzy-igdss-view/src/main/java/com/fzzy/igds/DepotPR.java
@@ -3,15 +3,20 @@
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;
import com.ruoyi.common.utils.StringUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
/**
@@ -26,20 +31,69 @@
    @Resource
    private DepotService depotService;
    @Resource
    private PledgeContractService pledgeContractService;
    /**
     * depotPR#getData
     *
     * @return
     */
    @DataProvider
    public List<Depot> getData(String parentId){
        if(StringUtils.isNotEmpty(parentId)){
            return depotService.getData(null,parentId,false);
    public List<Depot> getData(String parentId) {
        if (StringUtils.isNotEmpty(parentId)) {
            return depotService.getData(null, parentId, false);
        }
        return depotService.getData(null, ContextUtil.subDeptId(null) ,false);
        return depotService.getData(null, ContextUtil.subDeptId(null), false);
    }
    /**
     * 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);
    }
    /**
     * depotPR#saveOrUpdate
     *
     * @param data
     * @return
     */
@@ -55,11 +109,12 @@
    /**
     * depotPR#deleteDepot
     *
     * @param data
     */
    @Expose
    @Transactional
    public void deleteDepot(Depot data)  {
    public void deleteDepot(Depot data) {
        Depot depot = new Depot();
        BeanUtils.copyProperties(data, depot);
        depotService.deleteDepot(depot);
@@ -75,6 +130,7 @@
    /**
     * ${dorado.getDataProvider("depotPR#getAllCache").getResult()}
     *
     * @return
     */
    @DataProvider
@@ -84,6 +140,7 @@
    /**
     * depotPR#ajaxGetAllCache
     *
     * @return
     */
    @Expose
@@ -93,11 +150,12 @@
    /**
     * depotPR#getDataByCompanyId
     *
     * @return
     */
    @DataProvider
    public List<Depot> getDataByCompanyId(){
        return depotService.getData(null, null ,false);
    public List<Depot> getDataByCompanyId() {
        return depotService.getData(null, null, false);
    }
    /**
fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutNoticeIn.view.xml
@@ -4,6 +4,25 @@
  <Context/>
  <Model>
    <DataType name="dtMain">
      <ClientEvent name="onDataChange">if(arg.property == 'type'){&#xD;
        //库区自建通知单&#xD;
    if(arg.newValue == '10'){&#xD;
        view.get(&quot;#formItemBank&quot;).set(&quot;visible&quot;,false);&#xD;
        var curData = view.get(&quot;#dsMain.data:#&quot;); //当前选择的数据&#xD;
        curData.set(&quot;bankId&quot;,'-');&#xD;
&#xD;
    }&#xD;
        //质押监管通知单&#xD;
    if(arg.newValue == '20'){&#xD;
        view.get(&quot;#formItemBank&quot;).set(&quot;visible&quot;,true);&#xD;
        var curData = view.get(&quot;#dsMain.data:#&quot;); //当前选择的数据&#xD;
        curData.set(&quot;bankId&quot;,null);&#xD;
    }&#xD;
}&#xD;
&#xD;
&#xD;
&#xD;
</ClientEvent>
      <Property name="creationType">com.fzzy.igds.domain.InoutNoticeIn</Property>
      <PropertyDef name="id">
        <Property></Property>
@@ -18,7 +37,7 @@
        <Property name="label">所属分库</Property>
        <Property name="mapping">
          <Property name="keyProperty">id</Property>
          <Property name="mapValues">${dorado.getDataProvider(&quot;deptPR#getAllData&quot;).getResult()}</Property>
          <Property name="mapValues">${dorado.getDataProvider(&quot;deptPR#getDeptByUserType&quot;).getResult()}</Property>
          <Property name="valueProperty">kqmc</Property>
        </Property>
      </PropertyDef>
@@ -57,10 +76,11 @@
        <Property></Property>
        <Property name="label">入库仓库</Property>
        <Property name="mapping">
          <Property name="mapValues">${dorado.getDataProvider(&quot;depotPR#getAllCache&quot;).getResult()}</Property>
          <Property name="mapValues">${dorado.getDataProvider(&quot;depotPR#getData&quot;).getResult()}</Property>
          <Property name="keyProperty">id</Property>
          <Property name="valueProperty">name</Property>
        </Property>
        <Property name="required">true</Property>
      </PropertyDef>
      <PropertyDef name="customerName">
        <Property></Property>
@@ -107,8 +127,8 @@
        <Property name="label">审核状态</Property>
        <Property name="mapping">
          <Property name="mapValues">${dorado.getDataProvider(&quot;dicPR#triggerStatusType&quot;).getResult()}</Property>
          <Property name="keyProperty">dictLabel</Property>
          <Property name="valueProperty">dictValue</Property>
          <Property name="keyProperty">dictValue</Property>
          <Property name="valueProperty">dictLabel</Property>
        </Property>
      </PropertyDef>
      <PropertyDef name="auditUser">
@@ -163,6 +183,16 @@
        <Property></Property>
        <Property name="label">更新人</Property>
      </PropertyDef>
      <PropertyDef name="bankId">
        <Property></Property>
        <Property name="label">监督银行</Property>
        <Property name="mapping">
          <Property name="mapValues">${dorado.getDataProvider(&quot;bankPR#listAll&quot;).getResult()}</Property>
          <Property name="keyProperty">id</Property>
          <Property name="valueProperty">name</Property>
        </Property>
        <Property name="visible">true</Property>
      </PropertyDef>
    </DataType>
  </Model>
  <View layout="padding:10">
@@ -191,6 +221,12 @@
      <Property name="dataProvider">inoutNoticePR#getYearQuery</Property>
      <Property name="loadMode">manual</Property>
      <Property name="dataType">dtNoticeParam</Property>
    </DataSet>
    <DataSet id="dsDepotList">
      <Property name="dataProvider">depotPR#getDataByBankId</Property>
      <Property name="userData">仓库列表下拉框</Property>
      <Property name="loadMode">manual</Property>
      <Property name="dataType">[dtDepot]</Property>
    </DataSet>
    <Container>
      <Property name="className">c-param</Property>
@@ -391,14 +427,23 @@
      <Property name="iconClass">fa fa-tasks</Property>
      <Buttons>
        <Button id="btnOk">
          <ClientEvent name="onClick">view.get(&quot;#updateSave&quot;).execute(function(result){&#xD;
          <ClientEvent name="onClick">var entity = view.get(&quot;#dsMain.data:#&quot;);&#xD;
var bankId = entity.get(&quot;bankId&quot;);&#xD;
if(!bankId){&#xD;
                $alert(&quot;请先选择监管银行&quot;);&#xD;
}else{&#xD;
    view.get(&quot;#updateSave&quot;).execute(function(result){&#xD;
    if(result){&#xD;
        $alert(result);&#xD;
        return;&#xD;
    }&#xD;
    $notify(&quot;数据执行完成!!&quot;);&#xD;
    self.get(&quot;parent&quot;).hide();&#xD;
});</ClientEvent>
});&#xD;
}&#xD;
&#xD;
&#xD;
</ClientEvent>
          <Property name="caption">保存</Property>
          <Property name="iconClass">fa fa-check-circle</Property>
          <Property name="exClassName">btn1</Property>
@@ -456,9 +501,16 @@
              <Property name="trigger">autoMappingDropDown1</Property>
              <Editor/>
            </AutoFormElement>
            <AutoFormElement id="formItemBank">
              <Property name="name">bankId</Property>
              <Property name="property">bankId</Property>
              <Property name="hideMode">display</Property>
              <Editor/>
            </AutoFormElement>
            <AutoFormElement>
              <Property name="name">depotId</Property>
              <Property name="property">depotId</Property>
              <Property name="trigger">dsDepotDropDown</Property>
              <Editor/>
            </AutoFormElement>
            <AutoFormElement>
@@ -472,7 +524,7 @@
              <Property name="trigger">defaultYearDropDown</Property>
              <Editor/>
            </AutoFormElement>
            <AutoFormElement layoutConstraint="colSpan:2">
            <AutoFormElement id="formItemCustomerName" layoutConstraint="colSpan:2">
              <Property name="name">customerName</Property>
              <Property name="property">customerName</Property>
              <Editor/>
@@ -561,6 +613,38 @@
      </Children>
      <Tools/>
    </Dialog>
    <DataSetDropDown id="dsDepotDropDown">
      <ClientEvent name="onOpen">    &#xD;
    var entity = view.get(&quot;#dsMain.data:#&quot;);&#xD;
    if(!entity){&#xD;
        $alert(&quot;请先选择监管银行&quot;);&#xD;
    }else{&#xD;
        var typeData = entity.get(&quot;type&quot;);&#xD;
        if(typeData=='20'){&#xD;
            var bankId = entity.get(&quot;bankId&quot;);&#xD;
            console.log(bankId);&#xD;
            if(!bankId){&#xD;
                $alert(&quot;请先选择监管银行&quot;);&#xD;
            }else{&#xD;
                view.get(&quot;#dsDepotList&quot;).set(&quot;parameter&quot;,entity.get(&quot;bankId&quot;)).flushAsync();&#xD;
            }&#xD;
        }else{&#xD;
            view.get(&quot;#dsDepotList&quot;).set(&quot;parameter&quot;,null).flushAsync();&#xD;
        }&#xD;
    }&#xD;
</ClientEvent>
      <Property name="dataSet">dsDepotList</Property>
      <Property name="height">450</Property>
      <Property name="autoOpen">true</Property>
      <Property name="assignmentMap">depotId=id</Property>
      <Property name="width">400</Property>
      <DataColumn>
        <Property name="align">center</Property>
        <Property name="name">name</Property>
        <Property name="property">name</Property>
        <Editor/>
      </DataColumn>
    </DataSetDropDown>
    <UpdateAction id="updateSave">
      <Property name="dataResolver">inoutNoticePR#saveIn</Property>
      <UpdateItem>
fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutNoticePR.java
@@ -63,6 +63,7 @@
        InoutNoticeIn data = new InoutNoticeIn();
        data.setId(ContextUtil.generateOrderId("RK"));
        data.setName("入库通知单");
        data.setType("20");
        data.setCompanyId(user.getCompanyId());
        data.setDeptId(ContextUtil.subDeptId(user));
        data.setYear(DateFormatUtils.format(new Date(), "yyyy"));