From b21c9160a376b76258f59c18dac65496ce037d70 Mon Sep 17 00:00:00 2001
From: YYC <1833023622@qq.com>
Date: 星期五, 01 九月 2023 17:42:03 +0800
Subject: [PATCH] 上海新增页面--粮情设备配置

---
 src/main/java/com/fzzy/otherview/sh2023/ShApi2102.view.xml           |  100 +++++
 /dev/null                                                            |   23 -
 src/main/java/com/fzzy/otherview/sh2023/pr/SHApi2101PR.java          |    4 
 src/main/java/com/fzzy/otherview/sh2023/pr/SHApi2102PR.java          |   10 
 src/main/java/com/fzzy/otherview/sh2023/ShApi2103.view.xml           |  596 ++++++++++++++++++++++++++++++++++
 src/main/java/com/fzzy/push/sh2023/SH2023PushService12.java          |    2 
 src/main/java/com/fzzy/otherview/sh2023/pr/SHApi2103PR.java          |  207 ++++++++++++
 src/main/java/com/fzzy/push/sh2023/dto/SH2023Api2103.java            |    9 
 src/main/java/com/fzzy/push/sh2023/SH2023PushService13.java          |    5 
 src/main/java/com/fzzy/otherview/sh2023/repository/ShApi1311Rep.java |   10 
 src/main/java/com/fzzy/otherview/sh2023/repository/ShApi2101Rep.java |   12 
 11 files changed, 904 insertions(+), 74 deletions(-)

diff --git a/src/main/java/com/fzzy/otherview/sh2023/ShApi2102.view.xml b/src/main/java/com/fzzy/otherview/sh2023/ShApi2102.view.xml
index 2120356..c7e0306 100644
--- a/src/main/java/com/fzzy/otherview/sh2023/ShApi2102.view.xml
+++ b/src/main/java/com/fzzy/otherview/sh2023/ShApi2102.view.xml
@@ -6,25 +6,25 @@
     <DataType name="dtMain">
       <Property name="creationType">com.fzzy.push.sh2023.dto.SH2023Api2102</Property>
       <PropertyDef name="drdh">
-        <Property/>
+        <Property></Property>
         <Property name="label">鍊掑叆鍗曞彿</Property>
       </PropertyDef>
       <PropertyDef name="drdw">
-        <Property/>
+        <Property></Property>
         <Property name="label">鍊掑叆鍗曚綅</Property>
       </PropertyDef>
       <PropertyDef name="drhwsl">
-        <Property/>
+        <Property></Property>
         <Property name="label">鍊掑叆鏁伴噺</Property>
         <Property name="dataType">Double</Property>
         <Property name="displayFormat">#0.000000</Property>
       </PropertyDef>
       <PropertyDef name="drhwdm">
-        <Property/>
+        <Property></Property>
         <Property name="label">鍊掑叆璐т綅浠g爜</Property>
       </PropertyDef>
       <PropertyDef name="czbz">
