diff --git a/base-manager/db/base_modules.sql b/base-manager/db/base_modules.sql
index 2b2f0569e30849d9d06cfc68aa5ed70610a29290..f1329442095e9b23bbe49d4ee153fde390953532 100644
--- a/base-manager/db/base_modules.sql
+++ b/base-manager/db/base_modules.sql
@@ -1,4 +1,5 @@
-use `base-platform`;
+use
+`base-platform`;
 -- ----------------------------
 -- 妯″潡琛�
 -- ----------------------------
@@ -142,20 +143,24 @@ CREATE TABLE `mortals_sys_site_business`
 -- 绔欑偣浜嬮」琛�
 -- ----------------------------
 DROP TABLE IF EXISTS `mortals_sys_site_matter`;
-CREATE TABLE `mortals_sys_site_matter`
+CREATE TABLE mortals_sys_site_matter
 (
-    `id`           bigint(20) NOT NULL AUTO_INCREMENT COMMENT '搴忓彿锛屼富閿紝鑷闀�',
-    `siteId`       bigint(20) DEFAULT NULL COMMENT '绔欑偣ID',
-    `siteName`     varchar(255)  DEFAULT NULL COMMENT '绔欑偣鍚嶇О',
-    `matterId`     bigint(20) DEFAULT NULL COMMENT '浜嬮」ID',
-    `matterName`   varchar(1024) DEFAULT NULL COMMENT '浜嬮」鍚嶇О',
-    `deptId`       bigint(20) DEFAULT NULL COMMENT '閮ㄩ棬ID',
-    `deptName`     varchar(64)   DEFAULT NULL COMMENT '閮ㄩ棬鍚嶇О',
-    `createTime`   datetime      DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
-    `createUserId` bigint(20) DEFAULT NULL COMMENT '鍒涘缓鐢ㄦ埛',
-    `updateTime`   datetime      DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '淇敼鏃堕棿',
+    `id`           bigint(20) AUTO_INCREMENT COMMENT '搴忓彿锛屼富閿紝鑷闀�',
+    `siteId`       bigint(20) COMMENT '绔欑偣ID',
+    `siteName`     varchar(255) COMMENT '绔欑偣鍚嶇О',
+    `matterId`     bigint(20) COMMENT '浜嬮」ID',
+    `matterName`   varchar(1024) COMMENT '浜嬮」鍚嶇О',
+    `matterCode`   varchar(512) COMMENT '浜嬮」缂栫爜',
+    `deptId`       bigint(20) COMMENT '閮ㄩ棬ID',
+    `deptName`     varchar(64) COMMENT '閮ㄩ棬鍚嶇О',
+    `source`       tinyint(2) COMMENT '浜嬮」鏉ユ簮',
+    `deptCode`     varchar(255) COMMENT '閮ㄩ棬缂栧彿',
+    `createTime`   datetime COMMENT '鍒涘缓鏃堕棿',
+    `createUserId` bigint(20) COMMENT '鍒涘缓鐢ㄦ埛',
+    `updateTime`   datetime COMMENT '淇敼鏃堕棿',
     PRIMARY KEY (`id`)
-) ENGINE = InnoDB  CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '绔欑偣浜嬮」琛�' ROW_FORMAT = Dynamic;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='绔欑偣浜嬮」';
+
 
 
 -- ----------------------------
@@ -318,253 +323,284 @@ CREATE TABLE `mortals_sys_workman`
 -- 鍩虹浜嬮」琛�
 -- ----------------------------
 DROP TABLE IF EXISTS `mortals_sys_matter`;
-CREATE TABLE mortals_sys_matter
-(
-    `id`                        bigint(20) AUTO_INCREMENT COMMENT '搴忓彿锛屼富閿紝鑷闀�',
-    `siteId`                    bigint(20) COMMENT '绔欑偣ID',
-    `tid`                       varchar(128) COMMENT '浠庢斂鍔$郴缁熸潵鐨勪簨椤筰d',
-    `tcode`                     varchar(128) COMMENT '浠庢斂鍔$郴缁熸潵鐨勪簨椤筩ode',
-    `tname`                     varchar(512) COMMENT '浠庢斂鍔$郴缁熸潵鐨勪簨椤筺ame',
-    `matterName`                varchar(1024) COMMENT '浜嬮」鍚嶇О',
-    `englishName`               varchar(256) COMMENT '鑻辫浜嬮」鍚�',
-    `matterNo`                  varchar(64) COMMENT '浜嬮」缂栧彿',
-    `areaCode`                  varchar(255) COMMENT '鍖哄煙缂栫爜',
-    `deptCode`                  varchar(255) COMMENT '閮ㄩ棬缂栧彿',
-    `powerCode`                 varchar(255) COMMENT '琛屾斂鏉冨姏缂栧彿',
-    `themeCode`                 varchar(255) COMMENT '涓婚缂栧彿',
-    `usertypeCode`              varchar(255) COMMENT '鏈嶅姟绫诲瀷缂栧彿',
-    `groupName`                 varchar(1024) COMMENT '浜嬮」缁勫悕',
-    `url`                       varchar(1024) COMMENT '浜嬮」璇︽儏閾炬帴',
-    `haveGetMatterInfo`         varchar(20) COMMENT '鏄惁鑾峰彇浜嬮」璇︽儏',
-    `belongDept`                varchar(64) COMMENT '鎵€灞為儴闂�',
-    `appoveObjectShow`          varchar(256) COMMENT '鏈嶅姟瀵硅薄 锛堜簨涓氭硶浜�.浜嬩笟娉曚汉锛岀ぞ浼氱粍缁囨硶浜�.绀句細缁勭粐娉曚汉锛岄潪娉曚汉浼佷笟.闈炴硶浜轰紒涓氾紝浼佷笟娉曚汉.浼佷笟娉曚汉锛岃嚜鐒朵汉.鑷劧浜猴紝鍏朵粬缁勭粐.鍏朵粬缁勭粐锛�',
-    `operatScopeShow`           varchar(64) COMMENT '閫氬姙鑼冨洿 锛堟棤.鏃狅紝鍏ㄥ浗.鍏ㄥ浗锛屽叏甯�.鍏ㄥ競锛屽叏鍘�.鍏ㄥ幙锛屽叏闀嘯涔� 琛楅亾].鍏ㄩ晣[涔� 琛楅亾]锛岃法鏉慬绀惧尯].璺ㄦ潙[绀惧尯]锛�',
-    `appoveTimeLimitShow`       varchar(16) COMMENT '鍔炰欢绫诲瀷锛堢綉缁滃姙浠�.缃戠粶鍔炰欢锛岃鏀垮鎵逛竴鑸欢.琛屾斂瀹℃壒涓€鑸欢锛岀患鍚堢獥鍙d欢.缁煎悎绐楀彛浠讹級',
-    `handleType`                varchar(12) COMMENT '鍔炵悊褰㈠紡锛堢獥鍙e姙鐞�.绐楀彛鍔炵悊锛岀綉涓婂姙鐞�.缃戜笂鍔炵悊锛�	',
-    `legalTimeLimitShow`        varchar(32) COMMENT '娉曞畾鍔炵粨鏃堕檺',
-    `legalEndExplain`           varchar(255) COMMENT '娉曞畾鏃堕檺鍔炵粨璇存槑',
-    `promiseTimeLimitShow`      varchar(32) COMMENT '鎵胯鍔炵粨鏃堕檺',
-    `promiseEndExplain`         varchar(255) COMMENT '鎵胯鏃堕檺鍔炵粨璇存槑',
-    `isChargesShow`             varchar(16) COMMENT '鏄惁鏀惰垂锛堝惁.鍚︼紝鏄�.鏄級',
-    `certificationLevelsShow`   varchar(64) COMMENT '璁よ瘉绛夌骇闇€姹傦紙瀹炲悕璁よ瘉.瀹炲悕璁よ瘉锛屽崟娆¢潰绛�.鍗曟闈㈢锛屾瘡娆¢潰绛�.姣忔闈㈢锛�',
-    `planTakeTime`              datetime COMMENT '璁″垝鐢熸晥鏃ユ湡',
-    `promiseTakeTime`           datetime COMMENT '鎵胯鐢熸晥鏃ユ湡',
-    `specialProcedure`          varchar(64) COMMENT '鐗瑰埆绋嬪簭',
-    `windowToTheSceneNum`       tinyint(2) COMMENT '绐楀彛鍒扮幇鍦烘鏁�',
-    `isOnlineSubscribeShow`     varchar(64) COMMENT '鏄惁缃戜笂棰勭害,绐楀彛鍔炵悊閫夛紙鍚�.鍚︼紝鏄�.鏄級',
-    `isExpressTakeShow`         varchar(16) COMMENT '鐗╂祦蹇€�,绐楀彛鍔炵悊閫夛紙鍚�.鍚︼紝鏄�.鏄級',
-    `isProvinceAcquisitionShow` varchar(16) COMMENT '鏄惁鏀寔鍏ㄧ渷鑼冨洿灏辫繎鍙栦欢锛堝惁.鍚︼紝鏄�.鏄級',
-    `isApplyProvinceShow`       varchar(16) COMMENT '鏄惁鏀寔鍏ㄧ渷鑼冨洿灏辫繎鍔炵悊锛堝惁.鍚︼紝鏄�.鏄級',
-    `mustSceneExplain`          varchar(512) COMMENT '蹇呴』鍒扮幇鍦哄師鍥�',
-    `onlineType`                varchar(32) COMMENT '缃戝姙绫诲瀷锛堝師浠堕瀹�.鍘熶欢棰勫锛屽師浠舵牳楠�.鍘熶欢鏍搁獙锛屽叏绋嬬綉鍔�.鍏ㄧ▼缃戝姙锛�',
-    `onlineToTheSceneNum`       tinyint(2) COMMENT '缃戝姙鍒扮幇鍦烘鏁�',
-    `onlineOperatDeep`          varchar(16) COMMENT '缃戠粶鍔炵悊娣卞害锛堜簰鑱旂綉鍜ㄨ.浜掕仈缃戝挩璇紝浜掕仈缃戞敹浠�.浜掕仈缃戞敹浠讹紝浜掕仈缃戦瀹�.浜掕仈缃戦瀹★紝浜掕仈缃戝彈鐞�.浜掕仈缃戝彈鐞嗭紝浜掕仈缃戝姙鐞�.浜掕仈缃戝姙鐞嗭紝浜掕仈缃戝姙鐞嗙粨鏋滀俊鎭弽棣�.浜掕仈缃戝姙鐞嗙粨鏋滀俊鎭弽棣堬紝鍏朵粬.鍏朵粬锛�',
-    `isExpressTakeOnlineShow`   varchar(16) COMMENT '鐗╂祦蹇€掞紝缃戜笂鍔炵悊閫夛紙鍚�.鍚︼紝鏄�.鏄級',
-    `isDoorTakeShow`            varchar(16) COMMENT '鏄惁鏀寔涓婇棬鏀跺彇鐢宠锛堝惁.鍚︼紝鏄�.鏄級',
-    `onlineMustSceneExplain`    varchar(512) COMMENT '缃戜笂蹇呴』鍒扮幇鍦哄師鍥�',
-    `performDeptType`           varchar(64) COMMENT '瀹炴柦涓讳綋',
-    `matterEdition`             varchar(32) COMMENT '浜嬮」鐗堟湰',
-    `eventTypeShow`             varchar(128) COMMENT '浜嬮」绫诲瀷鍚嶇О锛堣鏀胯鍙�.琛屾斂璁稿彲锛岃鏀垮缃�.琛屾斂澶勭綒锛岃鏀垮己鍒�.琛屾斂寮哄埗锛岃鏀垮緛鏀�.琛屾斂寰佹敹锛岃鏀跨粰浠�.琛屾斂缁欎粯锛岃鏀挎鏌�.琛屾斂妫€鏌ワ紝琛屾斂纭.琛屾斂纭锛岃鏀垮鍔�.琛屾斂濂栧姳锛岃鏀胯鍐�.琛屾斂瑁佸喅锛屽叾浠栬鏀挎潈鍔�.鍏朵粬琛屾斂鏉冨姏锛屼富鍔ㄦ湇鍔�.涓诲姩鏈嶅姟锛屼緷鐢宠鏈嶅姟.渚濈敵璇锋湇鍔★紝鍜ㄨ鏌ヨ.鍜ㄨ鏌ヨ锛屾湭褰掔被浜嬮」.鏈綊绫讳簨椤癸級',
-    `performHierarchyShow`      varchar(128) COMMENT '琛屼娇灞傜骇鍚嶇О锛堢渷绾�.鐪佺骇锛屽競绾�.甯傜骇锛屽幙绾�.鍘跨骇锛岄晣[涔� 琛楅亾].闀嘯涔� 琛楅亾]锛屾潙[绀惧尯]绾�.鏉慬绀惧尯]绾э級',
-    `powerSourceShow`           varchar(64) COMMENT '鏉冨姏鏉ユ簮锛堟硶瀹氭湰绾ц浣�.娉曞畾鏈骇琛屼娇锛屼笂绾т笅鏀�.涓婄骇涓嬫斁锛屼笂绾ф巿鏉�.涓婄骇鎺堟潈锛屽悓绾ф巿鏉�.鍚岀骇鎺堟潈锛屼笂绾у鎵�.涓婄骇濮旀墭锛屽悓绾у鎵�.鍚岀骇濮旀墭锛�',
-    `performDeptTypeShow`       varchar(64) COMMENT '瀹炴柦涓讳綋鎬ц川锛堟硶瀹氭満鍏�.娉曞畾鏈哄叧锛屾巿鏉冪粍缁�.鎺堟潈缁勭粐锛屽彈濮旀墭缁勭粐.鍙楀鎵樼粍缁囷級',
-    `goveServiceCenterShow`     varchar(16) COMMENT '鏄惁杩涢┗涓績锛堝惁.鍚︼紝鏄�.鏄級',
-    `isConvenientCenterShow`    varchar(16) COMMENT '鏄惁绾冲叆渚挎皯鏈嶅姟涓績锛堝惁.鍚︼紝鏄�.鏄級',
-    `terminalHandle`            varchar(20) COMMENT '鑷姪缁堢鍔炵悊 锛堝惁.鍚︼紝鏄�.鏄級',
-    `isOnline`                  varchar(20) COMMENT '鏄惁缃戝姙 锛堝惁.鍚︼紝鏄�.鏄級',
-    `isOnlinePayShow`           varchar(16) COMMENT '鏀寔缃戜笂鏀粯锛堝惁.鍚︼紝鏄�.鏄級',
-    `entrustmentDepartmen`      varchar(64) COMMENT '濮旀墭閮ㄩ棬锛堝惁.鍚︼紝鏄�.鏄級',
-    `jointInfoShow`             varchar(128) COMMENT '鑱斿姙鏈烘瀯',
-    `matterStatus`              varchar(32) COMMENT '浜嬮」鐘舵€侊紙鍋滅敤.鍋滅敤锛屽湪鐢�.鍦ㄧ敤锛�',
-    `numberLimit`               int(11) COMMENT '鏁伴噺闄愬埗',
-    `type`                      varchar(32) COMMENT '涓婚绫诲瀷',
-    `baseCode`                  varchar(128) COMMENT '鍩烘湰缂栫爜',
-    `implementCode`             varchar(128) COMMENT '瀹炴柦缂栫爜',
-    `implementBodyCode`         varchar(128) COMMENT '瀹炴柦涓讳綋缂栫爜',
-    `operateItemCode`           varchar(128) COMMENT '鍔炵悊椤圭紪鐮�',
-    `townshipName`              varchar(128) COMMENT '涔¢晣琛楅亾鍚嶇О',
-    `townshipCode`              varchar(128) COMMENT '涔¢晣琛楅亾浠g爜',
-    `villageName`               varchar(128) COMMENT '鏉戝眳绀惧尯鍚嶇О',
-    `villageCode`               varchar(128) COMMENT '鏉戝眳绀惧尯浠g爜',
-    `operateTime`               varchar(128) COMMENT '鍔炵悊鏃堕棿',
-    `operateSite`               varchar(1024) COMMENT '鍔炵悊鍦扮偣',
-    `cousultingShow`            varchar(1024) COMMENT '鍜ㄨ鏂瑰紡',
-    `cousultingTelephoneShow`   varchar(64) COMMENT '鍜ㄨ鐢佃瘽',
-    `superviseShow`             varchar(1024) COMMENT '鐩戠潱鎶曡瘔鏂瑰紡',
-    `sort`                      int(4) COMMENT '鎺掑簭',
-    `source`                    tinyint(2) COMMENT '浜嬮」鏉ユ簮(0.鏀垮姟缃戯紝1.鑷畾涔�)',
-    `createTime`                datetime COMMENT '鍒涘缓鏃堕棿',
-    `createUserId`              bigint(20) COMMENT '鍒涘缓鐢ㄦ埛',
-    `updateTime`                datetime COMMENT '淇敼鏃堕棿',
-    PRIMARY KEY (`id`)
+CREATE TABLE mortals_sys_matter(
+   `id` bigint(20)   AUTO_INCREMENT  COMMENT '搴忓彿锛屼富閿紝鑷闀�',
+   `siteId` bigint(20)     COMMENT '绔欑偣ID',
+   `tid` varchar(256)     COMMENT '浠庢斂鍔$郴缁熸潵鐨勪簨椤筰d',
+   `tcode` varchar(256)     COMMENT '浠庢斂鍔$郴缁熸潵鐨勪簨椤筩ode',
+   `tname` varchar(2048)     COMMENT '浠庢斂鍔$郴缁熸潵鐨勪簨椤筺ame',
+   `matterName` varchar(2048)     COMMENT '浜嬮」鍚嶇О',
+   `englishName` varchar(256)     COMMENT '鑻辫浜嬮」鍚�',
+   `matterNo` varchar(512)     COMMENT '浜嬮」缂栧彿',
+   `areaCode` varchar(255)     COMMENT '鍖哄煙缂栫爜',
+   `deptCode` varchar(255)     COMMENT '閮ㄩ棬缂栧彿',
+   `deptName` varchar(255)     COMMENT '閮ㄩ棬鍚嶇О',
+   `powerCode` varchar(255)     COMMENT '琛屾斂鏉冨姏缂栧彿',
+   `themeCode` varchar(255)     COMMENT '涓婚缂栧彿',
+   `usertypeCode` varchar(255)     COMMENT '鏈嶅姟绫诲瀷缂栧彿',
+   `groupName` varchar(255)     COMMENT '浜嬮」缁勫悕',
+   `url` varchar(1024)     COMMENT '浜嬮」璇︽儏閾炬帴',
+   `haveGetMatterInfo` varchar(20)     COMMENT '鏄惁鑾峰彇浜嬮」璇︽儏',
+   `belongDept` varchar(64)     COMMENT '鎵€灞為儴闂�',
+   `appoveObjectShow` varchar(16)     COMMENT '鏈嶅姟瀵硅薄 锛堜簨涓氭硶浜�.浜嬩笟娉曚汉锛岀ぞ浼氱粍缁囨硶浜�.绀句細缁勭粐娉曚汉锛岄潪娉曚汉浼佷笟.闈炴硶浜轰紒涓氾紝浼佷笟娉曚汉.浼佷笟娉曚汉锛岃嚜鐒朵汉.鑷劧浜猴紝鍏朵粬缁勭粐.鍏朵粬缁勭粐锛�',
+   `operatScopeShow` varchar(64)     COMMENT '閫氬姙鑼冨洿 锛堟棤.鏃狅紝鍏ㄥ浗.鍏ㄥ浗锛屽叏甯�.鍏ㄥ競锛屽叏鍘�.鍏ㄥ幙锛屽叏闀嘯涔� 琛楅亾].鍏ㄩ晣[涔� 琛楅亾]锛岃法鏉慬绀惧尯].璺ㄦ潙[绀惧尯]锛�',
+   `appoveTimeLimitShow` varchar(16)     COMMENT '鍔炰欢绫诲瀷锛堢綉缁滃姙浠�.缃戠粶鍔炰欢锛岃鏀垮鎵逛竴鑸欢.琛屾斂瀹℃壒涓€鑸欢锛岀患鍚堢獥鍙d欢.缁煎悎绐楀彛浠讹級',
+   `handleType` varchar(12)     COMMENT '鍔炵悊褰㈠紡锛堢獥鍙e姙鐞�.绐楀彛鍔炵悊锛岀綉涓婂姙鐞�.缃戜笂鍔炵悊锛�	',
+   `legalTimeLimitShow` varchar(32)     COMMENT '娉曞畾鍔炵粨鏃堕檺',
+   `legalEndExplain` varchar(255)     COMMENT '娉曞畾鏃堕檺鍔炵粨璇存槑',
+   `promiseTimeLimitShow` varchar(32)     COMMENT '鎵胯鍔炵粨鏃堕檺',
+   `promiseEndExplain` varchar(255)     COMMENT '鎵胯鏃堕檺鍔炵粨璇存槑',
+   `isChargesShow` varchar(16)     COMMENT '鏄惁鏀惰垂锛堝惁.鍚︼紝鏄�.鏄級',
+   `certificationLevelsShow` varchar(64)     COMMENT '璁よ瘉绛夌骇闇€姹傦紙瀹炲悕璁よ瘉.瀹炲悕璁よ瘉锛屽崟娆¢潰绛�.鍗曟闈㈢锛屾瘡娆¢潰绛�.姣忔闈㈢锛�',
+   `planTakeTime` datetime     COMMENT '璁″垝鐢熸晥鏃ユ湡',
+   `promiseTakeTime` datetime     COMMENT '鎵胯鐢熸晥鏃ユ湡',
+   `specialProcedure` varchar(64)     COMMENT '鐗瑰埆绋嬪簭',
+   `windowToTheSceneNum` tinyint(2)     COMMENT '绐楀彛鍒扮幇鍦烘鏁�',
+   `isOnlineSubscribeShow` varchar(64)     COMMENT '鏄惁缃戜笂棰勭害,绐楀彛鍔炵悊閫夛紙鍚�.鍚︼紝鏄�.鏄級',
+   `isExpressTakeShow` varchar(16)     COMMENT '鐗╂祦蹇€�,绐楀彛鍔炵悊閫夛紙鍚�.鍚︼紝鏄�.鏄級',
+   `isProvinceAcquisitionShow` varchar(16)     COMMENT '鏄惁鏀寔鍏ㄧ渷鑼冨洿灏辫繎鍙栦欢锛堝惁.鍚︼紝鏄�.鏄級',
+   `isApplyProvinceShow` varchar(16)     COMMENT '鏄惁鏀寔鍏ㄧ渷鑼冨洿灏辫繎鍔炵悊锛堝惁.鍚︼紝鏄�.鏄級',
+   `mustSceneExplain` varchar(512)     COMMENT '蹇呴』鍒扮幇鍦哄師鍥�',
+   `onlineType` varchar(32)     COMMENT '缃戝姙绫诲瀷锛堝師浠堕瀹�.鍘熶欢棰勫锛屽師浠舵牳楠�.鍘熶欢鏍搁獙锛屽叏绋嬬綉鍔�.鍏ㄧ▼缃戝姙锛�',
+   `onlineToTheSceneNum` tinyint(2)     COMMENT '缃戝姙鍒扮幇鍦烘鏁�',
+   `onlineOperatDeep` varchar(16)     COMMENT '缃戠粶鍔炵悊娣卞害锛堜簰鑱旂綉鍜ㄨ.浜掕仈缃戝挩璇紝浜掕仈缃戞敹浠�.浜掕仈缃戞敹浠讹紝浜掕仈缃戦瀹�.浜掕仈缃戦瀹★紝浜掕仈缃戝彈鐞�.浜掕仈缃戝彈鐞嗭紝浜掕仈缃戝姙鐞�.浜掕仈缃戝姙鐞嗭紝浜掕仈缃戝姙鐞嗙粨鏋滀俊鎭弽棣�.浜掕仈缃戝姙鐞嗙粨鏋滀俊鎭弽棣堬紝鍏朵粬.鍏朵粬锛�',
+   `isExpressTakeOnlineShow` varchar(16)     COMMENT '鐗╂祦蹇€掞紝缃戜笂鍔炵悊閫夛紙鍚�.鍚︼紝鏄�.鏄級',
+   `isDoorTakeShow` varchar(16)     COMMENT '鏄惁鏀寔涓婇棬鏀跺彇鐢宠锛堝惁.鍚︼紝鏄�.鏄級',
+   `onlineMustSceneExplain` varchar(512)     COMMENT '缃戜笂蹇呴』鍒扮幇鍦哄師鍥�',
+   `performDeptType` varchar(64)     COMMENT '瀹炴柦涓讳綋',
+   `matterEdition` varchar(32)     COMMENT '浜嬮」鐗堟湰',
+   `eventTypeShow` varchar(128)     COMMENT '浜嬮」绫诲瀷鍚嶇О锛堣鏀胯鍙�.琛屾斂璁稿彲锛岃鏀垮缃�.琛屾斂澶勭綒锛岃鏀垮己鍒�.琛屾斂寮哄埗锛岃鏀垮緛鏀�.琛屾斂寰佹敹锛岃鏀跨粰浠�.琛屾斂缁欎粯锛岃鏀挎鏌�.琛屾斂妫€鏌ワ紝琛屾斂纭.琛屾斂纭锛岃鏀垮鍔�.琛屾斂濂栧姳锛岃鏀胯鍐�.琛屾斂瑁佸喅锛屽叾浠栬鏀挎潈鍔�.鍏朵粬琛屾斂鏉冨姏锛屼富鍔ㄦ湇鍔�.涓诲姩鏈嶅姟锛屼緷鐢宠鏈嶅姟.渚濈敵璇锋湇鍔★紝鍜ㄨ鏌ヨ.鍜ㄨ鏌ヨ锛屾湭褰掔被浜嬮」.鏈綊绫讳簨椤癸級',
+   `performHierarchyShow` varchar(128)     COMMENT '琛屼娇灞傜骇鍚嶇О锛堢渷绾�.鐪佺骇锛屽競绾�.甯傜骇锛屽幙绾�.鍘跨骇锛岄晣[涔� 琛楅亾].闀嘯涔� 琛楅亾]锛屾潙[绀惧尯]绾�.鏉慬绀惧尯]绾э級',
+   `powerSourceShow` varchar(64)     COMMENT '鏉冨姏鏉ユ簮锛堟硶瀹氭湰绾ц浣�.娉曞畾鏈骇琛屼娇锛屼笂绾т笅鏀�.涓婄骇涓嬫斁锛屼笂绾ф巿鏉�.涓婄骇鎺堟潈锛屽悓绾ф巿鏉�.鍚岀骇鎺堟潈锛屼笂绾у鎵�.涓婄骇濮旀墭锛屽悓绾у鎵�.鍚岀骇濮旀墭锛�',
+   `performDeptTypeShow` varchar(64)     COMMENT '瀹炴柦涓讳綋鎬ц川锛堟硶瀹氭満鍏�.娉曞畾鏈哄叧锛屾巿鏉冪粍缁�.鎺堟潈缁勭粐锛屽彈濮旀墭缁勭粐.鍙楀鎵樼粍缁囷級',
+   `goveServiceCenterShow` varchar(16)     COMMENT '鏄惁杩涢┗涓績锛堝惁.鍚︼紝鏄�.鏄級',
+   `isConvenientCenterShow` varchar(16)     COMMENT '鏄惁绾冲叆渚挎皯鏈嶅姟涓績锛堝惁.鍚︼紝鏄�.鏄級',
+   `terminalHandle` varchar(20)     COMMENT '鑷姪缁堢鍔炵悊 锛堝惁.鍚︼紝鏄�.鏄級',
+   `isOnline` varchar(20)     COMMENT '鏄惁缃戝姙 锛堝惁.鍚︼紝鏄�.鏄級',
+   `isOnlinePayShow` varchar(16)     COMMENT '鏀寔缃戜笂鏀粯锛堝惁.鍚︼紝鏄�.鏄級',
+   `entrustmentDepartmen` varchar(64)     COMMENT '濮旀墭閮ㄩ棬锛堝惁.鍚︼紝鏄�.鏄級',
+   `jointInfoShow` varchar(128)     COMMENT '鑱斿姙鏈烘瀯',
+   `matterStatus` varchar(32)     COMMENT '浜嬮」鐘舵€侊紙鍋滅敤.鍋滅敤锛屽湪鐢�.鍦ㄧ敤锛�',
+   `numberLimit` int(11)     COMMENT '鏁伴噺闄愬埗',
+   `type` varchar(32)     COMMENT '涓婚绫诲瀷',
+   `baseCode` varchar(128)     COMMENT '鍩烘湰缂栫爜',
+   `implementCode` varchar(128)     COMMENT '瀹炴柦缂栫爜',
+   `implementBodyCode` varchar(128)     COMMENT '瀹炴柦涓讳綋缂栫爜',
+   `operateItemCode` varchar(128)     COMMENT '鍔炵悊椤圭紪鐮�',
+   `townshipName` varchar(128)     COMMENT '涔¢晣琛楅亾鍚嶇О',
+   `townshipCode` varchar(128)     COMMENT '涔¢晣琛楅亾浠g爜',
+   `villageName` varchar(128)     COMMENT '鏉戝眳绀惧尯鍚嶇О',
+   `villageCode` varchar(128)     COMMENT '鏉戝眳绀惧尯浠g爜',
+   `operateTime` varchar(128)     COMMENT '鍔炵悊鏃堕棿',
+   `operateSite` varchar(1024)     COMMENT '鍔炵悊鍦扮偣',
+   `cousultingShow` varchar(1024)     COMMENT '鍜ㄨ鏂瑰紡',
+   `cousultingTelephoneShow` varchar(64)     COMMENT '鍜ㄨ鐢佃瘽',
+   `superviseShow` varchar(1024)     COMMENT '鐩戠潱鎶曡瘔鏂瑰紡',
+   `sort` int(4)     COMMENT '鎺掑簭',
+   `source` tinyint(2)     COMMENT '浜嬮」鏉ユ簮(0.鏀垮姟缃戯紝1.鑷畾涔�)',
+   `createTime` datetime     COMMENT '鍒涘缓鏃堕棿',
+   `createUserId` bigint(20)     COMMENT '鍒涘缓鐢ㄦ埛',
+   `updateTime` datetime     COMMENT '淇敼鏃堕棿',
+   PRIMARY KEY  (`id`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='鍩虹浜嬮」';
 
 
 
 -- ----------------------------
--- 浜嬮」鏉愭枡琛�
+-- 浜嬮」鍙楃悊鏉′欢琛�
+-- ----------------------------
+DROP TABLE IF EXISTS `mortals_sys_matter_accept`;
+CREATE TABLE mortals_sys_matter_accept
+(
+    `id`           bigint(20) AUTO_INCREMENT COMMENT '涓婚敭锛岃嚜澧為暱',
+    `matterId`     bigint(20) NOT NULL COMMENT '鍩虹浜嬮」琛╥d',
+    `matterCode`   varchar(512) COMMENT '浜嬮」缂栫爜',
+    `matterName`   varchar(1024) COMMENT '浜嬮」鍚嶇О',
+    `content`      text COMMENT '鍙楃悊鏉′欢',
+    `source`       tinyint(2) COMMENT '浜嬮」鏉ユ簮 (0.鏀垮姟缃戯紝1.鑷畾涔�)',
+    `createTime`   datetime COMMENT '鍒涘缓鏃堕棿',
+    `createUserId` bigint(20) COMMENT '鍒涘缓鐢ㄦ埛',
+    `updateTime`   datetime COMMENT '淇敼鏃堕棿',
+    PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='浜嬮」鍙楃悊鏉′欢';
+
+-- ----------------------------
+-- 浜嬮」鏀惰垂鏍囧噯琛�
+-- ----------------------------
+DROP TABLE IF EXISTS `mortals_sys_matter_charges`;
+CREATE TABLE mortals_sys_matter_charges
+(
+    `id`           bigint(20) AUTO_INCREMENT COMMENT '涓婚敭锛岃嚜澧為暱',
+    `matterId`     bigint(20) NOT NULL COMMENT '浜嬮」鍩虹琛╩atter id',
+    `matterCode`   varchar(512) COMMENT '浜嬮」缂栫爜',
+    `matterName`   varchar(1024) COMMENT '浜嬮」鍚嶇О',
+    `content`      varchar(1024) COMMENT '鏀惰垂鏍囧噯',
+    `source`       tinyint(2) COMMENT '浜嬮」鏉ユ簮锛�(0.鏀垮姟缃戯紝1.鑷畾涔�)',
+    `createTime`   datetime COMMENT '鍒涘缓鏃堕棿',
+    `createUserId` bigint(20) COMMENT '鍒涘缓鐢ㄦ埛',
+    `updateTime`   datetime COMMENT '淇敼鏃堕棿',
+    PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='浜嬮」鏀惰垂鏍囧噯';
+
+-- ----------------------------
+-- 浜嬮」鐢宠鏉愭枡琛�
 -- ----------------------------
 DROP TABLE IF EXISTS `mortals_sys_matter_datum`;
-CREATE TABLE `mortals_sys_matter_datum`
+CREATE TABLE mortals_sys_matter_datum
 (
-    `id`               bigint(20) NOT NULL AUTO_INCREMENT COMMENT '涓婚敭锛岃嚜澧為暱',
+    `id`               bigint(20) AUTO_INCREMENT COMMENT '涓婚敭锛岃嚜澧為暱',
     `matterId`         bigint(20) COMMENT '浜嬮」id',
-    `matterName`       varchar(1024) CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT '浜嬮」鍚嶇О',
-    `materialName`     varchar(1024) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '鏉愭枡鍚�',
-    `isMust`           varchar(32)                                                       DEFAULT '闈炲繀瑕�' COMMENT '蹇呬氦鎬э紙闈炲繀瑕�.闈炲繀瑕侊紝蹇呰.蹇呰锛屽繀瑕亅瀹圭己鍚庤ˉ.蹇呰|瀹圭己鍚庤ˉ锛岄潪蹇呰|瀹圭己鍚庤ˉ.闈炲繀瑕亅瀹圭己鍚庤ˉ锛�',
-    `materialType`     varchar(32)                                                       DEFAULT '鏃�' COMMENT '鏉愭枡绫诲瀷锛堟棤.鏃狅紝鍘熶欢.鍘熶欢锛屽鍗颁欢.澶嶅嵃浠讹紝鍘熶欢鍜屽鍗颁欢.鍘熶欢鍜屽鍗颁欢)',
-    `materialProperty` varchar(32)                                                       DEFAULT '绾歌川' COMMENT '鏉愭枡褰㈠紡锛堢焊璐�.绾歌川锛岀數瀛�.鐢靛瓙锛岀焊璐▅鐢靛瓙.绾歌川|鐢靛瓙锛�',
-    `electronicgs`     varchar(32)                                                       DEFAULT '鏃�' COMMENT '鐢靛瓙鏉愭枡鏍煎紡锛堟棤.鏃狅紝涓嶉檺.涓嶉檺锛宩pg.jpg锛宩peg.jpeg锛宲df.pdf锛寃ord.word锛宲df|jpg|jpeg.pdf|jpg|jpeg锛宲df|jpg.pdf|jpg锛�',
-    `materialSource`   varchar(32)                                                       DEFAULT '鏃�' COMMENT '鏉愭枡鏉ユ簮娓犻亾锛堟棤.鏃狅紝鐢宠浜鸿嚜澶�.鐢宠浜鸿嚜澶囷紝鏀垮簻閮ㄩ棬鏍稿彂.鏀垮簻閮ㄩ棬鏍稿彂锛屽叾浠�.鍏朵粬锛�',
-    `paperNum`         int(4) DEFAULT '1' COMMENT '绾歌川鏉愭枡浠芥暟',
+    `matterCode`       varchar(512) COMMENT '浜嬮」缂栫爜',
+    `matterName`       varchar(1024) COMMENT '浜嬮」鍚嶇О',
+    `materialName`     varchar(1024) NOT NULL COMMENT '鏉愭枡鍚�',
+    `isMust`           varchar(32) COMMENT '蹇呬氦鎬э紙闈炲繀瑕�.闈炲繀瑕侊紝蹇呰.蹇呰锛屽繀瑕亅瀹圭己鍚庤ˉ.蹇呰|瀹圭己鍚庤ˉ锛岄潪蹇呰|瀹圭己鍚庤ˉ.闈炲繀瑕亅瀹圭己鍚庤ˉ锛�',
+    `materialType`     varchar(32) COMMENT '鏉愭枡绫诲瀷锛堟棤.鏃狅紝鍘熶欢.鍘熶欢锛屽鍗颁欢.澶嶅嵃浠讹紝鍘熶欢鍜屽鍗颁欢.鍘熶欢鍜屽鍗颁欢)',
+    `materialProperty` varchar(32) COMMENT '鏉愭枡褰㈠紡锛堢焊璐�.绾歌川锛岀數瀛�.鐢靛瓙锛岀焊璐▅鐢靛瓙.绾歌川|鐢靛瓙锛�',
+    `electronicgs`     varchar(32) COMMENT '鐢靛瓙鏉愭枡鏍煎紡锛堟棤.鏃狅紝涓嶉檺.涓嶉檺锛宩pg.jpg锛宩peg.jpeg锛宲df.pdf锛寃ord.word锛宲df|jpg|jpeg.pdf|jpg|jpeg锛宲df|jpg.pdf|jpg锛�',
+    `materialSource`   varchar(32) COMMENT '鏉愭枡鏉ユ簮娓犻亾锛堟棤.鏃狅紝鐢宠浜鸿嚜澶�.鐢宠浜鸿嚜澶囷紝鏀垮簻閮ㄩ棬鏍稿彂.鏀垮簻閮ㄩ棬鏍稿彂锛屽叾浠�.鍏朵粬锛�',
+    `paperNum`         tinyint(4) COMMENT '绾歌川鏉愭枡浠芥暟',
     `paperGg`          varchar(32) COMMENT '绾歌川鏉愭枡瑙勬牸',
-    `jianmMs`          varchar(32)                                                       DEFAULT '鏃�' COMMENT '鍑忓厤妯″紡锛堟棤.鏃狅紝鍑�.鍑忥紝鍏�.鍏嶏級',
-    `sealWay`          varchar(32) COMMENT '鐩栫珷鏂瑰紡',
-    `isjianm`          varchar(32)                                                       DEFAULT '鏄�' COMMENT '鏄惁鍑忓厤锛堝惁.鍚︼紝鏄�.鏄級',
-    `isLack`           varchar(32)                                                       DEFAULT '蹇呰' COMMENT '鏉愭枡鏄惁瀹圭己锛堝繀瑕�.蹇呰锛岄潪蹇呰.闈炲繀瑕侊級',
-    `ybUrl`            varchar(512) CHARACTER SET utf8 COLLATE utf8_general_ci           DEFAULT '' COMMENT '鏉愭枡鍦板潃',
-    `materialSourceSm` varchar(512)                                                      DEFAULT '' COMMENT '鏉ユ簮娓犻亾璇存槑',
-    `remarkSub`        text CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT '濉姤椤荤煡',
-    `clauseContent`    text CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT '瑕佹眰鎻愪緵鏉愭枡鐨勪緷鎹�',
-    `summary`          text CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT '鍙楃悊鏍囧噯',
-    `remark`           varchar(512) CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT '澶囨敞',
-    `source`           tinyint(2) DEFAULT '1' COMMENT '浜嬮」鏉ユ簮(0.鏀垮姟缃戯紝1.鑷畾涔�)',
-    `createTime`       datetime                                                          DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
-    `createUserId`     bigint(20) DEFAULT NULL COMMENT '鍒涘缓鐢ㄦ埛',
-    `updateTime`       datetime                                                          DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '淇敼鏃堕棿',
-    PRIMARY KEY (`id`) USING BTREE
-) ENGINE=InnoDB  DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='浜嬮」鐢宠鏉愭枡';
+    `jianmMs`          varchar(32) COMMENT '鍑忓厤妯″紡锛堟棤.鏃狅紝鍑�.鍑忥紝鍏�.鍏嶏級',
+    `sealWay`          varchar(128) COMMENT '鐩栫珷鏂瑰紡',
+    `isjianm`          varchar(32) COMMENT '鏄惁鍑忓厤锛堝惁.鍚︼紝鏄�.鏄級',
+    `isLack`           varchar(32) COMMENT '鏉愭枡鏄惁瀹圭己锛堝繀瑕�.蹇呰锛岄潪蹇呰.闈炲繀瑕侊級',
+    `ybUrl`            varchar(512) COMMENT '鏉愭枡鍦板潃',
+    `materialSourceSm` varchar(512) COMMENT '鏉ユ簮娓犻亾璇存槑',
+    `remarkSub`        text COMMENT '濉姤椤荤煡',
+    `clauseContent`    text COMMENT '瑕佹眰鎻愪緵鏉愭枡鐨勪緷鎹�',
+    `summary`          text COMMENT '鍙楃悊鏍囧噯',
+    `remark`           varchar(4096) COMMENT '澶囨敞',
+    `source`           tinyint(2) COMMENT '浜嬮」鏉ユ簮(0.鏀垮姟缃戯紝1.鑷畾涔�)',
+    `createTime`       datetime COMMENT '鍒涘缓鏃堕棿',
+    `createUserId`     bigint(20) COMMENT '鍒涘缓鐢ㄦ埛',
+    `updateTime`       datetime COMMENT '淇敼鏃堕棿',
+    PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='浜嬮」鐢宠鏉愭枡';
 
 -- ----------------------------
--- 浜嬮」鏉愭枡闄勪欢琛�
+-- 鏉愭枡闄勪欢琛�
 -- ----------------------------
 DROP TABLE IF EXISTS `mortals_sys_matter_datum_file`;
-CREATE TABLE `mortals_sys_matter_datum_file`
-(
-    `id`           bigint(20) NOT NULL AUTO_INCREMENT COMMENT '涓婚敭锛岃嚜澧為暱',
-    `datumId`      bigint(20) DEFAULT NULL COMMENT '鏉愭枡id',
-    `materialName` varchar(1024) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '鏉愭枡鍚�',
-    `fileName`     varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci           DEFAULT NULL COMMENT '闄勪欢鍚嶇О',
-    `fileUrl`      varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci           DEFAULT NULL COMMENT '闄勪欢涓嬭浇鍦板潃',
-    `filetype`     varchar(20)                                                       DEFAULT '绀轰緥鏍疯〃' COMMENT '闄勪欢绫诲瀷 (绀轰緥鏍疯〃.绀轰緥鏍疯〃锛岀┖鐧借〃鏍�.绌虹櫧琛ㄦ牸)',
-    `source`       tinyint(2) DEFAULT '1' COMMENT '闄勪欢鏉ユ簮 (0.鏀垮姟缃戯紝1.鑷畾涔�)',
-    `createTime`   datetime                                                          DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
-    `createUserId` bigint(20) DEFAULT NULL COMMENT '鍒涘缓鐢ㄦ埛',
-    `updateTime`   datetime                                                          DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '淇敼鏃堕棿',
-    PRIMARY KEY (`id`) USING BTREE
-) ENGINE=InnoDB  DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='鏉愭枡闄勪欢琛�';
+CREATE TABLE mortals_sys_matter_datum_file
+(
+    `id`           bigint(20) AUTO_INCREMENT COMMENT '涓婚敭锛岃嚜澧為暱',
+    `datumId`      bigint(20) COMMENT '鏉愭枡id',
+    `matterCode`   varchar(255) COMMENT '浜嬮」缂栫爜',
+    `materialName` varchar(1024) NOT NULL COMMENT '鏉愭枡鍚�',
+    `fileName`     varchar(255) COMMENT '闄勪欢鍚嶇О',
+    `fileUrl`      varchar(255) COMMENT '闄勪欢涓嬭浇鍦板潃',
+    `filetype`     varchar(64) COMMENT '闄勪欢绫诲瀷 (绀轰緥鏍疯〃.绀轰緥鏍疯〃锛岀┖鐧借〃鏍�.绌虹櫧琛ㄦ牸)',
+    `source`       tinyint(2) COMMENT '闄勪欢鏉ユ簮 (0.鏀垮姟缃戯紝1.鑷畾涔�)',
+    `createTime`   datetime COMMENT '鍒涘缓鏃堕棿',
+    `createUserId` bigint(20) COMMENT '鍒涘缓鐢ㄦ埛',
+    `updateTime`   datetime COMMENT '淇敼鏃堕棿',
+    PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='鏉愭枡闄勪欢';
 
 -- ----------------------------
--- 浜嬮」鍙楃悊鏉′欢琛�
+-- 鏉愭枡闄勪欢琛�
 -- ----------------------------
-DROP TABLE IF EXISTS `mortals_sys_matter_accept`;
-CREATE TABLE `mortals_sys_matter_accept`
-(
-    `id`           bigint(20) NOT NULL AUTO_INCREMENT COMMENT '涓婚敭锛岃嚜澧為暱',
-    `matterId`     bigint(20) NOT NULL DEFAULT '0' COMMENT '鍩虹浜嬮」琛╥d',
-    `matterName`   varchar(1024) CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT '浜嬮」鍚嶇О',
-    `content`      text CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT '鍙楃悊鏉′欢',
-    `source`       tinyint(2) DEFAULT '1' COMMENT '浜嬮」鏉ユ簮 (0.鏀垮姟缃戯紝1.鑷畾涔�)',
-    `createTime`   datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
-    `createUserId` bigint(20) DEFAULT NULL COMMENT '鍒涘缓鐢ㄦ埛',
-    `updateTime`   datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '淇敼鏃堕棿',
-    PRIMARY KEY (`id`) USING BTREE
-) ENGINE=InnoDB  DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='浜嬮」鍙楃悊鏉′欢';
+DROP TABLE IF EXISTS `mortals_sys_matter_datum_file`;
+CREATE TABLE mortals_sys_matter_datum_file
+(
+    `id`           bigint(20) AUTO_INCREMENT COMMENT '涓婚敭锛岃嚜澧為暱',
+    `datumId`      bigint(20) COMMENT '鏉愭枡id',
+    `matterCode`   varchar(255) COMMENT '浜嬮」缂栫爜',
+    `materialName` varchar(1024) NOT NULL COMMENT '鏉愭枡鍚�',
+    `fileName`     varchar(255) COMMENT '闄勪欢鍚嶇О',
+    `fileUrl`      varchar(255) COMMENT '闄勪欢涓嬭浇鍦板潃',
+    `localFileUrl` varchar(255) COMMENT '闄勪欢鏈湴涓嬭浇鍦板潃',
+    `filetype`     varchar(64) COMMENT '闄勪欢绫诲瀷 (绀轰緥鏍疯〃.绀轰緥鏍疯〃锛岀┖鐧借〃鏍�.绌虹櫧琛ㄦ牸)',
+    `source`       tinyint(2) COMMENT '闄勪欢鏉ユ簮 (0.鏀垮姟缃戯紝1.鑷畾涔�)',
+    `createTime`   datetime COMMENT '鍒涘缓鏃堕棿',
+    `createUserId` bigint(20) COMMENT '鍒涘缓鐢ㄦ埛',
+    `updateTime`   datetime COMMENT '淇敼鏃堕棿',
+    PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='鏉愭枡闄勪欢';
+
 
 -- ----------------------------
--- 浜嬮」鍔炵悊娴佺▼琛�
+-- 浜嬮」涓粙鏈嶅姟琛�
 -- ----------------------------
-DROP TABLE IF EXISTS `mortals_sys_matter_flowlimit`;
-CREATE TABLE `mortals_sys_matter_flowlimit`
-(
-    `id`           bigint(20) NOT NULL AUTO_INCREMENT COMMENT '涓婚敭锛岃嚜澧為暱',
-    `matterId`     bigint(20) NOT NULL DEFAULT '0' COMMENT '浜嬮」鍩虹琛╥d',
-    `matterName`   varchar(1024) CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT '浜嬮」鍚嶇О',
-    `flowName`     varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT '鍔炵悊娴佺▼',
-    `flowTime`     varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT '鍔炵悊鏃堕暱',
-    `flowLimit`    varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT '杞鏃堕檺',
-    `flowDesc`     varchar(1024) CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT '鍔炵悊娴佺▼璇存槑',
-    `source`       tinyint(2) DEFAULT '1' COMMENT '浜嬮」鏉ユ簮(0.鏀垮姟缃戯紝1.鑷畾涔�)',
-    `createTime`   datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
-    `createUserId` bigint(20) DEFAULT NULL COMMENT '鍒涘缓鐢ㄦ埛',
-    `updateTime`   datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '淇敼鏃堕棿',
-    PRIMARY KEY (`id`) USING BTREE
-) ENGINE=InnoDB  DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='浜嬮」鍔炵悊娴佺▼';
+DROP TABLE IF EXISTS `mortals_sys_matter_intermediary`;
+CREATE TABLE mortals_sys_matter_intermediary
+(
+    `id`                      bigint(20) AUTO_INCREMENT COMMENT '涓婚敭锛岃嚜澧為暱',
+    `matterId`                bigint(20) NOT NULL COMMENT '浜嬮」matter id',
+    `matterCode`              varchar(512) COMMENT '浜嬮」缂栫爜',
+    `matterName`              varchar(1024) COMMENT '浜嬮」鍚嶇О',
+    `title`                   varchar(1024) COMMENT '涓粙鏈嶅姟浜嬮」鍚嶇О',
+    `intermediaryRequest`     text COMMENT '涓粙鏈嶅姟瀹炴柦鏈烘瀯鍙婅祫璐ㄨ祫鏍艰姹�',
+    `intermediaryRequestTime` varchar(512) COMMENT '鏈嶅姟鏃堕檺',
+    `remark`                  text COMMENT '鍐呭',
+    `source`                  tinyint(2) COMMENT '浜嬮」鏉ユ簮锛�(0.鏀垮姟缃戯紝1.鑷畾涔�)',
+    `createTime`              datetime COMMENT '鍒涘缓鏃堕棿',
+    `createUserId`            bigint(20) COMMENT '鍒涘缓鐢ㄦ埛',
+    `updateTime`              datetime COMMENT '淇敼鏃堕棿',
+    PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='浜嬮」涓粙鏈嶅姟';
 
 -- ----------------------------
--- 浜嬮」鏀惰垂鏍囧噯琛�
+-- 浜嬮」甯歌闂琛�
 -- ----------------------------
-DROP TABLE IF EXISTS `mortals_sys_matter_charges`;
-CREATE TABLE `mortals_sys_matter_charges`
-(
-    `id`           bigint(20) NOT NULL AUTO_INCREMENT COMMENT '涓婚敭锛岃嚜澧為暱',
-    `matterId`     bigint(20) NOT NULL DEFAULT '0' COMMENT '浜嬮」鍩虹琛╩atter id',
-    `matterName`   varchar(1024) CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT '浜嬮」鍚嶇О',
-    `content`      varchar(1024) CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT '鏀惰垂鏍囧噯',
-    `source`       tinyint(2) DEFAULT '1' COMMENT '浜嬮」鏉ユ簮锛�(0.鏀垮姟缃戯紝1.鑷畾涔�)',
-    `createTime`   datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
-    `createUserId` bigint(20) DEFAULT NULL COMMENT '鍒涘缓鐢ㄦ埛',
-    `updateTime`   datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '淇敼鏃堕棿',
-    PRIMARY KEY (`id`) USING BTREE
-) ENGINE=InnoDB  DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='浜嬮」鏀惰垂鏍囧噯';
+DROP TABLE IF EXISTS `mortals_sys_matter_question`;
+CREATE TABLE mortals_sys_matter_question
+(
+    `id`           bigint(20) AUTO_INCREMENT COMMENT '涓婚敭锛岃嚜澧為暱',
+    `matterId`     bigint(20) NOT NULL COMMENT '浜嬮」鍩虹琛╩atter id',
+    `matterCode`   varchar(512) COMMENT '浜嬮」缂栫爜',
+    `matterName`   varchar(1024) COMMENT '浜嬮」鍚嶇О',
+    `question`     varchar(512) COMMENT '闂',
+    `answer`       varchar(2048) COMMENT '甯歌闂',
+    `source`       tinyint(2) COMMENT '浜嬮」鏉ユ簮锛�(0.鏀垮姟缃戯紝1.鑷畾涔�)',
+    `createTime`   datetime COMMENT '鍒涘缓鏃堕棿',
+    `createUserId` bigint(20) COMMENT '鍒涘缓鐢ㄦ埛',
+    `updateTime`   datetime COMMENT '淇敼鏃堕棿',
+    PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='浜嬮」甯歌闂';
 
 -- ----------------------------
 -- 浜嬮」璁惧畾渚濇嵁琛�
 -- ----------------------------
 DROP TABLE IF EXISTS `mortals_sys_matter_setbase`;
-CREATE TABLE `mortals_sys_matter_setbase`
-(
-    `id`           bigint(20) NOT NULL AUTO_INCREMENT COMMENT '涓婚敭锛岃嚜澧為暱',
-    `matterId`     bigint(20) NOT NULL DEFAULT '0' COMMENT '浜嬮」matter id',
-    `matterName`   varchar(1024) CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT '浜嬮」鍚嶇О',
-    `policyName`   varchar(1024) CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT '娉曡鏍囬',
-    `policyType`   varchar(32) DEFAULT '娉曞緥' COMMENT '娉曡绫诲瀷锛�(娉曞緥.娉曞緥锛岃鏀挎硶瑙�.琛屾斂娉曡锛屽湴鏂规硶瑙�.鍦版柟娉曡锛岄儴闂ㄨ绔�.閮ㄩ棬瑙勭珷锛屽叾浠�.鍏朵粬锛屾斂搴滆绔�.鏀垮簻瑙勭珷锛岃鑼冩€ф枃浠�.瑙勮寖鎬ф枃浠�)',
+CREATE TABLE mortals_sys_matter_setbase
+(
+    `id`           bigint(20) AUTO_INCREMENT COMMENT '涓婚敭锛岃嚜澧為暱',
+    `matterId`     bigint(20) NOT NULL COMMENT '浜嬮」matter id',
+    `matterCode`   varchar(255) COMMENT '浜嬮」缂栫爜',
+    `matterName`   varchar(1024) COMMENT '浜嬮」鍚嶇О',
+    `policyName`   varchar(1024) COMMENT '娉曡鏍囬',
+    `policyType`   varchar(32) COMMENT '娉曡绫诲瀷锛�(娉曞緥.娉曞緥锛岃鏀挎硶瑙�.琛屾斂娉曡锛屽湴鏂规硶瑙�.鍦版柟娉曡锛岄儴闂ㄨ绔�.閮ㄩ棬瑙勭珷锛屽叾浠�.鍏朵粬锛屾斂搴滆绔�.鏀垮簻瑙勭珷锛岃鑼冩€ф枃浠�.瑙勮寖鎬ф枃浠�)',
     `policyitem`   varchar(1024) COMMENT '鏉′緥',
-    `content`      text CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT '鏉℃鍐呭',
-    `source`       tinyint(2) DEFAULT '1' COMMENT '浜嬮」鏉ユ簮锛�(0.鏀垮姟缃戯紝1.鑷畾涔�)',
-    `createTime`   datetime    DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
-    `createUserId` bigint(20) NULL DEFAULT NULL COMMENT '鍒涘缓鐢ㄦ埛',
-    `updateTime`   datetime    DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '淇敼鏃堕棿',
-    PRIMARY KEY (`id`) USING BTREE
-) ENGINE=InnoDB  DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='浜嬮」璁惧畾渚濇嵁琛�';
+    `content`      text COMMENT '鏉℃鍐呭',
+    `source`       tinyint(2) COMMENT '浜嬮」鏉ユ簮锛�(0.鏀垮姟缃戯紝1.鑷畾涔�)',
+    `createTime`   datetime COMMENT '鍒涘缓鏃堕棿',
+    `createUserId` bigint(20) COMMENT '鍒涘缓鐢ㄦ埛',
+    `updateTime`   datetime COMMENT '淇敼鏃堕棿',
+    PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='浜嬮」璁惧畾渚濇嵁';
 
 -- ----------------------------
--- 浜嬮」涓粙鏈嶅姟琛�
+-- 浜嬮」鍔炵悊娴佺▼琛�
 -- ----------------------------
-DROP TABLE IF EXISTS `mortals_sys_matter_intermediary`;
-CREATE TABLE `mortals_sys_matter_intermediary`
-(
-    `id`                      bigint(20) NOT NULL AUTO_INCREMENT COMMENT '涓婚敭锛岃嚜澧為暱',
-    `matterId`                bigint(20) NOT NULL DEFAULT '0' COMMENT '浜嬮」matter id',
-    `matterName`              varchar(1024) CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT '浜嬮」鍚嶇О',
-    `title`                   varchar(1024) CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT '涓粙鏈嶅姟浜嬮」鍚嶇О',
-    `intermediaryRequest`     text CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT '涓粙鏈嶅姟瀹炴柦鏈烘瀯鍙婅祫璐ㄨ祫鏍艰姹�',
-    `intermediaryRequestTime` varchar(512) CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT '鏈嶅姟鏃堕檺',
-    `remark`                  text CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT '澶囨敞',
-    `source`                  tinyint(2) DEFAULT '0' COMMENT '浜嬮」鏉ユ簮锛�(0.鏀垮姟缃戯紝1.鑷畾涔�)',
-    `createTime`              datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
-    `createUserId`            bigint(20) DEFAULT NULL COMMENT '鍒涘缓鐢ㄦ埛',
-    `updateTime`              datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '淇敼鏃堕棿',
-    PRIMARY KEY (`id`) USING BTREE
-) ENGINE=InnoDB  DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='浜嬮」涓粙鏈嶅姟琛�';
+DROP TABLE IF EXISTS `mortals_sys_matter_flowlimit`;
+CREATE TABLE mortals_sys_matter_flowlimit
+(
+    `id`           bigint(20) AUTO_INCREMENT COMMENT '涓婚敭锛岃嚜澧為暱',
+    `matterId`     bigint(20) NOT NULL COMMENT '浜嬮」鍩虹琛╥d',
+    `matterCode`   varchar(512) COMMENT '浜嬮」缂栫爜',
+    `matterName`   varchar(1024) COMMENT '浜嬮」鍚嶇О',
+    `flowName`     varchar(256) COMMENT '鍔炵悊娴佺▼',
+    `flowTime`     varchar(256) COMMENT '鍔炵悊鏃堕暱',
+    `flowLimit`    varchar(256) COMMENT '杞鏃堕檺',
+    `flowDesc`     varchar(1024) COMMENT '鍔炵悊娴佺▼璇存槑',
+    `source`       tinyint(2) COMMENT '浜嬮」鏉ユ簮(0.鏀垮姟缃戯紝1.鑷畾涔�)',
+    `createTime`   datetime COMMENT '鍒涘缓鏃堕棿',
+    `createUserId` bigint(20) COMMENT '鍒涘缓鐢ㄦ埛',
+    `updateTime`   datetime COMMENT '淇敼鏃堕棿',
+    PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='浜嬮」鍔炵悊娴佺▼';
 
--- ----------------------------
--- 浜嬮」甯歌闂琛�
--- ----------------------------
-DROP TABLE IF EXISTS `mortals_sys_matter_question`;
-CREATE TABLE `mortals_sys_matter_question`
-(
-    `id`           bigint(20) NOT NULL AUTO_INCREMENT COMMENT '涓婚敭锛岃嚜澧為暱',
-    `matterId`     bigint(20) NOT NULL DEFAULT '0' COMMENT '浜嬮」鍩虹琛╩atter id',
-    `matterName`   varchar(1024) CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT '浜嬮」鍚嶇О',
-    `question`     varchar(512) CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT '闂',
-    `answer`       varchar(2048) CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT '鍥炵瓟',
-    `source`       tinyint(2) DEFAULT '0' COMMENT '浜嬮」鏉ユ簮锛�(0.鏀垮姟缃戯紝1.鑷畾涔�)',
-    `createTime`   datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
-    `createUserId` bigint(20) DEFAULT NULL COMMENT '鍒涘缓鐢ㄦ埛',
-    `updateTime`   datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '淇敼鏃堕棿',
-    PRIMARY KEY (`id`) USING BTREE
-) ENGINE=InnoDB  DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='浜嬮」甯歌闂';
 
 
 -- ----------------------------
diff --git a/base-manager/doc/api.md b/base-manager/doc/api.md
index 964d91bcc8c94dc1a3c21b212759de497d960289..8cf50f58cced30b5b2230bff77ecf532af5fb2d5 100644
--- a/base-manager/doc/api.md
+++ b/base-manager/doc/api.md
@@ -1295,6 +1295,46 @@ data|Object|鏁版嵁|-
 
 ```
 
+### 鍚屾绔欑偣鐩稿叧浜嬮」
+
+**璇锋眰URL:** site/syncGovMatterBySiteId
+
+**璇锋眰鏂瑰紡:** POST
+
+
+**鍐呭绫诲瀷:** application/json;charset=utf-8
+
+**绠€瑕佹弿杩�:** 鍚屾绔欑偣鐩稿叧浜嬮」
+
+**璇锋眰鍙傛暟:**
+
+鍙傛暟鍚嶇О|绫诲瀷|澶囨敞|蹇呭~|鍏跺畠
+id|Long|绔欑偣id|鏄瘄-
+**璇锋眰鏍蜂緥:**
+```
+{鈥渋d鈥�:3}
+
+```
+
+**鍝嶅簲鍙傛暟:**
+
+鍙傛暟鍚嶇О |鍙傛暟绫诲瀷|澶囨敞|鍏跺畠
+---|---|---|---
+code|Integer|缁撴灉鐮侊紙-1.澶辫触锛�1.鎴愬姛锛墊-
+msg|String|娑堟伅|-
+data|Object|鏁版嵁|-
+
+**鍝嶅簲娑堟伅鏍蜂緥:**
+```
+
+{
+    "code":1,
+	"msg":"鎴愬姛"
+
+}
+
+```
+
 ### 鏍规嵁鍖哄煙鏌ヨ绔欑偣鍒楄〃
 
 **璇锋眰URL:** site/getFlatSitesByAreaCode
diff --git a/base-manager/pom.xml b/base-manager/pom.xml
index a6ff188a14447c1d14a3d044c9c19c7cfccc61cb..cb140e0c529a140d47d6707c0280cf1bf5a20e6a 100644
--- a/base-manager/pom.xml
+++ b/base-manager/pom.xml
@@ -25,7 +25,7 @@
             </activation>
             <properties>
                 <profiles.active>develop</profiles.active>
-                <profiles.server.ip>192.168.0.98</profiles.server.ip>
+                <profiles.server.ip>127.0.0.1</profiles.server.ip>
                 <profiles.server.port>17211</profiles.server.port>
                 <profiles.nginx.port>11071</profiles.nginx.port>
                 <profiles.server.gatewayport>11078</profiles.server.gatewayport>
diff --git a/base-manager/src/main/bin/start.sh b/base-manager/src/main/bin/start.sh
index 5c15fb5ab3b99e6814cedfe5207abc83be3dbbc9..93e486564cc11014013b6f17023a5f6235b303e3 100644
--- a/base-manager/src/main/bin/start.sh
+++ b/base-manager/src/main/bin/start.sh
@@ -45,7 +45,7 @@ fi
 
 if [ -e "$BASEDIR" ]
 then
-  JAVA_OPTS="-Xms1024M -Xmx1024M -Xss256K -XX:+UseAdaptiveSizePolicy -XX:+UseParallelGC -XX:+UseParallelOldGC -XX:GCTimeRatio=39 -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:$GC_PATH -XX:+HeapDumpOnOutOfMemoryError -XX:ErrorFile=$HS_ERR_PATH -XX:HeapDumpPath=$HEAP_DUMP_PATH"
+  JAVA_OPTS="-Xms1024M -Xmx2048M -Xss256K -XX:+UseAdaptiveSizePolicy -XX:+UseParallelGC -XX:+UseParallelOldGC -XX:GCTimeRatio=39 -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:$GC_PATH -XX:+HeapDumpOnOutOfMemoryError -XX:ErrorFile=$HS_ERR_PATH -XX:HeapDumpPath=$HEAP_DUMP_PATH"
 fi
 
 CLASSPATH=$CLASSPATH_PREFIX:
diff --git a/base-manager/src/main/java/com/mortals/xhx/common/utils/MatterDetailHtmlParseUtil.java b/base-manager/src/main/java/com/mortals/xhx/common/utils/MatterDetailHtmlParseUtil.java
index 57e6faea976a81f2d1ec7e8c19d0a2099cc67041..5b17a81f3557714ed411568f150c79a867a16c72 100644
--- a/base-manager/src/main/java/com/mortals/xhx/common/utils/MatterDetailHtmlParseUtil.java
+++ b/base-manager/src/main/java/com/mortals/xhx/common/utils/MatterDetailHtmlParseUtil.java
@@ -1,46 +1,37 @@
 package com.mortals.xhx.common.utils;
 
-import cn.hutool.core.collection.CollUtil;
-import cn.hutool.core.util.XmlUtil;
-import cn.hutool.http.HttpUtil;
 import com.alibaba.fastjson.JSON;
-import com.ibm.wsdl.util.xml.XPathUtils;
-import com.mortals.framework.common.Rest;
 import com.mortals.xhx.common.code.FiletypeEnum;
 import com.mortals.xhx.common.code.SourceEnum;
 import com.mortals.xhx.module.matter.model.MatterDatumFileEntity;
-import com.mortals.xhx.module.matter.model.MatterEntity;
 import lombok.extern.slf4j.Slf4j;
-import org.htmlcleaner.CleanerProperties;
-import org.htmlcleaner.DomSerializer;
-import org.htmlcleaner.HtmlCleaner;
-import org.htmlcleaner.TagNode;
 import org.jsoup.Jsoup;
-import org.springframework.util.xml.SimpleNamespaceContext;
-import org.w3c.dom.*;
+import org.jsoup.nodes.Document;
+import org.jsoup.nodes.Element;
+import org.jsoup.select.Elements;
 
-import javax.xml.namespace.NamespaceContext;
 import javax.xml.xpath.XPath;
-import javax.xml.xpath.XPathConstants;
-import javax.xml.xpath.XPathExpressionException;
 import javax.xml.xpath.XPathFactory;
 import java.util.*;
-import java.util.stream.Collectors;
 
 @Slf4j
 public class MatterDetailHtmlParseUtil {
 
     public static Document getDomByHtml(String url) {
-
-        String html = null;
+        Document document = null;
         try {
+            document = Jsoup.connect(url).get();
+            return document;
+            /*Jsoup.connect(url).get();
             html = Jsoup.connect(url).get().body().html();
+
             // html = HttpUtil.get(url);
             //System.out.println(html);
             HtmlCleaner hc = new HtmlCleaner();
             TagNode tn = hc.clean(html);
 
-/*            Object[] rs = tn.evaluateXPath("//div[@class='section10']//table[1]//tr[2]//td");
+
+            Object[] rs = tn.evaluateXPath("//div");
 
             for (Integer i = 0; i < rs.length; i++) {
                 TagNode n = (TagNode) rs[i];
@@ -48,7 +39,20 @@ public class MatterDetailHtmlParseUtil {
             }*/
 
             // System.out.println(tn.getText());
-            Document dom = new DomSerializer(new CleanerProperties()).createDOM(tn);
+/*            CleanerProperties cleanerProperties = new CleanerProperties();
+
+            cleanerProperties.setAdvancedXmlEscape(true);
+
+            cleanerProperties.setOmitXmlDeclaration(true);
+            cleanerProperties.setOmitDoctypeDeclaration(true);
+
+            cleanerProperties.setTranslateSpecialEntities(true);
+            cleanerProperties.setTransResCharsToNCR(true);
+            cleanerProperties.setRecognizeUnicodeChars(true);
+
+            cleanerProperties.setIgnoreQuestAndExclam(true);
+            cleanerProperties.setUseEmptyElementTags(false);
+            Document dom = new DomSerializer(cleanerProperties).createDOM(tn);*/
             /*XPath xPath = XPathFactory.newInstance().newXPath();
 
             String tklrExp = String.format("//div[@class=\"smltc9_bottom\"]//p");
@@ -60,20 +64,21 @@ public class MatterDetailHtmlParseUtil {
                 System.out.println(nodeList.item(i).getTextContent());
                 System.out.println("===============");
             }*/
-
-
             //div[@class='section10']//table[1]//tr[%d]//td
-            return dom;
-
+            //return dom;
         } catch (Exception e) {
             e.printStackTrace();
         }
-
         return null;
-
     }
 
 
+    /**
+     * 瑙f瀽浜嬮」鍩烘湰淇℃伅
+     *
+     * @param dom
+     * @return
+     */
     public static Map<String, String> getbaseInfoMapByHtml(Document dom) {
         Map<String, String> params = new HashMap<>();
         String baseInfoExp = "//div[@class=\"section1\"]//table[1]//td";
@@ -83,25 +88,23 @@ public class MatterDetailHtmlParseUtil {
         baseInfoExp += "|" + baseInfoExp1;
         baseInfoExp += "|" + baseInfoExp2;
         baseInfoExp += "|" + baseInfoExp3;
-        XPath xPath = XPathFactory.newInstance().newXPath();
-        Object result;
         try {
-            result = xPath.evaluate(baseInfoExp, dom, XPathConstants.NODESET);
-            if (result instanceof NodeList) {
-                NodeList nodeList = (NodeList) result;
-                for (int i = 0; i < nodeList.getLength(); i++) {
-                    if (i % 2 == 0) {
-                        continue;
-                    }
-                    Node node = nodeList.item(i);
-                    if (i > 0) {
-                        Node prenode = nodeList.item(i - 1);
-                        params.put(prenode.getTextContent().trim(), node.getTextContent().trim());
-                    }
+            Elements elements = dom.selectXpath(baseInfoExp);
+            for (int i = 0; i < elements.size(); i++) {
+                Element element = elements.get(i);
+                if (element == null) {
+                    continue;
+                }
+                if (i % 2 == 0) {
+                    continue;
+                }
+                if (i > 0) {
+                    Element prenode = elements.get(i - 1);
+                    params.put(prenode.text().trim(), element.text().trim());
                 }
             }
-        } catch (XPathExpressionException e) {
-            log.error("xpath瑙f瀽寮傚父:", e);
+        } catch (Exception e) {
+            log.error("鍩烘湰淇℃伅xpath瑙f瀽寮傚父:", e);
         }
         return params;
     }
@@ -117,89 +120,79 @@ public class MatterDetailHtmlParseUtil {
         String blankSampleExp = "//div[@id=\"zhezhao\"]//div[@class='zhezhao4']";
         String sampleExp = "//div[@id=\"zhezhao\"]//div[@class='zhezhao2']";
         String baseInfoExp = "//div[@id=\"zhezhao\"]//div[@class='zhezhao3']";
-        XPath xPath = XPathFactory.newInstance().newXPath();
-        Object result;
         try {
-            result = xPath.evaluate(blankSampleExp, dom, XPathConstants.NODESET);
-            if (result instanceof NodeList) {
-                NodeList nodeList = (NodeList) result;
-                int rowNum = nodeList.getLength();
-                for (int i = 1; i <= rowNum; i++) {
-                    HashMap<String, Object> map = new HashMap<>();
-                    List<MatterDatumFileEntity> datumFileEntities = new ArrayList<>();
-                    List<MatterDatumFileEntity> datumSampleFileEntities = new ArrayList<>();
-                    //鏌ヨ绌虹櫧鏍疯〃鏁伴噺
-                    String tempxPath = blankSampleExp + String.format("[%d]//table//tr[position()>1]//td", i);
-                    Object evaluate = xPath.evaluate(tempxPath, dom, XPathConstants.NODESET);
-                    if (evaluate instanceof NodeList) {
-                        NodeList evaluateList = (NodeList) evaluate;
-                        for (int j = 0; j < evaluateList.getLength(); j++) {
-                            if (j % 2 == 0) {
-                                continue;
-                            }
-                            Node node = evaluateList.item(j);
-                            if (j > 0) {
-                                Node prenode = evaluateList.item(j - 1);
-                                MatterDatumFileEntity fileEntity = new MatterDatumFileEntity();
-                                fileEntity.setCreateTime(new Date());
-                                fileEntity.setCreateUser("system");
-                                fileEntity.setSource(SourceEnum.鏀垮姟缃�.getValue());
-                                fileEntity.setFiletype(2);
-                                fileEntity.setFileName(prenode.getTextContent().trim());
-                                fileEntity.setFileUrl(node.getFirstChild().getAttributes().getNamedItem("href").getNodeValue().trim());
-                                datumFileEntities.add(fileEntity);
-                            }
-                        }
-                        map.put("blankList", datumFileEntities);
+            Elements elements = dom.selectXpath(blankSampleExp);
+            int rowNum = elements.size();
+
+            for (int i = 1; i <= rowNum; i++) {
+                HashMap<String, Object> map = new HashMap<>();
+                List<MatterDatumFileEntity> datumFileEntities = new ArrayList<>();
+                List<MatterDatumFileEntity> datumSampleFileEntities = new ArrayList<>();
+                //鏌ヨ绌虹櫧鏍疯〃鏁伴噺
+                String tempxPath = blankSampleExp + String.format("[%d]//table//tr[position()>1]//td", i);
+
+                Elements evaluateList = dom.selectXpath(tempxPath);
+                for (int j = 0; j < evaluateList.size(); j++) {
+                    if (j % 2 == 0) {
+                        continue;
                     }
-                    //鏌ヨ鏍疯〃
-                    String tempxPath1 = sampleExp + String.format("[%d]//table//tr[position()>1]//td", i);
-                    Object sample = xPath.evaluate(tempxPath1, dom, XPathConstants.NODESET);
-                    if (sample instanceof NodeList) {
-                        NodeList sampleList = (NodeList) sample;
-                        for (int j = 0; j < sampleList.getLength(); j++) {
-                            if (j % 2 == 0) {
-                                continue;
-                            }
-                            Node node = sampleList.item(j);
-                            if (j > 0) {
-                                Node prenode = sampleList.item(j - 1);
-                                MatterDatumFileEntity fileEntity = new MatterDatumFileEntity();
-                                fileEntity.setCreateTime(new Date());
-                                fileEntity.setCreateUser("system");
-                                fileEntity.setSource(SourceEnum.鏀垮姟缃�.getValue());
-                                fileEntity.setFiletype(2);
-                                fileEntity.setFileName(prenode.getTextContent().trim());
-                                fileEntity.setFileUrl(node.getFirstChild().getAttributes().getNamedItem("href").getNodeValue().trim());
-                                datumSampleFileEntities.add(fileEntity);
-                            }
-                            map.put("sampleList", datumSampleFileEntities);
-                        }
+                    Element node = evaluateList.get(j);
+                    if (j > 0) {
+                        Element prenode = evaluateList.get(j - 1);
+                        MatterDatumFileEntity fileEntity = new MatterDatumFileEntity();
+                        fileEntity.setCreateTime(new Date());
+                        fileEntity.setCreateUser("system");
+                        fileEntity.setSource(SourceEnum.鏀垮姟缃�.getValue());
+                        fileEntity.setFiletype(FiletypeEnum.绌虹櫧琛ㄦ牸.getValue());
+                        fileEntity.setFileName(prenode.text().trim());
+                        fileEntity.setFileUrl(node.firstChild().attr("href").trim());
+                        datumFileEntities.add(fileEntity);
                     }
-                    //鏌ヨ鍩烘湰淇℃伅
-                    String tempxPath2 = baseInfoExp + String.format("[%d]//table//tr//td", i);
-                    Object baseinfo = xPath.evaluate(tempxPath2, dom, XPathConstants.NODESET);
-                    HashMap<String, String> baseInfoMap = new HashMap<>();
-                    if (baseinfo instanceof NodeList) {
-                        NodeList baseinfoList = (NodeList) baseinfo;
-                        for (int j = 0; j < baseinfoList.getLength(); j++) {
-                            if (j % 2 == 0) {
-                                continue;
-                            }
-                            Node node = baseinfoList.item(j);
-                            if (j > 0) {
-                                Node prenode = baseinfoList.item(j - 1);
-                                System.out.println(prenode.getTextContent().trim() + "=" + node.getTextContent().trim());
-                                baseInfoMap.put(prenode.getTextContent().trim(), node.getTextContent().trim());
-                            }
-                        }
+                }
+                map.put("blankList", datumFileEntities);
+                //鏌ヨ鏍疯〃
+                String tempxPath1 = sampleExp + String.format("[%d]//table//tr[position()>1]//td", i);
+                Elements sampleList = dom.selectXpath(tempxPath1);
+
+                for (int j = 0; j < sampleList.size(); j++) {
+                    if (j % 2 == 0) {
+                        continue;
+                    }
+                    Element node = sampleList.get(j);
+                    if (j > 0) {
+                        Element prenode = sampleList.get(j - 1);
+                        MatterDatumFileEntity fileEntity = new MatterDatumFileEntity();
+                        fileEntity.setCreateTime(new Date());
+                        fileEntity.setCreateUser("system");
+                        fileEntity.setSource(SourceEnum.鏀垮姟缃�.getValue());
+                        fileEntity.setFiletype(FiletypeEnum.绀轰緥鏍疯〃.getValue());
+                        fileEntity.setFileName(prenode.text().trim());
+                        fileEntity.setFileUrl(node.firstChild().attr("href").trim());
+                        datumSampleFileEntities.add(fileEntity);
+                    }
+                    map.put("sampleList", datumSampleFileEntities);
+                }
+
+
+                //鏌ヨ鍩烘湰淇℃伅
+                String tempxPath2 = baseInfoExp + String.format("[%d]//table//tr//td", i);
+                Elements baseinfoList = dom.selectXpath(tempxPath2);
+                HashMap<String, String> baseInfoMap = new HashMap<>();
+                for (int j = 0; j < baseinfoList.size(); j++) {
+                    if (j % 2 == 0) {
+                        continue;
+                    }
+                    Element node = baseinfoList.get(j);
+                    if (j > 0) {
+                        Element prenode = baseinfoList.get(j - 1);
+                        baseInfoMap.put(prenode.text().trim(), node.text().trim());
                     }
-                    map.put("baseinfo", baseInfoMap);
-                    mapList.add(map);
                 }
+                map.put("baseinfo", baseInfoMap);
+                mapList.add(map);
             }
         } catch (Exception e) {
-            log.error("xpath瑙f瀽寮傚父:", e);
+            log.error("鐢宠鏉愭枡琛ㄦ牸瑙f瀽xpath瑙f瀽寮傚父:", e);
         }
         return mapList;
     }
@@ -214,21 +207,15 @@ public class MatterDetailHtmlParseUtil {
     public static Map<String, String> getSltjMapByHtml(Document dom) {
         Map<String, String> resultMap = new HashMap<>();
         String baseInfoExp = "//div[@class='section6']//p";
-
-        XPath xPath = XPathFactory.newInstance().newXPath();
-        Object result;
         try {
-            result = xPath.evaluate(baseInfoExp, dom, XPathConstants.NODESET);
-            if (result instanceof NodeList) {
-                NodeList nodeList = (NodeList) result;
-                StringBuilder sb = new StringBuilder();
-                for (int i = 0; i < nodeList.getLength(); i++) {
-                    sb.append(nodeList.item(i).getTextContent());
-                }
-                resultMap.put("sltj", sb.toString());
+            Elements elements = dom.selectXpath(baseInfoExp);
+            StringBuilder sb = new StringBuilder();
+            for (int i = 0; i < elements.size(); i++) {
+                sb.append(elements.get(i).text().trim());
             }
-        } catch (XPathExpressionException e) {
-            log.error("xpath瑙f瀽寮傚父:", e);
+            resultMap.put("sltj", sb.toString());
+        } catch (Exception e) {
+            log.error("鍙楃悊鏉′欢xpath瑙f瀽寮傚父:", e);
         }
         return resultMap;
     }
@@ -245,8 +232,22 @@ public class MatterDetailHtmlParseUtil {
         String baseInfoExp1 = "//div[@class='section7']//table[1]//tr";
         XPath xPath = XPathFactory.newInstance().newXPath();
         Object result;
-        int rowNum = 1;
+        int rowNum = 0;
         try {
+            Elements elements = dom.selectXpath(baseInfoExp1);
+            rowNum = elements.size();
+            Elements nodeList = dom.selectXpath(baseInfoExp);
+            for (int j = 1; j <= rowNum; j++) {
+                Map<String, Object> map = new HashMap<>();
+                String baseInfoTempExp = String.format("//div[@class='section7']//table[1]//tr[%d]//td", j + 1);
+                Elements evaluateList = dom.selectXpath(baseInfoTempExp);
+                for (int k = 0; k < evaluateList.size(); k++) {
+                    map.put(nodeList.get(k).text(), evaluateList.get(k).text().trim());
+                    map.put("sort", j);
+                }
+                resultListMap.add(map);
+            }
+            /*
             result = xPath.evaluate(baseInfoExp1, dom, XPathConstants.NODESET);
             if (result instanceof NodeList) {
                 NodeList nodeList = (NodeList) result;
@@ -269,9 +270,9 @@ public class MatterDetailHtmlParseUtil {
                     }
                     resultListMap.add(map);
                 }
-            }
-        } catch (XPathExpressionException e) {
-            log.error("xpath瑙f瀽寮傚父:", e);
+            }*/
+        } catch (Exception e) {
+            log.error("鍔炵悊娴佺▼xpath瑙f瀽寮傚父:", e);
         }
         return resultListMap;
     }
@@ -285,11 +286,14 @@ public class MatterDetailHtmlParseUtil {
     public static Map<String, String> getSfbzMapByHtml(Document dom) {
         Map<String, String> resultMap = new HashMap<>();
         String baseInfoExp = "//div[@class='section8']//p";
-
-        XPath xPath = XPathFactory.newInstance().newXPath();
-        Object result;
         try {
-            result = xPath.evaluate(baseInfoExp, dom, XPathConstants.NODESET);
+            Elements elements = dom.selectXpath(baseInfoExp);
+            StringBuilder sb = new StringBuilder();
+            for (int i = 0; i < elements.size(); i++) {
+                sb.append(elements.get(i).text());
+            }
+            resultMap.put("sfbz", sb.toString());
+           /* result = xPath.evaluate(baseInfoExp, dom, XPathConstants.NODESET);
             if (result instanceof NodeList) {
                 NodeList nodeList = (NodeList) result;
                 StringBuilder sb = new StringBuilder();
@@ -297,9 +301,9 @@ public class MatterDetailHtmlParseUtil {
                     sb.append(nodeList.item(i).getTextContent());
                 }
                 resultMap.put("sfbz", sb.toString());
-            }
-        } catch (XPathExpressionException e) {
-            log.error("xpath瑙f瀽寮傚父:", e);
+            }*/
+        } catch (Exception e) {
+            log.error("鏀惰垂鏍囧噯xpath瑙f瀽寮傚父:", e);
         }
         return resultMap;
     }
@@ -315,18 +319,37 @@ public class MatterDetailHtmlParseUtil {
         List<Map<String, Object>> resultListMap = new ArrayList<>();
         String baseInfoExp = "//div[@class='section9']//table[1]//tr";
         String baseInfoExp1 = "//div[@class='section9']//table[1]//tr[1]//td";
-        XPath xPath = XPathFactory.newInstance().newXPath();
         int num = 0;
-        Object result;
         try {
+            Elements elements = dom.selectXpath(baseInfoExp);
+            num = elements.size();
+            Elements nodeList = dom.selectXpath(baseInfoExp1);
+            for (int j = 1; j < num; j++) {
+                Map<String, Object> map = new HashMap<>();
+                String baseInfoTempExp = String.format("//div[@class='section9']//table[1]//tr[%d]//td", j + 1);
+                Elements evaluateList = dom.selectXpath(baseInfoTempExp);
+
+                for (int k = 1; k < evaluateList.size(); k++) {
+                    map.put(nodeList.get(k - 1).text().trim(), evaluateList.get(k).text().trim());
+                    if (nodeList.get(k - 1).text().trim().equalsIgnoreCase("鏉℃鍐呭")) {
+                        //鏌ユ壘瀵瑰簲鍐呭
+                        String tklrExp = String.format("//div[@class=\"smltc9_bottom\"]//p");
+                        Elements tklrList = dom.selectXpath(tklrExp);
+                        map.put(nodeList.get(k - 1).text().trim(), tklrList.get(j - 1).text().trim());
+                    }
+                }
+                map.put("sort", j);
+                resultListMap.add(map);
+            }
+
+
+/*
             result = xPath.evaluate(baseInfoExp, dom, XPathConstants.NODESET);
 
             NodeList nodeList = (NodeList) result;
             num = nodeList.getLength();
             result = xPath.evaluate(baseInfoExp1, dom, XPathConstants.NODESET);
-
             nodeList = (NodeList) result;
-
             for (int j = 1; j < num; j++) {
                 Map<String, Object> map = new HashMap<>();
                 String baseInfoTempExp = String.format("//div[@class='section9']//table[1]//tr[%d]//td", j + 1);
@@ -335,7 +358,6 @@ public class MatterDetailHtmlParseUtil {
                 NodeList evaluateList = (NodeList) evaluate;
                 for (int k = 1; k < evaluateList.getLength(); k++) {
                     map.put(nodeList.item(k - 1).getTextContent(), evaluateList.item(k).getTextContent().trim());
-
                     if (nodeList.item(k - 1).getTextContent().trim().equalsIgnoreCase("鏉℃鍐呭")) {
                         //鏌ユ壘瀵瑰簲鍐呭
                         String tklrExp = String.format("//div[@class=\"smltc9_bottom\"]//p");
@@ -343,15 +365,13 @@ public class MatterDetailHtmlParseUtil {
                         NodeList tklrList = (NodeList) tklr;
                         map.put(nodeList.item(k - 1).getTextContent(), tklrList.item(j - 1).getTextContent().trim());
                     }
-
                 }
                 map.put("sort", j);
-
                 resultListMap.add(map);
-            }
+            }*/
 
-        } catch (XPathExpressionException e) {
-            log.error("xpath瑙f瀽寮傚父:", e);
+        } catch (Exception e) {
+            log.error("璁惧畾渚濇嵁xpath瑙f瀽寮傚父:", e);
         }
         return resultListMap;
     }
@@ -366,23 +386,19 @@ public class MatterDetailHtmlParseUtil {
     public static Map<String, String> getZjfwMapByHtml(Document dom) {
         Map<String, String> map = new HashMap<>();
         String baseInfoExp = "//div[@class='section10']//table[1]//tr";
-        XPath xPath = XPathFactory.newInstance().newXPath();
         int rownum = 0;
-        Object result;
         try {
-            result = xPath.evaluate(baseInfoExp, dom, XPathConstants.NODESET);
-            NodeList nodeList = (NodeList) result;
-            rownum = nodeList.getLength();
+            Elements elements = dom.selectXpath(baseInfoExp);
+            rownum = elements.size();
             for (int j = 1; j <= rownum; j++) {
                 String baseInfoTempExp = String.format("//div[@class='section10']//table[1]//tr[%d]//td", j);
-                Object evaluate = xPath.evaluate(baseInfoTempExp, dom, XPathConstants.NODESET);
-                NodeList evaluateList = (NodeList) evaluate;
-                if (evaluateList.getLength() > 1) {
-                    map.put(evaluateList.item(evaluateList.getLength() - 2).getTextContent().trim(), evaluateList.item(evaluateList.getLength() - 1).getTextContent().trim());
+                Elements evaluateList = dom.selectXpath(baseInfoTempExp);
+                if (evaluateList.size() > 1) {
+                    map.put(evaluateList.get(evaluateList.size() - 2).text().trim(), evaluateList.get(evaluateList.size() - 1).text().trim());
                 }
             }
-        } catch (XPathExpressionException e) {
-            log.error("xpath瑙f瀽寮傚父:", e);
+        } catch (Exception e) {
+            log.error("涓粙鏈嶅姟xpath瑙f瀽寮傚父:", e);
         }
         return map;
     }
@@ -396,25 +412,21 @@ public class MatterDetailHtmlParseUtil {
     public static List<Map<String, Object>> getCjwtMapByHtml(Document dom) {
         List<Map<String, Object>> resultListMap = new ArrayList<>();
         String baseInfoExp = "//div[@class='section11']//table[1]//tr";
-        XPath xPath = XPathFactory.newInstance().newXPath();
         int num = 0;
-        Object result;
         try {
-            result = xPath.evaluate(baseInfoExp, dom, XPathConstants.NODESET);
-            NodeList nodeList = (NodeList) result;
-            num = nodeList.getLength();
+            Elements elements = dom.selectXpath(baseInfoExp);
+            num = elements.size();
             for (int j = 1; j <= num; j++) {
                 Map<String, Object> map = new HashMap<>();
-                String baseInfoTempExp = String.format("//div[@class='section11']//table[1]//tr[%d]//td[2]", j );
-                Object evaluate = xPath.evaluate(baseInfoTempExp, dom, XPathConstants.NODESET);
-                NodeList evaluateList = (NodeList) evaluate;
-                for (int k = 0; k < evaluateList.getLength(); k++) {
-                    map.put(evaluateList.item(k).getFirstChild().getTextContent().trim(),evaluateList.item(k).getLastChild().getTextContent().trim());
+                String baseInfoTempExp = String.format("//div[@class='section11']//table[1]//tr[%d]//td[2]", j);
+                Elements evaluateList = dom.selectXpath(baseInfoTempExp);
+                for (int k = 0; k < evaluateList.size(); k++) {
+                    map.put(evaluateList.get(k).firstElementChild().text(), evaluateList.get(k).lastElementChild().text().trim());
                 }
                 map.put("sort", j);
                 resultListMap.add(map);
             }
-        } catch (XPathExpressionException e) {
+        } catch (Exception e) {
             log.error("甯哥敤闂xpath瑙f瀽寮傚父:", e);
         }
         return resultListMap;
@@ -426,42 +438,40 @@ public class MatterDetailHtmlParseUtil {
         //String url = "http://www.sczwfw.gov.cn/jiq/front/transition/ywTransToDetail?areaCode=511102000000&itemCode=511A0116400001-511102000000-000-11511000008554251k-1-00&taskType=1&deptCode=1151124000008554251k_28064";
         // String url = "http://www.sczwfw.gov.cn/jiq/front/transition/ywTransToDetail?areaCode=510110307000&itemCode=511E99406004-510110307000-000-11510110009212261X-1-00&taskType=9&deptCode=1703461";
         String url = "http://www.sczwfw.gov.cn/jiq/front/transition/ywTransToDetail?areaCode=511102000000&itemCode=511A0099100005-511102000000-000-11511002735871990X-1-00&taskType=1&deptCode=11511002735871990X";
+        //String url = "http://www.sczwfw.gov.cn/jiq/front/transition/ywTransToDetail?areaCode=513426000000&itemCode=511F3000300009-513426000000-000-11513426MB1541028A-1-00&taskType=7&deptCode=009075316";
 
         Document dom = MatterDetailHtmlParseUtil.getDomByHtml(url);
+        Map<String, String> baseInfoMap = MatterDetailHtmlParseUtil.getbaseInfoMapByHtml(dom);
+        System.out.println(JSON.toJSONString(baseInfoMap));
+        baseInfoMap.entrySet().stream().forEach(item -> {
+            System.out.println(item.getKey() + "=" + item.getValue());
+        });
 
-//        Map<String, String> baseInfoMap = MatterDetailHtmlParseUtil.getbaseInfoMapByHtml(dom);
-//
-//       // System.out.println(JSON.toJSONString(baseInfoMap));
-//       baseInfoMap.entrySet().stream().forEach(item->{
-//           System.out.println(item.getKey()+"="+item.getValue());
-//       });
-
-//        List<Map<String, Object>> mapList = MatterDetailHtmlParseUtil.getsqclInfoMapByHtml(dom);
-//
-//        System.out.println(JSON.toJSONString(mapList));
-
-//        Map<String, String> sltjMapByHtml = MatterDetailHtmlParseUtil.getSltjMapByHtml(dom);
-//
-//        System.out.println(JSON.toJSONString(sltjMapByHtml));
-
-
-//        List<Map<String, Object>> mapList = MatterDetailHtmlParseUtil.getbllcMapByHtml(dom);
-//        System.out.println(JSON.toJSONString(mapList));
-
-
-//        Map<String, String> sfbzMapByHtml = MatterDetailHtmlParseUtil.getSfbzMapByHtml(dom);
-//        System.out.println(JSON.toJSONString(sfbzMapByHtml));
+        List<Map<String, Object>> mapList = MatterDetailHtmlParseUtil.getsqclInfoMapByHtml(dom);
+        System.out.println(JSON.toJSONString(mapList));
 
+        Map<String, String> sltjMapByHtml = MatterDetailHtmlParseUtil.getSltjMapByHtml(dom);
+        System.out.println("==============鍙楃悊鏉′欢==============");
+        System.out.println(JSON.toJSONString(sltjMapByHtml));
 
-//        List<Map<String, Object>> mapList = MatterDetailHtmlParseUtil.getSdyjMapByHtml(dom);
-//        System.out.println(JSON.toJSONString(mapList));
+        System.out.println("==============鍔炵悊娴佺▼==============");
+        List<Map<String, Object>> bllcListMap = MatterDetailHtmlParseUtil.getbllcMapByHtml(dom);
+        System.out.println(JSON.toJSONString(bllcListMap));
 
-//        Map<String, String> zjfwMapByHtml = MatterDetailHtmlParseUtil.getZjfwMapByHtml(dom);
-//        System.out.println(JSON.toJSONString(zjfwMapByHtml));
+        System.out.println("==============鏀惰垂鏍囧噯==============");
+        Map<String, String> sfbzMapByHtml = MatterDetailHtmlParseUtil.getSfbzMapByHtml(dom);
+        System.out.println(JSON.toJSONString(sfbzMapByHtml));
 
+        System.out.println("==============璁惧畾渚濇嵁==============");
+        List<Map<String, Object>> sdyjMapByHtml = MatterDetailHtmlParseUtil.getSdyjMapByHtml(dom);
+        System.out.println(JSON.toJSONString(sdyjMapByHtml));
+        System.out.println("==============涓粙鏈嶅姟==============");
+        Map<String, String> zjfwMapByHtml = MatterDetailHtmlParseUtil.getZjfwMapByHtml(dom);
+        System.out.println(JSON.toJSONString(zjfwMapByHtml));
 
-        List<Map<String, Object>> mapList = MatterDetailHtmlParseUtil.getCjwtMapByHtml(dom);
-        System.out.println(JSON.toJSONString(mapList));
+        System.out.println("==============甯歌闂==============");
+        List<Map<String, Object>> cjwtMapByHtml = MatterDetailHtmlParseUtil.getCjwtMapByHtml(dom);
+        System.out.println(JSON.toJSONString(cjwtMapByHtml));
 
 
     }
diff --git a/base-manager/src/main/java/com/mortals/xhx/common/utils/MatterHtmlParseUtil.java b/base-manager/src/main/java/com/mortals/xhx/common/utils/MatterHtmlParseUtil.java
index 52e0c7c28a6d94476bb3b671879d2126d54b9386..016b5399be3b117a7aeb04d15c76bdc013bef821 100644
--- a/base-manager/src/main/java/com/mortals/xhx/common/utils/MatterHtmlParseUtil.java
+++ b/base-manager/src/main/java/com/mortals/xhx/common/utils/MatterHtmlParseUtil.java
@@ -5,25 +5,16 @@ import cn.hutool.core.util.CharsetUtil;
 import com.alibaba.fastjson.JSON;
 import com.mortals.framework.common.Rest;
 import com.mortals.framework.util.DataUtil;
-import com.mortals.framework.util.HttpUtil;
+import com.mortals.xhx.common.code.SourceEnum;
 import com.mortals.xhx.common.code.YesNoEnum;
 import com.mortals.xhx.module.matter.model.MatterEntity;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.lang3.StringEscapeUtils;
-import org.htmlcleaner.CleanerProperties;
-import org.htmlcleaner.DomSerializer;
-import org.htmlcleaner.HtmlCleaner;
-import org.htmlcleaner.TagNode;
 import org.jsoup.Jsoup;
+import org.jsoup.nodes.Document;
+import org.jsoup.nodes.Element;
+import org.jsoup.select.Elements;
 import org.springframework.util.ObjectUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-import javax.xml.xpath.XPath;
-import javax.xml.xpath.XPathConstants;
-import javax.xml.xpath.XPathExpressionException;
-import javax.xml.xpath.XPathFactory;
+
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -36,32 +27,20 @@ public class MatterHtmlParseUtil {
         String matterTotalExp = "//input[@id=\"result_count\"]";
         String matterPageExp = "//input[@id=\"pageNum\"]";
         Map<String, Integer> resultMap = new HashMap<>();
-
-        String html;
-        Object result;
         try {
-            html = HttpUtil.doGet(url, params);
-            HtmlCleaner hc = new HtmlCleaner();
-            TagNode tn = hc.clean(html);
-            Document dom = new DomSerializer(new CleanerProperties()).createDOM(tn);
-            XPath xPath = XPathFactory.newInstance().newXPath();
-            result = xPath.evaluate(matterTotalExp, dom, XPathConstants.NODESET);
-            if (result instanceof NodeList) {
-                NodeList nodeList = (NodeList) result;
-                if (nodeList.getLength() > 0) {
-                    Integer total = nodeList.item(0) == null ? 0 : DataUtil.converStr2Int(nodeList.item(0).getAttributes().getNamedItem("value").getNodeValue(), 0);
-                    resultMap.put("total", total);
-                }
+            Document dom = Jsoup.connect(url).data(params).get();
+            Elements elements = dom.selectXpath(matterTotalExp);
+            if (elements.size() > 0) {
+                Integer total = elements.get(0) == null ? 0 : DataUtil.converStr2Int(elements.get(0).attr("value"), 0);
+                resultMap.put("total", total);
             }
 
-            result = xPath.evaluate(matterPageExp, dom, XPathConstants.NODESET);
-            if (result instanceof NodeList) {
-                NodeList nodeList = (NodeList) result;
-                if (nodeList.getLength() > 0) {
-                    Integer pageNum = nodeList.item(0) == null ? 0 : DataUtil.converStr2Int(nodeList.item(0).getAttributes().getNamedItem("value").getNodeValue(), 0);
-                    resultMap.put("pageNum", pageNum);
-                }
+            elements = dom.selectXpath(matterPageExp);
+            if (elements.size() > 0) {
+                Integer pageNum = elements.get(0) == null ? 0 : DataUtil.converStr2Int(elements.get(0).attr("value"), 0);
+                resultMap.put("pageNum", pageNum);
             }
+
         } catch (Exception e) {
             log.error("鑾峰彇浜嬮」鏁伴噺寮傚父锛乸arams:" + JSON.toJSONString(params), e);
             return Rest.fail(e.getMessage());
@@ -71,83 +50,37 @@ public class MatterHtmlParseUtil {
     }
 
     public static Rest<List<MatterEntity>> getMatterList(Map<String, String> params, String url) {
-        // String url = GlobalSysInfo.getParamValue(Constant.GOV_MATTER_PAGELIST_URL, "http://www.sczwfw.gov.cn/jiq/interface/item/tags");
-        //String url = "http://www.sczwfw.gov.cn/jiq/interface/item/tags";
         String matterListExp = "//div[@class=\"sx_list\"]//span[1]";
         String matterListLiExp = "//div[@class=\"sx_list\"]//li/a[1]";
         List<MatterEntity> matterEntityList = new ArrayList<>();
-        String html;
-        Object result;
         try {
-            //html = HttpUtil.doGet(url, params);
-            html = Jsoup.connect(url).data(params).get().body().html();
-            // System.out.println(html);
-            HtmlCleaner hc = new HtmlCleaner();
-            TagNode tn = hc.clean(html);
-
-            Document dom = new DomSerializer(new CleanerProperties()).createDOM(tn);
-            XPath xPath = XPathFactory.newInstance().newXPath();
-            result = xPath.evaluate(matterListExp, dom, XPathConstants.NODESET);
-            if (result instanceof NodeList) {
-                NodeList nodeList = (NodeList) result;
-                for (int i = 0; i < nodeList.getLength(); i++) {
-                    Node node = nodeList.item(i);
-                    if (node == null) {
-                        continue;
-                    }
-                    String title = StringEscapeUtils.unescapeHtml4(node.getAttributes().getNamedItem("title").getNodeValue());
-                    String href = StringEscapeUtils.unescapeHtml4(node.getFirstChild().getAttributes().getNamedItem("href").getNodeValue());
-                    if (href.equalsIgnoreCase("javascript:void(0)")) {
-                        continue;
-                    }
-                    UrlBuilder builder = UrlBuilder.ofHttp(href, CharsetUtil.CHARSET_UTF_8);
-                    String itemCode = builder.getQuery().get("itemCode").toString();
-                    String taskType = builder.getQuery().get("taskType").toString();
-                    String deptCode = builder.getQuery().get("deptCode").toString();
-                    String areaCode = builder.getQuery().get("areaCode").toString();
-
-                    MatterEntity matterEntity = new MatterEntity();
-                    matterEntity.initAttrValue();
-                    matterEntity.setTcode(itemCode);
-                    matterEntity.setTname(title);
-                    matterEntity.setDeptCode(deptCode);
-                    matterEntity.setMatterNo(itemCode);
-                    matterEntity.setMatterName(title);
-                    matterEntity.setAreaCode(areaCode);
-                    matterEntity.setUrl(href);
-                    matterEntity.setHaveGetMatterInfo("false");
-                    matterEntityList.add(matterEntity);
+            Document dom = Jsoup.connect(url).data(params).get();
+            Elements elements = dom.selectXpath(matterListExp);
+
+            for (int i = 0; i < elements.size(); i++) {
+                Element element = elements.get(i);
+                if (element == null) {
+                    continue;
+                }
+                String title = element.attr("title");
+                String href = element.firstElementChild().attr("href");
+                if (href.equalsIgnoreCase("javascript:void(0)")) {
+                    continue;
                 }
+                buildMatter(matterEntityList, title, href);
             }
 
-            result = xPath.evaluate(matterListLiExp, dom, XPathConstants.NODESET);
-            if (result instanceof NodeList) {
-                NodeList nodeList = (NodeList) result;
-                for (int j = 0; j < nodeList.getLength(); j++) {
-                    Node node = nodeList.item(j);
-                    String title = StringEscapeUtils.unescapeHtml4(node.getAttributes().getNamedItem("title").getNodeValue());
-                    String href = StringEscapeUtils.unescapeHtml4(node.getAttributes().getNamedItem("href").getNodeValue());
-
-                    UrlBuilder builder = UrlBuilder.ofHttp(href, CharsetUtil.CHARSET_UTF_8);
-                    String itemCode = builder.getQuery().get("itemCode").toString();
-                    String taskType = builder.getQuery().get("taskType").toString();
-                    String deptCode = builder.getQuery().get("deptCode").toString();
-                    String areaCode = builder.getQuery().get("areaCode").toString();
-
-                    MatterEntity matterEntity = new MatterEntity();
-                    matterEntity.initAttrValue();
-                    matterEntity.setTcode(itemCode);
-                    matterEntity.setTname(title);
-                    matterEntity.setDeptCode(deptCode);
-                    matterEntity.setMatterNo(itemCode);
-                    matterEntity.setAreaCode(areaCode);
-                    matterEntity.setMatterName(title);
-                    matterEntity.setUrl(href);
-                    matterEntityList.add(matterEntity);
+            elements = dom.selectXpath(matterListLiExp);
+            for (int i = 0; i < elements.size(); i++) {
+                Element element = elements.get(i);
+                if (element == null) {
+                    continue;
                 }
+                String title = element.attr("title");
+                String href = element.attr("href");
+                buildMatter(matterEntityList, title, href);
             }
 
-
         } catch (Exception e) {
             log.error("鑾峰彇鍒楄〃寮傚父锛乸arams:" + JSON.toJSONString(params), e);
             return Rest.fail(e.getMessage());
@@ -156,78 +89,48 @@ public class MatterHtmlParseUtil {
         return Rest.ok(matterEntityList);
     }
 
-
-    /**
-     * 瑙f瀽浜嬮」鍩烘湰淇℃伅
-     *
-     * @param dom
-     * @return
-     */
-    public static Map<String, String> getbaseInfoMapByHtml(Document dom) {
-        Map<String, String> params = new HashMap<>();
-        String baseInfoExp = "//div[@class=\"section1\"]//table[1]//td";
-        String baseInfoExp1 = "//div[@class=\"section2\"]/table[1]//td";
-        String baseInfoExp2 = "//div[@class=\"section3\"]/table[1]//td";
-        String baseInfoExp3 = "//div[@class=\"section4\"]/table//td";
-        baseInfoExp += "|" + baseInfoExp1;
-        baseInfoExp += "|" + baseInfoExp2;
-        baseInfoExp += "|" + baseInfoExp3;
-        XPath xPath = XPathFactory.newInstance().newXPath();
-        Object result;
-        try {
-            result = xPath.evaluate(baseInfoExp, dom, XPathConstants.NODESET);
-            if (result instanceof NodeList) {
-                NodeList nodeList = (NodeList) result;
-                for (int i = 0; i < nodeList.getLength(); i++) {
-                    if (i % 2 == 0) {
-                        continue;
-                    }
-                    Node node = nodeList.item(i);
-                    if (i > 0) {
-                        Node prenode = nodeList.item(i - 1);
-                        params.put(prenode.getTextContent().trim(), node.getTextContent().trim());
-                    }
-                }
-            }
-        } catch (XPathExpressionException e) {
-            log.error("xpath瑙f瀽寮傚父:", e);
-        }
-        return params;
+    private static void buildMatter(List<MatterEntity> matterEntityList, String title, String href) {
+        UrlBuilder builder = UrlBuilder.ofHttp(href, CharsetUtil.CHARSET_UTF_8);
+        String itemCode = builder.getQuery().get("itemCode").toString();
+        String taskType = builder.getQuery().get("taskType").toString();
+        String deptCode = builder.getQuery().get("deptCode").toString();
+        String areaCode = builder.getQuery().get("areaCode").toString();
+
+        MatterEntity matterEntity = new MatterEntity();
+        matterEntity.initAttrValue();
+        matterEntity.setTcode(itemCode);
+        matterEntity.setTname(title);
+        matterEntity.setDeptCode(deptCode);
+        matterEntity.setMatterNo(itemCode);
+        matterEntity.setAreaCode(areaCode);
+        matterEntity.setMatterName(title);
+        matterEntity.setUrl(href);
+        matterEntity.setSource(SourceEnum.鏀垮姟缃�.getValue());
+        matterEntityList.add(matterEntity);
     }
 
-
-    public static Rest<String> syncDeptBySiteId(Map<String, String> params, String url) {
-        //String url = GlobalSysInfo.getParamValue(Constant.GOV_DEPT_URL, "http://www.sczwfw.gov.cn/jiq/front/channel/deptSwitch");
-        // String url = "http://www.sczwfw.gov.cn/jiq/front/channel/deptSwitch";
-        String exp = "//ul[@class='bm-list']//li";
-        String html;
-        Object result;
+    public static Rest<Map<String, String>> syncDeptBySiteId(Map<String, String> params, String url) {
+        String deptListExp = "//ul[@class='bm-list']//li";
+        Map<String, String> map = new HashMap<>();
         try {
-            html = HttpUtil.doGet(url, params);
-            HtmlCleaner hc = new HtmlCleaner();
-            TagNode tn = hc.clean(html);
-            Document dom = new DomSerializer(new CleanerProperties()).createDOM(tn);
-            XPath xPath = XPathFactory.newInstance().newXPath();
-            result = xPath.evaluate(exp, dom, XPathConstants.NODESET);
-            if (result instanceof NodeList) {
-                NodeList nodeList = (NodeList) result;
-                for (int i = 0; i < nodeList.getLength(); i++) {
-                    Node node = nodeList.item(i);
-                    String deptName = node.getAttributes().getNamedItem("title").getNodeValue();
-                    String href = node.getFirstChild().getAttributes().getNamedItem("href").getNodeValue();
-                    UrlBuilder builder = UrlBuilder.ofHttp(href, CharsetUtil.CHARSET_UTF_8);
-                    String deptCode = builder.getQuery().get("deptCode").toString();
-
-                    System.out.println(href);
-
+            Document dom = Jsoup.connect(url).data(params).get();
+            Elements elements = dom.selectXpath(deptListExp);
+            for (int i = 0; i < elements.size(); i++) {
+                Element element = elements.get(i);
+                if (element == null) {
+                    continue;
                 }
+                String deptName = element.attr("title");
+                String href = element.firstElementChild().attr("href");
+                UrlBuilder builder = UrlBuilder.ofHttp(href, CharsetUtil.CHARSET_UTF_8);
+                String deptCode = builder.getQuery().get("deptCode").toString();
+                map.put(deptCode, deptName);
             }
         } catch (Exception e) {
-
             return Rest.fail(e.getMessage());
         }
 
-        return Rest.ok("褰撳墠绔欑偣鍚屾娣诲姞閮ㄩ棬鎴愬姛锛�");
+        return Rest.ok("褰撳墠绔欑偣鍚屾娣诲姞閮ㄩ棬鎴愬姛锛�", map);
     }
 
 
@@ -252,7 +155,7 @@ public class MatterHtmlParseUtil {
 
 
         // String url = "http://www.sczwfw.gov.cn/jiq/front/item/qlqd";
-        String url = "http://www.sczwfw.gov.cn/jiq/interface/item/tags";
+      /*  String url = "http://www.sczwfw.gov.cn/jiq/interface/item/tags";
         HashMap<String, String> params = new HashMap<>();
         params.put("areaCode", "510110006007");
         params.put("dxType", "56");
@@ -285,10 +188,53 @@ public class MatterHtmlParseUtil {
 
         for (int i = 0; i < allList.size(); i++) {
             System.out.println(i + "  " + allList.get(i).getMatterName());
-        }
+        }*/
 
 
         // System.out.println(JSON.toJSONString(allList));
+
+
+        String url = "http://www.sczwfw.gov.cn/jiq/interface/item/tags";
+        HashMap<String, String> params = new HashMap<>();
+        params.put("areaCode", "510110006007");
+        params.put("dxType", "56");
+        params.put("deptCode", "");
+        params.put("searchtext", "");
+        params.put("taskType", "");
+        params.put("pageno", "1");
+        Rest<Map<String, Integer>> rest = MatterHtmlParseUtil.statSiteMatterCount(params, url);
+        System.out.println(JSON.toJSONString(rest));
+
+
+        List<MatterEntity> allList = new ArrayList<>();
+        String url1 = "http://www.sczwfw.gov.cn/jiq/interface/item/tags";
+        HashMap<String, String> params1 = new HashMap<>();
+        params1.put("dxType", "56");
+        params1.put("areaCode", "510110006007");
+        params1.put("deptCode", "");
+        params1.put("searchtext", "");
+        params1.put("taskType", "");
+        for (int i = 1; i <= rest.getData().get("pageNum"); i++) {
+            params1.put("pageno", String.valueOf(i));
+            Rest<List<MatterEntity>> restList = MatterHtmlParseUtil.getMatterList(params1, url1);
+            if (restList.getCode() == YesNoEnum.YES.getValue() && !ObjectUtils.isEmpty(restList.getData())) {
+                allList.addAll(restList.getData());
+            }
+        }
+
+//        for (int i = 0; i < allList.size(); i++) {
+//            System.out.println(i + "  " + allList.get(i).getMatterName());
+//        }
+
+
+        url = "http://www.sczwfw.gov.cn/jiq/front/channel/deptSwitch";
+        params = new HashMap<>();
+        params.put("areaCode", "510110006007");
+
+        Rest<Map<String, String>> rest1 = MatterHtmlParseUtil.syncDeptBySiteId(params, url);
+        System.out.println(JSON.toJSONString(rest1));
+
+
     }
 
 }
diff --git a/base-manager/src/main/java/com/mortals/xhx/common/utils/SyncGovMatterDetailThread.java b/base-manager/src/main/java/com/mortals/xhx/common/utils/SyncGovMatterDetailThread.java
index 4e6d42f6774e9f3066a78c507c9a14aa3b4b16e0..05223fc3b8e3bffc97766a637bee3b2e9378398e 100644
--- a/base-manager/src/main/java/com/mortals/xhx/common/utils/SyncGovMatterDetailThread.java
+++ b/base-manager/src/main/java/com/mortals/xhx/common/utils/SyncGovMatterDetailThread.java
@@ -1,8 +1,10 @@
 package com.mortals.xhx.common.utils;
 
+import cn.hutool.core.collection.ListUtil;
 import com.alibaba.fastjson.JSON;
 import com.mortals.framework.common.Rest;
 import com.mortals.framework.model.Context;
+import com.mortals.xhx.ManagerBaseApplication;
 import com.mortals.xhx.common.code.SourceEnum;
 import com.mortals.xhx.common.code.YesNoEnum;
 import com.mortals.xhx.module.dept.service.DeptService;
@@ -10,16 +12,22 @@ import com.mortals.xhx.module.matter.model.MatterEntity;
 import com.mortals.xhx.module.matter.model.MatterQuery;
 import com.mortals.xhx.module.matter.service.MatterService;
 import com.mortals.xhx.module.site.model.SiteEntity;
+import com.mortals.xhx.module.site.model.SiteMatterEntity;
+import com.mortals.xhx.module.site.model.SiteQuery;
+import com.mortals.xhx.module.site.service.SiteMatterService;
 import com.mortals.xhx.module.site.service.SiteService;
 import lombok.AllArgsConstructor;
+import lombok.CustomLog;
+import lombok.extern.apachecommons.CommonsLog;
 import lombok.extern.slf4j.Slf4j;
 
 import javax.xml.transform.Source;
 import java.util.List;
+import java.util.stream.Collectors;
 
 
 @AllArgsConstructor
-@Slf4j
+@CommonsLog
 public class SyncGovMatterDetailThread implements Runnable {
 
     private MatterService matterService;
@@ -28,23 +36,56 @@ public class SyncGovMatterDetailThread implements Runnable {
 
     private DeptService deptService;
 
+    private SiteMatterService siteMatterService;
+
     private SiteEntity siteEntity;
 
     private Context context;
 
     @Override
     public void run() {
-
+        log.info("鍚屾绔欑偣浜嬮」寮€濮�.....");
         Rest<String> deptRest = deptService.syncDeptBySiteId(siteEntity.getId(), context);
+        log.info("鍚屾绔欑偣閮ㄩ棬:"+ JSON.toJSONString(deptRest));
         Rest<String> rest = siteService.syncMatterBySiteId(siteEntity.getId(), context);
 
-        log.info("syncMatterBySiteId:"+ JSON.toJSONString(rest));
+        log.info("鍚屾浜嬮」鍒楄〃:"+ JSON.toJSONString(rest));
         if(rest.getCode()== YesNoEnum.YES.getValue()){
-            List<MatterEntity> matterEntityList = matterService.find(new MatterQuery().areaCode(siteEntity.getAreaCode()).haveGetMatterInfo("false").source(SourceEnum.鏀垮姟缃�.getValue()));
-            matterEntityList.parallelStream().forEach(matterEntity -> {
+            List<MatterEntity> matterEntityList = matterService.find(new MatterQuery().areaCode(siteEntity.getAreaCode()).source(SourceEnum.鏀垮姟缃�.getValue()));
+
+            List<MatterEntity> unSyncDetailMatterList = matterEntityList.stream().filter(f -> f.getHaveGetMatterInfo().equalsIgnoreCase("false")).collect(Collectors.toList());
+
+            log.info("鍚屾绔欑偣浜嬮」鍒扮珯鐐�.....");
+            //鏌ヨ绔欑偣浜嬮」鐩稿叧
+            List<SiteEntity> siteEntities = siteService.find(new SiteQuery().areaCode(siteEntity.getAreaCode()));
+            //鍒犻櫎绔欑偣涓庢斂鍔′簨椤圭浉鍏抽」
+            for (SiteEntity site : siteEntities) {
+                siteMatterService.deleteBysiteIdAndSource(site.getId(),SourceEnum.鏀垮姟缃�.getValue(), context);
+            }
+            //閲嶆柊娣诲姞
+            for (SiteEntity site : siteEntities) {
+                List<SiteMatterEntity> siteMatterList = matterEntityList.stream().map(item -> {
+                    return matterService.switchMatterToSiteMatterr(item, site.getId(), context).getData();
+                }).filter(f -> f != null).collect(Collectors.toList());
+
+                List<List<SiteMatterEntity>> partition = ListUtil.partition(siteMatterList, 100);
+                for (List<SiteMatterEntity> rests : partition) {
+                    siteMatterService.save(rests);
+                }
+            }
+            log.info("鍚屾绔欑偣浜嬮」鍒扮珯鐐瑰畬鎴�.....");
+
+            log.info("鍚屾绔欑偣浜嬮」璇︾粏鏉℃暟....."+unSyncDetailMatterList.size());
+/*            for (MatterEntity matterEntity : matterEntityList) {
+                matterService.buildMatterDetail(matterEntity, context);
+                matterService.update(matterEntity,context);
+            }*/
+            unSyncDetailMatterList.parallelStream().forEach(matterEntity -> {
                 matterService.buildMatterDetail(matterEntity, context);
+                matterService.update(matterEntity,context);
             });
         }
+        log.info("鍚屾绔欑偣浜嬮」缁撴潫.....");
 
     }
 }
diff --git a/base-manager/src/main/java/com/mortals/xhx/module/dept/service/impl/DeptServiceImpl.java b/base-manager/src/main/java/com/mortals/xhx/module/dept/service/impl/DeptServiceImpl.java
index 6e126a7293e311df3de5d6cff32c230f1bee9bed..db515a6009fcd82888e8f59d352438dd496d50da 100644
--- a/base-manager/src/main/java/com/mortals/xhx/module/dept/service/impl/DeptServiceImpl.java
+++ b/base-manager/src/main/java/com/mortals/xhx/module/dept/service/impl/DeptServiceImpl.java
@@ -7,7 +7,10 @@ import com.mortals.framework.common.Rest;
 import com.mortals.framework.model.Context;
 import com.mortals.framework.service.impl.AbstractCRUDCacheServiceImpl;
 import com.mortals.framework.util.HttpUtil;
+import com.mortals.xhx.common.code.YesNoEnum;
 import com.mortals.xhx.common.key.Constant;
+import com.mortals.xhx.common.utils.MatterHtmlParseUtil;
+import com.mortals.xhx.module.area.model.AreaEntity;
 import com.mortals.xhx.module.dept.dao.DeptDao;
 import com.mortals.xhx.module.dept.model.DeptEntity;
 import com.mortals.xhx.module.dept.model.DeptQuery;
@@ -54,6 +57,11 @@ public class DeptServiceImpl extends AbstractCRUDCacheServiceImpl<DeptDao, DeptE
     @Autowired
     private MattersDeptService mattersDeptService;
 
+    @Override
+    protected String getExtKey(DeptEntity data) {
+        return data.getDeptNumber();
+    }
+
     @Override
     public void syncDept(String areaCode, Context context) {
         List<MattersDeptEntity> deptList = mattersDeptService.find(new MattersDeptQuery());
@@ -83,49 +91,32 @@ public class DeptServiceImpl extends AbstractCRUDCacheServiceImpl<DeptDao, DeptE
         SiteEntity siteEntity = siteService.get(siteId, context);
         if (!ObjectUtils.isEmpty(siteEntity)) {
             String areaCode = siteEntity.getAreaCode();
-            String exp = "//ul[@class='bm-list']//li";
             Map<String, String> params = new HashMap<>();
-            params.put("areaCode",areaCode);
-           // url += "?areaCode=" + areaCode;
-            String html;
-            Object result;
-            try {
-                html = HttpUtil.doGet(url, params);
-                //html = HttpUtil.get(url);
-                HtmlCleaner hc = new HtmlCleaner();
-                TagNode tn = hc.clean(html);
-                Document dom = new DomSerializer(new CleanerProperties()).createDOM(tn);
-                XPath xPath = XPathFactory.newInstance().newXPath();
-                result = xPath.evaluate(exp, dom, XPathConstants.NODESET);
-                if (result instanceof NodeList) {
-                    NodeList nodeList = (NodeList) result;
-                    for (int i = 0; i < nodeList.getLength(); i++) {
-                        Node node = nodeList.item(i);
-                        String deptName = node.getAttributes().getNamedItem("title").getNodeValue();
-                        String href = StringEscapeUtils.unescapeHtml4(node.getFirstChild().getAttributes().getNamedItem("href").getNodeValue());
-                        UrlBuilder builder = UrlBuilder.ofHttp(href, CharsetUtil.CHARSET_UTF_8);
-                        String deptCode = builder.getQuery().get("deptCode").toString();
+            params.put("areaCode", areaCode);
 
-                        //鏍规嵁绔欑偣娣诲姞閮ㄩ棬淇℃伅锛岄儴闂ㄧ紪鍙峰瓨鍦ㄦ椂鍊欎笉娣诲姞
-                        DeptEntity deptExistEntity = deptService.selectOne(new DeptQuery().siteId(siteId).deptNumber(deptCode), context);
-                        if (ObjectUtils.isEmpty(deptExistEntity)) {
-                            DeptEntity deptEntity = new DeptEntity();
-                            deptEntity.initAttrValue();
-                            deptEntity.setDeptNumber(deptCode);
-                            deptEntity.setSiteId(siteId);
-                            deptEntity.setName(deptName);
-                            deptEntity.setCreateTime(new Date());
-                            deptEntity.setCreateUserId(1L);
-                            deptService.save(deptEntity, context);
-                        }
-                    }
-                }
-            }
+            Rest<Map<String, String>> rest = MatterHtmlParseUtil.syncDeptBySiteId(params, url);
+            if (rest.getCode() == YesNoEnum.YES.getValue()) {
+                rest.getData().entrySet().stream().forEach(item -> {
+                    String deptCode = item.getKey();
+                    String deptName = item.getValue();
 
-            catch (Exception e) {
-                log.error("鍚屾閮ㄩ棬寮傚父锛乻iteId:" + siteId, e);
-                return Rest.fail(e.getMessage());
+                    DeptEntity deptExistEntity = deptService.selectOne(new DeptQuery().siteId(siteId).deptNumber(deptCode), context);
+                    if (ObjectUtils.isEmpty(deptExistEntity)) {
+                        DeptEntity deptEntity = new DeptEntity();
+                        deptEntity.initAttrValue();
+                        deptEntity.setDeptNumber(deptCode);
+                        deptEntity.setSiteId(siteId);
+                        deptEntity.setName(deptName);
+                        deptEntity.setCreateTime(new Date());
+                        deptEntity.setCreateUserId(1L);
+                        deptService.save(deptEntity, context);
+                    }
+                });
+            } else {
+                return Rest.fail(rest.getMsg());
             }
+        } else {
+            return Rest.fail("褰撳墠绔欑偣涓嶅瓨鍦紒");
         }
         return Rest.ok("褰撳墠绔欑偣鍚屾娣诲姞閮ㄩ棬鎴愬姛锛�");
     }
diff --git a/base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterAcceptEntity.java b/base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterAcceptEntity.java
index 8647fcb0fe4975c57f505bb151f992cd23969cd7..1231f00e596d302dca0f4ed5e437e143fc5a8007 100644
--- a/base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterAcceptEntity.java
+++ b/base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterAcceptEntity.java
@@ -10,7 +10,7 @@ import com.mortals.xhx.module.matter.model.vo.MatterAcceptVo;
 * 浜嬮」鍙楃悊鏉′欢瀹炰綋瀵硅薄
 *
 * @author zxfei
-* @date 2022-01-12
+* @date 2022-11-16
 */
 
 public class MatterAcceptEntity extends MatterAcceptVo {
@@ -21,6 +21,10 @@ public class MatterAcceptEntity extends MatterAcceptVo {
     */
     private Long matterId;
     /**
+    * 浜嬮」缂栫爜
+    */
+    private String matterCode;
+    /**
     * 浜嬮」鍚嶇О
     */
     private String matterName;
@@ -51,6 +55,20 @@ public class MatterAcceptEntity extends MatterAcceptVo {
         this.matterId = matterId;
     }
     /**
+    * 鑾峰彇 浜嬮」缂栫爜
+    * @return String
+    */
+    public String getMatterCode(){
+        return matterCode;
+    }
+    /**
+    * 璁剧疆 浜嬮」缂栫爜
+    * @param matterCode
+    */
+    public void setMatterCode(String matterCode){
+        this.matterCode = matterCode;
+    }
+    /**
     * 鑾峰彇 浜嬮」鍚嶇О
     * @return String
     */
@@ -115,6 +133,7 @@ public class MatterAcceptEntity extends MatterAcceptVo {
     public String toString(){
         StringBuilder sb = new StringBuilder("");
         sb.append(",matterId:").append(getMatterId());
+        sb.append(",matterCode:").append(getMatterCode());
         sb.append(",matterName:").append(getMatterName());
         sb.append(",content:").append(getContent());
         sb.append(",source:").append(getSource());
@@ -125,6 +144,8 @@ public class MatterAcceptEntity extends MatterAcceptVo {
 
             this.matterId = 0L;
 
+            this.matterCode = "";
+
             this.matterName = "";
 
             this.content = "";
diff --git a/base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterAcceptQuery.java b/base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterAcceptQuery.java
index 35e90c6edb14451d0bb8b9ab857cebe725f32623..92f1fbbe0640e54052e6e5248d77e4695108aaad 100644
--- a/base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterAcceptQuery.java
+++ b/base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterAcceptQuery.java
@@ -6,7 +6,7 @@ import com.mortals.xhx.module.matter.model.MatterAcceptEntity;
 * 浜嬮」鍙楃悊鏉′欢鏌ヨ瀵硅薄
 *
 * @author zxfei
-* @date 2022-01-12
+* @date 2022-11-16
 */
 public class MatterAcceptQuery extends MatterAcceptEntity {
     /** 寮€濮� 涓婚敭锛岃嚜澧為暱 */
@@ -33,6 +33,9 @@ public class MatterAcceptQuery extends MatterAcceptEntity {
     /** 鍩虹浜嬮」琛╥d鍒楄〃 */
     private List <Long> matterIdList;
 
+    /** 浜嬮」缂栫爜 */
+    private List<String> matterCodeList;
+
     /** 浜嬮」鍚嶇О */
     private List<String> matterNameList;
 
@@ -211,6 +214,21 @@ public class MatterAcceptQuery extends MatterAcceptEntity {
         this.matterIdList = matterIdList;
     }
 
+    /**
+    * 鑾峰彇 浜嬮」缂栫爜
+    * @return matterCodeList
+    */
+    public List<String> getMatterCodeList(){
+        return this.matterCodeList;
+    }
+
+    /**
+    * 璁剧疆 浜嬮」缂栫爜
+    * @param matterCodeList
+    */
+    public void setMatterCodeList(List<String> matterCodeList){
+        this.matterCodeList = matterCodeList;
+    }
     /**
     * 鑾峰彇 浜嬮」鍚嶇О
     * @return matterNameList
@@ -524,6 +542,25 @@ public class MatterAcceptQuery extends MatterAcceptEntity {
         }
 
 
+	/**
+    * 璁剧疆 浜嬮」缂栫爜
+    * @param matterCode
+    */
+    public MatterAcceptQuery matterCode(String matterCode){
+        setMatterCode(matterCode);
+		return this;
+    }
+
+    /**
+    * 璁剧疆 浜嬮」缂栫爜
+    * @param matterCodeList
+    */
+    public MatterAcceptQuery matterCodeList(List<String> matterCodeList){
+        this.matterCodeList = matterCodeList;
+		return this;
+    }
+
+
 	/**
     * 璁剧疆 浜嬮」鍚嶇О
     * @param matterName
diff --git a/base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterChargesEntity.java b/base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterChargesEntity.java
index aba0c44c4577e36b1b5ebc0e4960d2b0d3d0efc5..b5942365831f43f91b5220171d3c3a314a027b04 100644
--- a/base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterChargesEntity.java
+++ b/base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterChargesEntity.java
@@ -10,7 +10,7 @@ import com.mortals.xhx.module.matter.model.vo.MatterChargesVo;
 * 浜嬮」鏀惰垂鏍囧噯瀹炰綋瀵硅薄
 *
 * @author zxfei
-* @date 2022-01-12
+* @date 2022-11-16
 */
 
 public class MatterChargesEntity extends MatterChargesVo {
@@ -21,6 +21,10 @@ public class MatterChargesEntity extends MatterChargesVo {
     */
     private Long matterId;
     /**
+    * 浜嬮」缂栫爜
+    */
+    private String matterCode;
+    /**
     * 浜嬮」鍚嶇О
     */
     private String matterName;
@@ -51,6 +55,20 @@ public class MatterChargesEntity extends MatterChargesVo {
         this.matterId = matterId;
     }
     /**
+    * 鑾峰彇 浜嬮」缂栫爜
+    * @return String
+    */
+    public String getMatterCode(){
+        return matterCode;
+    }
+    /**
+    * 璁剧疆 浜嬮」缂栫爜
+    * @param matterCode
+    */
+    public void setMatterCode(String matterCode){
+        this.matterCode = matterCode;
+    }
+    /**
     * 鑾峰彇 浜嬮」鍚嶇О
     * @return String
     */
@@ -93,6 +111,9 @@ public class MatterChargesEntity extends MatterChargesVo {
         this.source = source;
     }
 
+
+
+
     @Override
     public int hashCode() {
          return this.getId().hashCode();
@@ -112,6 +133,7 @@ public class MatterChargesEntity extends MatterChargesVo {
     public String toString(){
         StringBuilder sb = new StringBuilder("");
         sb.append(",matterId:").append(getMatterId());
+        sb.append(",matterCode:").append(getMatterCode());
         sb.append(",matterName:").append(getMatterName());
         sb.append(",content:").append(getContent());
         sb.append(",source:").append(getSource());
@@ -122,6 +144,8 @@ public class MatterChargesEntity extends MatterChargesVo {
 
             this.matterId = 0L;
 
+            this.matterCode = "";
+
             this.matterName = "";
 
             this.content = "";
diff --git a/base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterChargesQuery.java b/base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterChargesQuery.java
index 32b77fb150a9ece66b43ec673d0a825f6028fabb..bede524e030baa5e21c3735cb3d345c7f2e5ffd5 100644
--- a/base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterChargesQuery.java
+++ b/base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterChargesQuery.java
@@ -6,7 +6,7 @@ import com.mortals.xhx.module.matter.model.MatterChargesEntity;
 * 浜嬮」鏀惰垂鏍囧噯鏌ヨ瀵硅薄
 *
 * @author zxfei
-* @date 2022-01-12
+* @date 2022-11-16
 */
 public class MatterChargesQuery extends MatterChargesEntity {
     /** 寮€濮� 涓婚敭锛岃嚜澧為暱 */
@@ -33,6 +33,9 @@ public class MatterChargesQuery extends MatterChargesEntity {
     /** 浜嬮」鍩虹琛╩atter id鍒楄〃 */
     private List <Long> matterIdList;
 
+    /** 浜嬮」缂栫爜 */
+    private List<String> matterCodeList;
+
     /** 浜嬮」鍚嶇О */
     private List<String> matterNameList;
 
@@ -211,6 +214,21 @@ public class MatterChargesQuery extends MatterChargesEntity {
         this.matterIdList = matterIdList;
     }
 
+    /**
+    * 鑾峰彇 浜嬮」缂栫爜
+    * @return matterCodeList
+    */
+    public List<String> getMatterCodeList(){
+        return this.matterCodeList;
+    }
+
+    /**
+    * 璁剧疆 浜嬮」缂栫爜
+    * @param matterCodeList
+    */
+    public void setMatterCodeList(List<String> matterCodeList){
+        this.matterCodeList = matterCodeList;
+    }
     /**
     * 鑾峰彇 浜嬮」鍚嶇О
     * @return matterNameList
@@ -524,6 +542,25 @@ public class MatterChargesQuery extends MatterChargesEntity {
         }
 
 
+	/**
+    * 璁剧疆 浜嬮」缂栫爜
+    * @param matterCode
+    */
+    public MatterChargesQuery matterCode(String matterCode){
+        setMatterCode(matterCode);
+		return this;
+    }
+
+    /**
+    * 璁剧疆 浜嬮」缂栫爜
+    * @param matterCodeList
+    */
+    public MatterChargesQuery matterCodeList(List<String> matterCodeList){
+        this.matterCodeList = matterCodeList;
+		return this;
+    }
+
+
 	/**
     * 璁剧疆 浜嬮」鍚嶇О
     * @param matterName
diff --git a/base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterDatumEntity.java b/base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterDatumEntity.java
index 3f72e70d115f990b410af14380197e11c565ce52..05f3ae0ea749c5b4e5fa6d6cdf164219e42c9d9c 100644
--- a/base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterDatumEntity.java
+++ b/base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterDatumEntity.java
@@ -11,7 +11,7 @@ import com.mortals.xhx.module.matter.model.MatterDatumFileEntity;
  * 浜嬮」鐢宠鏉愭枡瀹炰綋瀵硅薄
  *
  * @author zxfei
- * @date 2022-01-17
+ * @date 2022-11-16
  */
 
 public class MatterDatumEntity extends MatterDatumVo {
@@ -21,6 +21,10 @@ public class MatterDatumEntity extends MatterDatumVo {
      * 浜嬮」id
      */
     private Long matterId;
+    /**
+     * 浜嬮」缂栫爜
+     */
+    private String matterCode;
     /**
      * 浜嬮」鍚嶇О
      */
@@ -123,6 +127,20 @@ public class MatterDatumEntity extends MatterDatumVo {
     public void setMatterId(Long matterId){
         this.matterId = matterId;
     }
+    /**
+     * 鑾峰彇 浜嬮」缂栫爜
+     * @return String
+     */
+    public String getMatterCode(){
+        return matterCode;
+    }
+    /**
+     * 璁剧疆 浜嬮」缂栫爜
+     * @param matterCode
+     */
+    public void setMatterCode(String matterCode){
+        this.matterCode = matterCode;
+    }
     /**
      * 鑾峰彇 浜嬮」鍚嶇О
      * @return String
@@ -433,6 +451,7 @@ public class MatterDatumEntity extends MatterDatumVo {
     public String toString(){
         StringBuilder sb = new StringBuilder("");
         sb.append(",matterId:").append(getMatterId());
+        sb.append(",matterCode:").append(getMatterCode());
         sb.append(",matterName:").append(getMatterName());
         sb.append(",materialName:").append(getMaterialName());
         sb.append(",isMust:").append(getIsMust());
@@ -460,7 +479,9 @@ public class MatterDatumEntity extends MatterDatumVo {
 
         this.matterId = null;
 
-        this.matterName = "";
+        this.matterCode =  "";
+
+        this.matterName =  "";
 
         this.materialName = "";
 
@@ -476,11 +497,11 @@ public class MatterDatumEntity extends MatterDatumVo {
 
         this.paperNum = 1;
 
-        this.paperGg = "";
+        this.paperGg =  "";
 
         this.jianmMs = "鏃�";
 
-        this.sealWay = "";
+        this.sealWay =  "";
 
         this.isjianm = "鏄�";
 
@@ -490,11 +511,11 @@ public class MatterDatumEntity extends MatterDatumVo {
 
         this.materialSourceSm = "";
 
-        this.remarkSub = "";
+        this.remarkSub =  "";
 
-        this.clauseContent = "";
+        this.clauseContent =  "";
 
-        this.summary = "";
+        this.summary =  "";
 
         this.remark = "";
 
diff --git a/base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterDatumFileEntity.java b/base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterDatumFileEntity.java
index 65cd31effec83ffb9484e1b8c070e5023cfc4b44..4242b22e5555ba0353b1d879782344799a46f0aa 100644
--- a/base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterDatumFileEntity.java
+++ b/base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterDatumFileEntity.java
@@ -10,7 +10,7 @@ import com.mortals.xhx.module.matter.model.vo.MatterDatumFileVo;
  * 鏉愭枡闄勪欢瀹炰綋瀵硅薄
  *
  * @author zxfei
- * @date 2022-01-17
+ * @date 2022-11-16
  */
 
 public class MatterDatumFileEntity extends MatterDatumFileVo {
@@ -20,6 +20,14 @@ public class MatterDatumFileEntity extends MatterDatumFileVo {
      * 鏉愭枡id
      */
     private Long datumId;
+    /**
+     * 浜嬮」缂栫爜
+     */
+    private String matterCode;
+    /**
+     * 鏉愭枡鍚�
+     */
+    private String materialName;
     /**
      * 闄勪欢鍚嶇О
      */
@@ -29,17 +37,17 @@ public class MatterDatumFileEntity extends MatterDatumFileVo {
      */
     private String fileUrl;
     /**
-     * 闄勪欢绫诲瀷 (1.绀轰緥鏍疯〃锛�2.绌虹櫧琛ㄦ牸)
+     * 闄勪欢鏈湴涓嬭浇鍦板潃
      */
-    private Integer filetype;
+    private String localFileUrl;
     /**
-     * 闄勪欢鏉ユ簮 (0.鏀垮姟缃戯紝1.鑷畾涔�)
+     * 闄勪欢绫诲瀷 (绀轰緥鏍疯〃.绀轰緥鏍疯〃锛岀┖鐧借〃鏍�.绌虹櫧琛ㄦ牸)
      */
-    private Integer source;
+    private String filetype;
     /**
-     * 鏉愭枡鍚�
+     * 闄勪欢鏉ユ簮 (0.鏀垮姟缃戯紝1.鑷畾涔�)
      */
-    private String materialName;
+    private Integer source;
 
 
 
@@ -58,6 +66,34 @@ public class MatterDatumFileEntity extends MatterDatumFileVo {
     public void setDatumId(Long datumId){
         this.datumId = datumId;
     }
+    /**
+     * 鑾峰彇 浜嬮」缂栫爜
+     * @return String
+     */
+    public String getMatterCode(){
+        return matterCode;
+    }
+    /**
+     * 璁剧疆 浜嬮」缂栫爜
+     * @param matterCode
+     */
+    public void setMatterCode(String matterCode){
+        this.matterCode = matterCode;
+    }
+    /**
+     * 鑾峰彇 鏉愭枡鍚�
+     * @return String
+     */
+    public String getMaterialName(){
+        return materialName;
+    }
+    /**
+     * 璁剧疆 鏉愭枡鍚�
+     * @param materialName
+     */
+    public void setMaterialName(String materialName){
+        this.materialName = materialName;
+    }
     /**
      * 鑾峰彇 闄勪欢鍚嶇О
      * @return String
@@ -87,17 +123,31 @@ public class MatterDatumFileEntity extends MatterDatumFileVo {
         this.fileUrl = fileUrl;
     }
     /**
-     * 鑾峰彇 闄勪欢绫诲瀷 (1.绀轰緥鏍疯〃锛�2.绌虹櫧琛ㄦ牸)
-     * @return Integer
+     * 鑾峰彇 闄勪欢鏈湴涓嬭浇鍦板潃
+     * @return String
+     */
+    public String getLocalFileUrl(){
+        return localFileUrl;
+    }
+    /**
+     * 璁剧疆 闄勪欢鏈湴涓嬭浇鍦板潃
+     * @param localFileUrl
+     */
+    public void setLocalFileUrl(String localFileUrl){
+        this.localFileUrl = localFileUrl;
+    }
+    /**
+     * 鑾峰彇 闄勪欢绫诲瀷 (绀轰緥鏍疯〃.绀轰緥鏍疯〃锛岀┖鐧借〃鏍�.绌虹櫧琛ㄦ牸)
+     * @return String
      */
-    public Integer getFiletype(){
+    public String getFiletype(){
         return filetype;
     }
     /**
-     * 璁剧疆 闄勪欢绫诲瀷 (1.绀轰緥鏍疯〃锛�2.绌虹櫧琛ㄦ牸)
+     * 璁剧疆 闄勪欢绫诲瀷 (绀轰緥鏍疯〃.绀轰緥鏍疯〃锛岀┖鐧借〃鏍�.绌虹櫧琛ㄦ牸)
      * @param filetype
      */
-    public void setFiletype(Integer filetype){
+    public void setFiletype(String filetype){
         this.filetype = filetype;
     }
     /**
@@ -114,20 +164,6 @@ public class MatterDatumFileEntity extends MatterDatumFileVo {
     public void setSource(Integer source){
         this.source = source;
     }
-    /**
-     * 鑾峰彇 鏉愭枡鍚�
-     * @return String
-     */
-    public String getMaterialName(){
-        return materialName;
-    }
-    /**
-     * 璁剧疆 鏉愭枡鍚�
-     * @param materialName
-     */
-    public void setMaterialName(String materialName){
-        this.materialName = materialName;
-    }
 
 
 
@@ -151,11 +187,13 @@ public class MatterDatumFileEntity extends MatterDatumFileVo {
     public String toString(){
         StringBuilder sb = new StringBuilder("");
         sb.append(",datumId:").append(getDatumId());
+        sb.append(",matterCode:").append(getMatterCode());
+        sb.append(",materialName:").append(getMaterialName());
         sb.append(",fileName:").append(getFileName());
         sb.append(",fileUrl:").append(getFileUrl());
+        sb.append(",localFileUrl:").append(getLocalFileUrl());
         sb.append(",filetype:").append(getFiletype());
         sb.append(",source:").append(getSource());
-        sb.append(",materialName:").append(getMaterialName());
         return sb.toString();
     }
 
@@ -163,14 +201,18 @@ public class MatterDatumFileEntity extends MatterDatumFileVo {
 
         this.datumId = null;
 
-        this.fileName = null;
+        this.matterCode = "";
 
-        this.fileUrl = null;
+        this.materialName = "";
 
-        this.filetype = 1;
+        this.fileName = "";
 
-        this.source = 1;
+        this.fileUrl = "";
 
-        this.materialName = "";
+        this.localFileUrl = "";
+
+        this.filetype = "绀轰緥鏍疯〃";
+
+        this.source = 1;
     }
 }
\ No newline at end of file
diff --git a/base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterDatumFileQuery.java b/base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterDatumFileQuery.java
index 421706bb4d351cb8060c57fbe664a66056e69155..c1e9edf0bd4517250befcfac50b726dd9f47bacb 100644
--- a/base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterDatumFileQuery.java
+++ b/base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterDatumFileQuery.java
@@ -6,7 +6,7 @@ import com.mortals.xhx.module.matter.model.MatterDatumFileEntity;
  * 鏉愭枡闄勪欢鏌ヨ瀵硅薄
  *
  * @author zxfei
- * @date 2022-01-17
+ * @date 2022-11-16
  */
 public class MatterDatumFileQuery extends MatterDatumFileEntity {
     /** 寮€濮� 涓婚敭锛岃嚜澧為暱 */
@@ -33,23 +33,23 @@ public class MatterDatumFileQuery extends MatterDatumFileEntity {
     /** 鏉愭枡id鍒楄〃 */
     private List <Long> datumIdList;
 
+    /** 浜嬮」缂栫爜 */
+    private List<String> matterCodeList;
+
+    /** 鏉愭枡鍚� */
+    private List<String> materialNameList;
+
     /** 闄勪欢鍚嶇О */
     private List<String> fileNameList;
 
     /** 闄勪欢涓嬭浇鍦板潃 */
     private List<String> fileUrlList;
 
-    /** 寮€濮� 闄勪欢绫诲瀷 (1.绀轰緥鏍疯〃锛�2.绌虹櫧琛ㄦ牸) */
-    private Integer filetypeStart;
+    /** 闄勪欢鏈湴涓嬭浇鍦板潃 */
+    private List<String> localFileUrlList;
 
-    /** 缁撴潫 闄勪欢绫诲瀷 (1.绀轰緥鏍疯〃锛�2.绌虹櫧琛ㄦ牸) */
-    private Integer filetypeEnd;
-
-    /** 澧炲姞 闄勪欢绫诲瀷 (1.绀轰緥鏍疯〃锛�2.绌虹櫧琛ㄦ牸) */
-    private Integer filetypeIncrement;
-
-    /** 闄勪欢绫诲瀷 (1.绀轰緥鏍疯〃锛�2.绌虹櫧琛ㄦ牸)鍒楄〃 */
-    private List <Integer> filetypeList;
+    /** 闄勪欢绫诲瀷 (绀轰緥鏍疯〃.绀轰緥鏍疯〃锛岀┖鐧借〃鏍�.绌虹櫧琛ㄦ牸) */
+    private List<String> filetypeList;
 
     /** 寮€濮� 闄勪欢鏉ユ簮 (0.鏀垮姟缃戯紝1.鑷畾涔�) */
     private Integer sourceStart;
@@ -87,9 +87,6 @@ public class MatterDatumFileQuery extends MatterDatumFileEntity {
     /** 缁撴潫 淇敼鏃堕棿 */
     private String updateTimeEnd;
 
-    /** 鏉愭枡鍚� */
-    private List<String> materialNameList;
-
     /** OR鏉′欢闆嗗悎锛屽垪琛ㄩ」涔嬮棿鏄疧R锛岄」鍐呭涔嬮棿鏄疉ND锛屽锛�(list[0].1 and list[0].2) or (list[1].3 and list[1].4) */
     private List<MatterDatumFileQuery> orConditionList;
 
@@ -226,6 +223,36 @@ public class MatterDatumFileQuery extends MatterDatumFileEntity {
         this.datumIdList = datumIdList;
     }
 
+    /**
+     * 鑾峰彇 浜嬮」缂栫爜
+     * @return matterCodeList
+     */
+    public List<String> getMatterCodeList(){
+        return this.matterCodeList;
+    }
+
+    /**
+     * 璁剧疆 浜嬮」缂栫爜
+     * @param matterCodeList
+     */
+    public void setMatterCodeList(List<String> matterCodeList){
+        this.matterCodeList = matterCodeList;
+    }
+    /**
+     * 鑾峰彇 鏉愭枡鍚�
+     * @return materialNameList
+     */
+    public List<String> getMaterialNameList(){
+        return this.materialNameList;
+    }
+
+    /**
+     * 璁剧疆 鏉愭枡鍚�
+     * @param materialNameList
+     */
+    public void setMaterialNameList(List<String> materialNameList){
+        this.materialNameList = materialNameList;
+    }
     /**
      * 鑾峰彇 闄勪欢鍚嶇О
      * @return fileNameList
@@ -257,69 +284,35 @@ public class MatterDatumFileQuery extends MatterDatumFileEntity {
         this.fileUrlList = fileUrlList;
     }
     /**
-     * 鑾峰彇 寮€濮� 闄勪欢绫诲瀷 (1.绀轰緥鏍疯〃锛�2.绌虹櫧琛ㄦ牸)
-     * @return filetypeStart
+     * 鑾峰彇 闄勪欢鏈湴涓嬭浇鍦板潃
+     * @return localFileUrlList
      */
-    public Integer getFiletypeStart(){
-        return this.filetypeStart;
+    public List<String> getLocalFileUrlList(){
+        return this.localFileUrlList;
     }
 
     /**
-     * 璁剧疆 寮€濮� 闄勪欢绫诲瀷 (1.绀轰緥鏍疯〃锛�2.绌虹櫧琛ㄦ牸)
-     * @param filetypeStart
+     * 璁剧疆 闄勪欢鏈湴涓嬭浇鍦板潃
+     * @param localFileUrlList
      */
-    public void setFiletypeStart(Integer filetypeStart){
-        this.filetypeStart = filetypeStart;
+    public void setLocalFileUrlList(List<String> localFileUrlList){
+        this.localFileUrlList = localFileUrlList;
     }
-
-    /**
-     * 鑾峰彇 缁撴潫 闄勪欢绫诲瀷 (1.绀轰緥鏍疯〃锛�2.绌虹櫧琛ㄦ牸)
-     * @return $filetypeEnd
-     */
-    public Integer getFiletypeEnd(){
-        return this.filetypeEnd;
-    }
-
-    /**
-     * 璁剧疆 缁撴潫 闄勪欢绫诲瀷 (1.绀轰緥鏍疯〃锛�2.绌虹櫧琛ㄦ牸)
-     * @param filetypeEnd
-     */
-    public void setFiletypeEnd(Integer filetypeEnd){
-        this.filetypeEnd = filetypeEnd;
-    }
-
-    /**
-     * 鑾峰彇 澧炲姞 闄勪欢绫诲瀷 (1.绀轰緥鏍疯〃锛�2.绌虹櫧琛ㄦ牸)
-     * @return filetypeIncrement
-     */
-    public Integer getFiletypeIncrement(){
-        return this.filetypeIncrement;
-    }
-
-    /**
-     * 璁剧疆 澧炲姞 闄勪欢绫诲瀷 (1.绀轰緥鏍疯〃锛�2.绌虹櫧琛ㄦ牸)
-     * @param filetypeIncrement
-     */
-    public void setFiletypeIncrement(Integer filetypeIncrement){
-        this.filetypeIncrement = filetypeIncrement;
-    }
-
     /**
-     * 鑾峰彇 闄勪欢绫诲瀷 (1.绀轰緥鏍疯〃锛�2.绌虹櫧琛ㄦ牸)
+     * 鑾峰彇 闄勪欢绫诲瀷 (绀轰緥鏍疯〃.绀轰緥鏍疯〃锛岀┖鐧借〃鏍�.绌虹櫧琛ㄦ牸)
      * @return filetypeList
      */
-    public List<Integer> getFiletypeList(){
+    public List<String> getFiletypeList(){
         return this.filetypeList;
     }
 
     /**
-     * 璁剧疆 闄勪欢绫诲瀷 (1.绀轰緥鏍疯〃锛�2.绌虹櫧琛ㄦ牸)
+     * 璁剧疆 闄勪欢绫诲瀷 (绀轰緥鏍疯〃.绀轰緥鏍疯〃锛岀┖鐧借〃鏍�.绌虹櫧琛ㄦ牸)
      * @param filetypeList
      */
-    public void setFiletypeList(List<Integer> filetypeList){
+    public void setFiletypeList(List<String> filetypeList){
         this.filetypeList = filetypeList;
     }
-
     /**
      * 鑾峰彇 寮€濮� 闄勪欢鏉ユ簮 (0.鏀垮姟缃戯紝1.鑷畾涔�)
      * @return sourceStart
@@ -512,21 +505,6 @@ public class MatterDatumFileQuery extends MatterDatumFileEntity {
         this.updateTimeEnd = updateTimeEnd;
     }
 
-    /**
-     * 鑾峰彇 鏉愭枡鍚�
-     * @return materialNameList
-     */
-    public List<String> getMaterialNameList(){
-        return this.materialNameList;
-    }
-
-    /**
-     * 璁剧疆 鏉愭枡鍚�
-     * @param materialNameList
-     */
-    public void setMaterialNameList(List<String> materialNameList){
-        this.materialNameList = materialNameList;
-    }
     /**
      * 璁剧疆  涓婚敭锛岃嚜澧為暱
      * @param id
@@ -618,6 +596,44 @@ public class MatterDatumFileQuery extends MatterDatumFileEntity {
     }
 
 
+    /**
+     * 璁剧疆 浜嬮」缂栫爜
+     * @param matterCode
+     */
+    public MatterDatumFileQuery matterCode(String matterCode){
+        setMatterCode(matterCode);
+        return this;
+    }
+
+    /**
+     * 璁剧疆 浜嬮」缂栫爜
+     * @param matterCodeList
+     */
+    public MatterDatumFileQuery matterCodeList(List<String> matterCodeList){
+        this.matterCodeList = matterCodeList;
+        return this;
+    }
+
+
+    /**
+     * 璁剧疆 鏉愭枡鍚�
+     * @param materialName
+     */
+    public MatterDatumFileQuery materialName(String materialName){
+        setMaterialName(materialName);
+        return this;
+    }
+
+    /**
+     * 璁剧疆 鏉愭枡鍚�
+     * @param materialNameList
+     */
+    public MatterDatumFileQuery materialNameList(List<String> materialNameList){
+        this.materialNameList = materialNameList;
+        return this;
+    }
+
+
     /**
      * 璁剧疆 闄勪欢鍚嶇О
      * @param fileName
@@ -655,47 +671,40 @@ public class MatterDatumFileQuery extends MatterDatumFileEntity {
         return this;
     }
 
-    /**
-     * 璁剧疆  闄勪欢绫诲瀷 (1.绀轰緥鏍疯〃锛�2.绌虹櫧琛ㄦ牸)
-     * @param filetype
-     */
-    public MatterDatumFileQuery filetype(Integer filetype){
-        setFiletype(filetype);
-        return this;
-    }
 
     /**
-     * 璁剧疆 寮€濮� 闄勪欢绫诲瀷 (1.绀轰緥鏍疯〃锛�2.绌虹櫧琛ㄦ牸)
-     * @param filetypeStart
+     * 璁剧疆 闄勪欢鏈湴涓嬭浇鍦板潃
+     * @param localFileUrl
      */
-    public MatterDatumFileQuery filetypeStart(Integer filetypeStart){
-        this.filetypeStart = filetypeStart;
+    public MatterDatumFileQuery localFileUrl(String localFileUrl){
+        setLocalFileUrl(localFileUrl);
         return this;
     }
 
     /**
-     * 璁剧疆 缁撴潫 闄勪欢绫诲瀷 (1.绀轰緥鏍疯〃锛�2.绌虹櫧琛ㄦ牸)
-     * @param filetypeEnd
+     * 璁剧疆 闄勪欢鏈湴涓嬭浇鍦板潃
+     * @param localFileUrlList
      */
-    public MatterDatumFileQuery filetypeEnd(Integer filetypeEnd){
-        this.filetypeEnd = filetypeEnd;
+    public MatterDatumFileQuery localFileUrlList(List<String> localFileUrlList){
+        this.localFileUrlList = localFileUrlList;
         return this;
     }
 
+
     /**
-     * 璁剧疆 澧炲姞 闄勪欢绫诲瀷 (1.绀轰緥鏍疯〃锛�2.绌虹櫧琛ㄦ牸)
-     * @param filetypeIncrement
+     * 璁剧疆 闄勪欢绫诲瀷 (绀轰緥鏍疯〃.绀轰緥鏍疯〃锛岀┖鐧借〃鏍�.绌虹櫧琛ㄦ牸)
+     * @param filetype
      */
-    public MatterDatumFileQuery filetypeIncrement(Integer filetypeIncrement){
-        this.filetypeIncrement = filetypeIncrement;
+    public MatterDatumFileQuery filetype(String filetype){
+        setFiletype(filetype);
         return this;
     }
 
     /**
-     * 璁剧疆 闄勪欢绫诲瀷 (1.绀轰緥鏍疯〃锛�2.绌虹櫧琛ㄦ牸)
+     * 璁剧疆 闄勪欢绫诲瀷 (绀轰緥鏍疯〃.绀轰緥鏍疯〃锛岀┖鐧借〃鏍�.绌虹櫧琛ㄦ牸)
      * @param filetypeList
      */
-    public MatterDatumFileQuery filetypeList(List<Integer> filetypeList){
+    public MatterDatumFileQuery filetypeList(List<String> filetypeList){
         this.filetypeList = filetypeList;
         return this;
     }
@@ -792,25 +801,6 @@ public class MatterDatumFileQuery extends MatterDatumFileEntity {
     }
 
 
-
-    /**
-     * 璁剧疆 鏉愭枡鍚�
-     * @param materialName
-     */
-    public MatterDatumFileQuery materialName(String materialName){
-        setMaterialName(materialName);
-        return this;
-    }
-
-    /**
-     * 璁剧疆 鏉愭枡鍚�
-     * @param materialNameList
-     */
-    public MatterDatumFileQuery materialNameList(List<String> materialNameList){
-        this.materialNameList = materialNameList;
-        return this;
-    }
-
     /**
      * 鑾峰彇 OR鏉′欢闆嗗悎锛屽垪琛ㄩ」涔嬮棿鏄疧R锛岄」鍐呭涔嬮棿鏄疉ND锛屽锛�(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
      * @return orConditionList
diff --git a/base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterDatumQuery.java b/base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterDatumQuery.java
index fe62a4cd827a52731cfec72935a0182ffc6d90aa..6c1d35e3a6b544c9d838cf126ff7647cc232a340 100644
--- a/base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterDatumQuery.java
+++ b/base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterDatumQuery.java
@@ -7,7 +7,7 @@ import com.mortals.xhx.module.matter.model.MatterDatumEntity;
  * 浜嬮」鐢宠鏉愭枡鏌ヨ瀵硅薄
  *
  * @author zxfei
- * @date 2022-01-17
+ * @date 2022-11-16
  */
 public class MatterDatumQuery extends MatterDatumEntity {
     /** 寮€濮� 涓婚敭锛岃嚜澧為暱 */
@@ -34,6 +34,9 @@ public class MatterDatumQuery extends MatterDatumEntity {
     /** 浜嬮」id鍒楄〃 */
     private List <Long> matterIdList;
 
+    /** 浜嬮」缂栫爜 */
+    private List<String> matterCodeList;
+
     /** 浜嬮」鍚嶇О */
     private List<String> matterNameList;
 
@@ -272,6 +275,21 @@ public class MatterDatumQuery extends MatterDatumEntity {
         this.matterIdList = matterIdList;
     }
 
+    /**
+     * 鑾峰彇 浜嬮」缂栫爜
+     * @return matterCodeList
+     */
+    public List<String> getMatterCodeList(){
+        return this.matterCodeList;
+    }
+
+    /**
+     * 璁剧疆 浜嬮」缂栫爜
+     * @param matterCodeList
+     */
+    public void setMatterCodeList(List<String> matterCodeList){
+        this.matterCodeList = matterCodeList;
+    }
     /**
      * 鑾峰彇 浜嬮」鍚嶇О
      * @return matterNameList
@@ -889,6 +907,25 @@ public class MatterDatumQuery extends MatterDatumEntity {
     }
 
 
+    /**
+     * 璁剧疆 浜嬮」缂栫爜
+     * @param matterCode
+     */
+    public MatterDatumQuery matterCode(String matterCode){
+        setMatterCode(matterCode);
+        return this;
+    }
+
+    /**
+     * 璁剧疆 浜嬮」缂栫爜
+     * @param matterCodeList
+     */
+    public MatterDatumQuery matterCodeList(List<String> matterCodeList){
+        this.matterCodeList = matterCodeList;
+        return this;
+    }
+
+
     /**
      * 璁剧疆 浜嬮」鍚嶇О
      * @param matterName
diff --git a/base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterEntity.java b/base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterEntity.java
index 557599b54650244e157dbacb53436dec56b28113..c188644312bd1253a8d0628f6793a6686b6dc623 100644
--- a/base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterEntity.java
+++ b/base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterEntity.java
@@ -13,7 +13,7 @@ import com.mortals.xhx.module.matter.model.vo.MatterVo;
  * 鍩虹浜嬮」瀹炰綋瀵硅薄
  *
  * @author zxfei
- * @date 2022-10-13
+ * @date 2022-11-16
  */
 
 public class MatterEntity extends MatterVo {
@@ -55,6 +55,10 @@ public class MatterEntity extends MatterVo {
      * 閮ㄩ棬缂栧彿
      */
     private String deptCode;
+    /**
+     * 閮ㄩ棬鍚嶇О
+     */
+    private String deptName;
     /**
      * 琛屾斂鏉冨姏缂栧彿
      */
@@ -474,6 +478,24 @@ public class MatterEntity extends MatterVo {
         this.deptCode = deptCode;
     }
 
+    /**
+     * 鑾峰彇 閮ㄩ棬鍚嶇О
+     *
+     * @return String
+     */
+    public String getDeptName() {
+        return deptName;
+    }
+
+    /**
+     * 璁剧疆 閮ㄩ棬鍚嶇О
+     *
+     * @param deptName
+     */
+    public void setDeptName(String deptName) {
+        this.deptName = deptName;
+    }
+
     /**
      * 鑾峰彇 琛屾斂鏉冨姏缂栧彿
      *
@@ -1616,7 +1638,7 @@ public class MatterEntity extends MatterVo {
 
     @Override
     public boolean equals(Object obj) {
-        if (obj == "") return false;
+        if (obj == null) return false;
         if (obj instanceof MatterEntity) {
             MatterEntity tmp = (MatterEntity) obj;
             if (this.getId() == tmp.getId()) {
@@ -1637,6 +1659,7 @@ public class MatterEntity extends MatterVo {
         sb.append(",matterNo:").append(getMatterNo());
         sb.append(",areaCode:").append(getAreaCode());
         sb.append(",deptCode:").append(getDeptCode());
+        sb.append(",deptName:").append(getDeptName());
         sb.append(",powerCode:").append(getPowerCode());
         sb.append(",themeCode:").append(getThemeCode());
         sb.append(",usertypeCode:").append(getUsertypeCode());
@@ -1723,6 +1746,8 @@ public class MatterEntity extends MatterVo {
 
         this.deptCode = "";
 
+        this.deptName = "";
+
         this.powerCode = "";
 
         this.themeCode = "";
@@ -1847,6 +1872,6 @@ public class MatterEntity extends MatterVo {
 
         this.sort = 0;
 
-        this.source = 1;
+        this.source = 0;
     }
 }
\ No newline at end of file
diff --git a/base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterFlowlimitEntity.java b/base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterFlowlimitEntity.java
index 705d6ee58f9c667c17785ba07fb38954c10383bb..e736cf2bd9577e3764b505bec5ec988963875076 100644
--- a/base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterFlowlimitEntity.java
+++ b/base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterFlowlimitEntity.java
@@ -10,7 +10,7 @@ import com.mortals.xhx.module.matter.model.vo.MatterFlowlimitVo;
 * 浜嬮」鍔炵悊娴佺▼瀹炰綋瀵硅薄
 *
 * @author zxfei
-* @date 2022-01-12
+* @date 2022-11-16
 */
 
 public class MatterFlowlimitEntity extends MatterFlowlimitVo {
@@ -21,6 +21,10 @@ public class MatterFlowlimitEntity extends MatterFlowlimitVo {
     */
     private Long matterId;
     /**
+    * 浜嬮」缂栫爜
+    */
+    private String matterCode;
+    /**
     * 浜嬮」鍚嶇О
     */
     private String matterName;
@@ -63,6 +67,20 @@ public class MatterFlowlimitEntity extends MatterFlowlimitVo {
         this.matterId = matterId;
     }
     /**
+    * 鑾峰彇 浜嬮」缂栫爜
+    * @return String
+    */
+    public String getMatterCode(){
+        return matterCode;
+    }
+    /**
+    * 璁剧疆 浜嬮」缂栫爜
+    * @param matterCode
+    */
+    public void setMatterCode(String matterCode){
+        this.matterCode = matterCode;
+    }
+    /**
     * 鑾峰彇 浜嬮」鍚嶇О
     * @return String
     */
@@ -169,6 +187,7 @@ public class MatterFlowlimitEntity extends MatterFlowlimitVo {
     public String toString(){
         StringBuilder sb = new StringBuilder("");
         sb.append(",matterId:").append(getMatterId());
+        sb.append(",matterCode:").append(getMatterCode());
         sb.append(",matterName:").append(getMatterName());
         sb.append(",flowName:").append(getFlowName());
         sb.append(",flowTime:").append(getFlowTime());
@@ -182,6 +201,8 @@ public class MatterFlowlimitEntity extends MatterFlowlimitVo {
 
             this.matterId = 0L;
 
+            this.matterCode = "";
+
             this.matterName = "";
 
             this.flowName = "";
diff --git a/base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterFlowlimitQuery.java b/base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterFlowlimitQuery.java
index f1ab4ec559027b9b2bff9c82e3dde080b4706428..913d58d71683757b8b064c19ca89fda87e364782 100644
--- a/base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterFlowlimitQuery.java
+++ b/base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterFlowlimitQuery.java
@@ -6,7 +6,7 @@ import com.mortals.xhx.module.matter.model.MatterFlowlimitEntity;
 * 浜嬮」鍔炵悊娴佺▼鏌ヨ瀵硅薄
 *
 * @author zxfei
-* @date 2022-01-12
+* @date 2022-11-16
 */
 public class MatterFlowlimitQuery extends MatterFlowlimitEntity {
     /** 寮€濮� 涓婚敭锛岃嚜澧為暱 */
@@ -33,6 +33,9 @@ public class MatterFlowlimitQuery extends MatterFlowlimitEntity {
     /** 浜嬮」鍩虹琛╥d鍒楄〃 */
     private List <Long> matterIdList;
 
+    /** 浜嬮」缂栫爜 */
+    private List<String> matterCodeList;
+
     /** 浜嬮」鍚嶇О */
     private List<String> matterNameList;
 
@@ -220,6 +223,21 @@ public class MatterFlowlimitQuery extends MatterFlowlimitEntity {
         this.matterIdList = matterIdList;
     }
 
+    /**
+    * 鑾峰彇 浜嬮」缂栫爜
+    * @return matterCodeList
+    */
+    public List<String> getMatterCodeList(){
+        return this.matterCodeList;
+    }
+
+    /**
+    * 璁剧疆 浜嬮」缂栫爜
+    * @param matterCodeList
+    */
+    public void setMatterCodeList(List<String> matterCodeList){
+        this.matterCodeList = matterCodeList;
+    }
     /**
     * 鑾峰彇 浜嬮」鍚嶇О
     * @return matterNameList
@@ -578,6 +596,25 @@ public class MatterFlowlimitQuery extends MatterFlowlimitEntity {
         }
 
 
+	/**
+    * 璁剧疆 浜嬮」缂栫爜
+    * @param matterCode
+    */
+    public MatterFlowlimitQuery matterCode(String matterCode){
+        setMatterCode(matterCode);
+		return this;
+    }
+
+    /**
+    * 璁剧疆 浜嬮」缂栫爜
+    * @param matterCodeList
+    */
+    public MatterFlowlimitQuery matterCodeList(List<String> matterCodeList){
+        this.matterCodeList = matterCodeList;
+		return this;
+    }
+
+
 	/**
     * 璁剧疆 浜嬮」鍚嶇О
     * @param matterName
diff --git a/base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterIntermediaryEntity.java b/base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterIntermediaryEntity.java
index b866faa0066d920fdd1ff529be599e7413c0b5c8..4e7ca3541f2514f3c79cf099a634ea0fb2e1e2bd 100644
--- a/base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterIntermediaryEntity.java
+++ b/base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterIntermediaryEntity.java
@@ -10,7 +10,7 @@ import com.mortals.xhx.module.matter.model.vo.MatterIntermediaryVo;
 * 浜嬮」涓粙鏈嶅姟瀹炰綋瀵硅薄
 *
 * @author zxfei
-* @date 2022-01-12
+* @date 2022-11-16
 */
 
 public class MatterIntermediaryEntity extends MatterIntermediaryVo {
@@ -21,6 +21,10 @@ public class MatterIntermediaryEntity extends MatterIntermediaryVo {
     */
     private Long matterId;
     /**
+    * 浜嬮」缂栫爜
+    */
+    private String matterCode;
+    /**
     * 浜嬮」鍚嶇О
     */
     private String matterName;
@@ -37,7 +41,7 @@ public class MatterIntermediaryEntity extends MatterIntermediaryVo {
     */
     private String intermediaryRequestTime;
     /**
-    * 澶囨敞
+    * 鍐呭
     */
     private String remark;
     /**
@@ -63,6 +67,20 @@ public class MatterIntermediaryEntity extends MatterIntermediaryVo {
         this.matterId = matterId;
     }
     /**
+    * 鑾峰彇 浜嬮」缂栫爜
+    * @return String
+    */
+    public String getMatterCode(){
+        return matterCode;
+    }
+    /**
+    * 璁剧疆 浜嬮」缂栫爜
+    * @param matterCode
+    */
+    public void setMatterCode(String matterCode){
+        this.matterCode = matterCode;
+    }
+    /**
     * 鑾峰彇 浜嬮」鍚嶇О
     * @return String
     */
@@ -119,14 +137,14 @@ public class MatterIntermediaryEntity extends MatterIntermediaryVo {
         this.intermediaryRequestTime = intermediaryRequestTime;
     }
     /**
-    * 鑾峰彇 澶囨敞
+    * 鑾峰彇 鍐呭
     * @return String
     */
     public String getRemark(){
         return remark;
     }
     /**
-    * 璁剧疆 澶囨敞
+    * 璁剧疆 鍐呭
     * @param remark
     */
     public void setRemark(String remark){
@@ -169,6 +187,7 @@ public class MatterIntermediaryEntity extends MatterIntermediaryVo {
     public String toString(){
         StringBuilder sb = new StringBuilder("");
         sb.append(",matterId:").append(getMatterId());
+        sb.append(",matterCode:").append(getMatterCode());
         sb.append(",matterName:").append(getMatterName());
         sb.append(",title:").append(getTitle());
         sb.append(",intermediaryRequest:").append(getIntermediaryRequest());
@@ -182,15 +201,17 @@ public class MatterIntermediaryEntity extends MatterIntermediaryVo {
 
             this.matterId = 0L;
 
-            this.matterName = null;
+            this.matterCode = "";
+
+            this.matterName = "";
 
-            this.title = null;
+            this.title = "";
 
-            this.intermediaryRequest = null;
+            this.intermediaryRequest = "";
 
-            this.intermediaryRequestTime = null;
+            this.intermediaryRequestTime = "";
 
-            this.remark = null;
+            this.remark = "";
 
             this.source = 0;
     }
diff --git a/base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterIntermediaryQuery.java b/base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterIntermediaryQuery.java
index 549c05e0fbd28217881f9d2b49a76f679f555f8c..26d0e3bec5d650558878f0ee838c14a758541919 100644
--- a/base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterIntermediaryQuery.java
+++ b/base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterIntermediaryQuery.java
@@ -6,7 +6,7 @@ import com.mortals.xhx.module.matter.model.MatterIntermediaryEntity;
 * 浜嬮」涓粙鏈嶅姟鏌ヨ瀵硅薄
 *
 * @author zxfei
-* @date 2022-01-12
+* @date 2022-11-16
 */
 public class MatterIntermediaryQuery extends MatterIntermediaryEntity {
     /** 寮€濮� 涓婚敭锛岃嚜澧為暱 */
@@ -33,6 +33,9 @@ public class MatterIntermediaryQuery extends MatterIntermediaryEntity {
     /** 浜嬮」matter id鍒楄〃 */
     private List <Long> matterIdList;
 
+    /** 浜嬮」缂栫爜 */
+    private List<String> matterCodeList;
+
     /** 浜嬮」鍚嶇О */
     private List<String> matterNameList;
 
@@ -45,7 +48,7 @@ public class MatterIntermediaryQuery extends MatterIntermediaryEntity {
     /** 鏈嶅姟鏃堕檺 */
     private List<String> intermediaryRequestTimeList;
 
-    /** 澶囨敞 */
+    /** 鍐呭 */
     private List<String> remarkList;
 
     /** 寮€濮� 浜嬮」鏉ユ簮锛�(0.鏀垮姟缃戯紝1.鑷畾涔�) */
@@ -220,6 +223,21 @@ public class MatterIntermediaryQuery extends MatterIntermediaryEntity {
         this.matterIdList = matterIdList;
     }
 
+    /**
+    * 鑾峰彇 浜嬮」缂栫爜
+    * @return matterCodeList
+    */
+    public List<String> getMatterCodeList(){
+        return this.matterCodeList;
+    }
+
+    /**
+    * 璁剧疆 浜嬮」缂栫爜
+    * @param matterCodeList
+    */
+    public void setMatterCodeList(List<String> matterCodeList){
+        this.matterCodeList = matterCodeList;
+    }
     /**
     * 鑾峰彇 浜嬮」鍚嶇О
     * @return matterNameList
@@ -281,7 +299,7 @@ public class MatterIntermediaryQuery extends MatterIntermediaryEntity {
         this.intermediaryRequestTimeList = intermediaryRequestTimeList;
     }
     /**
-    * 鑾峰彇 澶囨敞
+    * 鑾峰彇 鍐呭
     * @return remarkList
     */
     public List<String> getRemarkList(){
@@ -289,7 +307,7 @@ public class MatterIntermediaryQuery extends MatterIntermediaryEntity {
     }
 
     /**
-    * 璁剧疆 澶囨敞
+    * 璁剧疆 鍐呭
     * @param remarkList
     */
     public void setRemarkList(List<String> remarkList){
@@ -578,6 +596,25 @@ public class MatterIntermediaryQuery extends MatterIntermediaryEntity {
         }
 
 
+	/**
+    * 璁剧疆 浜嬮」缂栫爜
+    * @param matterCode
+    */
+    public MatterIntermediaryQuery matterCode(String matterCode){
+        setMatterCode(matterCode);
+		return this;
+    }
+
+    /**
+    * 璁剧疆 浜嬮」缂栫爜
+    * @param matterCodeList
+    */
+    public MatterIntermediaryQuery matterCodeList(List<String> matterCodeList){
+        this.matterCodeList = matterCodeList;
+		return this;
+    }
+
+
 	/**
     * 璁剧疆 浜嬮」鍚嶇О
     * @param matterName
@@ -655,7 +692,7 @@ public class MatterIntermediaryQuery extends MatterIntermediaryEntity {
 
 
 	/**
-    * 璁剧疆 澶囨敞
+    * 璁剧疆 鍐呭
     * @param remark
     */
     public MatterIntermediaryQuery remark(String remark){
@@ -664,7 +701,7 @@ public class MatterIntermediaryQuery extends MatterIntermediaryEntity {
     }
 
     /**
-    * 璁剧疆 澶囨敞
+    * 璁剧疆 鍐呭
     * @param remarkList
     */
     public MatterIntermediaryQuery remarkList(List<String> remarkList){
diff --git a/base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterQuery.java b/base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterQuery.java
index f53e41be640d308bc5ae3105e4ce69c72e821023..f3c4ed5716d353109be49d199d84809c35f9784c 100644
--- a/base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterQuery.java
+++ b/base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterQuery.java
@@ -7,7 +7,7 @@ import com.mortals.xhx.module.matter.model.MatterEntity;
  * 鍩虹浜嬮」鏌ヨ瀵硅薄
  *
  * @author zxfei
- * @date 2022-10-13
+ * @date 2022-11-16
  */
 public class MatterQuery extends MatterEntity {
     /** 寮€濮� 搴忓彿锛屼富閿紝鑷闀� */
@@ -58,6 +58,9 @@ public class MatterQuery extends MatterEntity {
     /** 閮ㄩ棬缂栧彿 */
     private List<String> deptCodeList;
 
+    /** 閮ㄩ棬鍚嶇О */
+    private List<String> deptNameList;
+
     /** 琛屾斂鏉冨姏缂栧彿 */
     private List<String> powerCodeList;
 
@@ -578,6 +581,21 @@ public class MatterQuery extends MatterEntity {
     public void setDeptCodeList(List<String> deptCodeList){
         this.deptCodeList = deptCodeList;
     }
+    /**
+     * 鑾峰彇 閮ㄩ棬鍚嶇О
+     * @return deptNameList
+     */
+    public List<String> getDeptNameList(){
+        return this.deptNameList;
+    }
+
+    /**
+     * 璁剧疆 閮ㄩ棬鍚嶇О
+     * @param deptNameList
+     */
+    public void setDeptNameList(List<String> deptNameList){
+        this.deptNameList = deptNameList;
+    }
     /**
      * 鑾峰彇 琛屾斂鏉冨姏缂栧彿
      * @return powerCodeList
@@ -2173,6 +2191,25 @@ public class MatterQuery extends MatterEntity {
     }
 
 
+    /**
+     * 璁剧疆 閮ㄩ棬鍚嶇О
+     * @param deptName
+     */
+    public MatterQuery deptName(String deptName){
+        setDeptName(deptName);
+        return this;
+    }
+
+    /**
+     * 璁剧疆 閮ㄩ棬鍚嶇О
+     * @param deptNameList
+     */
+    public MatterQuery deptNameList(List<String> deptNameList){
+        this.deptNameList = deptNameList;
+        return this;
+    }
+
+
     /**
      * 璁剧疆 琛屾斂鏉冨姏缂栧彿
      * @param powerCode
diff --git a/base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterQuestionEntity.java b/base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterQuestionEntity.java
index 4ad8266a5c306605afe62a18b1b3e422c75c22be..40bdb1c417cd28b7aa28b869a5f14059747dd43a 100644
--- a/base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterQuestionEntity.java
+++ b/base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterQuestionEntity.java
@@ -10,7 +10,7 @@ import com.mortals.xhx.module.matter.model.vo.MatterQuestionVo;
 * 浜嬮」甯歌闂瀹炰綋瀵硅薄
 *
 * @author zxfei
-* @date 2022-01-12
+* @date 2022-11-16
 */
 
 public class MatterQuestionEntity extends MatterQuestionVo {
@@ -21,6 +21,10 @@ public class MatterQuestionEntity extends MatterQuestionVo {
     */
     private Long matterId;
     /**
+    * 浜嬮」缂栫爜
+    */
+    private String matterCode;
+    /**
     * 浜嬮」鍚嶇О
     */
     private String matterName;
@@ -29,7 +33,7 @@ public class MatterQuestionEntity extends MatterQuestionVo {
     */
     private String question;
     /**
-    * 鍥炵瓟
+    * 甯歌闂
     */
     private String answer;
     /**
@@ -55,6 +59,20 @@ public class MatterQuestionEntity extends MatterQuestionVo {
         this.matterId = matterId;
     }
     /**
+    * 鑾峰彇 浜嬮」缂栫爜
+    * @return String
+    */
+    public String getMatterCode(){
+        return matterCode;
+    }
+    /**
+    * 璁剧疆 浜嬮」缂栫爜
+    * @param matterCode
+    */
+    public void setMatterCode(String matterCode){
+        this.matterCode = matterCode;
+    }
+    /**
     * 鑾峰彇 浜嬮」鍚嶇О
     * @return String
     */
@@ -83,14 +101,14 @@ public class MatterQuestionEntity extends MatterQuestionVo {
         this.question = question;
     }
     /**
-    * 鑾峰彇 鍥炵瓟
+    * 鑾峰彇 甯歌闂
     * @return String
     */
     public String getAnswer(){
         return answer;
     }
     /**
-    * 璁剧疆 鍥炵瓟
+    * 璁剧疆 甯歌闂
     * @param answer
     */
     public void setAnswer(String answer){
@@ -133,6 +151,7 @@ public class MatterQuestionEntity extends MatterQuestionVo {
     public String toString(){
         StringBuilder sb = new StringBuilder("");
         sb.append(",matterId:").append(getMatterId());
+        sb.append(",matterCode:").append(getMatterCode());
         sb.append(",matterName:").append(getMatterName());
         sb.append(",question:").append(getQuestion());
         sb.append(",answer:").append(getAnswer());
@@ -144,6 +163,8 @@ public class MatterQuestionEntity extends MatterQuestionVo {
 
             this.matterId = 0L;
 
+            this.matterCode = "";
+
             this.matterName = "";
 
             this.question = "";
diff --git a/base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterQuestionQuery.java b/base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterQuestionQuery.java
index 79ba080af5b23ac07f3323877ca3e8d21d627d1d..ee3f75f58c2b2e337511d835ace6956c5409d866 100644
--- a/base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterQuestionQuery.java
+++ b/base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterQuestionQuery.java
@@ -6,7 +6,7 @@ import com.mortals.xhx.module.matter.model.MatterQuestionEntity;
 * 浜嬮」甯歌闂鏌ヨ瀵硅薄
 *
 * @author zxfei
-* @date 2022-01-12
+* @date 2022-11-16
 */
 public class MatterQuestionQuery extends MatterQuestionEntity {
     /** 寮€濮� 涓婚敭锛岃嚜澧為暱 */
@@ -33,13 +33,16 @@ public class MatterQuestionQuery extends MatterQuestionEntity {
     /** 浜嬮」鍩虹琛╩atter id鍒楄〃 */
     private List <Long> matterIdList;
 
+    /** 浜嬮」缂栫爜 */
+    private List<String> matterCodeList;
+
     /** 浜嬮」鍚嶇О */
     private List<String> matterNameList;
 
     /** 闂 */
     private List<String> questionList;
 
-    /** 鍥炵瓟 */
+    /** 甯歌闂 */
     private List<String> answerList;
 
     /** 寮€濮� 浜嬮」鏉ユ簮锛�(0.鏀垮姟缃戯紝1.鑷畾涔�) */
@@ -214,6 +217,21 @@ public class MatterQuestionQuery extends MatterQuestionEntity {
         this.matterIdList = matterIdList;
     }
 
+    /**
+    * 鑾峰彇 浜嬮」缂栫爜
+    * @return matterCodeList
+    */
+    public List<String> getMatterCodeList(){
+        return this.matterCodeList;
+    }
+
+    /**
+    * 璁剧疆 浜嬮」缂栫爜
+    * @param matterCodeList
+    */
+    public void setMatterCodeList(List<String> matterCodeList){
+        this.matterCodeList = matterCodeList;
+    }
     /**
     * 鑾峰彇 浜嬮」鍚嶇О
     * @return matterNameList
@@ -245,7 +263,7 @@ public class MatterQuestionQuery extends MatterQuestionEntity {
         this.questionList = questionList;
     }
     /**
-    * 鑾峰彇 鍥炵瓟
+    * 鑾峰彇 甯歌闂
     * @return answerList
     */
     public List<String> getAnswerList(){
@@ -253,7 +271,7 @@ public class MatterQuestionQuery extends MatterQuestionEntity {
     }
 
     /**
-    * 璁剧疆 鍥炵瓟
+    * 璁剧疆 甯歌闂
     * @param answerList
     */
     public void setAnswerList(List<String> answerList){
@@ -542,6 +560,25 @@ public class MatterQuestionQuery extends MatterQuestionEntity {
         }
 
 
+	/**
+    * 璁剧疆 浜嬮」缂栫爜
+    * @param matterCode
+    */
+    public MatterQuestionQuery matterCode(String matterCode){
+        setMatterCode(matterCode);
+		return this;
+    }
+
+    /**
+    * 璁剧疆 浜嬮」缂栫爜
+    * @param matterCodeList
+    */
+    public MatterQuestionQuery matterCodeList(List<String> matterCodeList){
+        this.matterCodeList = matterCodeList;
+		return this;
+    }
+
+
 	/**
     * 璁剧疆 浜嬮」鍚嶇О
     * @param matterName
@@ -581,7 +618,7 @@ public class MatterQuestionQuery extends MatterQuestionEntity {
 
 
 	/**
-    * 璁剧疆 鍥炵瓟
+    * 璁剧疆 甯歌闂
     * @param answer
     */
     public MatterQuestionQuery answer(String answer){
@@ -590,7 +627,7 @@ public class MatterQuestionQuery extends MatterQuestionEntity {
     }
 
     /**
-    * 璁剧疆 鍥炵瓟
+    * 璁剧疆 甯歌闂
     * @param answerList
     */
     public MatterQuestionQuery answerList(List<String> answerList){
diff --git a/base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterSetbaseEntity.java b/base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterSetbaseEntity.java
index d200b8c475553ed5c2f5af04b6a4072741fc62d6..45d5a952bd16d51bd1c86ac89801228ab869aff7 100644
--- a/base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterSetbaseEntity.java
+++ b/base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterSetbaseEntity.java
@@ -10,7 +10,7 @@ import com.mortals.xhx.module.matter.model.vo.MatterSetbaseVo;
 * 浜嬮」璁惧畾渚濇嵁瀹炰綋瀵硅薄
 *
 * @author zxfei
-* @date 2022-01-12
+* @date 2022-11-16
 */
 
 public class MatterSetbaseEntity extends MatterSetbaseVo {
@@ -21,6 +21,10 @@ public class MatterSetbaseEntity extends MatterSetbaseVo {
     */
     private Long matterId;
     /**
+    * 浜嬮」缂栫爜
+    */
+    private String matterCode;
+    /**
     * 浜嬮」鍚嶇О
     */
     private String matterName;
@@ -63,6 +67,20 @@ public class MatterSetbaseEntity extends MatterSetbaseVo {
         this.matterId = matterId;
     }
     /**
+    * 鑾峰彇 浜嬮」缂栫爜
+    * @return String
+    */
+    public String getMatterCode(){
+        return matterCode;
+    }
+    /**
+    * 璁剧疆 浜嬮」缂栫爜
+    * @param matterCode
+    */
+    public void setMatterCode(String matterCode){
+        this.matterCode = matterCode;
+    }
+    /**
     * 鑾峰彇 浜嬮」鍚嶇О
     * @return String
     */
@@ -169,6 +187,7 @@ public class MatterSetbaseEntity extends MatterSetbaseVo {
     public String toString(){
         StringBuilder sb = new StringBuilder("");
         sb.append(",matterId:").append(getMatterId());
+        sb.append(",matterCode:").append(getMatterCode());
         sb.append(",matterName:").append(getMatterName());
         sb.append(",policyName:").append(getPolicyName());
         sb.append(",policyType:").append(getPolicyType());
@@ -182,6 +201,8 @@ public class MatterSetbaseEntity extends MatterSetbaseVo {
 
             this.matterId = 0L;
 
+            this.matterCode = "";
+
             this.matterName = "";
 
             this.policyName = "";
diff --git a/base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterSetbaseQuery.java b/base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterSetbaseQuery.java
index aff8b17b98e076cf07947d8fcce2eedfac495e47..57eb665064f7bde55f83a91e5f3e38eeda3a41b8 100644
--- a/base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterSetbaseQuery.java
+++ b/base-manager/src/main/java/com/mortals/xhx/module/matter/model/MatterSetbaseQuery.java
@@ -6,7 +6,7 @@ import com.mortals.xhx.module.matter.model.MatterSetbaseEntity;
 * 浜嬮」璁惧畾渚濇嵁鏌ヨ瀵硅薄
 *
 * @author zxfei
-* @date 2022-01-12
+* @date 2022-11-16
 */
 public class MatterSetbaseQuery extends MatterSetbaseEntity {
     /** 寮€濮� 涓婚敭锛岃嚜澧為暱 */
@@ -33,6 +33,9 @@ public class MatterSetbaseQuery extends MatterSetbaseEntity {
     /** 浜嬮」matter id鍒楄〃 */
     private List <Long> matterIdList;
 
+    /** 浜嬮」缂栫爜 */
+    private List<String> matterCodeList;
+
     /** 浜嬮」鍚嶇О */
     private List<String> matterNameList;
 
@@ -220,6 +223,21 @@ public class MatterSetbaseQuery extends MatterSetbaseEntity {
         this.matterIdList = matterIdList;
     }
 
+    /**
+    * 鑾峰彇 浜嬮」缂栫爜
+    * @return matterCodeList
+    */
+    public List<String> getMatterCodeList(){
+        return this.matterCodeList;
+    }
+
+    /**
+    * 璁剧疆 浜嬮」缂栫爜
+    * @param matterCodeList
+    */
+    public void setMatterCodeList(List<String> matterCodeList){
+        this.matterCodeList = matterCodeList;
+    }
     /**
     * 鑾峰彇 浜嬮」鍚嶇О
     * @return matterNameList
@@ -578,6 +596,25 @@ public class MatterSetbaseQuery extends MatterSetbaseEntity {
         }
 
 
+	/**
+    * 璁剧疆 浜嬮」缂栫爜
+    * @param matterCode
+    */
+    public MatterSetbaseQuery matterCode(String matterCode){
+        setMatterCode(matterCode);
+		return this;
+    }
+
+    /**
+    * 璁剧疆 浜嬮」缂栫爜
+    * @param matterCodeList
+    */
+    public MatterSetbaseQuery matterCodeList(List<String> matterCodeList){
+        this.matterCodeList = matterCodeList;
+		return this;
+    }
+
+
 	/**
     * 璁剧疆 浜嬮」鍚嶇О
     * @param matterName
diff --git a/base-manager/src/main/java/com/mortals/xhx/module/matter/service/MatterService.java b/base-manager/src/main/java/com/mortals/xhx/module/matter/service/MatterService.java
index 1f516465e3e77dd848c09bc2c41c214532fde865..b09c2c13060ea72550bd673d8b89833db334e08e 100644
--- a/base-manager/src/main/java/com/mortals/xhx/module/matter/service/MatterService.java
+++ b/base-manager/src/main/java/com/mortals/xhx/module/matter/service/MatterService.java
@@ -4,6 +4,7 @@ import com.mortals.framework.model.Context;
 import com.mortals.framework.service.ICRUDCacheService;
 import com.mortals.framework.service.ICRUDService;
 import com.mortals.xhx.module.matter.model.MatterEntity;
+import com.mortals.xhx.module.site.model.SiteMatterEntity;
 import org.w3c.dom.Document;
 
 import java.util.Map;
@@ -56,4 +57,13 @@ public interface MatterService extends ICRUDCacheService<MatterEntity,Long> {
     Rest<String> buildMatterDetail(MatterEntity matterEntity, Context context);
 
 
+
+    /**
+     * 娣诲姞涓氬姟鍒扮珯鐐�
+     * @param matterEntity
+     * @param siteId
+     * @param context
+     */
+    Rest<SiteMatterEntity> switchMatterToSiteMatterr(MatterEntity matterEntity, Long siteId, Context context);
+
 }
\ No newline at end of file
diff --git a/base-manager/src/main/java/com/mortals/xhx/module/matter/service/impl/MatterServiceImpl.java b/base-manager/src/main/java/com/mortals/xhx/module/matter/service/impl/MatterServiceImpl.java
index d8ed6b1c5f6720b50a0470a7ce4b3026f6b26eda..7656e3781fde8c3f80445e5f2276aebea35a9cba 100644
--- a/base-manager/src/main/java/com/mortals/xhx/module/matter/service/impl/MatterServiceImpl.java
+++ b/base-manager/src/main/java/com/mortals/xhx/module/matter/service/impl/MatterServiceImpl.java
@@ -2,8 +2,6 @@ package com.mortals.xhx.module.matter.service.impl;
 
 import cn.hutool.core.util.PageUtil;
 import cn.hutool.core.util.ReflectUtil;
-import cn.hutool.core.util.StrUtil;
-import cn.hutool.http.HttpUtil;
 import cn.hutool.setting.Setting;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
@@ -15,8 +13,13 @@ import com.mortals.framework.model.PageInfo;
 import com.mortals.framework.service.impl.AbstractCRUDCacheServiceImpl;
 import com.mortals.framework.util.DataUtil;
 import com.mortals.xhx.base.framework.config.InterceptorConfig;
+import com.mortals.xhx.common.code.FiletypeEnum;
 import com.mortals.xhx.common.code.SourceEnum;
+import com.mortals.xhx.common.code.YesNoEnum;
 import com.mortals.xhx.common.utils.MatterDetailHtmlParseUtil;
+import com.mortals.xhx.module.dept.model.DeptEntity;
+import com.mortals.xhx.module.dept.model.DeptQuery;
+import com.mortals.xhx.module.dept.service.DeptService;
 import com.mortals.xhx.module.matter.dao.MatterDao;
 import com.mortals.xhx.module.matter.model.*;
 import com.mortals.xhx.module.matter.service.*;
@@ -24,7 +27,6 @@ import com.mortals.xhx.module.matters.model.MattersDetailEntity;
 import com.mortals.xhx.module.matters.model.MattersDetailQuery;
 import com.mortals.xhx.module.matters.model.MattersEntity;
 import com.mortals.xhx.module.matters.model.MattersQuery;
-import com.mortals.xhx.module.matters.service.MattersAreaService;
 import com.mortals.xhx.module.matters.service.MattersDetailService;
 import com.mortals.xhx.module.matters.service.MattersService;
 import com.mortals.xhx.module.site.model.SiteEntity;
@@ -32,25 +34,14 @@ import com.mortals.xhx.module.site.model.SiteMatterEntity;
 import com.mortals.xhx.module.site.model.SiteMatterQuery;
 import com.mortals.xhx.module.site.service.SiteMatterService;
 import com.mortals.xhx.module.site.service.SiteService;
-import lombok.extern.slf4j.Slf4j;
-import org.htmlcleaner.CleanerProperties;
-import org.htmlcleaner.DomSerializer;
-import org.htmlcleaner.HtmlCleaner;
-import org.htmlcleaner.TagNode;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 import org.jsoup.Jsoup;
-import org.springframework.beans.BeanUtils;
+import org.jsoup.nodes.Document;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.ObjectUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-import javax.xml.xpath.XPath;
-import javax.xml.xpath.XPathConstants;
-import javax.xml.xpath.XPathExpressionException;
-import javax.xml.xpath.XPathFactory;
-import java.math.BigInteger;
+
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -62,8 +53,8 @@ import java.util.stream.Collectors;
  * @date 2022-01-12
  */
 @Service("matterService")
-@Slf4j
 public class MatterServiceImpl extends AbstractCRUDCacheServiceImpl<MatterDao, MatterEntity, Long> implements MatterService {
+    protected Log log = LogFactory.getLog(this.getClass());
     @Autowired
     private SiteMatterService siteMatterService;
     @Autowired
@@ -72,9 +63,6 @@ public class MatterServiceImpl extends AbstractCRUDCacheServiceImpl<MatterDao, M
     private MattersService mattersService;
     @Autowired
     private InterceptorConfig interceptorConfig;
-
-    @Autowired
-    private MattersAreaService mattersAreaService;
     @Autowired
     private MattersDetailService mattersDetailService;
     @Autowired
@@ -93,6 +81,8 @@ public class MatterServiceImpl extends AbstractCRUDCacheServiceImpl<MatterDao, M
     private MatterDatumFileService matterDatumFileService;
     @Autowired
     private MatterChargesService matterChargesService;
+    @Autowired
+    private DeptService deptService;
 
 
     @Override
@@ -135,19 +125,23 @@ public class MatterServiceImpl extends AbstractCRUDCacheServiceImpl<MatterDao, M
         List<Long> matterIdList = Arrays.asList(matterIds.split(",")).stream().map(Long::parseLong).collect(Collectors.toList());
         MatterQuery matterQuery = new MatterQuery();
         matterQuery.setIdList(matterIdList);
-
         List<MatterEntity> matterEntities = this.find(matterQuery);
-
         int success = 0;
         int fail = 0;
+        List<SiteMatterEntity> siteMatterEntities = new ArrayList<>();
+
         for (MatterEntity matterEntity : matterEntities) {
-            Boolean bool = updateOrSave(matterEntity, siteId, context);
-            if (bool) {
+            SiteMatterEntity siteMatterEntity = updateOrSave(matterEntity, siteId, context);
+            if (!ObjectUtils.isEmpty(siteMatterEntity)) {
+                siteMatterEntities.add(siteMatterEntity);
                 success++;
             } else {
                 fail++;
             }
         }
+        if (!ObjectUtils.isEmpty(siteMatterEntities)) {
+            siteMatterService.save(siteMatterEntities, context);
+        }
         String msg = "褰撳墠鍔犲叆浜嬮」宸插瓨鍦紒";
         if (matterIdList.size() == 1) {
             if (success > 0) {
@@ -165,21 +159,42 @@ public class MatterServiceImpl extends AbstractCRUDCacheServiceImpl<MatterDao, M
         return Rest.ok(msg);
     }
 
-    private Boolean updateOrSave(MatterEntity item, Long siteId, Context context) {
+    private SiteMatterEntity updateOrSave(MatterEntity item, Long siteId, Context context) {
         SiteMatterEntity siteMatterEntity = siteMatterService.selectOne(new SiteMatterQuery().siteId(siteId).matterId(item.getId()));
         if (ObjectUtils.isEmpty(siteMatterEntity)) {
-            siteMatterEntity = new SiteMatterEntity();
-            SiteEntity siteEntity = siteService.get(siteId);
+            Rest<SiteMatterEntity> rest = switchMatterToSiteMatterr(item, siteId, context);
+            if (rest.getCode() == YesNoEnum.YES.getValue()) {
+                return rest.getData();
+            }
+        }
+        return null;
+    }
+
+    @Override
+    public Rest<SiteMatterEntity> switchMatterToSiteMatterr(MatterEntity item, Long siteId, Context context) {
+        try {
+            DeptEntity deptEntity = deptService.getExtCache(item.getDeptCode());
+            SiteMatterEntity siteMatterEntity = new SiteMatterEntity();
+            SiteEntity siteEntity = siteService.getCache(siteId.toString());
+            //SiteEntity siteEntity = siteService.get(siteId);
             siteMatterEntity.setSiteId(siteEntity.getId());
             siteMatterEntity.setSiteName(siteEntity.getSiteName());
             siteMatterEntity.setMatterId(item.getId());
+            siteMatterEntity.setMatterCode(item.getMatterNo());
             siteMatterEntity.setMatterName(item.getMatterName());
+            siteMatterEntity.setDeptCode(item.getDeptCode());
+            siteMatterEntity.setSource(item.getSource());
+            siteMatterEntity.setEventTypeShow(item.getEventTypeShow());
+            siteMatterEntity.setDeptName(deptEntity == null ? "" : deptEntity.getName());
+            siteMatterEntity.setDeptId(deptEntity == null ? -1L : deptEntity.getId());
             siteMatterEntity.setCreateUserId(context == null ? 1L : context.getUser() == null ? 1L : context.getUser().getId());
             siteMatterEntity.setCreateTime(new Date());
-            siteMatterService.save(siteMatterEntity, context);
-            return true;
+            return Rest.ok(siteMatterEntity);
+
+        } catch (Exception e) {
+            log.error("杞崲寮傚父", e);
+            return Rest.fail(e.getMessage());
         }
-        return false;
     }
 
 
@@ -381,7 +396,7 @@ public class MatterServiceImpl extends AbstractCRUDCacheServiceImpl<MatterDao, M
                     fileEntity.setDatumId(datumEntity.getId());
                     fileEntity.setMaterialName(datumEntity.getMaterialName());
                     fileEntity.setSource(SourceEnum.鏀垮姟缃�.getValue());
-                    fileEntity.setFiletype(1);
+                    fileEntity.setFiletype(FiletypeEnum.绌虹櫧琛ㄦ牸.getValue());
                     jsonArrayone.getJSONObject(j).entrySet().stream().peek(m -> {
                         fileEntity.setFileName(m.getKey());
                         fileEntity.setFileUrl(m.getValue().toString());
@@ -402,7 +417,7 @@ public class MatterServiceImpl extends AbstractCRUDCacheServiceImpl<MatterDao, M
                     fileEntity.setDatumId(datumEntity.getId());
                     fileEntity.setMaterialName(datumEntity.getMaterialName());
                     fileEntity.setSource(SourceEnum.鏀垮姟缃�.getValue());
-                    fileEntity.setFiletype(2);
+                    fileEntity.setFiletype(FiletypeEnum.绌虹櫧琛ㄦ牸.getValue());
                     jsonArraytwo.getJSONObject(j).entrySet().stream().peek(m -> {
                         fileEntity.setFileName(m.getKey());
                         fileEntity.setFileUrl(m.getValue().toString());
@@ -895,13 +910,11 @@ public class MatterServiceImpl extends AbstractCRUDCacheServiceImpl<MatterDao, M
         //鏍规嵁浜嬮」url 鑾峰彇浜嬮」璇︾粏淇℃伅锛屾瀯寤虹浉鍏宠缁嗕俊鎭�
         String html = null;
         try {
-            html = Jsoup.connect(matterEntity.getUrl()).get().body().html();
-           // html = HttpUtil.get(matterEntity.getUrl());
+            Document dom = Jsoup.connect(matterEntity.getUrl()).get();
+            // html = Jsoup.connect(matterEntity.getUrl()).get().body().html();
+            // html = HttpUtil.get(matterEntity.getUrl());
             //System.out.println(html);
-            HtmlCleaner hc = new HtmlCleaner();
-            TagNode tn = hc.clean(html);
-            Document dom = new DomSerializer(new CleanerProperties()).createDOM(tn);
-
+            // log.info("build detail:" + matterEntity.getMatterNo());
             //璁剧疆鍩烘湰灞炴€у€�
             Setting baseInfoSetting = interceptorConfig.getBaseInfoSetting();
             Setting sqclInfoSetting = interceptorConfig.getSqclInfoSetting();
@@ -934,16 +947,17 @@ public class MatterServiceImpl extends AbstractCRUDCacheServiceImpl<MatterDao, M
             matterEntity.setHaveGetMatterInfo("true");
 
         } catch (Exception e) {
-            log.error("鑾峰彇璇︾粏寮傚父! id:{},matterCode:{}", matterEntity.getId(), matterEntity.getMatterNo());
+            log.error(String.format("鑾峰彇璇︾粏寮傚父! id:%s,matterCode:%s,url:%s", matterEntity.getId(), matterEntity.getMatterNo(), matterEntity.getUrl()), e);
             return Rest.fail("鏇存柊浜嬮」澶辫触锛�" + e.getMessage());
         }
         return Rest.ok("鏇存柊璇︾粏鎴愬姛锛�");
     }
 
+
     private void saveCjwtInfo(MatterEntity matterEntity, Context context, Document dom) {
         matterQuestionService.deleteByMatterId(matterEntity.getId(), context);
         List<Map<String, Object>> cjwtMapList = MatterDetailHtmlParseUtil.getCjwtMapByHtml(dom);
-        List<MatterQuestionEntity> questionEntityList =new ArrayList<>();
+        List<MatterQuestionEntity> questionEntityList = new ArrayList<>();
         for (Map<String, Object> cjwtMap : cjwtMapList) {
             List<MatterQuestionEntity> collect = cjwtMap.entrySet().stream().map(question -> {
                 MatterQuestionEntity questionEntity = new MatterQuestionEntity();
@@ -951,6 +965,7 @@ public class MatterServiceImpl extends AbstractCRUDCacheServiceImpl<MatterDao, M
                 questionEntity.setQuestion(question.getKey());
                 questionEntity.setAnswer(question.getValue().toString());
                 questionEntity.setMatterId(matterEntity.getId());
+                questionEntity.setMatterCode(matterEntity.getMatterNo());
                 questionEntity.setMatterName(matterEntity.getMatterName());
                 questionEntity.setSource(SourceEnum.鏀垮姟缃�.getValue());
                 questionEntity.setCreateTime(new Date());
@@ -970,6 +985,7 @@ public class MatterServiceImpl extends AbstractCRUDCacheServiceImpl<MatterDao, M
             MatterIntermediaryEntity matterIntermediaryEntity = new MatterIntermediaryEntity();
             matterIntermediaryEntity.initAttrValue();
             matterIntermediaryEntity.setMatterId(matterEntity.getId());
+            matterIntermediaryEntity.setMatterCode(matterEntity.getMatterNo());
             matterIntermediaryEntity.setMatterName(matterEntity.getMatterName());
             matterIntermediaryEntity.setSource(SourceEnum.鏀垮姟缃�.getValue());
             matterIntermediaryEntity.setCreateTime(new Date());
@@ -989,6 +1005,7 @@ public class MatterServiceImpl extends AbstractCRUDCacheServiceImpl<MatterDao, M
         for (Map<String, Object> sdyjMap : sdyjMapList) {
             MatterSetbaseEntity matterSetbaseEntity = new MatterSetbaseEntity();
             matterSetbaseEntity.setMatterId(matterEntity.getId());
+            matterSetbaseEntity.setMatterCode(matterEntity.getMatterNo());
             matterSetbaseEntity.setMatterName(matterEntity.getMatterName());
             matterSetbaseEntity.setSource(SourceEnum.鏀垮姟缃�.getValue());
             matterSetbaseEntity.setCreateTime(new Date());
@@ -1023,6 +1040,7 @@ public class MatterServiceImpl extends AbstractCRUDCacheServiceImpl<MatterDao, M
         matterChargesEntity.initAttrValue();
         matterChargesEntity.setContent(sfbzMap.getOrDefault("sfbz", ""));
         matterChargesEntity.setMatterId(matterEntity.getId());
+        matterChargesEntity.setMatterCode(matterEntity.getMatterNo());
         matterChargesEntity.setMatterName(matterEntity.getMatterName());
         matterChargesEntity.setSource(SourceEnum.鏀垮姟缃�.getValue());
         matterChargesEntity.setCreateTime(new Date());
@@ -1031,16 +1049,16 @@ public class MatterServiceImpl extends AbstractCRUDCacheServiceImpl<MatterDao, M
         matterChargesService.save(matterChargesEntity);
     }
 
-    private static void savebaseInfo(MatterEntity matterEntity, Document dom, Setting baseInfoSetting) {
+    private void savebaseInfo(MatterEntity matterEntity, Document dom, Setting baseInfoSetting) {
         Map<String, String> baseInfoMap = MatterDetailHtmlParseUtil.getbaseInfoMapByHtml(dom);
         baseInfoMap.entrySet().stream()
                 .forEach(m -> {
                     String value = baseInfoSetting.getOrDefault(m.getKey(), "");
-                    if (!ObjectUtils.isEmpty(value) && !"鏃�".equals(m.getValue())) {
+                    if (!ObjectUtils.isEmpty(value) && !ObjectUtils.isEmpty(m.getValue()) && !"鏃�".equals(m.getValue())) {
                         try {
                             ReflectUtil.setFieldValue(matterEntity, value, m.getValue());
                         } catch (Exception e) {
-                            log.error(String.format("璁剧疆鍊煎紓甯革紒key:%s,value:%s", value, m.getValue()));
+                            log.error(String.format("璁剧疆鍊煎紓甯革紒key:%s,value:%s,orginKey:%s", value, m.getValue(), m.getKey()));
                         }
                     }
                 });
@@ -1054,6 +1072,7 @@ public class MatterServiceImpl extends AbstractCRUDCacheServiceImpl<MatterDao, M
             MatterFlowlimitEntity matterFlowlimitEntity = new MatterFlowlimitEntity();
             matterFlowlimitEntity.initAttrValue();
             matterFlowlimitEntity.setMatterId(matterEntity.getId());
+            matterFlowlimitEntity.setMatterCode(matterEntity.getMatterNo());
             matterFlowlimitEntity.setMatterName(matterEntity.getMatterName());
             matterFlowlimitEntity.setSource(SourceEnum.鏀垮姟缃�.getValue());
             matterFlowlimitEntity.setCreateTime(new Date());
@@ -1086,6 +1105,7 @@ public class MatterServiceImpl extends AbstractCRUDCacheServiceImpl<MatterDao, M
         matterAcceptEntity.initAttrValue();
         matterAcceptEntity.setContent(sltjMap.getOrDefault("sltj", ""));
         matterAcceptEntity.setMatterId(matterEntity.getId());
+        matterAcceptEntity.setMatterCode(matterEntity.getMatterNo());
         matterAcceptEntity.setMatterName(matterEntity.getMatterName());
         matterAcceptEntity.setSource(SourceEnum.鏀垮姟缃�.getValue());
         matterAcceptEntity.setCreateTime(new Date());
@@ -1098,11 +1118,12 @@ public class MatterServiceImpl extends AbstractCRUDCacheServiceImpl<MatterDao, M
         Long[] datumIds = matterDatumService.find(new MatterDatumQuery().matterId(matterEntity.getId()).source(SourceEnum.鏀垮姟缃�.getValue())).stream().map(item -> item.getId()).toArray(Long[]::new);
         if (!ObjectUtils.isEmpty(datumIds)) {
             matterDatumService.remove(datumIds, context);
+            Long[] datumFileIds = matterDatumFileService.find(new MatterDatumFileQuery().datumIdList(Arrays.asList(datumIds))).stream().map(item -> item.getId()).toArray(Long[]::new);
+            if (!ObjectUtils.isEmpty(datumFileIds)) {
+                matterDatumService.remove(datumFileIds, context);
+            }
         }
-        Long[] datumFileIds = matterDatumFileService.find(new MatterDatumFileQuery().datumIdList(Arrays.asList(datumIds))).stream().map(item -> item.getId()).toArray(Long[]::new);
-        if (!ObjectUtils.isEmpty(datumFileIds)) {
-            matterDatumService.remove(datumFileIds, context);
-        }
+
         List<Map<String, Object>> sqclList = MatterDetailHtmlParseUtil.getsqclInfoMapByHtml(dom);
         for (Map<String, Object> sqclMap : sqclList) {
             Map<String, String> baseinfoMap = (HashMap<String, String>) sqclMap.get("baseinfo");
@@ -1112,6 +1133,7 @@ public class MatterServiceImpl extends AbstractCRUDCacheServiceImpl<MatterDao, M
             MatterDatumEntity datumEntity = new MatterDatumEntity();
             datumEntity.initAttrValue();
             datumEntity.setMatterId(matterEntity.getId());
+            datumEntity.setMatterCode(matterEntity.getMatterNo());
             datumEntity.setMaterialName(matterEntity.getMatterName());
             datumEntity.setSource(SourceEnum.鏀垮姟缃�.getValue());
             datumEntity.setCreateTime(new Date());
@@ -1134,6 +1156,7 @@ public class MatterServiceImpl extends AbstractCRUDCacheServiceImpl<MatterDao, M
             if (!ObjectUtils.isEmpty(sampleList)) {
                 sampleList.forEach(fileEntity -> {
                     fileEntity.setDatumId(datumEntity.getId());
+                    fileEntity.setMatterCode(matterEntity.getMatterNo());
                     fileEntity.setMaterialName(datumEntity.getMaterialName());
                 });
             }
@@ -1143,6 +1166,7 @@ public class MatterServiceImpl extends AbstractCRUDCacheServiceImpl<MatterDao, M
             if (!ObjectUtils.isEmpty(blankList)) {
                 blankList.forEach(fileEntity -> {
                     fileEntity.setDatumId(datumEntity.getId());
+                    fileEntity.setMatterCode(matterEntity.getMatterNo());
                     fileEntity.setMaterialName(datumEntity.getMaterialName());
                 });
             }
@@ -1151,7 +1175,4 @@ public class MatterServiceImpl extends AbstractCRUDCacheServiceImpl<MatterDao, M
     }
 
 
-
-
-
 }
\ No newline at end of file
diff --git a/base-manager/src/main/java/com/mortals/xhx/module/site/model/SiteMatterEntity.java b/base-manager/src/main/java/com/mortals/xhx/module/site/model/SiteMatterEntity.java
index 20d1530fbcc566e474d9e5bd721d1b5a4ac555d8..a2ec3e03e5a9854fd30c3c4729f2b255f9c9373b 100644
--- a/base-manager/src/main/java/com/mortals/xhx/module/site/model/SiteMatterEntity.java
+++ b/base-manager/src/main/java/com/mortals/xhx/module/site/model/SiteMatterEntity.java
@@ -1,12 +1,11 @@
 package com.mortals.xhx.module.site.model;
 
 import com.mortals.xhx.module.site.model.vo.SiteMatterVo;
-
 /**
  * 绔欑偣浜嬮」瀹炰綋瀵硅薄
  *
  * @author zxfei
- * @date 2022-01-20
+ * @date 2022-11-16
  */
 
 public class SiteMatterEntity extends SiteMatterVo {
@@ -28,6 +27,10 @@ public class SiteMatterEntity extends SiteMatterVo {
      * 浜嬮」鍚嶇О
      */
     private String matterName;
+    /**
+     * 浜嬮」缂栫爜
+     */
+    private String matterCode;
     /**
      * 閮ㄩ棬ID
      */
@@ -36,6 +39,18 @@ public class SiteMatterEntity extends SiteMatterVo {
      * 閮ㄩ棬鍚嶇О
      */
     private String deptName;
+    /**
+     * 浜嬮」绫诲瀷
+     */
+    private String eventTypeShow;
+    /**
+     * 浜嬮」鏉ユ簮
+     */
+    private Integer source;
+    /**
+     * 閮ㄩ棬缂栧彿
+     */
+    private String deptCode;
 
 
 
@@ -96,6 +111,20 @@ public class SiteMatterEntity extends SiteMatterVo {
     public void setMatterName(String matterName){
         this.matterName = matterName;
     }
+    /**
+     * 鑾峰彇 浜嬮」缂栫爜
+     * @return String
+     */
+    public String getMatterCode(){
+        return matterCode;
+    }
+    /**
+     * 璁剧疆 浜嬮」缂栫爜
+     * @param matterCode
+     */
+    public void setMatterCode(String matterCode){
+        this.matterCode = matterCode;
+    }
     /**
      * 鑾峰彇 閮ㄩ棬ID
      * @return Long
@@ -124,6 +153,48 @@ public class SiteMatterEntity extends SiteMatterVo {
     public void setDeptName(String deptName){
         this.deptName = deptName;
     }
+    /**
+     * 鑾峰彇 浜嬮」绫诲瀷
+     * @return String
+     */
+    public String getEventTypeShow(){
+        return eventTypeShow;
+    }
+    /**
+     * 璁剧疆 浜嬮」绫诲瀷
+     * @param eventTypeShow
+     */
+    public void setEventTypeShow(String eventTypeShow){
+        this.eventTypeShow = eventTypeShow;
+    }
+    /**
+     * 鑾峰彇 浜嬮」鏉ユ簮
+     * @return Integer
+     */
+    public Integer getSource(){
+        return source;
+    }
+    /**
+     * 璁剧疆 浜嬮」鏉ユ簮
+     * @param source
+     */
+    public void setSource(Integer source){
+        this.source = source;
+    }
+    /**
+     * 鑾峰彇 閮ㄩ棬缂栧彿
+     * @return String
+     */
+    public String getDeptCode(){
+        return deptCode;
+    }
+    /**
+     * 璁剧疆 閮ㄩ棬缂栧彿
+     * @param deptCode
+     */
+    public void setDeptCode(String deptCode){
+        this.deptCode = deptCode;
+    }
 
 
 
@@ -150,8 +221,12 @@ public class SiteMatterEntity extends SiteMatterVo {
         sb.append(",siteName:").append(getSiteName());
         sb.append(",matterId:").append(getMatterId());
         sb.append(",matterName:").append(getMatterName());
+        sb.append(",matterCode:").append(getMatterCode());
         sb.append(",deptId:").append(getDeptId());
         sb.append(",deptName:").append(getDeptName());
+        sb.append(",eventTypeShow:").append(getEventTypeShow());
+        sb.append(",source:").append(getSource());
+        sb.append(",deptCode:").append(getDeptCode());
         return sb.toString();
     }
 
@@ -159,14 +234,22 @@ public class SiteMatterEntity extends SiteMatterVo {
 
         this.siteId = null;
 
-        this.siteName = null;
+        this.siteName = "";
 
         this.matterId = null;
 
-        this.matterName = null;
+        this.matterName = "";
+
+        this.matterCode = "";
 
         this.deptId = null;
 
-        this.deptName = null;
+        this.deptName = "";
+
+        this.eventTypeShow = "";
+
+        this.source = 0;
+
+        this.deptCode = "";
     }
 }
\ No newline at end of file
diff --git a/base-manager/src/main/java/com/mortals/xhx/module/site/model/SiteMatterQuery.java b/base-manager/src/main/java/com/mortals/xhx/module/site/model/SiteMatterQuery.java
index f3cc51ccf631f014df1002c5eabcd03925fc35e0..e53e10ba29126a2bb1be043da4e8c6151fffd1a8 100644
--- a/base-manager/src/main/java/com/mortals/xhx/module/site/model/SiteMatterQuery.java
+++ b/base-manager/src/main/java/com/mortals/xhx/module/site/model/SiteMatterQuery.java
@@ -6,7 +6,7 @@ import com.mortals.xhx.module.site.model.SiteMatterEntity;
  * 绔欑偣浜嬮」鏌ヨ瀵硅薄
  *
  * @author zxfei
- * @date 2022-01-20
+ * @date 2022-11-16
  */
 public class SiteMatterQuery extends SiteMatterEntity {
     /** 寮€濮� 搴忓彿锛屼富閿紝鑷闀� */
@@ -51,6 +51,39 @@ public class SiteMatterQuery extends SiteMatterEntity {
     /** 浜嬮」鍚嶇О */
     private List<String> matterNameList;
 
+    /** 浜嬮」缂栫爜 */
+    private List<String> matterCodeList;
+
+    /** 寮€濮� 閮ㄩ棬ID */
+    private Long deptIdStart;
+
+    /** 缁撴潫 閮ㄩ棬ID */
+    private Long deptIdEnd;
+
+    /** 澧炲姞 閮ㄩ棬ID */
+    private Long deptIdIncrement;
+
+    /** 閮ㄩ棬ID鍒楄〃 */
+    private List <Long> deptIdList;
+
+    /** 閮ㄩ棬鍚嶇О */
+    private List<String> deptNameList;
+
+    /** 寮€濮� 浜嬮」鏉ユ簮 */
+    private Integer sourceStart;
+
+    /** 缁撴潫 浜嬮」鏉ユ簮 */
+    private Integer sourceEnd;
+
+    /** 澧炲姞 浜嬮」鏉ユ簮 */
+    private Integer sourceIncrement;
+
+    /** 浜嬮」鏉ユ簮鍒楄〃 */
+    private List <Integer> sourceList;
+
+    /** 閮ㄩ棬缂栧彿 */
+    private List<String> deptCodeList;
+
     /** 寮€濮� 鍒涘缓鏃堕棿 */
     private String createTimeStart;
 
@@ -75,21 +108,6 @@ public class SiteMatterQuery extends SiteMatterEntity {
     /** 缁撴潫 淇敼鏃堕棿 */
     private String updateTimeEnd;
 
-    /** 寮€濮� 閮ㄩ棬ID */
-    private Long deptIdStart;
-
-    /** 缁撴潫 閮ㄩ棬ID */
-    private Long deptIdEnd;
-
-    /** 澧炲姞 閮ㄩ棬ID */
-    private Long deptIdIncrement;
-
-    /** 閮ㄩ棬ID鍒楄〃 */
-    private List <Long> deptIdList;
-
-    /** 閮ㄩ棬鍚嶇О */
-    private List<String> deptNameList;
-
     /** OR鏉′欢闆嗗悎锛屽垪琛ㄩ」涔嬮棿鏄疧R锛岄」鍐呭涔嬮棿鏄疉ND锛屽锛�(list[0].1 and list[0].2) or (list[1].3 and list[1].4) */
     private List<SiteMatterQuery> orConditionList;
 
@@ -320,6 +338,179 @@ public class SiteMatterQuery extends SiteMatterEntity {
     public void setMatterNameList(List<String> matterNameList){
         this.matterNameList = matterNameList;
     }
+    /**
+     * 鑾峰彇 浜嬮」缂栫爜
+     * @return matterCodeList
+     */
+    public List<String> getMatterCodeList(){
+        return this.matterCodeList;
+    }
+
+    /**
+     * 璁剧疆 浜嬮」缂栫爜
+     * @param matterCodeList
+     */
+    public void setMatterCodeList(List<String> matterCodeList){
+        this.matterCodeList = matterCodeList;
+    }
+    /**
+     * 鑾峰彇 寮€濮� 閮ㄩ棬ID
+     * @return deptIdStart
+     */
+    public Long getDeptIdStart(){
+        return this.deptIdStart;
+    }
+
+    /**
+     * 璁剧疆 寮€濮� 閮ㄩ棬ID
+     * @param deptIdStart
+     */
+    public void setDeptIdStart(Long deptIdStart){
+        this.deptIdStart = deptIdStart;
+    }
+
+    /**
+     * 鑾峰彇 缁撴潫 閮ㄩ棬ID
+     * @return $deptIdEnd
+     */
+    public Long getDeptIdEnd(){
+        return this.deptIdEnd;
+    }
+
+    /**
+     * 璁剧疆 缁撴潫 閮ㄩ棬ID
+     * @param deptIdEnd
+     */
+    public void setDeptIdEnd(Long deptIdEnd){
+        this.deptIdEnd = deptIdEnd;
+    }
+
+    /**
+     * 鑾峰彇 澧炲姞 閮ㄩ棬ID
+     * @return deptIdIncrement
+     */
+    public Long getDeptIdIncrement(){
+        return this.deptIdIncrement;
+    }
+
+    /**
+     * 璁剧疆 澧炲姞 閮ㄩ棬ID
+     * @param deptIdIncrement
+     */
+    public void setDeptIdIncrement(Long deptIdIncrement){
+        this.deptIdIncrement = deptIdIncrement;
+    }
+
+    /**
+     * 鑾峰彇 閮ㄩ棬ID
+     * @return deptIdList
+     */
+    public List<Long> getDeptIdList(){
+        return this.deptIdList;
+    }
+
+    /**
+     * 璁剧疆 閮ㄩ棬ID
+     * @param deptIdList
+     */
+    public void setDeptIdList(List<Long> deptIdList){
+        this.deptIdList = deptIdList;
+    }
+
+    /**
+     * 鑾峰彇 閮ㄩ棬鍚嶇О
+     * @return deptNameList
+     */
+    public List<String> getDeptNameList(){
+        return this.deptNameList;
+    }
+
+    /**
+     * 璁剧疆 閮ㄩ棬鍚嶇О
+     * @param deptNameList
+     */
+    public void setDeptNameList(List<String> deptNameList){
+        this.deptNameList = deptNameList;
+    }
+    /**
+     * 鑾峰彇 寮€濮� 浜嬮」鏉ユ簮
+     * @return sourceStart
+     */
+    public Integer getSourceStart(){
+        return this.sourceStart;
+    }
+
+    /**
+     * 璁剧疆 寮€濮� 浜嬮」鏉ユ簮
+     * @param sourceStart
+     */
+    public void setSourceStart(Integer sourceStart){
+        this.sourceStart = sourceStart;
+    }
+
+    /**
+     * 鑾峰彇 缁撴潫 浜嬮」鏉ユ簮
+     * @return $sourceEnd
+     */
+    public Integer getSourceEnd(){
+        return this.sourceEnd;
+    }
+
+    /**
+     * 璁剧疆 缁撴潫 浜嬮」鏉ユ簮
+     * @param sourceEnd
+     */
+    public void setSourceEnd(Integer sourceEnd){
+        this.sourceEnd = sourceEnd;
+    }
+
+    /**
+     * 鑾峰彇 澧炲姞 浜嬮」鏉ユ簮
+     * @return sourceIncrement
+     */
+    public Integer getSourceIncrement(){
+        return this.sourceIncrement;
+    }
+
+    /**
+     * 璁剧疆 澧炲姞 浜嬮」鏉ユ簮
+     * @param sourceIncrement
+     */
+    public void setSourceIncrement(Integer sourceIncrement){
+        this.sourceIncrement = sourceIncrement;
+    }
+
+    /**
+     * 鑾峰彇 浜嬮」鏉ユ簮
+     * @return sourceList
+     */
+    public List<Integer> getSourceList(){
+        return this.sourceList;
+    }
+
+    /**
+     * 璁剧疆 浜嬮」鏉ユ簮
+     * @param sourceList
+     */
+    public void setSourceList(List<Integer> sourceList){
+        this.sourceList = sourceList;
+    }
+
+    /**
+     * 鑾峰彇 閮ㄩ棬缂栧彿
+     * @return deptCodeList
+     */
+    public List<String> getDeptCodeList(){
+        return this.deptCodeList;
+    }
+
+    /**
+     * 璁剧疆 閮ㄩ棬缂栧彿
+     * @param deptCodeList
+     */
+    public void setDeptCodeList(List<String> deptCodeList){
+        this.deptCodeList = deptCodeList;
+    }
     /**
      * 鑾峰彇 寮€濮� 鍒涘缓鏃堕棿
      * @return createTimeStart
@@ -448,85 +639,6 @@ public class SiteMatterQuery extends SiteMatterEntity {
         this.updateTimeEnd = updateTimeEnd;
     }
 
-    /**
-     * 鑾峰彇 寮€濮� 閮ㄩ棬ID
-     * @return deptIdStart
-     */
-    public Long getDeptIdStart(){
-        return this.deptIdStart;
-    }
-
-    /**
-     * 璁剧疆 寮€濮� 閮ㄩ棬ID
-     * @param deptIdStart
-     */
-    public void setDeptIdStart(Long deptIdStart){
-        this.deptIdStart = deptIdStart;
-    }
-
-    /**
-     * 鑾峰彇 缁撴潫 閮ㄩ棬ID
-     * @return $deptIdEnd
-     */
-    public Long getDeptIdEnd(){
-        return this.deptIdEnd;
-    }
-
-    /**
-     * 璁剧疆 缁撴潫 閮ㄩ棬ID
-     * @param deptIdEnd
-     */
-    public void setDeptIdEnd(Long deptIdEnd){
-        this.deptIdEnd = deptIdEnd;
-    }
-
-    /**
-     * 鑾峰彇 澧炲姞 閮ㄩ棬ID
-     * @return deptIdIncrement
-     */
-    public Long getDeptIdIncrement(){
-        return this.deptIdIncrement;
-    }
-
-    /**
-     * 璁剧疆 澧炲姞 閮ㄩ棬ID
-     * @param deptIdIncrement
-     */
-    public void setDeptIdIncrement(Long deptIdIncrement){
-        this.deptIdIncrement = deptIdIncrement;
-    }
-
-    /**
-     * 鑾峰彇 閮ㄩ棬ID
-     * @return deptIdList
-     */
-    public List<Long> getDeptIdList(){
-        return this.deptIdList;
-    }
-
-    /**
-     * 璁剧疆 閮ㄩ棬ID
-     * @param deptIdList
-     */
-    public void setDeptIdList(List<Long> deptIdList){
-        this.deptIdList = deptIdList;
-    }
-
-    /**
-     * 鑾峰彇 閮ㄩ棬鍚嶇О
-     * @return deptNameList
-     */
-    public List<String> getDeptNameList(){
-        return this.deptNameList;
-    }
-
-    /**
-     * 璁剧疆 閮ㄩ棬鍚嶇О
-     * @param deptNameList
-     */
-    public void setDeptNameList(List<String> deptNameList){
-        this.deptNameList = deptNameList;
-    }
     /**
      * 璁剧疆  搴忓彿锛屼富閿紝鑷闀�
      * @param id
@@ -702,51 +814,23 @@ public class SiteMatterQuery extends SiteMatterEntity {
 
 
     /**
-     * 璁剧疆  鍒涘缓鐢ㄦ埛
-     * @param createUserId
+     * 璁剧疆 浜嬮」缂栫爜
+     * @param matterCode
      */
-    public SiteMatterQuery createUserId(Long createUserId){
-        setCreateUserId(createUserId);
+    public SiteMatterQuery matterCode(String matterCode){
+        setMatterCode(matterCode);
         return this;
     }
 
     /**
-     * 璁剧疆 寮€濮� 鍒涘缓鐢ㄦ埛
-     * @param createUserIdStart
+     * 璁剧疆 浜嬮」缂栫爜
+     * @param matterCodeList
      */
-    public SiteMatterQuery createUserIdStart(Long createUserIdStart){
-        this.createUserIdStart = createUserIdStart;
+    public SiteMatterQuery matterCodeList(List<String> matterCodeList){
+        this.matterCodeList = matterCodeList;
         return this;
     }
 
-    /**
-     * 璁剧疆 缁撴潫 鍒涘缓鐢ㄦ埛
-     * @param createUserIdEnd
-     */
-    public SiteMatterQuery createUserIdEnd(Long createUserIdEnd){
-        this.createUserIdEnd = createUserIdEnd;
-        return this;
-    }
-
-    /**
-     * 璁剧疆 澧炲姞 鍒涘缓鐢ㄦ埛
-     * @param createUserIdIncrement
-     */
-    public SiteMatterQuery createUserIdIncrement(Long createUserIdIncrement){
-        this.createUserIdIncrement = createUserIdIncrement;
-        return this;
-    }
-
-    /**
-     * 璁剧疆 鍒涘缓鐢ㄦ埛
-     * @param createUserIdList
-     */
-    public SiteMatterQuery createUserIdList(List<Long> createUserIdList){
-        this.createUserIdList = createUserIdList;
-        return this;
-    }
-
-
     /**
      * 璁剧疆  閮ㄩ棬ID
      * @param deptId
@@ -811,6 +895,117 @@ public class SiteMatterQuery extends SiteMatterEntity {
         return this;
     }
 
+    /**
+     * 璁剧疆  浜嬮」鏉ユ簮
+     * @param source
+     */
+    public SiteMatterQuery source(Integer source){
+        setSource(source);
+        return this;
+    }
+
+    /**
+     * 璁剧疆 寮€濮� 浜嬮」鏉ユ簮
+     * @param sourceStart
+     */
+    public SiteMatterQuery sourceStart(Integer sourceStart){
+        this.sourceStart = sourceStart;
+        return this;
+    }
+
+    /**
+     * 璁剧疆 缁撴潫 浜嬮」鏉ユ簮
+     * @param sourceEnd
+     */
+    public SiteMatterQuery sourceEnd(Integer sourceEnd){
+        this.sourceEnd = sourceEnd;
+        return this;
+    }
+
+    /**
+     * 璁剧疆 澧炲姞 浜嬮」鏉ユ簮
+     * @param sourceIncrement
+     */
+    public SiteMatterQuery sourceIncrement(Integer sourceIncrement){
+        this.sourceIncrement = sourceIncrement;
+        return this;
+    }
+
+    /**
+     * 璁剧疆 浜嬮」鏉ユ簮
+     * @param sourceList
+     */
+    public SiteMatterQuery sourceList(List<Integer> sourceList){
+        this.sourceList = sourceList;
+        return this;
+    }
+
+
+    /**
+     * 璁剧疆 閮ㄩ棬缂栧彿
+     * @param deptCode
+     */
+    public SiteMatterQuery deptCode(String deptCode){
+        setDeptCode(deptCode);
+        return this;
+    }
+
+    /**
+     * 璁剧疆 閮ㄩ棬缂栧彿
+     * @param deptCodeList
+     */
+    public SiteMatterQuery deptCodeList(List<String> deptCodeList){
+        this.deptCodeList = deptCodeList;
+        return this;
+    }
+
+
+    /**
+     * 璁剧疆  鍒涘缓鐢ㄦ埛
+     * @param createUserId
+     */
+    public SiteMatterQuery createUserId(Long createUserId){
+        setCreateUserId(createUserId);
+        return this;
+    }
+
+    /**
+     * 璁剧疆 寮€濮� 鍒涘缓鐢ㄦ埛
+     * @param createUserIdStart
+     */
+    public SiteMatterQuery createUserIdStart(Long createUserIdStart){
+        this.createUserIdStart = createUserIdStart;
+        return this;
+    }
+
+    /**
+     * 璁剧疆 缁撴潫 鍒涘缓鐢ㄦ埛
+     * @param createUserIdEnd
+     */
+    public SiteMatterQuery createUserIdEnd(Long createUserIdEnd){
+        this.createUserIdEnd = createUserIdEnd;
+        return this;
+    }
+
+    /**
+     * 璁剧疆 澧炲姞 鍒涘缓鐢ㄦ埛
+     * @param createUserIdIncrement
+     */
+    public SiteMatterQuery createUserIdIncrement(Long createUserIdIncrement){
+        this.createUserIdIncrement = createUserIdIncrement;
+        return this;
+    }
+
+    /**
+     * 璁剧疆 鍒涘缓鐢ㄦ埛
+     * @param createUserIdList
+     */
+    public SiteMatterQuery createUserIdList(List<Long> createUserIdList){
+        this.createUserIdList = createUserIdList;
+        return this;
+    }
+
+
     /**
      * 鑾峰彇 OR鏉′欢闆嗗悎锛屽垪琛ㄩ」涔嬮棿鏄疧R锛岄」鍐呭涔嬮棿鏄疉ND锛屽锛�(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
      * @return orConditionList
diff --git a/base-manager/src/main/java/com/mortals/xhx/module/site/service/SiteMatterService.java b/base-manager/src/main/java/com/mortals/xhx/module/site/service/SiteMatterService.java
index 9e0f57ab0a4f695a7e911cb6895735e5a80c2425..f856e5fe2fb06da1d64f283521a7683f8d417d05 100644
--- a/base-manager/src/main/java/com/mortals/xhx/module/site/service/SiteMatterService.java
+++ b/base-manager/src/main/java/com/mortals/xhx/module/site/service/SiteMatterService.java
@@ -1,4 +1,5 @@
 package com.mortals.xhx.module.site.service;
+import com.mortals.framework.model.Context;
 import com.mortals.framework.service.ICRUDService;
 import com.mortals.xhx.module.site.model.SiteMatterEntity;
 /**
@@ -10,5 +11,5 @@ import com.mortals.xhx.module.site.model.SiteMatterEntity;
 * @date 2022-01-12
 */
 public interface SiteMatterService extends ICRUDService<SiteMatterEntity,Long>{
-
+    void deleteBysiteIdAndSource(Long siteId,Integer source, Context context);
 }
\ No newline at end of file
diff --git a/base-manager/src/main/java/com/mortals/xhx/module/site/service/SiteService.java b/base-manager/src/main/java/com/mortals/xhx/module/site/service/SiteService.java
index 41164b87745d7be9fe2469105522d11a016a2e92..5e1b763e5bbbdb16b6c35f0d99c4d0725e8f1ed7 100644
--- a/base-manager/src/main/java/com/mortals/xhx/module/site/service/SiteService.java
+++ b/base-manager/src/main/java/com/mortals/xhx/module/site/service/SiteService.java
@@ -74,4 +74,6 @@ public interface SiteService extends ICRUDCacheService<SiteEntity, Long> {
 
 
     Rest<String> syncMatterBySiteId(Long siteId, Context context);
+
+    void deleteBysiteIdAndSource(Long siteId,Integer source, Context context);
 }
\ No newline at end of file
diff --git a/base-manager/src/main/java/com/mortals/xhx/module/site/service/impl/SiteMatterServiceImpl.java b/base-manager/src/main/java/com/mortals/xhx/module/site/service/impl/SiteMatterServiceImpl.java
index 0da2b2ddacaec83ae566d305f4af84ae81cad4bf..0f574b29e5a1a8b6d433f8a12a89382dcc9ccd02 100644
--- a/base-manager/src/main/java/com/mortals/xhx/module/site/service/impl/SiteMatterServiceImpl.java
+++ b/base-manager/src/main/java/com/mortals/xhx/module/site/service/impl/SiteMatterServiceImpl.java
@@ -12,7 +12,9 @@ import com.mortals.xhx.module.site.model.SiteMatterEntity;
 import com.mortals.xhx.module.site.service.SiteMatterService;
 import org.springframework.util.ObjectUtils;
 
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 /**
 * SiteMatterService
@@ -42,4 +44,12 @@ public class SiteMatterServiceImpl extends AbstractCRUDServiceImpl<SiteMatterDao
         });
         super.findAfter(params, pageInfo, context, list);
     }
+
+    @Override
+    public void deleteBysiteIdAndSource(Long siteId, Integer source, Context context) {
+        Map<String, Object> condition = new HashMap<>();
+        condition.put("siteId", siteId);
+        condition.put("source", source);
+        this.dao.delete(condition);
+    }
 }
\ No newline at end of file
diff --git a/base-manager/src/main/java/com/mortals/xhx/module/site/service/impl/SiteServiceImpl.java b/base-manager/src/main/java/com/mortals/xhx/module/site/service/impl/SiteServiceImpl.java
index 2268ef7d26342225f6f947e1bfd178f8c8d71ce7..d5175e502a7eb5f35944049c34c55d04c73bd8ea 100644
--- a/base-manager/src/main/java/com/mortals/xhx/module/site/service/impl/SiteServiceImpl.java
+++ b/base-manager/src/main/java/com/mortals/xhx/module/site/service/impl/SiteServiceImpl.java
@@ -1,7 +1,6 @@
 package com.mortals.xhx.module.site.service.impl;
 
-import cn.hutool.core.net.url.UrlBuilder;
-import cn.hutool.core.util.CharsetUtil;
+import cn.hutool.core.collection.ListUtil;
 import cn.hutool.core.util.URLUtil;
 import com.alibaba.fastjson.JSON;
 import com.mortals.framework.ap.GlobalSysInfo;
@@ -11,7 +10,6 @@ import com.mortals.framework.model.Context;
 import com.mortals.framework.model.PageInfo;
 import com.mortals.framework.service.impl.AbstractCRUDCacheServiceImpl;
 import com.mortals.framework.util.DataUtil;
-import com.mortals.framework.util.HttpUtil;
 import com.mortals.framework.util.StringUtils;
 import com.mortals.xhx.base.system.user.service.UserService;
 import com.mortals.xhx.common.code.AreaLevelDxTypeEnum;
@@ -25,13 +23,10 @@ import com.mortals.xhx.module.area.model.AreaEntity;
 import com.mortals.xhx.module.area.model.AreaQuery;
 import com.mortals.xhx.module.area.service.AreaService;
 import com.mortals.xhx.module.dept.model.DeptEntity;
-import com.mortals.xhx.module.dept.model.DeptQuery;
 import com.mortals.xhx.module.dept.service.DeptService;
 import com.mortals.xhx.module.matter.model.MatterEntity;
 import com.mortals.xhx.module.matter.model.MatterQuery;
 import com.mortals.xhx.module.matter.service.MatterService;
-import com.mortals.xhx.module.matters.model.MattersEntity;
-import com.mortals.xhx.module.matters.model.MattersQuery;
 import com.mortals.xhx.module.matters.service.MattersService;
 import com.mortals.xhx.module.model.model.ModelEntity;
 import com.mortals.xhx.module.model.model.ModelQuery;
@@ -43,25 +38,14 @@ import com.mortals.xhx.module.site.model.SiteTreeSelect;
 import com.mortals.xhx.module.site.service.SiteService;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections4.CollectionUtils;
-import org.apache.poi.ss.formula.functions.T;
-import org.htmlcleaner.CleanerProperties;
-import org.htmlcleaner.DomSerializer;
-import org.htmlcleaner.HtmlCleaner;
-import org.htmlcleaner.TagNode;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.ObjectUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
 
-import javax.xml.xpath.XPath;
-import javax.xml.xpath.XPathConstants;
-import javax.xml.xpath.XPathFactory;
 import java.util.*;
-import java.util.function.Function;
 import java.util.stream.Collectors;
-import java.util.stream.IntStream;
 
 import static com.mortals.xhx.common.key.Constant.PARAM_SERVER_HTTP_IMAGE_URL;
 
@@ -73,9 +57,9 @@ import static com.mortals.xhx.common.key.Constant.PARAM_SERVER_HTTP_IMAGE_URL;
  * @date 2022-01-12
  */
 @Service("siteService")
-@Slf4j
 public class SiteServiceImpl extends AbstractCRUDCacheServiceImpl<SiteDao, SiteEntity, Long> implements SiteService {
 
+    protected Log log = LogFactory.getLog(this.getClass());
     // private List<SiteTreeSelect> siteTreeList;
     /**
      * 鏍规嵁鐢ㄦ埛id 鏆傚瓨瀵瑰簲绔欑偣鏍� 榛樿0涓哄叏绔欑偣鏍�
@@ -151,7 +135,7 @@ public class SiteServiceImpl extends AbstractCRUDCacheServiceImpl<SiteDao, SiteE
             }
         }
         //鏌ヨ鎸囧畾鐨勭珯榛瀒ds
-        log.info("siteQuery==>{}", JSON.toJSONString(siteQuery));
+        log.info(String.format("siteQuery==>%s", JSON.toJSONString(siteQuery)));
         List<SiteEntity> siteList = this.find(siteQuery);
         //濡傛灉鏄鐞嗗憳 榛樿鍏ㄩ儴绔欑偣
         if (context.getUser().isAdmin()) {
@@ -438,18 +422,28 @@ public class SiteServiceImpl extends AbstractCRUDCacheServiceImpl<SiteDao, SiteE
                 Rest<List<MatterEntity>> matterAllRest = this.getMatterAllListByGOV(params, pageNum, context);
 
                 if (total != matterAllRest.getData().size()) {
-                    log.warn("鎶撳彇浜嬮」鏁伴噺涓嶄竴鑷达紝total:{} ,cursize:{}", total, matterAllRest.getData().size());
+                    log.warn(String.format("鎶撳彇浜嬮」鏁伴噺涓嶄竴鑷达紝鎶撳彇璁″垝:%d鏉� ,瀹為檯鎶撳彇:%d鏉�", total, matterAllRest.getData().size()));
                 }
 
                 if (matterAllRest.getCode() == YesNoEnum.YES.getValue()) {
                     List<MatterEntity> govMatterList = matterAllRest.getData();
                     List<MatterEntity> localMatterList = matterService.find(new MatterQuery().areaCode(siteEntity.getAreaCode()));
                     List<MatterEntity> subList = this.subList(govMatterList, localMatterList);
+                    log.info("闇€瑕佹坊鍔犱簨椤规暟閲�====" + subList.size());
                     //宸泦杩涜鎻掑叆骞舵洿鏂拌缁嗘暟鎹�
                     if (!ObjectUtils.isEmpty(subList)) {
-                        log.info("insert subList size:" + subList.size());
-                        int count = matterService.save(subList, context);
-                        log.info("insert subList size success:" +count);
+                        for (MatterEntity matterEntity : subList) {
+                            DeptEntity deptCache = deptService.getExtCache(matterEntity.getDeptCode());
+                            matterEntity.setDeptName(deptCache == null ? "" : deptCache.getName());
+                            matterService.save(matterEntity, context);
+                        }
+
+/*                        List<List<MatterEntity>> partition = ListUtil.partition(subList, 50);
+                        for (List<MatterEntity> matterEntityList : partition) {
+                            log.info("insert subList size:" + matterEntityList.size());
+                            int count = matterService.save(matterEntityList, context);
+                            log.info("insert subList size success:" +count);
+                        }*/
                     }
                 }
             }
@@ -457,6 +451,14 @@ public class SiteServiceImpl extends AbstractCRUDCacheServiceImpl<SiteDao, SiteE
         return Rest.ok("鍚屾浜嬮」鏉℃暟鎴愬姛锛�");
     }
 
+    @Override
+    public void deleteBysiteIdAndSource(Long siteId, Integer source, Context context) {
+        Map<String, Object> condition = new HashMap<>();
+        condition.put("siteId", siteId);
+        condition.put("source", source);
+        this.dao.delete(condition);
+    }
+
 
     public List<MatterEntity> subList(List<MatterEntity> firstList, List<MatterEntity> secondList) {
         Set<String> secondSet = secondList.parallelStream().map(e -> e.getMatterNo()).collect(Collectors.toSet());
diff --git a/base-manager/src/main/java/com/mortals/xhx/module/site/web/SiteController.java b/base-manager/src/main/java/com/mortals/xhx/module/site/web/SiteController.java
index 66c98730ee2462b34e78678c5f923e44822ea01c..ade6c26faf7cc468d9a9dcc6c860bed494b5215e 100644
--- a/base-manager/src/main/java/com/mortals/xhx/module/site/web/SiteController.java
+++ b/base-manager/src/main/java/com/mortals/xhx/module/site/web/SiteController.java
@@ -22,6 +22,7 @@ import com.mortals.xhx.module.model.service.ModelService;
 import com.mortals.xhx.module.site.model.SiteEntity;
 import com.mortals.xhx.module.site.model.SiteQuery;
 import com.mortals.xhx.module.site.model.SiteTreeSelect;
+import com.mortals.xhx.module.site.service.SiteMatterService;
 import com.mortals.xhx.module.site.service.SiteService;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections4.CollectionUtils;
@@ -57,6 +58,8 @@ public class SiteController extends BaseCRUDJsonBodyMappingController<SiteServic
     private DeptService deptService;
     @Autowired
     private SiteService siteService;
+    @Autowired
+    private SiteMatterService siteMatterService;
 
     public SiteController() {
         super.setFormClass(SiteForm.class);
@@ -265,17 +268,21 @@ public class SiteController extends BaseCRUDJsonBodyMappingController<SiteServic
      * 鍚屾绔欑偣浜嬮」鏁版嵁
      */
     @PostMapping(value = "syncGovMatterBySiteId")
+    @UnAuth
     public String syncMatterBySiteId(@RequestBody SiteQuery site) {
         JSONObject jsonObject = new JSONObject();
         String busiDesc = "鍚屾绔欑偣浜嬮」鏁版嵁" + this.getModuleDesc();
         try {
             SiteEntity siteEntity = this.service.get(site.getId(), getContext());
             //鍚姩
+            if(ObjectUtils.isEmpty(siteEntity)){
+                throw new AppException("褰撳墠绔欑偣涓虹┖锛�");
+            }
             boolean bool = cacheService.setnx(RedisCacheKeys.getFlowDistributedLockKey() + siteEntity.getAreaCode(), siteEntity.getAreaCode(), 60L);
             if (!bool) {
                 throw new AppException("褰撳墠姝e湪鍚屾浜嬮」鏁版嵁涓紝璇峰嬁閲嶅鎻愪氦锛�");
             }
-            ThreadPool.getInstance().execute(new SyncGovMatterDetailThread(matterService, siteService, deptService, siteEntity, getContext()));
+            ThreadPool.getInstance().execute(new SyncGovMatterDetailThread(matterService, siteService, deptService, siteMatterService, siteEntity, getContext()));
             recordSysLog(request, busiDesc + " 銆愭垚鍔熴€�");
             jsonObject.put(KEY_RESULT_CODE, VALUE_RESULT_SUCCESS);
             jsonObject.put(KEY_RESULT_MSG, "鍚屾绔欑偣浜嬮」鏁版嵁鍛戒护涓嬪彂鎴愬姛锛�");
diff --git a/base-manager/src/main/resources/sqlmap/module/matter/MatterAcceptMapper.xml b/base-manager/src/main/resources/sqlmap/module/matter/MatterAcceptMapper.xml
index 8a00c999ba6c290c456adae89822eaeefb9c81c4..323e875ebfbc9bc3cd0ca8c66813e6cdebe8987a 100644
--- a/base-manager/src/main/resources/sqlmap/module/matter/MatterAcceptMapper.xml
+++ b/base-manager/src/main/resources/sqlmap/module/matter/MatterAcceptMapper.xml
@@ -7,6 +7,7 @@
     <resultMap type="MatterAcceptEntity" id="MatterAcceptEntity-Map">
             <id  property="id" column="id" />
             <result property="matterId" column="matterId" />
+            <result property="matterCode" column="matterCode" />
             <result property="matterName" column="matterName" />
             <result property="content" column="content" />
             <result property="source" column="source" />
@@ -21,46 +22,49 @@
     <sql id="_columns">
         <trim suffixOverrides="," suffix="">
                 <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('id') or colPickMode == 1 and data.containsKey('id')))">
-                    a.id as id,
+                    a.id,
                 </if>
                 <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('matterId') or colPickMode == 1 and data.containsKey('matterId')))">
-                    a.matterId as matterId,
+                    a.matterId,
+                </if>
+                <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('matterCode') or colPickMode == 1 and data.containsKey('matterCode')))">
+                    a.matterCode,
                 </if>
                 <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('matterName') or colPickMode == 1 and data.containsKey('matterName')))">
-                    a.matterName as matterName,
+                    a.matterName,
                 </if>
                 <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('content') or colPickMode == 1 and data.containsKey('content')))">
-                    a.content as content,
+                    a.content,
                 </if>
                 <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('source') or colPickMode == 1 and data.containsKey('source')))">
-                    a.source as source,
+                    a.source,
                 </if>
                 <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createTime') or colPickMode == 1 and data.containsKey('createTime')))">
-                    a.createTime as createTime,
+                    a.createTime,
                 </if>
                 <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createUserId') or colPickMode == 1 and data.containsKey('createUserId')))">
-                    a.createUserId as createUserId,
+                    a.createUserId,
                 </if>
                 <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateTime') or colPickMode == 1 and data.containsKey('updateTime')))">
-                    a.updateTime as updateTime,
+                    a.updateTime,
                 </if>
         </trim>
     </sql>
     <!-- 鏂板 鍖哄垎涓婚敭鑷鍔犺繕鏄笟鍔℃彃鍏� -->
     <insert id="insert" parameterType="MatterAcceptEntity"  useGeneratedKeys="true" keyProperty="id">
         insert into mortals_sys_matter_accept
-        (matterId,matterName,content,source,createTime,createUserId,updateTime)
+        (matterId,matterCode,matterName,content,source,createTime,createUserId,updateTime)
         VALUES
-        (#{matterId},#{matterName},#{content},#{source},#{createTime},#{createUserId},#{updateTime})
+        (#{matterId},#{matterCode},#{matterName},#{content},#{source},#{createTime},#{createUserId},#{updateTime})
     </insert>
 
     <!-- 鎵归噺鏂板 -->
     <insert id="insertBatch" parameterType="paramDto">
         insert into mortals_sys_matter_accept
-        (matterId,matterName,content,source,createTime,createUserId,updateTime)
+        (matterId,matterCode,matterName,content,source,createTime,createUserId,updateTime)
         VALUES
         <foreach collection="data.dataList" item="item" index="index" separator="," >
-            (#{item.matterId},#{item.matterName},#{item.content},#{item.source},#{item.createTime},#{item.createUserId},#{item.updateTime})
+            (#{item.matterId},#{item.matterCode},#{item.matterName},#{item.content},#{item.source},#{item.createTime},#{item.createUserId},#{item.updateTime})
         </foreach>
     </insert>
 
@@ -76,6 +80,9 @@
             <if test="(colPickMode==0 and data.containsKey('matterIdIncrement')) or (colPickMode==1 and !data.containsKey('matterIdIncrement'))">
                 a.matterId=ifnull(a.matterId,0) + #{data.matterIdIncrement},
             </if>
+            <if test="(colPickMode==0 and data.containsKey('matterCode')) or (colPickMode==1 and !data.containsKey('matterCode'))">
+                a.matterCode=#{data.matterCode},
+            </if>
             <if test="(colPickMode==0 and data.containsKey('matterName')) or (colPickMode==1 and !data.containsKey('matterName'))">
                 a.matterName=#{data.matterName},
             </if>
@@ -124,6 +131,13 @@
                                 </choose>
                             </foreach>
                         </trim>
+                <trim prefix="matterCode=(case" suffix="ELSE matterCode end),">
+                    <foreach collection="data.dataList" item="item" index="index" separator="" >
+                        <if test="(colPickMode==0 and item.containsKey('matterCode')) or (colPickMode==1 and !item.containsKey('matterCode'))">
+                            when a.id=#{item.id} then #{item.matterCode}
+                        </if>
+                    </foreach>
+                </trim>
                 <trim prefix="matterName=(case" suffix="ELSE matterName end),">
                     <foreach collection="data.dataList" item="item" index="index" separator="" >
                         <if test="(colPickMode==0 and item.containsKey('matterName')) or (colPickMode==1 and !item.containsKey('matterName'))">
@@ -320,6 +334,21 @@
             </if>
 
 
+            <if test="conditionParamRef.containsKey('matterCode')">
+                <if test="conditionParamRef.matterCode != null and conditionParamRef.matterCode != ''">
+                    ${_conditionType_} a.matterCode like #{${_conditionParam_}.matterCode}
+                </if>
+                <if test="conditionParamRef.matterCode == null">
+                    ${_conditionType_} a.matterCode is null
+                </if>
+            </if>
+            <if test="conditionParamRef.containsKey('matterCodeList')">
+                ${_conditionType_} a.matterCode in
+                <foreach collection="conditionParamRef.matterCodeList" open="(" close=")" index="index" item="item" separator=",">
+                    #{item}
+                </foreach>
+            </if>
+
             <if test="conditionParamRef.containsKey('matterName')">
                 <if test="conditionParamRef.matterName != null and conditionParamRef.matterName != ''">
                     ${_conditionType_} a.matterName like #{${_conditionParam_}.matterName}
@@ -444,6 +473,11 @@
                         <if test='orderCol.matterId != null and "DESC".equalsIgnoreCase(orderCol.matterId)'>DESC</if>
                         ,
                     </if>
+                    <if test="orderCol.containsKey('matterCode')">
+                        a.matterCode
+                        <if test='orderCol.matterCode != null and "DESC".equalsIgnoreCase(orderCol.matterCode)'>DESC</if>
+                        ,
+                    </if>
                     <if test="orderCol.containsKey('matterName')">
                         a.matterName
                         <if test='orderCol.matterName != null and "DESC".equalsIgnoreCase(orderCol.matterName)'>DESC</if>
diff --git a/base-manager/src/main/resources/sqlmap/module/matter/MatterChargesMapper.xml b/base-manager/src/main/resources/sqlmap/module/matter/MatterChargesMapper.xml
index 2708c2a08944fc5f32468b3a0de7e3c47c2a6e34..7b5c6d2bb3f3675d30f2ba5e98c4bc41c7df1f95 100644
--- a/base-manager/src/main/resources/sqlmap/module/matter/MatterChargesMapper.xml
+++ b/base-manager/src/main/resources/sqlmap/module/matter/MatterChargesMapper.xml
@@ -7,6 +7,7 @@
     <resultMap type="MatterChargesEntity" id="MatterChargesEntity-Map">
             <id  property="id" column="id" />
             <result property="matterId" column="matterId" />
+            <result property="matterCode" column="matterCode" />
             <result property="matterName" column="matterName" />
             <result property="content" column="content" />
             <result property="source" column="source" />
@@ -21,46 +22,49 @@
     <sql id="_columns">
         <trim suffixOverrides="," suffix="">
                 <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('id') or colPickMode == 1 and data.containsKey('id')))">
-                    a.id as id,
+                    a.id,
                 </if>
                 <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('matterId') or colPickMode == 1 and data.containsKey('matterId')))">
-                    a.matterId as matterId,
+                    a.matterId,
+                </if>
+                <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('matterCode') or colPickMode == 1 and data.containsKey('matterCode')))">
+                    a.matterCode,
                 </if>
                 <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('matterName') or colPickMode == 1 and data.containsKey('matterName')))">
-                    a.matterName as matterName,
+                    a.matterName,
                 </if>
                 <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('content') or colPickMode == 1 and data.containsKey('content')))">
-                    a.content as content,
+                    a.content,
                 </if>
                 <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('source') or colPickMode == 1 and data.containsKey('source')))">
-                    a.source as source,
+                    a.source,
                 </if>
                 <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createTime') or colPickMode == 1 and data.containsKey('createTime')))">
-                    a.createTime as createTime,
+                    a.createTime,
                 </if>
                 <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createUserId') or colPickMode == 1 and data.containsKey('createUserId')))">
-                    a.createUserId as createUserId,
+                    a.createUserId,
                 </if>
                 <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateTime') or colPickMode == 1 and data.containsKey('updateTime')))">
-                    a.updateTime as updateTime,
+                    a.updateTime,
                 </if>
         </trim>
     </sql>
     <!-- 鏂板 鍖哄垎涓婚敭鑷鍔犺繕鏄笟鍔℃彃鍏� -->
     <insert id="insert" parameterType="MatterChargesEntity"  useGeneratedKeys="true" keyProperty="id">
         insert into mortals_sys_matter_charges
-        (matterId,matterName,content,source,createTime,createUserId,updateTime)
+        (matterId,matterCode,matterName,content,source,createTime,createUserId,updateTime)
         VALUES
-        (#{matterId},#{matterName},#{content},#{source},#{createTime},#{createUserId},#{updateTime})
+        (#{matterId},#{matterCode},#{matterName},#{content},#{source},#{createTime},#{createUserId},#{updateTime})
     </insert>
 
     <!-- 鎵归噺鏂板 -->
     <insert id="insertBatch" parameterType="paramDto">
         insert into mortals_sys_matter_charges
-        (matterId,matterName,content,source,createTime,createUserId,updateTime)
+        (matterId,matterCode,matterName,content,source,createTime,createUserId,updateTime)
         VALUES
         <foreach collection="data.dataList" item="item" index="index" separator="," >
-            (#{item.matterId},#{item.matterName},#{item.content},#{item.source},#{item.createTime},#{item.createUserId},#{item.updateTime})
+            (#{item.matterId},#{item.matterCode},#{item.matterName},#{item.content},#{item.source},#{item.createTime},#{item.createUserId},#{item.updateTime})
         </foreach>
     </insert>
 
@@ -76,6 +80,9 @@
             <if test="(colPickMode==0 and data.containsKey('matterIdIncrement')) or (colPickMode==1 and !data.containsKey('matterIdIncrement'))">
                 a.matterId=ifnull(a.matterId,0) + #{data.matterIdIncrement},
             </if>
+            <if test="(colPickMode==0 and data.containsKey('matterCode')) or (colPickMode==1 and !data.containsKey('matterCode'))">
+                a.matterCode=#{data.matterCode},
+            </if>
             <if test="(colPickMode==0 and data.containsKey('matterName')) or (colPickMode==1 and !data.containsKey('matterName'))">
                 a.matterName=#{data.matterName},
             </if>
@@ -124,6 +131,13 @@
                                 </choose>
                             </foreach>
                         </trim>
+                <trim prefix="matterCode=(case" suffix="ELSE matterCode end),">
+                    <foreach collection="data.dataList" item="item" index="index" separator="" >
+                        <if test="(colPickMode==0 and item.containsKey('matterCode')) or (colPickMode==1 and !item.containsKey('matterCode'))">
+                            when a.id=#{item.id} then #{item.matterCode}
+                        </if>
+                    </foreach>
+                </trim>
                 <trim prefix="matterName=(case" suffix="ELSE matterName end),">
                     <foreach collection="data.dataList" item="item" index="index" separator="" >
                         <if test="(colPickMode==0 and item.containsKey('matterName')) or (colPickMode==1 and !item.containsKey('matterName'))">
@@ -320,6 +334,21 @@
             </if>
 
 
+            <if test="conditionParamRef.containsKey('matterCode')">
+                <if test="conditionParamRef.matterCode != null and conditionParamRef.matterCode != ''">
+                    ${_conditionType_} a.matterCode like #{${_conditionParam_}.matterCode}
+                </if>
+                <if test="conditionParamRef.matterCode == null">
+                    ${_conditionType_} a.matterCode is null
+                </if>
+            </if>
+            <if test="conditionParamRef.containsKey('matterCodeList')">
+                ${_conditionType_} a.matterCode in
+                <foreach collection="conditionParamRef.matterCodeList" open="(" close=")" index="index" item="item" separator=",">
+                    #{item}
+                </foreach>
+            </if>
+
             <if test="conditionParamRef.containsKey('matterName')">
                 <if test="conditionParamRef.matterName != null and conditionParamRef.matterName != ''">
                     ${_conditionType_} a.matterName like #{${_conditionParam_}.matterName}
@@ -444,6 +473,11 @@
                         <if test='orderCol.matterId != null and "DESC".equalsIgnoreCase(orderCol.matterId)'>DESC</if>
                         ,
                     </if>
+                    <if test="orderCol.containsKey('matterCode')">
+                        a.matterCode
+                        <if test='orderCol.matterCode != null and "DESC".equalsIgnoreCase(orderCol.matterCode)'>DESC</if>
+                        ,
+                    </if>
                     <if test="orderCol.containsKey('matterName')">
                         a.matterName
                         <if test='orderCol.matterName != null and "DESC".equalsIgnoreCase(orderCol.matterName)'>DESC</if>
diff --git a/base-manager/src/main/resources/sqlmap/module/matter/MatterDatumFileMapper.xml b/base-manager/src/main/resources/sqlmap/module/matter/MatterDatumFileMapper.xml
index c2fe0cfaa739749a1aca2d10763c1ae646d1b28c..c6f4db54b5863bbb3ed68f2bf159f38cdf4277b2 100644
--- a/base-manager/src/main/resources/sqlmap/module/matter/MatterDatumFileMapper.xml
+++ b/base-manager/src/main/resources/sqlmap/module/matter/MatterDatumFileMapper.xml
@@ -7,14 +7,16 @@
     <resultMap type="MatterDatumFileEntity" id="MatterDatumFileEntity-Map">
         <id  property="id" column="id" />
         <result property="datumId" column="datumId" />
+        <result property="matterCode" column="matterCode" />
+        <result property="materialName" column="materialName" />
         <result property="fileName" column="fileName" />
         <result property="fileUrl" column="fileUrl" />
+        <result property="localFileUrl" column="localFileUrl" />
         <result property="filetype" column="filetype" />
         <result property="source" column="source" />
         <result property="createTime" column="createTime" />
         <result property="createUserId" column="createUserId" />
         <result property="updateTime" column="updateTime" />
-        <result property="materialName" column="materialName" />
 
     </resultMap>
 
@@ -23,52 +25,58 @@
     <sql id="_columns">
         <trim suffixOverrides="," suffix="">
             <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('id') or colPickMode == 1 and data.containsKey('id')))">
-                a.id as id,
+                a.id,
             </if>
             <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('datumId') or colPickMode == 1 and data.containsKey('datumId')))">
-                a.datumId as datumId,
+                a.datumId,
+            </if>
+            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('matterCode') or colPickMode == 1 and data.containsKey('matterCode')))">
+                a.matterCode,
+            </if>
+            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('materialName') or colPickMode == 1 and data.containsKey('materialName')))">
+                a.materialName,
             </if>
             <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('fileName') or colPickMode == 1 and data.containsKey('fileName')))">
-                a.fileName as fileName,
+                a.fileName,
             </if>
             <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('fileUrl') or colPickMode == 1 and data.containsKey('fileUrl')))">
-                a.fileUrl as fileUrl,
+                a.fileUrl,
+            </if>
+            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('localFileUrl') or colPickMode == 1 and data.containsKey('localFileUrl')))">
+                a.localFileUrl,
             </if>
             <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('filetype') or colPickMode == 1 and data.containsKey('filetype')))">
-                a.filetype as filetype,
+                a.filetype,
             </if>
             <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('source') or colPickMode == 1 and data.containsKey('source')))">
-                a.source as source,
+                a.source,
             </if>
             <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createTime') or colPickMode == 1 and data.containsKey('createTime')))">
-                a.createTime as createTime,
+                a.createTime,
             </if>
             <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createUserId') or colPickMode == 1 and data.containsKey('createUserId')))">
-                a.createUserId as createUserId,
+                a.createUserId,
             </if>
             <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateTime') or colPickMode == 1 and data.containsKey('updateTime')))">
-                a.updateTime as updateTime,
-            </if>
-            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('materialName') or colPickMode == 1 and data.containsKey('materialName')))">
-                a.materialName as materialName,
+                a.updateTime,
             </if>
         </trim>
     </sql>
     <!-- 鏂板 鍖哄垎涓婚敭鑷鍔犺繕鏄笟鍔℃彃鍏� -->
     <insert id="insert" parameterType="MatterDatumFileEntity"  useGeneratedKeys="true" keyProperty="id">
         insert into mortals_sys_matter_datum_file
-        (datumId,fileName,fileUrl,filetype,source,createTime,createUserId,updateTime,materialName)
+        (datumId,matterCode,materialName,fileName,fileUrl,localFileUrl,filetype,source,createTime,createUserId,updateTime)
         VALUES
-        (#{datumId},#{fileName},#{fileUrl},#{filetype},#{source},#{createTime},#{createUserId},#{updateTime},#{materialName})
+        (#{datumId},#{matterCode},#{materialName},#{fileName},#{fileUrl},#{localFileUrl},#{filetype},#{source},#{createTime},#{createUserId},#{updateTime})
     </insert>
 
     <!-- 鎵归噺鏂板 -->
     <insert id="insertBatch" parameterType="paramDto">
         insert into mortals_sys_matter_datum_file
-        (datumId,fileName,fileUrl,filetype,source,createTime,createUserId,updateTime,materialName)
+        (datumId,matterCode,materialName,fileName,fileUrl,localFileUrl,filetype,source,createTime,createUserId,updateTime)
         VALUES
         <foreach collection="data.dataList" item="item" index="index" separator="," >
-            (#{item.datumId},#{item.fileName},#{item.fileUrl},#{item.filetype},#{item.source},#{item.createTime},#{item.createUserId},#{item.updateTime},#{item.materialName})
+            (#{item.datumId},#{item.matterCode},#{item.materialName},#{item.fileName},#{item.fileUrl},#{item.localFileUrl},#{item.filetype},#{item.source},#{item.createTime},#{item.createUserId},#{item.updateTime})
         </foreach>
     </insert>
 
@@ -84,18 +92,24 @@
             <if test="(colPickMode==0 and data.containsKey('datumIdIncrement')) or (colPickMode==1 and !data.containsKey('datumIdIncrement'))">
                 a.datumId=ifnull(a.datumId,0) + #{data.datumIdIncrement},
             </if>
+            <if test="(colPickMode==0 and data.containsKey('matterCode')) or (colPickMode==1 and !data.containsKey('matterCode'))">
+                a.matterCode=#{data.matterCode},
+            </if>
+            <if test="(colPickMode==0 and data.containsKey('materialName')) or (colPickMode==1 and !data.containsKey('materialName'))">
+                a.materialName=#{data.materialName},
+            </if>
             <if test="(colPickMode==0 and data.containsKey('fileName')) or (colPickMode==1 and !data.containsKey('fileName'))">
                 a.fileName=#{data.fileName},
             </if>
             <if test="(colPickMode==0 and data.containsKey('fileUrl')) or (colPickMode==1 and !data.containsKey('fileUrl'))">
                 a.fileUrl=#{data.fileUrl},
             </if>
+            <if test="(colPickMode==0 and data.containsKey('localFileUrl')) or (colPickMode==1 and !data.containsKey('localFileUrl'))">
+                a.localFileUrl=#{data.localFileUrl},
+            </if>
             <if test="(colPickMode==0 and data.containsKey('filetype')) or (colPickMode==1 and !data.containsKey('filetype'))">
                 a.filetype=#{data.filetype},
             </if>
-            <if test="(colPickMode==0 and data.containsKey('filetypeIncrement')) or (colPickMode==1 and !data.containsKey('filetypeIncrement'))">
-                a.filetype=ifnull(a.filetype,0) + #{data.filetypeIncrement},
-            </if>
             <if test="(colPickMode==0 and data.containsKey('source')) or (colPickMode==1 and !data.containsKey('source'))">
                 a.source=#{data.source},
             </if>
@@ -114,9 +128,6 @@
             <if test="(colPickMode==0 and data.containsKey('updateTime')) or (colPickMode==1 and !data.containsKey('updateTime'))">
                 a.updateTime=#{data.updateTime},
             </if>
-            <if test="(colPickMode==0 and data.containsKey('materialName')) or (colPickMode==1 and !data.containsKey('materialName'))">
-                a.materialName=#{data.materialName},
-            </if>
         </trim>
         <trim suffixOverrides="where" suffix="">
             where
@@ -141,6 +152,20 @@
                     </choose>
                 </foreach>
             </trim>
+            <trim prefix="matterCode=(case" suffix="ELSE matterCode end),">
+                <foreach collection="data.dataList" item="item" index="index" separator="" >
+                    <if test="(colPickMode==0 and item.containsKey('matterCode')) or (colPickMode==1 and !item.containsKey('matterCode'))">
+                        when a.id=#{item.id} then #{item.matterCode}
+                    </if>
+                </foreach>
+            </trim>
+            <trim prefix="materialName=(case" suffix="ELSE materialName end),">
+                <foreach collection="data.dataList" item="item" index="index" separator="" >
+                    <if test="(colPickMode==0 and item.containsKey('materialName')) or (colPickMode==1 and !item.containsKey('materialName'))">
+                        when a.id=#{item.id} then #{item.materialName}
+                    </if>
+                </foreach>
+            </trim>
             <trim prefix="fileName=(case" suffix="ELSE fileName end),">
                 <foreach collection="data.dataList" item="item" index="index" separator="" >
                     <if test="(colPickMode==0 and item.containsKey('fileName')) or (colPickMode==1 and !item.containsKey('fileName'))">
@@ -155,16 +180,18 @@
                     </if>
                 </foreach>
             </trim>
+            <trim prefix="localFileUrl=(case" suffix="ELSE localFileUrl end),">
+                <foreach collection="data.dataList" item="item" index="index" separator="" >
+                    <if test="(colPickMode==0 and item.containsKey('localFileUrl')) or (colPickMode==1 and !item.containsKey('localFileUrl'))">
+                        when a.id=#{item.id} then #{item.localFileUrl}
+                    </if>
+                </foreach>
+            </trim>
             <trim prefix="filetype=(case" suffix="ELSE filetype end),">
                 <foreach collection="data.dataList" item="item" index="index" separator="" >
-                    <choose>
-                        <when test="(colPickMode==0 and item.containsKey('filetype')) or (colPickMode==1 and !item.containsKey('filetype'))">
-                            when a.id=#{item.id} then #{item.filetype}
-                        </when>
-                        <when test="(colPickMode==0 and item.containsKey('filetypeIncrement')) or (colPickMode==1 and !item.containsKey('filetypeIncrement'))">
-                            when a.id=#{item.id} then ifnull(a.filetype,0) + #{item.filetypeIncrement}
-                        </when>
-                    </choose>
+                    <if test="(colPickMode==0 and item.containsKey('filetype')) or (colPickMode==1 and !item.containsKey('filetype'))">
+                        when a.id=#{item.id} then #{item.filetype}
+                    </if>
                 </foreach>
             </trim>
             <trim prefix="source=(case" suffix="ELSE source end),">
@@ -205,13 +232,6 @@
                     </if>
                 </foreach>
             </trim>
-            <trim prefix="materialName=(case" suffix="ELSE materialName end),">
-                <foreach collection="data.dataList" item="item" index="index" separator="" >
-                    <if test="(colPickMode==0 and item.containsKey('materialName')) or (colPickMode==1 and !item.containsKey('materialName'))">
-                        when a.id=#{item.id} then #{item.materialName}
-                    </if>
-                </foreach>
-            </trim>
         </trim>
         where id in
         <foreach collection="data.dataList" item="item" index="index" open="(" separator="," close=")">
@@ -356,6 +376,36 @@
         </if>
 
 
+        <if test="conditionParamRef.containsKey('matterCode')">
+            <if test="conditionParamRef.matterCode != null and conditionParamRef.matterCode != ''">
+                ${_conditionType_} a.matterCode like #{${_conditionParam_}.matterCode}
+            </if>
+            <if test="conditionParamRef.matterCode == null">
+                ${_conditionType_} a.matterCode is null
+            </if>
+        </if>
+        <if test="conditionParamRef.containsKey('matterCodeList')">
+            ${_conditionType_} a.matterCode in
+            <foreach collection="conditionParamRef.matterCodeList" open="(" close=")" index="index" item="item" separator=",">
+                #{item}
+            </foreach>
+        </if>
+
+        <if test="conditionParamRef.containsKey('materialName')">
+            <if test="conditionParamRef.materialName != null and conditionParamRef.materialName != ''">
+                ${_conditionType_} a.materialName like #{${_conditionParam_}.materialName}
+            </if>
+            <if test="conditionParamRef.materialName == null">
+                ${_conditionType_} a.materialName is null
+            </if>
+        </if>
+        <if test="conditionParamRef.containsKey('materialNameList')">
+            ${_conditionType_} a.materialName in
+            <foreach collection="conditionParamRef.materialNameList" open="(" close=")" index="index" item="item" separator=",">
+                #{item}
+            </foreach>
+        </if>
+
         <if test="conditionParamRef.containsKey('fileName')">
             <if test="conditionParamRef.fileName != null and conditionParamRef.fileName != ''">
                 ${_conditionType_} a.fileName like #{${_conditionParam_}.fileName}
@@ -385,9 +435,25 @@
                 #{item}
             </foreach>
         </if>
+
+        <if test="conditionParamRef.containsKey('localFileUrl')">
+            <if test="conditionParamRef.localFileUrl != null and conditionParamRef.localFileUrl != ''">
+                ${_conditionType_} a.localFileUrl like #{${_conditionParam_}.localFileUrl}
+            </if>
+            <if test="conditionParamRef.localFileUrl == null">
+                ${_conditionType_} a.localFileUrl is null
+            </if>
+        </if>
+        <if test="conditionParamRef.containsKey('localFileUrlList')">
+            ${_conditionType_} a.localFileUrl in
+            <foreach collection="conditionParamRef.localFileUrlList" open="(" close=")" index="index" item="item" separator=",">
+                #{item}
+            </foreach>
+        </if>
+
         <if test="conditionParamRef.containsKey('filetype')">
-            <if test="conditionParamRef.filetype != null ">
-                ${_conditionType_} a.filetype = #{${_conditionParam_}.filetype}
+            <if test="conditionParamRef.filetype != null and conditionParamRef.filetype != ''">
+                ${_conditionType_} a.filetype like #{${_conditionParam_}.filetype}
             </if>
             <if test="conditionParamRef.filetype == null">
                 ${_conditionType_} a.filetype is null
@@ -399,13 +465,6 @@
                 #{item}
             </foreach>
         </if>
-        <if test="conditionParamRef.containsKey('filetypeStart') and conditionParamRef.filetypeStart != null">
-            ${_conditionType_} a.filetype <![CDATA[ >= ]]> #{${_conditionParam_}.filetypeStart}
-        </if>
-        <if test="conditionParamRef.containsKey('filetypeEnd') and conditionParamRef.filetypeEnd != null">
-            ${_conditionType_} a.filetype <![CDATA[ <= ]]> #{${_conditionParam_}.filetypeEnd}
-        </if>
-
         <if test="conditionParamRef.containsKey('source')">
             <if test="conditionParamRef.source != null ">
                 ${_conditionType_} a.source = #{${_conditionParam_}.source}
@@ -478,21 +537,6 @@
         <if test="conditionParamRef.containsKey('updateTimeEnd') and conditionParamRef.updateTimeEnd != null and conditionParamRef.updateTimeEnd!=''">
             ${_conditionType_} a.updateTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
         </if>
-
-        <if test="conditionParamRef.containsKey('materialName')">
-            <if test="conditionParamRef.materialName != null and conditionParamRef.materialName != ''">
-                ${_conditionType_} a.materialName like #{${_conditionParam_}.materialName}
-            </if>
-            <if test="conditionParamRef.materialName == null">
-                ${_conditionType_} a.materialName is null
-            </if>
-        </if>
-        <if test="conditionParamRef.containsKey('materialNameList')">
-            ${_conditionType_} a.materialName in
-            <foreach collection="conditionParamRef.materialNameList" open="(" close=")" index="index" item="item" separator=",">
-                #{item}
-            </foreach>
-        </if>
     </sql>
     <sql id="_orderCols_">
         <if test="orderColList != null and !orderColList.isEmpty()">
@@ -516,6 +560,16 @@
                     <if test='orderCol.datumId != null and "DESC".equalsIgnoreCase(orderCol.datumId)'>DESC</if>
                     ,
                 </if>
+                <if test="orderCol.containsKey('matterCode')">
+                    a.matterCode
+                    <if test='orderCol.matterCode != null and "DESC".equalsIgnoreCase(orderCol.matterCode)'>DESC</if>
+                    ,
+                </if>
+                <if test="orderCol.containsKey('materialName')">
+                    a.materialName
+                    <if test='orderCol.materialName != null and "DESC".equalsIgnoreCase(orderCol.materialName)'>DESC</if>
+                    ,
+                </if>
                 <if test="orderCol.containsKey('fileName')">
                     a.fileName
                     <if test='orderCol.fileName != null and "DESC".equalsIgnoreCase(orderCol.fileName)'>DESC</if>
@@ -526,6 +580,11 @@
                     <if test='orderCol.fileUrl != null and "DESC".equalsIgnoreCase(orderCol.fileUrl)'>DESC</if>
                     ,
                 </if>
+                <if test="orderCol.containsKey('localFileUrl')">
+                    a.localFileUrl
+                    <if test='orderCol.localFileUrl != null and "DESC".equalsIgnoreCase(orderCol.localFileUrl)'>DESC</if>
+                    ,
+                </if>
                 <if test="orderCol.containsKey('filetype')">
                     a.filetype
                     <if test='orderCol.filetype != null and "DESC".equalsIgnoreCase(orderCol.filetype)'>DESC</if>
@@ -551,11 +610,6 @@
                     <if test='orderCol.updateTime != null and "DESC".equalsIgnoreCase(orderCol.updateTime)'>DESC</if>
                     ,
                 </if>
-                <if test="orderCol.containsKey('materialName')">
-                    a.materialName
-                    <if test='orderCol.materialName != null and "DESC".equalsIgnoreCase(orderCol.materialName)'>DESC</if>
-                    ,
-                </if>
             </trim>
         </if>
     </sql>
diff --git a/base-manager/src/main/resources/sqlmap/module/matter/MatterDatumMapper.xml b/base-manager/src/main/resources/sqlmap/module/matter/MatterDatumMapper.xml
index 159e1e898902b1a8d01a280d224594705896d0b1..e9c8c6d27770f6da70b892266c9a70a40914f906 100644
--- a/base-manager/src/main/resources/sqlmap/module/matter/MatterDatumMapper.xml
+++ b/base-manager/src/main/resources/sqlmap/module/matter/MatterDatumMapper.xml
@@ -7,6 +7,8 @@
     <resultMap type="MatterDatumEntity" id="MatterDatumEntity-Map">
         <id  property="id" column="id" />
         <result property="matterId" column="matterId" />
+        <result property="matterCode" column="matterCode" />
+        <result property="matterName" column="matterName" />
         <result property="materialName" column="materialName" />
         <result property="isMust" column="isMust" />
         <result property="materialType" column="materialType" />
@@ -29,7 +31,6 @@
         <result property="createTime" column="createTime" />
         <result property="createUserId" column="createUserId" />
         <result property="updateTime" column="updateTime" />
-        <result property="matterName" column="matterName" />
         <collection property="matterDatumFileList" column="id" ofType="MatterDatumFileEntity" javaType="ArrayList" select="getMatterDatumFileByDatumId"></collection>
     </resultMap>
     <resultMap type="MatterDatumFileEntity" id="MatterDatumFileEntity-Map">
@@ -50,103 +51,106 @@
     <sql id="_columns">
         <trim suffixOverrides="," suffix="">
             <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('id') or colPickMode == 1 and data.containsKey('id')))">
-                a.id as id,
+                a.id,
             </if>
             <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('matterId') or colPickMode == 1 and data.containsKey('matterId')))">
-                a.matterId as matterId,
+                a.matterId,
+            </if>
+            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('matterCode') or colPickMode == 1 and data.containsKey('matterCode')))">
+                a.matterCode,
+            </if>
+            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('matterName') or colPickMode == 1 and data.containsKey('matterName')))">
+                a.matterName,
             </if>
             <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('materialName') or colPickMode == 1 and data.containsKey('materialName')))">
-                a.materialName as materialName,
+                a.materialName,
             </if>
             <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('isMust') or colPickMode == 1 and data.containsKey('isMust')))">
-                a.isMust as isMust,
+                a.isMust,
             </if>
             <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('materialType') or colPickMode == 1 and data.containsKey('materialType')))">
-                a.materialType as materialType,
+                a.materialType,
             </if>
             <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('materialProperty') or colPickMode == 1 and data.containsKey('materialProperty')))">
-                a.materialProperty as materialProperty,
+                a.materialProperty,
             </if>
             <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('electronicgs') or colPickMode == 1 and data.containsKey('electronicgs')))">
-                a.electronicgs as electronicgs,
+                a.electronicgs,
             </if>
             <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('materialSource') or colPickMode == 1 and data.containsKey('materialSource')))">
-                a.materialSource as materialSource,
+                a.materialSource,
             </if>
             <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('paperNum') or colPickMode == 1 and data.containsKey('paperNum')))">
-                a.paperNum as paperNum,
+                a.paperNum,
             </if>
             <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('paperGg') or colPickMode == 1 and data.containsKey('paperGg')))">
-                a.paperGg as paperGg,
+                a.paperGg,
             </if>
             <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('jianmMs') or colPickMode == 1 and data.containsKey('jianmMs')))">
-                a.jianmMs as jianmMs,
+                a.jianmMs,
             </if>
             <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('sealWay') or colPickMode == 1 and data.containsKey('sealWay')))">
-                a.sealWay as sealWay,
+                a.sealWay,
             </if>
             <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('isjianm') or colPickMode == 1 and data.containsKey('isjianm')))">
-                a.isjianm as isjianm,
+                a.isjianm,
             </if>
             <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('isLack') or colPickMode == 1 and data.containsKey('isLack')))">
-                a.isLack as isLack,
+                a.isLack,
             </if>
             <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('ybUrl') or colPickMode == 1 and data.containsKey('ybUrl')))">
-                a.ybUrl as ybUrl,
+                a.ybUrl,
             </if>
             <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('materialSourceSm') or colPickMode == 1 and data.containsKey('materialSourceSm')))">
-                a.materialSourceSm as materialSourceSm,
+                a.materialSourceSm,
             </if>
             <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('remarkSub') or colPickMode == 1 and data.containsKey('remarkSub')))">
-                a.remarkSub as remarkSub,
+                a.remarkSub,
             </if>
             <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('clauseContent') or colPickMode == 1 and data.containsKey('clauseContent')))">
-                a.clauseContent as clauseContent,
+                a.clauseContent,
             </if>
             <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('summary') or colPickMode == 1 and data.containsKey('summary')))">
-                a.summary as summary,
+                a.summary,
             </if>
             <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('remark') or colPickMode == 1 and data.containsKey('remark')))">
-                a.remark as remark,
+                a.remark,
             </if>
             <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('source') or colPickMode == 1 and data.containsKey('source')))">
-                a.source as source,
+                a.source,
             </if>
             <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createTime') or colPickMode == 1 and data.containsKey('createTime')))">
-                a.createTime as createTime,
+                a.createTime,
             </if>
             <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createUserId') or colPickMode == 1 and data.containsKey('createUserId')))">
-                a.createUserId as createUserId,
+                a.createUserId,
             </if>
             <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateTime') or colPickMode == 1 and data.containsKey('updateTime')))">
-                a.updateTime as updateTime,
-            </if>
-            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('matterName') or colPickMode == 1 and data.containsKey('matterName')))">
-                a.matterName as matterName,
+                a.updateTime,
             </if>
         </trim>
     </sql>
     <!-- 瀛愯〃鎵€鏈夊垪 -->
     <sql id="_columns_sub">
         <trim suffixOverrides="," suffix="">
-            b.id as id,b.datumId as datumId,b.fileName as fileName,b.fileUrl as fileUrl,b.filetype as filetype,b.source as source,b.createTime as createTime,b.createUserId as createUserId,b.updateTime as updateTime,b.materialName as materialName,
+            b.id,b.datumId,b.fileName,b.fileUrl,b.filetype,b.source,b.createTime,b.createUserId,b.updateTime,b.materialName,
         </trim>
     </sql>
     <!-- 鏂板 鍖哄垎涓婚敭鑷鍔犺繕鏄笟鍔℃彃鍏� -->
     <insert id="insert" parameterType="MatterDatumEntity"  useGeneratedKeys="true" keyProperty="id">
         insert into mortals_sys_matter_datum
-        (matterId,materialName,isMust,materialType,materialProperty,electronicgs,materialSource,paperNum,paperGg,jianmMs,sealWay,isjianm,isLack,ybUrl,materialSourceSm,remarkSub,clauseContent,summary,remark,source,createTime,createUserId,updateTime,matterName)
+        (matterId,matterCode,matterName,materialName,isMust,materialType,materialProperty,electronicgs,materialSource,paperNum,paperGg,jianmMs,sealWay,isjianm,isLack,ybUrl,materialSourceSm,remarkSub,clauseContent,summary,remark,source,createTime,createUserId,updateTime)
         VALUES
-        (#{matterId},#{materialName},#{isMust},#{materialType},#{materialProperty},#{electronicgs},#{materialSource},#{paperNum},#{paperGg},#{jianmMs},#{sealWay},#{isjianm},#{isLack},#{ybUrl},#{materialSourceSm},#{remarkSub},#{clauseContent},#{summary},#{remark},#{source},#{createTime},#{createUserId},#{updateTime},#{matterName})
+        (#{matterId},#{matterCode},#{matterName},#{materialName},#{isMust},#{materialType},#{materialProperty},#{electronicgs},#{materialSource},#{paperNum},#{paperGg},#{jianmMs},#{sealWay},#{isjianm},#{isLack},#{ybUrl},#{materialSourceSm},#{remarkSub},#{clauseContent},#{summary},#{remark},#{source},#{createTime},#{createUserId},#{updateTime})
     </insert>
 
     <!-- 鎵归噺鏂板 -->
     <insert id="insertBatch" parameterType="paramDto">
         insert into mortals_sys_matter_datum
-        (matterId,materialName,isMust,materialType,materialProperty,electronicgs,materialSource,paperNum,paperGg,jianmMs,sealWay,isjianm,isLack,ybUrl,materialSourceSm,remarkSub,clauseContent,summary,remark,source,createTime,createUserId,updateTime,matterName)
+        (matterId,matterCode,matterName,materialName,isMust,materialType,materialProperty,electronicgs,materialSource,paperNum,paperGg,jianmMs,sealWay,isjianm,isLack,ybUrl,materialSourceSm,remarkSub,clauseContent,summary,remark,source,createTime,createUserId,updateTime)
         VALUES
         <foreach collection="data.dataList" item="item" index="index" separator="," >
-            (#{item.matterId},#{item.materialName},#{item.isMust},#{item.materialType},#{item.materialProperty},#{item.electronicgs},#{item.materialSource},#{item.paperNum},#{item.paperGg},#{item.jianmMs},#{item.sealWay},#{item.isjianm},#{item.isLack},#{item.ybUrl},#{item.materialSourceSm},#{item.remarkSub},#{item.clauseContent},#{item.summary},#{item.remark},#{item.source},#{item.createTime},#{item.createUserId},#{item.updateTime},#{item.matterName})
+            (#{item.matterId},#{item.matterCode},#{item.matterName},#{item.materialName},#{item.isMust},#{item.materialType},#{item.materialProperty},#{item.electronicgs},#{item.materialSource},#{item.paperNum},#{item.paperGg},#{item.jianmMs},#{item.sealWay},#{item.isjianm},#{item.isLack},#{item.ybUrl},#{item.materialSourceSm},#{item.remarkSub},#{item.clauseContent},#{item.summary},#{item.remark},#{item.source},#{item.createTime},#{item.createUserId},#{item.updateTime})
         </foreach>
     </insert>
 
@@ -162,6 +166,12 @@
             <if test="(colPickMode==0 and data.containsKey('matterIdIncrement')) or (colPickMode==1 and !data.containsKey('matterIdIncrement'))">
                 a.matterId=ifnull(a.matterId,0) + #{data.matterIdIncrement},
             </if>
+            <if test="(colPickMode==0 and data.containsKey('matterCode')) or (colPickMode==1 and !data.containsKey('matterCode'))">
+                a.matterCode=#{data.matterCode},
+            </if>
+            <if test="(colPickMode==0 and data.containsKey('matterName')) or (colPickMode==1 and !data.containsKey('matterName'))">
+                a.matterName=#{data.matterName},
+            </if>
             <if test="(colPickMode==0 and data.containsKey('materialName')) or (colPickMode==1 and !data.containsKey('materialName'))">
                 a.materialName=#{data.materialName},
             </if>
@@ -237,9 +247,6 @@
             <if test="(colPickMode==0 and data.containsKey('updateTime')) or (colPickMode==1 and !data.containsKey('updateTime'))">
                 a.updateTime=#{data.updateTime},
             </if>
-            <if test="(colPickMode==0 and data.containsKey('matterName')) or (colPickMode==1 and !data.containsKey('matterName'))">
-                a.matterName=#{data.matterName},
-            </if>
         </trim>
         <trim suffixOverrides="where" suffix="">
             where
@@ -264,6 +271,20 @@
                     </choose>
                 </foreach>
             </trim>
+            <trim prefix="matterCode=(case" suffix="ELSE matterCode end),">
+                <foreach collection="data.dataList" item="item" index="index" separator="" >
+                    <if test="(colPickMode==0 and item.containsKey('matterCode')) or (colPickMode==1 and !item.containsKey('matterCode'))">
+                        when a.id=#{item.id} then #{item.matterCode}
+                    </if>
+                </foreach>
+            </trim>
+            <trim prefix="matterName=(case" suffix="ELSE matterName end),">
+                <foreach collection="data.dataList" item="item" index="index" separator="" >
+                    <if test="(colPickMode==0 and item.containsKey('matterName')) or (colPickMode==1 and !item.containsKey('matterName'))">
+                        when a.id=#{item.id} then #{item.matterName}
+                    </if>
+                </foreach>
+            </trim>
             <trim prefix="materialName=(case" suffix="ELSE materialName end),">
                 <foreach collection="data.dataList" item="item" index="index" separator="" >
                     <if test="(colPickMode==0 and item.containsKey('materialName')) or (colPickMode==1 and !item.containsKey('materialName'))">
@@ -433,13 +454,6 @@
                     </if>
                 </foreach>
             </trim>
-            <trim prefix="matterName=(case" suffix="ELSE matterName end),">
-                <foreach collection="data.dataList" item="item" index="index" separator="" >
-                    <if test="(colPickMode==0 and item.containsKey('matterName')) or (colPickMode==1 and !item.containsKey('matterName'))">
-                        when a.id=#{item.id} then #{item.matterName}
-                    </if>
-                </foreach>
-            </trim>
         </trim>
         where id in
         <foreach collection="data.dataList" item="item" index="index" open="(" separator="," close=")">
@@ -592,6 +606,36 @@
         </if>
 
 
+        <if test="conditionParamRef.containsKey('matterCode')">
+            <if test="conditionParamRef.matterCode != null and conditionParamRef.matterCode != ''">
+                ${_conditionType_} a.matterCode like #{${_conditionParam_}.matterCode}
+            </if>
+            <if test="conditionParamRef.matterCode == null">
+                ${_conditionType_} a.matterCode is null
+            </if>
+        </if>
+        <if test="conditionParamRef.containsKey('matterCodeList')">
+            ${_conditionType_} a.matterCode in
+            <foreach collection="conditionParamRef.matterCodeList" open="(" close=")" index="index" item="item" separator=",">
+                #{item}
+            </foreach>
+        </if>
+
+        <if test="conditionParamRef.containsKey('matterName')">
+            <if test="conditionParamRef.matterName != null and conditionParamRef.matterName != ''">
+                ${_conditionType_} a.matterName like #{${_conditionParam_}.matterName}
+            </if>
+            <if test="conditionParamRef.matterName == null">
+                ${_conditionType_} a.matterName is null
+            </if>
+        </if>
+        <if test="conditionParamRef.containsKey('matterNameList')">
+            ${_conditionType_} a.matterName in
+            <foreach collection="conditionParamRef.matterNameList" open="(" close=")" index="index" item="item" separator=",">
+                #{item}
+            </foreach>
+        </if>
+
         <if test="conditionParamRef.containsKey('materialName')">
             <if test="conditionParamRef.materialName != null and conditionParamRef.materialName != ''">
                 ${_conditionType_} a.materialName like #{${_conditionParam_}.materialName}
@@ -939,21 +983,6 @@
         <if test="conditionParamRef.containsKey('updateTimeEnd') and conditionParamRef.updateTimeEnd != null and conditionParamRef.updateTimeEnd!=''">
             ${_conditionType_} a.updateTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
         </if>
-
-        <if test="conditionParamRef.containsKey('matterName')">
-            <if test="conditionParamRef.matterName != null and conditionParamRef.matterName != ''">
-                ${_conditionType_} a.matterName like #{${_conditionParam_}.matterName}
-            </if>
-            <if test="conditionParamRef.matterName == null">
-                ${_conditionType_} a.matterName is null
-            </if>
-        </if>
-        <if test="conditionParamRef.containsKey('matterNameList')">
-            ${_conditionType_} a.matterName in
-            <foreach collection="conditionParamRef.matterNameList" open="(" close=")" index="index" item="item" separator=",">
-                #{item}
-            </foreach>
-        </if>
     </sql>
     <sql id="_orderCols_">
         <if test="orderColList != null and !orderColList.isEmpty()">
@@ -977,6 +1006,16 @@
                     <if test='orderCol.matterId != null and "DESC".equalsIgnoreCase(orderCol.matterId)'>DESC</if>
                     ,
                 </if>
+                <if test="orderCol.containsKey('matterCode')">
+                    a.matterCode
+                    <if test='orderCol.matterCode != null and "DESC".equalsIgnoreCase(orderCol.matterCode)'>DESC</if>
+                    ,
+                </if>
+                <if test="orderCol.containsKey('matterName')">
+                    a.matterName
+                    <if test='orderCol.matterName != null and "DESC".equalsIgnoreCase(orderCol.matterName)'>DESC</if>
+                    ,
+                </if>
                 <if test="orderCol.containsKey('materialName')">
                     a.materialName
                     <if test='orderCol.materialName != null and "DESC".equalsIgnoreCase(orderCol.materialName)'>DESC</if>
@@ -1087,11 +1126,6 @@
                     <if test='orderCol.updateTime != null and "DESC".equalsIgnoreCase(orderCol.updateTime)'>DESC</if>
                     ,
                 </if>
-                <if test="orderCol.containsKey('matterName')">
-                    a.matterName
-                    <if test='orderCol.matterName != null and "DESC".equalsIgnoreCase(orderCol.matterName)'>DESC</if>
-                    ,
-                </if>
             </trim>
         </if>
     </sql>
diff --git a/base-manager/src/main/resources/sqlmap/module/matter/MatterFlowlimitMapper.xml b/base-manager/src/main/resources/sqlmap/module/matter/MatterFlowlimitMapper.xml
index 2637ebac32e72385b2cc3b589963df8343fa7fb0..8c72f53addacce1937b40cd6be85686c7d09b9e1 100644
--- a/base-manager/src/main/resources/sqlmap/module/matter/MatterFlowlimitMapper.xml
+++ b/base-manager/src/main/resources/sqlmap/module/matter/MatterFlowlimitMapper.xml
@@ -7,6 +7,7 @@
     <resultMap type="MatterFlowlimitEntity" id="MatterFlowlimitEntity-Map">
             <id  property="id" column="id" />
             <result property="matterId" column="matterId" />
+            <result property="matterCode" column="matterCode" />
             <result property="matterName" column="matterName" />
             <result property="flowName" column="flowName" />
             <result property="flowTime" column="flowTime" />
@@ -24,55 +25,58 @@
     <sql id="_columns">
         <trim suffixOverrides="," suffix="">
                 <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('id') or colPickMode == 1 and data.containsKey('id')))">
-                    a.id as id,
+                    a.id,
                 </if>
                 <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('matterId') or colPickMode == 1 and data.containsKey('matterId')))">
-                    a.matterId as matterId,
+                    a.matterId,
+                </if>
+                <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('matterCode') or colPickMode == 1 and data.containsKey('matterCode')))">
+                    a.matterCode,
                 </if>
                 <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('matterName') or colPickMode == 1 and data.containsKey('matterName')))">
-                    a.matterName as matterName,
+                    a.matterName,
                 </if>
                 <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('flowName') or colPickMode == 1 and data.containsKey('flowName')))">
-                    a.flowName as flowName,
+                    a.flowName,
                 </if>
                 <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('flowTime') or colPickMode == 1 and data.containsKey('flowTime')))">
-                    a.flowTime as flowTime,
+                    a.flowTime,
                 </if>
                 <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('flowLimit') or colPickMode == 1 and data.containsKey('flowLimit')))">
-                    a.flowLimit as flowLimit,
+                    a.flowLimit,
                 </if>
                 <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('flowDesc') or colPickMode == 1 and data.containsKey('flowDesc')))">
-                    a.flowDesc as flowDesc,
+                    a.flowDesc,
                 </if>
                 <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('source') or colPickMode == 1 and data.containsKey('source')))">
-                    a.source as source,
+                    a.source,
                 </if>
                 <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createTime') or colPickMode == 1 and data.containsKey('createTime')))">
-                    a.createTime as createTime,
+                    a.createTime,
                 </if>
                 <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createUserId') or colPickMode == 1 and data.containsKey('createUserId')))">
-                    a.createUserId as createUserId,
+                    a.createUserId,
                 </if>
                 <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateTime') or colPickMode == 1 and data.containsKey('updateTime')))">
-                    a.updateTime as updateTime,
+                    a.updateTime,
                 </if>
         </trim>
     </sql>
     <!-- 鏂板 鍖哄垎涓婚敭鑷鍔犺繕鏄笟鍔℃彃鍏� -->
     <insert id="insert" parameterType="MatterFlowlimitEntity"  useGeneratedKeys="true" keyProperty="id">
         insert into mortals_sys_matter_flowlimit
-        (matterId,matterName,flowName,flowTime,flowLimit,flowDesc,source,createTime,createUserId,updateTime)
+        (matterId,matterCode,matterName,flowName,flowTime,flowLimit,flowDesc,source,createTime,createUserId,updateTime)
         VALUES
-        (#{matterId},#{matterName},#{flowName},#{flowTime},#{flowLimit},#{flowDesc},#{source},#{createTime},#{createUserId},#{updateTime})
+        (#{matterId},#{matterCode},#{matterName},#{flowName},#{flowTime},#{flowLimit},#{flowDesc},#{source},#{createTime},#{createUserId},#{updateTime})
     </insert>
 
     <!-- 鎵归噺鏂板 -->
     <insert id="insertBatch" parameterType="paramDto">
         insert into mortals_sys_matter_flowlimit
-        (matterId,matterName,flowName,flowTime,flowLimit,flowDesc,source,createTime,createUserId,updateTime)
+        (matterId,matterCode,matterName,flowName,flowTime,flowLimit,flowDesc,source,createTime,createUserId,updateTime)
         VALUES
         <foreach collection="data.dataList" item="item" index="index" separator="," >
-            (#{item.matterId},#{item.matterName},#{item.flowName},#{item.flowTime},#{item.flowLimit},#{item.flowDesc},#{item.source},#{item.createTime},#{item.createUserId},#{item.updateTime})
+            (#{item.matterId},#{item.matterCode},#{item.matterName},#{item.flowName},#{item.flowTime},#{item.flowLimit},#{item.flowDesc},#{item.source},#{item.createTime},#{item.createUserId},#{item.updateTime})
         </foreach>
     </insert>
 
@@ -88,6 +92,9 @@
             <if test="(colPickMode==0 and data.containsKey('matterIdIncrement')) or (colPickMode==1 and !data.containsKey('matterIdIncrement'))">
                 a.matterId=ifnull(a.matterId,0) + #{data.matterIdIncrement},
             </if>
+            <if test="(colPickMode==0 and data.containsKey('matterCode')) or (colPickMode==1 and !data.containsKey('matterCode'))">
+                a.matterCode=#{data.matterCode},
+            </if>
             <if test="(colPickMode==0 and data.containsKey('matterName')) or (colPickMode==1 and !data.containsKey('matterName'))">
                 a.matterName=#{data.matterName},
             </if>
@@ -145,6 +152,13 @@
                                 </choose>
                             </foreach>
                         </trim>
+                <trim prefix="matterCode=(case" suffix="ELSE matterCode end),">
+                    <foreach collection="data.dataList" item="item" index="index" separator="" >
+                        <if test="(colPickMode==0 and item.containsKey('matterCode')) or (colPickMode==1 and !item.containsKey('matterCode'))">
+                            when a.id=#{item.id} then #{item.matterCode}
+                        </if>
+                    </foreach>
+                </trim>
                 <trim prefix="matterName=(case" suffix="ELSE matterName end),">
                     <foreach collection="data.dataList" item="item" index="index" separator="" >
                         <if test="(colPickMode==0 and item.containsKey('matterName')) or (colPickMode==1 and !item.containsKey('matterName'))">
@@ -362,6 +376,21 @@
             </if>
 
 
+            <if test="conditionParamRef.containsKey('matterCode')">
+                <if test="conditionParamRef.matterCode != null and conditionParamRef.matterCode != ''">
+                    ${_conditionType_} a.matterCode like #{${_conditionParam_}.matterCode}
+                </if>
+                <if test="conditionParamRef.matterCode == null">
+                    ${_conditionType_} a.matterCode is null
+                </if>
+            </if>
+            <if test="conditionParamRef.containsKey('matterCodeList')">
+                ${_conditionType_} a.matterCode in
+                <foreach collection="conditionParamRef.matterCodeList" open="(" close=")" index="index" item="item" separator=",">
+                    #{item}
+                </foreach>
+            </if>
+
             <if test="conditionParamRef.containsKey('matterName')">
                 <if test="conditionParamRef.matterName != null and conditionParamRef.matterName != ''">
                     ${_conditionType_} a.matterName like #{${_conditionParam_}.matterName}
@@ -531,6 +560,11 @@
                         <if test='orderCol.matterId != null and "DESC".equalsIgnoreCase(orderCol.matterId)'>DESC</if>
                         ,
                     </if>
+                    <if test="orderCol.containsKey('matterCode')">
+                        a.matterCode
+                        <if test='orderCol.matterCode != null and "DESC".equalsIgnoreCase(orderCol.matterCode)'>DESC</if>
+                        ,
+                    </if>
                     <if test="orderCol.containsKey('matterName')">
                         a.matterName
                         <if test='orderCol.matterName != null and "DESC".equalsIgnoreCase(orderCol.matterName)'>DESC</if>
diff --git a/base-manager/src/main/resources/sqlmap/module/matter/MatterIntermediaryMapper.xml b/base-manager/src/main/resources/sqlmap/module/matter/MatterIntermediaryMapper.xml
index e6fe2ff38d5e7308dd0b7d8fb258b9fb4d393722..1b3010aec7cd549759e3dd6d2e4fe8e914a790c8 100644
--- a/base-manager/src/main/resources/sqlmap/module/matter/MatterIntermediaryMapper.xml
+++ b/base-manager/src/main/resources/sqlmap/module/matter/MatterIntermediaryMapper.xml
@@ -7,6 +7,7 @@
     <resultMap type="MatterIntermediaryEntity" id="MatterIntermediaryEntity-Map">
             <id  property="id" column="id" />
             <result property="matterId" column="matterId" />
+            <result property="matterCode" column="matterCode" />
             <result property="matterName" column="matterName" />
             <result property="title" column="title" />
             <result property="intermediaryRequest" column="intermediaryRequest" />
@@ -24,55 +25,58 @@
     <sql id="_columns">
         <trim suffixOverrides="," suffix="">
                 <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('id') or colPickMode == 1 and data.containsKey('id')))">
-                    a.id as id,
+                    a.id,
                 </if>
                 <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('matterId') or colPickMode == 1 and data.containsKey('matterId')))">
-                    a.matterId as matterId,
+                    a.matterId,
+                </if>
+                <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('matterCode') or colPickMode == 1 and data.containsKey('matterCode')))">
+                    a.matterCode,
                 </if>
                 <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('matterName') or colPickMode == 1 and data.containsKey('matterName')))">
-                    a.matterName as matterName,
+                    a.matterName,
                 </if>
                 <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('title') or colPickMode == 1 and data.containsKey('title')))">
-                    a.title as title,
+                    a.title,
                 </if>
                 <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('intermediaryRequest') or colPickMode == 1 and data.containsKey('intermediaryRequest')))">
-                    a.intermediaryRequest as intermediaryRequest,
+                    a.intermediaryRequest,
                 </if>
                 <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('intermediaryRequestTime') or colPickMode == 1 and data.containsKey('intermediaryRequestTime')))">
-                    a.intermediaryRequestTime as intermediaryRequestTime,
+                    a.intermediaryRequestTime,
                 </if>
                 <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('remark') or colPickMode == 1 and data.containsKey('remark')))">
-                    a.remark as remark,
+                    a.remark,
                 </if>
                 <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('source') or colPickMode == 1 and data.containsKey('source')))">
-                    a.source as source,
+                    a.source,
                 </if>
                 <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createTime') or colPickMode == 1 and data.containsKey('createTime')))">
-                    a.createTime as createTime,
+                    a.createTime,
                 </if>
                 <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createUserId') or colPickMode == 1 and data.containsKey('createUserId')))">
-                    a.createUserId as createUserId,
+                    a.createUserId,
                 </if>
                 <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateTime') or colPickMode == 1 and data.containsKey('updateTime')))">
-                    a.updateTime as updateTime,
+                    a.updateTime,
                 </if>
         </trim>
     </sql>
     <!-- 鏂板 鍖哄垎涓婚敭鑷鍔犺繕鏄笟鍔℃彃鍏� -->
     <insert id="insert" parameterType="MatterIntermediaryEntity"  useGeneratedKeys="true" keyProperty="id">
         insert into mortals_sys_matter_intermediary
-        (matterId,matterName,title,intermediaryRequest,intermediaryRequestTime,remark,source,createTime,createUserId,updateTime)
+        (matterId,matterCode,matterName,title,intermediaryRequest,intermediaryRequestTime,remark,source,createTime,createUserId,updateTime)
         VALUES
-        (#{matterId},#{matterName},#{title},#{intermediaryRequest},#{intermediaryRequestTime},#{remark},#{source},#{createTime},#{createUserId},#{updateTime})
+        (#{matterId},#{matterCode},#{matterName},#{title},#{intermediaryRequest},#{intermediaryRequestTime},#{remark},#{source},#{createTime},#{createUserId},#{updateTime})
     </insert>
 
     <!-- 鎵归噺鏂板 -->
     <insert id="insertBatch" parameterType="paramDto">
         insert into mortals_sys_matter_intermediary
-        (matterId,matterName,title,intermediaryRequest,intermediaryRequestTime,remark,source,createTime,createUserId,updateTime)
+        (matterId,matterCode,matterName,title,intermediaryRequest,intermediaryRequestTime,remark,source,createTime,createUserId,updateTime)
         VALUES
         <foreach collection="data.dataList" item="item" index="index" separator="," >
-            (#{item.matterId},#{item.matterName},#{item.title},#{item.intermediaryRequest},#{item.intermediaryRequestTime},#{item.remark},#{item.source},#{item.createTime},#{item.createUserId},#{item.updateTime})
+            (#{item.matterId},#{item.matterCode},#{item.matterName},#{item.title},#{item.intermediaryRequest},#{item.intermediaryRequestTime},#{item.remark},#{item.source},#{item.createTime},#{item.createUserId},#{item.updateTime})
         </foreach>
     </insert>
 
@@ -88,6 +92,9 @@
             <if test="(colPickMode==0 and data.containsKey('matterIdIncrement')) or (colPickMode==1 and !data.containsKey('matterIdIncrement'))">
                 a.matterId=ifnull(a.matterId,0) + #{data.matterIdIncrement},
             </if>
+            <if test="(colPickMode==0 and data.containsKey('matterCode')) or (colPickMode==1 and !data.containsKey('matterCode'))">
+                a.matterCode=#{data.matterCode},
+            </if>
             <if test="(colPickMode==0 and data.containsKey('matterName')) or (colPickMode==1 and !data.containsKey('matterName'))">
                 a.matterName=#{data.matterName},
             </if>
@@ -145,6 +152,13 @@
                                 </choose>
                             </foreach>
                         </trim>
+                <trim prefix="matterCode=(case" suffix="ELSE matterCode end),">
+                    <foreach collection="data.dataList" item="item" index="index" separator="" >
+                        <if test="(colPickMode==0 and item.containsKey('matterCode')) or (colPickMode==1 and !item.containsKey('matterCode'))">
+                            when a.id=#{item.id} then #{item.matterCode}
+                        </if>
+                    </foreach>
+                </trim>
                 <trim prefix="matterName=(case" suffix="ELSE matterName end),">
                     <foreach collection="data.dataList" item="item" index="index" separator="" >
                         <if test="(colPickMode==0 and item.containsKey('matterName')) or (colPickMode==1 and !item.containsKey('matterName'))">
@@ -362,6 +376,21 @@
             </if>
 
 
+            <if test="conditionParamRef.containsKey('matterCode')">
+                <if test="conditionParamRef.matterCode != null and conditionParamRef.matterCode != ''">
+                    ${_conditionType_} a.matterCode like #{${_conditionParam_}.matterCode}
+                </if>
+                <if test="conditionParamRef.matterCode == null">
+                    ${_conditionType_} a.matterCode is null
+                </if>
+            </if>
+            <if test="conditionParamRef.containsKey('matterCodeList')">
+                ${_conditionType_} a.matterCode in
+                <foreach collection="conditionParamRef.matterCodeList" open="(" close=")" index="index" item="item" separator=",">
+                    #{item}
+                </foreach>
+            </if>
+
             <if test="conditionParamRef.containsKey('matterName')">
                 <if test="conditionParamRef.matterName != null and conditionParamRef.matterName != ''">
                     ${_conditionType_} a.matterName like #{${_conditionParam_}.matterName}
@@ -531,6 +560,11 @@
                         <if test='orderCol.matterId != null and "DESC".equalsIgnoreCase(orderCol.matterId)'>DESC</if>
                         ,
                     </if>
+                    <if test="orderCol.containsKey('matterCode')">
+                        a.matterCode
+                        <if test='orderCol.matterCode != null and "DESC".equalsIgnoreCase(orderCol.matterCode)'>DESC</if>
+                        ,
+                    </if>
                     <if test="orderCol.containsKey('matterName')">
                         a.matterName
                         <if test='orderCol.matterName != null and "DESC".equalsIgnoreCase(orderCol.matterName)'>DESC</if>
diff --git a/base-manager/src/main/resources/sqlmap/module/matter/MatterMapper.xml b/base-manager/src/main/resources/sqlmap/module/matter/MatterMapper.xml
index 60ec2eab8a09c7cceb5a036d35abfe391a02113a..674b34de480a6e48ed2e31d5be1add183200caef 100644
--- a/base-manager/src/main/resources/sqlmap/module/matter/MatterMapper.xml
+++ b/base-manager/src/main/resources/sqlmap/module/matter/MatterMapper.xml
@@ -15,6 +15,7 @@
         <result property="matterNo" column="matterNo" />
         <result property="areaCode" column="areaCode" />
         <result property="deptCode" column="deptCode" />
+        <result property="deptName" column="deptName" />
         <result property="powerCode" column="powerCode" />
         <result property="themeCode" column="themeCode" />
         <result property="usertypeCode" column="usertypeCode" />
@@ -118,6 +119,9 @@
             <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('deptCode') or colPickMode == 1 and data.containsKey('deptCode')))">
                 a.deptCode,
             </if>
+            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('deptName') or colPickMode == 1 and data.containsKey('deptName')))">
+                a.deptName,
+            </if>
             <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('powerCode') or colPickMode == 1 and data.containsKey('powerCode')))">
                 a.powerCode,
             </if>
@@ -321,18 +325,18 @@
     <!-- 鏂板 鍖哄垎涓婚敭鑷鍔犺繕鏄笟鍔℃彃鍏� -->
     <insert id="insert" parameterType="MatterEntity"  useGeneratedKeys="true" keyProperty="id">
         insert into mortals_sys_matter
-        (siteId,tid,tcode,tname,matterName,englishName,matterNo,areaCode,deptCode,powerCode,themeCode,usertypeCode,groupName,url,haveGetMatterInfo,belongDept,appoveObjectShow,operatScopeShow,appoveTimeLimitShow,handleType,legalTimeLimitShow,legalEndExplain,promiseTimeLimitShow,promiseEndExplain,isChargesShow,certificationLevelsShow,planTakeTime,promiseTakeTime,specialProcedure,windowToTheSceneNum,isOnlineSubscribeShow,isExpressTakeShow,isProvinceAcquisitionShow,isApplyProvinceShow,mustSceneExplain,onlineType,onlineToTheSceneNum,onlineOperatDeep,isExpressTakeOnlineShow,isDoorTakeShow,onlineMustSceneExplain,performDeptType,matterEdition,eventTypeShow,performHierarchyShow,powerSourceShow,performDeptTypeShow,goveServiceCenterShow,isConvenientCenterShow,terminalHandle,isOnline,isOnlinePayShow,entrustmentDepartmen,jointInfoShow,matterStatus,numberLimit,type,baseCode,implementCode,implementBodyCode,operateItemCode,townshipName,townshipCode,villageName,villageCode,operateTime,operateSite,cousultingShow,cousultingTelephoneShow,superviseShow,sort,source,createTime,createUserId,updateTime)
+        (siteId,tid,tcode,tname,matterName,englishName,matterNo,areaCode,deptCode,deptName,powerCode,themeCode,usertypeCode,groupName,url,haveGetMatterInfo,belongDept,appoveObjectShow,operatScopeShow,appoveTimeLimitShow,handleType,legalTimeLimitShow,legalEndExplain,promiseTimeLimitShow,promiseEndExplain,isChargesShow,certificationLevelsShow,planTakeTime,promiseTakeTime,specialProcedure,windowToTheSceneNum,isOnlineSubscribeShow,isExpressTakeShow,isProvinceAcquisitionShow,isApplyProvinceShow,mustSceneExplain,onlineType,onlineToTheSceneNum,onlineOperatDeep,isExpressTakeOnlineShow,isDoorTakeShow,onlineMustSceneExplain,performDeptType,matterEdition,eventTypeShow,performHierarchyShow,powerSourceShow,performDeptTypeShow,goveServiceCenterShow,isConvenientCenterShow,terminalHandle,isOnline,isOnlinePayShow,entrustmentDepartmen,jointInfoShow,matterStatus,numberLimit,type,baseCode,implementCode,implementBodyCode,operateItemCode,townshipName,townshipCode,villageName,villageCode,operateTime,operateSite,cousultingShow,cousultingTelephoneShow,superviseShow,sort,source,createTime,createUserId,updateTime)
         VALUES
-        (#{siteId},#{tid},#{tcode},#{tname},#{matterName},#{englishName},#{matterNo},#{areaCode},#{deptCode},#{powerCode},#{themeCode},#{usertypeCode},#{groupName},#{url},#{haveGetMatterInfo},#{belongDept},#{appoveObjectShow},#{operatScopeShow},#{appoveTimeLimitShow},#{handleType},#{legalTimeLimitShow},#{legalEndExplain},#{promiseTimeLimitShow},#{promiseEndExplain},#{isChargesShow},#{certificationLevelsShow},#{planTakeTime},#{promiseTakeTime},#{specialProcedure},#{windowToTheSceneNum},#{isOnlineSubscribeShow},#{isExpressTakeShow},#{isProvinceAcquisitionShow},#{isApplyProvinceShow},#{mustSceneExplain},#{onlineType},#{onlineToTheSceneNum},#{onlineOperatDeep},#{isExpressTakeOnlineShow},#{isDoorTakeShow},#{onlineMustSceneExplain},#{performDeptType},#{matterEdition},#{eventTypeShow},#{performHierarchyShow},#{powerSourceShow},#{performDeptTypeShow},#{goveServiceCenterShow},#{isConvenientCenterShow},#{terminalHandle},#{isOnline},#{isOnlinePayShow},#{entrustmentDepartmen},#{jointInfoShow},#{matterStatus},#{numberLimit},#{type},#{baseCode},#{implementCode},#{implementBodyCode},#{operateItemCode},#{townshipName},#{townshipCode},#{villageName},#{villageCode},#{operateTime},#{operateSite},#{cousultingShow},#{cousultingTelephoneShow},#{superviseShow},#{sort},#{source},#{createTime},#{createUserId},#{updateTime})
+        (#{siteId},#{tid},#{tcode},#{tname},#{matterName},#{englishName},#{matterNo},#{areaCode},#{deptCode},#{deptName},#{powerCode},#{themeCode},#{usertypeCode},#{groupName},#{url},#{haveGetMatterInfo},#{belongDept},#{appoveObjectShow},#{operatScopeShow},#{appoveTimeLimitShow},#{handleType},#{legalTimeLimitShow},#{legalEndExplain},#{promiseTimeLimitShow},#{promiseEndExplain},#{isChargesShow},#{certificationLevelsShow},#{planTakeTime},#{promiseTakeTime},#{specialProcedure},#{windowToTheSceneNum},#{isOnlineSubscribeShow},#{isExpressTakeShow},#{isProvinceAcquisitionShow},#{isApplyProvinceShow},#{mustSceneExplain},#{onlineType},#{onlineToTheSceneNum},#{onlineOperatDeep},#{isExpressTakeOnlineShow},#{isDoorTakeShow},#{onlineMustSceneExplain},#{performDeptType},#{matterEdition},#{eventTypeShow},#{performHierarchyShow},#{powerSourceShow},#{performDeptTypeShow},#{goveServiceCenterShow},#{isConvenientCenterShow},#{terminalHandle},#{isOnline},#{isOnlinePayShow},#{entrustmentDepartmen},#{jointInfoShow},#{matterStatus},#{numberLimit},#{type},#{baseCode},#{implementCode},#{implementBodyCode},#{operateItemCode},#{townshipName},#{townshipCode},#{villageName},#{villageCode},#{operateTime},#{operateSite},#{cousultingShow},#{cousultingTelephoneShow},#{superviseShow},#{sort},#{source},#{createTime},#{createUserId},#{updateTime})
     </insert>
 
     <!-- 鎵归噺鏂板 -->
     <insert id="insertBatch" parameterType="paramDto">
         insert into mortals_sys_matter
-        (siteId,tid,tcode,tname,matterName,englishName,matterNo,areaCode,deptCode,powerCode,themeCode,usertypeCode,groupName,url,haveGetMatterInfo,belongDept,appoveObjectShow,operatScopeShow,appoveTimeLimitShow,handleType,legalTimeLimitShow,legalEndExplain,promiseTimeLimitShow,promiseEndExplain,isChargesShow,certificationLevelsShow,planTakeTime,promiseTakeTime,specialProcedure,windowToTheSceneNum,isOnlineSubscribeShow,isExpressTakeShow,isProvinceAcquisitionShow,isApplyProvinceShow,mustSceneExplain,onlineType,onlineToTheSceneNum,onlineOperatDeep,isExpressTakeOnlineShow,isDoorTakeShow,onlineMustSceneExplain,performDeptType,matterEdition,eventTypeShow,performHierarchyShow,powerSourceShow,performDeptTypeShow,goveServiceCenterShow,isConvenientCenterShow,terminalHandle,isOnline,isOnlinePayShow,entrustmentDepartmen,jointInfoShow,matterStatus,numberLimit,type,baseCode,implementCode,implementBodyCode,operateItemCode,townshipName,townshipCode,villageName,villageCode,operateTime,operateSite,cousultingShow,cousultingTelephoneShow,superviseShow,sort,source,createTime,createUserId,updateTime)
+        (siteId,tid,tcode,tname,matterName,englishName,matterNo,areaCode,deptCode,deptName,powerCode,themeCode,usertypeCode,groupName,url,haveGetMatterInfo,belongDept,appoveObjectShow,operatScopeShow,appoveTimeLimitShow,handleType,legalTimeLimitShow,legalEndExplain,promiseTimeLimitShow,promiseEndExplain,isChargesShow,certificationLevelsShow,planTakeTime,promiseTakeTime,specialProcedure,windowToTheSceneNum,isOnlineSubscribeShow,isExpressTakeShow,isProvinceAcquisitionShow,isApplyProvinceShow,mustSceneExplain,onlineType,onlineToTheSceneNum,onlineOperatDeep,isExpressTakeOnlineShow,isDoorTakeShow,onlineMustSceneExplain,performDeptType,matterEdition,eventTypeShow,performHierarchyShow,powerSourceShow,performDeptTypeShow,goveServiceCenterShow,isConvenientCenterShow,terminalHandle,isOnline,isOnlinePayShow,entrustmentDepartmen,jointInfoShow,matterStatus,numberLimit,type,baseCode,implementCode,implementBodyCode,operateItemCode,townshipName,townshipCode,villageName,villageCode,operateTime,operateSite,cousultingShow,cousultingTelephoneShow,superviseShow,sort,source,createTime,createUserId,updateTime)
         VALUES
         <foreach collection="data.dataList" item="item" index="index" separator="," >
-            (#{item.siteId},#{item.tid},#{item.tcode},#{item.tname},#{item.matterName},#{item.englishName},#{item.matterNo},#{item.areaCode},#{item.deptCode},#{item.powerCode},#{item.themeCode},#{item.usertypeCode},#{item.groupName},#{item.url},#{item.haveGetMatterInfo},#{item.belongDept},#{item.appoveObjectShow},#{item.operatScopeShow},#{item.appoveTimeLimitShow},#{item.handleType},#{item.legalTimeLimitShow},#{item.legalEndExplain},#{item.promiseTimeLimitShow},#{item.promiseEndExplain},#{item.isChargesShow},#{item.certificationLevelsShow},#{item.planTakeTime},#{item.promiseTakeTime},#{item.specialProcedure},#{item.windowToTheSceneNum},#{item.isOnlineSubscribeShow},#{item.isExpressTakeShow},#{item.isProvinceAcquisitionShow},#{item.isApplyProvinceShow},#{item.mustSceneExplain},#{item.onlineType},#{item.onlineToTheSceneNum},#{item.onlineOperatDeep},#{item.isExpressTakeOnlineShow},#{item.isDoorTakeShow},#{item.onlineMustSceneExplain},#{item.performDeptType},#{item.matterEdition},#{item.eventTypeShow},#{item.performHierarchyShow},#{item.powerSourceShow},#{item.performDeptTypeShow},#{item.goveServiceCenterShow},#{item.isConvenientCenterShow},#{item.terminalHandle},#{item.isOnline},#{item.isOnlinePayShow},#{item.entrustmentDepartmen},#{item.jointInfoShow},#{item.matterStatus},#{item.numberLimit},#{item.type},#{item.baseCode},#{item.implementCode},#{item.implementBodyCode},#{item.operateItemCode},#{item.townshipName},#{item.townshipCode},#{item.villageName},#{item.villageCode},#{item.operateTime},#{item.operateSite},#{item.cousultingShow},#{item.cousultingTelephoneShow},#{item.superviseShow},#{item.sort},#{item.source},#{item.createTime},#{item.createUserId},#{item.updateTime})
+            (#{item.siteId},#{item.tid},#{item.tcode},#{item.tname},#{item.matterName},#{item.englishName},#{item.matterNo},#{item.areaCode},#{item.deptCode},#{item.deptName},#{item.powerCode},#{item.themeCode},#{item.usertypeCode},#{item.groupName},#{item.url},#{item.haveGetMatterInfo},#{item.belongDept},#{item.appoveObjectShow},#{item.operatScopeShow},#{item.appoveTimeLimitShow},#{item.handleType},#{item.legalTimeLimitShow},#{item.legalEndExplain},#{item.promiseTimeLimitShow},#{item.promiseEndExplain},#{item.isChargesShow},#{item.certificationLevelsShow},#{item.planTakeTime},#{item.promiseTakeTime},#{item.specialProcedure},#{item.windowToTheSceneNum},#{item.isOnlineSubscribeShow},#{item.isExpressTakeShow},#{item.isProvinceAcquisitionShow},#{item.isApplyProvinceShow},#{item.mustSceneExplain},#{item.onlineType},#{item.onlineToTheSceneNum},#{item.onlineOperatDeep},#{item.isExpressTakeOnlineShow},#{item.isDoorTakeShow},#{item.onlineMustSceneExplain},#{item.performDeptType},#{item.matterEdition},#{item.eventTypeShow},#{item.performHierarchyShow},#{item.powerSourceShow},#{item.performDeptTypeShow},#{item.goveServiceCenterShow},#{item.isConvenientCenterShow},#{item.terminalHandle},#{item.isOnline},#{item.isOnlinePayShow},#{item.entrustmentDepartmen},#{item.jointInfoShow},#{item.matterStatus},#{item.numberLimit},#{item.type},#{item.baseCode},#{item.implementCode},#{item.implementBodyCode},#{item.operateItemCode},#{item.townshipName},#{item.townshipCode},#{item.villageName},#{item.villageCode},#{item.operateTime},#{item.operateSite},#{item.cousultingShow},#{item.cousultingTelephoneShow},#{item.superviseShow},#{item.sort},#{item.source},#{item.createTime},#{item.createUserId},#{item.updateTime})
         </foreach>
     </insert>
 
@@ -372,6 +376,9 @@
             <if test="(colPickMode==0 and data.containsKey('deptCode')) or (colPickMode==1 and !data.containsKey('deptCode'))">
                 a.deptCode=#{data.deptCode},
             </if>
+            <if test="(colPickMode==0 and data.containsKey('deptName')) or (colPickMode==1 and !data.containsKey('deptName'))">
+                a.deptName=#{data.deptName},
+            </if>
             <if test="(colPickMode==0 and data.containsKey('powerCode')) or (colPickMode==1 and !data.containsKey('powerCode'))">
                 a.powerCode=#{data.powerCode},
             </if>
@@ -668,6 +675,13 @@
                     </if>
                 </foreach>
             </trim>
+            <trim prefix="deptName=(case" suffix="ELSE deptName end),">
+                <foreach collection="data.dataList" item="item" index="index" separator="" >
+                    <if test="(colPickMode==0 and item.containsKey('deptName')) or (colPickMode==1 and !item.containsKey('deptName'))">
+                        when a.id=#{item.id} then #{item.deptName}
+                    </if>
+                </foreach>
+            </trim>
             <trim prefix="powerCode=(case" suffix="ELSE powerCode end),">
                 <foreach collection="data.dataList" item="item" index="index" separator="" >
                     <if test="(colPickMode==0 and item.containsKey('powerCode')) or (colPickMode==1 and !item.containsKey('powerCode'))">
@@ -1424,6 +1438,21 @@
             </foreach>
         </if>
 
+        <if test="conditionParamRef.containsKey('deptName')">
+            <if test="conditionParamRef.deptName != null and conditionParamRef.deptName != ''">
+                ${_conditionType_} a.deptName like #{${_conditionParam_}.deptName}
+            </if>
+            <if test="conditionParamRef.deptName == null">
+                ${_conditionType_} a.deptName is null
+            </if>
+        </if>
+        <if test="conditionParamRef.containsKey('deptNameList')">
+            ${_conditionType_} a.deptName in
+            <foreach collection="conditionParamRef.deptNameList" open="(" close=")" index="index" item="item" separator=",">
+                #{item}
+            </foreach>
+        </if>
+
         <if test="conditionParamRef.containsKey('powerCode')">
             <if test="conditionParamRef.powerCode != null and conditionParamRef.powerCode != ''">
                 ${_conditionType_} a.powerCode like #{${_conditionParam_}.powerCode}
@@ -2512,6 +2541,11 @@
                     <if test='orderCol.deptCode != null and "DESC".equalsIgnoreCase(orderCol.deptCode)'>DESC</if>
                     ,
                 </if>
+                <if test="orderCol.containsKey('deptName')">
+                    a.deptName
+                    <if test='orderCol.deptName != null and "DESC".equalsIgnoreCase(orderCol.deptName)'>DESC</if>
+                    ,
+                </if>
                 <if test="orderCol.containsKey('powerCode')">
                     a.powerCode
                     <if test='orderCol.powerCode != null and "DESC".equalsIgnoreCase(orderCol.powerCode)'>DESC</if>
diff --git a/base-manager/src/main/resources/sqlmap/module/matter/MatterQuestionMapper.xml b/base-manager/src/main/resources/sqlmap/module/matter/MatterQuestionMapper.xml
index a2dd844822a990c28435a37495615071577f754a..12db90f6aee714dccef1045363a9f6fc0edcfaa2 100644
--- a/base-manager/src/main/resources/sqlmap/module/matter/MatterQuestionMapper.xml
+++ b/base-manager/src/main/resources/sqlmap/module/matter/MatterQuestionMapper.xml
@@ -7,6 +7,7 @@
     <resultMap type="MatterQuestionEntity" id="MatterQuestionEntity-Map">
             <id  property="id" column="id" />
             <result property="matterId" column="matterId" />
+            <result property="matterCode" column="matterCode" />
             <result property="matterName" column="matterName" />
             <result property="question" column="question" />
             <result property="answer" column="answer" />
@@ -22,49 +23,52 @@
     <sql id="_columns">
         <trim suffixOverrides="," suffix="">
                 <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('id') or colPickMode == 1 and data.containsKey('id')))">
-                    a.id as id,
+                    a.id,
                 </if>
                 <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('matterId') or colPickMode == 1 and data.containsKey('matterId')))">
-                    a.matterId as matterId,
+                    a.matterId,
+                </if>
+                <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('matterCode') or colPickMode == 1 and data.containsKey('matterCode')))">
+                    a.matterCode,
                 </if>
                 <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('matterName') or colPickMode == 1 and data.containsKey('matterName')))">
-                    a.matterName as matterName,
+                    a.matterName,
                 </if>
                 <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('question') or colPickMode == 1 and data.containsKey('question')))">
-                    a.question as question,
+                    a.question,
                 </if>
                 <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('answer') or colPickMode == 1 and data.containsKey('answer')))">
-                    a.answer as answer,
+                    a.answer,
                 </if>
                 <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('source') or colPickMode == 1 and data.containsKey('source')))">
-                    a.source as source,
+                    a.source,
                 </if>
                 <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createTime') or colPickMode == 1 and data.containsKey('createTime')))">
-                    a.createTime as createTime,
+                    a.createTime,
                 </if>
                 <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createUserId') or colPickMode == 1 and data.containsKey('createUserId')))">
-                    a.createUserId as createUserId,
+                    a.createUserId,
                 </if>
                 <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateTime') or colPickMode == 1 and data.containsKey('updateTime')))">
-                    a.updateTime as updateTime,
+                    a.updateTime,
                 </if>
         </trim>
     </sql>
     <!-- 鏂板 鍖哄垎涓婚敭鑷鍔犺繕鏄笟鍔℃彃鍏� -->
     <insert id="insert" parameterType="MatterQuestionEntity"  useGeneratedKeys="true" keyProperty="id">
         insert into mortals_sys_matter_question
-        (matterId,matterName,question,answer,source,createTime,createUserId,updateTime)
+        (matterId,matterCode,matterName,question,answer,source,createTime,createUserId,updateTime)
         VALUES
-        (#{matterId},#{matterName},#{question},#{answer},#{source},#{createTime},#{createUserId},#{updateTime})
+        (#{matterId},#{matterCode},#{matterName},#{question},#{answer},#{source},#{createTime},#{createUserId},#{updateTime})
     </insert>
 
     <!-- 鎵归噺鏂板 -->
     <insert id="insertBatch" parameterType="paramDto">
         insert into mortals_sys_matter_question
-        (matterId,matterName,question,answer,source,createTime,createUserId,updateTime)
+        (matterId,matterCode,matterName,question,answer,source,createTime,createUserId,updateTime)
         VALUES
         <foreach collection="data.dataList" item="item" index="index" separator="," >
-            (#{item.matterId},#{item.matterName},#{item.question},#{item.answer},#{item.source},#{item.createTime},#{item.createUserId},#{item.updateTime})
+            (#{item.matterId},#{item.matterCode},#{item.matterName},#{item.question},#{item.answer},#{item.source},#{item.createTime},#{item.createUserId},#{item.updateTime})
         </foreach>
     </insert>
 
@@ -80,6 +84,9 @@
             <if test="(colPickMode==0 and data.containsKey('matterIdIncrement')) or (colPickMode==1 and !data.containsKey('matterIdIncrement'))">
                 a.matterId=ifnull(a.matterId,0) + #{data.matterIdIncrement},
             </if>
+            <if test="(colPickMode==0 and data.containsKey('matterCode')) or (colPickMode==1 and !data.containsKey('matterCode'))">
+                a.matterCode=#{data.matterCode},
+            </if>
             <if test="(colPickMode==0 and data.containsKey('matterName')) or (colPickMode==1 and !data.containsKey('matterName'))">
                 a.matterName=#{data.matterName},
             </if>
@@ -131,6 +138,13 @@
                                 </choose>
                             </foreach>
                         </trim>
+                <trim prefix="matterCode=(case" suffix="ELSE matterCode end),">
+                    <foreach collection="data.dataList" item="item" index="index" separator="" >
+                        <if test="(colPickMode==0 and item.containsKey('matterCode')) or (colPickMode==1 and !item.containsKey('matterCode'))">
+                            when a.id=#{item.id} then #{item.matterCode}
+                        </if>
+                    </foreach>
+                </trim>
                 <trim prefix="matterName=(case" suffix="ELSE matterName end),">
                     <foreach collection="data.dataList" item="item" index="index" separator="" >
                         <if test="(colPickMode==0 and item.containsKey('matterName')) or (colPickMode==1 and !item.containsKey('matterName'))">
@@ -334,6 +348,21 @@
             </if>
 
 
+            <if test="conditionParamRef.containsKey('matterCode')">
+                <if test="conditionParamRef.matterCode != null and conditionParamRef.matterCode != ''">
+                    ${_conditionType_} a.matterCode like #{${_conditionParam_}.matterCode}
+                </if>
+                <if test="conditionParamRef.matterCode == null">
+                    ${_conditionType_} a.matterCode is null
+                </if>
+            </if>
+            <if test="conditionParamRef.containsKey('matterCodeList')">
+                ${_conditionType_} a.matterCode in
+                <foreach collection="conditionParamRef.matterCodeList" open="(" close=")" index="index" item="item" separator=",">
+                    #{item}
+                </foreach>
+            </if>
+
             <if test="conditionParamRef.containsKey('matterName')">
                 <if test="conditionParamRef.matterName != null and conditionParamRef.matterName != ''">
                     ${_conditionType_} a.matterName like #{${_conditionParam_}.matterName}
@@ -473,6 +502,11 @@
                         <if test='orderCol.matterId != null and "DESC".equalsIgnoreCase(orderCol.matterId)'>DESC</if>
                         ,
                     </if>
+                    <if test="orderCol.containsKey('matterCode')">
+                        a.matterCode
+                        <if test='orderCol.matterCode != null and "DESC".equalsIgnoreCase(orderCol.matterCode)'>DESC</if>
+                        ,
+                    </if>
                     <if test="orderCol.containsKey('matterName')">
                         a.matterName
                         <if test='orderCol.matterName != null and "DESC".equalsIgnoreCase(orderCol.matterName)'>DESC</if>
diff --git a/base-manager/src/main/resources/sqlmap/module/matter/MatterSetbaseMapper.xml b/base-manager/src/main/resources/sqlmap/module/matter/MatterSetbaseMapper.xml
index b8df8c373886dd0f2ced0a4776d0a640cc62ee1c..19d59c6f2ce1dbbc5bbc0c70f49b6c8091b030e4 100644
--- a/base-manager/src/main/resources/sqlmap/module/matter/MatterSetbaseMapper.xml
+++ b/base-manager/src/main/resources/sqlmap/module/matter/MatterSetbaseMapper.xml
@@ -7,6 +7,7 @@
     <resultMap type="MatterSetbaseEntity" id="MatterSetbaseEntity-Map">
             <id  property="id" column="id" />
             <result property="matterId" column="matterId" />
+            <result property="matterCode" column="matterCode" />
             <result property="matterName" column="matterName" />
             <result property="policyName" column="policyName" />
             <result property="policyType" column="policyType" />
@@ -24,55 +25,58 @@
     <sql id="_columns">
         <trim suffixOverrides="," suffix="">
                 <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('id') or colPickMode == 1 and data.containsKey('id')))">
-                    a.id as id,
+                    a.id,
                 </if>
                 <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('matterId') or colPickMode == 1 and data.containsKey('matterId')))">
-                    a.matterId as matterId,
+                    a.matterId,
+                </if>
+                <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('matterCode') or colPickMode == 1 and data.containsKey('matterCode')))">
+                    a.matterCode,
                 </if>
                 <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('matterName') or colPickMode == 1 and data.containsKey('matterName')))">
-                    a.matterName as matterName,
+                    a.matterName,
                 </if>
                 <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('policyName') or colPickMode == 1 and data.containsKey('policyName')))">
-                    a.policyName as policyName,
+                    a.policyName,
                 </if>
                 <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('policyType') or colPickMode == 1 and data.containsKey('policyType')))">
-                    a.policyType as policyType,
+                    a.policyType,
                 </if>
                 <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('policyitem') or colPickMode == 1 and data.containsKey('policyitem')))">
-                    a.policyitem as policyitem,
+                    a.policyitem,
                 </if>
                 <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('content') or colPickMode == 1 and data.containsKey('content')))">
-                    a.content as content,
+                    a.content,
                 </if>
                 <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('source') or colPickMode == 1 and data.containsKey('source')))">
-                    a.source as source,
+                    a.source,
                 </if>
                 <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createTime') or colPickMode == 1 and data.containsKey('createTime')))">
-                    a.createTime as createTime,
+                    a.createTime,
                 </if>
                 <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createUserId') or colPickMode == 1 and data.containsKey('createUserId')))">
-                    a.createUserId as createUserId,
+                    a.createUserId,
                 </if>
                 <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateTime') or colPickMode == 1 and data.containsKey('updateTime')))">
-                    a.updateTime as updateTime,
+                    a.updateTime,
                 </if>
         </trim>
     </sql>
     <!-- 鏂板 鍖哄垎涓婚敭鑷鍔犺繕鏄笟鍔℃彃鍏� -->
     <insert id="insert" parameterType="MatterSetbaseEntity"  useGeneratedKeys="true" keyProperty="id">
         insert into mortals_sys_matter_setbase
-        (matterId,matterName,policyName,policyType,policyitem,content,source,createTime,createUserId,updateTime)
+        (matterId,matterCode,matterName,policyName,policyType,policyitem,content,source,createTime,createUserId,updateTime)
         VALUES
-        (#{matterId},#{matterName},#{policyName},#{policyType},#{policyitem},#{content},#{source},#{createTime},#{createUserId},#{updateTime})
+        (#{matterId},#{matterCode},#{matterName},#{policyName},#{policyType},#{policyitem},#{content},#{source},#{createTime},#{createUserId},#{updateTime})
     </insert>
 
     <!-- 鎵归噺鏂板 -->
     <insert id="insertBatch" parameterType="paramDto">
         insert into mortals_sys_matter_setbase
-        (matterId,matterName,policyName,policyType,policyitem,content,source,createTime,createUserId,updateTime)
+        (matterId,matterCode,matterName,policyName,policyType,policyitem,content,source,createTime,createUserId,updateTime)
         VALUES
         <foreach collection="data.dataList" item="item" index="index" separator="," >
-            (#{item.matterId},#{item.matterName},#{item.policyName},#{item.policyType},#{item.policyitem},#{item.content},#{item.source},#{item.createTime},#{item.createUserId},#{item.updateTime})
+            (#{item.matterId},#{item.matterCode},#{item.matterName},#{item.policyName},#{item.policyType},#{item.policyitem},#{item.content},#{item.source},#{item.createTime},#{item.createUserId},#{item.updateTime})
         </foreach>
     </insert>
 
@@ -88,6 +92,9 @@
             <if test="(colPickMode==0 and data.containsKey('matterIdIncrement')) or (colPickMode==1 and !data.containsKey('matterIdIncrement'))">
                 a.matterId=ifnull(a.matterId,0) + #{data.matterIdIncrement},
             </if>
+            <if test="(colPickMode==0 and data.containsKey('matterCode')) or (colPickMode==1 and !data.containsKey('matterCode'))">
+                a.matterCode=#{data.matterCode},
+            </if>
             <if test="(colPickMode==0 and data.containsKey('matterName')) or (colPickMode==1 and !data.containsKey('matterName'))">
                 a.matterName=#{data.matterName},
             </if>
@@ -145,6 +152,13 @@
                                 </choose>
                             </foreach>
                         </trim>
+                <trim prefix="matterCode=(case" suffix="ELSE matterCode end),">
+                    <foreach collection="data.dataList" item="item" index="index" separator="" >
+                        <if test="(colPickMode==0 and item.containsKey('matterCode')) or (colPickMode==1 and !item.containsKey('matterCode'))">
+                            when a.id=#{item.id} then #{item.matterCode}
+                        </if>
+                    </foreach>
+                </trim>
                 <trim prefix="matterName=(case" suffix="ELSE matterName end),">
                     <foreach collection="data.dataList" item="item" index="index" separator="" >
                         <if test="(colPickMode==0 and item.containsKey('matterName')) or (colPickMode==1 and !item.containsKey('matterName'))">
@@ -362,6 +376,21 @@
             </if>
 
 
+            <if test="conditionParamRef.containsKey('matterCode')">
+                <if test="conditionParamRef.matterCode != null and conditionParamRef.matterCode != ''">
+                    ${_conditionType_} a.matterCode like #{${_conditionParam_}.matterCode}
+                </if>
+                <if test="conditionParamRef.matterCode == null">
+                    ${_conditionType_} a.matterCode is null
+                </if>
+            </if>
+            <if test="conditionParamRef.containsKey('matterCodeList')">
+                ${_conditionType_} a.matterCode in
+                <foreach collection="conditionParamRef.matterCodeList" open="(" close=")" index="index" item="item" separator=",">
+                    #{item}
+                </foreach>
+            </if>
+
             <if test="conditionParamRef.containsKey('matterName')">
                 <if test="conditionParamRef.matterName != null and conditionParamRef.matterName != ''">
                     ${_conditionType_} a.matterName like #{${_conditionParam_}.matterName}
@@ -531,6 +560,11 @@
                         <if test='orderCol.matterId != null and "DESC".equalsIgnoreCase(orderCol.matterId)'>DESC</if>
                         ,
                     </if>
+                    <if test="orderCol.containsKey('matterCode')">
+                        a.matterCode
+                        <if test='orderCol.matterCode != null and "DESC".equalsIgnoreCase(orderCol.matterCode)'>DESC</if>
+                        ,
+                    </if>
                     <if test="orderCol.containsKey('matterName')">
                         a.matterName
                         <if test='orderCol.matterName != null and "DESC".equalsIgnoreCase(orderCol.matterName)'>DESC</if>
diff --git a/base-manager/src/main/resources/sqlmap/module/site/SiteMatterMapper.xml b/base-manager/src/main/resources/sqlmap/module/site/SiteMatterMapper.xml
index 7a8cf4f69aa798b2a6f31aa69e0e17e82cbdd9ff..9ca6d03838357959860bcc5759797e2a59d9e84a 100644
--- a/base-manager/src/main/resources/sqlmap/module/site/SiteMatterMapper.xml
+++ b/base-manager/src/main/resources/sqlmap/module/site/SiteMatterMapper.xml
@@ -10,11 +10,14 @@
         <result property="siteName" column="siteName" />
         <result property="matterId" column="matterId" />
         <result property="matterName" column="matterName" />
+        <result property="matterCode" column="matterCode" />
+        <result property="deptId" column="deptId" />
+        <result property="deptName" column="deptName" />
+        <result property="source" column="source" />
+        <result property="deptCode" column="deptCode" />
         <result property="createTime" column="createTime" />
         <result property="createUserId" column="createUserId" />
         <result property="updateTime" column="updateTime" />
-        <result property="deptId" column="deptId" />
-        <result property="deptName" column="deptName" />
 
     </resultMap>
 
@@ -23,52 +26,61 @@
     <sql id="_columns">
         <trim suffixOverrides="," suffix="">
             <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('id') or colPickMode == 1 and data.containsKey('id')))">
-                a.id as id,
+                a.id,
             </if>
             <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('siteId') or colPickMode == 1 and data.containsKey('siteId')))">
-                a.siteId as siteId,
+                a.siteId,
             </if>
             <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('siteName') or colPickMode == 1 and data.containsKey('siteName')))">
-                a.siteName as siteName,
+                a.siteName,
             </if>
             <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('matterId') or colPickMode == 1 and data.containsKey('matterId')))">
-                a.matterId as matterId,
+                a.matterId,
             </if>
             <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('matterName') or colPickMode == 1 and data.containsKey('matterName')))">
-                a.matterName as matterName,
+                a.matterName,
+            </if>
+            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('matterCode') or colPickMode == 1 and data.containsKey('matterCode')))">
+                a.matterCode,
+            </if>
+            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('deptId') or colPickMode == 1 and data.containsKey('deptId')))">
+                a.deptId,
+            </if>
+            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('deptName') or colPickMode == 1 and data.containsKey('deptName')))">
+                a.deptName,
+            </if>
+            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('source') or colPickMode == 1 and data.containsKey('source')))">
+                a.source,
+            </if>
+            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('deptCode') or colPickMode == 1 and data.containsKey('deptCode')))">
+                a.deptCode,
             </if>
             <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createTime') or colPickMode == 1 and data.containsKey('createTime')))">
-                a.createTime as createTime,
+                a.createTime,
             </if>
             <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createUserId') or colPickMode == 1 and data.containsKey('createUserId')))">
-                a.createUserId as createUserId,
+                a.createUserId,
             </if>
             <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateTime') or colPickMode == 1 and data.containsKey('updateTime')))">
-                a.updateTime as updateTime,
-            </if>
-            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('deptId') or colPickMode == 1 and data.containsKey('deptId')))">
-                a.deptId as deptId,
-            </if>
-            <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('deptName') or colPickMode == 1 and data.containsKey('deptName')))">
-                a.deptName as deptName,
+                a.updateTime,
             </if>
         </trim>
     </sql>
     <!-- 鏂板 鍖哄垎涓婚敭鑷鍔犺繕鏄笟鍔℃彃鍏� -->
     <insert id="insert" parameterType="SiteMatterEntity"  useGeneratedKeys="true" keyProperty="id">
         insert into mortals_sys_site_matter
-        (siteId,siteName,matterId,matterName,createTime,createUserId,updateTime,deptId,deptName)
+        (siteId,siteName,matterId,matterName,matterCode,deptId,deptName,source,deptCode,createTime,createUserId,updateTime)
         VALUES
-        (#{siteId},#{siteName},#{matterId},#{matterName},#{createTime},#{createUserId},#{updateTime},#{deptId},#{deptName})
+        (#{siteId},#{siteName},#{matterId},#{matterName},#{matterCode},#{deptId},#{deptName},#{source},#{deptCode},#{createTime},#{createUserId},#{updateTime})
     </insert>
 
     <!-- 鎵归噺鏂板 -->
     <insert id="insertBatch" parameterType="paramDto">
         insert into mortals_sys_site_matter
-        (siteId,siteName,matterId,matterName,createTime,createUserId,updateTime,deptId,deptName)
+        (siteId,siteName,matterId,matterName,matterCode,deptId,deptName,source,deptCode,createTime,createUserId,updateTime)
         VALUES
         <foreach collection="data.dataList" item="item" index="index" separator="," >
-            (#{item.siteId},#{item.siteName},#{item.matterId},#{item.matterName},#{item.createTime},#{item.createUserId},#{item.updateTime},#{item.deptId},#{item.deptName})
+            (#{item.siteId},#{item.siteName},#{item.matterId},#{item.matterName},#{item.matterCode},#{item.deptId},#{item.deptName},#{item.source},#{item.deptCode},#{item.createTime},#{item.createUserId},#{item.updateTime})
         </foreach>
     </insert>
 
@@ -96,6 +108,27 @@
             <if test="(colPickMode==0 and data.containsKey('matterName')) or (colPickMode==1 and !data.containsKey('matterName'))">
                 a.matterName=#{data.matterName},
             </if>
+            <if test="(colPickMode==0 and data.containsKey('matterCode')) or (colPickMode==1 and !data.containsKey('matterCode'))">
+                a.matterCode=#{data.matterCode},
+            </if>
+            <if test="(colPickMode==0 and data.containsKey('deptId')) or (colPickMode==1 and !data.containsKey('deptId'))">
+                a.deptId=#{data.deptId},
+            </if>
+            <if test="(colPickMode==0 and data.containsKey('deptIdIncrement')) or (colPickMode==1 and !data.containsKey('deptIdIncrement'))">
+                a.deptId=ifnull(a.deptId,0) + #{data.deptIdIncrement},
+            </if>
+            <if test="(colPickMode==0 and data.containsKey('deptName')) or (colPickMode==1 and !data.containsKey('deptName'))">
+                a.deptName=#{data.deptName},
+            </if>
+            <if test="(colPickMode==0 and data.containsKey('source')) or (colPickMode==1 and !data.containsKey('source'))">
+                a.source=#{data.source},
+            </if>
+            <if test="(colPickMode==0 and data.containsKey('sourceIncrement')) or (colPickMode==1 and !data.containsKey('sourceIncrement'))">
+                a.source=ifnull(a.source,0) + #{data.sourceIncrement},
+            </if>
+            <if test="(colPickMode==0 and data.containsKey('deptCode')) or (colPickMode==1 and !data.containsKey('deptCode'))">
+                a.deptCode=#{data.deptCode},
+            </if>
             <if test="(colPickMode==0 and data.containsKey('createTime')) or (colPickMode==1 and !data.containsKey('createTime'))">
                 a.createTime=#{data.createTime},
             </if>
@@ -108,15 +141,6 @@
             <if test="(colPickMode==0 and data.containsKey('updateTime')) or (colPickMode==1 and !data.containsKey('updateTime'))">
                 a.updateTime=#{data.updateTime},
             </if>
-            <if test="(colPickMode==0 and data.containsKey('deptId')) or (colPickMode==1 and !data.containsKey('deptId'))">
-                a.deptId=#{data.deptId},
-            </if>
-            <if test="(colPickMode==0 and data.containsKey('deptIdIncrement')) or (colPickMode==1 and !data.containsKey('deptIdIncrement'))">
-                a.deptId=ifnull(a.deptId,0) + #{data.deptIdIncrement},
-            </if>
-            <if test="(colPickMode==0 and data.containsKey('deptName')) or (colPickMode==1 and !data.containsKey('deptName'))">
-                a.deptName=#{data.deptName},
-            </if>
         </trim>
         <trim suffixOverrides="where" suffix="">
             where
@@ -167,48 +191,74 @@
                     </if>
                 </foreach>
             </trim>
-            <trim prefix="createTime=(case" suffix="ELSE createTime end),">
+            <trim prefix="matterCode=(case" suffix="ELSE matterCode end),">
                 <foreach collection="data.dataList" item="item" index="index" separator="" >
-                    <if test="(colPickMode==0 and item.containsKey('createTime')) or (colPickMode==1 and !item.containsKey('createTime'))">
-                        when a.id=#{item.id} then #{item.createTime}
+                    <if test="(colPickMode==0 and item.containsKey('matterCode')) or (colPickMode==1 and !item.containsKey('matterCode'))">
+                        when a.id=#{item.id} then #{item.matterCode}
                     </if>
                 </foreach>
             </trim>
-            <trim prefix="createUserId=(case" suffix="ELSE createUserId end),">
+            <trim prefix="deptId=(case" suffix="ELSE deptId end),">
                 <foreach collection="data.dataList" item="item" index="index" separator="" >
                     <choose>
-                        <when test="(colPickMode==0 and item.containsKey('createUserId')) or (colPickMode==1 and !item.containsKey('createUserId'))">
-                            when a.id=#{item.id} then #{item.createUserId}
+                        <when test="(colPickMode==0 and item.containsKey('deptId')) or (colPickMode==1 and !item.containsKey('deptId'))">
+                            when a.id=#{item.id} then #{item.deptId}
                         </when>
-                        <when test="(colPickMode==0 and item.containsKey('createUserIdIncrement')) or (colPickMode==1 and !item.containsKey('createUserIdIncrement'))">
-                            when a.id=#{item.id} then ifnull(a.createUserId,0) + #{item.createUserIdIncrement}
+                        <when test="(colPickMode==0 and item.containsKey('deptIdIncrement')) or (colPickMode==1 and !item.containsKey('deptIdIncrement'))">
+                            when a.id=#{item.id} then ifnull(a.deptId,0) + #{item.deptIdIncrement}
                         </when>
                     </choose>
                 </foreach>
             </trim>
-            <trim prefix="updateTime=(case" suffix="ELSE updateTime end),">
+            <trim prefix="deptName=(case" suffix="ELSE deptName end),">
                 <foreach collection="data.dataList" item="item" index="index" separator="" >
-                    <if test="(colPickMode==0 and item.containsKey('updateTime')) or (colPickMode==1 and !item.containsKey('updateTime'))">
-                        when a.id=#{item.id} then #{item.updateTime}
+                    <if test="(colPickMode==0 and item.containsKey('deptName')) or (colPickMode==1 and !item.containsKey('deptName'))">
+                        when a.id=#{item.id} then #{item.deptName}
                     </if>
                 </foreach>
             </trim>
-            <trim prefix="deptId=(case" suffix="ELSE deptId end),">
+            <trim prefix="source=(case" suffix="ELSE source end),">
                 <foreach collection="data.dataList" item="item" index="index" separator="" >
                     <choose>
-                        <when test="(colPickMode==0 and item.containsKey('deptId')) or (colPickMode==1 and !item.containsKey('deptId'))">
-                            when a.id=#{item.id} then #{item.deptId}
+                        <when test="(colPickMode==0 and item.containsKey('source')) or (colPickMode==1 and !item.containsKey('source'))">
+                            when a.id=#{item.id} then #{item.source}
                         </when>
-                        <when test="(colPickMode==0 and item.containsKey('deptIdIncrement')) or (colPickMode==1 and !item.containsKey('deptIdIncrement'))">
-                            when a.id=#{item.id} then ifnull(a.deptId,0) + #{item.deptIdIncrement}
+                        <when test="(colPickMode==0 and item.containsKey('sourceIncrement')) or (colPickMode==1 and !item.containsKey('sourceIncrement'))">
+                            when a.id=#{item.id} then ifnull(a.source,0) + #{item.sourceIncrement}
                         </when>
                     </choose>
                 </foreach>
             </trim>
-            <trim prefix="deptName=(case" suffix="ELSE deptName end),">
+            <trim prefix="deptCode=(case" suffix="ELSE deptCode end),">
                 <foreach collection="data.dataList" item="item" index="index" separator="" >
-                    <if test="(colPickMode==0 and item.containsKey('deptName')) or (colPickMode==1 and !item.containsKey('deptName'))">
-                        when a.id=#{item.id} then #{item.deptName}
+                    <if test="(colPickMode==0 and item.containsKey('deptCode')) or (colPickMode==1 and !item.containsKey('deptCode'))">
+                        when a.id=#{item.id} then #{item.deptCode}
+                    </if>
+                </foreach>
+            </trim>
+            <trim prefix="createTime=(case" suffix="ELSE createTime end),">
+                <foreach collection="data.dataList" item="item" index="index" separator="" >
+                    <if test="(colPickMode==0 and item.containsKey('createTime')) or (colPickMode==1 and !item.containsKey('createTime'))">
+                        when a.id=#{item.id} then #{item.createTime}
+                    </if>
+                </foreach>
+            </trim>
+            <trim prefix="createUserId=(case" suffix="ELSE createUserId end),">
+                <foreach collection="data.dataList" item="item" index="index" separator="" >
+                    <choose>
+                        <when test="(colPickMode==0 and item.containsKey('createUserId')) or (colPickMode==1 and !item.containsKey('createUserId'))">
+                            when a.id=#{item.id} then #{item.createUserId}
+                        </when>
+                        <when test="(colPickMode==0 and item.containsKey('createUserIdIncrement')) or (colPickMode==1 and !item.containsKey('createUserIdIncrement'))">
+                            when a.id=#{item.id} then ifnull(a.createUserId,0) + #{item.createUserIdIncrement}
+                        </when>
+                    </choose>
+                </foreach>
+            </trim>
+            <trim prefix="updateTime=(case" suffix="ELSE updateTime end),">
+                <foreach collection="data.dataList" item="item" index="index" separator="" >
+                    <if test="(colPickMode==0 and item.containsKey('updateTime')) or (colPickMode==1 and !item.containsKey('updateTime'))">
+                        when a.id=#{item.id} then #{item.updateTime}
                     </if>
                 </foreach>
             </trim>
@@ -407,6 +457,93 @@
             </foreach>
         </if>
 
+        <if test="conditionParamRef.containsKey('matterCode')">
+            <if test="conditionParamRef.matterCode != null and conditionParamRef.matterCode != ''">
+                ${_conditionType_} a.matterCode like #{${_conditionParam_}.matterCode}
+            </if>
+            <if test="conditionParamRef.matterCode == null">
+                ${_conditionType_} a.matterCode is null
+            </if>
+        </if>
+        <if test="conditionParamRef.containsKey('matterCodeList')">
+            ${_conditionType_} a.matterCode in
+            <foreach collection="conditionParamRef.matterCodeList" open="(" close=")" index="index" item="item" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        <if test="conditionParamRef.containsKey('deptId')">
+            <if test="conditionParamRef.deptId != null ">
+                ${_conditionType_} a.deptId = #{${_conditionParam_}.deptId}
+            </if>
+            <if test="conditionParamRef.deptId == null">
+                ${_conditionType_} a.deptId is null
+            </if>
+        </if>
+        <if test="conditionParamRef.containsKey('deptIdList')">
+            ${_conditionType_} a.deptId in
+            <foreach collection="conditionParamRef.deptIdList" open="(" close=")" index="index" item="item" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        <if test="conditionParamRef.containsKey('deptIdStart') and conditionParamRef.deptIdStart != null">
+            ${_conditionType_} a.deptId <![CDATA[ >= ]]> #{${_conditionParam_}.deptIdStart}
+        </if>
+        <if test="conditionParamRef.containsKey('deptIdEnd') and conditionParamRef.deptIdEnd != null">
+            ${_conditionType_} a.deptId <![CDATA[ <= ]]> #{${_conditionParam_}.deptIdEnd}
+        </if>
+
+
+        <if test="conditionParamRef.containsKey('deptName')">
+            <if test="conditionParamRef.deptName != null and conditionParamRef.deptName != ''">
+                ${_conditionType_} a.deptName like #{${_conditionParam_}.deptName}
+            </if>
+            <if test="conditionParamRef.deptName == null">
+                ${_conditionType_} a.deptName is null
+            </if>
+        </if>
+        <if test="conditionParamRef.containsKey('deptNameList')">
+            ${_conditionType_} a.deptName in
+            <foreach collection="conditionParamRef.deptNameList" open="(" close=")" index="index" item="item" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        <if test="conditionParamRef.containsKey('source')">
+            <if test="conditionParamRef.source != null ">
+                ${_conditionType_} a.source = #{${_conditionParam_}.source}
+            </if>
+            <if test="conditionParamRef.source == null">
+                ${_conditionType_} a.source is null
+            </if>
+        </if>
+        <if test="conditionParamRef.containsKey('sourceList')">
+            ${_conditionType_} a.source in
+            <foreach collection="conditionParamRef.sourceList" open="(" close=")" index="index" item="item" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        <if test="conditionParamRef.containsKey('sourceStart') and conditionParamRef.sourceStart != null">
+            ${_conditionType_} a.source <![CDATA[ >= ]]> #{${_conditionParam_}.sourceStart}
+        </if>
+        <if test="conditionParamRef.containsKey('sourceEnd') and conditionParamRef.sourceEnd != null">
+            ${_conditionType_} a.source <![CDATA[ <= ]]> #{${_conditionParam_}.sourceEnd}
+        </if>
+
+
+        <if test="conditionParamRef.containsKey('deptCode')">
+            <if test="conditionParamRef.deptCode != null and conditionParamRef.deptCode != ''">
+                ${_conditionType_} a.deptCode like #{${_conditionParam_}.deptCode}
+            </if>
+            <if test="conditionParamRef.deptCode == null">
+                ${_conditionType_} a.deptCode is null
+            </if>
+        </if>
+        <if test="conditionParamRef.containsKey('deptCodeList')">
+            ${_conditionType_} a.deptCode in
+            <foreach collection="conditionParamRef.deptCodeList" open="(" close=")" index="index" item="item" separator=",">
+                #{item}
+            </foreach>
+        </if>
+
         <if test="conditionParamRef.containsKey('createTime')">
             <if test="conditionParamRef.createTime != null ">
                 ${_conditionType_} a.createTime = #{${_conditionParam_}.createTime}
@@ -457,42 +594,6 @@
         <if test="conditionParamRef.containsKey('updateTimeEnd') and conditionParamRef.updateTimeEnd != null and conditionParamRef.updateTimeEnd!=''">
             ${_conditionType_} a.updateTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
         </if>
-        <if test="conditionParamRef.containsKey('deptId')">
-            <if test="conditionParamRef.deptId != null ">
-                ${_conditionType_} a.deptId = #{${_conditionParam_}.deptId}
-            </if>
-            <if test="conditionParamRef.deptId == null">
-                ${_conditionType_} a.deptId is null
-            </if>
-        </if>
-        <if test="conditionParamRef.containsKey('deptIdList')">
-            ${_conditionType_} a.deptId in
-            <foreach collection="conditionParamRef.deptIdList" open="(" close=")" index="index" item="item" separator=",">
-                #{item}
-            </foreach>
-        </if>
-        <if test="conditionParamRef.containsKey('deptIdStart') and conditionParamRef.deptIdStart != null">
-            ${_conditionType_} a.deptId <![CDATA[ >= ]]> #{${_conditionParam_}.deptIdStart}
-        </if>
-        <if test="conditionParamRef.containsKey('deptIdEnd') and conditionParamRef.deptIdEnd != null">
-            ${_conditionType_} a.deptId <![CDATA[ <= ]]> #{${_conditionParam_}.deptIdEnd}
-        </if>
-
-
-        <if test="conditionParamRef.containsKey('deptName')">
-            <if test="conditionParamRef.deptName != null and conditionParamRef.deptName != ''">
-                ${_conditionType_} a.deptName like #{${_conditionParam_}.deptName}
-            </if>
-            <if test="conditionParamRef.deptName == null">
-                ${_conditionType_} a.deptName is null
-            </if>
-        </if>
-        <if test="conditionParamRef.containsKey('deptNameList')">
-            ${_conditionType_} a.deptName in
-            <foreach collection="conditionParamRef.deptNameList" open="(" close=")" index="index" item="item" separator=",">
-                #{item}
-            </foreach>
-        </if>
     </sql>
     <sql id="_orderCols_">
         <if test="orderColList != null and !orderColList.isEmpty()">
@@ -531,6 +632,31 @@
                     <if test='orderCol.matterName != null and "DESC".equalsIgnoreCase(orderCol.matterName)'>DESC</if>
                     ,
                 </if>
+                <if test="orderCol.containsKey('matterCode')">
+                    a.matterCode
+                    <if test='orderCol.matterCode != null and "DESC".equalsIgnoreCase(orderCol.matterCode)'>DESC</if>
+                    ,
+                </if>
+                <if test="orderCol.containsKey('deptId')">
+                    a.deptId
+                    <if test='orderCol.deptId != null and "DESC".equalsIgnoreCase(orderCol.deptId)'>DESC</if>
+                    ,
+                </if>
+                <if test="orderCol.containsKey('deptName')">
+                    a.deptName
+                    <if test='orderCol.deptName != null and "DESC".equalsIgnoreCase(orderCol.deptName)'>DESC</if>
+                    ,
+                </if>
+                <if test="orderCol.containsKey('source')">
+                    a.source
+                    <if test='orderCol.source != null and "DESC".equalsIgnoreCase(orderCol.source)'>DESC</if>
+                    ,
+                </if>
+                <if test="orderCol.containsKey('deptCode')">
+                    a.deptCode
+                    <if test='orderCol.deptCode != null and "DESC".equalsIgnoreCase(orderCol.deptCode)'>DESC</if>
+                    ,
+                </if>
                 <if test="orderCol.containsKey('createTime')">
                     a.createTime
                     <if test='orderCol.createTime != null and "DESC".equalsIgnoreCase(orderCol.createTime)'>DESC</if>
@@ -546,16 +672,6 @@
                     <if test='orderCol.updateTime != null and "DESC".equalsIgnoreCase(orderCol.updateTime)'>DESC</if>
                     ,
                 </if>
-                <if test="orderCol.containsKey('deptId')">
-                    a.deptId
-                    <if test='orderCol.deptId != null and "DESC".equalsIgnoreCase(orderCol.deptId)'>DESC</if>
-                    ,
-                </if>
-                <if test="orderCol.containsKey('deptName')">
-                    a.deptName
-                    <if test='orderCol.deptName != null and "DESC".equalsIgnoreCase(orderCol.deptName)'>DESC</if>
-                    ,
-                </if>
             </trim>
         </if>
     </sql>
diff --git a/base-manager/src/test/java/com/mortals/httpclient/http-client.env.json b/base-manager/src/test/java/com/mortals/httpclient/http-client.env.json
index f5b9554942e3a1b0a64912afea9848425beb47bf..ff7f03274a24d3d6861733e842f813cb034bcf1c 100644
--- a/base-manager/src/test/java/com/mortals/httpclient/http-client.env.json
+++ b/base-manager/src/test/java/com/mortals/httpclient/http-client.env.json
@@ -1,6 +1,6 @@
 {
   "base-local": {
-    "baseUrl": "http://127.0.0.1:17214/base"
+    "baseUrl": "http://127.0.0.1:17211/base"
   },
   "base-dev": {
     "baseUrl": "http://192.168.0.60:17211/base"
diff --git a/base-manager/src/test/java/com/mortals/httpclient/site/SiteController.http b/base-manager/src/test/java/com/mortals/httpclient/site/SiteController.http
index aabaf79cb97533e74a75da8930000089739ef251..644f9de7653c169f70513932df4a3b348de8b084 100644
--- a/base-manager/src/test/java/com/mortals/httpclient/site/SiteController.http
+++ b/base-manager/src/test/java/com/mortals/httpclient/site/SiteController.http
@@ -86,7 +86,7 @@ Authorization: {{authToken}}
 Content-Type: application/json
 
 {
-  "id":3
+  "id":7
 }
 
 
diff --git a/base-manager/src/test/java/com/mortals/httpclient/system/system.http b/base-manager/src/test/java/com/mortals/httpclient/system/system.http
index 85dedd33eebb36cd640d13434bd6c335225aad33..fa284f7bb02ece8af1744c0b21aee8aa34ede3b9 100644
--- a/base-manager/src/test/java/com/mortals/httpclient/system/system.http
+++ b/base-manager/src/test/java/com/mortals/httpclient/system/system.http
@@ -5,7 +5,7 @@ Content-Type: application/json
 
 {
   "loginName":"admin",
-  "password":"admin",
+  "password":"adsmile",
   "securityCode":"8888"
 }
 
diff --git a/portal-manager/pom.xml b/portal-manager/pom.xml
index 040e01a7fa260071df02ae8fb7adba9efd6bdb1a..1b8b9318e6781359f2028f346df22383f10ff5a2 100644
--- a/portal-manager/pom.xml
+++ b/portal-manager/pom.xml
@@ -24,12 +24,12 @@
 				<profiles.active>develop</profiles.active>
 				<profiles.server.port>17212</profiles.server.port>
 				<profiles.queue.type>rabbitmq</profiles.queue.type>
-				<profiles.rabbitmq.host>192.168.0.218</profiles.rabbitmq.host>
+				<profiles.rabbitmq.host>127.0.0.1</profiles.rabbitmq.host>
 				<profiles.rabbitmq.port>5672</profiles.rabbitmq.port>
 				<profiles.rabbitmq.username>root_mq</profiles.rabbitmq.username>
 				<profiles.rabbitmq.password>xhx@2022</profiles.rabbitmq.password>
 				<profiles.rabbitmq.virtualhost>/</profiles.rabbitmq.virtualhost>
-				<profiles.nacos.server-addr>192.168.0.218:8848</profiles.nacos.server-addr>
+				<profiles.nacos.server-addr>127.0.0.1:8848</profiles.nacos.server-addr>
 				<profiles.nacos.group>DEFAULT_GROUP</profiles.nacos.group>
 				<profiles.nacos.namespace>smart-gov</profiles.nacos.namespace>
 				<profiles.log.level>INFO</profiles.log.level>
diff --git a/portal-manager/src/main/java/com/mortals/xhx/module/user/service/UserService.java b/portal-manager/src/main/java/com/mortals/xhx/module/user/service/UserService.java
index 272921f44e7423742f7b83512b945e03c85d1dfa..4fd95acae6f58a073ded384554f878f135248df6 100644
--- a/portal-manager/src/main/java/com/mortals/xhx/module/user/service/UserService.java
+++ b/portal-manager/src/main/java/com/mortals/xhx/module/user/service/UserService.java
@@ -74,4 +74,14 @@ public interface UserService extends ICRUDService<UserEntity,Long>{
      */
     void synchSitesAuth() throws AppException;
 
+    /**
+     * 閲嶇疆瀵嗙爜
+     *
+     * @param loginName
+     * @param newPwd
+     * @return
+     * @throws AppException
+     */
+    boolean resetUserPwd(String loginName, String newPwd , Context context) throws AppException;
+
 }
\ No newline at end of file
diff --git a/portal-manager/src/main/java/com/mortals/xhx/module/user/service/impl/UserServiceImpl.java b/portal-manager/src/main/java/com/mortals/xhx/module/user/service/impl/UserServiceImpl.java
index cadc010fa7d9722b43295c2663cb3e768dc52e5c..7bbe16c0a43316fe6cb0015893dbc9e01ee878e3 100644
--- a/portal-manager/src/main/java/com/mortals/xhx/module/user/service/impl/UserServiceImpl.java
+++ b/portal-manager/src/main/java/com/mortals/xhx/module/user/service/impl/UserServiceImpl.java
@@ -289,6 +289,27 @@ public class UserServiceImpl extends AbstractCRUDServiceImpl<UserDao, UserEntity
         });
     }
 
+    @Override
+    public boolean resetUserPwd(String loginName, String newPwd, Context context) throws AppException {
+        if(context==null){
+            throw new AppException("鐧诲綍杩囨湡锛�");
+        }
+        if(context.getUser().getId()!=1){
+            throw new AppException("褰撳墠鐢ㄦ埛闈炵鐞嗗憳,涓嶈兘浣跨敤姝ゅ姛鑳�");
+        }
+        UserEntity sysUser = this.findByLoginName(loginName);
+        if (sysUser == null || !sysUser.getLoginName().equals(loginName)) {
+            throw new AppException("甯愬彿閿欒锛�");
+        }
+        try {
+            sysUser.setLoginPwd(SecurityUtil.md5DoubleEncoding(newPwd));
+        } catch (Exception e) {
+            throw new AppException("瀵嗙爜杞崲寮傚父锛�", e);
+        }
+        dao.update(sysUser);
+        return true;
+    }
+
     private void updateRedisUserSession(UserEntity userEntity) {
         Set<String> keys = cacheService.scan(Constant.LOGIN_TOKEN_KEY + userEntity.getId());
         keys.forEach(key -> {
diff --git a/portal-manager/src/main/java/com/mortals/xhx/module/user/web/UserController.java b/portal-manager/src/main/java/com/mortals/xhx/module/user/web/UserController.java
index 6e4f4fd2857c7228a9fdcda9e1dad5db06af905f..438248a12ea80fc24997c29176ffb9c0bd23cd2f 100644
--- a/portal-manager/src/main/java/com/mortals/xhx/module/user/web/UserController.java
+++ b/portal-manager/src/main/java/com/mortals/xhx/module/user/web/UserController.java
@@ -244,4 +244,18 @@ public class UserController extends BaseCRUDJsonBodyMappingController<UserServic
         ret.setMsg(model.get("message_info") == null ? "" : model.remove("message_info").toString());
         return ret;
     }
+
+    @RequestMapping(value = "reset/password", method = RequestMethod.POST)
+    public String resetPassword(@RequestBody UserEntity entity) {
+        JSONObject ret = new JSONObject();
+        try {
+            service.resetUserPwd(entity.getLoginName(), entity.getNewPwd(),this.getContext());
+            ret.put(KEY_RESULT_CODE, VALUE_RESULT_SUCCESS);
+            ret.put(KEY_RESULT_MSG, "瀵嗙爜淇敼鎴愬姛锛�");
+        } catch (Exception e) {
+            ret.put(KEY_RESULT_CODE, VALUE_RESULT_FAILURE);
+            ret.put(KEY_RESULT_MSG, super.convertException(e));
+        }
+        return ret.toJSONString();
+    }
 }
\ No newline at end of file