From 58f63e3a124680d0b1f571f5d0a1e3ed308d43be Mon Sep 17 00:00:00 2001
From: sgj <1442489573@qq.com>
Date: 星期五, 20 三月 2026 14:45:34 +0800
Subject: [PATCH] 质押合同页面重构
---
fzzy-igdss-core/src/main/java/com/fzzy/igds/mapper/PledgeContractDepotMapper.java | 10
fzzy-igdss-core/src/main/java/com/fzzy/igds/service/PledgeContractDepotService.java | 95 +++++++
fzzy-igdss-view/src/main/java/com/fzzy/igds/PledgeContractPR.java | 87 ++++++
fzzy-igdss-core/src/main/java/com/fzzy/igds/domain/PledgeContractDepot.java | 50 +++
fzzy-igdss-view/src/main/java/models/core.model.xml | 51 +++
fzzy-igdss-core/src/main/java/com/fzzy/igds/domain/PledgeContract.java | 12
fzzy-igdss-view/src/main/java/com/fzzy/igds/PledgeContract.view.xml | 474 ++++++++++++++++++++----------------
7 files changed, 561 insertions(+), 218 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 5c605cb..39b63d1 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
@@ -7,12 +7,10 @@
import lombok.Data;
import lombok.EqualsAndHashCode;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.Id;
-import javax.persistence.Table;
+import javax.persistence.*;
import java.io.Serializable;
import java.util.Date;
+import java.util.List;
/**
* 璐ㄦ娂鍚堝悓
@@ -48,7 +46,7 @@
//鍚堝悓閲戦
@Column(name = "contract_amount", columnDefinition = "decimal(20,2) COMMENT '鍚堝悓閲戦'")
@TableField("contract_amount")
- private Double contractAmount=0.0;
+ private Double contractAmount = 0.0;
@Column(name = "repaid_amount", columnDefinition = "decimal(20,2) COMMENT '宸茶繕閲戦'")
@TableField("repaid_amount")
@@ -105,4 +103,8 @@
@TableField("remark")
private String remark;
+ //璐ㄦ娂浠撳簱
+ @Transient
+ @TableField(exist = false)
+ private List<PledgeContractDepot> depotData;
}
diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/domain/PledgeContractDepot.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/domain/PledgeContractDepot.java
new file mode 100644
index 0000000..6eb7bb4
--- /dev/null
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/igds/domain/PledgeContractDepot.java
@@ -0,0 +1,50 @@
+package com.fzzy.igds.domain;
+
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.Table;
+import java.io.Serializable;
+
+@Data
+@Entity
+@Table(name = "d_pledge_contract_depot")
+@TableName("d_pledge_contract_depot")
+@EqualsAndHashCode(callSuper = false)
+public class PledgeContractDepot extends BizBaseEntity implements Serializable {
+
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+
+
+ @Id
+ @Column(name = "id", columnDefinition = "varchar(40) COMMENT 'ID'")
+ @TableField("id")
+ private String id;
+
+
+ @Column(name = "pledge_id", columnDefinition = "varchar(40) COMMENT '璐ㄦ娂鍚堝悓ID'")
+ @TableField("pledge_id")
+ private String pledgeId;
+
+
+ @Column(name = "pledge_dept", columnDefinition = "varchar(40) COMMENT '璐ㄦ娂搴撳尯ID'")
+ @TableField("pledge_dept")
+ private String pledgeDept;
+
+
+ @Column(name = "pledge_depot", columnDefinition = "varchar(40) COMMENT '璐ㄦ娂浠撳簱ID'")
+ @TableField("pledge_depot")
+ private String pledgeDepot;
+
+
+}
diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/mapper/PledgeContractDepotMapper.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/mapper/PledgeContractDepotMapper.java
new file mode 100644
index 0000000..4a28078
--- /dev/null
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/igds/mapper/PledgeContractDepotMapper.java
@@ -0,0 +1,10 @@
+package com.fzzy.igds.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.fzzy.igds.domain.PledgeContractDepot;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface PledgeContractDepotMapper extends BaseMapper<PledgeContractDepot> {
+
+}
diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/PledgeContractDepotService.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/PledgeContractDepotService.java
new file mode 100644
index 0000000..358bfb1
--- /dev/null
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/PledgeContractDepotService.java
@@ -0,0 +1,95 @@
+package com.fzzy.igds.service;
+
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.fzzy.igds.data.BaseResp;
+import com.fzzy.igds.data.IgdsBaseParam;
+import com.fzzy.igds.domain.PledgeContractDepot;
+import com.fzzy.igds.mapper.PledgeContractDepotMapper;
+import com.fzzy.igds.utils.ContextUtil;
+import com.ruoyi.common.utils.StringUtils;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.Date;
+import java.util.List;
+
+@Slf4j
+@Service
+public class PledgeContractDepotService {
+
+ @Resource
+ private PledgeContractDepotMapper pledgeContractDepotMapper;
+
+
+ /**
+ * 鏌ヨ璐ㄦ娂鍚堝悓涓嬪緱璐ㄦ娂浠撳簱
+ *
+ * @param param
+ * @author sgj
+ * @since 2026/03/20
+ */
+ public List<PledgeContractDepot> listAll(IgdsBaseParam param) {
+ if (null == param) param = new IgdsBaseParam();
+
+ if (StringUtils.isEmpty(param.getCompanyId())) {
+ param.setCompanyId(ContextUtil.getCompanyId());
+ }
+ QueryWrapper<PledgeContractDepot> queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("company_id", param.getCompanyId());
+ if (StringUtils.isNotEmpty(param.getParentId())) {
+ queryWrapper.like("pledge_id", param.getParentId());
+ }
+
+ queryWrapper.orderByDesc("update_time");
+
+ return pledgeContractDepotMapper.selectList(queryWrapper);
+ }
+
+
+ /**
+ * 鎵归噺鏂板璐ㄦ娂浠撳簱
+ *
+ * @param pledgeContractList
+ * @author sgj
+ * @since 2026/03/20
+ */
+ public BaseResp addDataByList(List<PledgeContractDepot> pledgeContractList) {
+ if (pledgeContractList.isEmpty()) {
+ return BaseResp.success();
+ }
+ boolean PledgeIdflag = true;
+ for (PledgeContractDepot pledgeContractDepot : pledgeContractList) {
+ pledgeContractDepot.setCompanyId(ContextUtil.getCompanyId());
+ pledgeContractDepot.setUpdateBy(ContextUtil.getLoginUserName());
+ pledgeContractDepot.setUpdateTime(new Date());
+ pledgeContractDepot.setCreateBy(ContextUtil.getLoginUserName());
+ pledgeContractDepot.setCreateTime(new Date());
+ if (StringUtils.isEmpty(pledgeContractDepot.getPledgeId())) {
+ PledgeIdflag = false;
+ break;
+ }
+ if (StringUtils.isEmpty(pledgeContractDepot.getId())) {
+ pledgeContractDepot.setId(ContextUtil.generateId());
+ pledgeContractDepotMapper.insert(pledgeContractDepot);
+ }
+ }
+ if (!PledgeIdflag) {
+ return BaseResp.error("娣诲姞澶辫触鈥斺�旇川鎶煎悎鍚孖d涓嶈兘涓虹┖");
+ }
+ return BaseResp.success();
+ }
+
+ /**
+ * 鍒犻櫎璐ㄦ娂浠撳簱
+ *
+ * @param pledgeContractDepot
+ * @author sgj
+ * @since 2026/03/20
+ */
+ public BaseResp deleteData(PledgeContractDepot pledgeContractDepot) {
+ return pledgeContractDepotMapper.deleteById(pledgeContractDepot) > 0 ? BaseResp.success() : BaseResp.error("鍒犻櫎澶辫触");
+ }
+
+}
diff --git a/fzzy-igdss-view/src/main/java/com/fzzy/igds/PledgeContract.view.xml b/fzzy-igdss-view/src/main/java/com/fzzy/igds/PledgeContract.view.xml
index 65e21b9..964740d 100644
--- a/fzzy-igdss-view/src/main/java/com/fzzy/igds/PledgeContract.view.xml
+++ b/fzzy-igdss-view/src/main/java/com/fzzy/igds/PledgeContract.view.xml
@@ -10,7 +10,19 @@
*/
query = function(){
view.get("#dsMain").flushAsync();
-}
</ClientEvent>
+}

