From b23dea952d3964c66d8823ebd3f84cabbe978eae Mon Sep 17 00:00:00 2001
From: czt <czt18638530771@163.com>
Date: 星期四, 18 四月 2024 19:15:18 +0800
Subject: [PATCH] 增加统一编码管理页面及数据拉取

---
 src/main/java/com/fzzy/api/entity/GbUnifiedCoding.java             |   72 ++++++
 src/main/java/com/fzzy/api/dto/RespGbCoding.java                   |   20 +
 src/main/java/com/fzzy/api/dto/ReqGbCoding.java                    |   23 +
 src/main/resources/templates/home/home.html                        |    3 
 src/main/java/com/fzzy/api/view/pr/GbUnifiedCodingPR.java          |  141 +++++++++++
 src/main/java/com/fzzy/api/dto/GbCodingData.java                   |   22 +
 src/main/java/com/fzzy/api/view/GbUnifiedCoding.view.xml           |  414 ++++++++++++++++++++++++++++++++++
 src/main/java/com/fzzy/api/view/repository/GbUnifiedCodingRep.java |   19 +
 8 files changed, 714 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/fzzy/api/dto/GbCodingData.java b/src/main/java/com/fzzy/api/dto/GbCodingData.java
new file mode 100644
index 0000000..0a8ab94
--- /dev/null
+++ b/src/main/java/com/fzzy/api/dto/GbCodingData.java
@@ -0,0 +1,22 @@
+package com.fzzy.api.dto;
+
+import com.fzzy.api.entity.GbUnifiedCoding;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @Description 缁熶竴缂栫爜浜屽眰灏佽
+ * @Author CZT
+ * @Date 2024/4/18 14:23
+ */
+@Data
+public class GbCodingData implements Serializable {
+
+    public int total;
+    /**
+     * 璇存槑
+     */
+    public List<GbUnifiedCoding> list;
+}
diff --git a/src/main/java/com/fzzy/api/dto/ReqGbCoding.java b/src/main/java/com/fzzy/api/dto/ReqGbCoding.java
new file mode 100644
index 0000000..ee973d5
--- /dev/null
+++ b/src/main/java/com/fzzy/api/dto/ReqGbCoding.java
@@ -0,0 +1,23 @@
+package com.fzzy.api.dto;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @Description
+ * @Author CZT
+ * @Date 2024/4/18 14:55
+ */
+@Data
+public class ReqGbCoding implements Serializable {
+
+    public String dwdm;
+
+    public ReqGbCoding() {
+    }
+
+    public ReqGbCoding(String dwdm) {
+        this.dwdm = dwdm;
+    }
+}
diff --git a/src/main/java/com/fzzy/api/dto/RespGbCoding.java b/src/main/java/com/fzzy/api/dto/RespGbCoding.java
new file mode 100644
index 0000000..5007251
--- /dev/null
+++ b/src/main/java/com/fzzy/api/dto/RespGbCoding.java
@@ -0,0 +1,20 @@
+package com.fzzy.api.dto;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @Description 缁熶竴缂栫爜杩斿洖鏁版嵁灏佽
+ * @Author CZT
+ * @Date 2024/4/18 14:19
+ */
+@Data
+public class RespGbCoding<T> implements Serializable {
+
+    public String code;
+
+    public String msg;
+
+    public T data;
+}
diff --git a/src/main/java/com/fzzy/api/entity/GbUnifiedCoding.java b/src/main/java/com/fzzy/api/entity/GbUnifiedCoding.java
new file mode 100644
index 0000000..ee5e914
--- /dev/null
+++ b/src/main/java/com/fzzy/api/entity/GbUnifiedCoding.java
@@ -0,0 +1,72 @@
+package com.fzzy.api.entity;
+
+import com.bstek.dorado.annotation.PropertyDef;
+import lombok.Data;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.Table;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @Description 缁熶竴缂栫爜瀹炰綋绫�
+ * @Author CZT
+ * @Date 2024/4/18 9:56
+ */
+@Data
+@Entity
+@Table(name = "GB_UNIFIED_CODING")
+public class GbUnifiedCoding implements Serializable {
+
+    @Id
+    @PropertyDef(label = "寤掗棿缂栫爜")
+    @Column(name = "ajdm", length = 40)
+    private String ajdm;
+
+    @PropertyDef(label = "寤掗棿鍚嶇О")
+    @Column(name = "ajmc", length = 100)
+    private String ajmc;
+
+    @PropertyDef(label = "鍗曚綅鍚嶇О")
+    @Column(name = "dwmc", length = 200)
+    private String dwmc;
+
+    @PropertyDef(label = "鍗曚綅缂栫爜")
+    @Column(name = "frdwdm", length = 40)
+    private String frdwdm;
+
+    @PropertyDef(label = "浼佷笟鎬ц川")
+    @Column(name = "qyxz", length = 10)
+    private String qyxz;
+
+    @PropertyDef(label = "搴撳尯鍚嶇О")
+    @Column(name = "kqmc", length = 100)
+    private String kqmc;
+
+    @PropertyDef(label = "搴撳尯缂栫爜")
+    @Column(name = "kqdm", length = 40)
+    private String kqdm;
+
+    @PropertyDef(label = "浠撴埧缂栫爜")
+    @Column(name = "cfdm", length = 40)
+    private String cfdm;
+
+    @PropertyDef(label = "浠撴埧鍚嶇О")
+    @Column(name = "cfmc", length = 100)
+    private String cfmc;
+
+    @PropertyDef(label = "鍒涘缓鏃堕棿")
+    @Column(name = "createTime")
+    private Date createTime;
+
+    @PropertyDef(label = "涓婄骇鍗曚綅鍚嶇О")
+    @Column(name = "sjDeptName", length = 200)
+    private String sjDeptName;
+
+    @PropertyDef(label = "鏇存柊鏃堕棿")
+    @Column(name = "updateTime")
+    private Date updateTime;
+
+}
diff --git a/src/main/java/com/fzzy/api/view/GbUnifiedCoding.view.xml b/src/main/java/com/fzzy/api/view/GbUnifiedCoding.view.xml
new file mode 100644
index 0000000..04d9a6e
--- /dev/null
+++ b/src/main/java/com/fzzy/api/view/GbUnifiedCoding.view.xml
@@ -0,0 +1,414 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ViewConfig>
+  <Arguments/>
+  <Context/>
+  <Model>
+    <DataType name="dtMain">
+      <Property name="creationType">com.fzzy.api.entity.GbUnifiedCoding</Property>
+      <PropertyDef name="ajdm">
+        <Property></Property>
+        <Property name="label">寤掗棿缂栫爜</Property>
+      </PropertyDef>
+      <PropertyDef name="ajmc">
+        <Property></Property>
+        <Property name="label">寤掗棿鍚嶇О</Property>
+      </PropertyDef>
+      <PropertyDef name="dwmc">
+        <Property></Property>
+        <Property name="label">鍗曚綅鍚嶇О</Property>
+      </PropertyDef>
+      <PropertyDef name="frdwdm">
+        <Property></Property>
+        <Property name="label">鍗曚綅缂栫爜</Property>
+      </PropertyDef>
+      <PropertyDef name="qyxz">
+        <Property></Property>
+        <Property name="label">浼佷笟鎬ц川</Property>
+        <Property name="mapping">
+          <Property name="keyProperty">code</Property>
+          <Property name="valueProperty">name</Property>
+          <Property name="mapValues">
+            <Collection>
+              <Entity>
+                <Property name="code">10</Property>
+                <Property name="name">10-涓偍绮洿灞炰紒涓�(鍖呮嫭鍒嗗簱鍙婃帶鑲′紒涓�)</Property>
+              </Entity>
+              <Entity>
+                <Property name="code">20</Property>
+                <Property name="name">20-鍏朵粬涓ぎ浼佷笟(涓伯銆佷緵閿�銆佷腑鍖栫瓑锛屼笉鍚浠撳簱鐐�)</Property>
+              </Entity>
+              <Entity>
+                <Property name="code">30</Property>
+                <Property name="name">30-鐪佸睘鍥芥湁鍙婂浗鏈夋帶鑲′紒涓�</Property>
+              </Entity>
+              <Entity>
+                <Property name="code">31</Property>
+                <Property name="name">31-甯傚睘鍥芥湁鍙婂浗鏈夋帶鑲′紒涓�</Property>
+              </Entity>
+              <Entity>
+                <Property name="code">32</Property>
+                <Property name="name">32-鍘跨骇鍥芥湁鍙婂浗鏈夋帶鑲′紒涓�</Property>
+              </Entity>
+              <Entity>
+                <Property name="code">40</Property>
+                <Property name="name">40-姘戣惀鍙婂叾浠栭潪鍥芥湁鎺ц偂鑲′唤鍒朵紒涓�</Property>
+              </Entity>
+              <Entity>
+                <Property name="code">50</Property>
+                <Property name="name">50-澶栬祫浼佷笟</Property>
+              </Entity>
+            </Collection>
+          </Property>
+        </Property>
+      </PropertyDef>
+      <PropertyDef name="kqmc">
+        <Property></Property>
+        <Property name="label">搴撳尯鍚嶇О</Property>
+      </PropertyDef>
+      <PropertyDef name="kqdm">
+        <Property></Property>
+        <Property name="label">搴撳尯缂栫爜</Property>
+      </PropertyDef>
+      <PropertyDef name="cfdm">
+        <Property></Property>
+        <Property name="label">浠撴埧缂栫爜</Property>
+      </PropertyDef>
+      <PropertyDef name="cfmc">
+        <Property></Property>
+        <Property name="label">浠撴埧鍚嶇О</Property>
+      </PropertyDef>
+      <PropertyDef name="createTime">
+        <Property name="dataType">DateTime</Property>
+        <Property name="label">鍒涘缓鏃堕棿</Property>
+      </PropertyDef>
+      <PropertyDef name="sjDeptName">
+        <Property></Property>
+        <Property name="label">涓婄骇鍗曚綅鍚嶇О</Property>
+      </PropertyDef>
+      <PropertyDef name="updateTime">
+        <Property name="dataType">DateTime</Property>
+        <Property name="label">鏇存柊鏃堕棿</Property>
+      </PropertyDef>
+    </DataType>
+    <DataType name="dtParam">
+      <PropertyDef name="dwmc">
+        <Property></Property>
+        <Property name="label">鍗曚綅鍚嶇О</Property>
+      </PropertyDef>
+      <PropertyDef name="kqmc">
+        <Property></Property>
+        <Property name="label">搴撳尯鍚嶇О</Property>
+      </PropertyDef>
+      <PropertyDef name="ajmc">
+        <Property></Property>
+        <Property name="label">寤掗棿鍚嶇О</Property>
+      </PropertyDef>
+    </DataType>
+    <DataType name="dtParam2">
+      <Property name="creationType">com.fzzy.api.data.ApiParam</Property>
+      <PropertyDef name="dwdm">
+        <Property></Property>
+        <Property name="label">鍗曚綅淇℃伅</Property>
+        <Property name="required">true</Property>
+        <Property name="mapping">
+          <Property name="mapValues">${dorado.getDataProvider(&quot;api1101PR#listAll&quot;).getResult()}</Property>
+          <Property name="keyProperty">dwdm</Property>
+          <Property name="valueProperty">dwmc</Property>
+        </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">gbUnifiedCodingPR#pageList</Property>
+      <Property name="pageSize">20</Property>
+    </DataSet>
+    <DataSet id="dsQuery">
+      <ClientEvent name="onReady">self.insert();</ClientEvent>
+      <Property name="dataType">dtParam</Property>
+    </DataSet>
+    <DataSet id="dsQuery2">
+      <ClientEvent name="onReady">self.insert();</ClientEvent>
+      <Property name="dataType">dtParam2</Property>
+    </DataSet>
+    <AutoForm>
+      <Property name="dataSet">dsQuery</Property>
+      <Property name="cols">*,*,*,500px</Property>
+      <Property name="labelAlign">right</Property>
+      <Property name="labelSeparator">锛�</Property>
+      <Property name="labelWidth">90</Property>
+      <AutoFormElement>
+        <Property name="name">dwmc</Property>
+        <Property name="property">dwmc</Property>
+        <Editor/>
+      </AutoFormElement>
+      <AutoFormElement>
+        <Property name="name">kqmc</Property>
+        <Property name="property">kqmc</Property>
+        <Editor/>
+      </AutoFormElement>
+      <AutoFormElement>
+        <Property name="name">ajmc</Property>
+        <Property name="property">ajmc</Property>
+        <Editor/>
+      </AutoFormElement>
+      <ToolBar>
+        <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>
+          <ClientEvent name="onClick">var cur = view.get(&quot;#dgMain&quot;).getCurrentItem();&#xD;
+if(cur){&#xD;
+	view.get(&quot;#dialogMain&quot;).show();&#xD;
+}else{&#xD;
+	$alert(&quot;璇峰嬀閫夋兂瑕佹煡鐪嬬殑鏁版嵁锛�&quot;);&#xD;
+}&#xD;
+</ClientEvent>
+          <Property name="caption">璇︽儏</Property>
+          <Property name="iconClass">fa fa-search</Property>
+          <Property name="width">100</Property>
+          <Property name="exClassName">toolbar-button</Property>
+          <Property name="hideMode">display</Property>
+          <Property name="visible">true</Property>
+        </ToolBarButton>
+        <ToolBarButton>
+          <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="visible">true</Property>
+          <Property name="hideMode">display</Property>
+        </ToolBarButton>
+        <ToolBarButton>
+          <ClientEvent name="onClick">view.get(&quot;#dialogPull&quot;).show();</ClientEvent>
+          <Property name="caption">鎷夊彇缁熶竴缂栫爜</Property>
+          <Property name="iconClass">fa fa-minus</Property>
+          <Property name="exClassName">toolbar-button-warm</Property>
+          <Property name="width">150</Property>
+        </ToolBarButton>
+      </ToolBar>
+    </AutoForm>
+    <DataGrid id="dgMain">
+      <Property name="dataSet">dsMain</Property>
+      <Property name="selectionMode">multiRows</Property>
+      <Property name="readOnly">true</Property>
+      <RowNumColumn/>
+      <RowSelectorColumn>
+        <Property name="caption">涓婁紶</Property>
+      </RowSelectorColumn>
+      <DataColumn>
+        <Property name="property">ajdm</Property>
+        <Property name="align">center</Property>
+        <Property name="name">ajdm</Property>
+        <Property name="width">240</Property>
+      </DataColumn>
+      <DataColumn>
+        <Property name="property">ajmc</Property>
+        <Property name="align">center</Property>
+        <Property name="name">ajmc</Property>
+        <Property name="width">100</Property>
+      </DataColumn>
+      <DataColumn>
+        <Property name="property">cfdm</Property>
+        <Property name="align">center</Property>
+        <Property name="name">cfdm</Property>
+        <Property name="width">220</Property>
+      </DataColumn>
+      <DataColumn>
+        <Property name="property">cfmc</Property>
+        <Property name="align">center</Property>
+        <Property name="name">cfmc</Property>
+        <Property name="width">100</Property>
+      </DataColumn>
+      <DataColumn>
+        <Property name="property">kqdm</Property>
+        <Property name="visible">true</Property>
+        <Property name="align">center</Property>
+        <Property name="name">kqdm</Property>
+        <Property name="width">200</Property>
+      </DataColumn>
+      <DataColumn>
+        <Property name="property">kqmc</Property>
+        <Property name="name">kqmc</Property>
+        <Property name="align">center</Property>
+      </DataColumn>
+      <DataColumn>
+        <Property name="property">frdwdm</Property>
+        <Property name="name">frdwdm</Property>
+        <Property name="width">190</Property>
+        <Property name="align">center</Property>
+      </DataColumn>
+      <DataColumn>
+        <Property name="property">qyxz</Property>
+        <Property name="name">qyxz</Property>
+        <Property name="align">center</Property>
+      </DataColumn>
+      <DataColumn>
+        <Property name="property">updateTime</Property>
+        <Property name="name">updateTime</Property>
+        <Property name="align">center</Property>
+        <Property name="width">150</Property>
+      </DataColumn>
+    </DataGrid>
+    <ToolBar layoutConstraint="bottom">
+      <Fill/>
+      <DataPilot>
+        <Property name="itemCodes">pageSize,pages</Property>
+        <Property name="dataSet">dsMain</Property>
+      </DataPilot>
+    </ToolBar>
+    <Dialog id="dialogMain">
+      <Property name="width">1000</Property>
+      <Property name="caption">璇︾粏淇℃伅</Property>
+      <Property name="iconClass">fa fa-sliders</Property>
+      <Property name="closeable">false</Property>
+      <Property name="height">90%</Property>
+      <Buttons>
+        <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>
+        <AutoForm>
+          <Property name="dataSet">dsMain</Property>
+          <Property name="cols">*,*</Property>
+          <Property name="labelWidth">100</Property>
+          <Property name="labelAlign">left</Property>
+          <Property name="labelSeparator">锛�</Property>
+          <Property name="labelPosition">top</Property>
+          <AutoFormElement>
+            <Property name="name">ajdm</Property>
+            <Property name="property">ajdm</Property>
+            <Editor/>
+          </AutoFormElement>
+          <AutoFormElement>
+            <Property name="name">ajmc</Property>
+            <Property name="property">ajmc</Property>
+            <Editor/>
+          </AutoFormElement>
+          <AutoFormElement>
+            <Property name="name">cfdm</Property>
+            <Property name="property">cfdm</Property>
+            <Editor/>
+          </AutoFormElement>
+          <AutoFormElement>
+            <Property name="name">cfmc</Property>
+            <Property name="property">cfmc</Property>
+            <Editor/>
+          </AutoFormElement>
+          <AutoFormElement>
+            <Property name="name">kqdm</Property>
+            <Property name="property">kqdm</Property>
+            <Editor/>
+          </AutoFormElement>
+          <AutoFormElement>
+            <Property name="name">kqmc</Property>
+            <Property name="property">kqmc</Property>
+            <Editor/>
+          </AutoFormElement>
+          <AutoFormElement>
+            <Property name="name">frdwdm</Property>
+            <Property name="property">frdwdm</Property>
+            <Editor/>
+          </AutoFormElement>
+          <AutoFormElement>
+            <Property name="name">dwmc</Property>
+            <Property name="property">dwmc</Property>
+            <Editor/>
+          </AutoFormElement>
+          <AutoFormElement>
+            <Property name="name">qyxz</Property>
+            <Property name="property">qyxz</Property>
+            <Editor/>
+          </AutoFormElement>
+          <AutoFormElement>
+            <Property name="name">sjDeptName</Property>
+            <Property name="property">sjDeptName</Property>
+            <Editor/>
+          </AutoFormElement>
+          <AutoFormElement>
+            <Property name="name">createTime</Property>
+            <Property name="property">createTime</Property>
+            <Editor/>
+          </AutoFormElement>
+          <AutoFormElement>
+            <Property name="name">updateTime</Property>
+            <Property name="property">updateTime</Property>
+            <Editor/>
+          </AutoFormElement>
+        </AutoForm>
+      </Children>
+      <Tools/>
+    </Dialog>
+    <Dialog id="dialogPull">
+      <Property name="width">600</Property>
+      <Property name="caption">缁熶竴缂栫爜鏁版嵁鎷夊彇</Property>
+      <Buttons>
+        <Button>
+          <ClientEvent name="onClick">var data = view.get(&quot;#dsQuery2.data&quot;);&#xD;
+&#xD;
+if (data.validate() != 'ok') {&#xD;
+	$alert(&quot;璇峰~鍐欏畬鎴愬弬鏁�&quot;);&#xD;
+	return;&#xD;
+}&#xD;
+&#xD;
+var dwdm = data.get(&quot;dwdm&quot;);&#xD;
+&#xD;
+view.get(&quot;#ajaxPullData&quot;).set(&quot;parameter&quot;,dwdm).execute(function(result){&#xD;
+	view.get(&quot;#dialogPull&quot;).hide();&#xD;
+	$alert(result);&#xD;
+});</ClientEvent>
+          <Property name="caption">纭鎵ц</Property>
+          <Property name="iconClass">fa fa-check</Property>
+          <Property name="exClassName">toolbar-button</Property>
+        </Button>
+        <Button>
+          <ClientEvent name="onClick">self.get(&quot;parent&quot;).hide();</ClientEvent>
+          <Property name="caption">鍙栨秷鍏抽棴</Property>
+          <Property name="iconClass">fa fa-times</Property>
+          <Property name="exClassName">toolbar-button-warn</Property>
+        </Button>
+      </Buttons>
+      <Children>
+        <AutoForm>
+          <Property name="dataSet">dsQuery2</Property>
+          <Property name="cols">*</Property>
+          <AutoFormElement layoutConstraint="colSpan:2">
+            <Property name="name">dwdm</Property>
+            <Property name="property">dwdm</Property>
+            <Editor/>
+          </AutoFormElement>
+        </AutoForm>
+      </Children>
+      <Tools/>
+    </Dialog>
+    <AjaxAction id="ajaxDel">
+      <Property name="service">gbUnifiedCodingPR#delData</Property>
+      <Property name="confirmMessage">褰撳墠鏁版嵁鍒犻櫎鍚庢棤娉曟仮澶嶏紝璇风‘璁よ鍒犻櫎涔堬紵</Property>
+    </AjaxAction>
+    <AjaxAction id="ajaxPullData">
+      <Property name="service">gbUnifiedCodingPR#pullData</Property>
+    </AjaxAction>
+  </View>
+</ViewConfig>
diff --git a/src/main/java/com/fzzy/api/view/pr/GbUnifiedCodingPR.java b/src/main/java/com/fzzy/api/view/pr/GbUnifiedCodingPR.java
new file mode 100644
index 0000000..4770c01
--- /dev/null
+++ b/src/main/java/com/fzzy/api/view/pr/GbUnifiedCodingPR.java
@@ -0,0 +1,141 @@
+package com.fzzy.api.view.pr;
+
+import com.alibaba.fastjson.JSONObject;
+import com.bstek.dorado.annotation.DataProvider;
+import com.bstek.dorado.annotation.Expose;
+import com.bstek.dorado.data.provider.Page;
+import com.fzzy.api.dto.GbCodingData;
+import com.fzzy.api.dto.ReqGbCoding;
+import com.fzzy.api.dto.RespGbCoding;
+import com.fzzy.api.entity.GbUnifiedCoding;
+import com.fzzy.api.view.repository.GbUnifiedCodingRep;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang.StringUtils;
+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 org.springframework.web.client.RestTemplate;
+import javax.persistence.criteria.CriteriaBuilder;
+import javax.persistence.criteria.CriteriaQuery;
+import javax.persistence.criteria.Predicate;
+import javax.persistence.criteria.Root;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Description 缁熶竴缂栫爜鏁版嵁绠$悊
+ * @Author CZT
+ * @Date 2024/4/18 10:28
+ */
+@Slf4j
+@Component
+public class GbUnifiedCodingPR {
+
+    private static final String GB_CODING_URL = "http://121.36.17.6:28088/admin-api/coding/fmxx/queryDataInfo";
+    @Autowired
+    private GbUnifiedCodingRep codingRep;
+    @Autowired
+    private RestTemplate restTemplate;
+
+    /**
+     * gbUnifiedCodingPR#pageList
+     *
+     * @return
+     */
+    @SuppressWarnings("serial")
+    @DataProvider
+    public void pageList(Page<GbUnifiedCoding> page, Map<String, Object> param) {
+        //澶氬弬鏁板垎椤垫煡璇�
+        Pageable pageable = PageRequest.of(page.getPageNo() - 1, page.getPageSize(), Sort.Direction.DESC, "updateTime");
+
+        if (null == param) {
+            org.springframework.data.domain.Page<GbUnifiedCoding> japPage = codingRep.findAll(pageable);
+            page.setEntityCount((int) japPage.getTotalElements());
+            page.setEntities(japPage.getContent());
+
+            return;
+        }
+
+        Specification<GbUnifiedCoding> specification = new Specification<GbUnifiedCoding>() {
+            public Predicate toPredicate(Root<GbUnifiedCoding> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
+                List<Predicate> predicates = new ArrayList<Predicate>(); //鎵�鏈夌殑鏂█
+
+                String str = (String) param.get("ajmc");
+                if (StringUtils.isNotBlank(str)) {
+                    Predicate predicate1 = cb.equal(root.get("ajmc"), str);
+                    predicates.add(predicate1);
+                }
+                str = (String) param.get("cfmc");
+                if (StringUtils.isNotBlank(str)) {
+                    Predicate predicate2 = cb.equal(root.get("cfmc"),str);
+                    predicates.add(predicate2);
+                }
+                str = (String) param.get("kqmc");
+                if (StringUtils.isNotBlank(str)) {
+                    Predicate predicate3 = cb.equal(root.get("kqmc"),str);
+                    predicates.add(predicate3);
+                }
+                return cb.and(predicates.toArray(new Predicate[0]));
+            }
+        };
+
+        log.debug("---------鍒嗛〉鍙傛暟鏌ヨ----------{}", param.toString());
+        org.springframework.data.domain.Page<GbUnifiedCoding> japPage = codingRep.findAll(specification, pageable);
+        page.setEntityCount((int) japPage.getTotalElements());
+        page.setEntities(japPage.getContent());
+    }
+
+    /**
+     * gbUnifiedCodingPR#delData
+     *
+     * @param data
+     */
+    @Expose
+    public String delData(GbUnifiedCoding data) {
+
+        codingRep.deleteById(data.getAjdm());
+
+        return null;
+    }
+
+    /**
+     * gbUnifiedCodingPR#pullData
+     * 鎷夊彇缁熶竴缂栫爜鏁版嵁
+     *
+     * @param dwdm
+     * @return
+     */
+    @Expose
+    public String pullData(String dwdm) {
+
+        if (StringUtils.isEmpty(dwdm)) {
+            return "鎵ц澶辫触锛氬崟浣嶇紪鐮佷负绌猴紝璇锋牳鏌ワ紒";
+        }
+
+        //璁剧疆鍙傛暟
+        ReqGbCoding reqGbCoding = new ReqGbCoding(dwdm);
+        RespGbCoding respGbCoding = restTemplate.postForObject(GB_CODING_URL, reqGbCoding, RespGbCoding.class);
+        if(null == respGbCoding){
+            return "鎷夊彇鏁版嵁澶辫触锛岃閲嶈瘯锛�";
+        }
+        if(!"0".equals(respGbCoding.getCode())){
+            return respGbCoding.getMsg();
+        }
+        GbCodingData data = JSONObject.parseObject(JSONObject.toJSONString(respGbCoding.getData()), GbCodingData.class);
+        if(null == data || data.getList().isEmpty()){
+            return "鎷夊彇鏁版嵁涓虹┖锛岃閲嶈瘯锛�";
+        }
+        for (GbUnifiedCoding gbUnifiedCoding : data.getList()) {
+            gbUnifiedCoding.setUpdateTime(new Date());
+            gbUnifiedCoding.setQyxz(gbUnifiedCoding.getFrdwdm().substring(0, 2));
+            codingRep.save(gbUnifiedCoding);
+        }
+
+        return "鍚屾鍛戒护鍙戦�佸畬鎴愶紝璇风◢绛夊埛鏂版暟鎹煡鐪�";
+    }
+}
diff --git a/src/main/java/com/fzzy/api/view/repository/GbUnifiedCodingRep.java b/src/main/java/com/fzzy/api/view/repository/GbUnifiedCodingRep.java
new file mode 100644
index 0000000..420c2e6
--- /dev/null
+++ b/src/main/java/com/fzzy/api/view/repository/GbUnifiedCodingRep.java
@@ -0,0 +1,19 @@
+package com.fzzy.api.view.repository;
+
+import com.fzzy.api.entity.GbUnifiedCoding;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Modifying;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.query.Param;
+import org.springframework.transaction.annotation.Transactional;
+
+/**
+ * @Description
+ * @Author CZT
+ * @Date 2024/4/18 10:30
+ */
+public interface GbUnifiedCodingRep extends JpaRepository<GbUnifiedCoding, String>, JpaSpecificationExecutor<GbUnifiedCoding> {
+
+
+}
diff --git a/src/main/resources/templates/home/home.html b/src/main/resources/templates/home/home.html
index 837a850..d1bbbbe 100644
--- a/src/main/resources/templates/home/home.html
+++ b/src/main/resources/templates/home/home.html
@@ -98,6 +98,9 @@
                             <dd>
                                 <a lay-href="com.fzzy.sys.User.d">鐢ㄦ埛绠$悊</a>
                             </dd>
+                            <dd>
+                                <a lay-href="com.fzzy.api.view.GbUnifiedCoding.d">缁熶竴缂栫爜绠$悊</a>
+                            </dd>
                         </dl>
                     </li>
 

--
Gitblit v1.9.3