-        <Property/>
+        <Property></Property>
         <Property name="label">鎿嶄綔鏍囧織</Property>
         <Property name="mapping">
           <Property name="mapValues">${dorado.getDataProvider(&quot;apiTriggerService#trigger&quot;).getResult(&quot;CZBZ&quot;)}</Property>
@@ -41,28 +41,100 @@
         <Property name="label">鍊掑叆鏃ユ湡</Property>
       </PropertyDef>
       <PropertyDef name="kddh">
-        <Property/>
+        <Property></Property>
         <Property name="label">搴撹皟鍗曞彿</Property>
       </PropertyDef>
-      <PropertyDef name="bjw">
-        <Property/>
-        <Property name="label">鏍囪浣�</Property>
-      </PropertyDef>
       <PropertyDef name="pch">
-        <Property/>
+        <Property></Property>
         <Property name="label">鎵规鍙�</Property>
       </PropertyDef>
       <PropertyDef name="bizId">
-        <Property/>
+        <Property></Property>
         <Property name="label">涓氬姟id</Property>
       </PropertyDef>
       <PropertyDef name="kqdm">
-        <Property/>
+        <Property></Property>
         <Property name="label">搴撳尯浠g爜</Property>
       </PropertyDef>
       <PropertyDef name="syncTime">
         <Property name="dataType">Date</Property>
         <Property name="label">鍚屾鏃堕棿</Property>
+      </PropertyDef>
+      <PropertyDef name="bjw">
+        <Property></Property>
+        <Property name="label">鏍囪浣�</Property>
+        <Property name="mapping">
+          <Property name="keyProperty">key</Property>
+          <Property name="valueProperty">value</Property>
+          <Property name="mapValues">
+            <Collection>
+              <Entity>
+                <Property name="value">榛勬郸鍖�</Property>
+                <Property name="key">huangpu</Property>
+              </Entity>
+              <Entity>
+                <Property name="value">寰愭眹鍖�</Property>
+                <Property name="key">xuhui</Property>
+              </Entity>
+              <Entity>
+                <Property name="value">闀垮畞鍖�</Property>
+                <Property name="key">changning</Property>
+              </Entity>
+              <Entity>
+                <Property name="value">闈欏畨鍖�</Property>
+                <Property name="key">jingan</Property>
+              </Entity>
+              <Entity>
+                <Property name="value">鏅檧鍖�</Property>
+                <Property name="key">putuo</Property>
+              </Entity>
+              <Entity>
+                <Property name="value">铏瑰彛鍖�</Property>
+                <Property name="key">hongkou</Property>
+              </Entity>
+              <Entity>
+                <Property name="value">鏉ㄦ郸鍖�</Property>
+                <Property name="key">yangpu</Property>
+              </Entity>
+              <Entity>
+                <Property name="value">闂佃鍖�</Property>
+                <Property name="key">minhang</Property>
+              </Entity>
+              <Entity>
+                <Property name="value">瀹濆北鍖�</Property>
+                <Property name="key">baoshan</Property>
+              </Entity>
+              <Entity>
+                <Property name="value">鍢夊畾鍖�</Property>
+                <Property name="key">jiading</Property>
+              </Entity>
+              <Entity>
+                <Property name="value">娴︿笢鏂板尯</Property>
+                <Property name="key">pudong</Property>
+              </Entity>
+              <Entity>
+                <Property name="value">閲戝北鍖�</Property>
+                <Property name="key">jinshan</Property>
+              </Entity>
+              <Entity>
+                <Property name="value">鏉炬睙鍖�</Property>
+                <Property name="key">songjiang</Property>
+              </Entity>
+              <Entity>
+                <Property name="value">闈掓郸鍖�</Property>
+                <Property name="key">qingpu</Property>
+              </Entity>
+              <Entity>
+                <Property name="value">濂夎搐鍖�</Property>
+                <Property name="key">fengxian</Property>
+              </Entity>
+              <Entity>
+                <Property name="value">宕囨槑鍖�</Property>
+                <Property name="key">chongming</Property>
+              </Entity>
+            </Collection>
+          </Property>
+        </Property>
       </PropertyDef>
     </DataType>
     <DataType name="dtParam">
@@ -393,7 +465,7 @@
       <Property name="confirmMessage">褰撳墠鏁版嵁鍒犻櫎鍚庢棤娉曟仮澶嶏紝璇风‘璁よ鍒犻櫎涔堬紵</Property>
     </AjaxAction>
     <AjaxAction id="ajaxDelUpdate">
-      <Property name="service">sHApi2103PR#delUpdate</Property>
+      <Property name="service">sHApi2102PR#delUpdate</Property>
       <Property name="confirmMessage">纭畾瑕佸皢鏁版嵁鏍囪涓哄垹闄や箞锛�</Property>
     </AjaxAction>
   </View>
diff --git a/src/main/java/com/fzzy/otherview/sh2023/ShApi2103.view.xml b/src/main/java/com/fzzy/otherview/sh2023/ShApi2103.view.xml
index 360037f..5c6c4f0 100644
--- a/src/main/java/com/fzzy/otherview/sh2023/ShApi2103.view.xml
+++ b/src/main/java/com/fzzy/otherview/sh2023/ShApi2103.view.xml
@@ -3,9 +3,601 @@
   <Arguments/>
   <Context/>
   <Model>
-
+    <DataType name="dtMain">
+      <Property name="creationType">com.fzzy.push.sh2023.dto.SH2023Api2103</Property>
+      <PropertyDef name="bizId">
+        <Property></Property>
+        <Property name="label">涓氬姟id</Property>
+      </PropertyDef>
+      <PropertyDef name="kqdm">
+        <Property></Property>
+        <Property name="label">搴撳尯浠g爜</Property>
+      </PropertyDef>
+      <PropertyDef name="syncTime">
+        <Property name="dataType">Date</Property>
+        <Property name="label">鍚屾鏃堕棿</Property>
+      </PropertyDef>
+      <PropertyDef name="hwdm">
+        <Property></Property>
+        <Property name="label">璐т綅浠g爜</Property>
+      </PropertyDef>
+      <PropertyDef name="dlhs">
+        <Property></Property>
+        <Property name="label">鐢电紗琛屾暟</Property>
+      </PropertyDef>
+      <PropertyDef name="dlls">
+        <Property></Property>
+        <Property name="label">鐢电紗鍒楁暟</Property>
+      </PropertyDef>
+      <PropertyDef name="dlcs">
+        <Property></Property>
+        <Property name="label">鐢电紗灞傛暟</Property>
+      </PropertyDef>
+      <PropertyDef name="dlqs">
+        <Property></Property>
+        <Property name="label">鐢电紗鍦堟暟</Property>
+      </PropertyDef>
+      <PropertyDef name="dlqplxq">
+        <Property></Property>
+        <Property name="label">鐢电紗鍦堟帓鍒楄鎯�</Property>
+      </PropertyDef>
+      <PropertyDef name="scqd">
+        <Property></Property>
+        <Property name="label">涓婂眰璧风偣</Property>
+      </PropertyDef>
+      <PropertyDef name="sczd">
+        <Property></Property>
+        <Property name="label">涓婂眰缁堢偣</Property>
+      </PropertyDef>
+      <PropertyDef name="zcqd">
+        <Property></Property>
+        <Property name="label">涓眰璧风偣</Property>
+      </PropertyDef>
+      <PropertyDef name="zczd">
+        <Property></Property>
+        <Property name="label">涓眰缁堢偣</Property>
+      </PropertyDef>
+      <PropertyDef name="xcqd">
+        <Property></Property>
+        <Property name="label">涓嬪眰璧风偣</Property>
+      </PropertyDef>
+      <PropertyDef name="xczd">
+        <Property></Property>
+        <Property name="label">涓嬪眰缁堢偣</Property>
+      </PropertyDef>
+      <PropertyDef name="yxfwqsc">
+        <Property></Property>
+        <Property name="label">鏈夋晥鑼冨洿璧峰灞�</Property>
+      </PropertyDef>
+      <PropertyDef name="yxfwjsc">
+        <Property></Property>
+        <Property name="label">鏈夋晥鑼冨洿缁撴潫灞�</Property>
+      </PropertyDef>
+      <PropertyDef name="bjw">
+        <Property></Property>
+        <Property name="label">鏍囪浣�</Property>
+        <Property name="mapping">
+          <Property name="keyProperty">key</Property>
+          <Property name="valueProperty">value</Property>
+          <Property name="mapValues">
+            <Collection>
+              <Entity>
+                <Property name="value">榛勬郸鍖�</Property>
+                <Property name="key">huangpu</Property>
+              </Entity>
+              <Entity>
+                <Property name="value">寰愭眹鍖�</Property>
+                <Property name="key">xuhui</Property>
+              </Entity>
+              <Entity>
+                <Property name="value">闀垮畞鍖�</Property>
+                <Property name="key">changning</Property>
+              </Entity>
+              <Entity>
+                <Property name="value">闈欏畨鍖�</Property>
+                <Property name="key">jingan</Property>
+              </Entity>
+              <Entity>
+                <Property name="value">鏅檧鍖�</Property>
+                <Property name="key">putuo</Property>
+              </Entity>
+              <Entity>
+                <Property name="value">铏瑰彛鍖�</Property>
+                <Property name="key">hongkou</Property>
+              </Entity>
+              <Entity>
+                <Property name="value">鏉ㄦ郸鍖�</Property>
+                <Property name="key">yangpu</Property>
+              </Entity>
+              <Entity>
+                <Property name="value">闂佃鍖�</Property>
+                <Property name="key">minhang</Property>
+              </Entity>
+              <Entity>
+                <Property name="value">瀹濆北鍖�</Property>
+                <Property name="key">baoshan</Property>
+              </Entity>
+              <Entity>
+                <Property name="value">鍢夊畾鍖�</Property>
+                <Property name="key">jiading</Property>
+              </Entity>
+              <Entity>
+                <Property name="value">娴︿笢鏂板尯</Property>
+                <Property name="key">pudong</Property>
+              </Entity>
+              <Entity>
+                <Property name="value">閲戝北鍖�</Property>
+                <Property name="key">jinshan</Property>
+              </Entity>
+              <Entity>
+                <Property name="value">鏉炬睙鍖�</Property>
+                <Property name="key">songjiang</Property>
+              </Entity>
+              <Entity>
+                <Property name="value">闈掓郸鍖�</Property>
+                <Property name="key">qingpu</Property>
+              </Entity>
+              <Entity>
+                <Property name="value">濂夎搐鍖�</Property>
+                <Property name="key">fengxian</Property>
+              </Entity>
+              <Entity>
+                <Property name="value">宕囨槑鍖�</Property>
+                <Property name="key">chongming</Property>
+              </Entity>
+            </Collection>
+          </Property>
+        </Property>
+      </PropertyDef>
+      <PropertyDef name="zhgxsj">
+        <Property name="dataType">Date</Property>
+        <Property name="label">鏈�鍚庢洿鏂版椂闂�</Property>
+      </PropertyDef>
+      <Reference name="sh2023Api2103Items">
+        <Property name="dataType">[dtItem]</Property>
+        <Property name="dataProvider">sHApi2103PR#itemList</Property>
+        <Property name="parameter">$${this.dlqplxq}</Property>
+      </Reference>
+    </DataType>
+    <DataType name="dtParam">
+      <Property name="creationType">com.fzzy.api.data.ApiParam</Property>
+      <PropertyDef name="kqdm">
+        <Property></Property>
+        <Property name="label">鎵�灞炲簱鍖�</Property>
+      </PropertyDef>
+      <PropertyDef name="start">
+        <Property name="dataType">Date</Property>
+        <Property name="label">寮�濮嬫椂闂�</Property>
+      </PropertyDef>
+      <PropertyDef name="end">
+        <Property name="dataType">Date</Property>
+        <Property name="label">鎴鏃堕棿</Property>
+      </PropertyDef>
+      <PropertyDef name="czbz">
+        <Property></Property>
+        <Property name="label">鎿嶄綔鏍囧織</Property>
+        <Property name="mapping">
+          <Property name="mapValues">${dorado.getDataProvider(&quot;apiTriggerService#trigger&quot;).getResult(&quot;CZBZ&quot;)}</Property>
+          <Property name="keyProperty">code</Property>
+          <Property name="valueProperty">name</Property>
+        </Property>
+      </PropertyDef>
+    </DataType>
+    <DataType name="dtItem">
+      <Property name="creationType">com.fzzy.push.sh2023.dto.SH2023Api2103Item</Property>
+      <PropertyDef name="qh">
+        <Property/>
+        <Property name="label">鍦堝彿</Property>
+      </PropertyDef>
+      <PropertyDef name="qsdlbh">
+        <Property/>
+        <Property name="label">璧峰鐢电紗缂栧彿</Property>
+      </PropertyDef>
+      <PropertyDef name="jsdlbh">
+        <Property/>
+        <Property name="label">缁撴潫鐢电紗缂栧彿</Property>
+      </PropertyDef>
+      <PropertyDef name="cs">
+        <Property/>
+        <Property name="label">鍚勫湀鎬诲眰鏁�</Property>
+      </PropertyDef>
+      <PropertyDef name="ybj">
+        <Property/>
+        <Property name="label">鍦堝崐寰�</Property>
+      </PropertyDef>
+      <PropertyDef name="rowId">
+        <Property/>
+        <Property name="label">搴忓彿</Property>
+      </PropertyDef>
+    </DataType>
   </Model>
   <View layout="regionPadding:10">
-
+    <Property name="packages">font-awesome,css-common</Property>
+    <DataSet id="dsMain">
+      <Property name="dataType">[dtMain]</Property>
+      <Property name="dataProvider">sHApi2103PR#listData</Property>
+      <Property name="pageSize">15</Property>
+    </DataSet>
+    <DataSet id="dsQuery">
+      <ClientEvent name="onReady">self.insert();</ClientEvent>
+      <Property name="dataType">dtParam</Property>
+    </DataSet>
+    <ToolBar>
+      <ToolBarLabel>
+        <Property name="text">宸ュ叿鏍忥細</Property>
+        <Property name="style">
+          <Property name="font-weight">bold</Property>
+        </Property>
+      </ToolBarLabel>
+      <ToolBarButton>
+        <ClientEvent name="onClick">var query = view.get(&quot;#dsQuery&quot;).getData();&#xD;
+view.get(&quot;#dsMain&quot;).set(&quot;parameter&quot;,query).flushAsync();</ClientEvent>
+        <Property name="caption">鏌ヨ</Property>
+        <Property name="iconClass">fa fa-search</Property>
+        <Property name="width">100</Property>
+        <Property name="exClassName">toolbar-button-push</Property>
+      </ToolBarButton>
+      <ToolBarButton id="btnAdd">
+        <ClientEvent name="onClick">view.get(&quot;#dsMain&quot;).insert();&#xD;
+view.get(&quot;#dialogMain&quot;).show();</ClientEvent>
+        <Property name="caption">鏂板</Property>
+        <Property name="iconClass">fa fa-plus</Property>
+        <Property name="width">100</Property>
+        <Property name="exClassName">toolbar-button</Property>
+        <Property name="hideMode">display</Property>
+      </ToolBarButton>
+      <ToolBarButton id="btnUpdate">
+        <ClientEvent name="onClick">var cur = view.get(&quot;#dgMain&quot;).getCurrentItem();&#xD;
+if(cur){&#xD;
+	view.get(&quot;#dialogMain&quot;).show();&#xD;
+}</ClientEvent>
+        <Property name="caption">淇敼</Property>
+        <Property name="iconClass">fa fa-pencil</Property>
+        <Property name="width">100</Property>
+        <Property name="exClassName">toolbar-button-warm</Property>
+        <Property name="hideMode">display</Property>
+      </ToolBarButton>
+      <ToolBarButton>
+        <ClientEvent name="onClick">var cur = view.get(&quot;#dgMain&quot;).getCurrentItem();&#xD;
+view.get(&quot;#ajaxDelUpdate&quot;).set(&quot;parameter&quot;,cur).execute(function(result){&#xD;
+	if(result){&#xD;
+		$alert(result);&#xD;
+	} else{&#xD;
+		cur.set(&quot;czbz&quot;,&quot;d&quot;)&#xD;
+	}&#xD;
+});&#xD;
+</ClientEvent>
+        <Property name="caption">鏍囪鍒犻櫎</Property>
+        <Property name="iconClass">fa fa-minus</Property>
+        <Property name="exClassName">toolbar-button-warn</Property>
+        <Property name="width">100</Property>
+      </ToolBarButton>
+      <ToolBarButton id="btnDel">
+        <ClientEvent name="onClick">var cur = view.get(&quot;#dgMain&quot;).getCurrentItem();&#xD;
+view.get(&quot;#ajaxDel&quot;).set(&quot;parameter&quot;,cur).execute(function(result){&#xD;
+	if(result){&#xD;
+		$alert(result);&#xD;
+	} else{&#xD;
+		cur.remove();&#xD;
+	}&#xD;
+});&#xD;
+</ClientEvent>
+        <Property name="caption">鐩存帴鍒犻櫎</Property>
+        <Property name="iconClass">fa fa-minus</Property>
+        <Property name="exClassName">toolbar-button-warn</Property>
+        <Property name="width">100</Property>
+        <Property name="hideMode">display</Property>
+      </ToolBarButton>
+      <ToolBarButton>
+        <ClientEvent name="onClick">var select = view.get(&quot;#dgMain&quot;).get(&quot;selection&quot;);&#xD;
+if(select &amp;&amp; select.length > 0){&#xD;
+	view.get(&quot;#ajaxPush&quot;).set(&quot;parameter&quot;,select).execute(function(result){&#xD;
+		view.get(&quot;#dsMain&quot;).flushAsync();&#xD;
+          $notify(result);&#xD;
+	});&#xD;
+}else{&#xD;
+	$alert(&quot;璇峰嬀閫変笂鎶ユ暟鎹紒&quot;);&#xD;
+}&#xD;
+</ClientEvent>
+        <Property name="caption">鎵嬪姩涓婁紶</Property>
+        <Property name="iconClass">fa fa-hand-o-up</Property>
+        <Property name="exClassName">toolbar-button-push</Property>
+        <Property name="width">100</Property>
+      </ToolBarButton>
+      <Fill/>
+      <ToolBarButton>
+        <Property name="caption">涓婁紶璁板綍</Property>
+        <Property name="iconClass">fa fa-bars</Property>
+        <Property name="exClassName">toolbar-button</Property>
+        <Property name="width">100</Property>
+      </ToolBarButton>
+    </ToolBar>
+    <AutoForm>
+      <Property name="dataSet">dsQuery</Property>
+      <Property name="cols">*,*,*,*</Property>
+      <Property name="labelAlign">right</Property>
+      <Property name="labelSeparator">锛�</Property>
+      <Property name="labelWidth">90</Property>
+      <AutoFormElement>
+        <Property name="name">kqdm</Property>
+        <Property name="property">kqdm</Property>
+        <Editor/>
+      </AutoFormElement>
+      <AutoFormElement>
+        <Property name="name">start</Property>
+        <Property name="property">start</Property>
+        <Editor/>
+      </AutoFormElement>
+      <AutoFormElement>
+        <Property name="name">end</Property>
+        <Property name="property">end</Property>
+        <Editor/>
+      </AutoFormElement>
+      <AutoFormElement>
+        <Property name="name">czbz</Property>
+        <Property name="property">czbz</Property>
+        <Property name="trigger">autoMappingDropDown2</Property>
+        <Editor/>
+      </AutoFormElement>
+    </AutoForm>
+    <DataGrid id="dgMain">
+      <ClientEvent name="onDataRowDoubleClick">view.get(&quot;#dialogMain&quot;).show();</ClientEvent>
+      <Property name="dataSet">dsMain</Property>
+      <Property name="selectionMode">multiRows</Property>
+      <Property name="readOnly">true</Property>
+      <RowNumColumn/>
+      <RowSelectorColumn>
+        <Property name="caption">涓婁紶</Property>
+      </RowSelectorColumn>
+      <DataColumn name="hwdm">
+        <Property name="property">hwdm</Property>
+        <Property name="align">center</Property>
+      </DataColumn>
+      <DataColumn name="scqd">
+        <Property name="property">scqd</Property>
+        <Property name="align">center</Property>
+      </DataColumn>
+      <DataColumn name="sczd">
+        <Property name="property">sczd</Property>
+        <Property name="align">center</Property>
+      </DataColumn>
+      <DataColumn name="zcqd">
+        <Property name="property">zcqd</Property>
+        <Property name="align">center</Property>
+      </DataColumn>
+      <DataColumn name="zczd">
+        <Property name="property">zczd</Property>
+        <Property name="align">center</Property>
+      </DataColumn>
+      <DataColumn name="xcqd">
+        <Property name="property">xcqd</Property>
+        <Property name="align">center</Property>
+      </DataColumn>
+      <DataColumn name="xczd">
+        <Property name="property">xczd</Property>
+        <Property name="align">center</Property>
+      </DataColumn>
+      <DataColumn name="yxfwqsc">
+        <Property name="property">yxfwqsc</Property>
+        <Property name="align">center</Property>
+      </DataColumn>
+      <DataColumn name="yxfwjsc">
+        <Property name="property">yxfwjsc</Property>
+        <Property name="align">center</Property>
+      </DataColumn>
+      <DataColumn name="bjw">
+        <Property name="property">bjw</Property>
+        <Property name="align">center</Property>
+      </DataColumn>
+      <DataColumn name="zhgxsj">
+        <Property name="property">zhgxsj</Property>
+        <Property name="align">center</Property>
+      </DataColumn>
+    </DataGrid>
+    <ToolBar layoutConstraint="bottom">
+      <Fill/>
+      <DataPilot>
+        <Property name="itemCodes">pageSize,pages</Property>
+        <Property name="dataSet">dsMain</Property>
+      </DataPilot>
+    </ToolBar>
+    <Dialog id="dialogMain" layout="regionPadding:5">
+      <Property name="width">80%</Property>
+      <Property name="caption">绮儏璁惧閰嶇疆淇℃伅</Property>
+      <Property name="iconClass">fa fa-sliders</Property>
+      <Property name="closeable">false</Property>
+      <Property name="height">80%</Property>
+      <Buttons>
+        <Button>
+          <ClientEvent name="onClick">var cur = view.get(&quot;#dgMain&quot;).getCurrentItem();&#xD;
+view.get(&quot;#updateSave&quot;).execute(function(){&#xD;
+	self.get(&quot;parent&quot;).hide();&#xD;
+});</ClientEvent>
+          <Property name="caption">淇濆瓨淇敼</Property>
+          <Property name="iconClass">fa fa-check</Property>
+          <Property name="exClassName">toolbar-button</Property>
+        </Button>
+        <Button>
+          <ClientEvent name="onClick">var cur = view.get(&quot;#dgMain&quot;).getCurrentItem();&#xD;
+self.get(&quot;parent&quot;).hide();&#xD;
+if(cur) cur.cancel();</ClientEvent>
+          <Property name="caption">鍙栨秷淇敼</Property>
+          <Property name="iconClass">fa fa-times</Property>
+          <Property name="exClassName">toolbar-button-warn</Property>
+        </Button>
+      </Buttons>
+      <Children>
+        <FieldSet layout="regionPadding:5">
+          <Property name="caption">鍩烘湰淇℃伅</Property>
+          <Buttons/>
+          <Children>
+            <AutoForm>
+              <Property name="dataSet">dsMain</Property>
+              <Property name="cols">*,*,*</Property>
+              <Property name="labelWidth">150</Property>
+              <Property name="labelAlign">left</Property>
+              <Property name="labelSeparator">锛�</Property>
+              <Property name="labelPosition">left</Property>
+              <AutoFormElement>
+                <Property name="name">hwdm</Property>
+                <Property name="property">hwdm</Property>
+                <Editor/>
+              </AutoFormElement>
+              <AutoFormElement>
+                <Property name="name">dlhs</Property>
+                <Property name="property">dlhs</Property>
+                <Editor/>
+              </AutoFormElement>
+              <AutoFormElement>
+                <Property name="name">dlls</Property>
+                <Property name="property">dlls</Property>
+                <Editor/>
+              </AutoFormElement>
+              <AutoFormElement>
+                <Property name="name">dlcs</Property>
+                <Property name="property">dlcs</Property>
+                <Editor/>
+              </AutoFormElement>
+              <AutoFormElement>
+                <Property name="name">dlqs</Property>
+                <Property name="property">dlqs</Property>
+                <Editor/>
+              </AutoFormElement>
+              <AutoFormElement>
+                <Property name="name">scqd</Property>
+                <Property name="property">scqd</Property>
+                <Editor/>
+              </AutoFormElement>
+              <AutoFormElement>
+                <Property name="name">sczd</Property>
+                <Property name="property">sczd</Property>
+                <Editor/>
+              </AutoFormElement>
+              <AutoFormElement>
+                <Property name="name">zcqd</Property>
+                <Property name="property">zcqd</Property>
+                <Editor/>
+              </AutoFormElement>
+              <AutoFormElement>
+                <Property name="name">zczd</Property>
+                <Property name="property">zczd</Property>
+                <Editor/>
+              </AutoFormElement>
+              <AutoFormElement>
+                <Property name="name">xcqd</Property>
+                <Property name="property">xcqd</Property>
+                <Editor/>
+              </AutoFormElement>
+              <AutoFormElement>
+                <Property name="name">xczd</Property>
+                <Property name="property">xczd</Property>
+                <Editor/>
+              </AutoFormElement>
+              <AutoFormElement>
+                <Property name="name">yxfwqsc</Property>
+                <Property name="property">yxfwqsc</Property>
+                <Editor/>
+              </AutoFormElement>
+              <AutoFormElement>
+                <Property name="name">yxfwjsc</Property>
+                <Property name="property">yxfwjsc</Property>
+                <Editor/>
+              </AutoFormElement>
+              <AutoFormElement>
+                <Property name="name">bjw</Property>
+                <Property name="property">bjw</Property>
+                <Editor/>
+              </AutoFormElement>
+              <AutoFormElement>
+                <Property name="name">zhgxsj</Property>
+                <Property name="property">zhgxsj</Property>
+                <Editor/>
+              </AutoFormElement>
+            </AutoForm>
+          </Children>
+        </FieldSet>
+        <Panel layout="regionPadding:5">
+          <Property name="caption">鐢电紗鍦堟帓鍒楄鎯�</Property>
+          <Property name="height">400</Property>
+          <Buttons/>
+          <Children>
+            <Container layout="regionPadding:10">
+              <Property name="exClassName">bg-color</Property>
+              <Property name="contentOverflow">hidden</Property>
+              <Property name="height">55</Property>
+              <Label layoutConstraint="left">
+                <Property name="text">鑿滃崟鏍忥細</Property>
+              </Label>
+              <Button layoutConstraint="left">
+                <ClientEvent name="onClick">var list = view.get(&quot;#dsMain.data:#&quot;).get(&quot;sh2023Api2103Items&quot;);&#xD;
+list.insert({});</ClientEvent>
+                <Property name="caption">鏂板</Property>
+                <Property name="exClassName">btn-default</Property>
+                <Property name="iconClass">fa fa-plus</Property>
+              </Button>
+              <Button layoutConstraint="left">
+                <ClientEvent name="onClick">var data = view.get(&quot;#dataItem.currentEntity&quot;);&#xD;
+if(!data){&#xD;
+ return;&#xD;
+}&#xD;
+data.remove();</ClientEvent>
+                <Property name="caption">鍒犻櫎</Property>
+                <Property name="iconClass">fa fa-minus</Property>
+                <Property name="exClassName">btn-warn</Property>
+              </Button>
+            </Container>
+            <DataGrid id="dataItem">
+              <Property name="dataPath">#.sh2023Api2103Items</Property>
+              <Property name="dataSet">dsMain</Property>
+              <DataColumn name="qh">
+                <Property name="property">qh</Property>
+                <Property name="align">center</Property>
+              </DataColumn>
+              <DataColumn name="qsdlbh">
+                <Property name="property">qsdlbh</Property>
+                <Property name="align">center</Property>
+              </DataColumn>
+              <DataColumn name="jsdlbh">
+                <Property name="property">jsdlbh</Property>
+                <Property name="align">center</Property>
+              </DataColumn>
+              <DataColumn name="cs">
+                <Property name="property">cs</Property>
+                <Property name="align">center</Property>
+              </DataColumn>
+              <DataColumn name="ybj">
+                <Property name="property">ybj</Property>
+                <Property name="align">center</Property>
+              </DataColumn>
+              <DataColumn name="rowId">
+                <Property name="property">rowId</Property>
+                <Property name="align">center</Property>
+              </DataColumn>
+            </DataGrid>
+          </Children>
+          <Tools/>
+        </Panel>
+      </Children>
+      <Tools/>
+    </Dialog>
+    <UpdateAction id="updateSave">
+      <Property name="dataResolver">sHApi2103PR#saveData</Property>
+      <UpdateItem>
+        <Property name="dataPath">[#current]</Property>
+        <Property name="dataSet">dsMain</Property>
+      </UpdateItem>
+    </UpdateAction>
+    <AjaxAction id="ajaxPush">
+      <Property name="service">sHApi2103PR#pushData</Property>
+      <Property name="confirmMessage">纭畾瑕佷笂鎶ヤ箞锛�</Property>
+    </AjaxAction>
+    <AjaxAction id="ajaxDel">
+      <Property name="service">sHApi2103PR#delData</Property>
+      <Property name="confirmMessage">褰撳墠鏁版嵁鍒犻櫎鍚庢棤娉曟仮澶嶏紝璇风‘璁よ鍒犻櫎涔堬紵</Property>
+    </AjaxAction>
+    <AjaxAction id="ajaxDelUpdate">
+      <Property name="service">sHApi2103PR#delUpdate</Property>
+      <Property name="confirmMessage">纭畾瑕佸皢鏁版嵁鏍囪涓哄垹闄や箞锛�</Property>
+    </AjaxAction>
   </View>
 </ViewConfig>
diff --git a/src/main/java/com/fzzy/otherview/sh2023/dto/ShApi1311.java b/src/main/java/com/fzzy/otherview/sh2023/dto/ShApi1311.java
deleted file mode 100644
index 5b5003f..0000000
--- a/src/main/java/com/fzzy/otherview/sh2023/dto/ShApi1311.java
+++ /dev/null
@@ -1,133 +0,0 @@
-package com.fzzy.otherview.sh2023.dto;
-
-import com.alibaba.fastjson.annotation.JSONField;
-import com.bstek.dorado.annotation.PropertyDef;
-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;
-import java.util.Date;
-
-/**
- * 瑙嗛鐩戞帶
- *
- * @Author:YAN
- */
-@Data
-@EqualsAndHashCode(callSuper = false)
-public class ShApi1311 implements Serializable {
-
-    /**
-     *
-     */
-    private static final long serialVersionUID = 1L;
-
-    @PropertyDef(label = "鐩戞帶缂栧彿")
-    private String sxtbh;
-
-    @PropertyDef(label = "閫氶亾缂栧彿")
-    private int tdbh;
-
-    @PropertyDef(label = "閫氶亾鍚嶇О")
-    private String tdmc;
-
-    @PropertyDef(label = "鐩戞帶璁惧缂栫爜")
-    private String jksbbm;
-
-    @PropertyDef(label = "鐩戞帶璁惧鍚嶇О")
-    private String jksbmc;
-
-    @PropertyDef(label = "搴撳尯浠g爜")
-    private String kqdm;
-
-    /**
-     * 1 娴峰悍, 2 澶у崕, 3 瀹囪
-     * 4 澶╁湴浼熶笟,5 鍗庝负,9 鍏朵粬
-     */
-    @PropertyDef(label = "鐩戞帶鍘傚晢")
-    private String jkcs;
-
-    @PropertyDef(label = "鐩戞帶鍨嬪彿")
-    private String jkxh;
-
-    @PropertyDef(label = "鐩戞帶搴忓垪鍙�")
-    private String jkxlh;
-
-    /**
-     * 1:浠撳唴锛�2:涓氬姟锛�
-     * 3:瀹夐槻
-     */
-    @PropertyDef(label = "瑙嗛鐩戞帶绫诲瀷")
-    private String spjklx;
-
-    /**
-     * 1:DVR   2:NVR
-     */
-    @PropertyDef(label = "璁惧绫诲瀷")
-    private String sblxbm;
-
-    @PropertyDef(label = "瀹夎浣嶇疆")
-    private String azwz;
-
-    /**
-     * 绮簱澶ч棬锛�01锛夛紝鎵︽牱鏈猴紙02锛夛紝鍖栭獙瀹わ紙03锛夛紝缁撶畻瀹わ紙04锛夛紝
-     * 鍦扮鎴匡紙05锛夛紝搴撳尯涓诲共閬擄紙06锛夛紝浠撻棿鐩戞帶锛�07锛夛紝浠撳唴锛�08锛夛紝
-     * 鑽搧搴擄紙09锛夛紝鍣ㄦ潗搴擄紙10锛夛紝鍒堕珮鐐癸紙11锛夛紝鍛ㄧ晫锛�12锛夛紝鍏朵粬锛�99锛�
-     */
-    @PropertyDef(label = "瀹夎浣嶇疆绫诲瀷")
-    private String azwzlx;
-
-    @PropertyDef(label = "鐓у皠鍖哄煙")
-    private String zsqy;
-
-    /**
-     * Y/N
-     */
-    @PropertyDef(label = "鏄惁瀹夎琛ュ厜鐏�")
-    private String sfazbgd;
-
-    @PropertyDef(label = "寤掗棿浠g爜")
-    private String ajdm;
-
-    @PropertyDef(label = "璐т綅浠g爜")
-    private String hwdm;
-
-    /**
-     * 1 :鏋満 2 :鐞冩満
-     */
-    @PropertyDef(label = "鐩戞帶绫诲瀷缂栫爜")
-    private String jkjlxbm;
-
-    @PropertyDef(label = "鐩戞帶棰勭疆浣嶆暟閲�")
-    private int jktyzw;
-
-    @PropertyDef(label = "璁惧IP鍦板潃")
-    private String sbipdz;
-
-    @PropertyDef(label = "璁惧绔彛鍙�")
-    private int sbdkh;
-
-    @PropertyDef(label = "璁惧鐧诲綍鍚嶇О")
-    private String sbdlmc;
-
-    @PropertyDef(label = "璁惧鐧诲綍瀵嗙爜")
-    private String sbdlmm;
-
-    @PropertyDef(label = "澶囨敞")
-    private String bz;
-
-    @PropertyDef(label = "鏍囪浣�")
-    private String bjw;
-
-    @PropertyDef(label = "鎿嶄綔鏍囧織")
-    private String czbz;
-
-    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
-    @PropertyDef(label = "鏈�鍚庢洿鏂版椂闂�")
-    private Date zhgxsj;
-
-}
diff --git a/src/main/java/com/fzzy/otherview/sh2023/dto/ShApi2101.java b/src/main/java/com/fzzy/otherview/sh2023/dto/ShApi2101.java
deleted file mode 100644
index 26db2d6..0000000
--- a/src/main/java/com/fzzy/otherview/sh2023/dto/ShApi2101.java
+++ /dev/null
@@ -1,114 +0,0 @@
-package com.fzzy.otherview.sh2023.dto;
-
-import com.alibaba.fastjson.annotation.JSONField;
-import com.bstek.dorado.annotation.PropertyDef;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-
-import javax.persistence.*;
-import java.io.Serializable;
-import java.util.Date;
-
-/**
- * 涓婃捣甯傛帴鍙�-2101 妫�鏂ゅ崟
- *
- * @author czt
- * @date 2023/8/17
- */
-@Data
-@EqualsAndHashCode(callSuper = false)
-public class ShApi2101 implements Serializable {
-    /**
-     *
-     */
-    private static final long serialVersionUID = 1L;
-
-    @PropertyDef(label = "妫�鏂ゅ崟鍙�")
-    private String jjdh;
-
-    @PropertyDef(label = "搴撳尯浠g爜")
-    private String kqdm;
-
-    @JSONField(format = "yyyy-MM-dd")
-    @PropertyDef(label = "妫�鏂ゆ棩鏈�")
-    private Date jjrq;
-
-    @PropertyDef(label = "椹宠繍鍗曞彿/搴撻檯璋冩嫧鍗曞彿")
-    private String inbillno;
-
-    @JSONField(format = "yyyy-MM-dd")
-    @PropertyDef(label = "璁拌处鏃ユ湡")
-    private Date jzrq;
-
-    @PropertyDef(label = "浣滀笟鍗曞彿")
-    private String zydh;
-
-    /**
-     * 1锛氬叆搴撲綔涓� 2锛氫腑杞皟鍑� 3锛氫腑杞繘浠�
-     * 4锛氬嚭搴撲綔涓� 5锛氬簱瀛樿皟鍑� 6锛氬簱瀛樿皟鍏� 7锛氱Щ浠撴々
-     */
-    @PropertyDef(label = "浣滀笟绫诲瀷")
-    private String zylx;
-
-    @PropertyDef(label = "瀹㈡埛缂栧彿")
-    private String khmc;
-
-    @PropertyDef(label = "鏉ョ伯棰勬姤鍙�/鎻愯揣鍗曞彿")
-    private String psplan;
-
-    @PropertyDef(label = "鍚堝悓鍙�")
-    private String hth;
-
-    @PropertyDef(label = "杞﹁埞鍙�")
-    private String cch;
-
-    @PropertyDef(label = "涓浆杞﹁埞鍙�")
-    private String zzchh;
-
-    @PropertyDef(label = "鍝佺澶х被")
-    private String lspzdmdl;
-
-    @PropertyDef(label = "绮鎬ц川浠g爜")
-    private String lsxzdm;
-
-    @PropertyDef(label = "鏉ョ伯浠g爜")
-    private String lldm;
-
-    @PropertyDef(label = "寤掗棿浠g爜")
-    private String ajdm;
-
-    @PropertyDef(label = "璐т綅浠g爜")
-    private String hwdm;
-
-    @PropertyDef(label = "绉诲叆寤掗棿浠g爜")
-    private String yrajdh;
-
-    @PropertyDef(label = "绉诲叆璐т綅浠g爜")
-    private String yrhwdm;
-
-    @PropertyDef(label = "瑁呭嵏鐝�")
-    private String zxb;
-
-    @PropertyDef(label = "鍖呰鐗╁鎵i噺(鍏枻)")
-    private double bzwzkl;
-
-    @PropertyDef(label = "姣涢噸(鍏枻)")
-    private double mz;
-
-    @PropertyDef(label = "鍑�閲�(鍏枻)")
-    private double jz;
-
-    @PropertyDef(label = "鏁版嵁鐘舵��")
-    private String czbz;
-
-    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
-    @PropertyDef(label = "鏈�鍚庢洿鏂版椂闂�")
-    private Date zhgxsj;
-
-    @PropertyDef(label = "鎵规鍙�")
-    private String pch;
-
-    @PropertyDef(label = "鏍囪浣�")
-    private String bjw;
-
-}
diff --git a/src/main/java/com/fzzy/otherview/sh2023/dto/ShApi2102.java b/src/main/java/com/fzzy/otherview/sh2023/dto/ShApi2102.java
deleted file mode 100644
index 9ae6a95..0000000
--- a/src/main/java/com/fzzy/otherview/sh2023/dto/ShApi2102.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package com.fzzy.otherview.sh2023.dto;
-
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-
-import java.io.Serializable;
-
-/**
- * 涓婃捣甯傛帴鍙�-2102 鍊掍粨鍊掑叆
- *
- * @author czt
- * @date 2023/8/17
- */
-@Data
-@EqualsAndHashCode(callSuper = false)
-public class ShApi2102 implements Serializable {
-    /**
-     *
-     */
-    private static final long serialVersionUID = 1L;
-
-
-}
diff --git a/src/main/java/com/fzzy/otherview/sh2023/dto/ShApi2103.java b/src/main/java/com/fzzy/otherview/sh2023/dto/ShApi2103.java
deleted file mode 100644
index 972787a..0000000
--- a/src/main/java/com/fzzy/otherview/sh2023/dto/ShApi2103.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package com.fzzy.otherview.sh2023.dto;
-
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-
-import java.io.Serializable;
-
-/**
- * 涓婃捣甯傛帴鍙�-2103 绮儏璁惧閰嶇疆
- *
- * @author czt
- * @date 2023/8/17
- */
-@Data
-@EqualsAndHashCode(callSuper = false)
-public class ShApi2103 implements Serializable {
-    /**
-     *
-     */
-    private static final long serialVersionUID = 1L;
-
-
-}
diff --git a/src/main/java/com/fzzy/otherview/sh2023/pr/SHApi2101PR.java b/src/main/java/com/fzzy/otherview/sh2023/pr/SHApi2101PR.java
index bdb0556..c217eea 100644
--- a/src/main/java/com/fzzy/otherview/sh2023/pr/SHApi2101PR.java
+++ b/src/main/java/com/fzzy/otherview/sh2023/pr/SHApi2101PR.java
@@ -160,7 +160,9 @@
         String kqdm = items.get(0).getKqdm();
         ApiConfs apiConf = apiCommonService.getConf(kqdm);
 
-        if (null == apiConf) return "绯荤粺娌℃湁鑾峰彇鍒板綋鍓嶅簱鍖洪厤缃俊鎭紝鎵ц澶辫触";
+        if (null == apiConf) {
+            return "绯荤粺娌℃湁鑾峰彇鍒板綋鍓嶅簱鍖洪厤缃俊鎭紝鎵ц澶辫触";
+        }
 
         //灏佽鍙傛暟
         ApiParam param = new ApiParam(apiConf, "21", SH2023Constant.SH_2023_API_CODE_2101);
diff --git a/src/main/java/com/fzzy/otherview/sh2023/pr/SHApi2102PR.java b/src/main/java/com/fzzy/otherview/sh2023/pr/SHApi2102PR.java
index 48d8efc..71e768a 100644
--- a/src/main/java/com/fzzy/otherview/sh2023/pr/SHApi2102PR.java
+++ b/src/main/java/com/fzzy/otherview/sh2023/pr/SHApi2102PR.java
@@ -36,7 +36,7 @@
 import java.util.List;
 
 /**
- * 涓婃捣甯傛帴鍙�-2102 妫�鏂ゅ崟
+ * 涓婃捣甯傛帴鍙�-2102 鍊掍粨鍊掑叆
  *
  * @author czt
  * @date 2023/8/17
@@ -154,10 +154,12 @@
         ResponseDto responseDto;
         String result = "";
 
-        String kqdm = items.get(0).getKqdm();
+        String kqdm = items.get(0).getDrhwdm().substring(0, 21);
         ApiConfs apiConf = apiCommonService.getConf(kqdm);
 
-        if (null == apiConf) return "绯荤粺娌℃湁鑾峰彇鍒板綋鍓嶅簱鍖洪厤缃俊鎭紝鎵ц澶辫触";
+        if (null == apiConf) {
+            return "绯荤粺娌℃湁鑾峰彇鍒板綋鍓嶅簱鍖洪厤缃俊鎭紝鎵ц澶辫触";
+        }
 
         //灏佽鍙傛暟
         ApiParam param = new ApiParam(apiConf, "21", SH2023Constant.SH_2023_API_CODE_2102);
@@ -179,7 +181,7 @@
 
                     infoData = new ApiInfoData();
                     infoData.setId(data.getBizId());
-                    infoData.setKqdm(data.getKqdm());
+                    infoData.setKqdm(data.getDrhwdm().substring(0, 21));
                     infoData.setInteType("21");
                     infoData.setInteId(SH2023Constant.SH_2023_API_CODE_2102);
                     infoData.setUpdateTime(new Date());
diff --git a/src/main/java/com/fzzy/otherview/sh2023/pr/SHApi2103PR.java b/src/main/java/com/fzzy/otherview/sh2023/pr/SHApi2103PR.java
new file mode 100644
index 0000000..6c90b64
--- /dev/null
+++ b/src/main/java/com/fzzy/otherview/sh2023/pr/SHApi2103PR.java
@@ -0,0 +1,207 @@
+package com.fzzy.otherview.sh2023.pr;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.bstek.dorado.annotation.DataProvider;
+import com.bstek.dorado.annotation.DataResolver;
+import com.bstek.dorado.annotation.Expose;
+import com.bstek.dorado.data.provider.Page;
+import com.fzzy.api.Constant;
+import com.fzzy.api.data.ApiParam;
+import com.fzzy.api.dto.ResponseDto;
+import com.fzzy.api.entity.ApiConfs;
+import com.fzzy.api.entity.ApiInfoData;
+import com.fzzy.api.service.ApiCommonService;
+import com.fzzy.api.service.ApiPushManager;
+import com.fzzy.api.service.ApiRemoteService;
+import com.fzzy.api.utils.ContextUtil;
+import com.fzzy.api.view.repository.ApiInfoDataRep;
+import com.fzzy.push.sh2023.SH2023Constant;
+import com.fzzy.push.sh2023.dto.SH2023Api2103;
+import com.fzzy.push.sh2023.dto.SH2023Api2103Item;
+import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang.time.DateFormatUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.data.domain.Pageable;
+import org.springframework.data.domain.Sort;
+import org.springframework.data.jpa.domain.Specification;
+import org.springframework.stereotype.Component;
+
+import javax.persistence.criteria.CriteriaBuilder;
+import javax.persistence.criteria.CriteriaQuery;
+import javax.persistence.criteria.Predicate;
+import javax.persistence.criteria.Root;
+import java.util.*;
+
+/**
+ * 涓婃捣甯傛帴鍙�-2103 绮儏璁惧閰嶇疆
+ *
+ * @author czt
+ * @date 2023/8/17
+ */
+@Component(value = "sHApi2103PR")
+public class SHApi2103PR {
+
+    @Autowired
+    private ApiInfoDataRep apiInfoDataRep;
+    @Autowired
+    private ApiCommonService apiCommonService;
+    @Autowired
+    private ApiPushManager apiPushManager;
+
+    /**
+     * 鑾峰彇淇℃伅
+     * sHApi2103PR#listData
+     *
+     * @return
+     */
+    @DataProvider
+    public void listData(Page<SH2023Api2103> page, ApiParam param) {
+
+        Pageable pageable = PageRequest.of(page.getPageNo() - 1, page.getPageSize(), Sort.Direction.DESC, "updateTime");
+
+        Specification specification = new Specification<ApiInfoData>() {
+            private static final long serialVersionUID = 1L;
+
+            @Override
+            public Predicate toPredicate(Root<ApiInfoData> root, CriteriaQuery<?> criteriaQuery, CriteriaBuilder criteriaBuilder) {
+                List<Predicate> predicates = new ArrayList<>(); //鎵�鏈夌殑鏂█
+
+                Predicate predicate = criteriaBuilder.equal(root.get("inteId"), SH2023Constant.SH_2023_API_CODE_2103);
+                predicates.add(predicate);
+
+                if (null != param) {
+                    if (StringUtils.isNotBlank(param.getKqdm())) {
+                        Predicate predicate1 = criteriaBuilder.equal(root.get("kqdm"), param.getKqdm());
+                        predicates.add(predicate1);
+                    }
+
+                    if (StringUtils.isNotBlank(param.getCzbz())) {
+                        Predicate predicate2 = criteriaBuilder.equal(root.get("czbz"), param.getCzbz());
+                        predicates.add(predicate2);
+                    }
+                    if (null != param.getStart()) {
+                        Predicate predicate3 = criteriaBuilder.greaterThan(root.get("updateTime"), ContextUtil.getCurZero(param.getStart()));
+                        predicates.add(predicate3);
+                    }
+
+                    if (null != param.getEnd()) {
+                        Predicate predicate4 = criteriaBuilder.lessThan(root.get("updateTime"), ContextUtil.getNextZero(param.getEnd()));
+                        predicates.add(predicate4);
+                    }
+                }
+                return criteriaBuilder.and(predicates.toArray(new Predicate[0]));
+            }
+        };
+        org.springframework.data.domain.Page<ApiInfoData> japPage = apiInfoDataRep.findAll(specification, pageable);
+        page.setEntityCount((int) japPage.getTotalElements());
+        List<SH2023Api2103> list = new ArrayList<>();
+        SH2023Api2103 sh2023Api2103;
+
+        for (ApiInfoData infoData : japPage.getContent()) {
+            sh2023Api2103 = JSONObject.parseObject(infoData.getData(), SH2023Api2103.class);
+            list.add(sh2023Api2103);
+        }
+        page.setEntities(list);
+
+    }
+
+
+    /**
+     * sHApi2103PR#itemList
+     */
+    @DataProvider
+    public List<SH2023Api2103Item> itemList(String code) {
+        return JSON.parseArray(code, SH2023Api2103Item.class);
+    }
+
+    /**
+     * sHApi2103PR#saveData
+     */
+    @DataResolver
+    public void saveData(SH2023Api2103 data) {
+        data.setDlqplxq(JSON.toJSONString(data.getSh2023Api2103Items()));
+        ApiInfoData infoData = new ApiInfoData();
+        infoData.setId(data.getHwdm());
+        infoData.setKqdm(data.getHwdm().substring(0, 21));
+        infoData.setInteId(SH2023Constant.SH_2023_API_CODE_2103);
+        infoData.setUpdateTime(new Date());
+        infoData.setDataId(data.getHwdm());
+        infoData.setData(JSON.toJSONString(data));
+        infoData.setCzbz(Constant.CZBZ_I);
+        infoData.setRemarks("澶囨敞淇℃伅");
+
+        apiInfoDataRep.save(infoData);
+    }
+
+    /**
+     * sHApi2103PR#delData
+     */
+    @Expose
+    public void delData(SH2023Api2103 data) {
+        apiInfoDataRep.deleteById(data.getHwdm());
+    }
+
+    /**
+     * sHApi2103PR#delUpdate
+     */
+    @Expose
+    public String delUpdate(SH2023Api2103 entity) {
+        if (null == entity) {
+            return "鏃犳暟鎹墽琛�";
+        }
+        apiInfoDataRep.updateStatus(entity.getHwdm(), JSON.toJSONString(entity), Constant.CZBZ_D);
+        return null;
+    }
+
+    @Expose
+    public String pushData(List<SH2023Api2103> items) {
+        ResponseDto responseDto;
+        String result = "";
+
+        String kqdm = items.get(0).getHwdm().substring(0, 21);
+        ApiConfs apiConf = apiCommonService.getConf(kqdm);
+
+        if (null == apiConf) {
+            return "绯荤粺娌℃湁鑾峰彇鍒板綋鍓嶅簱鍖洪厤缃俊鎭紝鎵ц澶辫触";
+        }
+
+        //灏佽鍙傛暟
+        ApiParam param = new ApiParam(apiConf, "21", SH2023Constant.SH_2023_API_CODE_2103);
+
+        //鑾峰彇瀹炵幇鎺ュ彛
+        ApiRemoteService apiService = apiPushManager.getApiRemoteService(param.getPushProtocol());
+        if (null == apiService) {
+            return "绯荤粺娌℃湁褰撳墠鎺ㄩ�佸崗璁厤缃紝鎵ц澶辫触";
+        }
+
+        //鎺ㄩ�侊紝鏁版嵁涓洪泦鍚堝舰寮�
+        responseDto = apiService.pushData(param, apiConf, items);
+        if (responseDto.getSuccess() == 0) {
+            //鎺ㄩ�佹垚鍔燂紝鏇存柊鏁版嵁涓婁紶鐘舵��
+
+            ApiInfoData infoData;
+            for (SH2023Api2103 data : items) {
+
+                infoData = new ApiInfoData();
+                infoData.setId(data.getBizId());
+                infoData.setKqdm(data.getKqdm());
+                infoData.setInteType("21");
+                infoData.setInteId(SH2023Constant.SH_2023_API_CODE_2103);
+                infoData.setUpdateTime(new Date());
+                infoData.setDataId(data.getBizId());
+
+                infoData.setCzbz(Constant.CZBZ_U);
+                infoData.setData(JSON.toJSONString(data));
+
+                apiInfoDataRep.save(infoData);
+
+            }
+            result += responseDto.toString();
+        }
+        return result;
+    }
+
+}
diff --git a/src/main/java/com/fzzy/otherview/sh2023/repository/ShApi1311Rep.java b/src/main/java/com/fzzy/otherview/sh2023/repository/ShApi1311Rep.java
index 32b6c04..47eba5a 100644
--- a/src/main/java/com/fzzy/otherview/sh2023/repository/ShApi1311Rep.java
+++ b/src/main/java/com/fzzy/otherview/sh2023/repository/ShApi1311Rep.java
@@ -1,15 +1,5 @@
 package com.fzzy.otherview.sh2023.repository;
 
-import com.fzzy.otherview.sh2023.dto.ShApi1311;
-import com.fzzy.otherview.sh2023.dto.ShApi2101;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
-import org.springframework.data.jpa.repository.Query;
-import org.springframework.data.repository.query.Param;
-
-import java.util.Date;
-import java.util.List;
-
 /**
  * 瑙嗛鐩戞帶
  *
diff --git a/src/main/java/com/fzzy/otherview/sh2023/repository/ShApi2101Rep.java b/src/main/java/com/fzzy/otherview/sh2023/repository/ShApi2101Rep.java
index 2875974..1991abb 100644
--- a/src/main/java/com/fzzy/otherview/sh2023/repository/ShApi2101Rep.java
+++ b/src/main/java/com/fzzy/otherview/sh2023/repository/ShApi2101Rep.java
@@ -1,20 +1,10 @@
 package com.fzzy.otherview.sh2023.repository;
 
-import com.fzzy.api.entity.Api1310;
-import com.fzzy.otherview.sh2023.dto.ShApi2101;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
-import org.springframework.data.jpa.repository.Query;
-import org.springframework.data.repository.query.Param;
-
-import java.util.Date;
-import java.util.List;
-
 /**
  * 妫�鏂ゅ崟
  *
  * @Author:YAN
  */
 public interface ShApi2101Rep {
-    
+
 }
diff --git a/src/main/java/com/fzzy/push/sh2023/SH2023PushService12.java b/src/main/java/com/fzzy/push/sh2023/SH2023PushService12.java
index ecd3ff4..52f9f89 100644
--- a/src/main/java/com/fzzy/push/sh2023/SH2023PushService12.java
+++ b/src/main/java/com/fzzy/push/sh2023/SH2023PushService12.java
@@ -9,8 +9,6 @@
 import com.fzzy.api.service.ApiRemoteService;
 import com.fzzy.api.service.PushService11;
 import com.fzzy.api.view.repository.*;
-import com.fzzy.otherview.sh2023.dto.ShApi2101;
-import com.fzzy.push.sh2023.dto.SH2023Api1401;
 import com.fzzy.push.sh2023.dto.SH2023Api2101;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
diff --git a/src/main/java/com/fzzy/push/sh2023/SH2023PushService13.java b/src/main/java/com/fzzy/push/sh2023/SH2023PushService13.java
index 39c62dd..17b1ef9 100644
--- a/src/main/java/com/fzzy/push/sh2023/SH2023PushService13.java
+++ b/src/main/java/com/fzzy/push/sh2023/SH2023PushService13.java
@@ -9,14 +9,9 @@
 import com.fzzy.api.service.ApiRemoteService;
 import com.fzzy.api.service.PushService11;
 import com.fzzy.api.view.repository.*;
-import com.fzzy.otherview.sh2023.dto.ShApi1311;
-import com.fzzy.otherview.sh2023.dto.ShApi2103;
-import com.fzzy.otherview.sh2023.repository.ShApi1311Rep;
-import com.fzzy.push.impl.ComPushService11;
 import com.fzzy.push.sh2023.dto.SH2023Api1311;
 import com.fzzy.push.sh2023.dto.SH2023Api2103;
 import lombok.extern.slf4j.Slf4j;
-import org.codehaus.jackson.JsonParser;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
diff --git a/src/main/java/com/fzzy/push/sh2023/dto/SH2023Api2103.java b/src/main/java/com/fzzy/push/sh2023/dto/SH2023Api2103.java
index 2492cde..5cdfa70 100644
--- a/src/main/java/com/fzzy/push/sh2023/dto/SH2023Api2103.java
+++ b/src/main/java/com/fzzy/push/sh2023/dto/SH2023Api2103.java
@@ -4,21 +4,23 @@
 import com.bstek.dorado.annotation.PropertyDef;
 import com.fzzy.api.entity.ApiParent;
 import lombok.Data;
+
+import javax.persistence.Transient;
 import java.io.Serializable;
 import java.util.Date;
+import java.util.List;
 
 /**
  * 绮儏璁惧閰嶇疆
  *
  * @author czt
- *
  * @date 2023-08-21
  */
 @Data
 public class SH2023Api2103 extends ApiParent implements Serializable {
 
     private static final long serialVersionUID = 9157617424050247565L;
-    
+
     @PropertyDef(label = "璐т綅浠g爜")
     private String hwdm;
 
@@ -68,4 +70,7 @@
     @JSONField(format = "yyyy-MM-dd HH:mm:ss")
     private Date zhgxsj;
 
+    @Transient
+    private List<SH2023Api2103Item> sh2023Api2103Items;
+
 }
\ No newline at end of file

--
Gitblit v1.9.3