+
+queryDepot= function(){
+ var entity = view.get("#dgMain").get("selection");
+ if(entity){
+ var code = entity.get("id");
+ view.get("#dsPledgeContractDepot").set("parameter",{PledgeId:code}).flush();
+ }else{
+ $notify("璇峰厛閫夋嫨璐ㄦ娂鍚堝悓淇℃伅锛�");
+ }
+
+}
+</ClientEvent>
<Property name="packages">font-awesome,css-common</Property>
<DataSet id="dsMain">
<Property name="loadMode">lazy</Property>
@@ -21,17 +33,10 @@
<ClientEvent name="onReady">self.insert({});</ClientEvent>
<Property name="dataType">dtBaseParam</Property>
</DataSet>
- <DataSet id="dsDeptList">
- <Property name="dataProvider">deptPR#getData</Property>
- <Property name="userData">搴撳尯鍒楄〃涓嬫媺妗�</Property>
+ <DataSet id="dsPledgeContractDepot">
+ <Property name="dataProvider">pledgeContractPR#listAllData</Property>
+ <Property name="dataType">[dtPledgeContractDepot]</Property>
<Property name="loadMode">manual</Property>
- <Property name="dataType">[dtDept]</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>
@@ -65,35 +70,40 @@
</Container>
<Container>
<Property name="className">c-data</Property>
- <ToolBar>
- <ToolBarButton>
- <ClientEvent name="onClick">
+ <SplitPanel>
+ <Property name="direction">right</Property>
+ <Property name="position">350</Property>
+ <MainControl>
+ <Container>
+ <ToolBar>
+ <ToolBarButton>
+ <ClientEvent name="onClick">
view.get("#ajaxInitAdd").execute(function(data){
view.get("#dsMain").insert(data);
view.get("#dialogMain").show();
});</ClientEvent>
- <Property name="caption">鏂板</Property>
- <Property name="exClassName">btn1</Property>
- <Property name="width">100</Property>
- <Property name="iconClass">fa fa-plus</Property>
- </ToolBarButton>
- <ToolBarButton>
- <ClientEvent name="onClick">var data = view.get("#dgMain").get("selection");
+ <Property name="caption">鏂板</Property>
+ <Property name="exClassName">btn1</Property>
+ <Property name="width">100</Property>
+ <Property name="iconClass">fa fa-plus</Property>
+ </ToolBarButton>
+ <ToolBarButton>
+ <ClientEvent name="onClick">var data = view.get("#dgMain").get("selection");
if(data){
view.get("#dialogMain").show();
}else{
$notify("璇烽�夋嫨闇�瑕佷慨鏀圭殑淇℃伅鈥︹��");
}
</ClientEvent>
- <Property name="id">btnUpdate</Property>
- <Property name="caption">淇敼</Property>
- <Property name="exClassName">btn2</Property>
- <Property name="width">100</Property>
- <Property name="iconClass">fa fa-pencil-square-o</Property>
- </ToolBarButton>
- <ToolBarButton>
- <ClientEvent name="onClick">var data = view.get("#dgMain").get("selection")
+ <Property name="id">btnUpdate</Property>
+ <Property name="caption">淇敼</Property>
+ <Property name="exClassName">btn2</Property>
+ <Property name="width">100</Property>
+ <Property name="iconClass">fa fa-pencil-square-o</Property>
+ </ToolBarButton>
+ <ToolBarButton>
+ <ClientEvent name="onClick">var data = view.get("#dgMain").get("selection")
if(!data){
- $alert("璇烽�夋嫨闇�瑕佸垹闄ょ殑淇℃伅鈥︹��");
+ $alert("璇烽�夋嫨闇�瑕佸垹闄ょ殑璐ㄦ娂鍚堝悓淇℃伅鈥︹��");
}else{
view.get("#ajaxDelData").set("parameter", data).execute(function(result){
if("200"!=result.code){
@@ -104,56 +114,131 @@
}
})
}</ClientEvent>
- <Property name="caption">鍒犻櫎</Property>
- <Property name="exClassName">btn3</Property>
- <Property name="width">100</Property>
- <Property name="iconClass">fa fa-times</Property>
- </ToolBarButton>
- </ToolBar>
- <DataGrid id="dgMain" layoutConstraint="padding:8" selectionMode="singleRow">
- <ClientEvent name="onDataRowClick">self.set("selection", arg.data)</ClientEvent>
- <Property name="dataSet">dsMain</Property>
- <Property name="readOnly">true</Property>
- <RowSelectorColumn/>
- <RowNumColumn/>
- <DataColumn name="pledgeBank">
- <Property name="property">pledgeBank</Property>
- </DataColumn>
- <DataColumn name="pledgeCompany">
- <Property name="property">pledgeCompany</Property>
- </DataColumn>
- <DataColumn name="name">
- <Property name="property">name</Property>
- <Property name="width">400</Property>
- </DataColumn>
- <DataColumn name="status">
- <Property name="property">status</Property>
- <Property name="align">center</Property>
- <Property name="width">150</Property>
- </DataColumn>
- <DataColumn name="remark">
- <Property name="property">remark</Property>
- </DataColumn>
- <DataColumn name="updateBy">
- <Property name="property">updateBy</Property>
- <Property name="align">center</Property>
- <Property name="width">160</Property>
- </DataColumn>
- <DataColumn name="updateTime">
- <Property name="property">updateTime</Property>
- <Property name="align">center</Property>
- <Property name="width">200</Property>
- </DataColumn>
- <DataColumn name="signTime">
- <Property name="property">signTime</Property>
- </DataColumn>
- <DataColumn name="pledgeStart">
- <Property name="property">pledgeStart</Property>
- </DataColumn>
- <DataColumn name="pledgeEnd">
- <Property name="property">pledgeEnd</Property>
- </DataColumn>
- </DataGrid>
+ <Property name="caption">鍒犻櫎</Property>
+ <Property name="exClassName">btn3</Property>
+ <Property name="width">100</Property>
+ <Property name="iconClass">fa fa-times</Property>
+ </ToolBarButton>
+ <ToolBarButton>
+ <ClientEvent name="onClick">//var cur = view.get("#dsMain.data:#");
+var cur = view.get("#dgMain").get("selection");
+if(cur){
+ var entity = view.get("#dgMain").get("selection");
+ var Id = entity.get("id");
+ var code = entity.get("pledgeCompany");
+ view.get("#dsDepotSelect").set("parameter",{parentId:code,PledgeId:Id}).flush();
+ view.get("#dialogDepot").show();
+}else{
+ $notify("璇峰厛閫夋嫨璐ㄦ娂鍚堝悓淇℃伅锛�");
+}</ClientEvent>
+ <Property name="caption">閰嶇疆浠撳簱</Property>
+ <Property name="exClassName">btn1</Property>
+ <Property name="width">100</Property>
+ <Property name="iconClass">fa fa-plus</Property>
+ </ToolBarButton>
+ </ToolBar>
+ <DataGrid id="dgMain" layoutConstraint="padding:8" selectionMode="singleRow">
+ <ClientEvent name="onDataRowClick">self.set("selection", arg.data);
+var entity = view.get("#dsMain.data:#");
+var code = entity.get("id");
+view.get("#dsPledgeContractDepot").set("parameter",{PledgeId:code}).flush();</ClientEvent>
+ <Property name="dataSet">dsMain</Property>
+ <Property name="readOnly">true</Property>
+ <Property name="fixedColumnCount">3</Property>
+ <RowSelectorColumn/>
+ <RowNumColumn/>
+ <DataColumn name="pledgeCompany">
+ <Property name="property">pledgeCompany</Property>
+ <Property name="width">200</Property>
+ <Property name="align">center</Property>
+ </DataColumn>
+ <DataColumn name="pledgeBank">
+ <Property name="property">pledgeBank</Property>
+ <Property name="width">200</Property>
+ <Property name="align">center</Property>
+ </DataColumn>
+ <DataColumn name="name">
+ <Property name="property">name</Property>
+ <Property name="width">400</Property>
+ <Property name="align">center</Property>
+ </DataColumn>
+ <DataColumn name="status">
+ <Property name="property">status</Property>
+ <Property name="align">center</Property>
+ <Property name="width">150</Property>
+ </DataColumn>
+ <DataColumn name="remark">
+ <Property name="property">remark</Property>
+ <Property name="width">300</Property>
+ <Property name="align">center</Property>
+ </DataColumn>
+ <DataColumn name="updateBy">
+ <Property name="property">updateBy</Property>
+ <Property name="align">center</Property>
+ <Property name="width">300</Property>
+ </DataColumn>
+ <DataColumn name="updateTime">
+ <Property name="property">updateTime</Property>
+ <Property name="align">center</Property>
+ <Property name="width">150</Property>
+ </DataColumn>
+ <DataColumn name="signTime">
+ <Property name="property">signTime</Property>
+ <Property name="width">150</Property>
+ <Property name="align">center</Property>
+ </DataColumn>
+ <DataColumn name="pledgeStart">
+ <Property name="property">pledgeStart</Property>
+ <Property name="width">150</Property>
+ <Property name="align">center</Property>
+ </DataColumn>
+ <DataColumn name="pledgeEnd">
+ <Property name="property">pledgeEnd</Property>
+ <Property name="width">150</Property>
+ <Property name="align">center</Property>
+ </DataColumn>
+ </DataGrid>
+ </Container>
+ </MainControl>
+ <SideControl>
+ <Container>
+ <ToolBar>
+ <ToolBarButton>
+ <ClientEvent name="onClick">var data = view.get("#dgMainItem").get("selection")
+if(!data){
+ $alert("璇烽�夋嫨闇�瑕佸垹闄ょ殑璐ㄦ娂浠撳簱淇℃伅鈥︹��");
+}else{
+ view.get("#ajaxDelDepotData").set("parameter", data).execute(function(result){
+ if("200"!=result.code){
+ $alert("寮傚父淇℃伅锛�"+result.message);
+ }else{
+ $notify("鎵ц鎴愬姛");
+ queryDepot();
+ }
+ })
+}</ClientEvent>
+ <Property name="caption">鍒犻櫎浠撳簱</Property>
+ <Property name="exClassName">btn3</Property>
+ <Property name="width">100</Property>
+ <Property name="iconClass">fa fa-times</Property>
+ </ToolBarButton>
+ </ToolBar>
+ <DataGrid id="dgMainItem" layoutConstraint="padding:8" selectionMode="singleRow">
+ <ClientEvent name="onDataRowClick">self.set("selection", arg.data)</ClientEvent>
+ <Property name="dataSet">dsPledgeContractDepot</Property>
+ <Property name="readOnly">true</Property>
+ <RowSelectorColumn/>
+ <RowNumColumn/>
+ <DataColumn name="pledgeDept">
+ <Property name="property">pledgeDept</Property>
+ </DataColumn>
+ <DataColumn name="pledgeDepot">
+ <Property name="property">pledgeDepot</Property>
+ </DataColumn>
+ </DataGrid>
+ </Container>
+ </SideControl>
+ </SplitPanel>
</Container>
<Dialog id="dialogMain" layout="regionPadding:8">
<Property name="closeable">false</Property>
@@ -225,15 +310,23 @@
<Editor/>
</AutoFormElement>
<AutoFormElement>
- <Property name="name">pledgeDept</Property>
- <Property name="property">pledgeDept</Property>
- <Property name="trigger">dsDeptDropDown</Property>
+ <Property name="name">contractAmount</Property>
+ <Property name="property">contractAmount</Property>
<Editor/>
</AutoFormElement>
<AutoFormElement>
- <Property name="name">depotNames</Property>
- <Property name="property">depotNames</Property>
- <Property name="trigger">CDDDept</Property>
+ <Property name="name">repaidAmount</Property>
+ <Property name="property">repaidAmount</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement layoutConstraint="colSpan:2">
+ <Property name="name">contractName</Property>
+ <Property name="property">contractName</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement>
+ <Property name="name">contractNo</Property>
+ <Property name="property">contractNo</Property>
<Editor/>
</AutoFormElement>
<AutoFormElement>
@@ -251,35 +344,9 @@
<Property name="property">pledgeEnd</Property>
<Editor/>
</AutoFormElement>
- <AutoFormElement layoutConstraint="colSpan:2">
- <Property name="name">contractName</Property>
- <Property name="property">contractName</Property>
- <Editor/>
- </AutoFormElement>
- <AutoFormElement>
- <Property name="name">contractNo</Property>
- <Property name="property">contractNo</Property>
- <Editor/>
- </AutoFormElement>
- <AutoFormElement>
- <Property name="name">contractAmount</Property>
- <Property name="property">contractAmount</Property>
- <Editor/>
- </AutoFormElement>
- <AutoFormElement>
- <Property name="name">repaidAmount</Property>
- <Property name="property">repaidAmount</Property>
- <Editor/>
- </AutoFormElement>
<AutoFormElement>
<Property name="name">status</Property>
<Property name="property">status</Property>
- <Editor/>
- </AutoFormElement>
- <AutoFormElement layoutConstraint="colSpan:3">
- <Property name="name">remark</Property>
- <Property name="property">remark</Property>
- <Property name="editorType">TextArea</Property>
<Editor/>
</AutoFormElement>
<AutoFormElement>
@@ -292,6 +359,12 @@
<Property name="name">createTime</Property>
<Property name="property">createTime</Property>
<Property name="readOnly">true</Property>
+ <Editor/>
+ </AutoFormElement>
+ <AutoFormElement layoutConstraint="colSpan:3">
+ <Property name="name">remark</Property>
+ <Property name="property">remark</Property>
+ <Property name="editorType">TextArea</Property>
<Editor/>
</AutoFormElement>
<HtmlContainer layoutConstraint="colSpan:3">
@@ -314,108 +387,93 @@
</UpdateItem>
</UpdateAction>
<AjaxAction id="ajaxDelData">
- <Property name="confirmMessage">纭畾瑕佸垹闄ゆ暟鎹箞锛�</Property>
+ <Property name="confirmMessage">纭畾瑕佸垹闄よ璐ㄦ娂鍚堝悓鏁版嵁鍚楋紵</Property>
<Property name="service">pledgeContractPR#delete</Property>
+ </AjaxAction>
+ <AjaxAction id="ajaxDelDepotData">
+ <Property name="confirmMessage">纭畾瑕佸垹闄よ璐ㄦ娂浠撳簱鏁版嵁涔堝悧锛�</Property>
+ <Property name="service">pledgeContractPR#deleteDepot</Property>
</AjaxAction>
<AjaxAction id="ajaxInitAdd">
<Property name="service">pledgeContractPR#initAdd</Property>
</AjaxAction>
- <DataSetDropDown id="dsDeptDropDown">
- <ClientEvent name="onOpen">
-var entity = view.get("#dsMain.data:#");
-if(!entity){
- $alert("璇峰厛閫夋嫨璐ㄦ娂鍏徃");
-}else{
- var pledgeCompany = entity.get("pledgeCompany");
- if(!pledgeCompany){
- $alert("璇峰厛閫夋嫨璐ㄦ娂鍏徃");
- }else{
- view.get("#dsDeptList").set("parameter",entity.get("pledgeCompany")).flushAsync();
- }
-}</ClientEvent>
- <Property name="dataSet">dsDeptList</Property>
- <Property name="height">450</Property>
- <Property name="autoOpen">true</Property>
- <Property name="assignmentMap">pledgeDept=id</Property>
- <Property name="width">400</Property>
- <DataColumn>
- <Property name="align">center</Property>
- <Property name="name">kqmc</Property>
- <Property name="property">kqmc</Property>
- <Editor/>
- </DataColumn>
- </DataSetDropDown>
- <CustomDropDown id="CDDDept">
- <ClientEvent name="onOpen">
-var entity = view.get("#dsMain.data:#");
-if(!entity){
- $alert("璇峰厛閫夋嫨璐ㄦ娂搴撳尯");
-}else{
- var pledgeDept = entity.get("pledgeDept");
- if(!pledgeDept){
- $alert("璇峰厛閫夋嫨璐ㄦ娂搴撳尯");
- }else{
- view.get("#dsDeptSelect").set("parameter",entity.get("pledgeDept")).flushAsync();
- }
-}</ClientEvent>
- <Property name="minWidth">400</Property>
- <Property name="minHeight">400</Property>
- <Property name="assignmentMap">depotIds=depotIds,depotNames=depotNames</Property>
- <Panel>
- <Property name="showCaptionBar">false</Property>
- <Buttons>
- <Button>
- <ClientEvent name="onClick">var selection = view.get("#dgDepotSelect").get("selection");
-if(!selection || selection.length == 0){
- $alert("璇烽�夋嫨浠撳簱");
- return;
-}
+ <Dialog id="dialogDepot">
+ <ClientEvent name="onReady">var entity = view.get("#dsMain.data:#");
+var code = entity.get("pledgeCompany");
+view.get("#dsDepotSelect").set("parameter",{parentId:code}).flush();</ClientEvent>
+ <Property name="width">50%</Property>
+ <Property name="height">80%</Property>
+ <Buttons>
+ <Button>
+ <ClientEvent name="onClick">var selection = view.get("#dialogDepotSelect").get("selection");
+var cur = view.get("#dgMain").get("selection");
+var ua = view.get("#saveAction");
+if(selection.length == 0) return;

