From 385a783e76b2765d55d03430f064700d12991b6b Mon Sep 17 00:00:00 2001
From: sgj <1442489573@qq.com>
Date: 星期一, 05 一月 2026 16:40:10 +0800
Subject: [PATCH] 入库通知单添加银行填写
---
fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutNoticeIn.view.xml | 98 ++++++++++++++++++++++-
fzzy-igdss-view/src/main/java/com/fzzy/igds/DepotPR.java | 72 ++++++++++++++++-
fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutNoticePR.java | 1
fzzy-igdss-core/src/main/java/com/fzzy/igds/service/PledgeContractService.java | 11 ++
4 files changed, 165 insertions(+), 17 deletions(-)
diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/PledgeContractService.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/PledgeContractService.java
index 0d2b9c4..f71f858 100644
--- a/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/PledgeContractService.java
+++ b/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);
}
diff --git a/fzzy-igdss-view/src/main/java/com/fzzy/igds/DepotPR.java b/fzzy-igdss-view/src/main/java/com/fzzy/igds/DepotPR.java
index 5466970..91cd547 100644
--- a/fzzy-igdss-view/src/main/java/com/fzzy/igds/DepotPR.java
+++ b/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);
}
/**
diff --git a/fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutNoticeIn.view.xml b/fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutNoticeIn.view.xml
index 8aae88e..5245c0d 100644
--- a/fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutNoticeIn.view.xml
+++ b/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'){
+ //搴撳尯鑷缓閫氱煡鍗�
+ if(arg.newValue == '10'){
+ view.get("#formItemBank").set("visible",false);
+ var curData = view.get("#dsMain.data:#"); //褰撳墠閫夋嫨鐨勬暟鎹�
+ curData.set("bankId",'-');
+
+ }
+ //璐ㄦ娂鐩戠閫氱煡鍗�
+ if(arg.newValue == '20'){
+ view.get("#formItemBank").set("visible",true);
+ var curData = view.get("#dsMain.data:#"); //褰撳墠閫夋嫨鐨勬暟鎹�
+ curData.set("bankId",null);
+ }
+}
+
+
+
+</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("deptPR#getAllData").getResult()}</Property>
+ <Property name="mapValues">${dorado.getDataProvider("deptPR#getDeptByUserType").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("depotPR#getAllCache").getResult()}</Property>
+ <Property name="mapValues">${dorado.getDataProvider("depotPR#getData").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("dicPR#triggerStatusType").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("bankPR#listAll").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("#updateSave").execute(function(result){
+ <ClientEvent name="onClick">var entity = view.get("#dsMain.data:#");
+var bankId = entity.get("bankId");
+if(!bankId){
+ $alert("璇峰厛閫夋嫨鐩戠閾惰");
+}else{
+ view.get("#updateSave").execute(function(result){
if(result){
$alert(result);
return;
}
$notify("鏁版嵁鎵ц瀹屾垚锛侊紒");
self.get("parent").hide();
-});</ClientEvent>
+});
+}
+
+
+</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"> 
+ var entity = view.get("#dsMain.data:#");
+ if(!entity){
+ $alert("璇峰厛閫夋嫨鐩戠閾惰");
+ }else{
+ var typeData = entity.get("type");
+ if(typeData=='20'){
+ var bankId = entity.get("bankId");
+ console.log(bankId);
+ if(!bankId){
+ $alert("璇峰厛閫夋嫨鐩戠閾惰");
+ }else{
+ view.get("#dsDepotList").set("parameter",entity.get("bankId")).flushAsync();
+ }
+ }else{
+ view.get("#dsDepotList").set("parameter",null).flushAsync();
+ }
+ }
+</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>
diff --git a/fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutNoticePR.java b/fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutNoticePR.java
index 36c1764..927c320 100644
--- a/fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutNoticePR.java
+++ b/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"));
--
Gitblit v1.9.3