From 96880d3b685cb56862a5b633182b97d8ec58eeb0 Mon Sep 17 00:00:00 2001
From: sgj <1442489573@qq.com>
Date: 星期二, 06 一月 2026 15:25:27 +0800
Subject: [PATCH] 入库通知单交互修改,后端添加业务逻辑判断
---
fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutNoticeIn.view.xml | 72 +++++++++--------------
fzzy-igdss-view/src/main/java/com/fzzy/igds/DepotPR.java | 46 ---------------
fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutNoticePR.java | 1
fzzy-igdss-core/src/main/java/com/fzzy/igds/service/InoutNoticeService.java | 46 ++++++++++++++-
fzzy-igdss-core/src/main/java/com/fzzy/igds/domain/PledgeContract.java | 2
5 files changed, 71 insertions(+), 96 deletions(-)
diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/domain/PledgeContract.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/domain/PledgeContract.java
index d57b37f..c4e25cf 100644
--- a/fzzy-igdss-core/src/main/java/com/fzzy/igds/domain/PledgeContract.java
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/igds/domain/PledgeContract.java
@@ -77,7 +77,7 @@
@TableField("depot_names")
private String depotNames;
- @Column(name = "status", columnDefinition = "varchar(2) COMMENT '璐ㄦ娂鐘舵��'")
+ @Column(name = "status", columnDefinition = "varchar(2) COMMENT '璐ㄦ娂鐘舵�� Y 宸茶В鍘� N 鏈В鍘�'")
@TableField("status")
private String status = Constant.YN_N;
diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/InoutNoticeService.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/InoutNoticeService.java
index d5c9e2b..c06bd91 100644
--- a/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/InoutNoticeService.java
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/InoutNoticeService.java
@@ -6,12 +6,9 @@
import com.fzzy.igds.data.ExportWordParam;
import com.fzzy.igds.data.NoticeDto;
import com.fzzy.igds.data.NoticeParam;
-import com.fzzy.igds.domain.Depot;
-import com.fzzy.igds.domain.Dept;
+import com.fzzy.igds.domain.*;
import com.fzzy.igds.mapper.InoutNoticeInMapper;
import com.fzzy.igds.mapper.InoutNoticeOutMapper;
-import com.fzzy.igds.domain.InoutNoticeIn;
-import com.fzzy.igds.domain.InoutNoticeOut;
import com.fzzy.igds.utils.ContextUtil;
import com.ruoyi.common.utils.StringUtils;
import lombok.extern.slf4j.Slf4j;
@@ -42,6 +39,8 @@
private DepotService depotService;
@Resource
private CoreDeptService coreDeptService;
+ @Resource
+ private PledgeContractService pledgeContractService;
/*----------------------鍏ュ簱閫氱煡鍗曚俊鎭�-------------------------*/
/**
@@ -129,6 +128,45 @@
* @return
*/
public String saveOrUpdateIn(InoutNoticeIn data) {
+ //濡傛灉鍏ュ簱閫氱煡鍗曠被鍨嬩负鑷缓閫氱煡鍗曪紝楠岃瘉浠撳簱鏄惁鏄湭瑙e帇寰椾粨搴擄紝鏄垯涓嶅厑璁镐繚瀛�
+ //鑾峰彇鎵�鏈夎川鎶煎悎鍚屾暟鎹�
+ List<PledgeContract> pledgeContracts = pledgeContractService.listAll(null);
+ if("10".equals(data.getType())){
+ //"搴撳尯閫氱煡鍗�"
+ //鍦ㄨ川鎶煎悎鍚屾壘鍒版湭瑙e帇锛屼笖璐ㄦ娂浠撳簱鍖呭惈褰撳墠浠撳簱鐨勬暟鎹�
+ for (PledgeContract pledgeContract : pledgeContracts) {
+ if(pledgeContract.getDepotIds().contains(data.getDepotId())){
+ if(pledgeContract.getStatus().equals(Constant.YN_N)){
+ return "鍏ュ簱浠撳簱鎵�鍦ㄨ川鎶煎悎鍚屻��"+pledgeContract.getName()+"銆戞湭瑙e帇锛岃瑙e帇鍚庡啀淇濆瓨锛�";
+ }
+ }
+ }
+ }
+ //濡傛灉鍏ュ簱閫氱煡鍗曠被鍨嬩负閾惰閫氱煡鍗�
+ if("20".equals(data.getType())){
+ //"鐩戠閫氱煡鍗�"
+ //1.楠岃瘉閾惰鏄惁濉啓锛屾湭濉啓锛屽垯涓嶅厑璁镐繚瀛�
+ if(StringUtils.isEmpty(data.getBankId())){
+ return "鐩戠潱閾惰涓嶈兘涓虹┖锛�";
+
+ }
+ //2.楠岃瘉閾惰鍜屼粨搴撶殑瀵瑰簲鍏崇郴鏄惁姝g‘锛屼笉姝g‘鍒欎笉鍏佽淇濆瓨
+ //鍦ㄨ川鎶煎悎鍚屾壘鍒版湭瑙e帇锛屼笖璐ㄦ娂浠撳簱鍖呭惈褰撳墠浠撳簱鐨� 閾惰-浠撳簱锛堣川鎶煎悎鍚屽叧绯伙級
+ Map<String, PledgeContract> bankDepotMap = new HashMap<>();
+ for (PledgeContract pledgeContract : pledgeContracts) {
+ if(pledgeContract.getDepotIds().contains(data.getDepotId())){
+ if(pledgeContract.getStatus().equals(Constant.YN_N)){
+ bankDepotMap.put(pledgeContract.getPledgeBank(), pledgeContract);
+ }
+ }
+ }
+ //鍦╩ap涓鎵惧尮閰嶉摱琛岀殑鏁版嵁锛屽鏋滄病鏈夊尮閰嶇殑鏁版嵁锛屽垯涓嶅厑璁镐繚瀛�
+ if(!bankDepotMap.containsKey(data.getBankId())){
+ return "鏈壘鍒板搴旂殑璐ㄦ娂鍚堝悓锛岃妫�鏌ョ洃鐫i摱琛屾垨鑰呭叆搴撲粨搴撳~鍐欐槸鍚︽纭紒";
+
+ }
+ }
+
if (null == data.getUpdateBy()) {
data.setUpdateBy(ContextUtil.getLoginUserName());
data.setUpdateTime(new Date());
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 bc1f867..b5639f4 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
@@ -48,52 +48,6 @@
}
/**
- *
- * 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);
- }
-
- /**
* depotPR#saveOrUpdate
*
* @param data
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 568a51f..c9a5eff 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,22 +4,7 @@
<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 name="onDataChange">


</ClientEvent>
@@ -216,6 +201,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#getData</Property>
+ <Property name="userData">浠撳簱鍒楄〃涓嬫媺妗�</Property>
+ <Property name="loadMode">manual</Property>
+ <Property name="dataType">[dtDepot]</Property>
</DataSet>
<Container>
<Property name="className">c-param</Property>
@@ -416,12 +407,7 @@
<Property name="iconClass">fa fa-tasks</Property>
<Buttons>
<Button id="btnOk">
- <ClientEvent name="onClick">var entity = view.get("#dsMain.data:#");
-var bankId = entity.get("bankId");
-if(!bankId){
- $alert("璇峰厛閫夋嫨鐩戠閾惰");
-}else{
- view.get("#updateSave").execute(function(result){
+ <ClientEvent name="onClick">view.get("#updateSave").execute(function(result){
if(result){
$alert(result);
return;
@@ -429,7 +415,6 @@
$notify("鏁版嵁鎵ц瀹屾垚锛侊紒");
self.get("parent").hide();
});
-}


</ClientEvent>
@@ -493,7 +478,12 @@
<AutoFormElement id="formItemBank">
<Property name="name">bankId</Property>
<Property name="property">bankId</Property>
- <Property name="hideMode">display</Property>
+ <Property name="hideMode">visibility</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement>
+ <Property name="name">deptId</Property>
+ <Property name="property">deptId</Property>
<Editor/>
</AutoFormElement>
<AutoFormElement>
@@ -593,7 +583,8 @@
</AutoFormElement>
<HtmlContainer layoutConstraint="colSpan:3">
<Property name="content">1.鍏ュ簱閫氱煡鍗曚綔涓哄叆搴撲綔涓氱殑鍓嶇疆鏉′欢锛屽繀椤婚厤缃紝鍚﹀垯鏃犳硶杩涜鍏ュ簱浣滀笟銆�<br>
-2.鍗曟嵁绫诲瀷=搴撳尯閫氱煡鍗曪紝琛ㄧず搴撳尯鑷繁浣滀笟涓氬姟锛屼笉鍙楃洃绠$鐞嗐��</Property>
+2.鍗曟嵁绫诲瀷=搴撳尯閫氱煡鍗曪紝琛ㄧず搴撳尯鑷繁浣滀笟涓氬姟锛屼笉鍙楃洃绠$鐞嗐��<br>
+3.鍗曟嵁绫诲瀷=璐ㄦ娂鐩戠閫氱煡鍗曪紝鍗曟嵁蹇呴』濉啓鐩戠潱閾惰銆�</Property>
<Property name="exClassName">h-tip</Property>
<Property name="contentOverflow">hidden</Property>
</HtmlContainer>
@@ -603,25 +594,18 @@
<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>
+ <ClientEvent name="onOpen">
+var entity = view.get("#dsMain.data:#");
+if(!entity){
+ $alert("璇峰厛閫夋嫨鎵�灞炲垎搴�");
+}else{
+ var deptId = entity.get("deptId");
+ if(!deptId){
+ $alert("璇峰厛閫夋嫨鎵�灞炲垎搴�");
+ }else{
+ view.get("#dsDepotList").set("parameter",entity.get("deptId")).flushAsync();
+ }
+}</ClientEvent>
<Property name="dataSet">dsDepotList</Property>
<Property name="height">450</Property>
<Property name="autoOpen">true</Property>
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 927c320..36c1764 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,7 +63,6 @@
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