-var depotIds = "",depotNames="";
-selection.each(function(item){
- depotIds += item.get("id")+",";
- depotNames+=item.get("name")+",";
+var items = cur.get("depotData");
+var tag = true;
+selection.each(function(entity){
+ tag = true;
+ items.each(function(data){
+ if(data.get("pledgeDepot") == entity.get("id")) tag = false;
+ });
+ if(tag){
+ items.insert({
+ pledgeDepot:entity.get("id"),
+ pledgeDept:entity.get("deptId"),
+ pledgeId:cur.get("id"),
+ companyId:cur.get("companyId")
+ });
+ }
+}); 
+ua.execute(function(){
+ self.get("parent").hide();
+ view.get("#dialogDepotSelect").set("selection",null);
+ queryDepot();
});
-
-view.get("#CDDDept").close({depotIds:depotIds,depotNames:depotNames});</ClientEvent>
- <Property name="caption">纭閫夋嫨</Property>
- </Button>
- <Button>
- <ClientEvent name="onClick">view.get("#CDDDept").close({});
- view.get("#dgDepotSelect").set("selection",null);</ClientEvent>
- <Property name="caption">鍙栨秷鎿嶄綔</Property>
- </Button>
- </Buttons>
- <Children>
- <DataSet id="dsDeptSelect">
- <Property name="dataType">[dtDepot]</Property>
- <Property name="dataProvider">depotPR#getData</Property>
- <Property name="userData">搴撳尯鍒楄〃涓嬫媺妗�</Property>
- <Property name="loadMode">manual</Property>
- </DataSet>
- <DataGrid id="dgDepotSelect">
- <Property name="dataSet">dsDeptSelect</Property>
- <Property name="selectionMode">multiRows</Property>
- <RowSelectorColumn>
- <Property name="caption">閫夋嫨</Property>
- <Property name="width">50</Property>
- </RowSelectorColumn>
- <DataColumn name="name">
- <Property name="property">name</Property>
- <Property name="readOnly">true</Property>
- </DataColumn>
- <DataColumn name="id">
- <Property name="property">id</Property>
- <Property name="readOnly">true</Property>
- </DataColumn>
- <DataColumn name="depotType">
- <Property name="property">depotType</Property>
- <Property name="readOnly">true</Property>
- </DataColumn>
- </DataGrid>
- </Children>
- <Tools/>
- </Panel>
- </CustomDropDown>
+</ClientEvent>
+ <Property name="caption">纭閫夋嫨</Property>
+ </Button>
+ <Button>
+ <ClientEvent name="onClick">self.get("parent").hide();
+view.get("#dialogDepotSelect").set("selection",null);</ClientEvent>
+ <Property name="caption">鍙栨秷鎿嶄綔</Property>
+ </Button>
+ </Buttons>
+ <Children>
+ <DataSet id="dsDepotSelect">
+ <Property name="dataType">[dtDepot]</Property>
+ <Property name="dataProvider">pledgeContractPR#getUnplacedDepotData</Property>
+ <Property name="userData">搴撳尯鍒楄〃涓嬫媺妗�</Property>
+ <Property name="loadMode">manual</Property>
+ </DataSet>
+ <DataGrid id="dialogDepotSelect">
+ <Property name="dataSet">dsDepotSelect</Property>
+ <Property name="selectionMode">multiRows</Property>
+ <RowSelectorColumn>
+ <Property name="caption">閫夋嫨</Property>
+ <Property name="width">50</Property>
+ </RowSelectorColumn>
+ <DataColumn>
+ <Property name="property">deptId</Property>
+ <Property name="readOnly">true</Property>
+ <Property name="name">deptId</Property>
+ </DataColumn>
+ <DataColumn name="name">
+ <Property name="property">name</Property>
+ <Property name="readOnly">true</Property>
+ </DataColumn>
+ <DataColumn name="id">
+ <Property name="property">id</Property>
+ <Property name="readOnly">true</Property>
+ </DataColumn>
+ <DataColumn name="depotType">
+ <Property name="property">depotType</Property>
+ <Property name="readOnly">true</Property>
+ </DataColumn>
+ </DataGrid>
+ </Children>
+ <Tools/>
+ </Dialog>
</View>
</ViewConfig>
diff --git a/fzzy-igdss-view/src/main/java/com/fzzy/igds/PledgeContractPR.java b/fzzy-igdss-view/src/main/java/com/fzzy/igds/PledgeContractPR.java
index 4f3f36a..fd55294 100644
--- a/fzzy-igdss-view/src/main/java/com/fzzy/igds/PledgeContractPR.java
+++ b/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,17 +97,18 @@
/**
* 鍒犻櫎
+ * pledgeContractPR#delete
*
* @param pledgeContract
* @return
*/
- @Log( title = "璐ㄦ娂鍚堝悓", businessType = BusinessType.DELETE,bizType = BizTypeEnum.SUPERVISION)
+ @Log(title = "璐ㄦ娂鍚堝悓", businessType = BusinessType.DELETE, bizType = BizTypeEnum.SUPERVISION)
@Expose
public BaseResp delete(PledgeContract pledgeContract) {
if (StringUtils.isNotEmpty(pledgeContract.getId())) return pledgeContractService.deleteData(pledgeContract);
return BaseResp.success();
}
-
+
/**
* 璐ㄦ娂鐘舵��
* ${dorado.getDataProvider("pledgeContractPR#status").getResult()}
@@ -102,9 +117,73 @@
*/
@DataProvider
public List<SysDictData> status() {
- List<SysDictData> result = new ArrayList<>();
+ List<SysDictData> result = new ArrayList<>();
result.add(new SysDictData("鏈В鎶�", Constant.YN_N));
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;
+ }
}
diff --git a/fzzy-igdss-view/src/main/java/models/core.model.xml b/fzzy-igdss-view/src/main/java/models/core.model.xml
index 890b565..f1e741b 100644
--- a/fzzy-igdss-view/src/main/java/models/core.model.xml
+++ b/fzzy-igdss-view/src/main/java/models/core.model.xml
@@ -1128,7 +1128,7 @@
<Property name="mapValues">${dorado.getDataProvider("deptPR#getAllData").getResult()}</Property>
<Property name="valueProperty">kqmc</Property>
</Property>
- <Property name="required">true</Property>
+ <Property name="required">false</Property>
</PropertyDef>
<PropertyDef name="signTime">
<Property name="dataType">Date</Property>
@@ -1170,6 +1170,55 @@
<Property name="dataType">Date</Property>
<Property name="label">鏇存柊鏃堕棿</Property>
</PropertyDef>
+ <Reference name="depotData">
+ <Property name="parameter">$${this.id}</Property>
+ <Property name="dataProvider">pledgeContractPR#listAllData</Property>
+ <Property name="dataType">[dtPledgeContractDepot]</Property>
+ </Reference>
+ </DataType>
+ <DataType name="dtPledgeContractDepot">
+ <Property name="creationType">com.fzzy.igds.domain.PledgeContractDepot</Property>
+ <PropertyDef name="companyId">
+ <Property></Property>
+ <Property name="label">缁勭粐缂栫爜</Property>
+ </PropertyDef>
+ <PropertyDef name="createBy">
+ <Property></Property>
+ </PropertyDef>
+ <PropertyDef name="createTime">
+ <Property name="dataType">Date</Property>
+ </PropertyDef>
+ <PropertyDef name="updateBy">
+ <Property></Property>
+ </PropertyDef>
+ <PropertyDef name="updateTime">
+ <Property name="dataType">Date</Property>
+ </PropertyDef>
+ <PropertyDef name="id">
+ <Property></Property>
+ </PropertyDef>
+ <PropertyDef name="pledgeId">
+ <Property></Property>
+ <Property name="label">璐ㄦ娂鍚堝悓Id</Property>
+ </PropertyDef>
+ <PropertyDef name="pledgeDept">
+ <Property></Property>
+ <Property name="label">璐ㄦ娂搴撳尯</Property>
+ <Property name="mapping">
+ <Property name="mapValues">${dorado.getDataProvider("deptPR#getAllData").getResult()}</Property>
+ <Property name="keyProperty">id</Property>
+ <Property name="valueProperty">kqmc</Property>
+ </Property>
+ </PropertyDef>
+ <PropertyDef name="pledgeDepot">
+ <Property></Property>
+ <Property name="label">璐ㄦ娂浠撳簱</Property>
+ <Property name="mapping">
+ <Property name="mapValues">${dorado.getDataProvider("depotPR#getData").getResult()}</Property>
+ <Property name="keyProperty">id</Property>
+ <Property name="valueProperty">name</Property>
+ </Property>
+ </PropertyDef>
</DataType>
<DataType name="dtSnapRecord">
<Property name="creationType">com.fzzy.igds.domain.SnapRecord</Property>
--
Gitblit v1.9.3