From a5bcd955f94aa64a2d8ca83497582b9ba3e9f11a Mon Sep 17 00:00:00 2001
From: shichongfu <shi_chongfu@163.com>
Date: 星期三, 26 四月 2023 12:15:18 +0800
Subject: [PATCH] 西宁二开代码

---
 home-server-admin/target/classes/META-INF/maven/com.lx/product-server-xining/pom.properties                |    7 
 home-server-admin/target/classes/com/home/xining/controller/OfficeSuppliesCollectionController.class       |    0 
 home-server-admin/target/maven-archiver/pom.properties                                                     |    4 
 home-server-admin/src/main/java/com/home/xining/service/idel/IOfficeExpensesService.java                   |   20 
 home-server-admin/target/classes/com/home/xining/service/idel/IOfficeSuppliesCollectionService.class       |    0 
 home-server-admin/src/main/java/com/home/xining/controller/XiNingPublicController.java                     |  151 ++
 home-server-admin/target/classes/com/home/xining/controller/TravelTrainingController.class                 |    0 
 home-server-admin/.settings/org.eclipse.m2e.core.prefs                                                     |    4 
 home-server-admin/target/classes/com/home/xining/service/OfficeExpensesService.class                       |    0 
 home-server-admin/src/main/java/com/home/xining/service/idel/IReceiptDocumentService.java                  |   13 
 home-server-admin/src/main/java/com/home/xining/controller/TravelTrainingController.java                   |  250 +++
 home-server-admin/target/classes/com/home/xining/service/SendDocumentService.class                         |    0 
 home-server-admin/target/classes/com/home/xining/service/idel/ICivilServantReceptionService.class          |    0 
 home-server-admin/target/classes/com/home/xining/controller/OfficeExpensesController.class                 |    0 
 home-server-admin/target/classes/com/home/xining/service/LawEnforcementService.class                       |    0 
 home-server-admin/src/main/java/com/home/xining/service/OfficePurchaseService.java                         |  101 +
 home-server-admin/.classpath                                                                               |   32 
 home-server-admin/src/main/java/com/home/xining/controller/SendDocumentController.java                     |  157 ++
 home-server-admin/src/main/java/com/home/xining/service/OfficeExpensesService.java                         |  112 +
 home-server-admin/src/main/java/com/home/xining/service/idel/IOfficePurchaseService.java                   |   17 
 home-server-admin/target/classes/com/home/xining/service/idel/IOfficePurchaseService.class                 |    0 
 home-server-admin/src/main/java/com/home/xining/service/CivilServantReceptionService.java                  |  111 +
 home-server-admin/src/main/java/com/home/xining/controller/CivilServantReceptionController.java            |  252 +++
 home-server-admin/src/main/java/com/home/xining/service/idel/IHousingArchivesService.java                  |   22 
 home-server-admin/target/classes/com/home/xining/controller/CivilServantReceptionController.class          |    0 
 home-server-admin/src/main/java/com/home/xining/service/idel/ISendDocumentService.java                     |   24 
 home-server-admin/target/classes/com/home/xining/service/OfficePurchaseService.class                       |    0 
 home-server-admin/target/classes/com/home/xining/service/CivilServantReceptionService.class                |    0 
 home-server-admin/src/main/java/com/home/xining/controller/AdvanceNoticeController.java                    |  161 ++
 home-server-admin/src/main/java/com/home/xining/controller/OfficePurchaseController.java                   |  207 +++
 home-server-admin/src/main/java/com/home/xining/service/AdvanceNoticeService.java                          |   97 +
 home-server-admin/target/classes/com/home/xining/controller/PleaseLeaveController.class                    |    0 
 home-server-admin/src/main/java/com/home/xining/controller/LawEnforcementController.java                   |  146 ++
 home-server-admin/src/main/java/com/home/xining/service/SendDocumentService.java                           |  100 +
 home-server-admin/target/classes/com/home/xining/service/AdvanceNoticeService.class                        |    0 
 home-server-admin/target/classes/com/home/xining/service/HousingArchivesService.class                      |    0 
 home-server-admin/target/classes/com/home/xining/controller/HousingArchivesController.class                |    0 
 home-server-admin/src/main/java/com/home/xining/controller/HousingArchivesController.java                  |   97 +
 home-server-admin/src/main/java/com/home/xining/controller/OfficeExpensesController.java                   |  251 +++
 home-server-admin/src/main/java/com/home/xining/service/idel/IOfficeSuppliesCollectionService.java         |   20 
 home-server-admin/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst |    0 
 home-server-admin/src/main/java/com/home/xining/service/idel/IAdvanceNoticeService.java                    |   27 
 home-server-admin/target/classes/com/home/xining/controller/AdvanceNoticeController.class                  |    0 
 home-server-admin/.project                                                                                 |   23 
 home-server-admin/target/classes/com/home/xining/controller/XiNingPublicController.class                   |    0 
 home-server-admin/target/classes/com/home/xining/service/idel/IOfficeExpensesService.class                 |    0 
 home-server-admin/target/classes/com/home/xining/config/SystemCode.class                                   |    0 
 home-server-admin/src/main/java/com/home/xining/service/idel/ICivilServantReceptionService.java            |   20 
 home-server-admin/target/product-server-xining-1.0.0-SNAPSHOT.jar                                          |    0 
 home-server-admin/target/classes/com/home/xining/service/idel/IHousingArchivesService.class                |    0 
 home-server-admin/src/main/java/com/home/xining/controller/ReceiptDocumentController.java                  |  118 +
 home-server-admin/target/classes/com/home/xining/config/CmnConst.class                                     |    0 
 home-server-admin/src/main/java/com/home/xining/controller/PleaseLeaveController.java                      |  202 +++
 home-server-admin/pom.xml.versionsBackup                                                                   |   44 
 home-server-admin/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst       |   35 
 home-server-admin/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst         |   35 
 home-server-admin/target/classes/com/home/xining/controller/OfficePurchaseController.class                 |    0 
 home-server-admin/target/classes/com/home/xining/service/idel/ITravelTrainingService.class                 |    0 
 home-server-admin/target/classes/com/home/xining/service/idel/ISendDocumentService.class                   |    0 
 home-server-admin/target/classes/META-INF/maven/com.lx/product-server-xining/pom.xml                       |   38 
 home-server-admin/target/classes/com/home/xining/service/idel/IAdvanceNoticeService.class                  |    0 
 home-server-admin/target/classes/com/home/xining/service/idel/ILawEnforcementService.class                 |    0 
 home-server-admin/src/main/java/com/home/xining/config/CmnConst.java                                       |   62 
 home-server-admin/src/main/java/com/home/xining/controller/OfficeSuppliesCollectionController.java         |  211 +++
 home-server-admin/src/main/java/com/home/xining/service/idel/ITravelTrainingService.java                   |   20 
 home-server-admin/target/product-server-xining-1.2.0-SNAPSHOT.jar                                          |    0 
 home-server-admin/pom.xml                                                                                  |   38 
 home-server-admin/src/main/java/com/home/xining/service/TravelTrainingService.java                         |  101 +
 home-server-admin/src/main/java/com/home/xining/config/SystemCode.java                                     |   70 +
 home-server-admin/target/classes/com/home/xining/service/PleaseLeaveService.class                          |    0 
 home-server-admin/src/main/java/com/home/xining/service/HousingArchivesService.java                        |   73 +
 home-server-admin/.settings/org.eclipse.core.resources.prefs                                               |    5 
 home-server-admin/src/main/java/com/home/xining/service/LawEnforcementService.java                         |   85 +
 home-server-admin/target/classes/META-INF/MANIFEST.MF                                                      |   11 
 home-server-admin/target/classes/com/home/xining/service/ReceiptDocumentService.class                      |    0 
 home-server-admin/target/classes/com/home/xining/service/idel/IReceiptDocumentService.class                |    0 
 home-server-admin/.settings/org.eclipse.jdt.core.prefs                                                     |    9 
 home-server-admin/src/main/java/com/home/xining/service/OfficeSuppliesCollectionService.java               |  102 +
 home-server-admin/target/classes/com/home/xining/controller/ReceiptDocumentController.class                |    0 
 home-server-admin/target/classes/com/home/xining/controller/SendDocumentController.class                   |    0 
 home-server-admin/src/main/java/com/home/xining/service/idel/ILawEnforcementService.java                   |   24 
 home-server-admin/target/classes/com/home/xining/controller/LawEnforcementController.class                 |    0 
 home-server-admin/target/classes/com/home/xining/service/OfficeSuppliesCollectionService.class             |    0 
 home-server-admin/target/classes/com/home/xining/service/TravelTrainingService.class                       |    0 
 home-server-admin/src/main/java/com/home/xining/service/PleaseLeaveService.java                            |  123 +
 home-server-admin/src/main/java/com/home/xining/service/ReceiptDocumentService.java                        |   68 +
 86 files changed, 3,900 insertions(+), 0 deletions(-)

diff --git a/home-server-admin/.classpath b/home-server-admin/.classpath
new file mode 100644
index 0000000..906bfce
--- /dev/null
+++ b/home-server-admin/.classpath
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" output="target/classes" path="src/main/java">
+		<attributes>
+			<attribute name="optional" value="true"/>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
+		<attributes>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="src" output="target/test-classes" path="src/test/java">
+		<attributes>
+			<attribute name="optional" value="true"/>
+			<attribute name="maven.pomderived" value="true"/>
+			<attribute name="test" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
+		<attributes>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
+		<attributes>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/home-server-admin/.project b/home-server-admin/.project
new file mode 100644
index 0000000..df83b83
--- /dev/null
+++ b/home-server-admin/.project
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>product-server-xining</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+	</natures>
+</projectDescription>
diff --git a/home-server-admin/.settings/org.eclipse.core.resources.prefs b/home-server-admin/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..365bbd6
--- /dev/null
+++ b/home-server-admin/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,5 @@
+eclipse.preferences.version=1
+encoding//src/main/java=UTF-8
+encoding//src/main/resources=UTF-8
+encoding//src/test/java=UTF-8
+encoding/<project>=UTF-8
diff --git a/home-server-admin/.settings/org.eclipse.jdt.core.prefs b/home-server-admin/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..0ada971
--- /dev/null
+++ b/home-server-admin/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,9 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.methodParameters=generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore
+org.eclipse.jdt.core.compiler.release=disabled
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/home-server-admin/.settings/org.eclipse.m2e.core.prefs b/home-server-admin/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..14b697b
--- /dev/null
+++ b/home-server-admin/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/home-server-admin/pom.xml b/home-server-admin/pom.xml
new file mode 100644
index 0000000..1633cd2
--- /dev/null
+++ b/home-server-admin/pom.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <parent>
+        <artifactId>product-server</artifactId>
+        <groupId>com.lx</groupId>
+        <version>1.2.0-SNAPSHOT</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+    <artifactId>product-server-xining</artifactId>
+    <packaging>jar</packaging>
+    <name>product-server-xining</name>
+    <description>product-server-xining</description>
+
+    <properties>
+        <maven.compiler.source>8</maven.compiler.source>
+        <maven.compiler.target>8</maven.compiler.target>
+    </properties>
+    <dependencies>
+        <dependency>
+            <groupId>com.lx</groupId>
+            <artifactId>product-server-common</artifactId>
+            <version>1.2.0-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>com.lx</groupId>
+            <artifactId>product-server-util</artifactId>
+            <version>1.2.0-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>com.lx</groupId>
+            <artifactId>product-server-admin</artifactId>
+            <version>1.2.0-SNAPSHOT</version>
+            <scope>compile</scope>
+        </dependency>
+    </dependencies>
+</project>
diff --git a/home-server-admin/pom.xml.versionsBackup b/home-server-admin/pom.xml.versionsBackup
new file mode 100644
index 0000000..4fa2353
--- /dev/null
+++ b/home-server-admin/pom.xml.versionsBackup
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <parent>
+        <artifactId>product-server</artifactId>
+        <groupId>com.lx</groupId>
+        <version>1.0.0-SNAPSHOT</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+    <artifactId>product-server-xining</artifactId>
+    <packaging>jar</packaging>
+    <name>product-server-xining</name>
+    <description>product-server-xining</description>
+
+    <properties>
+        <maven.compiler.source>8</maven.compiler.source>
+        <maven.compiler.target>8</maven.compiler.target>
+    </properties>
+    <dependencies>
+        <dependency>
+            <groupId>com.lx</groupId>
+            <artifactId>product-server-common</artifactId>
+            <version>1.0.0-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>com.lx</groupId>
+            <artifactId>product-server-util</artifactId>
+            <version>1.0.0-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>com.lx</groupId>
+            <artifactId>product-server-admin</artifactId>
+            <version>1.0.0-SNAPSHOT</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>com.lx</groupId>
+            <artifactId>product-server-admin</artifactId>
+            <version>1.0.0-SNAPSHOT</version>
+            <scope>compile</scope>
+        </dependency>
+    </dependencies>
+</project>
\ No newline at end of file
diff --git a/home-server-admin/src/main/java/com/home/xining/config/CmnConst.java b/home-server-admin/src/main/java/com/home/xining/config/CmnConst.java
new file mode 100644
index 0000000..2a4ef34
--- /dev/null
+++ b/home-server-admin/src/main/java/com/home/xining/config/CmnConst.java
@@ -0,0 +1,62 @@
+package com.home.xining.config;
+
+public class CmnConst {
+
+    public static final String PRODUCT_SYS_ORG_LEVELS = "product_sys_org_levels";// 鍗曚綅閮ㄩ棬琛�
+    public static final String PRODUCT_SYS_FLOW_MODEL="product_sys_flow_model";	//娴佺▼琛�
+    public static final String PRODUCT_SYS_STAFFS="product_sys_staffs";	//鍛樺伐淇℃伅琛�
+
+    // 鍒嗛〉甯搁噺瀹氫箟
+    public static final String CPAGE = "cpage"; // 椤垫暟
+    public static final String PAGESIZE = "pagesize"; // 姣忛〉鏉℃暟
+
+    // 娴佺▼甯搁噺
+    public static final String FLOW_FLAG="flow_flag";	//閫佸鏍囪瘑
+
+    //瀛楁甯搁噺瀹氫箟
+    public static final String UUID = "uuid"; // uuid
+    public static final String USER_ID="user_id";	//鐧诲綍鐢ㄦ埛id
+    public static final String ORG_LEVEL_UUID="org_level_uuid";	//鏁版嵁瀛楀吀鏄剧ず鍊�
+    public static final String DEPT_UUID="dept_uuid";	//閮ㄩ棬
+    public static final String UPDATED_BY = "updated_by"; // 淇敼鑰�
+    public static final String UPDATED_UTC_DATETIME = "updated_utc_datetime"; // 淇敼鏃堕棿
+    public static final String CREATED_BY = "created_by"; // 鍒涘缓鑰�
+    public static final String CREATED_UTC_DATETIME = "created_utc_datetime"; // 鍒涘缓鏃堕棿
+    public static final String FIELD_RELATION_TABLE="field_relation_table";	//澶栭敭鍏宠仈琛�
+    public static final String SOURCE_TABLE="source_table";	//鍘熻〃
+    public static final String BG18="bg18";	//鍔炲叕鐢ㄥ搧棰嗙敤琛�--鐢宠浜�
+    public static final String BG17="bg17";	//鍔炲叕鐢ㄥ搧棰嗙敤琛�--鐢宠鏃堕棿
+    public static final String GW10="gw10";	//鍏姟鎺ュ緟瀹℃壒琛�--鐢宠浜�
+    public static final String GW11="gw11";	//鍏姟鎺ュ緟瀹℃壒琛�--鐢宠鏃堕棿
+    public static final String CL11="cl11";	//杞﹁締缁翠慨(瑁呮舰)瀹℃壒琛�--鐢宠浜�
+    public static final String CL12="cl12";	//杞﹁締缁翠慨(瑁呮舰)瀹℃壒琛�--鐢宠鏃堕棿
+    public static final String BG07="bg07";	//鍔炲叕瀹ょ敤鍝侀噰璐鎵硅〃--缁忓姙浜�
+    public static final String BG05="bg05";	//鍔炲叕瀹ょ敤鍝侀噰璐鎵硅〃--鏃堕棿
+    public static final String BG03="bg03";	//鍔炲叕瀹ょ敤鍝侀噰璐鎵硅〃--閫佸琛ㄧず
+    public static final String PL01="pl01";	//璇蜂紤鍋囧鎵硅〃--鐢宠浜�
+    public static final String FW15="fw15";	//鍙戞枃绋跨焊--璧疯崏浜�
+    public static final String SF33="sf33";	//鏀舵枃绠$悊--鐧昏浜�
+
+    //琛�
+    public static final String BGYPLYB="bgyplyb";	//鍔炲叕鐢ㄥ搧棰嗙敤琛�
+    public static final String BGYPLYB_SUB="bgyplyb_sub";	//鍔炲叕鐢ㄥ搧棰嗙敤琛╛瀛愯〃
+    public static final String APP_NOTICE_PUNISHMENT="app_notice_punishment"; //琛屾斂澶勭綒浜嬪厛鍛婄煡涔﹁〃
+    public static final String NO18 = "no18"; //琛屾斂澶勭綒浜嬪厛鍛婄煡涔� 鍒涘缓浜�
+    public static final String APP_XZZFSPB="app_xzzfspb"; //琛屾斂鎵ф硶瀹℃壒琛�
+    public static final String AX04 = "ax04"; //琛屾斂鎵ф硶瀹℃壒琛� 鍒涘缓浜�
+    public static final String APP_GZRYCCSPB="app_gzryccspb";	//宸ヤ綔浜哄憳鍑哄樊鍩硅琛�
+    public static final String GWJDSPB="gwjdspb";	//鍏姟鍛樻帴寰呭鎵硅〃
+    public static final String CLWXZHPB="clwxzhpb";	//杞﹁締缁翠慨(瑁呮舰)瀹℃壒琛�
+    public static final String BGSYPCGB="bgsypcgb";	//鍔炲叕瀹ょ敤鍝侀噰璐鎵硅〃
+    public static final String BGSYPCGB_SUB="bgsypcgb_sub";	//鍔炲叕瀹ょ敤鍝侀噰璐鎵硅〃瀛愯〃
+    public static final String PLEASELEAVE="pleaseleave";	//璇蜂紤鍋囧鎵硅〃
+    public static final String FWGZ="fwgz";	//鍙戞枃绋跨焊琛�
+    public static final String SFGL="sfgl";	//鏀舵枃绠$悊
+    public static final String PRODUCT_OA_HOUSING_ARCHIVES="product_oa_housing_archives";//涓�鎴夸竴妗h皟鏌ヨ〃
+
+    public static final String CREATED_BY_FIELD = "created_by_field"; //鍒涘缓浜哄瓧娈�
+    public static final String CREATED_DATETIME_FIELD = "created_datetime_field"; //鍒涘缓鏃堕棿瀛楁
+    public static final String UPDATED_BY_FIELD = "updated_by_field";//淇敼浜哄瓧娈�
+    public static final String UPDATED_DATETIME_FIELD = "updated_datetime_field";//淇敼鏃堕棿瀛楁
+    public static final String APP_KQLRB="app_kqlrb"; //鑰冨嫟褰曞叆琛�
+}
diff --git a/home-server-admin/src/main/java/com/home/xining/config/SystemCode.java b/home-server-admin/src/main/java/com/home/xining/config/SystemCode.java
new file mode 100644
index 0000000..3caa22b
--- /dev/null
+++ b/home-server-admin/src/main/java/com/home/xining/config/SystemCode.java
@@ -0,0 +1,70 @@
+package com.home.xining.config;
+
+import com.product.common.enums.IEnum;
+import com.product.common.enums.ModuleEnum;
+
+public enum SystemCode implements IEnum {
+
+    SYSTEM_OPERATION_SUCCESS("鎴愬姛", "200"), SYSTEM_FORM_NODATA("璇锋眰鍙傛暟涓虹┖", ModuleEnum.ORGSYSTEM.getValue() + "001"),
+    SYSTEM_FORM_COUNT("璇锋眰鍙傛暟鏈夎", ModuleEnum.SYSTEM.getValue() + "998"),
+    SYSTEM_TABLE_NODATA("璇锋眰琛ㄥ悕鏈夎", ModuleEnum.SYSTEM.getValue() + "997"),
+    SYSTEM_ACQUIRE_PARAM_FAIL("鑾峰彇鍙傛暟澶辫触", ModuleEnum.SYSTEM.getValue() + "996"),
+    SYSTEM_CPAGES_NOT_NULL("鍒嗛〉鍙傛暟涓嶈兘涓虹┖", ModuleEnum.SYSTEM.getValue() + "995"),
+
+    SAVE_OFFICE_EXPENSES_FILE("鍔炲叕鐢ㄥ搧缁忚垂瀹℃壒淇濆瓨澶辫触", ModuleEnum.SYSTEM.getValue() + "002"),
+    GETLIST_OFFICE_EXPENSES_FILE("鍔炲叕鐢ㄥ搧缁忚垂瀹℃壒鍒楄〃鑾峰彇澶辫触", ModuleEnum.SYSTEM.getValue() + "003"),
+    GETINFO_OFFICE_EXPENSES_FILE("鍔炲叕鐢ㄥ搧缁忚垂瀹℃壒璇︽儏鑾峰彇澶辫触", ModuleEnum.SYSTEM.getValue() + "004"),
+    DELETE_OFFICE_EXPENSES_FILE("鍔炲叕鐢ㄥ搧缁忚垂瀹℃壒鍒犻櫎澶辫触", ModuleEnum.SYSTEM.getValue() + "005"),
+    SEND_OFFICE_EXPENSES_FILE("鍔炲叕鐢ㄥ搧缁忚垂閫佸姙澶辫触", ModuleEnum.SYSTEM.getValue() + "006"),
+
+    SAVE_TRAVEL_TRAIN_FILE("宸ヤ綔浜哄憳鍑哄樊锛堝煿璁級瀹℃壒淇濆瓨澶辫触", ModuleEnum.SYSTEM.getValue() + "007"),
+    GETLIST_TRAVEL_TRAIN_FILE("宸ヤ綔浜哄憳鍑哄樊锛堝煿璁級瀹℃壒鍒楄〃鑾峰彇澶辫触", ModuleEnum.SYSTEM.getValue() + "008"),
+    GETINFO_TRAVEL_TRAIN_FILE("宸ヤ綔浜哄憳鍑哄樊锛堝煿璁級瀹℃壒璇︽儏鑾峰彇澶辫触", ModuleEnum.SYSTEM.getValue() + "009"),
+    DELETE_TRAVEL_TRAIN_FILE("宸ヤ綔浜哄憳鍑哄樊锛堝煿璁級瀹℃壒鍒犻櫎澶辫触", ModuleEnum.SYSTEM.getValue() + "010"),
+    SEND_TRAVEL_TRAIN_FILE("宸ヤ綔浜哄憳鍑哄樊锛堝煿璁級瀹℃壒閫佸姙澶辫触", ModuleEnum.SYSTEM.getValue() + "011"),
+
+    SAVE_CIVIL_SERVANT_RECEPTION_FILE("鍏姟鎺ュ緟瀹℃壒淇濆瓨澶辫触", ModuleEnum.SYSTEM.getValue() + "012"),
+    GETLIST_CIVIL_SERVANT_RECEPTION_FILE("鍏姟鎺ュ緟瀹℃壒鍒楄〃鑾峰彇澶辫触", ModuleEnum.SYSTEM.getValue() + "013"),
+    GETINFO_CIVIL_SERVANT_RECEPTION_FILE("鍏姟鎺ュ緟瀹℃壒璇︽儏鑾峰彇澶辫触", ModuleEnum.SYSTEM.getValue() + "014"),
+    DELETE_CIVIL_SERVANT_RECEPTION_FILE("鍏姟鎺ュ緟瀹℃壒鍒犻櫎澶辫触", ModuleEnum.SYSTEM.getValue() + "015"),
+    SEND_CIVIL_SERVANT_RECEPTION_FILE("鍏姟鎺ュ緟瀹℃壒閫佸姙澶辫触", ModuleEnum.SYSTEM.getValue() + "016"),
+
+    SAVE_VEHICLE_MAINTENANCE_FILE("鍔炲叕瀹ょ敤鍝侀噰璐繚瀛樺け璐�", ModuleEnum.SYSTEM.getValue() + "017"),
+    GETLIST_VEHICLE_MAINTENANCE_FILE("鍔炲叕瀹ょ敤鍝侀噰璐垪琛ㄨ幏鍙栧け璐�", ModuleEnum.SYSTEM.getValue() + "018"),
+    GETINFO_VEHICLE_MAINTENANCE_FILE("鍔炲叕瀹ょ敤鍝侀噰璐鎯呰幏鍙栧け璐�", ModuleEnum.SYSTEM.getValue() + "019"),
+    DELETE_VEHICLE_MAINTENANCE_FILE("鍔炲叕瀹ょ敤鍝侀噰璐垹闄ゅけ璐�", ModuleEnum.SYSTEM.getValue() + "020"),
+    SEND_VEHICLE_MAINTENANCE_FILE("鍔炲叕瀹ょ敤鍝侀噰璐�佸姙澶辫触", ModuleEnum.SYSTEM.getValue() + "021"),
+
+    SAVE_DATA_FILE("淇濆瓨鏁版嵁澶辫触", ModuleEnum.SYSTEM.getValue() + "022"),
+    GET_DATA_FILE("鑾峰彇鏁版嵁澶辫触", ModuleEnum.SYSTEM.getValue() + "023"),
+    DELETE_DATA_FILE("鍒犻櫎鏁版嵁澶辫触", ModuleEnum.SYSTEM.getValue() + "024"),
+    GET_DATALIST_FILE("鑾峰彇鍒楄〃澶辫触", ModuleEnum.SYSTEM.getValue() + "025"),
+    SAVE_CW_ATTENDANCE_FILE("鑰冨嫟褰曞叆淇濆瓨澶辫触", ModuleEnum.SYSTEM.getValue() + "026"),
+    GETLIST_CW_ATTENDANCE_FILE("鑰冨嫟褰曞叆鍒楄〃鑾峰彇澶辫触", ModuleEnum.SYSTEM.getValue() + "027"),
+    GETINFO_CW_ATTENDANCE_FILE("鑰冨嫟褰曞叆璇︽儏鑾峰彇澶辫触", ModuleEnum.SYSTEM.getValue() + "028"),
+    DELETE_CW_ATTENDANCE_FILE("鑰冨嫟褰曞叆鍒犻櫎澶辫触", ModuleEnum.SYSTEM.getValue() + "029"),
+
+    GETLIST_SEND_DOC_FILE("鍙戞枃绋跨焊鍒楄〃鑾峰彇澶辫触", ModuleEnum.SYSTEM.getValue() + "030"),
+    GETLIST_RECIPT_DOC_FILE("鏀舵枃绠$悊鍒楄〃鑾峰彇澶辫触", ModuleEnum.SYSTEM.getValue() + "031"),
+
+    BATCH_FILING_DOCUMENTS_FILE("褰掓。澶辫触", ModuleEnum.SYSTEM.getValue() + "032"),
+    GET_SERIAL_NUMBER_FILE("鑾峰彇缂栧彿澶辫触",ModuleEnum.SYSTEM.getValue() + "033"),
+    ;
+
+    private String text;
+    private String value;
+
+    private SystemCode(String text, String value) {
+        this.text = text;
+        this.value = value;
+    }
+
+    public String getText() {
+        return text;
+    }
+
+    public String getValue() {
+        return value;
+    }
+
+}
diff --git a/home-server-admin/src/main/java/com/home/xining/controller/AdvanceNoticeController.java b/home-server-admin/src/main/java/com/home/xining/controller/AdvanceNoticeController.java
new file mode 100644
index 0000000..9b82d4e
--- /dev/null
+++ b/home-server-admin/src/main/java/com/home/xining/controller/AdvanceNoticeController.java
@@ -0,0 +1,161 @@
+package com.home.xining.controller;
+
+import com.home.xining.config.CmnConst;
+import com.home.xining.config.SystemCode;
+import com.home.xining.service.AdvanceNoticeService;
+import com.home.xining.service.idel.IAdvanceNoticeService;
+import com.home.xining.service.idel.ILawEnforcementService;
+import com.product.core.config.CoreConst;
+import com.product.core.entity.FieldSetEntity;
+import com.product.core.entity.RequestParameterEntity;
+import com.product.core.exception.BaseException;
+import com.product.core.spring.context.SpringMVCContextHolder;
+import com.product.module.sys.version.ApiVersion;
+import com.product.util.support.AbstractBaseController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletRequest;
+
+/**
+ * @Title: AdvanceNoticeController
+ * @Date: 2022-01-11 11:30:48
+ * @Author: luoxin
+ * @Description: 琛屾斂澶勭綒浜嬪厛鍛婄煡涔onstoller
+ */
+@RequestMapping("/api/advanceNotice")
+@RestController
+public class AdvanceNoticeController extends AbstractBaseController {
+
+
+    @Autowired
+    AdvanceNoticeService advanceNoticeService;
+
+    @PostMapping("/list-advanceNotice/{version}")
+    @ApiVersion(1)
+    public String listAdvanceNoticeg(HttpServletRequest request) {
+        try {
+            //鑾峰彇鍙傛暟
+            FieldSetEntity fse = null;
+            Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
+            if (bean != null) {
+                RequestParameterEntity reqp = (RequestParameterEntity) bean;
+                fse = reqp.getFormData();
+            }
+            //鍒ゆ柇鍙傛暟鏄惁涓虹┖
+            if (bean == null || fse == null) {
+                return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
+            }
+            //鍒ゆ柇琛ㄥ悕鏄惁姝e父
+            if (!CmnConst.APP_NOTICE_PUNISHMENT.equals(fse.getTableName())) {
+                return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+            }
+            return OK_List(advanceNoticeService.listAdvanceNoticeg(fse));
+        } catch (BaseException e) {
+            e.printStackTrace();
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(SystemCode.GET_DATALIST_FILE.getValue(), SystemCode.GET_DATALIST_FILE.getText());
+        } catch (Exception e) {
+            e.printStackTrace();
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(SystemCode.GET_DATALIST_FILE.getValue(), SystemCode.GET_DATALIST_FILE.getText());
+        }
+    }
+
+    @PostMapping("/get-advanceNotice/{version}")
+    @ApiVersion(1)
+    public String getAdvanceNotice(HttpServletRequest request) {
+        try {
+            //鑾峰彇鍙傛暟
+            FieldSetEntity fse = null;
+            Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
+            if (bean != null) {
+                RequestParameterEntity reqp = (RequestParameterEntity) bean;
+                fse = reqp.getFormData();
+            }
+            //鍒ゆ柇鍙傛暟鏄惁涓虹┖
+            if (bean == null || fse == null) {
+                return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
+            }
+            //鍒ゆ柇琛ㄥ悕鏄惁姝e父
+            if (!CmnConst.APP_NOTICE_PUNISHMENT.equals(fse.getTableName())) {
+                return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+            }
+            return OK_List(advanceNoticeService.getAdvanceNotice(fse));
+        } catch (BaseException e) {
+            e.printStackTrace();
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(SystemCode.GET_DATA_FILE.getValue(), SystemCode.GET_DATA_FILE.getText());
+        } catch (Exception e) {
+            e.printStackTrace();
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(SystemCode.GET_DATA_FILE.getValue(), SystemCode.GET_DATA_FILE.getText());
+        }
+    }
+
+    @PostMapping("/save-advanceNotice/{version}")
+    @ApiVersion(1)
+    public String saveAdvanceNotice(HttpServletRequest request) {
+        try {
+            //鑾峰彇鍙傛暟
+            FieldSetEntity fse = null;
+            Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
+            if (bean != null) {
+                RequestParameterEntity reqp = (RequestParameterEntity) bean;
+                fse = reqp.getFormData();
+            }
+            //鍒ゆ柇鍙傛暟鏄惁涓虹┖
+            if (bean == null || fse == null) {
+                return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
+            }
+            //鍒ゆ柇琛ㄥ悕鏄惁姝e父
+            if (!CmnConst.APP_NOTICE_PUNISHMENT.equals(fse.getTableName())) {
+                return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+            }
+            IAdvanceNoticeService service = (IAdvanceNoticeService) getProxyInstance(advanceNoticeService);
+            return OK_Add(service.saveAdvanceNotice(fse));
+        } catch (BaseException e) {
+            e.printStackTrace();
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(SystemCode.SAVE_DATA_FILE.getValue(), SystemCode.SAVE_DATA_FILE.getText());
+        } catch (Exception e) {
+            e.printStackTrace();
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(SystemCode.SAVE_DATA_FILE.getValue(), SystemCode.SAVE_DATA_FILE.getText());
+        }
+    }
+
+    @PostMapping("/delete-advanceNotice/{version}")
+    @ApiVersion(1)
+    public String deleteAdvanceNotice(HttpServletRequest request) {
+        try {
+            //鑾峰彇鍙傛暟
+            FieldSetEntity fse = null;
+            Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
+            if (bean != null) {
+                RequestParameterEntity reqp = (RequestParameterEntity) bean;
+                fse = reqp.getFormData();
+            }
+            //鍒ゆ柇鍙傛暟鏄惁涓虹┖
+            if (bean == null || fse == null) {
+                return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
+            }
+            //鍒ゆ柇琛ㄥ悕鏄惁姝e父
+            if (!CmnConst.APP_NOTICE_PUNISHMENT.equals(fse.getTableName())) {
+                return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+            }
+            IAdvanceNoticeService service = (IAdvanceNoticeService) getProxyInstance(advanceNoticeService);
+            return OK_login(service.deleteAdvanceNotice(fse));
+        } catch (BaseException e) {
+            e.printStackTrace();
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(SystemCode.DELETE_DATA_FILE.getValue(), SystemCode.DELETE_DATA_FILE.getText());
+        } catch (Exception e) {
+            e.printStackTrace();
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(SystemCode.DELETE_DATA_FILE.getValue(), SystemCode.DELETE_DATA_FILE.getText());
+        }
+    }
+}
diff --git a/home-server-admin/src/main/java/com/home/xining/controller/CivilServantReceptionController.java b/home-server-admin/src/main/java/com/home/xining/controller/CivilServantReceptionController.java
new file mode 100644
index 0000000..aa4ae87
--- /dev/null
+++ b/home-server-admin/src/main/java/com/home/xining/controller/CivilServantReceptionController.java
@@ -0,0 +1,252 @@
+package com.home.xining.controller;
+
+import com.home.xining.config.CmnConst;
+import com.home.xining.config.SystemCode;
+import com.home.xining.service.CivilServantReceptionService;
+import com.home.xining.service.idel.ICivilServantReceptionService;
+import com.product.common.lang.StringUtils;
+import com.product.core.config.CoreConst;
+import com.product.core.entity.DataTableEntity;
+import com.product.core.entity.FieldSetEntity;
+import com.product.core.entity.RequestParameterEntity;
+import com.product.core.exception.BaseException;
+import com.product.core.spring.context.SpringMVCContextHolder;
+import com.product.module.sys.version.ApiVersion;
+import com.product.util.support.AbstractBaseController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletRequest;
+
+/**
+ * @ClassName: CivilServantReceptionController
+ * @Author: ZhouJie
+ * @Date: 2022/1/19 10:43
+ * @Description: 鍏姟鎺ュ緟瀹℃壒
+ */
+@RequestMapping("/api/civilser")
+@RestController
+public class CivilServantReceptionController extends AbstractBaseController {
+
+    @Autowired
+    public CivilServantReceptionService civilServantReceptionService;
+
+    /**
+     * 淇濆瓨鍏姟鎺ュ緟瀹℃壒
+     * @param request
+     * @return
+     */
+    @RequestMapping(value = "/save-civilservant/{version}", method = RequestMethod.POST)
+    @ApiVersion(1)
+    public String saveCivilServantReception(HttpServletRequest request) {
+        try {
+            //鑾峰彇鍙傛暟
+            FieldSetEntity fse=null;
+            Object bean=request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
+            if(bean != null){
+                RequestParameterEntity reqp=(RequestParameterEntity)bean;
+                fse = reqp.getFormData();
+            }
+            //鍒ゆ柇鍙傛暟鏄惁涓虹┖
+            if(bean == null || fse == null) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+                return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
+            }
+            //鍒ゆ柇琛ㄥ悕鏄惁姝e父
+            if (!CmnConst.GWJDSPB.equals(fse.getTableName())) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+                return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+            }
+            ICivilServantReceptionService service = (ICivilServantReceptionService) getProxyInstance(civilServantReceptionService);
+            String uuid = service.saveCivilServantReception(fse);
+            if (!StringUtils.isEmpty(uuid)) {
+                return OK_Add(uuid);
+            }
+            SpringMVCContextHolder.getSystemLogger().error(SystemCode.SAVE_CIVIL_SERVANT_RECEPTION_FILE.getValue(), SystemCode.SAVE_CIVIL_SERVANT_RECEPTION_FILE.getText());
+            return error(SystemCode.SAVE_CIVIL_SERVANT_RECEPTION_FILE.getValue(), SystemCode.SAVE_CIVIL_SERVANT_RECEPTION_FILE.getText());
+        }catch(BaseException e) {
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(e);
+        }catch (Exception e) {
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(SystemCode.SAVE_CIVIL_SERVANT_RECEPTION_FILE.getValue(), SystemCode.SAVE_CIVIL_SERVANT_RECEPTION_FILE.getText());
+        }
+    }
+
+    /**
+     * 鍒犻櫎鍏姟鎺ュ緟瀹℃壒
+     * @param request
+     * @return
+     */
+    @RequestMapping(value = "/delete-civilservant/{version}", method = RequestMethod.POST)
+    @ApiVersion(1)
+    public String deleteCivilServantReception(HttpServletRequest request) {
+        try {
+            //鑾峰彇鍙傛暟
+            FieldSetEntity fse=null;
+            Object bean=request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
+            if(bean != null)	{
+                RequestParameterEntity reqp=(RequestParameterEntity)bean;
+                fse = reqp.getFormData();
+            }
+            //鍒ゆ柇鍙傛暟鏄惁涓虹┖
+            if(bean == null || fse == null) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
+                return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
+            }
+            //鍒ゆ柇琛ㄥ悕鏄惁姝e父
+            if (!CmnConst.GWJDSPB.equals(fse.getTableName())) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+                return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+            }
+            //鍒ゆ柇uuid鏄惁涓虹┖
+            if (com.alibaba.druid.util.StringUtils.isEmpty(fse.getString(CmnConst.UUID))) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_FORM_COUNT.getValue(), SystemCode.SYSTEM_FORM_COUNT.getText());
+                return this.error(SystemCode.SYSTEM_FORM_COUNT.getValue(), SystemCode.SYSTEM_FORM_COUNT.getText());
+            }
+            ICivilServantReceptionService service = (ICivilServantReceptionService) getProxyInstance(civilServantReceptionService);
+            boolean success=service.deleteCivilServantReception(fse);
+            if(success) {
+                return OK();
+            }
+            SpringMVCContextHolder.getSystemLogger().error(SystemCode.DELETE_CIVIL_SERVANT_RECEPTION_FILE.getValue(),SystemCode.DELETE_CIVIL_SERVANT_RECEPTION_FILE.getText());
+            return error(SystemCode.DELETE_CIVIL_SERVANT_RECEPTION_FILE.getValue(),SystemCode.DELETE_CIVIL_SERVANT_RECEPTION_FILE.getText());
+        }catch(BaseException e) {
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(e);
+        }catch (Exception e) {
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(SystemCode.DELETE_CIVIL_SERVANT_RECEPTION_FILE.getValue(),SystemCode.DELETE_CIVIL_SERVANT_RECEPTION_FILE.getText());
+        }
+    }
+
+    /**
+     * 鑾峰彇鍏姟鎺ュ緟瀹℃壒鍒楄〃
+     * @param request
+     * @return
+     */
+    @RequestMapping(value = "/list-civilservant/{version}", method = RequestMethod.POST)
+    @ApiVersion(1)
+    public String getCivilServantReceptionList(HttpServletRequest request) {
+        try {
+            //鑾峰彇鍙傛暟
+            FieldSetEntity fse=null;
+            Object bean=request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
+            if(bean != null){
+                RequestParameterEntity reqp=(RequestParameterEntity)bean;
+                fse = reqp.getFormData();
+            }
+            //鍒ゆ柇鍙傛暟鏄惁涓虹┖
+            if(bean == null || fse == null) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+                return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
+            }
+            //鍒ゆ柇琛ㄥ悕鏄惁姝e父
+            if (!CmnConst.GWJDSPB.equals(fse.getTableName())) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+                return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+            }
+            //鍒ゆ柇鍒嗛〉鍙傛暟
+            if(fse.getString(CmnConst.PAGESIZE)==null || fse.getString(CmnConst.CPAGE)==null){
+                return this.error(SystemCode.SYSTEM_CPAGES_NOT_NULL.getValue(), SystemCode.SYSTEM_CPAGES_NOT_NULL.getText());
+            }
+            DataTableEntity dt = civilServantReceptionService.getCivilServantReceptionList(fse);
+            return OK_List(dt);
+        }catch(BaseException e) {
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(e);
+        }catch (Exception e) {
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(SystemCode.GETLIST_CIVIL_SERVANT_RECEPTION_FILE.getValue(), SystemCode.GETLIST_CIVIL_SERVANT_RECEPTION_FILE.getText());
+        }
+    }
+
+    /**
+     * 鑾峰彇鍏姟鎺ュ緟瀹℃壒璇︽儏
+     * @param request
+     * @return
+     */
+    @RequestMapping(value="/find-civilservant/{version}",method=RequestMethod.POST)
+    @ApiVersion(1)
+    public String getCivilServantReceptionInfo(HttpServletRequest request){
+        try {
+            //鑾峰彇鍙傛暟
+            FieldSetEntity fse=null;
+            Object bean=request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
+            if(bean != null)	{
+                RequestParameterEntity reqp=(RequestParameterEntity)bean;
+                fse = reqp.getFormData();
+            }
+            //鍒ゆ柇鍙傛暟鏄惁涓虹┖
+            if(bean == null || fse == null) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
+                return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
+            }
+            //鍒ゆ柇琛ㄥ悕鏄惁姝e父
+            if (!CmnConst.GWJDSPB.equals(fse.getTableName())) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+                return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+            }
+            //鍒ゆ柇uuid鏄惁涓虹┖
+            if (com.alibaba.druid.util.StringUtils.isEmpty(fse.getString(CmnConst.UUID))) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+                return this.error(SystemCode.SYSTEM_FORM_COUNT.getValue(), SystemCode.SYSTEM_FORM_COUNT.getText());
+            }
+            FieldSetEntity fs = civilServantReceptionService.getCivilServantReceptionInfo(fse);
+            return OK_List(fs);
+        }catch(BaseException e) {
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(e);
+        }catch (Exception e) {
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(SystemCode.GETINFO_CIVIL_SERVANT_RECEPTION_FILE.getValue(),SystemCode.GETINFO_CIVIL_SERVANT_RECEPTION_FILE.getText());
+        }
+    }
+
+    /**
+     * 鍏姟鎺ュ緟瀹℃壒 閫佸姙
+     * @param request
+     * @return
+     */
+    @RequestMapping(value = "/send-civilservant/{version}", method = RequestMethod.POST)
+    public String sendCivilServantReception(HttpServletRequest request) {
+        try {
+            //鑾峰彇鍙傛暟
+            FieldSetEntity fse=null;
+            Object bean=request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
+            if(bean != null){
+                RequestParameterEntity reqp=(RequestParameterEntity)bean;
+                fse = reqp.getFormData();
+            }
+            //鍒ゆ柇鍙傛暟鏄惁涓虹┖
+            if(bean == null || fse == null) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
+                return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
+            }
+            //鍒ゆ柇琛ㄥ悕鏄惁姝e父
+            if (!CmnConst.GWJDSPB.equals(fse.getTableName())) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+                return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+            }
+            ICivilServantReceptionService service = (ICivilServantReceptionService) getProxyInstance(civilServantReceptionService);
+            boolean succ = service.sendCivilServantReception(fse.getUUID());
+            if (succ) {
+                return OK();
+            }
+            SpringMVCContextHolder.getSystemLogger().error(SystemCode.SEND_CIVIL_SERVANT_RECEPTION_FILE.getValue(), SystemCode.SEND_CIVIL_SERVANT_RECEPTION_FILE.getText());
+            return error(SystemCode.SEND_CIVIL_SERVANT_RECEPTION_FILE.getValue(), SystemCode.SEND_CIVIL_SERVANT_RECEPTION_FILE.getText());
+        }catch(BaseException e) {
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(e);
+        }catch (Exception e) {
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(SystemCode.SEND_CIVIL_SERVANT_RECEPTION_FILE.getValue(), SystemCode.SEND_CIVIL_SERVANT_RECEPTION_FILE.getText());
+        }
+    }
+
+
+
+
+}
diff --git a/home-server-admin/src/main/java/com/home/xining/controller/HousingArchivesController.java b/home-server-admin/src/main/java/com/home/xining/controller/HousingArchivesController.java
new file mode 100644
index 0000000..bfb5758
--- /dev/null
+++ b/home-server-admin/src/main/java/com/home/xining/controller/HousingArchivesController.java
@@ -0,0 +1,97 @@
+package com.home.xining.controller;
+
+import com.home.xining.config.CmnConst;
+import com.home.xining.config.SystemCode;
+import com.home.xining.service.HousingArchivesService;
+import com.home.xining.service.idel.IHousingArchivesService;
+import com.product.core.config.CoreConst;
+import com.product.core.entity.FieldSetEntity;
+import com.product.core.entity.RequestParameterEntity;
+import com.product.core.exception.BaseException;
+import com.product.core.spring.context.SpringMVCContextHolder;
+import com.product.module.sys.version.ApiVersion;
+import com.product.util.support.AbstractBaseController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletRequest;
+
+/**
+ * @Title: AdvanceNoticeController
+ * @Date: 2022-06-11 11:30:48
+ * @Author: luoxin
+ * @Description: 涓�鎴夸竴妗h皟鏌ヨ〃Constoller
+ */
+@RequestMapping("/api/HousingArchives")
+@RestController
+public class HousingArchivesController extends AbstractBaseController {
+
+    @Autowired
+    HousingArchivesService housingArchivesService;
+
+    @RequestMapping(value = "/getSerialNumber/{version}",  method = RequestMethod.POST)
+    @ApiVersion(1)
+    public String getSerialNumber(HttpServletRequest request) {
+        try {
+            //鑾峰彇鍙傛暟
+            FieldSetEntity fse = null;
+            Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
+            if (bean != null) {
+                RequestParameterEntity reqp = (RequestParameterEntity) bean;
+                fse = reqp.getFormData();
+            }
+            //鍒ゆ柇鍙傛暟鏄惁涓虹┖
+            if (bean == null || fse == null) {
+                return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
+            }
+            //鍒ゆ柇琛ㄥ悕鏄惁姝e父
+            if (!CmnConst.PRODUCT_OA_HOUSING_ARCHIVES.equals(fse.getTableName())) {
+                return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+            }
+            IHousingArchivesService service = (IHousingArchivesService) getProxyInstance(housingArchivesService);
+            return OK_Add(service.getSerialNumber());
+        } catch (BaseException e) {
+            e.printStackTrace();
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(SystemCode.GET_SERIAL_NUMBER_FILE.getValue(), SystemCode.GET_SERIAL_NUMBER_FILE.getText());
+        } catch (Exception e) {
+            e.printStackTrace();
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(SystemCode.GET_SERIAL_NUMBER_FILE.getValue(), SystemCode.GET_SERIAL_NUMBER_FILE.getText());
+        }
+    }
+
+    @RequestMapping(value = "/saveIHousingArchives/{version}",  method = RequestMethod.POST)
+    @ApiVersion(1)
+    public String saveIHousingArchives(HttpServletRequest request) {
+        try {
+            //鑾峰彇鍙傛暟
+            FieldSetEntity fse = null;
+            Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
+            if (bean != null) {
+                RequestParameterEntity reqp = (RequestParameterEntity) bean;
+                fse = reqp.getFormData();
+            }
+            //鍒ゆ柇鍙傛暟鏄惁涓虹┖
+            if (bean == null || fse == null) {
+                return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
+            }
+            //鍒ゆ柇琛ㄥ悕鏄惁姝e父
+            if (!CmnConst.PRODUCT_OA_HOUSING_ARCHIVES.equals(fse.getTableName())) {
+                return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+            }
+            IHousingArchivesService service = (IHousingArchivesService) getProxyInstance(housingArchivesService);
+            return OK_Add(service.saveIHousingArchives(fse));
+        } catch (BaseException e) {
+            e.printStackTrace();
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(SystemCode.GET_SERIAL_NUMBER_FILE.getValue(), SystemCode.GET_SERIAL_NUMBER_FILE.getText());
+        } catch (Exception e) {
+            e.printStackTrace();
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(SystemCode.GET_SERIAL_NUMBER_FILE.getValue(), SystemCode.GET_SERIAL_NUMBER_FILE.getText());
+        }
+    }
+}
diff --git a/home-server-admin/src/main/java/com/home/xining/controller/LawEnforcementController.java b/home-server-admin/src/main/java/com/home/xining/controller/LawEnforcementController.java
new file mode 100644
index 0000000..9c43d1e
--- /dev/null
+++ b/home-server-admin/src/main/java/com/home/xining/controller/LawEnforcementController.java
@@ -0,0 +1,146 @@
+package com.home.xining.controller;
+
+import com.home.xining.config.CmnConst;
+import com.home.xining.config.SystemCode;
+import com.home.xining.service.AdvanceNoticeService;
+import com.home.xining.service.LawEnforcementService;
+import com.home.xining.service.idel.ILawEnforcementService;
+import com.home.xining.service.idel.IOfficeExpensesService;
+import com.product.core.config.CoreConst;
+import com.product.core.entity.FieldSetEntity;
+import com.product.core.entity.RequestParameterEntity;
+import com.product.core.exception.BaseException;
+import com.product.module.sys.version.ApiVersion;
+import com.product.util.support.AbstractBaseController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletRequest;
+
+/**
+ * @Title: LawEnforcementController
+ * @Date: 2022-01-20 11:30:48
+ * @Author: luoxin
+ * @Description: 琛屾斂鎵ф硶瀹℃壒Constoller
+ */
+@RequestMapping("/api/lawEnforcement")
+@RestController
+public class LawEnforcementController extends AbstractBaseController {
+
+
+    @Autowired
+    LawEnforcementService lawEnforcementService;
+
+    @PostMapping("/list-lawEnforcement/{version}")
+    @ApiVersion(1)
+    public String listLawEnforcement(HttpServletRequest request) {
+        try {
+            //鑾峰彇鍙傛暟
+            FieldSetEntity fse = null;
+            Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
+            if (bean != null) {
+                RequestParameterEntity reqp = (RequestParameterEntity) bean;
+                fse = reqp.getFormData();
+            }
+            //鍒ゆ柇鍙傛暟鏄惁涓虹┖
+            if (bean == null || fse == null) {
+                return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
+            }
+            //鍒ゆ柇琛ㄥ悕鏄惁姝e父
+            if (!CmnConst.APP_XZZFSPB.equals(fse.getTableName())) {
+                return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+            }
+            return OK_List(lawEnforcementService.listLawEnforcement(fse));
+        } catch (BaseException e) {
+            return error(e);
+        } catch (Exception e) {
+            e.getStackTrace();
+            return error("",e.getMessage());
+        }
+    }
+
+    @PostMapping("/get-lawEnforcement/{version}")
+    @ApiVersion(1)
+    public String getLawEnforcement(HttpServletRequest request) {
+        try {
+            //鑾峰彇鍙傛暟
+            FieldSetEntity fse = null;
+            Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
+            if (bean != null) {
+                RequestParameterEntity reqp = (RequestParameterEntity) bean;
+                fse = reqp.getFormData();
+            }
+            //鍒ゆ柇鍙傛暟鏄惁涓虹┖
+            if (bean == null || fse == null) {
+                return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
+            }
+            //鍒ゆ柇琛ㄥ悕鏄惁姝e父
+            if (!CmnConst.APP_XZZFSPB.equals(fse.getTableName())) {
+                return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+            }
+            return OK_List(lawEnforcementService.getLawEnforcement(fse));
+        } catch (BaseException e) {
+            return error(e);
+        } catch (Exception e) {
+            return error("","");
+        }
+    }
+
+    @PostMapping("/save-lawEnforcement/{version}")
+    @ApiVersion(1)
+    public String saveLawEnforcement(HttpServletRequest request) {
+        try {
+            //鑾峰彇鍙傛暟
+            FieldSetEntity fse = null;
+            Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
+            if (bean != null) {
+                RequestParameterEntity reqp = (RequestParameterEntity) bean;
+                fse = reqp.getFormData();
+            }
+            //鍒ゆ柇鍙傛暟鏄惁涓虹┖
+            if (bean == null || fse == null) {
+                return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
+            }
+            //鍒ゆ柇琛ㄥ悕鏄惁姝e父
+            if (!CmnConst.APP_XZZFSPB.equals(fse.getTableName())) {
+                return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+            }
+            ILawEnforcementService service = (ILawEnforcementService) getProxyInstance(lawEnforcementService);
+            return OK_Add(service.saveLawEnforcement(fse));
+        } catch (BaseException e) {
+            return error(e);
+        } catch (Exception e) {
+            return error("","");
+        }
+    }
+
+    @PostMapping("/delete-lawEnforcement/{version}")
+    @ApiVersion(1)
+    public String deleteLawEnforcement(HttpServletRequest request) {
+        try {
+            //鑾峰彇鍙傛暟
+            FieldSetEntity fse = null;
+            Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
+            if (bean != null) {
+                RequestParameterEntity reqp = (RequestParameterEntity) bean;
+                fse = reqp.getFormData();
+            }
+            //鍒ゆ柇鍙傛暟鏄惁涓虹┖
+            if (bean == null || fse == null) {
+                return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
+            }
+            //鍒ゆ柇琛ㄥ悕鏄惁姝e父
+            if (!CmnConst.APP_XZZFSPB.equals(fse.getTableName())) {
+                return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+            }
+            ILawEnforcementService service = (ILawEnforcementService) getProxyInstance(lawEnforcementService);
+            return OK_login(service.deleteLawEnforcement(fse));
+        } catch (BaseException e) {
+            return error(e);
+        } catch (Exception e) {
+            return error("","");
+        }
+    }
+}
diff --git a/home-server-admin/src/main/java/com/home/xining/controller/OfficeExpensesController.java b/home-server-admin/src/main/java/com/home/xining/controller/OfficeExpensesController.java
new file mode 100644
index 0000000..6497239
--- /dev/null
+++ b/home-server-admin/src/main/java/com/home/xining/controller/OfficeExpensesController.java
@@ -0,0 +1,251 @@
+package com.home.xining.controller;
+
+import com.home.xining.config.CmnConst;
+import com.home.xining.config.SystemCode;
+import com.home.xining.service.OfficeExpensesService;
+import com.home.xining.service.idel.IOfficeExpensesService;
+import com.product.common.lang.StringUtils;
+import com.product.core.config.CoreConst;
+import com.product.core.controller.support.AbstractBaseController;
+import com.product.core.entity.DataTableEntity;
+import com.product.core.entity.FieldSetEntity;
+import com.product.core.entity.RequestParameterEntity;
+import com.product.core.exception.BaseException;
+import com.product.core.spring.context.SpringMVCContextHolder;
+import com.product.module.sys.version.ApiVersion;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletRequest;
+
+/**
+ * @ClassName: OfficeExpensesController
+ * @Author: ZhouJie
+ * @Date: 2022/1/11 17:14
+ * @Description: 鍔炲叕鐢ㄥ搧缁忚垂(棰嗙敤)瀹℃壒绠$悊
+ */
+@RequestMapping("/api/offiexp")
+@RestController
+public class OfficeExpensesController extends AbstractBaseController {
+
+    @Autowired
+    public OfficeExpensesService officeExpensesService;
+
+    /**
+     * 淇濆瓨鍔炲叕鐢ㄥ搧缁忚垂(棰嗙敤)瀹℃壒
+     * @param request
+     * @return
+     */
+    @RequestMapping(value = "/save-officeexpenses/{version}", method = RequestMethod.POST)
+    @ApiVersion(1)
+    public String saveOfficeExpenses(HttpServletRequest request) {
+        try {
+            //鑾峰彇鍙傛暟
+            FieldSetEntity fse=null;
+            Object bean=request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
+            if(bean != null){
+                RequestParameterEntity reqp=(RequestParameterEntity)bean;
+                fse = reqp.getFormData();
+            }
+            //鍒ゆ柇鍙傛暟鏄惁涓虹┖
+            if(bean == null || fse == null) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+                return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
+            }
+            //鍒ゆ柇琛ㄥ悕鏄惁姝e父
+            if (!CmnConst.BGYPLYB.equals(fse.getTableName())) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+                return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+            }
+            IOfficeExpensesService service = (IOfficeExpensesService) getProxyInstance(officeExpensesService);
+            String uuid = service.saveOfficeExpenses(fse);
+            if (!StringUtils.isEmpty(uuid)) {
+                return OK_Add(uuid);
+            }
+            SpringMVCContextHolder.getSystemLogger().error(SystemCode.SAVE_OFFICE_EXPENSES_FILE.getValue(), SystemCode.SAVE_OFFICE_EXPENSES_FILE.getText());
+            return error(SystemCode.SAVE_OFFICE_EXPENSES_FILE.getValue(), SystemCode.SAVE_OFFICE_EXPENSES_FILE.getText());
+        }catch(BaseException e) {
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(e);
+        }catch (Exception e) {
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(SystemCode.SAVE_OFFICE_EXPENSES_FILE.getValue(), SystemCode.SAVE_OFFICE_EXPENSES_FILE.getText());
+        }
+    }
+
+    /**
+     * 鍒犻櫎鍔炲叕鐢ㄥ搧缁忚垂(棰嗙敤)瀹℃壒
+     * @param request
+     * @return
+     */
+    @RequestMapping(value = "/delete-officeexpenses/{version}", method = RequestMethod.POST)
+    @ApiVersion(1)
+    public String deleteOfficeExpenses(HttpServletRequest request) {
+        try {
+            //鑾峰彇鍙傛暟
+            FieldSetEntity fse=null;
+            Object bean=request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
+            if(bean != null)	{
+                RequestParameterEntity reqp=(RequestParameterEntity)bean;
+                fse = reqp.getFormData();
+            }
+            //鍒ゆ柇鍙傛暟鏄惁涓虹┖
+            if(bean == null || fse == null) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
+                return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
+            }
+            //鍒ゆ柇琛ㄥ悕鏄惁姝e父
+            if (!CmnConst.BGYPLYB.equals(fse.getTableName())) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+                return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+            }
+            //鍒ゆ柇uuid鏄惁涓虹┖
+            if (com.alibaba.druid.util.StringUtils.isEmpty(fse.getString(CmnConst.UUID))) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_FORM_COUNT.getValue(), SystemCode.SYSTEM_FORM_COUNT.getText());
+                return this.error(SystemCode.SYSTEM_FORM_COUNT.getValue(), SystemCode.SYSTEM_FORM_COUNT.getText());
+            }
+            IOfficeExpensesService service = (IOfficeExpensesService) getProxyInstance(officeExpensesService);
+            boolean success=service.deleteOfficeExpenses(fse);
+            if(success) {
+                return OK();
+            }
+            SpringMVCContextHolder.getSystemLogger().error(SystemCode.DELETE_OFFICE_EXPENSES_FILE.getValue(),SystemCode.DELETE_OFFICE_EXPENSES_FILE.getText());
+            return error(SystemCode.DELETE_OFFICE_EXPENSES_FILE.getValue(),SystemCode.DELETE_OFFICE_EXPENSES_FILE.getText());
+        }catch(BaseException e) {
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(e);
+        }catch (Exception e) {
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(SystemCode.DELETE_OFFICE_EXPENSES_FILE.getValue(),SystemCode.DELETE_OFFICE_EXPENSES_FILE.getText());
+        }
+    }
+
+    /**
+     * 鑾峰彇鍔炲叕鐢ㄥ搧缁忚垂(棰嗙敤)瀹℃壒鍒楄〃
+     * @param request
+     * @return
+     */
+    @RequestMapping(value = "/list-officeexpenses/{version}", method = RequestMethod.POST)
+    @ApiVersion(1)
+    public String getOfficeExpensesList(HttpServletRequest request) {
+        try {
+            //鑾峰彇鍙傛暟
+            FieldSetEntity fse=null;
+            Object bean=request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
+            if(bean != null){
+                RequestParameterEntity reqp=(RequestParameterEntity)bean;
+                fse = reqp.getFormData();
+            }
+            //鍒ゆ柇鍙傛暟鏄惁涓虹┖
+            if(bean == null || fse == null) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+                return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
+            }
+            //鍒ゆ柇琛ㄥ悕鏄惁姝e父
+            if (!CmnConst.BGYPLYB.equals(fse.getTableName())) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+                return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+            }
+            //鍒ゆ柇鍒嗛〉鍙傛暟
+            if(fse.getString(CmnConst.PAGESIZE)==null || fse.getString(CmnConst.CPAGE)==null){
+                return this.error(SystemCode.SYSTEM_CPAGES_NOT_NULL.getValue(), SystemCode.SYSTEM_CPAGES_NOT_NULL.getText());
+            }
+            DataTableEntity dt = officeExpensesService.getOfficeExpensesList(fse);
+            return OK_List(dt);
+        }catch(BaseException e) {
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(e);
+        }catch (Exception e) {
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(SystemCode.GETLIST_OFFICE_EXPENSES_FILE.getValue(), SystemCode.GETLIST_OFFICE_EXPENSES_FILE.getText());
+        }
+    }
+
+    /**
+     * 鑾峰彇鍔炲叕鐢ㄥ搧缁忚垂(棰嗙敤)瀹℃壒璇︽儏
+     * @param request
+     * @return
+     */
+    @RequestMapping(value="/find-officeexpenses/{version}",method=RequestMethod.POST)
+    @ApiVersion(1)
+    public String getOfficeExpensesInfo(HttpServletRequest request){
+        try {
+            //鑾峰彇鍙傛暟
+            FieldSetEntity fse=null;
+            Object bean=request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
+            if(bean != null)	{
+                RequestParameterEntity reqp=(RequestParameterEntity)bean;
+                fse = reqp.getFormData();
+            }
+            //鍒ゆ柇鍙傛暟鏄惁涓虹┖
+            if(bean == null || fse == null) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
+                return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
+            }
+            //鍒ゆ柇琛ㄥ悕鏄惁姝e父
+            if (!CmnConst.BGYPLYB.equals(fse.getTableName())) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+                return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+            }
+            //鍒ゆ柇uuid鏄惁涓虹┖
+            if (com.alibaba.druid.util.StringUtils.isEmpty(fse.getString(CmnConst.UUID))) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+                return this.error(SystemCode.SYSTEM_FORM_COUNT.getValue(), SystemCode.SYSTEM_FORM_COUNT.getText());
+            }
+            FieldSetEntity fs = officeExpensesService.getOfficeExpensesInfo(fse);
+            return OK_List(fs);
+        }catch(BaseException e) {
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(e);
+        }catch (Exception e) {
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(SystemCode.GETINFO_OFFICE_EXPENSES_FILE.getValue(),SystemCode.GETINFO_OFFICE_EXPENSES_FILE.getText());
+        }
+    }
+
+    /**
+     * 鍔炲叕鐢ㄥ搧缁忚垂(棰嗙敤) 閫佸姙
+     * @param request
+     * @return
+     */
+    @RequestMapping(value = "/send-officeexpenses/{version}", method = RequestMethod.POST)
+    public String sendOfficeExpenses(HttpServletRequest request) {
+        try {
+            //鑾峰彇鍙傛暟
+            FieldSetEntity fse=null;
+            Object bean=request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
+            if(bean != null){
+                RequestParameterEntity reqp=(RequestParameterEntity)bean;
+                fse = reqp.getFormData();
+            }
+            //鍒ゆ柇鍙傛暟鏄惁涓虹┖
+            if(bean == null || fse == null) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
+                return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
+            }
+            //鍒ゆ柇琛ㄥ悕鏄惁姝e父
+            if (!CmnConst.BGYPLYB.equals(fse.getTableName())) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+                return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+            }
+            IOfficeExpensesService service = (IOfficeExpensesService) getProxyInstance(officeExpensesService);
+            boolean succ = service.sendOfficeExpenses(fse.getUUID());
+            if (succ) {
+                return OK();
+            }
+            SpringMVCContextHolder.getSystemLogger().error(SystemCode.SEND_OFFICE_EXPENSES_FILE.getValue(), SystemCode.SEND_OFFICE_EXPENSES_FILE.getText());
+            return error(SystemCode.SEND_OFFICE_EXPENSES_FILE.getValue(), SystemCode.SEND_OFFICE_EXPENSES_FILE.getText());
+        }catch(BaseException e) {
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(e);
+        }catch (Exception e) {
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(SystemCode.SEND_OFFICE_EXPENSES_FILE.getValue(), SystemCode.SEND_OFFICE_EXPENSES_FILE.getText());
+        }
+    }
+
+
+
+}
diff --git a/home-server-admin/src/main/java/com/home/xining/controller/OfficePurchaseController.java b/home-server-admin/src/main/java/com/home/xining/controller/OfficePurchaseController.java
new file mode 100644
index 0000000..24354cd
--- /dev/null
+++ b/home-server-admin/src/main/java/com/home/xining/controller/OfficePurchaseController.java
@@ -0,0 +1,207 @@
+package com.home.xining.controller;
+
+import com.home.xining.config.CmnConst;
+import com.home.xining.config.SystemCode;
+import com.home.xining.service.OfficePurchaseService;
+import com.home.xining.service.idel.IOfficePurchaseService;
+import com.product.common.lang.StringUtils;
+import com.product.core.config.CoreConst;
+import com.product.core.controller.support.AbstractBaseController;
+import com.product.core.entity.DataTableEntity;
+import com.product.core.entity.FieldSetEntity;
+import com.product.core.entity.RequestParameterEntity;
+import com.product.core.exception.BaseException;
+import com.product.core.spring.context.SpringMVCContextHolder;
+import com.product.module.sys.version.ApiVersion;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletRequest;
+
+/**
+ * @ClassName: OfficePurchaseController
+ * @Author: ZhouJie
+ * @Date: 2022/1/24 09:49
+ * @Description: 鍔炲叕瀹ょ敤鍝侀噰璐�
+ */
+@RequestMapping("/api/officepur")
+@RestController
+public class OfficePurchaseController extends AbstractBaseController {
+
+    @Autowired
+    public OfficePurchaseService officePurchaseService;
+
+    /**
+     * 淇濆瓨鍔炲叕瀹ょ敤鍝侀噰璐�
+     * @param request
+     * @return
+     */
+    @RequestMapping(value = "/save-officepurchase/{version}", method = RequestMethod.POST)
+    @ApiVersion(1)
+    public String saveOfficePurchase(HttpServletRequest request) {
+        try {
+            //鑾峰彇鍙傛暟
+            FieldSetEntity fse=null;
+            Object bean=request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
+            if(bean != null){
+                RequestParameterEntity reqp=(RequestParameterEntity)bean;
+                fse = reqp.getFormData();
+            }
+            //鍒ゆ柇鍙傛暟鏄惁涓虹┖
+            if(bean == null || fse == null) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+                return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
+            }
+            //鍒ゆ柇琛ㄥ悕鏄惁姝e父
+            if (!CmnConst.BGSYPCGB.equals(fse.getTableName())) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+                return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+            }
+            IOfficePurchaseService service = (IOfficePurchaseService) getProxyInstance(officePurchaseService);
+            String uuid = service.saveOfficePurchase(fse);
+            if (!StringUtils.isEmpty(uuid)) {
+                return OK_Add(uuid);
+            }
+            SpringMVCContextHolder.getSystemLogger().error(SystemCode.SAVE_VEHICLE_MAINTENANCE_FILE.getValue(), SystemCode.SAVE_VEHICLE_MAINTENANCE_FILE.getText());
+            return error(SystemCode.SAVE_VEHICLE_MAINTENANCE_FILE.getValue(), SystemCode.SAVE_VEHICLE_MAINTENANCE_FILE.getText());
+        }catch(BaseException e) {
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(e);
+        }catch (Exception e) {
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(SystemCode.SAVE_VEHICLE_MAINTENANCE_FILE.getValue(), SystemCode.SAVE_VEHICLE_MAINTENANCE_FILE.getText());
+        }
+    }
+
+    /**
+     * 鍒犻櫎鍔炲叕瀹ょ敤鍝侀噰璐�
+     * @param request
+     * @return
+     */
+    @RequestMapping(value = "/delete-officepurchase/{version}", method = RequestMethod.POST)
+    @ApiVersion(1)
+    public String deleteOfficePurchase(HttpServletRequest request) {
+        try {
+            //鑾峰彇鍙傛暟
+            FieldSetEntity fse=null;
+            Object bean=request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
+            if(bean != null)	{
+                RequestParameterEntity reqp=(RequestParameterEntity)bean;
+                fse = reqp.getFormData();
+            }
+            //鍒ゆ柇鍙傛暟鏄惁涓虹┖
+            if(bean == null || fse == null) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
+                return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
+            }
+            //鍒ゆ柇琛ㄥ悕鏄惁姝e父
+            if (!CmnConst.BGSYPCGB.equals(fse.getTableName())) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+                return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+            }
+            //鍒ゆ柇uuid鏄惁涓虹┖
+            if (com.alibaba.druid.util.StringUtils.isEmpty(fse.getString(CmnConst.UUID))) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_FORM_COUNT.getValue(), SystemCode.SYSTEM_FORM_COUNT.getText());
+                return this.error(SystemCode.SYSTEM_FORM_COUNT.getValue(), SystemCode.SYSTEM_FORM_COUNT.getText());
+            }
+            IOfficePurchaseService service = (IOfficePurchaseService) getProxyInstance(officePurchaseService);
+            boolean success=service.deleteOfficePurchase(fse);
+            if(success) {
+                return OK();
+            }
+            SpringMVCContextHolder.getSystemLogger().error(SystemCode.DELETE_VEHICLE_MAINTENANCE_FILE.getValue(),SystemCode.DELETE_VEHICLE_MAINTENANCE_FILE.getText());
+            return error(SystemCode.DELETE_VEHICLE_MAINTENANCE_FILE.getValue(),SystemCode.DELETE_VEHICLE_MAINTENANCE_FILE.getText());
+        }catch(BaseException e) {
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(e);
+        }catch (Exception e) {
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(SystemCode.DELETE_VEHICLE_MAINTENANCE_FILE.getValue(),SystemCode.DELETE_VEHICLE_MAINTENANCE_FILE.getText());
+        }
+    }
+
+    /**
+     * 鑾峰彇鍔炲叕瀹ょ敤鍝侀噰璐垪琛�
+     * @param request
+     * @return
+     */
+    @RequestMapping(value = "/list-officepurchase/{version}", method = RequestMethod.POST)
+    @ApiVersion(1)
+    public String getOfficePurchaseList(HttpServletRequest request) {
+        try {
+            //鑾峰彇鍙傛暟
+            FieldSetEntity fse=null;
+            Object bean=request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
+            if(bean != null){
+                RequestParameterEntity reqp=(RequestParameterEntity)bean;
+                fse = reqp.getFormData();
+            }
+            //鍒ゆ柇鍙傛暟鏄惁涓虹┖
+            if(bean == null || fse == null) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+                return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
+            }
+            //鍒ゆ柇琛ㄥ悕鏄惁姝e父
+            if (!CmnConst.BGSYPCGB.equals(fse.getTableName())) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+                return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+            }
+            //鍒ゆ柇鍒嗛〉鍙傛暟
+            if(fse.getString(CmnConst.PAGESIZE)==null || fse.getString(CmnConst.CPAGE)==null){
+                return this.error(SystemCode.SYSTEM_CPAGES_NOT_NULL.getValue(), SystemCode.SYSTEM_CPAGES_NOT_NULL.getText());
+            }
+            DataTableEntity dt = officePurchaseService.getOfficePurchaseList(fse);
+            return OK_List(dt);
+        }catch(BaseException e) {
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(e);
+        }catch (Exception e) {
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(SystemCode.GETLIST_VEHICLE_MAINTENANCE_FILE.getValue(), SystemCode.GETLIST_VEHICLE_MAINTENANCE_FILE.getText());
+        }
+    }
+
+    /**
+     * 鑾峰彇鍔炲叕瀹ょ敤鍝侀噰璐鎯�
+     * @param request
+     * @return
+     */
+    @RequestMapping(value="/find-officepurchase/{version}",method=RequestMethod.POST)
+    @ApiVersion(1)
+    public String getOfficePurchaseInfo(HttpServletRequest request){
+        try {
+            //鑾峰彇鍙傛暟
+            FieldSetEntity fse=null;
+            Object bean=request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
+            if(bean != null)	{
+                RequestParameterEntity reqp=(RequestParameterEntity)bean;
+                fse = reqp.getFormData();
+            }
+            //鍒ゆ柇鍙傛暟鏄惁涓虹┖
+            if(bean == null || fse == null) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
+                return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
+            }
+            //鍒ゆ柇琛ㄥ悕鏄惁姝e父
+            if (!CmnConst.BGSYPCGB.equals(fse.getTableName())) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+                return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+            }
+            //鍒ゆ柇uuid鏄惁涓虹┖
+            if (com.alibaba.druid.util.StringUtils.isEmpty(fse.getString(CmnConst.UUID))) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+                return this.error(SystemCode.SYSTEM_FORM_COUNT.getValue(), SystemCode.SYSTEM_FORM_COUNT.getText());
+            }
+            FieldSetEntity fs = officePurchaseService.getOfficePurchaseInfo(fse);
+            return OK_List(fs);
+        }catch(BaseException e) {
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(e);
+        }catch (Exception e) {
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(SystemCode.GETINFO_VEHICLE_MAINTENANCE_FILE.getValue(),SystemCode.GETINFO_VEHICLE_MAINTENANCE_FILE.getText());
+        }
+    }
+}
diff --git a/home-server-admin/src/main/java/com/home/xining/controller/OfficeSuppliesCollectionController.java b/home-server-admin/src/main/java/com/home/xining/controller/OfficeSuppliesCollectionController.java
new file mode 100644
index 0000000..3ee44fb
--- /dev/null
+++ b/home-server-admin/src/main/java/com/home/xining/controller/OfficeSuppliesCollectionController.java
@@ -0,0 +1,211 @@
+package com.home.xining.controller;
+
+import javax.servlet.http.HttpServletRequest;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.home.xining.config.CmnConst;
+import com.home.xining.config.SystemCode;
+import com.home.xining.service.OfficeSuppliesCollectionService;
+import com.home.xining.service.idel.IOfficeSuppliesCollectionService;
+import com.product.common.lang.StringUtils;
+import com.product.core.config.CoreConst;
+import com.product.core.controller.support.AbstractBaseController;
+import com.product.core.entity.DataTableEntity;
+import com.product.core.entity.FieldSetEntity;
+import com.product.core.entity.RequestParameterEntity;
+import com.product.core.exception.BaseException;
+import com.product.core.spring.context.SpringMVCContextHolder;
+import com.product.module.sys.version.ApiVersion;
+
+/**
+ * @ClassName: OfficeSuppliesCollectionController
+ * @Author: 鏉滄椽娉�
+ * @Date: 2022/2/16 09:49
+ * @Description: 鍔炲叕瀹ょ敤鍝侀噰璐�
+ */
+@RequestMapping("/api/officeSupplies")
+@RestController
+public class OfficeSuppliesCollectionController extends AbstractBaseController{
+
+	@Autowired
+	OfficeSuppliesCollectionService officeSuppliesCollectionService;
+	
+	
+	/**
+     * 鑾峰彇鍔炲叕瀹ょ敤鍝侀噰璐垪琛�
+     * @param request
+     * @return
+     */
+    @RequestMapping(value = "/list/{version}", method = RequestMethod.POST)
+    @ApiVersion(1)
+    public String getOfficePurchaseList(HttpServletRequest request) {
+        try {
+            //鑾峰彇鍙傛暟
+            FieldSetEntity fse=null;
+            Object bean=request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
+            if(bean != null){
+                RequestParameterEntity reqp=(RequestParameterEntity)bean;
+                fse = reqp.getFormData();
+            }
+            //鍒ゆ柇鍙傛暟鏄惁涓虹┖
+            if(bean == null || fse == null) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+                return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
+            }
+            //鍒ゆ柇琛ㄥ悕鏄惁姝e父
+            if (!CmnConst.BGYPLYB.equals(fse.getTableName())) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+                return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+            }
+            //鍒ゆ柇鍒嗛〉鍙傛暟
+            if(fse.getString(CmnConst.PAGESIZE)==null || fse.getString(CmnConst.CPAGE)==null){
+                return this.error(SystemCode.SYSTEM_CPAGES_NOT_NULL.getValue(), SystemCode.SYSTEM_CPAGES_NOT_NULL.getText());
+            }
+            DataTableEntity dt = officeSuppliesCollectionService.getOfficePurchaseList(fse);
+            return OK_List(dt);
+        }catch(BaseException e) {
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(e);
+        }catch (Exception e) {
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(SystemCode.GETLIST_VEHICLE_MAINTENANCE_FILE.getValue(), SystemCode.GETLIST_VEHICLE_MAINTENANCE_FILE.getText());
+        }
+    }
+
+    /**
+     * 鑾峰彇鍔炲叕瀹ょ敤鍝侀噰璐鎯�
+     * @param request
+     * @return
+     */
+    @RequestMapping(value="/find/{version}",method=RequestMethod.POST)
+    @ApiVersion(1)
+    public String getOfficePurchaseInfo(HttpServletRequest request){
+        try {
+            //鑾峰彇鍙傛暟
+            FieldSetEntity fse=null;
+            Object bean=request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
+            if(bean != null)	{
+                RequestParameterEntity reqp=(RequestParameterEntity)bean;
+                fse = reqp.getFormData();
+            }
+            //鍒ゆ柇鍙傛暟鏄惁涓虹┖
+            if(bean == null || fse == null) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
+                return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
+            }
+            //鍒ゆ柇琛ㄥ悕鏄惁姝e父
+            if (!CmnConst.BGYPLYB.equals(fse.getTableName())) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+                return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+            }
+            //鍒ゆ柇uuid鏄惁涓虹┖
+            if (com.alibaba.druid.util.StringUtils.isEmpty(fse.getString(CmnConst.UUID))) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+                return this.error(SystemCode.SYSTEM_FORM_COUNT.getValue(), SystemCode.SYSTEM_FORM_COUNT.getText());
+            }
+            FieldSetEntity fs = officeSuppliesCollectionService.getOfficePurchaseInfo(fse);
+            return OK_List(fs);
+        }catch(BaseException e) {
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(e);
+        }catch (Exception e) {
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(SystemCode.GETINFO_VEHICLE_MAINTENANCE_FILE.getValue(),SystemCode.GETINFO_VEHICLE_MAINTENANCE_FILE.getText());
+        }
+    }
+	
+	
+	/**
+     * 淇濆瓨鍔炲叕瀹ょ敤鍝侀噰璐�
+     * @param request
+     * @return
+     */
+    @RequestMapping(value = "/save/{version}", method = RequestMethod.POST)
+    @ApiVersion(1)
+    public String saveOfficePurchase(HttpServletRequest request) {
+        try {
+            //鑾峰彇鍙傛暟
+            FieldSetEntity fse=null;
+            Object bean=request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
+            if(bean != null){
+                RequestParameterEntity reqp=(RequestParameterEntity)bean;
+                fse = reqp.getFormData();
+            }
+            //鍒ゆ柇鍙傛暟鏄惁涓虹┖
+            if(bean == null || fse == null) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+                return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
+            }
+            //鍒ゆ柇琛ㄥ悕鏄惁姝e父
+            if (!CmnConst.BGYPLYB.equals(fse.getTableName())) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+                return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+            }
+            IOfficeSuppliesCollectionService service = (IOfficeSuppliesCollectionService) getProxyInstance(officeSuppliesCollectionService);
+            String uuid = service.saveOfficePurchase(fse);
+            if (!StringUtils.isEmpty(uuid)) {
+                return OK_Add(uuid);
+            }
+            SpringMVCContextHolder.getSystemLogger().error(SystemCode.SAVE_VEHICLE_MAINTENANCE_FILE.getValue(), SystemCode.SAVE_VEHICLE_MAINTENANCE_FILE.getText());
+            return error(SystemCode.SAVE_VEHICLE_MAINTENANCE_FILE.getValue(), SystemCode.SAVE_VEHICLE_MAINTENANCE_FILE.getText());
+        }catch(BaseException e) {
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(e);
+        }catch (Exception e) {
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(SystemCode.SAVE_VEHICLE_MAINTENANCE_FILE.getValue(), SystemCode.SAVE_VEHICLE_MAINTENANCE_FILE.getText());
+        }
+    }
+
+    /**
+     * 鍒犻櫎鍔炲叕瀹ょ敤鍝侀噰璐�
+     * @param request
+     * @return
+     */
+    @RequestMapping(value = "/delete/{version}", method = RequestMethod.POST)
+    @ApiVersion(1)
+    public String deleteOfficePurchase(HttpServletRequest request) {
+        try {
+            //鑾峰彇鍙傛暟
+            FieldSetEntity fse=null;
+            Object bean=request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
+            if(bean != null)	{
+                RequestParameterEntity reqp=(RequestParameterEntity)bean;
+                fse = reqp.getFormData();
+            }
+            //鍒ゆ柇鍙傛暟鏄惁涓虹┖
+            if(bean == null || fse == null) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
+                return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
+            }
+            //鍒ゆ柇琛ㄥ悕鏄惁姝e父
+            if (!CmnConst.BGYPLYB.equals(fse.getTableName())) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+                return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+            }
+            //鍒ゆ柇uuid鏄惁涓虹┖
+            if (com.alibaba.druid.util.StringUtils.isEmpty(fse.getString(CmnConst.UUID))) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_FORM_COUNT.getValue(), SystemCode.SYSTEM_FORM_COUNT.getText());
+                return this.error(SystemCode.SYSTEM_FORM_COUNT.getValue(), SystemCode.SYSTEM_FORM_COUNT.getText());
+            }
+            IOfficeSuppliesCollectionService service = (IOfficeSuppliesCollectionService) getProxyInstance(officeSuppliesCollectionService);
+            boolean success=service.deleteOfficePurchase(fse);
+            if(success) {
+                return OK();
+            }
+            SpringMVCContextHolder.getSystemLogger().error(SystemCode.DELETE_VEHICLE_MAINTENANCE_FILE.getValue(),SystemCode.DELETE_VEHICLE_MAINTENANCE_FILE.getText());
+            return error(SystemCode.DELETE_VEHICLE_MAINTENANCE_FILE.getValue(),SystemCode.DELETE_VEHICLE_MAINTENANCE_FILE.getText());
+        }catch(BaseException e) {
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(e);
+        }catch (Exception e) {
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(SystemCode.DELETE_VEHICLE_MAINTENANCE_FILE.getValue(),SystemCode.DELETE_VEHICLE_MAINTENANCE_FILE.getText());
+        }
+    }
+
+}
diff --git a/home-server-admin/src/main/java/com/home/xining/controller/PleaseLeaveController.java b/home-server-admin/src/main/java/com/home/xining/controller/PleaseLeaveController.java
new file mode 100644
index 0000000..2d16361
--- /dev/null
+++ b/home-server-admin/src/main/java/com/home/xining/controller/PleaseLeaveController.java
@@ -0,0 +1,202 @@
+package com.home.xining.controller;
+
+import javax.servlet.http.HttpServletRequest;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.home.xining.config.CmnConst;
+import com.home.xining.config.SystemCode;
+import com.home.xining.service.PleaseLeaveService;
+import com.home.xining.service.idel.IOfficePurchaseService;
+import com.product.common.lang.StringUtils;
+import com.product.core.config.CoreConst;
+import com.product.core.controller.support.AbstractBaseController;
+import com.product.core.entity.DataTableEntity;
+import com.product.core.entity.FieldSetEntity;
+import com.product.core.entity.RequestParameterEntity;
+import com.product.core.exception.BaseException;
+import com.product.core.spring.context.SpringMVCContextHolder;
+import com.product.module.sys.version.ApiVersion;
+
+/**
+ * @ClassName: PleaseLeaveController
+ * @Author: 鏉滄椽娉�
+ * @Date: 2022/2/10 09:49
+ * @Description: 璇蜂紤鍋囧鎵�
+ */
+@RequestMapping("/api/pleaseLeave")
+@RestController
+public class PleaseLeaveController extends AbstractBaseController{
+
+	@Autowired
+	PleaseLeaveService pleaseLeaveService;
+	
+	
+	/**
+     *	璇蜂紤鍋囧鎵瑰垪琛�
+     * @param request
+     * @return
+     */
+    @RequestMapping(value = "/list-pleaseLeave/{version}", method = RequestMethod.POST)
+    @ApiVersion(1)
+    public String listOfficePurchase(HttpServletRequest request) {
+        try {
+            //鑾峰彇鍙傛暟
+            FieldSetEntity fse=null;
+            Object bean=request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
+            if(bean != null){
+                RequestParameterEntity reqp=(RequestParameterEntity)bean;
+                fse = reqp.getFormData();
+            }
+            //鍒ゆ柇鍙傛暟鏄惁涓虹┖
+            if(bean == null || fse == null) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+                return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
+            }
+            //鍒ゆ柇琛ㄥ悕鏄惁姝e父
+            if (!CmnConst.PLEASELEAVE.equals(fse.getTableName())) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+                return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+            }
+            //鍒ゆ柇鍒嗛〉鍙傛暟
+            if(fse.getString(CmnConst.PAGESIZE)==null || fse.getString(CmnConst.CPAGE)==null){
+                return this.error(SystemCode.SYSTEM_CPAGES_NOT_NULL.getValue(), SystemCode.SYSTEM_CPAGES_NOT_NULL.getText());
+            }
+            DataTableEntity dt = pleaseLeaveService.listOfficePurchase(fse);
+            return OK_List(dt);
+        }catch(BaseException e) {
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(e);
+        }catch (Exception e) {
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(SystemCode.GETLIST_VEHICLE_MAINTENANCE_FILE.getValue(), SystemCode.GETLIST_VEHICLE_MAINTENANCE_FILE.getText());
+        }
+    }
+    
+    /**
+     *	璇蜂紤鍋囧鎵硅鎯�
+     * @param request
+     * @return
+     */
+    @RequestMapping(value = "/find-pleaseLeave/{version}", method = RequestMethod.POST)
+    @ApiVersion(1)
+    public String findPleaseLeave(HttpServletRequest request) {
+        try {
+            //鑾峰彇鍙傛暟
+            FieldSetEntity fse=null;
+            Object bean=request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
+            if(bean != null){
+                RequestParameterEntity reqp=(RequestParameterEntity)bean;
+                fse = reqp.getFormData();
+            }
+            //鍒ゆ柇鍙傛暟鏄惁涓虹┖
+            if(bean == null || fse == null) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+                return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
+            }
+            //鍒ゆ柇琛ㄥ悕鏄惁姝e父
+            if (!CmnConst.PLEASELEAVE.equals(fse.getTableName())) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+                return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+            }
+            //鍒ゆ柇uuid鏄惁涓虹┖
+            if(StringUtils.isEmpty(fse.getUUID())){
+                return this.error(SystemCode.SYSTEM_ACQUIRE_PARAM_FAIL.getValue(), SystemCode.SYSTEM_ACQUIRE_PARAM_FAIL.getText());
+            }
+            FieldSetEntity fseInfo = pleaseLeaveService.findPleaseLeave(fse.getUUID());
+            return OK_List(fseInfo);
+        }catch(BaseException e) {
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(e);
+        }catch (Exception e) {
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(SystemCode.GETLIST_VEHICLE_MAINTENANCE_FILE.getValue(), SystemCode.GETLIST_VEHICLE_MAINTENANCE_FILE.getText());
+        }
+    }
+    
+    /**
+     *	璇蜂紤鍋囧鎵逛繚瀛�
+     * @param request
+     * @return
+     */
+    @RequestMapping(value = "/save-pleaseLeave/{version}", method = RequestMethod.POST)
+    @ApiVersion(1)
+    public String savePleaseLeave(HttpServletRequest request) {
+        try {
+            //鑾峰彇鍙傛暟
+            FieldSetEntity fse=null;
+            Object bean=request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
+            if(bean != null){
+                RequestParameterEntity reqp=(RequestParameterEntity)bean;
+                fse = reqp.getFormData();
+            }
+            //鍒ゆ柇鍙傛暟鏄惁涓虹┖
+            if(bean == null || fse == null) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+                return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
+            }
+            //鍒ゆ柇琛ㄥ悕鏄惁姝e父
+            if (!CmnConst.PLEASELEAVE.equals(fse.getTableName())) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+                return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+            }
+            String uuid = pleaseLeaveService.savePleaseLeave(fse);
+            return OK_Add(uuid);
+        }catch(BaseException e) {
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(e);
+        }catch (Exception e) {
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(SystemCode.GETLIST_VEHICLE_MAINTENANCE_FILE.getValue(), SystemCode.GETLIST_VEHICLE_MAINTENANCE_FILE.getText());
+        }
+    }
+    
+    /**
+     *	璇蜂紤鍋囧鎵瑰垹闄�
+     * @param request
+     * @return
+     */
+    @RequestMapping(value = "/delete-pleaseLeave/{version}", method = RequestMethod.POST)
+    @ApiVersion(1)
+    public String deletePleaseLeave(HttpServletRequest request) {
+        try {
+            //鑾峰彇鍙傛暟
+            FieldSetEntity fse=null;
+            Object bean=request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
+            if(bean != null){
+                RequestParameterEntity reqp=(RequestParameterEntity)bean;
+                fse = reqp.getFormData();
+            }
+            //鍒ゆ柇鍙傛暟鏄惁涓虹┖
+            if(bean == null || fse == null) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+                return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
+            }
+            //鍒ゆ柇琛ㄥ悕鏄惁姝e父
+            if (!CmnConst.PLEASELEAVE.equals(fse.getTableName())) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+                return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+            }
+            //鍒ゆ柇uuid鏄惁涓虹┖
+            if (StringUtils.isEmpty(fse.getUUID())) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_FORM_COUNT.getValue(), SystemCode.SYSTEM_FORM_COUNT.getText());
+                return this.error(SystemCode.SYSTEM_FORM_COUNT.getValue(), SystemCode.SYSTEM_FORM_COUNT.getText());
+            }
+            boolean success=pleaseLeaveService.deletePleaseLeave(fse.getUUID());
+            if(success) {
+                return OK();
+            }
+            SpringMVCContextHolder.getSystemLogger().error(SystemCode.DELETE_VEHICLE_MAINTENANCE_FILE.getValue(),SystemCode.DELETE_VEHICLE_MAINTENANCE_FILE.getText());
+            return error(SystemCode.DELETE_VEHICLE_MAINTENANCE_FILE.getValue(),SystemCode.DELETE_VEHICLE_MAINTENANCE_FILE.getText());
+        }catch(BaseException e) {
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(e);
+        }catch (Exception e) {
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(SystemCode.GETLIST_VEHICLE_MAINTENANCE_FILE.getValue(), SystemCode.GETLIST_VEHICLE_MAINTENANCE_FILE.getText());
+        }
+    }
+}
diff --git a/home-server-admin/src/main/java/com/home/xining/controller/ReceiptDocumentController.java b/home-server-admin/src/main/java/com/home/xining/controller/ReceiptDocumentController.java
new file mode 100644
index 0000000..388da8e
--- /dev/null
+++ b/home-server-admin/src/main/java/com/home/xining/controller/ReceiptDocumentController.java
@@ -0,0 +1,118 @@
+package com.home.xining.controller;
+
+import com.home.xining.config.CmnConst;
+import com.home.xining.config.SystemCode;
+import com.home.xining.service.ReceiptDocumentService;
+import com.home.xining.service.idel.IReceiptDocumentService;
+import com.product.admin.service.PublicService;
+import com.product.core.config.CoreConst;
+import com.product.core.entity.DataTableEntity;
+import com.product.core.entity.FieldSetEntity;
+import com.product.core.entity.RequestParameterEntity;
+import com.product.core.exception.BaseException;
+import com.product.core.spring.context.SpringMVCContextHolder;
+import com.product.module.sys.version.ApiVersion;
+import com.product.util.support.AbstractBaseController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletRequest;
+
+/**
+ * @ClassName: ReceiptDocumentController
+ * @Author: ZhouJie
+ * @Date: 2022/2/21 13:47
+ * @Description: 鏀舵枃绠$悊
+ */
+@RequestMapping("/api/receiptdocument")
+@RestController
+public class ReceiptDocumentController extends AbstractBaseController {
+
+    @Autowired
+    PublicService publicService;
+    @Autowired
+    public ReceiptDocumentService receiptDocumentService;
+
+    /**
+     * 鏀舵枃绠$悊鍒楄〃
+     * @param request
+     * @return
+     */
+    @RequestMapping(value ="/list-redoc/{version}",  method = RequestMethod.POST)
+    @ApiVersion(1)
+    public String listReceiptDoc(HttpServletRequest request) {
+        try {
+            //鑾峰彇鍙傛暟
+            FieldSetEntity fse=null;
+            Object bean=request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
+            if(bean != null){
+                RequestParameterEntity reqp=(RequestParameterEntity)bean;
+                fse = reqp.getFormData();
+            }
+            //鍒ゆ柇鍙傛暟鏄惁涓虹┖
+            if(bean == null || fse == null) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+                return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
+            }
+            //鍒ゆ柇琛ㄥ悕鏄惁姝e父
+            if (!CmnConst.SFGL.equals(fse.getTableName())) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+                return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+            }
+            //鍒ゆ柇鍒嗛〉鍙傛暟
+            if(fse.getString(CmnConst.PAGESIZE)==null || fse.getString(CmnConst.CPAGE)==null){
+                return this.error(SystemCode.SYSTEM_CPAGES_NOT_NULL.getValue(), SystemCode.SYSTEM_CPAGES_NOT_NULL.getText());
+            }
+            DataTableEntity dt = receiptDocumentService.getReciptDocList(fse);
+            return OK_List(dt);
+        }catch(BaseException e) {
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(e);
+        }catch (Exception e) {
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(SystemCode.GETLIST_RECIPT_DOC_FILE.getValue(), SystemCode.GETLIST_RECIPT_DOC_FILE.getText());
+        }
+    }
+
+    /**
+     * 鏀舵枃绠$悊鍒楄〃
+     * @param request
+     * @return
+     */
+    @RequestMapping(value ="/isPrint/{version}",  method = RequestMethod.POST)
+    @ApiVersion(1)
+    public String isPrint(HttpServletRequest request) {
+        try {
+            //鑾峰彇鍙傛暟
+            FieldSetEntity fse=null;
+            Object bean=request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
+            if(bean != null){
+                RequestParameterEntity reqp=(RequestParameterEntity)bean;
+                fse = reqp.getFormData();
+            }
+            //鍒ゆ柇鍙傛暟鏄惁涓虹┖
+            if(bean == null || fse == null) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+                return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
+            }
+            //鍒ゆ柇琛ㄥ悕鏄惁姝e父
+            if (!CmnConst.SFGL.equals(fse.getTableName())) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+                return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+            }
+            IReceiptDocumentService service = (IReceiptDocumentService)getProxyInstance(receiptDocumentService);
+            if(service.isPrint(fse)){
+                return OK();
+            }
+            return this.error(SystemCode.SAVE_DATA_FILE.getValue(), SystemCode.SAVE_DATA_FILE.getText());
+        }catch(BaseException e) {
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(e);
+        }catch (Exception e) {
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(SystemCode.SAVE_DATA_FILE.getValue(), SystemCode.SAVE_DATA_FILE.getText());
+        }
+    }
+}
diff --git a/home-server-admin/src/main/java/com/home/xining/controller/SendDocumentController.java b/home-server-admin/src/main/java/com/home/xining/controller/SendDocumentController.java
new file mode 100644
index 0000000..fdab5b6
--- /dev/null
+++ b/home-server-admin/src/main/java/com/home/xining/controller/SendDocumentController.java
@@ -0,0 +1,157 @@
+package com.home.xining.controller;
+
+import com.home.xining.config.CmnConst;
+import com.home.xining.config.SystemCode;
+import com.home.xining.service.SendDocumentService;
+import com.home.xining.service.idel.ISendDocumentService;
+import com.product.admin.service.PublicService;
+import com.product.admin.service.idel.IPublicService;
+import com.product.core.config.CoreConst;
+import com.product.core.entity.DataTableEntity;
+import com.product.core.entity.FieldSetEntity;
+import com.product.core.entity.RequestParameterEntity;
+import com.product.core.exception.BaseException;
+import com.product.core.spring.context.SpringMVCContextHolder;
+import com.product.module.sys.version.ApiVersion;
+import com.product.util.support.AbstractBaseController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletRequest;
+
+/**
+ * @ClassName: SendDocumentController
+ * @Author: ZhouJie
+ * @Date: 2022/2/21 13:45
+ * @Description: 鍙戞枃绋跨焊锛堝彂鏂囩鐞嗭級
+ */
+@RequestMapping("/api/senddocument")
+@RestController
+public class SendDocumentController extends AbstractBaseController {
+
+    @Autowired
+    PublicService publicService;
+    @Autowired
+    public SendDocumentService sendDocumentService;
+
+    /**
+     * 鍙戞枃绋跨焊鍒楄〃
+     * @param request
+     * @return
+     */
+    @RequestMapping(value ="/list-sedoc/{version}",  method = RequestMethod.POST)
+    @ApiVersion(1)
+    public String listSendDoc(HttpServletRequest request) {
+        try {
+            //鑾峰彇鍙傛暟
+            FieldSetEntity fse=null;
+            Object bean=request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
+            if(bean != null){
+                RequestParameterEntity reqp=(RequestParameterEntity)bean;
+                fse = reqp.getFormData();
+            }
+            //鍒ゆ柇鍙傛暟鏄惁涓虹┖
+            if(bean == null || fse == null) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+                return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
+            }
+            //鍒ゆ柇琛ㄥ悕鏄惁姝e父
+            if (!CmnConst.FWGZ.equals(fse.getTableName())) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+                return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+            }
+            //鍒ゆ柇鍒嗛〉鍙傛暟
+            if(fse.getString(CmnConst.PAGESIZE)==null || fse.getString(CmnConst.CPAGE)==null){
+                return this.error(SystemCode.SYSTEM_CPAGES_NOT_NULL.getValue(), SystemCode.SYSTEM_CPAGES_NOT_NULL.getText());
+            }
+            DataTableEntity dt = sendDocumentService.getSendDocList(fse);
+            return OK_List(dt);
+        }catch(BaseException e) {
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(e);
+        }catch (Exception e) {
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(SystemCode.GETLIST_SEND_DOC_FILE.getValue(), SystemCode.GETLIST_SEND_DOC_FILE.getText());
+        }
+    }
+
+    /**
+     * 鎵归噺褰掓。锛堝彂鏂囩绾�,鏀舵枃绠$悊锛�
+     * @param request
+     * @return
+     */
+    @RequestMapping(value = "/batchFile/{version}",  method = RequestMethod.POST)
+    @ApiVersion(1)
+    public String batchFile(HttpServletRequest request) {
+        try {
+            //鑾峰彇鍙傛暟
+            FieldSetEntity fse = null;
+            Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
+            if (bean != null) {
+                RequestParameterEntity reqp = (RequestParameterEntity) bean;
+                fse = reqp.getFormData();
+            }
+            //鍒ゆ柇鍙傛暟鏄惁涓虹┖
+            if (bean == null || fse == null) {
+                return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
+            }
+            //鍒ゆ柇琛ㄥ悕鏄惁姝e父
+            if (!CmnConst.FWGZ.equals(fse.getTableName())) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+                return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+            }
+            ISendDocumentService service = (ISendDocumentService) getProxyInstance(sendDocumentService);
+            if(service.batchFile(fse)){
+                return OK();
+            }
+            return this.error(SystemCode.BATCH_FILING_DOCUMENTS_FILE.getValue(), SystemCode.BATCH_FILING_DOCUMENTS_FILE.getText());
+        } catch (BaseException e) {
+            e.printStackTrace();
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(SystemCode.BATCH_FILING_DOCUMENTS_FILE.getValue(), SystemCode.BATCH_FILING_DOCUMENTS_FILE.getText());
+        } catch (Exception e) {
+            e.printStackTrace();
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(SystemCode.BATCH_FILING_DOCUMENTS_FILE.getValue(), SystemCode.BATCH_FILING_DOCUMENTS_FILE.getText());
+        }
+    }
+    /**
+     * 淇濆瓨鍏枃绠$悊
+     * @param request
+     * @return
+     */
+    @RequestMapping(value = "/save/{version}",  method = RequestMethod.POST)
+    @ApiVersion(1)
+    public String save(HttpServletRequest request) {
+        try {
+            //鑾峰彇鍙傛暟
+            FieldSetEntity fse = null;
+            Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
+            if (bean != null) {
+                RequestParameterEntity reqp = (RequestParameterEntity) bean;
+                fse = reqp.getFormData();
+            }
+            //鍒ゆ柇鍙傛暟鏄惁涓虹┖
+            if (bean == null || fse == null) {
+                return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
+            }
+            //鍒ゆ柇琛ㄥ悕鏄惁姝e父
+            if (!CmnConst.FWGZ.equals(fse.getTableName())) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+                return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+            }
+            ISendDocumentService service = (ISendDocumentService) getProxyInstance(sendDocumentService);
+            return OK_Add(service.saveFieldSetEntity(fse));
+        } catch (BaseException e) {
+            e.printStackTrace();
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(SystemCode.SAVE_DATA_FILE.getValue(), SystemCode.SAVE_DATA_FILE.getText());
+        } catch (Exception e) {
+            e.printStackTrace();
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(SystemCode.SAVE_DATA_FILE.getValue(), SystemCode.SAVE_DATA_FILE.getText());
+        }
+    }
+}
diff --git a/home-server-admin/src/main/java/com/home/xining/controller/TravelTrainingController.java b/home-server-admin/src/main/java/com/home/xining/controller/TravelTrainingController.java
new file mode 100644
index 0000000..9911be5
--- /dev/null
+++ b/home-server-admin/src/main/java/com/home/xining/controller/TravelTrainingController.java
@@ -0,0 +1,250 @@
+package com.home.xining.controller;
+
+import com.home.xining.config.CmnConst;
+import com.home.xining.config.SystemCode;
+import com.home.xining.service.TravelTrainingService;
+import com.home.xining.service.idel.ITravelTrainingService;
+import com.product.common.lang.StringUtils;
+import com.product.core.config.CoreConst;
+import com.product.core.entity.DataTableEntity;
+import com.product.core.entity.FieldSetEntity;
+import com.product.core.entity.RequestParameterEntity;
+import com.product.core.exception.BaseException;
+import com.product.core.spring.context.SpringMVCContextHolder;
+import com.product.module.sys.version.ApiVersion;
+import com.product.util.support.AbstractBaseController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletRequest;
+
+/**
+ * @ClassName: TravelTrainingController
+ * @Author: ZhouJie
+ * @Date: 2022/1/18 9:49
+ * @Description: 宸ヤ綔浜哄憳鍑哄樊锛堝煿璁級瀹℃壒
+ */
+@RequestMapping("/api/travel")
+@RestController
+public class TravelTrainingController extends AbstractBaseController {
+
+    @Autowired
+    public TravelTrainingService travelTrainingService;
+
+    /**
+     * 淇濆瓨宸ヤ綔浜哄憳鍑哄樊锛堝煿璁級瀹℃壒
+     * @param request
+     * @return
+     */
+    @RequestMapping(value = "/save-traveltrain/{version}", method = RequestMethod.POST)
+    @ApiVersion(1)
+    public String saveTravelTrain(HttpServletRequest request) {
+        try {
+            //鑾峰彇鍙傛暟
+            FieldSetEntity fse=null;
+            Object bean=request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
+            if(bean != null){
+                RequestParameterEntity reqp=(RequestParameterEntity)bean;
+                fse = reqp.getFormData();
+            }
+            //鍒ゆ柇鍙傛暟鏄惁涓虹┖
+            if(bean == null || fse == null) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+                return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
+            }
+            //鍒ゆ柇琛ㄥ悕鏄惁姝e父
+            if (!CmnConst.APP_GZRYCCSPB.equals(fse.getTableName())) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+                return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+            }
+            ITravelTrainingService service = (ITravelTrainingService) getProxyInstance(travelTrainingService);
+            String uuid = service.saveTravelTrain(fse);
+            if (!StringUtils.isEmpty(uuid)) {
+                return OK_Add(uuid);
+            }
+            SpringMVCContextHolder.getSystemLogger().error(SystemCode.SAVE_TRAVEL_TRAIN_FILE.getValue(), SystemCode.SAVE_TRAVEL_TRAIN_FILE.getText());
+            return error(SystemCode.SAVE_TRAVEL_TRAIN_FILE.getValue(), SystemCode.SAVE_TRAVEL_TRAIN_FILE.getText());
+        }catch(BaseException e) {
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(e);
+        }catch (Exception e) {
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(SystemCode.SAVE_TRAVEL_TRAIN_FILE.getValue(), SystemCode.SAVE_TRAVEL_TRAIN_FILE.getText());
+        }
+    }
+
+    /**
+     * 鍒犻櫎宸ヤ綔浜哄憳鍑哄樊锛堝煿璁級瀹℃壒
+     * @param request
+     * @return
+     */
+    @RequestMapping(value = "/delete-traveltrain/{version}", method = RequestMethod.POST)
+    @ApiVersion(1)
+    public String deleteTravelTrain(HttpServletRequest request) {
+        try {
+            //鑾峰彇鍙傛暟
+            FieldSetEntity fse=null;
+            Object bean=request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
+            if(bean != null)	{
+                RequestParameterEntity reqp=(RequestParameterEntity)bean;
+                fse = reqp.getFormData();
+            }
+            //鍒ゆ柇鍙傛暟鏄惁涓虹┖
+            if(bean == null || fse == null) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
+                return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
+            }
+            //鍒ゆ柇琛ㄥ悕鏄惁姝e父
+            if (!CmnConst.APP_GZRYCCSPB.equals(fse.getTableName())) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+                return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+            }
+            //鍒ゆ柇uuid鏄惁涓虹┖
+            if (com.alibaba.druid.util.StringUtils.isEmpty(fse.getString(CmnConst.UUID))) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_FORM_COUNT.getValue(), SystemCode.SYSTEM_FORM_COUNT.getText());
+                return this.error(SystemCode.SYSTEM_FORM_COUNT.getValue(), SystemCode.SYSTEM_FORM_COUNT.getText());
+            }
+            ITravelTrainingService service = (ITravelTrainingService) getProxyInstance(travelTrainingService);
+            boolean success=service.deleteTravelTrain(fse);
+            if(success) {
+                return OK();
+            }
+            SpringMVCContextHolder.getSystemLogger().error(SystemCode.DELETE_TRAVEL_TRAIN_FILE.getValue(),SystemCode.DELETE_TRAVEL_TRAIN_FILE.getText());
+            return error(SystemCode.DELETE_TRAVEL_TRAIN_FILE.getValue(),SystemCode.DELETE_TRAVEL_TRAIN_FILE.getText());
+        }catch(BaseException e) {
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(e);
+        }catch (Exception e) {
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(SystemCode.DELETE_TRAVEL_TRAIN_FILE.getValue(),SystemCode.DELETE_TRAVEL_TRAIN_FILE.getText());
+        }
+    }
+
+    /**
+     * 鑾峰彇宸ヤ綔浜哄憳鍑哄樊锛堝煿璁級瀹℃壒鍒楄〃
+     * @param request
+     * @return
+     */
+    @RequestMapping(value = "/list-traveltrain/{version}", method = RequestMethod.POST)
+    @ApiVersion(1)
+    public String getTravelTrainList(HttpServletRequest request) {
+        try {
+            //鑾峰彇鍙傛暟
+            FieldSetEntity fse=null;
+            Object bean=request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
+            if(bean != null){
+                RequestParameterEntity reqp=(RequestParameterEntity)bean;
+                fse = reqp.getFormData();
+            }
+            //鍒ゆ柇鍙傛暟鏄惁涓虹┖
+            if(bean == null || fse == null) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+                return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
+            }
+            //鍒ゆ柇琛ㄥ悕鏄惁姝e父
+            if (!CmnConst.APP_GZRYCCSPB.equals(fse.getTableName())) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+                return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+            }
+            //鍒ゆ柇鍒嗛〉鍙傛暟
+            if(fse.getString(CmnConst.PAGESIZE)==null || fse.getString(CmnConst.CPAGE)==null){
+                return this.error(SystemCode.SYSTEM_CPAGES_NOT_NULL.getValue(), SystemCode.SYSTEM_CPAGES_NOT_NULL.getText());
+            }
+            DataTableEntity dt = travelTrainingService.getTravelTrainList(fse);
+            return OK_List(dt);
+        }catch(BaseException e) {
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(e);
+        }catch (Exception e) {
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(SystemCode.GETLIST_TRAVEL_TRAIN_FILE.getValue(), SystemCode.GETLIST_TRAVEL_TRAIN_FILE.getText());
+        }
+    }
+
+    /**
+     * 鑾峰彇宸ヤ綔浜哄憳鍑哄樊锛堝煿璁級瀹℃壒璇︽儏
+     * @param request
+     * @return
+     */
+    @RequestMapping(value="/find-traveltrain/{version}", method=RequestMethod.POST)
+    @ApiVersion(1)
+    public String getTravelTrainInfo(HttpServletRequest request){
+        try {
+            //鑾峰彇鍙傛暟
+            FieldSetEntity fse=null;
+            Object bean=request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
+            if(bean != null)	{
+                RequestParameterEntity reqp=(RequestParameterEntity)bean;
+                fse = reqp.getFormData();
+            }
+            //鍒ゆ柇鍙傛暟鏄惁涓虹┖
+            if(bean == null || fse == null) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
+                return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
+            }
+            //鍒ゆ柇琛ㄥ悕鏄惁姝e父
+            if (!CmnConst.APP_GZRYCCSPB.equals(fse.getTableName())) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+                return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+            }
+            //鍒ゆ柇uuid鏄惁涓虹┖
+            if (com.alibaba.druid.util.StringUtils.isEmpty(fse.getString(CmnConst.UUID))) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+                return this.error(SystemCode.SYSTEM_FORM_COUNT.getValue(), SystemCode.SYSTEM_FORM_COUNT.getText());
+            }
+            FieldSetEntity fs = travelTrainingService.getTravelTrainInfo(fse);
+            return OK_List(fs);
+        }catch(BaseException e) {
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(e);
+        }catch (Exception e) {
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(SystemCode.GETINFO_TRAVEL_TRAIN_FILE.getValue(),SystemCode.GETINFO_TRAVEL_TRAIN_FILE.getText());
+        }
+    }
+
+    /**
+     * 宸ヤ綔浜哄憳鍑哄樊锛堝煿璁級瀹℃壒 閫佸姙
+     * @param request
+     * @return
+     */
+    @RequestMapping(value = "/send-traveltrain/{version}", method = RequestMethod.POST)
+    @ApiVersion(1)
+    public String sendTravelTrain(HttpServletRequest request) {
+        try {
+            //鑾峰彇鍙傛暟
+            FieldSetEntity fse=null;
+            Object bean=request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
+            if(bean != null){
+                RequestParameterEntity reqp=(RequestParameterEntity)bean;
+                fse = reqp.getFormData();
+            }
+            //鍒ゆ柇鍙傛暟鏄惁涓虹┖
+            if(bean == null || fse == null) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
+                return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
+            }
+            //鍒ゆ柇琛ㄥ悕鏄惁姝e父
+            if (!CmnConst.APP_GZRYCCSPB.equals(fse.getTableName())) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+                return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
+            }
+            ITravelTrainingService service = (ITravelTrainingService) getProxyInstance(travelTrainingService);
+            boolean succ = service.sendTravelTrain(fse.getUUID());
+            if (succ) {
+                return OK();
+            }
+            SpringMVCContextHolder.getSystemLogger().error(SystemCode.SEND_TRAVEL_TRAIN_FILE.getValue(), SystemCode.SEND_TRAVEL_TRAIN_FILE.getText());
+            return error(SystemCode.SEND_TRAVEL_TRAIN_FILE.getValue(), SystemCode.SEND_TRAVEL_TRAIN_FILE.getText());
+        }catch(BaseException e) {
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(e);
+        }catch (Exception e) {
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(SystemCode.SEND_TRAVEL_TRAIN_FILE.getValue(), SystemCode.SEND_TRAVEL_TRAIN_FILE.getText());
+        }
+    }
+
+}
diff --git a/home-server-admin/src/main/java/com/home/xining/controller/XiNingPublicController.java b/home-server-admin/src/main/java/com/home/xining/controller/XiNingPublicController.java
new file mode 100644
index 0000000..4f368df
--- /dev/null
+++ b/home-server-admin/src/main/java/com/home/xining/controller/XiNingPublicController.java
@@ -0,0 +1,151 @@
+package com.home.xining.controller;
+
+import com.home.xining.config.CmnConst;
+import com.home.xining.config.SystemCode;
+import com.product.admin.service.PublicService;
+import com.product.admin.service.idel.IPublicService;
+import com.product.core.config.CoreConst;
+import com.product.core.entity.FieldSetEntity;
+import com.product.core.entity.RequestParameterEntity;
+import com.product.core.exception.BaseException;
+import com.product.core.spring.context.SpringMVCContextHolder;
+import com.product.module.sys.version.ApiVersion;
+import com.product.util.BaseUtil;
+import com.product.util.support.AbstractBaseController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletRequest;
+
+/**
+ * @Title: XiNingPublicController
+ * @Date: 2022-01-24 11:30:48
+ * @Author: luoxin
+ * @Description: 閫氱敤鎺ュ彛,
+ */
+@RequestMapping("/api/xining/controller")
+@RestController
+public class XiNingPublicController extends AbstractBaseController {
+
+    @Autowired
+    PublicService publicService;
+
+    @RequestMapping(value ="/list/{version}",  method = RequestMethod.POST)
+    @ApiVersion(1)
+    public String list(HttpServletRequest request) {
+        try {
+            //鑾峰彇鍙傛暟
+            FieldSetEntity fse = null;
+            Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
+            if (bean != null) {
+                RequestParameterEntity reqp = (RequestParameterEntity) bean;
+                fse = reqp.getFormData();
+            }
+            //鍒ゆ柇鍙傛暟鏄惁涓虹┖
+            if (bean == null || fse == null) {
+                return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
+            }
+            String createdByField = fse.getString(CmnConst.CREATED_BY_FIELD);
+            if(BaseUtil.strIsNull(createdByField)){
+
+            }
+            return OK_List(publicService.listTable(fse, true, 2, null, createdByField));
+        } catch (BaseException e) {
+            e.printStackTrace();
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(SystemCode.GET_DATALIST_FILE.getValue(), SystemCode.GET_DATALIST_FILE.getText());
+        } catch (Exception e) {
+            e.printStackTrace();
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(SystemCode.GET_DATALIST_FILE.getValue(), SystemCode.GET_DATALIST_FILE.getText());
+        }
+    }
+
+    @RequestMapping(value = "/get/{version}", method = RequestMethod.POST)
+    @ApiVersion(1)
+    public String get(HttpServletRequest request) {
+        try {
+            //鑾峰彇鍙傛暟
+            FieldSetEntity fse = null;
+            Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
+            if (bean != null) {
+                RequestParameterEntity reqp = (RequestParameterEntity) bean;
+                fse = reqp.getFormData();
+            }
+            //鍒ゆ柇鍙傛暟鏄惁涓虹┖
+            if (bean == null || fse == null) {
+                return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
+            }
+            return OK_List(publicService.getFieldSetEntity(fse,true));
+        } catch (BaseException e) {
+            e.printStackTrace();
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(SystemCode.GET_DATA_FILE.getValue(), SystemCode.GET_DATA_FILE.getText());
+        } catch (Exception e) {
+            e.printStackTrace();
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(SystemCode.GET_DATA_FILE.getValue(), SystemCode.GET_DATA_FILE.getText());
+        }
+    }
+
+    @RequestMapping(value = "/save/{version}",  method = RequestMethod.POST)
+    @ApiVersion(1)
+    public String save(HttpServletRequest request) {
+        try {
+            //鑾峰彇鍙傛暟
+            FieldSetEntity fse = null;
+            Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
+            if (bean != null) {
+                RequestParameterEntity reqp = (RequestParameterEntity) bean;
+                fse = reqp.getFormData();
+            }
+            //鍒ゆ柇鍙傛暟鏄惁涓虹┖
+            if (bean == null || fse == null) {
+                return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
+            }
+            IPublicService service = (IPublicService) getProxyInstance(publicService);
+            return OK_Add(service.saveFieldSetEntity(fse));
+        } catch (BaseException e) {
+            e.printStackTrace();
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(SystemCode.SAVE_DATA_FILE.getValue(), SystemCode.SAVE_DATA_FILE.getText());
+        } catch (Exception e) {
+            e.printStackTrace();
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(SystemCode.SAVE_DATA_FILE.getValue(), SystemCode.SAVE_DATA_FILE.getText());
+        }
+    }
+
+    @RequestMapping(value = "/delete/{version}",  method = RequestMethod.POST)
+    @ApiVersion(1)
+    public String delete(HttpServletRequest request) {
+        try {
+            //鑾峰彇鍙傛暟
+            FieldSetEntity fse = null;
+            Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
+            if (bean != null) {
+                RequestParameterEntity reqp = (RequestParameterEntity) bean;
+                fse = reqp.getFormData();
+            }
+            //鍒ゆ柇鍙傛暟鏄惁涓虹┖
+            if (bean == null || fse == null) {
+                return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
+            }
+            IPublicService service = (IPublicService) getProxyInstance(publicService);
+            if(service.delete(fse)){
+                return OK();
+            }
+            return this.error(SystemCode.DELETE_DATA_FILE.getValue(), SystemCode.DELETE_DATA_FILE.getText());
+        } catch (BaseException e) {
+            e.printStackTrace();
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(SystemCode.DELETE_DATA_FILE.getValue(), SystemCode.DELETE_DATA_FILE.getText());
+        } catch (Exception e) {
+            e.printStackTrace();
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(SystemCode.DELETE_DATA_FILE.getValue(), SystemCode.DELETE_DATA_FILE.getText());
+        }
+    }
+}
diff --git a/home-server-admin/src/main/java/com/home/xining/service/AdvanceNoticeService.java b/home-server-admin/src/main/java/com/home/xining/service/AdvanceNoticeService.java
new file mode 100644
index 0000000..704ec8f
--- /dev/null
+++ b/home-server-admin/src/main/java/com/home/xining/service/AdvanceNoticeService.java
@@ -0,0 +1,97 @@
+package com.home.xining.service;
+
+import com.home.xining.config.CmnConst;
+import com.home.xining.service.idel.IAdvanceNoticeService;
+import com.home.xining.service.idel.IOfficeExpensesService;
+import com.product.common.lang.StringUtils;
+import com.product.core.dao.BaseDao;
+import com.product.core.entity.DataTableEntity;
+import com.product.core.entity.FieldSetEntity;
+import com.product.core.exception.BaseException;
+import com.product.core.permission.PermissionService;
+import com.product.core.service.support.AbstractBaseService;
+import com.product.core.service.support.QueryFilterService;
+import com.product.core.transfer.Transactional;
+import com.product.util.BaseUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+import org.springframework.stereotype.Service;
+
+import java.text.ParseException;
+
+/**
+ * @ClassName: AdvanceNoticeService
+ * @Author:
+ * @Date: 2022/1/11 17:16
+ * @Description: 琛屾斂澶勭綒浜嬪厛鍛婄煡涔ervice
+ */
+@Service
+public class AdvanceNoticeService extends AbstractBaseService implements IAdvanceNoticeService {
+
+    @Autowired
+    public BaseDao baseDao;
+    @Autowired
+    PermissionService permissionService;
+    @Autowired
+    QueryFilterService queryFilterService;
+
+    @Override
+    public DataTableEntity listAdvanceNoticeg(FieldSetEntity fs) throws BaseException{
+        String filter=fs.getString("filter");
+        String dataFilter = permissionService.getDataFilter(fs.getTableName(),CmnConst.NO18);
+
+        if(!StringUtils.isEmpty(dataFilter)){
+            if(!StringUtils.isEmpty(filter)){
+                filter += " and "+dataFilter;
+            }else {
+                filter = dataFilter;
+            }
+        }
+        if(!BaseUtil.dataTableIsEmpty(fs.getSubDataTable("systemSeniorQueryString"))){
+            filter	= filter + " and " + queryFilterService.getQueryFilter(fs);
+        }
+//        fs.getInteger(CmnConst.PAGESIZE),fs.getInteger(CmnConst.CPAGE)
+        DataTableEntity dt = baseDao.listTable(CmnConst.APP_NOTICE_PUNISHMENT,filter, null,null,null,fs.getInteger(CmnConst.PAGESIZE),fs.getInteger(CmnConst.CPAGE));
+        baseDao.loadPromptData(dt);
+        return dt;
+    }
+
+    @Override
+    public FieldSetEntity getAdvanceNotice(FieldSetEntity fs) {
+        return baseDao.getFieldSet(CmnConst.APP_NOTICE_PUNISHMENT, fs.getUUID(), false);
+    }
+
+    @Override
+    @Transactional
+    public String saveAdvanceNotice(FieldSetEntity fs)throws BaseException {
+        String fsUUID = fs.getUUID();
+        if(BaseUtil.strIsNull(fsUUID)){
+          fsUUID = baseDao.add(fs);
+        }else{
+            baseDao.update(fs);
+        }
+        return fsUUID;
+    }
+
+    @Override
+    @Transactional
+    public String deleteAdvanceNotice(FieldSetEntity fs)throws BaseException  {
+        String uuids = fs.getString(CmnConst.UUID);
+        String[] uuid = uuids.split(",");
+        baseDao.delete(CmnConst.APP_NOTICE_PUNISHMENT, uuid);
+        return uuids;
+    }
+
+    @Override
+    @Transactional
+    public void addTypeSize(FieldSetEntity fs) throws BaseException {
+        String tableName = fs.getTableName();
+        DataTableEntity dataTableEntity = baseDao.listTable("SELECT IFNULL(MAX(no02),0) no02 FROM "+tableName, new String[]{});
+        String no02 = String.valueOf(Integer.parseInt(dataTableEntity.getFieldSetEntity(0).getString("no02")) + 1);
+        while (no02.length() < 3){
+            no02 = "0" + no02;
+        }
+        fs.setValue("no02",no02);
+        baseDao.update(fs);
+    }
+}
diff --git a/home-server-admin/src/main/java/com/home/xining/service/CivilServantReceptionService.java b/home-server-admin/src/main/java/com/home/xining/service/CivilServantReceptionService.java
new file mode 100644
index 0000000..50ca9d0
--- /dev/null
+++ b/home-server-admin/src/main/java/com/home/xining/service/CivilServantReceptionService.java
@@ -0,0 +1,111 @@
+package com.home.xining.service;
+
+import com.home.xining.config.CmnConst;
+import com.home.xining.service.idel.ICivilServantReceptionService;
+import com.product.common.lang.StringUtils;
+import com.product.core.dao.BaseDao;
+import com.product.core.entity.DataTableEntity;
+import com.product.core.entity.FieldSetEntity;
+import com.product.core.exception.BaseException;
+import com.product.core.permission.PermissionService;
+import com.product.core.service.support.QueryFilterService;
+import com.product.core.spring.context.SpringMVCContextHolder;
+import com.product.core.transfer.Transactional;
+import com.product.util.BaseUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.Date;
+
+/**
+ * @ClassName: CivilServantReceptionService
+ * @Author: ZhouJie
+ * @Date: 2022/1/19 10:43
+ * @Description: 鍏姟鎺ュ緟瀹℃壒
+ */
+@Component
+public class CivilServantReceptionService extends AdvanceNoticeService implements ICivilServantReceptionService {
+
+    @Autowired
+    public BaseDao baseDao;
+    @Autowired
+    PermissionService permissionService;
+    @Autowired
+    QueryFilterService queryFilterService;
+
+    /**
+     * 淇濆瓨鍏姟鎺ュ緟瀹℃壒
+     * @param fs
+     * @return
+     */
+    @Transactional
+    public String saveCivilServantReception(FieldSetEntity fs) {
+        if(StringUtils.isEmpty(fs.getString(CmnConst.UUID))){
+            fs.setValue(CmnConst.GW11, new Date());
+            fs.setValue(CmnConst.GW10, SpringMVCContextHolder.getCurrentUser().getUser_id());
+            return baseDao.add(fs);
+        } else {
+            baseDao.update(fs);
+            return fs.getString(CmnConst.UUID);
+        }
+    }
+
+    /**
+     * 鍒犻櫎鍏姟鎺ュ緟瀹℃壒
+     * @param fs
+     * @return
+     */
+    @Transactional
+    public boolean deleteCivilServantReception(FieldSetEntity fs) {
+        String uuid = fs.getUUID();
+        String[] uuids = uuid.split(",");
+        return baseDao.delete(CmnConst.GWJDSPB, BaseUtil.buildQuestionMarkFilter(CmnConst.UUID, uuids.length, true), uuids);
+    }
+
+    /**
+     * 鑾峰彇鍏姟鎺ュ緟瀹℃壒鍒楄〃
+     * @param fs
+     * @return
+     * @throws BaseException
+     */
+    public DataTableEntity getCivilServantReceptionList(FieldSetEntity fs) throws BaseException {
+        String filter=fs.getString("filter");
+        String dataFilter = permissionService.getDataFilter(fs.getTableName(),CmnConst.GW10);
+        if(!StringUtils.isEmpty(dataFilter)){
+            if(!StringUtils.isEmpty(filter)){
+                filter += " and "+dataFilter;
+            }else {
+                filter = dataFilter;
+            }
+        }
+        if(!BaseUtil.dataTableIsEmpty(fs.getSubDataTable("systemSeniorQueryString"))){
+            filter	= filter + " and " + queryFilterService.getQueryFilter(fs);
+        }
+        DataTableEntity dt = baseDao.listTable(CmnConst.GWJDSPB,filter,null,null,null,fs.getInteger(CmnConst.PAGESIZE),fs.getInteger(CmnConst.CPAGE));
+        baseDao.loadPromptData(dt);
+        return dt;
+    }
+
+    /**
+     * 鑾峰彇鍏姟鎺ュ緟瀹℃壒璇︽儏
+     * @param fs
+     * @return
+     * @throws BaseException
+     */
+    public FieldSetEntity getCivilServantReceptionInfo(FieldSetEntity fs) throws BaseException {
+        return baseDao.listInternationDataTable(baseDao.getFieldSetEntity(CmnConst.GWJDSPB, fs.getString(CmnConst.UUID), true),null);
+    }
+
+    /**
+     * 鍏姟鎺ュ緟瀹℃壒閫佸姙
+     * @param uuid
+     * @return
+     */
+    @Transactional
+    public boolean sendCivilServantReception(String uuid) {
+        return false;
+    }
+
+
+
+}
diff --git a/home-server-admin/src/main/java/com/home/xining/service/HousingArchivesService.java b/home-server-admin/src/main/java/com/home/xining/service/HousingArchivesService.java
new file mode 100644
index 0000000..f720401
--- /dev/null
+++ b/home-server-admin/src/main/java/com/home/xining/service/HousingArchivesService.java
@@ -0,0 +1,73 @@
+package com.home.xining.service;
+
+import com.home.xining.service.idel.IHousingArchivesService;
+import com.product.core.dao.BaseDao;
+import com.product.core.entity.FieldSetEntity;
+import com.product.core.exception.BaseException;
+import com.product.core.service.support.AbstractBaseService;
+import com.product.util.BaseUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+public class HousingArchivesService extends AbstractBaseService implements IHousingArchivesService {
+
+    @Autowired
+    BaseDao baseDao;
+
+    @Override
+    public String getSerialNumber() {
+        FieldSetEntity fieldSetEntity = baseDao.getFieldSetBySQL("SELECT IFNULL(MAX(number),0) number FROM product_oa_housing_archives", new String[]{},false);
+        Integer number = fieldSetEntity.getInteger("number");
+        number++;
+        String numbers = String.valueOf(number);
+        while (numbers.length() < 10){
+            numbers = 0 + numbers;
+        }
+        return numbers;
+    }
+
+    @Override
+    public String saveIHousingArchives(FieldSetEntity fse) throws BaseException {
+        String uuid = fse.getUUID();
+        String not_hidden_danger = fse.getString("not_hidden_danger");
+        if("1".equals(not_hidden_danger)){
+            //缁撴瀯鎬ч殣鎮�
+            fse.setValue("structural_risks", null);
+            //璁炬柦闅愭偅
+            fse.setValue("facilities_hidden_trouble", null);
+            //缁忚惀闅愭偅
+            fse.setValue("the_pitfalls", null);
+            //娑堥槻闅愭偅
+            fse.setValue("fire_hazard", null);
+            //鐜闅愭偅
+            fse.setValue("environmental_hazards", null);
+            //鍏朵粬闅愭偅
+            fse.setValue("other_hazards", null);
+            //鏄惁瀛樺湪缁撴瀯鎬ч殣鎮�
+            fse.setValue("structural_risks_is","0");
+            //鏄惁瀛樺湪璁炬柦闅愭偅
+            fse.setValue("facilities_hidden_trouble_is","0");
+            //鏄惁瀛樺湪缁忚惀闅愭偅
+            fse.setValue("the_pitfalls_is","0");
+            //鏄惁瀛樺湪娑堥槻闅愭偅
+            fse.setValue("fire_hazard_is","0");
+            //鏄惁瀛樺湪鐜闅愭偅
+            fse.setValue("environmental_hazards_is","0");
+            //鏄惁瀛樺湪鍏朵粬闅愭偅
+            fse.setValue("other_hazards_is","0");
+        }
+        String usageHouse = fse.getString("usageHouse");
+        if(!BaseUtil.strIsNull(usageHouse)){
+            fse.setValue("usageHouse","缁忚惀鎬�,"+usageHouse);
+        }
+        if(BaseUtil.strIsNull(uuid)){
+            String number = this.getSerialNumber();
+            fse.setValue("number", number);
+            uuid = baseDao.add(fse);
+        }else {
+            baseDao.update(fse);
+        }
+        return uuid;
+    }
+}
diff --git a/home-server-admin/src/main/java/com/home/xining/service/LawEnforcementService.java b/home-server-admin/src/main/java/com/home/xining/service/LawEnforcementService.java
new file mode 100644
index 0000000..b676b6c
--- /dev/null
+++ b/home-server-admin/src/main/java/com/home/xining/service/LawEnforcementService.java
@@ -0,0 +1,85 @@
+package com.home.xining.service;
+
+import com.home.xining.config.CmnConst;
+import com.home.xining.service.idel.ILawEnforcementService;
+import com.product.common.lang.StringUtils;
+import com.product.core.dao.BaseDao;
+import com.product.core.entity.DataTableEntity;
+import com.product.core.entity.FieldSetEntity;
+import com.product.core.exception.BaseException;
+import com.product.core.permission.PermissionService;
+import com.product.core.service.support.AbstractBaseService;
+import com.product.core.service.support.QueryFilterService;
+import com.product.core.spring.context.SpringMVCContextHolder;
+import com.product.core.transfer.Transactional;
+import com.product.util.BaseUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+import org.springframework.stereotype.Service;
+
+import java.text.ParseException;
+
+/**
+ * @ClassName: LawEnforcementController
+ * @Author: luoxin
+ * @Date: 2022/1/11 17:16
+ * @Description: 琛屾斂澶勭綒浜嬪厛鍛婄煡涔ervice
+ */
+@Component
+@Service
+public class LawEnforcementService extends AbstractBaseService implements ILawEnforcementService {
+
+    @Autowired
+    public BaseDao baseDao;
+    @Autowired
+    PermissionService permissionService;
+    @Autowired
+    QueryFilterService queryFilterService;
+
+    @Override
+    public DataTableEntity listLawEnforcement(FieldSetEntity fs) throws BaseException {
+        String filter = fs.getString("filter");
+        String dataFilter = permissionService.getDataFilter(fs.getTableName(), CmnConst.AX04);
+        if (!StringUtils.isEmpty(dataFilter)) {
+            if (!StringUtils.isEmpty(filter)) {
+                filter += " and " + dataFilter;
+            } else {
+                filter = dataFilter;
+            }
+        }
+        if (!BaseUtil.dataTableIsEmpty(fs.getSubDataTable("systemSeniorQueryString"))) {
+            filter = filter + " and " + queryFilterService.getQueryFilter(fs);
+        }
+        DataTableEntity dt = baseDao.listTable(CmnConst.APP_XZZFSPB, filter, null, null, null, fs.getInteger(CmnConst.PAGESIZE), fs.getInteger(CmnConst.CPAGE));
+        baseDao.loadPromptData(dt);
+        return dt;
+    }
+
+    @Override
+    public FieldSetEntity getLawEnforcement(FieldSetEntity fs) {
+        return baseDao.getFieldSet(CmnConst.APP_XZZFSPB, fs.getUUID(), false);
+    }
+
+    @Override
+    @Transactional
+    public String saveLawEnforcement(FieldSetEntity fs) throws ParseException {
+        String fsUUID = fs.getUUID();
+
+        if (BaseUtil.strIsNull(fsUUID)) {
+            fs.setValue(CmnConst.AX04, SpringMVCContextHolder.getCurrentUser().getUser_id());
+            fsUUID = baseDao.add(fs);
+        } else {
+            baseDao.update(fs);
+        }
+        return fsUUID;
+    }
+
+    @Override
+    @Transactional
+    public String deleteLawEnforcement(FieldSetEntity fs) throws ParseException {
+        String uuids = fs.getString(CmnConst.UUID);
+        String[] uuid = uuids.split(",");
+        baseDao.delete(CmnConst.APP_XZZFSPB, uuid);
+        return uuids;
+    }
+}
diff --git a/home-server-admin/src/main/java/com/home/xining/service/OfficeExpensesService.java b/home-server-admin/src/main/java/com/home/xining/service/OfficeExpensesService.java
new file mode 100644
index 0000000..bc1804d
--- /dev/null
+++ b/home-server-admin/src/main/java/com/home/xining/service/OfficeExpensesService.java
@@ -0,0 +1,112 @@
+package com.home.xining.service;
+
+import com.home.xining.config.CmnConst;
+import com.home.xining.service.idel.IOfficeExpensesService;
+import com.product.common.lang.StringUtils;
+import com.product.core.dao.BaseDao;
+import com.product.core.entity.DataTableEntity;
+import com.product.core.entity.FieldSetEntity;
+import com.product.core.exception.BaseException;
+import com.product.core.permission.PermissionService;
+import com.product.core.service.support.AbstractBaseService;
+import com.product.core.service.support.QueryFilterService;
+import com.product.core.spring.context.SpringMVCContextHolder;
+import com.product.core.transfer.Transactional;
+import com.product.util.BaseUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+import org.springframework.stereotype.Service;
+
+import java.util.Date;
+
+/**
+ * @ClassName: OfficeExpensesService
+ * @Author: ZhouJie
+ * @Date: 2022/1/11 17:16
+ * @Description: 鍔炲叕鐢ㄥ搧缁忚垂(棰嗙敤)瀹℃壒绠$悊
+ */
+@Component
+@Service
+public class OfficeExpensesService extends AbstractBaseService implements IOfficeExpensesService {
+
+    @Autowired
+    public BaseDao baseDao;
+    @Autowired
+    PermissionService permissionService;
+    @Autowired
+    QueryFilterService queryFilterService;
+
+    /**
+     * 淇濆瓨鍔炲叕鐢ㄥ搧缁忚垂锛堥鐢級瀹℃壒
+     * @param fs
+     * @return
+     */
+    @Transactional
+    public String saveOfficeExpenses(FieldSetEntity fs) {
+        if(StringUtils.isEmpty(fs.getString(CmnConst.UUID))){
+            fs.setValue(CmnConst.BG17, new Date());
+            fs.setValue(CmnConst.BG18, SpringMVCContextHolder.getCurrentUser().getUser_id());
+            return baseDao.add(fs);
+        } else {
+            baseDao.update(fs);
+            return fs.getString(CmnConst.UUID);
+        }
+    }
+
+    /**
+     * 鍒犻櫎鍔炲叕鐢ㄥ搧缁忚垂锛堥鐢級瀹℃壒
+     * @param fs
+     * @return
+     */
+    @Transactional
+    public boolean deleteOfficeExpenses(FieldSetEntity fs) {
+        String uuid = fs.getUUID();
+        String[] uuids = uuid.split(",");
+        return baseDao.delete(CmnConst.BGYPLYB, BaseUtil.buildQuestionMarkFilter(CmnConst.UUID, uuids.length, true), uuids);
+    }
+
+    /**
+     * 鑾峰彇鍔炲叕鐢ㄥ搧缁忚垂锛堥鐢級瀹℃壒鍒楄〃
+     * @param fs
+     * @return
+     * @throws BaseException
+     */
+    public DataTableEntity getOfficeExpensesList(FieldSetEntity fs) throws BaseException {
+        String filter=fs.getString("filter");
+        String dataFilter = permissionService.getDataFilter(fs.getTableName(),CmnConst.BG18);
+        if(!StringUtils.isEmpty(dataFilter)){
+            if(filter==null){
+                filter = dataFilter;
+            }else{
+                filter += " and "+dataFilter;
+            }
+        }
+        DataTableEntity dt = baseDao.listTable(CmnConst.BGYPLYB,filter,null,null,null,fs.getInteger(CmnConst.PAGESIZE),fs.getInteger(CmnConst.CPAGE));
+        baseDao.loadPromptData(dt);
+        return dt;
+    }
+
+    /**
+     * 鑾峰彇鍔炲叕鐢ㄥ搧缁忚垂锛堥鐢級瀹℃壒璇︽儏
+     * @param fs
+     * @return
+     * @throws BaseException
+     */
+    public FieldSetEntity getOfficeExpensesInfo(FieldSetEntity fs) throws BaseException {
+        return baseDao.listInternationDataTable(baseDao.getFieldSetEntity(CmnConst.BGYPLYB, fs.getString(CmnConst.UUID), true),null);
+    }
+
+
+    /**
+     * 鍔炲叕鐢ㄥ搧缁忚垂锛堥鐢級瀹℃壒閫佸姙
+     * @param uuid
+     * @return
+     */
+    @Override
+    @Transactional
+    public boolean sendOfficeExpenses(String uuid) {
+        return true;
+    }
+
+
+}
diff --git a/home-server-admin/src/main/java/com/home/xining/service/OfficePurchaseService.java b/home-server-admin/src/main/java/com/home/xining/service/OfficePurchaseService.java
new file mode 100644
index 0000000..145c446
--- /dev/null
+++ b/home-server-admin/src/main/java/com/home/xining/service/OfficePurchaseService.java
@@ -0,0 +1,101 @@
+package com.home.xining.service;
+
+import com.home.xining.config.CmnConst;
+import com.home.xining.service.idel.IOfficePurchaseService;
+import com.product.common.lang.StringUtils;
+import com.product.core.dao.BaseDao;
+import com.product.core.entity.DataTableEntity;
+import com.product.core.entity.FieldSetEntity;
+import com.product.core.exception.BaseException;
+import com.product.core.permission.PermissionService;
+import com.product.core.service.support.QueryFilterService;
+import com.product.core.spring.context.SpringMVCContextHolder;
+import com.product.core.transfer.Transactional;
+import com.product.util.BaseUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.Date;
+
+/**
+ * @ClassName: OfficePurchaseService
+ * @Author: ZhouJie
+ * @Date: 2022/1/24 09:49
+ * @Description: 鍔炲叕瀹ょ敤鍝侀噰璐崟
+ */
+@Component
+public class OfficePurchaseService extends AdvanceNoticeService implements IOfficePurchaseService {
+
+    @Autowired
+    public BaseDao baseDao;
+    @Autowired
+    PermissionService permissionService;
+    @Autowired
+    QueryFilterService queryFilterService;
+
+    /**
+     * 淇濆瓨鍔炲叕瀹ょ敤鍝侀噰璐崟
+     * @param fs
+     * @return
+     */
+    @Override
+    @Transactional
+    public String saveOfficePurchase(FieldSetEntity fs) {
+        if(StringUtils.isEmpty(fs.getString(CmnConst.UUID))){
+            fs.setValue(CmnConst.BG05, new Date());
+            fs.setValue(CmnConst.BG07, SpringMVCContextHolder.getCurrentUser().getUser_id());
+            fs.setValue(CmnConst.BG03, 0);
+            return baseDao.add(fs,true);
+        } else {
+            baseDao.update(fs);
+            return fs.getString(CmnConst.UUID);
+        }
+    }
+
+    /**
+     * 鍒犻櫎鍔炲叕瀹ょ敤鍝侀噰璐崟
+     * @param fs
+     * @return
+     */
+    @Override
+    @Transactional
+    public boolean deleteOfficePurchase(FieldSetEntity fs) {
+        String uuid = fs.getUUID();
+        String[] uuids = uuid.split(",");
+        return baseDao.delete(CmnConst.BGSYPCGB, BaseUtil.buildQuestionMarkFilter(CmnConst.UUID, uuids.length, true), uuids);
+    }
+
+    /**
+     * 鑾峰彇鍔炲叕瀹ょ敤鍝侀噰璐崟鍒楄〃
+     * @param fs
+     * @return
+     * @throws BaseException
+     */
+    public DataTableEntity getOfficePurchaseList(FieldSetEntity fs) throws BaseException {
+        String filter=fs.getString("filter");
+        String dataFilter = permissionService.getDataFilter(fs.getTableName(),CmnConst.BG07);
+        if(!StringUtils.isEmpty(dataFilter)){
+            if(!StringUtils.isEmpty(filter)){
+                filter += " and "+dataFilter;
+            }else {
+                filter = dataFilter;
+            }
+        }
+        if(!BaseUtil.dataTableIsEmpty(fs.getSubDataTable("systemSeniorQueryString"))){
+            filter	= filter + " and " + queryFilterService.getQueryFilter(fs);
+        }
+        DataTableEntity dt = baseDao.listTable(CmnConst.BGSYPCGB,filter,null,null,null,fs.getInteger(CmnConst.PAGESIZE),fs.getInteger(CmnConst.CPAGE));
+        baseDao.loadPromptData(dt);
+        return dt;
+    }
+
+    /**
+     * 鑾峰彇鍔炲叕瀹ょ敤鍝侀噰璐崟璇︽儏
+     * @param fs
+     * @return
+     * @throws BaseException
+     */
+    public FieldSetEntity getOfficePurchaseInfo(FieldSetEntity fs) throws BaseException {
+        return baseDao.listInternationDataTable(baseDao.getFieldSetEntity(CmnConst.BGSYPCGB, fs.getString(CmnConst.UUID), true),null);
+    }
+}
diff --git a/home-server-admin/src/main/java/com/home/xining/service/OfficeSuppliesCollectionService.java b/home-server-admin/src/main/java/com/home/xining/service/OfficeSuppliesCollectionService.java
new file mode 100644
index 0000000..5b3a0bf
--- /dev/null
+++ b/home-server-admin/src/main/java/com/home/xining/service/OfficeSuppliesCollectionService.java
@@ -0,0 +1,102 @@
+package com.home.xining.service;
+
+import java.util.Date;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import com.home.xining.config.CmnConst;
+import com.home.xining.service.idel.IOfficeSuppliesCollectionService;
+import com.product.common.lang.StringUtils;
+import com.product.core.dao.BaseDao;
+import com.product.core.entity.DataTableEntity;
+import com.product.core.entity.FieldSetEntity;
+import com.product.core.exception.BaseException;
+import com.product.core.permission.PermissionService;
+import com.product.core.service.support.AbstractBaseService;
+import com.product.core.service.support.QueryFilterService;
+import com.product.core.spring.context.SpringMVCContextHolder;
+import com.product.core.transfer.Transactional;
+import com.product.util.BaseUtil;
+
+@Component
+public class OfficeSuppliesCollectionService extends AbstractBaseService implements IOfficeSuppliesCollectionService{
+
+	@Autowired
+	BaseDao baseDao;
+	@Autowired
+	PermissionService permissionService;
+	@Autowired
+	QueryFilterService queryFilterService;
+	
+	/**
+	 * 鑾峰彇鍔炲叕瀹ょ敤鍝侀噰璐崟鍒楄〃
+	 * 
+	 * @param fs
+	 * @return
+	 * @throws BaseException
+	 */
+	public DataTableEntity getOfficePurchaseList(FieldSetEntity fs) throws BaseException {
+		String filter = fs.getString("filter");
+		String dataFilter = permissionService.getDataFilter(fs.getTableName(), CmnConst.BG07);
+		if (!StringUtils.isEmpty(dataFilter)) {
+			if (!StringUtils.isEmpty(filter)) {
+				filter += " and " + dataFilter;
+			} else {
+				filter = dataFilter;
+			}
+		}
+		if (!BaseUtil.dataTableIsEmpty(fs.getSubDataTable("systemSeniorQueryString"))) {
+			filter = filter + " and " + queryFilterService.getQueryFilter(fs);
+		}
+		DataTableEntity dt = baseDao.listTable(CmnConst.BGYPLYB, filter, null, null, null, fs.getInteger(CmnConst.PAGESIZE), fs.getInteger(CmnConst.CPAGE));
+		baseDao.loadPromptData(dt);
+		return dt;
+	}
+
+	/**
+	 * 鑾峰彇鍔炲叕瀹ょ敤鍝侀噰璐崟璇︽儏
+	 * 
+	 * @param fs
+	 * @return
+	 * @throws BaseException
+	 */
+	public FieldSetEntity getOfficePurchaseInfo(FieldSetEntity fs) throws BaseException {
+		return baseDao.listInternationDataTable(baseDao.getFieldSetEntity(CmnConst.BGYPLYB, fs.getString(CmnConst.UUID), true), null);
+	}
+	
+	
+	/**
+	 * 淇濆瓨鍔炲叕瀹ょ敤鍝侀噰璐崟
+	 * 
+	 * @param fs
+	 * @return
+	 */
+	@Override
+	@Transactional
+	public String saveOfficePurchase(FieldSetEntity fs) {
+		if (StringUtils.isEmpty(fs.getString(CmnConst.UUID))) {
+			fs.setValue(CmnConst.BG05, new Date());
+			fs.setValue(CmnConst.BG07, SpringMVCContextHolder.getCurrentUser().getUser_id());
+			fs.setValue(CmnConst.BG03, 0);
+			return baseDao.add(fs, true);
+		} else {
+			baseDao.update(fs);
+			return fs.getString(CmnConst.UUID);
+		}
+	}
+
+	/**
+	 * 鍒犻櫎鍔炲叕瀹ょ敤鍝侀噰璐崟
+	 * 
+	 * @param fs
+	 * @return
+	 */
+	@Override
+	@Transactional
+	public boolean deleteOfficePurchase(FieldSetEntity fs) {
+		String uuid = fs.getUUID();
+		String[] uuids = uuid.split(",");
+		return baseDao.delete(CmnConst.BGYPLYB, BaseUtil.buildQuestionMarkFilter(CmnConst.UUID, uuids.length, true), uuids);
+	}
+}
diff --git a/home-server-admin/src/main/java/com/home/xining/service/PleaseLeaveService.java b/home-server-admin/src/main/java/com/home/xining/service/PleaseLeaveService.java
new file mode 100644
index 0000000..5a96491
--- /dev/null
+++ b/home-server-admin/src/main/java/com/home/xining/service/PleaseLeaveService.java
@@ -0,0 +1,123 @@
+package com.home.xining.service;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import com.home.xining.config.CmnConst;
+import com.product.common.lang.StringUtils;
+import com.product.core.dao.BaseDao;
+import com.product.core.entity.DataTableEntity;
+import com.product.core.entity.FieldSetEntity;
+import com.product.core.permission.PermissionService;
+import com.product.core.service.support.AbstractBaseService;
+import com.product.core.service.support.QueryFilterService;
+import com.product.util.BaseUtil;
+
+/**
+ * @ClassName: PleaseLeaveService
+ * @Author: 鏉滄椽娉�
+ * @Date: 2022/2/10 09:49
+ * @Description: 璇蜂紤鍋囧鎵�
+ */
+@Component
+public class PleaseLeaveService extends AbstractBaseService {
+
+	@Autowired
+	BaseDao baseDao;
+	@Autowired
+	PermissionService permissionService;
+	@Autowired
+	QueryFilterService queryFilterService;
+
+	/**
+	 * 	璇蜂紤鍋囧鎵瑰垪琛�
+	 * @param fse
+	 * @return
+	 */
+	public DataTableEntity listOfficePurchase(FieldSetEntity fse) {
+
+		//鑾峰彇娴佺▼杩囨护鏉′欢
+		String filter=fse.getString("filter");
+		//鑾峰彇鏉冮檺杩囨护鏉′欢
+        String dataFilter = permissionService.getDataFilter(fse.getTableName(),CmnConst.PL01);
+        if(!StringUtils.isEmpty(dataFilter)){
+            if(filter==null){
+                filter = dataFilter;
+            }else{
+                filter += " and "+dataFilter;
+            }
+        }
+        //鑾峰彇鏌ヨ鍒楄〃鏁版嵁
+        DataTableEntity dt = baseDao.listTable(CmnConst.PLEASELEAVE,filter,null,null,null,fse.getInteger(CmnConst.PAGESIZE),fse.getInteger(CmnConst.CPAGE));
+        baseDao.loadPromptData(dt);
+        return dt;
+	}
+	
+	/**
+	 * 	璇蜂紤鍋囪鎯�
+	 * @param uuid
+	 * @return
+	 */
+	public FieldSetEntity findPleaseLeave(String uuid) {
+		return baseDao.getFieldSet(CmnConst.PLEASELEAVE, uuid, false);
+	}
+	
+	/**
+	 * 	璇蜂紤鍋囦繚瀛�
+	 * @param fse
+	 * @return
+	 */
+	public String savePleaseLeave(FieldSetEntity fse) {
+		String uuid=fse.getUUID();
+		if (StringUtils.isEmpty(uuid)) {	//鏂板
+			//鑾峰彇鍛樺伐淇℃伅
+			FieldSetEntity fseStaff=baseDao.getFieldSetEntityByFilter(CmnConst.PRODUCT_SYS_STAFFS, "user_id=?", new Object[] {fse.getString(CmnConst.PL01)}, false);
+			fse.setValue("pl02", fseStaff.getString("enter_work"));	//鍙傚姞宸ヤ綔鏃ユ湡
+			fse.setValue("status", "0");
+//			fse.setValue("", "");
+			
+		}
+		baseDao.saveFieldSetEntity(fse);
+		return uuid;
+	}
+	
+	/**
+	 * 	璇蜂紤鍋囧垹闄�
+	 * @param uuid
+	 * @return
+	 */
+	public boolean deletePleaseLeave(String uuid) {
+        String[] uuids = uuid.split(",");
+        return baseDao.delete(CmnConst.BGYPLYB, BaseUtil.buildQuestionMarkFilter(CmnConst.UUID, uuids.length, true), uuids);
+	}
+	
+	/**
+	 * 璁$畻宸ヤ綔鏃�
+	 * @param start
+	 * @param end
+	 * @return
+	 */
+	public int pareWorkDate(String s,String e, String user_id){
+		SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd");
+		try{
+			Date start=format1.parse(s);
+			Date end=format1.parse(e);
+			int workn=0;
+			if(start!=null&&end!=null){
+				for(long l=start.getTime();l<=end.getTime();l+=86400000){
+					Date d=new Date();
+					d.setTime(l);
+					String time=format1.format(d);
+				}
+			}
+			return workn;
+		}catch(Exception fe){
+			fe.printStackTrace();
+			return 0;
+		}
+	}
+	
+}
diff --git a/home-server-admin/src/main/java/com/home/xining/service/ReceiptDocumentService.java b/home-server-admin/src/main/java/com/home/xining/service/ReceiptDocumentService.java
new file mode 100644
index 0000000..4430697
--- /dev/null
+++ b/home-server-admin/src/main/java/com/home/xining/service/ReceiptDocumentService.java
@@ -0,0 +1,68 @@
+package com.home.xining.service;
+
+import com.home.xining.config.CmnConst;
+import com.home.xining.service.idel.IReceiptDocumentService;
+import com.product.common.lang.StringUtils;
+import com.product.core.dao.BaseDao;
+import com.product.core.entity.DataTableEntity;
+import com.product.core.entity.FieldSetEntity;
+import com.product.core.exception.BaseException;
+import com.product.core.permission.PermissionService;
+import com.product.core.service.support.AbstractBaseService;
+import com.product.core.service.support.QueryFilterService;
+import com.product.core.transfer.Transactional;
+import com.product.util.BaseUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+/**
+ * @ClassName: ReceiptDocumentService
+ * @Author: ZhouJie
+ * @Date: 2022/2/21 13:48
+ * @Description: 鏀舵枃绠$悊
+ */
+@Component
+public class ReceiptDocumentService extends AbstractBaseService implements IReceiptDocumentService {
+
+    @Autowired
+    public BaseDao baseDao;
+    @Autowired
+    PermissionService permissionService;
+    @Autowired
+    QueryFilterService queryFilterService;
+
+    public DataTableEntity getReciptDocList(FieldSetEntity fs) throws BaseException {
+        String filter=fs.getString("filter");
+        //鍒涘缓浜哄瓧娈�
+        String dataFilter = "" ;
+        String created_by_field = fs.getString(CmnConst.CREATED_BY_FIELD);
+        if(!BaseUtil.strIsNull(created_by_field)){
+            dataFilter = permissionService.getDataFilter(fs.getTableName(),created_by_field);
+        }
+//        String dataFilter = permissionService.getDataFilter(fs.getTableName(), CmnConst.SF33);
+        if(!StringUtils.isEmpty(dataFilter)){
+            if(!StringUtils.isEmpty(filter)){
+                filter += " and "+dataFilter;
+            }else {
+                filter = dataFilter;
+            }
+        }
+        if(!BaseUtil.dataTableIsEmpty(fs.getSubDataTable("systemSeniorQueryString"))){
+            filter	= filter + " and " + queryFilterService.getQueryFilter(fs);
+        }
+        DataTableEntity dt = baseDao.listTable(CmnConst.SFGL,filter,null,null,"sf26 desc",fs.getInteger(CmnConst.PAGESIZE),fs.getInteger(CmnConst.CPAGE));
+        baseDao.loadPromptData(dt);
+        return dt;
+    }
+
+    /**
+     * 鏀舵枃绠$悊 鐘舵�佹敼涓哄凡鎵撳嵃
+     * @param fse
+     * @return
+     */
+    @Override
+    @Transactional
+    public Boolean isPrint(FieldSetEntity fse) {
+        return baseDao.update(fse);
+    }
+}
diff --git a/home-server-admin/src/main/java/com/home/xining/service/SendDocumentService.java b/home-server-admin/src/main/java/com/home/xining/service/SendDocumentService.java
new file mode 100644
index 0000000..66be2b4
--- /dev/null
+++ b/home-server-admin/src/main/java/com/home/xining/service/SendDocumentService.java
@@ -0,0 +1,100 @@
+package com.home.xining.service;
+
+import com.home.xining.config.CmnConst;
+import com.home.xining.service.idel.ISendDocumentService;
+import com.product.common.lang.StringUtils;
+import com.product.core.dao.BaseDao;
+import com.product.core.entity.DataTableEntity;
+import com.product.core.entity.FieldSetEntity;
+import com.product.core.exception.BaseException;
+import com.product.core.permission.PermissionService;
+import com.product.core.service.support.AbstractBaseService;
+import com.product.core.service.support.QueryFilterService;
+import com.product.core.transfer.Transactional;
+import com.product.util.BaseUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+/**
+ * @ClassName: SendDocumentService
+ * @Author: ZhouJie
+ * @Date: 2022/2/21 13:45
+ * @Description: 鍙戞枃绋跨焊锛堝彂鏂囩鐞嗭級
+ */
+@Component
+public class SendDocumentService extends AbstractBaseService implements ISendDocumentService {
+
+    @Autowired
+    public BaseDao baseDao;
+    @Autowired
+    PermissionService permissionService;
+    @Autowired
+    QueryFilterService queryFilterService;
+
+    public DataTableEntity getSendDocList(FieldSetEntity fs) throws BaseException {
+        String filter=fs.getString("filter");
+        String dataFilter = "" ;
+        //鍒涘缓浜哄瓧娈�
+        String created_by_field = fs.getString(CmnConst.CREATED_BY_FIELD);
+        if(!BaseUtil.strIsNull(created_by_field)){
+            dataFilter = permissionService.getDataFilter(fs.getTableName(),created_by_field);
+        }
+        if(!StringUtils.isEmpty(dataFilter)){
+            if(!StringUtils.isEmpty(filter)){
+                filter += " and "+dataFilter;
+            }else {
+                filter = dataFilter;
+            }
+        }
+        if(!BaseUtil.dataTableIsEmpty(fs.getSubDataTable("systemSeniorQueryString"))){
+            filter	= filter + " and " + queryFilterService.getQueryFilter(fs);
+        }
+        DataTableEntity dt = baseDao.listTable(CmnConst.FWGZ,filter,null,null,"fw13 desc",fs.getInteger(CmnConst.PAGESIZE),fs.getInteger(CmnConst.CPAGE));
+        baseDao.loadPromptData(dt);
+        return dt;
+    }
+
+    /**
+     * 鎵归噺褰掓。
+     * @param fs
+     * @throws BaseException
+     */
+    @Override
+    @Transactional
+    public boolean batchFile(FieldSetEntity fs)throws BaseException{
+        String uuids = fs.getString("uuid");
+        String[] uuid = uuids.split(",");
+        for (int i = 0; i < uuid.length; i++) {
+            FieldSetEntity fieldSetEntity = new FieldSetEntity();
+            fieldSetEntity.setTableName(fs.getTableName());
+            fieldSetEntity.setValue("uuid", uuid[i]);
+            fieldSetEntity.setValue("pigeonhole",1);
+            baseDao.update(fieldSetEntity);
+        }
+        return true;
+    }
+
+    /**
+     * 浜哄憳楂樼骇鍙傜収瑙f瀽骞朵繚瀛�
+     * @param fse
+     * @throws BaseException
+     */
+    @Transactional
+    @Override
+    public String saveFieldSetEntity(FieldSetEntity fse) throws BaseException {
+        String fw09 = fse.getString("fw09");
+        String[] fw09s = fw09.split(",");
+        DataTableEntity dataTableEntity = baseDao.listTable("product_sys_users", BaseUtil.buildQuestionMarkFilter("user_id",fw09s,true), new String[]{});
+        String fw09_value = "";
+        for (int i = 0; i < dataTableEntity.getRows(); i++) {
+            String user_name = dataTableEntity.getString(i,"user_name");
+            fw09_value = fw09_value + user_name + ",";
+        }
+        fw09_value = fw09_value.substring(0, fw09_value.length() - 1);
+        fse.setValue("fw09_value", fw09_value);
+        BaseUtil.createCreatorAndCreationTime(fse);
+        baseDao.saveFieldSetEntity(fse);
+        return fse.getUUID();
+    }
+
+}
diff --git a/home-server-admin/src/main/java/com/home/xining/service/TravelTrainingService.java b/home-server-admin/src/main/java/com/home/xining/service/TravelTrainingService.java
new file mode 100644
index 0000000..ffdf4e6
--- /dev/null
+++ b/home-server-admin/src/main/java/com/home/xining/service/TravelTrainingService.java
@@ -0,0 +1,101 @@
+package com.home.xining.service;
+
+import com.home.xining.config.CmnConst;
+import com.home.xining.service.idel.ITravelTrainingService;
+import com.product.common.lang.StringUtils;
+import com.product.core.dao.BaseDao;
+import com.product.core.entity.DataTableEntity;
+import com.product.core.entity.FieldSetEntity;
+import com.product.core.exception.BaseException;
+import com.product.core.permission.PermissionService;
+import com.product.core.service.support.QueryFilterService;
+import com.product.core.transfer.Transactional;
+import com.product.util.BaseUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+
+/**
+ * @ClassName: TravelTrainingService
+ * @Author: ZhouJie
+ * @Date: 2022/1/18 9:49
+ * @Description: 宸ヤ綔浜哄憳鍑哄樊锛堝煿璁級瀹℃壒
+ */
+@Component
+public class TravelTrainingService extends AdvanceNoticeService implements ITravelTrainingService {
+
+    @Autowired
+    public BaseDao baseDao;
+    @Autowired
+    PermissionService permissionService;
+    @Autowired
+    QueryFilterService queryFilterService;
+
+    /**
+     * 淇濆瓨宸ヤ綔浜哄憳鍑哄樊锛堝煿璁級瀹℃壒
+     * @param fs
+     * @return
+     */
+    @Transactional
+    public String saveTravelTrain(FieldSetEntity fs) {
+        if(StringUtils.isEmpty(fs.getString(CmnConst.UUID))){
+            return baseDao.add(fs);
+        } else {
+            baseDao.update(fs);
+            return fs.getString(CmnConst.UUID);
+        }
+    }
+
+    /**
+     * 鍒犻櫎宸ヤ綔浜哄憳鍑哄樊锛堝煿璁級瀹℃壒
+     * @param fs
+     * @return
+     */
+    @Transactional
+    public boolean deleteTravelTrain(FieldSetEntity fs) {
+        String uuid = fs.getUUID();
+        String[] uuids = uuid.split(",");
+        return baseDao.delete(CmnConst.APP_GZRYCCSPB, BaseUtil.buildQuestionMarkFilter(CmnConst.UUID, uuids.length, true), uuids);
+    }
+
+    /**
+     * 鑾峰彇宸ヤ綔浜哄憳鍑哄樊锛堝煿璁級瀹℃壒鍒楄〃
+     * @param fs
+     * @return
+     * @throws BaseException
+     */
+    public DataTableEntity getTravelTrainList(FieldSetEntity fs) throws BaseException {
+        String filter=fs.getString("filter");
+//        String dataFilter = permissionService.getDataFilter(fs.getTableName(), "");
+//        if(!StringUtils.isEmpty(dataFilter)){
+//            if(filter==null){
+//                filter = dataFilter;
+//            }else{
+//                filter += " and "+dataFilter;
+//            }
+//        }
+        DataTableEntity dt = baseDao.listTable(CmnConst.APP_GZRYCCSPB,filter,null,null,null,fs.getInteger(CmnConst.PAGESIZE),fs.getInteger(CmnConst.CPAGE));
+        baseDao.loadPromptData(dt);
+        return dt;
+    }
+
+    /**
+     * 鑾峰彇宸ヤ綔浜哄憳鍑哄樊锛堝煿璁級瀹℃壒璇︽儏
+     * @param fs
+     * @return
+     * @throws BaseException
+     */
+    public FieldSetEntity getTravelTrainInfo(FieldSetEntity fs) throws BaseException {
+        return baseDao.listInternationDataTable(baseDao.getFieldSetEntity(CmnConst.APP_GZRYCCSPB, fs.getString(CmnConst.UUID), true),null);
+    }
+
+    /**
+     * 宸ヤ綔浜哄憳鍑哄樊锛堝煿璁級瀹℃壒閫佸姙
+     * @param uuid
+     * @return
+     */
+    @Transactional
+    public boolean sendTravelTrain(String uuid) {
+        return false;
+    }
+}
diff --git a/home-server-admin/src/main/java/com/home/xining/service/idel/IAdvanceNoticeService.java b/home-server-admin/src/main/java/com/home/xining/service/idel/IAdvanceNoticeService.java
new file mode 100644
index 0000000..bc82b7e
--- /dev/null
+++ b/home-server-admin/src/main/java/com/home/xining/service/idel/IAdvanceNoticeService.java
@@ -0,0 +1,27 @@
+package com.home.xining.service.idel;
+
+import com.product.core.entity.DataTableEntity;
+import com.product.core.entity.FieldSetEntity;
+import com.product.core.exception.BaseException;
+
+import java.text.ParseException;
+
+/**
+ * @ClassName: IAdvanceNoticeService
+ * @Author: luoxin
+ * @Date: 2022/1/11 12:16
+ * @Description: 琛屾斂澶勭綒浜嬪厛鍛婄煡涔︽帴鍙�
+ */
+public interface IAdvanceNoticeService {
+
+    DataTableEntity listAdvanceNoticeg(FieldSetEntity fs);
+
+    FieldSetEntity getAdvanceNotice(FieldSetEntity fs);
+
+    String saveAdvanceNotice(FieldSetEntity fs) throws BaseException;
+
+    String deleteAdvanceNotice(FieldSetEntity fs) throws BaseException;
+
+    void addTypeSize(FieldSetEntity fs) throws BaseException;
+
+}
diff --git a/home-server-admin/src/main/java/com/home/xining/service/idel/ICivilServantReceptionService.java b/home-server-admin/src/main/java/com/home/xining/service/idel/ICivilServantReceptionService.java
new file mode 100644
index 0000000..3fd33b9
--- /dev/null
+++ b/home-server-admin/src/main/java/com/home/xining/service/idel/ICivilServantReceptionService.java
@@ -0,0 +1,20 @@
+package com.home.xining.service.idel;
+
+import com.product.core.entity.FieldSetEntity;
+
+/**
+ * @ClassName: ICivilServantReceptionService
+ * @Author: ZhouJie
+ * @Date: 2022/1/19 10:43
+ * @Description: 鍏姟鎺ュ緟瀹℃壒
+ */
+public interface ICivilServantReceptionService {
+
+    String saveCivilServantReception(FieldSetEntity fs);
+
+    boolean deleteCivilServantReception(FieldSetEntity fs);
+
+    boolean sendCivilServantReception(String uuid);
+
+
+}
diff --git a/home-server-admin/src/main/java/com/home/xining/service/idel/IHousingArchivesService.java b/home-server-admin/src/main/java/com/home/xining/service/idel/IHousingArchivesService.java
new file mode 100644
index 0000000..db8acec
--- /dev/null
+++ b/home-server-admin/src/main/java/com/home/xining/service/idel/IHousingArchivesService.java
@@ -0,0 +1,22 @@
+package com.home.xining.service.idel;
+
+import com.product.core.entity.FieldSetEntity;
+import com.product.core.exception.BaseException;
+
+/**
+ * @ClassName: IHousingArchivesService
+ * @Author: luoxin
+ * @Date: 2022/6/1 10:43
+ * @Description: 涓�鎴夸竴妗h皟鏌ヨ〃
+ */
+public interface IHousingArchivesService {
+    /**
+     * 鑾峰彇缂栧彿
+     * @return
+     */
+    String getSerialNumber()throws BaseException;
+    /**
+     *淇濆瓨鎴垮眿妗f
+     */
+    String saveIHousingArchives(FieldSetEntity fse)throws BaseException;
+}
diff --git a/home-server-admin/src/main/java/com/home/xining/service/idel/ILawEnforcementService.java b/home-server-admin/src/main/java/com/home/xining/service/idel/ILawEnforcementService.java
new file mode 100644
index 0000000..ae970ad
--- /dev/null
+++ b/home-server-admin/src/main/java/com/home/xining/service/idel/ILawEnforcementService.java
@@ -0,0 +1,24 @@
+package com.home.xining.service.idel;
+
+import com.product.core.entity.DataTableEntity;
+import com.product.core.entity.FieldSetEntity;
+
+import java.text.ParseException;
+
+/**
+ * @ClassName: IAdvanceNoticeService
+ * @Author: luoxin
+ * @Date: 2022/1/11 12:16
+ * @Description: 琛屾斂澶勭綒浜嬪厛鍛婄煡涔︽帴鍙�
+ */
+public interface ILawEnforcementService {
+
+    DataTableEntity listLawEnforcement(FieldSetEntity fs);
+
+    FieldSetEntity getLawEnforcement(FieldSetEntity fs);
+
+    String saveLawEnforcement(FieldSetEntity fs) throws ParseException;
+
+    String deleteLawEnforcement(FieldSetEntity fs) throws ParseException;
+
+}
diff --git a/home-server-admin/src/main/java/com/home/xining/service/idel/IOfficeExpensesService.java b/home-server-admin/src/main/java/com/home/xining/service/idel/IOfficeExpensesService.java
new file mode 100644
index 0000000..7f6f357
--- /dev/null
+++ b/home-server-admin/src/main/java/com/home/xining/service/idel/IOfficeExpensesService.java
@@ -0,0 +1,20 @@
+package com.home.xining.service.idel;
+
+import com.product.core.entity.FieldSetEntity;
+
+
+/**
+ * @ClassName: IOfficeExpensesService
+ * @Author: ZhouJie
+ * @Date: 2022/1/11 17:16
+ * @Description: 鍔炲叕鐢ㄥ搧缁忚垂(棰嗙敤)瀹℃壒绠$悊
+ */
+public interface IOfficeExpensesService {
+
+    String saveOfficeExpenses(FieldSetEntity fs);
+
+    boolean deleteOfficeExpenses(FieldSetEntity fs);
+
+    boolean sendOfficeExpenses(String uuid);
+
+}
diff --git a/home-server-admin/src/main/java/com/home/xining/service/idel/IOfficePurchaseService.java b/home-server-admin/src/main/java/com/home/xining/service/idel/IOfficePurchaseService.java
new file mode 100644
index 0000000..567fb8d
--- /dev/null
+++ b/home-server-admin/src/main/java/com/home/xining/service/idel/IOfficePurchaseService.java
@@ -0,0 +1,17 @@
+package com.home.xining.service.idel;
+
+import com.product.core.entity.FieldSetEntity;
+
+/**
+ * @ClassName: IOfficePurchaseService
+ * @Author: ZhouJie
+ * @Date: 2022/1/24 09:49
+ * @Description: 鍔炲叕瀹ょ敤鍝侀噰璐崟
+ */
+public interface IOfficePurchaseService {
+
+    String saveOfficePurchase(FieldSetEntity fs);
+
+    boolean deleteOfficePurchase(FieldSetEntity fs);
+
+}
diff --git a/home-server-admin/src/main/java/com/home/xining/service/idel/IOfficeSuppliesCollectionService.java b/home-server-admin/src/main/java/com/home/xining/service/idel/IOfficeSuppliesCollectionService.java
new file mode 100644
index 0000000..a810ab9
--- /dev/null
+++ b/home-server-admin/src/main/java/com/home/xining/service/idel/IOfficeSuppliesCollectionService.java
@@ -0,0 +1,20 @@
+package com.home.xining.service.idel;
+
+import com.product.core.entity.FieldSetEntity;
+
+public interface IOfficeSuppliesCollectionService {
+
+	/**
+	 * 	鍔炲叕鐢ㄥ搧棰嗗彇鐢宠淇濆瓨
+	 * @param fs
+	 * @return
+	 */
+	String saveOfficePurchase(FieldSetEntity fs);
+
+	/**
+	 * 	鍔炲叕鐢ㄥ搧棰嗗彇鐢宠鍒犻櫎
+	 * @param fs
+	 * @return
+	 */
+    boolean deleteOfficePurchase(FieldSetEntity fs);
+}
diff --git a/home-server-admin/src/main/java/com/home/xining/service/idel/IReceiptDocumentService.java b/home-server-admin/src/main/java/com/home/xining/service/idel/IReceiptDocumentService.java
new file mode 100644
index 0000000..e30007c
--- /dev/null
+++ b/home-server-admin/src/main/java/com/home/xining/service/idel/IReceiptDocumentService.java
@@ -0,0 +1,13 @@
+package com.home.xining.service.idel;
+
+import com.product.core.entity.FieldSetEntity;
+
+/**
+ * @ClassName: IReceiptDocumentService
+ * @Author: luoxin
+ * @Date: 2022/4/21 12:16
+ * @Description: 鏀舵枃绠$悊
+ */
+public interface IReceiptDocumentService {
+    Boolean isPrint(FieldSetEntity fse);
+}
diff --git a/home-server-admin/src/main/java/com/home/xining/service/idel/ISendDocumentService.java b/home-server-admin/src/main/java/com/home/xining/service/idel/ISendDocumentService.java
new file mode 100644
index 0000000..7724c22
--- /dev/null
+++ b/home-server-admin/src/main/java/com/home/xining/service/idel/ISendDocumentService.java
@@ -0,0 +1,24 @@
+package com.home.xining.service.idel;
+
+import com.product.core.entity.FieldSetEntity;
+import com.product.core.exception.BaseException;
+
+/**
+ * @ClassName: ISendDocumentService
+ * @Author: ZhouJie
+ * @Date: 2022/2/21 13:46
+ * @Description: 鍙戞枃绋跨焊锛堝彂鏂囩鐞嗭級
+ */
+public interface ISendDocumentService {
+    /**
+     * 鎵归噺褰掓。
+     * @param fieldSetEntity
+     */
+    boolean batchFile(FieldSetEntity fieldSetEntity);
+
+    /**
+     * 淇濆瓨鍙戞枃绋跨焊
+     * @return
+     */
+    String saveFieldSetEntity(FieldSetEntity fse)throws BaseException;
+}
diff --git a/home-server-admin/src/main/java/com/home/xining/service/idel/ITravelTrainingService.java b/home-server-admin/src/main/java/com/home/xining/service/idel/ITravelTrainingService.java
new file mode 100644
index 0000000..d7d5880
--- /dev/null
+++ b/home-server-admin/src/main/java/com/home/xining/service/idel/ITravelTrainingService.java
@@ -0,0 +1,20 @@
+package com.home.xining.service.idel;
+
+import com.product.core.entity.FieldSetEntity;
+
+
+/**
+ * @ClassName: ITravelTrainingService
+ * @Author: ZhouJie
+ * @Date: 2022/1/18 9:50
+ * @Description: 宸ヤ綔浜哄憳鍑哄樊锛堝煿璁級瀹℃壒
+ */
+public interface ITravelTrainingService {
+
+    String saveTravelTrain(FieldSetEntity fs);
+
+    boolean deleteTravelTrain(FieldSetEntity fs);
+
+    boolean sendTravelTrain(String uuid);
+
+}
diff --git a/home-server-admin/target/classes/META-INF/MANIFEST.MF b/home-server-admin/target/classes/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..7d555d2
--- /dev/null
+++ b/home-server-admin/target/classes/META-INF/MANIFEST.MF
@@ -0,0 +1,11 @@
+Manifest-Version: 1.0
+Built-By: longxin
+Build-Jdk: 18.0.1
+Implementation-Title: product-server-xining
+Implementation-Version: 1.2.0-SNAPSHOT
+Implementation-Vendor-Id: com.lx
+Implementation-URL: https://projects.spring.io/spring-boot/#/spring-boot
+ -starter-parent/product-server/product-server-xining
+Main-Class: com.product.Application
+Created-By: Maven Integration for Eclipse
+
diff --git a/home-server-admin/target/classes/META-INF/maven/com.lx/product-server-xining/pom.properties b/home-server-admin/target/classes/META-INF/maven/com.lx/product-server-xining/pom.properties
new file mode 100644
index 0000000..5000c95
--- /dev/null
+++ b/home-server-admin/target/classes/META-INF/maven/com.lx/product-server-xining/pom.properties
@@ -0,0 +1,7 @@
+#Generated by Maven Integration for Eclipse
+#Mon Aug 29 10:48:37 GMT+08:00 2022
+artifactId=product-server-xining
+groupId=com.lx
+m2e.projectLocation=D\:\\product\\XiNingWorkspace\\product-server-new-xn\\home-server-admin
+m2e.projectName=product-server-xining
+version=1.2.0-SNAPSHOT
diff --git a/home-server-admin/target/classes/META-INF/maven/com.lx/product-server-xining/pom.xml b/home-server-admin/target/classes/META-INF/maven/com.lx/product-server-xining/pom.xml
new file mode 100644
index 0000000..1633cd2
--- /dev/null
+++ b/home-server-admin/target/classes/META-INF/maven/com.lx/product-server-xining/pom.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <parent>
+        <artifactId>product-server</artifactId>
+        <groupId>com.lx</groupId>
+        <version>1.2.0-SNAPSHOT</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+    <artifactId>product-server-xining</artifactId>
+    <packaging>jar</packaging>
+    <name>product-server-xining</name>
+    <description>product-server-xining</description>
+
+    <properties>
+        <maven.compiler.source>8</maven.compiler.source>
+        <maven.compiler.target>8</maven.compiler.target>
+    </properties>
+    <dependencies>
+        <dependency>
+            <groupId>com.lx</groupId>
+            <artifactId>product-server-common</artifactId>
+            <version>1.2.0-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>com.lx</groupId>
+            <artifactId>product-server-util</artifactId>
+            <version>1.2.0-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>com.lx</groupId>
+            <artifactId>product-server-admin</artifactId>
+            <version>1.2.0-SNAPSHOT</version>
+            <scope>compile</scope>
+        </dependency>
+    </dependencies>
+</project>
diff --git a/home-server-admin/target/classes/com/home/xining/config/CmnConst.class b/home-server-admin/target/classes/com/home/xining/config/CmnConst.class
new file mode 100644
index 0000000..f97b03a
--- /dev/null
+++ b/home-server-admin/target/classes/com/home/xining/config/CmnConst.class
Binary files differ
diff --git a/home-server-admin/target/classes/com/home/xining/config/SystemCode.class b/home-server-admin/target/classes/com/home/xining/config/SystemCode.class
new file mode 100644
index 0000000..9fdf6c6
--- /dev/null
+++ b/home-server-admin/target/classes/com/home/xining/config/SystemCode.class
Binary files differ
diff --git a/home-server-admin/target/classes/com/home/xining/controller/AdvanceNoticeController.class b/home-server-admin/target/classes/com/home/xining/controller/AdvanceNoticeController.class
new file mode 100644
index 0000000..7fd0ee4
--- /dev/null
+++ b/home-server-admin/target/classes/com/home/xining/controller/AdvanceNoticeController.class
Binary files differ
diff --git a/home-server-admin/target/classes/com/home/xining/controller/CivilServantReceptionController.class b/home-server-admin/target/classes/com/home/xining/controller/CivilServantReceptionController.class
new file mode 100644
index 0000000..26852bd
--- /dev/null
+++ b/home-server-admin/target/classes/com/home/xining/controller/CivilServantReceptionController.class
Binary files differ
diff --git a/home-server-admin/target/classes/com/home/xining/controller/HousingArchivesController.class b/home-server-admin/target/classes/com/home/xining/controller/HousingArchivesController.class
new file mode 100644
index 0000000..629569d
--- /dev/null
+++ b/home-server-admin/target/classes/com/home/xining/controller/HousingArchivesController.class
Binary files differ
diff --git a/home-server-admin/target/classes/com/home/xining/controller/LawEnforcementController.class b/home-server-admin/target/classes/com/home/xining/controller/LawEnforcementController.class
new file mode 100644
index 0000000..8a1632c
--- /dev/null
+++ b/home-server-admin/target/classes/com/home/xining/controller/LawEnforcementController.class
Binary files differ
diff --git a/home-server-admin/target/classes/com/home/xining/controller/OfficeExpensesController.class b/home-server-admin/target/classes/com/home/xining/controller/OfficeExpensesController.class
new file mode 100644
index 0000000..f7981b8
--- /dev/null
+++ b/home-server-admin/target/classes/com/home/xining/controller/OfficeExpensesController.class
Binary files differ
diff --git a/home-server-admin/target/classes/com/home/xining/controller/OfficePurchaseController.class b/home-server-admin/target/classes/com/home/xining/controller/OfficePurchaseController.class
new file mode 100644
index 0000000..83e5a4f
--- /dev/null
+++ b/home-server-admin/target/classes/com/home/xining/controller/OfficePurchaseController.class
Binary files differ
diff --git a/home-server-admin/target/classes/com/home/xining/controller/OfficeSuppliesCollectionController.class b/home-server-admin/target/classes/com/home/xining/controller/OfficeSuppliesCollectionController.class
new file mode 100644
index 0000000..96986fd
--- /dev/null
+++ b/home-server-admin/target/classes/com/home/xining/controller/OfficeSuppliesCollectionController.class
Binary files differ
diff --git a/home-server-admin/target/classes/com/home/xining/controller/PleaseLeaveController.class b/home-server-admin/target/classes/com/home/xining/controller/PleaseLeaveController.class
new file mode 100644
index 0000000..e421f37
--- /dev/null
+++ b/home-server-admin/target/classes/com/home/xining/controller/PleaseLeaveController.class
Binary files differ
diff --git a/home-server-admin/target/classes/com/home/xining/controller/ReceiptDocumentController.class b/home-server-admin/target/classes/com/home/xining/controller/ReceiptDocumentController.class
new file mode 100644
index 0000000..1555add
--- /dev/null
+++ b/home-server-admin/target/classes/com/home/xining/controller/ReceiptDocumentController.class
Binary files differ
diff --git a/home-server-admin/target/classes/com/home/xining/controller/SendDocumentController.class b/home-server-admin/target/classes/com/home/xining/controller/SendDocumentController.class
new file mode 100644
index 0000000..0c81471
--- /dev/null
+++ b/home-server-admin/target/classes/com/home/xining/controller/SendDocumentController.class
Binary files differ
diff --git a/home-server-admin/target/classes/com/home/xining/controller/TravelTrainingController.class b/home-server-admin/target/classes/com/home/xining/controller/TravelTrainingController.class
new file mode 100644
index 0000000..ac42a69
--- /dev/null
+++ b/home-server-admin/target/classes/com/home/xining/controller/TravelTrainingController.class
Binary files differ
diff --git a/home-server-admin/target/classes/com/home/xining/controller/XiNingPublicController.class b/home-server-admin/target/classes/com/home/xining/controller/XiNingPublicController.class
new file mode 100644
index 0000000..f4d424a
--- /dev/null
+++ b/home-server-admin/target/classes/com/home/xining/controller/XiNingPublicController.class
Binary files differ
diff --git a/home-server-admin/target/classes/com/home/xining/service/AdvanceNoticeService.class b/home-server-admin/target/classes/com/home/xining/service/AdvanceNoticeService.class
new file mode 100644
index 0000000..d8b4bba
--- /dev/null
+++ b/home-server-admin/target/classes/com/home/xining/service/AdvanceNoticeService.class
Binary files differ
diff --git a/home-server-admin/target/classes/com/home/xining/service/CivilServantReceptionService.class b/home-server-admin/target/classes/com/home/xining/service/CivilServantReceptionService.class
new file mode 100644
index 0000000..e9452e8
--- /dev/null
+++ b/home-server-admin/target/classes/com/home/xining/service/CivilServantReceptionService.class
Binary files differ
diff --git a/home-server-admin/target/classes/com/home/xining/service/HousingArchivesService.class b/home-server-admin/target/classes/com/home/xining/service/HousingArchivesService.class
new file mode 100644
index 0000000..027f8ad
--- /dev/null
+++ b/home-server-admin/target/classes/com/home/xining/service/HousingArchivesService.class
Binary files differ
diff --git a/home-server-admin/target/classes/com/home/xining/service/LawEnforcementService.class b/home-server-admin/target/classes/com/home/xining/service/LawEnforcementService.class
new file mode 100644
index 0000000..1d98154
--- /dev/null
+++ b/home-server-admin/target/classes/com/home/xining/service/LawEnforcementService.class
Binary files differ
diff --git a/home-server-admin/target/classes/com/home/xining/service/OfficeExpensesService.class b/home-server-admin/target/classes/com/home/xining/service/OfficeExpensesService.class
new file mode 100644
index 0000000..42404c1
--- /dev/null
+++ b/home-server-admin/target/classes/com/home/xining/service/OfficeExpensesService.class
Binary files differ
diff --git a/home-server-admin/target/classes/com/home/xining/service/OfficePurchaseService.class b/home-server-admin/target/classes/com/home/xining/service/OfficePurchaseService.class
new file mode 100644
index 0000000..8214514
--- /dev/null
+++ b/home-server-admin/target/classes/com/home/xining/service/OfficePurchaseService.class
Binary files differ
diff --git a/home-server-admin/target/classes/com/home/xining/service/OfficeSuppliesCollectionService.class b/home-server-admin/target/classes/com/home/xining/service/OfficeSuppliesCollectionService.class
new file mode 100644
index 0000000..45c2cda
--- /dev/null
+++ b/home-server-admin/target/classes/com/home/xining/service/OfficeSuppliesCollectionService.class
Binary files differ
diff --git a/home-server-admin/target/classes/com/home/xining/service/PleaseLeaveService.class b/home-server-admin/target/classes/com/home/xining/service/PleaseLeaveService.class
new file mode 100644
index 0000000..dc262e2
--- /dev/null
+++ b/home-server-admin/target/classes/com/home/xining/service/PleaseLeaveService.class
Binary files differ
diff --git a/home-server-admin/target/classes/com/home/xining/service/ReceiptDocumentService.class b/home-server-admin/target/classes/com/home/xining/service/ReceiptDocumentService.class
new file mode 100644
index 0000000..6d1ba42
--- /dev/null
+++ b/home-server-admin/target/classes/com/home/xining/service/ReceiptDocumentService.class
Binary files differ
diff --git a/home-server-admin/target/classes/com/home/xining/service/SendDocumentService.class b/home-server-admin/target/classes/com/home/xining/service/SendDocumentService.class
new file mode 100644
index 0000000..d08418d
--- /dev/null
+++ b/home-server-admin/target/classes/com/home/xining/service/SendDocumentService.class
Binary files differ
diff --git a/home-server-admin/target/classes/com/home/xining/service/TravelTrainingService.class b/home-server-admin/target/classes/com/home/xining/service/TravelTrainingService.class
new file mode 100644
index 0000000..9a302fe
--- /dev/null
+++ b/home-server-admin/target/classes/com/home/xining/service/TravelTrainingService.class
Binary files differ
diff --git a/home-server-admin/target/classes/com/home/xining/service/idel/IAdvanceNoticeService.class b/home-server-admin/target/classes/com/home/xining/service/idel/IAdvanceNoticeService.class
new file mode 100644
index 0000000..6572a5c
--- /dev/null
+++ b/home-server-admin/target/classes/com/home/xining/service/idel/IAdvanceNoticeService.class
Binary files differ
diff --git a/home-server-admin/target/classes/com/home/xining/service/idel/ICivilServantReceptionService.class b/home-server-admin/target/classes/com/home/xining/service/idel/ICivilServantReceptionService.class
new file mode 100644
index 0000000..a1556f3
--- /dev/null
+++ b/home-server-admin/target/classes/com/home/xining/service/idel/ICivilServantReceptionService.class
Binary files differ
diff --git a/home-server-admin/target/classes/com/home/xining/service/idel/IHousingArchivesService.class b/home-server-admin/target/classes/com/home/xining/service/idel/IHousingArchivesService.class
new file mode 100644
index 0000000..d643d86
--- /dev/null
+++ b/home-server-admin/target/classes/com/home/xining/service/idel/IHousingArchivesService.class
Binary files differ
diff --git a/home-server-admin/target/classes/com/home/xining/service/idel/ILawEnforcementService.class b/home-server-admin/target/classes/com/home/xining/service/idel/ILawEnforcementService.class
new file mode 100644
index 0000000..53dca09
--- /dev/null
+++ b/home-server-admin/target/classes/com/home/xining/service/idel/ILawEnforcementService.class
Binary files differ
diff --git a/home-server-admin/target/classes/com/home/xining/service/idel/IOfficeExpensesService.class b/home-server-admin/target/classes/com/home/xining/service/idel/IOfficeExpensesService.class
new file mode 100644
index 0000000..d7fe607
--- /dev/null
+++ b/home-server-admin/target/classes/com/home/xining/service/idel/IOfficeExpensesService.class
Binary files differ
diff --git a/home-server-admin/target/classes/com/home/xining/service/idel/IOfficePurchaseService.class b/home-server-admin/target/classes/com/home/xining/service/idel/IOfficePurchaseService.class
new file mode 100644
index 0000000..37019f2
--- /dev/null
+++ b/home-server-admin/target/classes/com/home/xining/service/idel/IOfficePurchaseService.class
Binary files differ
diff --git a/home-server-admin/target/classes/com/home/xining/service/idel/IOfficeSuppliesCollectionService.class b/home-server-admin/target/classes/com/home/xining/service/idel/IOfficeSuppliesCollectionService.class
new file mode 100644
index 0000000..084cf46
--- /dev/null
+++ b/home-server-admin/target/classes/com/home/xining/service/idel/IOfficeSuppliesCollectionService.class
Binary files differ
diff --git a/home-server-admin/target/classes/com/home/xining/service/idel/IReceiptDocumentService.class b/home-server-admin/target/classes/com/home/xining/service/idel/IReceiptDocumentService.class
new file mode 100644
index 0000000..ed82561
--- /dev/null
+++ b/home-server-admin/target/classes/com/home/xining/service/idel/IReceiptDocumentService.class
Binary files differ
diff --git a/home-server-admin/target/classes/com/home/xining/service/idel/ISendDocumentService.class b/home-server-admin/target/classes/com/home/xining/service/idel/ISendDocumentService.class
new file mode 100644
index 0000000..e032a57
--- /dev/null
+++ b/home-server-admin/target/classes/com/home/xining/service/idel/ISendDocumentService.class
Binary files differ
diff --git a/home-server-admin/target/classes/com/home/xining/service/idel/ITravelTrainingService.class b/home-server-admin/target/classes/com/home/xining/service/idel/ITravelTrainingService.class
new file mode 100644
index 0000000..98d17c7
--- /dev/null
+++ b/home-server-admin/target/classes/com/home/xining/service/idel/ITravelTrainingService.class
Binary files differ
diff --git a/home-server-admin/target/maven-archiver/pom.properties b/home-server-admin/target/maven-archiver/pom.properties
new file mode 100644
index 0000000..5062778
--- /dev/null
+++ b/home-server-admin/target/maven-archiver/pom.properties
@@ -0,0 +1,4 @@
+#Created by Apache Maven 3.6.1
+version=1.2.0-SNAPSHOT
+groupId=com.lx
+artifactId=product-server-xining
diff --git a/home-server-admin/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/home-server-admin/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
new file mode 100644
index 0000000..46a9f1f
--- /dev/null
+++ b/home-server-admin/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
@@ -0,0 +1,35 @@
+com\home\xining\service\AdvanceNoticeService.class
+com\home\xining\service\idel\IAdvanceNoticeService.class
+com\home\xining\controller\SendDocumentController.class
+com\home\xining\service\idel\ISendDocumentService.class
+com\home\xining\controller\HousingArchivesController.class
+com\home\xining\service\OfficePurchaseService.class
+com\home\xining\controller\XiNingPublicController.class
+com\home\xining\service\idel\IOfficeExpensesService.class
+com\home\xining\service\PleaseLeaveService.class
+com\home\xining\service\idel\IHousingArchivesService.class
+com\home\xining\service\LawEnforcementService.class
+com\home\xining\controller\CivilServantReceptionController.class
+com\home\xining\controller\OfficeExpensesController.class
+com\home\xining\service\ReceiptDocumentService.class
+com\home\xining\service\idel\IOfficeSuppliesCollectionService.class
+com\home\xining\service\OfficeSuppliesCollectionService.class
+com\home\xining\controller\OfficeSuppliesCollectionController.class
+com\home\xining\service\idel\IReceiptDocumentService.class
+com\home\xining\controller\ReceiptDocumentController.class
+com\home\xining\service\CivilServantReceptionService.class
+com\home\xining\service\idel\ILawEnforcementService.class
+com\home\xining\service\SendDocumentService.class
+com\home\xining\controller\LawEnforcementController.class
+com\home\xining\controller\PleaseLeaveController.class
+com\home\xining\controller\TravelTrainingController.class
+com\home\xining\service\idel\ICivilServantReceptionService.class
+com\home\xining\config\SystemCode.class
+com\home\xining\service\OfficeExpensesService.class
+com\home\xining\config\CmnConst.class
+com\home\xining\service\HousingArchivesService.class
+com\home\xining\controller\OfficePurchaseController.class
+com\home\xining\controller\AdvanceNoticeController.class
+com\home\xining\service\idel\ITravelTrainingService.class
+com\home\xining\service\idel\IOfficePurchaseService.class
+com\home\xining\service\TravelTrainingService.class
diff --git a/home-server-admin/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/home-server-admin/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
new file mode 100644
index 0000000..27924bd
--- /dev/null
+++ b/home-server-admin/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
@@ -0,0 +1,35 @@
+D:\product\XiNingWorkspace\product-server-new-xn\home-server-admin\src\main\java\com\home\xining\service\OfficeExpensesService.java
+D:\product\XiNingWorkspace\product-server-new-xn\home-server-admin\src\main\java\com\home\xining\service\ReceiptDocumentService.java
+D:\product\XiNingWorkspace\product-server-new-xn\home-server-admin\src\main\java\com\home\xining\controller\ReceiptDocumentController.java
+D:\product\XiNingWorkspace\product-server-new-xn\home-server-admin\src\main\java\com\home\xining\service\CivilServantReceptionService.java
+D:\product\XiNingWorkspace\product-server-new-xn\home-server-admin\src\main\java\com\home\xining\service\idel\ISendDocumentService.java
+D:\product\XiNingWorkspace\product-server-new-xn\home-server-admin\src\main\java\com\home\xining\service\OfficePurchaseService.java
+D:\product\XiNingWorkspace\product-server-new-xn\home-server-admin\src\main\java\com\home\xining\service\idel\IOfficePurchaseService.java
+D:\product\XiNingWorkspace\product-server-new-xn\home-server-admin\src\main\java\com\home\xining\service\OfficeSuppliesCollectionService.java
+D:\product\XiNingWorkspace\product-server-new-xn\home-server-admin\src\main\java\com\home\xining\config\SystemCode.java
+D:\product\XiNingWorkspace\product-server-new-xn\home-server-admin\src\main\java\com\home\xining\service\idel\IOfficeExpensesService.java
+D:\product\XiNingWorkspace\product-server-new-xn\home-server-admin\src\main\java\com\home\xining\controller\XiNingPublicController.java
+D:\product\XiNingWorkspace\product-server-new-xn\home-server-admin\src\main\java\com\home\xining\service\SendDocumentService.java
+D:\product\XiNingWorkspace\product-server-new-xn\home-server-admin\src\main\java\com\home\xining\service\TravelTrainingService.java
+D:\product\XiNingWorkspace\product-server-new-xn\home-server-admin\src\main\java\com\home\xining\service\idel\IReceiptDocumentService.java
+D:\product\XiNingWorkspace\product-server-new-xn\home-server-admin\src\main\java\com\home\xining\controller\PleaseLeaveController.java
+D:\product\XiNingWorkspace\product-server-new-xn\home-server-admin\src\main\java\com\home\xining\service\idel\IOfficeSuppliesCollectionService.java
+D:\product\XiNingWorkspace\product-server-new-xn\home-server-admin\src\main\java\com\home\xining\controller\LawEnforcementController.java
+D:\product\XiNingWorkspace\product-server-new-xn\home-server-admin\src\main\java\com\home\xining\controller\HousingArchivesController.java
+D:\product\XiNingWorkspace\product-server-new-xn\home-server-admin\src\main\java\com\home\xining\controller\TravelTrainingController.java
+D:\product\XiNingWorkspace\product-server-new-xn\home-server-admin\src\main\java\com\home\xining\controller\OfficeExpensesController.java
+D:\product\XiNingWorkspace\product-server-new-xn\home-server-admin\src\main\java\com\home\xining\service\idel\ILawEnforcementService.java
+D:\product\XiNingWorkspace\product-server-new-xn\home-server-admin\src\main\java\com\home\xining\service\idel\ITravelTrainingService.java
+D:\product\XiNingWorkspace\product-server-new-xn\home-server-admin\src\main\java\com\home\xining\controller\CivilServantReceptionController.java
+D:\product\XiNingWorkspace\product-server-new-xn\home-server-admin\src\main\java\com\home\xining\service\AdvanceNoticeService.java
+D:\product\XiNingWorkspace\product-server-new-xn\home-server-admin\src\main\java\com\home\xining\service\idel\IHousingArchivesService.java
+D:\product\XiNingWorkspace\product-server-new-xn\home-server-admin\src\main\java\com\home\xining\service\PleaseLeaveService.java
+D:\product\XiNingWorkspace\product-server-new-xn\home-server-admin\src\main\java\com\home\xining\service\HousingArchivesService.java
+D:\product\XiNingWorkspace\product-server-new-xn\home-server-admin\src\main\java\com\home\xining\controller\AdvanceNoticeController.java
+D:\product\XiNingWorkspace\product-server-new-xn\home-server-admin\src\main\java\com\home\xining\service\idel\ICivilServantReceptionService.java
+D:\product\XiNingWorkspace\product-server-new-xn\home-server-admin\src\main\java\com\home\xining\controller\OfficePurchaseController.java
+D:\product\XiNingWorkspace\product-server-new-xn\home-server-admin\src\main\java\com\home\xining\service\LawEnforcementService.java
+D:\product\XiNingWorkspace\product-server-new-xn\home-server-admin\src\main\java\com\home\xining\config\CmnConst.java
+D:\product\XiNingWorkspace\product-server-new-xn\home-server-admin\src\main\java\com\home\xining\controller\OfficeSuppliesCollectionController.java
+D:\product\XiNingWorkspace\product-server-new-xn\home-server-admin\src\main\java\com\home\xining\service\idel\IAdvanceNoticeService.java
+D:\product\XiNingWorkspace\product-server-new-xn\home-server-admin\src\main\java\com\home\xining\controller\SendDocumentController.java
diff --git a/home-server-admin/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/home-server-admin/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/home-server-admin/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
diff --git a/home-server-admin/target/product-server-xining-1.0.0-SNAPSHOT.jar b/home-server-admin/target/product-server-xining-1.0.0-SNAPSHOT.jar
new file mode 100644
index 0000000..425c4ed
--- /dev/null
+++ b/home-server-admin/target/product-server-xining-1.0.0-SNAPSHOT.jar
Binary files differ
diff --git a/home-server-admin/target/product-server-xining-1.2.0-SNAPSHOT.jar b/home-server-admin/target/product-server-xining-1.2.0-SNAPSHOT.jar
new file mode 100644
index 0000000..3f9795b
--- /dev/null
+++ b/home-server-admin/target/product-server-xining-1.2.0-SNAPSHOT.jar
Binary files differ

--
Gitblit v1.9.2