diff --git a/ds-base/dsBase.iml b/ds-base/dsBase.iml
new file mode 100644
index 00000000..69dd4625
--- /dev/null
+++ b/ds-base/dsBase.iml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dsBase/target/classes/ExcelExportTemplate/excelTemp/占位文件.txt b/dsBase/target/classes/ExcelExportTemplate/excelTemp/占位文件.txt
new file mode 100644
index 00000000..e658701c
--- /dev/null
+++ b/dsBase/target/classes/ExcelExportTemplate/excelTemp/占位文件.txt
@@ -0,0 +1 @@
+ww
\ No newline at end of file
diff --git a/dsBase/target/classes/ExcelExportTemplate/getPrincipalshipThirdParty.json b/dsBase/target/classes/ExcelExportTemplate/getPrincipalshipThirdParty.json
new file mode 100644
index 00000000..0b3782e3
--- /dev/null
+++ b/dsBase/target/classes/ExcelExportTemplate/getPrincipalshipThirdParty.json
@@ -0,0 +1,30 @@
+{
+ "title": "职务与分管工作",
+ "sheetName": "职务与分管工作",
+ "titleHeight": 30,
+ "rowHeight": 30,
+ "showNumber": true,
+
+ "colInfo": [
+ {
+ "show_column_name": "级别",
+ "list_column_name": "level_name",
+ "width": 40
+ },
+ {
+ "show_column_name": "单位类型",
+ "list_column_name": "org_type_name",
+ "width": 40
+ },
+ {
+ "show_column_name": "职务名称",
+ "list_column_name": "zhiwu_name",
+ "width": 40
+ },
+ {
+ "show_column_name": "分管工作",
+ "list_column_name": "fenguan",
+ "width": 40
+ }
+ ]
+}
\ No newline at end of file
diff --git a/dsBase/target/classes/ExcelExportTemplate/getPrintAreaBureau.json b/dsBase/target/classes/ExcelExportTemplate/getPrintAreaBureau.json
new file mode 100644
index 00000000..fb311492
--- /dev/null
+++ b/dsBase/target/classes/ExcelExportTemplate/getPrintAreaBureau.json
@@ -0,0 +1,24 @@
+{
+ "title": "县区级单位管理员登录账号",
+ "sheetName": "管理员账号",
+ "titleHeight": 30,
+ "rowHeight": 30,
+ "showNumber": true,
+ "colInfo": [
+ {
+ "show_column_name": "姓名",
+ "list_column_name": "person_name",
+ "width": 40
+ },
+ {
+ "show_column_name": "登录名",
+ "list_column_name": "login_name",
+ "width": 40
+ },
+ {
+ "show_column_name": "原始密码",
+ "list_column_name": "original_pwd",
+ "width": 40
+ }
+ ]
+}
\ No newline at end of file
diff --git a/dsBase/target/classes/ExcelExportTemplate/getPrintAreaManager.json b/dsBase/target/classes/ExcelExportTemplate/getPrintAreaManager.json
new file mode 100644
index 00000000..e548e545
--- /dev/null
+++ b/dsBase/target/classes/ExcelExportTemplate/getPrintAreaManager.json
@@ -0,0 +1,24 @@
+{
+ "title": "县区管理员登录账号",
+ "sheetName": "管理员账号",
+ "titleHeight": 30,
+ "rowHeight": 30,
+ "showNumber": true,
+ "colInfo": [
+ {
+ "show_column_name": "姓名",
+ "list_column_name": "person_name",
+ "width": 40
+ },
+ {
+ "show_column_name": "登录名",
+ "list_column_name": "login_name",
+ "width": 40
+ },
+ {
+ "show_column_name": "原始密码",
+ "list_column_name": "original_pwd",
+ "width": 40
+ }
+ ]
+}
\ No newline at end of file
diff --git a/dsBase/target/classes/ExcelExportTemplate/getPrintCityBureau.json b/dsBase/target/classes/ExcelExportTemplate/getPrintCityBureau.json
new file mode 100644
index 00000000..8d408313
--- /dev/null
+++ b/dsBase/target/classes/ExcelExportTemplate/getPrintCityBureau.json
@@ -0,0 +1,24 @@
+{
+ "title": "市直属单位登录账号",
+ "sheetName": "管理员账号",
+ "titleHeight": 30,
+ "rowHeight": 30,
+ "showNumber": true,
+ "colInfo": [
+ {
+ "show_column_name": "姓名",
+ "list_column_name": "person_name",
+ "width": 40
+ },
+ {
+ "show_column_name": "登录名",
+ "list_column_name": "login_name",
+ "width": 40
+ },
+ {
+ "show_column_name": "原始密码",
+ "list_column_name": "original_pwd",
+ "width": 40
+ }
+ ]
+}
\ No newline at end of file
diff --git a/dsBase/target/classes/ExcelExportTemplate/getPrintCityManager.json b/dsBase/target/classes/ExcelExportTemplate/getPrintCityManager.json
new file mode 100644
index 00000000..95763ed8
--- /dev/null
+++ b/dsBase/target/classes/ExcelExportTemplate/getPrintCityManager.json
@@ -0,0 +1,24 @@
+{
+ "title": "市管理员登录账号",
+ "sheetName": "管理员账号",
+ "titleHeight": 30,
+ "rowHeight": 30,
+ "showNumber": true,
+ "colInfo": [
+ {
+ "show_column_name": "姓名",
+ "list_column_name": "person_name",
+ "width": 40
+ },
+ {
+ "show_column_name": "登录名",
+ "list_column_name": "login_name",
+ "width": 40
+ },
+ {
+ "show_column_name": "原始密码",
+ "list_column_name": "original_pwd",
+ "width": 40
+ }
+ ]
+}
\ No newline at end of file
diff --git a/dsBase/target/classes/ExcelExportTemplate/getPrintParent.json b/dsBase/target/classes/ExcelExportTemplate/getPrintParent.json
new file mode 100644
index 00000000..15a3e0f2
--- /dev/null
+++ b/dsBase/target/classes/ExcelExportTemplate/getPrintParent.json
@@ -0,0 +1,24 @@
+{
+ "title": "家长登录信息",
+ "sheetName": "家长登录信息",
+ "titleHeight": 30,
+ "rowHeight": 30,
+ "showNumber": true,
+ "colInfo": [
+ {
+ "show_column_name": "姓名",
+ "list_column_name": "person_name",
+ "width": 40
+ },
+ {
+ "show_column_name": "登录名",
+ "list_column_name": "login_name",
+ "width": 40
+ },
+ {
+ "show_column_name": "原始密码",
+ "list_column_name": "original_pwd",
+ "width": 40
+ }
+ ]
+}
\ No newline at end of file
diff --git a/dsBase/target/classes/ExcelExportTemplate/getPrintStudent.json b/dsBase/target/classes/ExcelExportTemplate/getPrintStudent.json
new file mode 100644
index 00000000..c5c996c2
--- /dev/null
+++ b/dsBase/target/classes/ExcelExportTemplate/getPrintStudent.json
@@ -0,0 +1,24 @@
+{
+ "title": "学生登录信息",
+ "sheetName": "学生登录信息",
+ "titleHeight": 30,
+ "rowHeight": 30,
+ "showNumber": true,
+ "colInfo": [
+ {
+ "show_column_name": "学生姓名",
+ "list_column_name": "person_name",
+ "width": 40
+ },
+ {
+ "show_column_name": "登录名",
+ "list_column_name": "login_name",
+ "width": 40
+ },
+ {
+ "show_column_name": "原始密码",
+ "list_column_name": "original_pwd",
+ "width": 40
+ }
+ ]
+}
\ No newline at end of file
diff --git a/dsBase/target/classes/ExcelExportTemplate/getTeacherListByBureauId.json b/dsBase/target/classes/ExcelExportTemplate/getTeacherListByBureauId.json
new file mode 100644
index 00000000..fb311492
--- /dev/null
+++ b/dsBase/target/classes/ExcelExportTemplate/getTeacherListByBureauId.json
@@ -0,0 +1,24 @@
+{
+ "title": "县区级单位管理员登录账号",
+ "sheetName": "管理员账号",
+ "titleHeight": 30,
+ "rowHeight": 30,
+ "showNumber": true,
+ "colInfo": [
+ {
+ "show_column_name": "姓名",
+ "list_column_name": "person_name",
+ "width": 40
+ },
+ {
+ "show_column_name": "登录名",
+ "list_column_name": "login_name",
+ "width": 40
+ },
+ {
+ "show_column_name": "原始密码",
+ "list_column_name": "original_pwd",
+ "width": 40
+ }
+ ]
+}
\ No newline at end of file
diff --git a/dsBase/target/classes/ExcelImportTemplate/Student.json b/dsBase/target/classes/ExcelImportTemplate/Student.json
new file mode 100644
index 00000000..ea70e7f8
--- /dev/null
+++ b/dsBase/target/classes/ExcelImportTemplate/Student.json
@@ -0,0 +1,85 @@
+{
+ "rowHeight": 28,
+ "colInfo": [
+ {
+ "column": 0,
+ "name": "stage",
+ "value": "学段",
+ "width": 20,
+ "promptContent": "请按下拉框进行选择!",
+ "need":1
+ },
+ {
+ "column":1,
+ "name": "class",
+ "value": "班级名称",
+ "width": 24,
+ "promptContent": "只支持入学年份+班号的形式,比如2017级8班",
+ "need":1
+ },
+ {
+ "column": 2,
+ "name": "person_name",
+ "value": "姓名",
+ "width": 18,
+ "promptContent": "人员姓名。",
+ "need":1
+ },
+ {
+ "column": 3,
+ "name":"xb",
+ "value": "性别",
+ "width": 14,
+ "promptContent": "性别请在下拉框中选择,或者将内容复制!",
+ "need":1
+ },
+ {
+ "column": 4,
+ "value": "民族",
+ "name":"mz",
+ "width": 20,
+ "promptContent": "民族请在下拉框中选择,或者将内容复制!",
+ "need":1
+ },
+ {
+ "column": 5,
+ "value": "政治面貌",
+ "name":"zzmm",
+ "width": 34,
+ "promptContent": "政治面貌请在下拉框中选择,或者将内容复制!",
+ "need":1
+ },
+ {
+ "column": 6,
+ "value": "身份证号",
+ "name":"cardNumber",
+ "width": 30,
+ "promptContent": "支持身份证号15位或18位。",
+ "need":1
+ },
+ {
+ "column": 7,
+ "value": "学籍号",
+ "name":"xjh",
+ "width": 18,
+ "promptContent": "可以为空!",
+ "need":0
+ },
+ {
+ "column": 8,
+ "value": "学籍辅号",
+ "name":"xjfh",
+ "width": 18,
+ "promptContent": "可以为空!",
+ "need":0
+ },
+ {
+ "column": 9,
+ "value": "学生来源",
+ "name":"stage",
+ "width": 16,
+ "promptContent": "学生来源请在下拉框中选择,或者将内容复制!",
+ "need":1
+ }
+ ]
+}
\ No newline at end of file
diff --git a/dsBase/target/classes/ExcelImportTemplate/Student.xls b/dsBase/target/classes/ExcelImportTemplate/Student.xls
new file mode 100644
index 00000000..87e6f3da
Binary files /dev/null and b/dsBase/target/classes/ExcelImportTemplate/Student.xls differ
diff --git a/dsBase/target/classes/ExcelImportTemplate/StudentSample.xls b/dsBase/target/classes/ExcelImportTemplate/StudentSample.xls
new file mode 100644
index 00000000..a121db67
Binary files /dev/null and b/dsBase/target/classes/ExcelImportTemplate/StudentSample.xls differ
diff --git a/dsBase/target/classes/ExcelImportTemplate/Teacher.json b/dsBase/target/classes/ExcelImportTemplate/Teacher.json
new file mode 100644
index 00000000..1878e155
--- /dev/null
+++ b/dsBase/target/classes/ExcelImportTemplate/Teacher.json
@@ -0,0 +1,93 @@
+{
+ "rowHeight": 28,
+ "colInfo": [
+ {
+ "column": 0,
+ "name": "department",
+ "value": "部门",
+ "width": 25,
+ "promptContent": "只支持一级部门,系统中存在将重用,不存在将创建!",
+ "need":0
+ },
+ {
+ "column": 1,
+ "name": "person_name",
+ "value": "姓名",
+ "width": 18,
+ "promptContent": "人员姓名。",
+ "need":1
+ },
+ {
+ "column": 2,
+ "name":"xb",
+ "value": "性别",
+ "width": 14,
+ "promptContent": "性别请在下拉框中选择,或者将内容复制!",
+ "need":1
+ },
+ {
+ "column": 3,
+ "value": "民族",
+ "name":"mz",
+ "width": 16,
+ "promptContent": "民族请在下拉框中选择,或者将内容复制!",
+ "need":1
+ },
+ {
+ "column": 4,
+ "value": "政治面貌",
+ "name":"zzmm",
+ "width": 34,
+ "promptContent": "政治面貌请在下拉框中选择,或者将内容复制!",
+ "need":1
+ },
+ {
+ "column": 5,
+ "value": "身份证号",
+ "name":"cardNumber",
+ "width": 30,
+ "promptContent": "支持身份证号15位或18位。",
+ "need":1
+ },
+ {
+ "column": 6,
+ "value": "最高学历",
+ "name":"xl",
+ "width": 18,
+ "promptContent": "最高学历请在下拉框中选择,或者将内容复制!",
+ "need":1
+ },
+ {
+ "column": 7,
+ "value": "职称",
+ "name":"zc",
+ "width": 18,
+ "promptContent": "职称请在下拉框中选择,或者将内容复制!",
+ "need":1
+ },
+ {
+ "column": 8,
+ "value": "学段",
+ "name":"stage",
+ "width": 16,
+ "promptContent": "学段请在下拉框中选择,或者将内容复制!",
+ "need":1
+ },
+ {
+ "column": 9,
+ "value": "主教学科",
+ "name":"subject",
+ "width": 22,
+ "promptContent": "主教学科请在下拉框中选择,或者将内容复制!",
+ "need":1
+ },
+ {
+ "column": 10,
+ "value": "从教年月日",
+ "name":"teach_date",
+ "width": 18,
+ "promptContent": "例:1978-01-01",
+ "need":1
+ }
+ ]
+}
\ No newline at end of file
diff --git a/dsBase/target/classes/ExcelImportTemplate/Teacher.xls b/dsBase/target/classes/ExcelImportTemplate/Teacher.xls
new file mode 100644
index 00000000..8eb91693
Binary files /dev/null and b/dsBase/target/classes/ExcelImportTemplate/Teacher.xls differ
diff --git a/dsBase/target/classes/ExcelImportTemplate/TeacherSample.xls b/dsBase/target/classes/ExcelImportTemplate/TeacherSample.xls
new file mode 100644
index 00000000..7495ca3d
Binary files /dev/null and b/dsBase/target/classes/ExcelImportTemplate/TeacherSample.xls differ
diff --git a/dsBase/target/classes/SetMinioDownload.json b/dsBase/target/classes/SetMinioDownload.json
new file mode 100644
index 00000000..5955e673
--- /dev/null
+++ b/dsBase/target/classes/SetMinioDownload.json
@@ -0,0 +1,18 @@
+{
+ "Version": "2012-10-17",
+ "Statement": [{
+ "Effect": "Allow",
+ "Principal": {
+ "AWS": ["*"]
+ },
+ "Action": ["s3:GetBucketLocation", "s3:ListBucket"],
+ "Resource": ["arn:aws:s3:::dsideal"]
+ }, {
+ "Effect": "Allow",
+ "Principal": {
+ "AWS": ["*"]
+ },
+ "Action": ["s3:GetObject"],
+ "Resource": ["arn:aws:s3:::dsideal/*"]
+ }]
+}
\ No newline at end of file
diff --git a/dsBase/target/classes/Sql/ClearDataBase.sql b/dsBase/target/classes/Sql/ClearDataBase.sql
new file mode 100644
index 00000000..b51df13d
--- /dev/null
+++ b/dsBase/target/classes/Sql/ClearDataBase.sql
@@ -0,0 +1,26 @@
+#namespace("clearDataBase")
+ #sql("clearAll")
+ truncate table t_base_class;
+ truncate table t_base_graduation;
+ truncate table t_base_organization;
+ truncate table t_import_student_by_excel;
+ truncate table t_import_teacher_by_excel;
+ truncate table t_person_duty_charge;
+ truncate table t_sys_account_mount;
+ truncate table t_transfer_apply;
+ truncate table t_sys_loginperson;
+ truncate table t_base_app_visiable;
+ #end
+
+ #sql("set_install_area")
+ update t_base_global set global_value=? where global_code='install_area'
+ #end
+
+ #sql("setPwd")
+ update t_sys_loginperson set original_pwd=?,pwd=?,pwdmd5=? where login_name=?
+ #end
+
+ #sql("getAreaByCityId")
+ select * from t_dm_area where city_id=?
+ #end
+#end
\ No newline at end of file
diff --git a/dsBase/target/classes/Sql/YltWxGzh.sql b/dsBase/target/classes/Sql/YltWxGzh.sql
new file mode 100644
index 00000000..89c3134b
--- /dev/null
+++ b/dsBase/target/classes/Sql/YltWxGzh.sql
@@ -0,0 +1,20 @@
+#namespace("YltWxGzh")
+ -- 获取绑定微信用户
+ #sql("QuerybindWxUser")
+ SELECT
+ o.id,
+ o.operate_workers_name,
+ o.operate_workers_phone_number,
+ o.station_id,
+ DATE_FORMAT(o.create_time,'%Y-%m-%d %H:%i:%s') as create_time,
+ s.station_name,
+ o.wx_openid,
+ o.wx_bindtime
+ FROM
+ t_operate_workers_info o
+ LEFT JOIN t_station s
+ ON o.station_id=s.id
+ where o.operate_workers_name=#para(operate_workers_name) and
+ o.operate_workers_phone_number=#para(operate_workers_phone_number)
+ #end
+#end
\ No newline at end of file
diff --git a/dsBase/target/classes/Sql/app.sql b/dsBase/target/classes/Sql/app.sql
new file mode 100644
index 00000000..b721e6df
--- /dev/null
+++ b/dsBase/target/classes/Sql/app.sql
@@ -0,0 +1,62 @@
+-- 应用接入命名空间
+#namespace("app")
+ -- 根据appid获取app信息
+ #sql("getAppInfoByAppid")
+ select t1.appid,t1.appkey,t1.appname,t1.sort_id,t1.system_type_id,t1.create_time,t1.update_ts,t1.bureau_id,t1.developer,
+ (select t2.org_name from t_base_organization as t2 where t1.bureau_id=t2.org_id) as bureau_name,
+ (select t2.system_type_name from t_dm_integrated_system_type as t2 where t2.system_type_id=t1.system_type_id) as system_type_name,
+ t1.is_system from t_base_app as t1 where appid=?
+ #end
+
+ -- 获取应用系统的列表
+ #sql("getAppList")
+ select t1.appid,t1.appkey,t1.appname,t1.sort_id,t1.system_type_id,t1.create_time,t1.update_ts,bureau_id,developer,
+ is_system,(select t2.system_type_name from t_dm_integrated_system_type as t2 where t2.system_type_id=t1.system_type_id)
+ as system_type_name,
+ (case when (select count(*) as c from t_integrated_system as t2 where t2.appid=t1.appid)>0 then 1 else 0 end)
+ as integrated_exist,
+ (case when (select count(*) as c from t_datashare_publish as t2 where t2.appid=t1.appid)>0 then 1 else 0 end)
+ as publish_exist,
+ (case when (select count(*) as c from t_datashare_subscribe as t2 where t2.appid=t1.appid)>0 then 1 else 0 end)
+ as subscribe_exist,
+ t1.b_use from t_base_app as t1 order by t1.sort_id
+ #end
+
+ -- 获取集成系统的系统类型
+ #sql("getIntegratedSystemType")
+ select system_type_id,system_type_name from t_dm_integrated_system_type
+ #end
+
+ -- 通过appid 获取app的info信息
+ #sql("getAppInfo")
+ select appid,appkey,appname,sort_id,system_type_id,create_time,update_ts,bureau_id,developer,is_system from t_base_app
+ where appid=?
+ #end
+
+ -- 设置app为禁用或启用
+ #sql("changeAppStatus")
+ update t_base_app set b_use=ABS(b_use-1) where appid=?
+ #end
+
+ -- 通过appid清空它的发布系统配置
+ #sql("deletePublishByAppid")
+ delete from t_datashare_publish where appid=?
+ #end
+
+ -- 通过appid清空它的订阅系统配置
+ #sql("deleteSubscribeByAppid")
+ delete from t_datashare_subscribe where appid=?
+ #end
+
+ -- 删除一个集成的系统(可视范围表)
+ #sql("deleteVisiableByAppid")
+ delete from t_base_app_visiable where appid=?
+ #end
+
+ --按系统获取系统与可视范围的关系
+ #sql("appid_visible")
+ select t1.id,t1.appid,t1.city_id,t1.area_id,t1.bureau_id,t1.level_id,t1.update_ts,
+ (select t2.org_name from t_base_organization as t2 where t1.bureau_id=t2.org_id) as bureau_name
+ from t_base_app_visiable as t1 where appid=?
+ #end
+#end
\ No newline at end of file
diff --git a/dsBase/target/classes/Sql/base.sql b/dsBase/target/classes/Sql/base.sql
new file mode 100644
index 00000000..e4a90d53
--- /dev/null
+++ b/dsBase/target/classes/Sql/base.sql
@@ -0,0 +1,339 @@
+-- 基础类命名空间
+#namespace("Base")
+ -- 获取整个单位类型与职务+分管信息树数据
+ #sql("getLoginInfoByUserName")
+ select person_id,person_name,pwd,ifnull(wx_openid,0) as wx_openid,ifnull(qq_openid,0) as qq_openid,
+ identity_id,bureau_id,city_id,area_id
+ from t_sys_loginperson where b_use = 1 and login_name =?
+ #end
+ -- 获取整个单位类型与职务+分管信息树数据
+ #sql("getOrgTypePrincipalshipTree")
+ select t1.id,t1.code,t1.name,t1.parent_id as pId,(case when length(t1.code)>6 then 0 else 1 end) as open,
+ (case when length(t1.code)=10 then 1 else 0 end ) as nocheck,
+ (select count(1) from t_base_org_type_principalship as t2 where t2.parent_id=t1.id) as is_leaf,sort_id,b_use,
+ is_school,level,bureau_level
+ from t_base_org_type_principalship as t1 where b_use=1 order by sort_id
+ #end
+
+ -- 获取单位类型与职务+分管信息树数据指定结点的信息
+ #sql("getOrgTypePrincipalshipById")
+ select t1.id,t1.code,t1.name,t1.parent_id as pId,t1.sort_id,t1.b_use,t1.is_school,t1.level,t1.bureau_level,
+ (select count(1) from t_base_org_type_principalship as t2 where t2.parent_id=t1.id) as is_leaf
+ from t_base_org_type_principalship as t1 where t1.id=#para(0) order by t1.sort_id
+ #end
+
+ -- 获取单位类型与职务+分管信息树数据指定结点的信息
+ #sql("getOrgTypePrincipalshipByParentId")
+ select t1.id,t1.code,t1.name,t1.parent_id as pId,t1.sort_id,t1.b_use,t1.is_school,t1.level,t1.bureau_level,
+ (select count(1) from t_base_org_type_principalship as t2 where t2.parent_id=t1.id) as is_leaf
+ from t_base_org_type_principalship as t1 where t1.parent_id=#para(0) and t1.b_use=1 order by sort_id
+ #end
+
+ -- 和上面的是一个东西,但要细分一下,比如幼儿园+中小学
+ #sql("getOrgTypePrincipalshipByParentIdAndBigType")
+ select t1.id,t1.name,t1.parent_id as pId,t1.sort_id,t1.b_use,t1.is_school,t1.level,t1.bureau_level,
+ (select count(1) from t_base_org_type_principalship as t2 where t2.parent_id=t1.id) as is_leaf
+ from t_base_org_type_principalship as t1 where t1.parent_id=#para(0) and t1.b_use=1 and t1.is_school=#para(1) order by sort_id
+ #end
+
+ -- 修改一个OrgTypePrincipalship节点
+ #sql("updateOrgTypePrincipalshipNode")
+ update t_base_org_type_principalship set code=?,name=?,parent_id=?,sort_id=?,b_use=?,is_school=? where id=?
+ #end
+
+ -- 删除一个OrgTypePrincipalship节点
+ #sql("delOrgTypePrincipalshipById")
+ delete from t_base_org_type_principalship where id=?
+ #end
+
+ -- 获取单位类型与职务+分管信息树数据指定结点下一级的数据ByCode
+ #sql("getOrgTypePrincipalshipByParentparent_code")
+ select id,code,name,parent_id as pId,sort_id,b_use,is_school,level,bureau_level
+ from t_base_org_type_principalship where code like ? and length(code)=length(?)+2 and b_use=1 order by sort_id
+ #end
+
+ -- 获取指定CODE的个数
+ #sql("t_base_org_type_principalship_CountByCode")
+ select count(1) as c from t_base_org_type_principalship where code=? and b_use=1
+ #end
+
+ -- 获取指定CODE的个数,不包括自己
+ #sql("t_base_org_type_principalship_CountByCodeExceptSelf")
+ select count(1) as c from t_base_org_type_principalship where code=? and id!=? and b_use=1
+ #end
+
+ -- 通过单位ID获取职务权限树
+ #sql("getPrincipalshipTreeByBureauId")
+ select t1.id,t1.code,t1.name,t1.sort_id,t1.b_use,t1.is_school,t1.level,t1.bureau_level,
+ (case when length(t1.code)=6 then -1 else t1.parent_id end ) as parent_id,
+ (select count(1) from t_base_org_type_principalship as t2 where t2.parent_id=t1.id and t2.b_use=1) as is_leaf
+ from t_base_org_type_principalship as t1
+ where t1.code like concat((select code from t_base_org_type_principalship
+ where id=(select org_type_id from t_base_organization where org_id=?)),'%') and t1.b_use=1
+ order by t1.sort_id
+ #end
+
+ -- 获取职务列表打印EXCEL,用来方便第三方系统提供接入的职务与系统对应关系
+ #sql("getPrincipalshipThirdParty")
+ select (case when substr(t1.code,1,4)='0101' then '市级' else '县区级' end ) as level_name,
+ (select t2.name from t_base_org_type_principalship as t2 where t2.code=SUBSTR(t1.code,1,6)) as org_type_name,
+ t1.name as zhiwu_name ,
+ ifnull((select group_concat(name) as cols from t_base_org_type_principalship where parent_id=t1.id),'无') as fenguan
+ from t_base_org_type_principalship as t1 where t1.level =4 and t1.b_use=1 order by t1.code
+ #end
+
+ -- 获取当前学期
+ #sql("getCurrentTerm")
+ select xq_id,(case xq_code when '09' then xn else xn+1 end) as xn,xq,
+ xqmc,ksrq,jsrq,memo,xq_code,is_current from t_base_term where is_current=1
+ #end
+ -- 按年份获取学期列表
+ #sql("getTermListByYear")
+ select xq_id,(case xq_code when '09' then xn else xn+1 end) as xn,xq,
+ xqmc,ksrq,jsrq,memo,xq_code,is_current from t_base_term where xn=#(batch_year)
+ #end
+ -- 获取当前人员
+ #sql("getCurrentPerson")
+ select t1.*,t4.rule_id
+ from t_sys_loginperson as t1
+ left join t_base_student as t2 on t2.sfzh=AES_DECRYPT(from_base64(t1.idcard_code),'DsideaL4r5t6y7u!')
+ left join t_base_class as t3 on t2.class_id=t3.class_id
+ LEFT JOIN t_jw_major_rule AS t4 ON t3.zydm = t4.zhuanye_code
+ AND t3.entry_year = t4.entry_year
+ AND t3.type_id = t4.zhaosheng_type_id
+ AND t3.xq_code = t4.entry_term_code AND t4.rule_type_id=1
+ where t1.person_id='#(person_id)'
+ #end
+
+ -- 获取当前学生所在班级
+ #sql("getCurrentClass")
+ select c.* from t_base_class as c left join t_sys_loginperson as l on c.class_id=l.s_class_id where l.person_id='#(person_id)' and l.identity_id=6
+ #end
+ -- 获取人员(主部门)系列表
+ #sql("getZhuDepartmentTypeId1List")
+ select l.login_name,case
+ when o.department_type_id=1 then o.org_id
+ when po.department_type_id=1 then po.org_id
+ end as org_id
+ from t_sys_loginperson as l
+ LEFT JOIN t_base_organization as o on l.org_id=o.org_id
+ LEFT JOIN t_base_organization as po on o.parent_id=po.org_id
+ where l.person_id='#(person_id)' and (o.department_type_id=1 or po.department_type_id=1 )
+ #end
+ -- 获取人员(辅部门)系列表
+ #sql("getFuDepartmentTypeId1List")
+ select l.login_name,case
+ when o.department_type_id=1 then o.org_id
+ when po.department_type_id=1 then po.org_id
+ end as org_id
+ from t_sys_loginperson as l
+ LEFT JOIN t_base_teacher_org as bto on l.person_id=bto.person_id
+ LEFT JOIN t_base_organization as o on bto.org_id=o.org_id
+ LEFT JOIN t_base_organization as po on o.parent_id=po.org_id
+ where l.person_id='#(person_id)' and (o.department_type_id=1 or po.department_type_id=1 )
+ #end
+ -- 获取某人是管理员的专业列表
+ #sql("getZhuanYeList")
+ select zt.zhuanye_id,z.zhuanye_code,z.zhuanye_name
+ from t_zhaosheng_zhuanye as z
+ left join t_zhaosheng_zhuanye_teacher as zt on zt.zhuanye_id=z.zhuanye_id
+ where zt.person_id='#(person_id)'
+ and z.b_use=1 and #(batch_year) BETWEEN z.begin_year AND z.end_year
+ #end
+ -- 获取所有专业列表
+ #sql("getAllZhuanYeList")
+ select z.zhuanye_id,z.zhuanye_code,z.zhuanye_name
+ from t_zhaosheng_zhuanye as z
+ where z.b_use=1 and #(batch_year) BETWEEN z.begin_year AND z.end_year
+ #end
+ -- 获取学期列表
+ #sql("getTermList")
+ select xq_id,xn,xq,xqmc,
+ date_format(ksrq,'%Y-%m-%d') as ksrq,
+ date_format(jsrq,'%Y-%m-%d') as jsrq,is_current
+ from t_base_term where
+ xq_id<=(select xq_id from t_base_term where is_current=1)
+ #if(addOne)
+ +1
+ #end
+ and xn>=2018 order by xq_id
+ #if(action_asc)
+ asc
+ #else
+ desc
+ #end
+ #end
+ -- 获取校历的文字描述信息
+ #sql("getXiaoLiMemo")
+ select memo from t_base_term where xq_id=#(xq_id)
+ #end
+
+ -- 修改校历的文字描述信息
+ #sql("updateXiaoLiMemo")
+ update t_base_term set memo='#(memo)',ksrq='#(ksrq)',jsrq='#(jsrq)' where xq_id=#(xq_id)
+ #end
+
+ -- 是不是在职务列表中
+ #sql("isInDutyList")
+ select count(*) as c from t_person_duty_charge where person_id='#(person_id)' and duties_id in
+ (
+ #for(x:ids)
+ #(for.index == 0 ? "" : ",") #para(x)
+ #end
+ )
+ #end
+ -- 查询人员职务列表
+ #sql("selectDutyList")
+ select `name` from t_base_org_type_principalship where id in
+ ( #for(x:ids)
+ #(for.index == 0 ? "" : ",")
+ #para(x)
+ #end )
+ #end
+ -- 获取所有的用户城市列表
+ #sql("getAllUserCity")
+ select city_id,city_name,sort_id from t_base_user_city where b_use=1 order by sort_id
+ #end
+
+ -- 教师选择器专用(多选)
+ #sql("selectPersonsByBureauId")
+ select person_id,person_name from t_sys_loginperson where bureau_id=? and b_use=1 and identity_id=5
+ order by person_name,sort_id
+ #end
+ -- 系内人员选择器(主部门待选)
+ #sql("selectZhuPersonsByOrgId")
+ select sl.person_id,sl.person_name
+ from t_sys_loginperson as sl
+ LEFT JOIN t_base_organization AS bo ON bo.org_id = sl.org_id
+ where sl.bureau_id=? and sl.b_use=1 and sl.identity_id=5
+ and (bo.org_id=? or bo.parent_id=?)
+ order by sl.person_name,sl.sort_id
+ #end
+ -- 系内人员选择器(辅部门待选)
+ #sql("selectFuPersonsByOrgId")
+ select sl.person_id,sl.person_name
+ from t_sys_loginperson as sl
+ LEFT JOIN t_base_teacher_org as bto on sl.person_id=bto.person_id
+ LEFT JOIN t_base_organization AS bo ON bo.org_id = bto.org_id
+ where sl.bureau_id=? and sl.b_use=1 and sl.identity_id=5
+ and (bo.org_id=? or bo.parent_id=?)
+ order by sl.person_name,sl.sort_id
+ #end
+ -- 系内人员选择器(已选)
+ #sql("selectAlreadyPersonsByOrgId")
+ select sl.person_id,sl.person_name
+ from t_zhaosheng_zhuanye_teacher as sl
+ LEFT JOIN t_base_organization AS bo ON bo.org_id = sl.org_id
+ where sl.zhuanye_id=? and sl.org_id=?
+ order by sl.person_name
+ #end
+ --把原已选清空
+ #sql("clearZhuanyeOrgTeacher")
+ delete from t_zhaosheng_zhuanye_teacher where zhuanye_id=? and org_id=?
+ #end
+ -- 获取场地列表
+ #sql("getSiteList")
+ select t1.site_id,t1.type_id,t2.type_name,t1.site_code,t1.site_name,t1.site_storied_building,
+ t3.building_name as site_storied_building_name,t1.floor,t1.room_number,t1.capacity_normal,
+ (case t1.for_examination when 1 then '是' else '否' end) as for_examination_memo,
+ t1.for_examination,t1.capacity_examination,t1.sort_id,
+ (
+ select t5.class_name as class_name
+ from t_base_class as t5 inner join t_base_term as t2 on t5.xq_id=t2.xq_id
+ inner join t_zhaosheng_zhuanye as t3 on t5.zydm=t3.zhuanye_code
+ inner join t_zhaosheng_person_type as t4 on t5.person_type_id=t4.person_type_id
+ where t5.class_id=t1.class_id
+ ) as class_name
+ from t_base_site as t1 left join t_base_site_type as t2 on t1.type_id=t2.type_id
+ left join t_base_site_storied_building as t3 on t1.site_storied_building=t3.building_id
+ where 1=1
+ #if(site_storied_building>0)
+ and t1.site_storied_building=#(site_storied_building)
+ #end
+ #if(floor>0)
+ and t1.floor=#(floor)
+ #end
+ #if(type_id)
+ and t1.type_id=#(type_id)
+ #end
+ #if(for_class_id>0)
+ and (t1.class_id is not null and t1.class_id<>'')
+ #else
+ and (t1.class_id is null or t1.class_id='')
+ #end
+ order by t1.sort_id
+ #end
+
+ -- 获取场地类型
+ #sql("getSiteTypeList")
+ select type_id,type_name,sort_id from t_base_site_type order by sort_id
+ #end
+
+ -- 获取教学楼列表
+ #sql("getBindBuildingList")
+ select building_id,building_name,sort_id from t_base_site_storied_building order by sort_id
+ #end
+ -- 获取教学楼楼层列表
+ #sql("getBuildingLevelList")
+ select DISTINCT floor from t_base_site where site_storied_building=#(site_storied_building) order by floor
+ #end
+
+ -- 获取指定单位下多机构的教师列表
+ #sql("getBureauPersonListByOrgId")
+ select t1.person_id,t1.person_name from t_sys_loginperson as t1
+ where t1.b_use=1
+ #if(org_id)
+ and (t1.org_id in (
+ select t2.org_id from t_base_organization as t2 where t2.parent_id='#(org_id)'
+ union
+ select '#(org_id)'
+ )
+ )
+ or t1.person_id in (
+ select person_id from t_base_teacher_org as t2 where t2.org_id in (
+ select t2.org_id from t_base_organization as t2 where t2.parent_id='#(org_id)'
+ union
+ select '#(org_id)'
+ )
+ )
+ #end
+ order by t1.person_name;
+ #end
+ -- 获取指定单位下的场地列表
+ #sql("getBureauBuildingList")
+ select distinct t1.building_id,t1.building_name from t_base_site_storied_building as t1
+ order by t1.sort_id;
+ #end
+ -- 获取指定单位下的场地列表
+ #sql("getBaseSiteList")
+ select distinct t1.site_id,t1.site_name from t_base_site as t1
+ where t1.site_storied_building=#(building_id)
+ order by t1.sort_id;
+ #end
+ -- 获取指定单位下的班级列表
+ #sql("getBureauClassList")
+ select distinct t1.class_id,t1.class_name from t_base_class as t1
+ where ifnull(graduate_flag,0)=0
+ #if(zhuanye_code)
+ and t1.zydm='#(zhuanye_code)'
+ #end
+ #if(batch_year)
+ and t1.entry_year=#(batch_year);
+ #end
+ #end
+
+ -- 获取固定的班级
+ #sql("getfixedClass")
+ select t1.class_id,t1.class_name
+ from t_base_class as t1 inner join t_base_term as t2 on t1.xq_id=t2.xq_id
+ inner join t_zhaosheng_zhuanye as t3 on t1.zydm=t3.zhuanye_code
+ inner join t_zhaosheng_person_type as t4 on t1.person_type_id=t4.person_type_id
+ order by t1.zydm,t1.xq_id,t1.class_name
+ #end
+
+ #sql("getZyyxClassTree")
+ select bureau_id,org_id,org_name,parent_id from t_base_organization where bureau_id=? and department_type_id in (1,2) and b_use=1
+ union
+ select bureau_id,org_id,org_name,'-1' as parent_id from t_base_organization where org_id=?
+ #end
+#end
\ No newline at end of file
diff --git a/dsBase/target/classes/Sql/class.sql b/dsBase/target/classes/Sql/class.sql
new file mode 100644
index 00000000..2668784c
--- /dev/null
+++ b/dsBase/target/classes/Sql/class.sql
@@ -0,0 +1,55 @@
+-- 班级命名空间
+#namespace("class")
+
+ -- 根据单位号获取下面正常班级的个数
+ #sql("getClassCountByBureauId")
+ select count(1) as c from t_base_class where bureau_id=? and b_use=1
+ #end
+
+ -- 根据单位ID、学段、入学年份获取班级List
+ #sql("getClassListByBureauIdStageIdEntryYear")
+ select class_name from t_base_class where b_use = 1 and bureau_id= ? and stage_id = ? and entry_year = ?
+ order by class_num
+ #end
+
+ -- 获取班级列表
+ #sql("getClassList")
+ select class_id, class_name, ifnull(altas_name,'') as altas_name, entry_year,
+ (select count(1) from t_sys_loginperson t2 where t2.b_use = 1 and identity_id = 6 and t2.s_class_id = t1.class_id)
+ as studentcount, bureau_id,org_id
+ from t_base_class t1 where b_use = 1 and bureau_id = #para(0) and org_id=#para(1) and stage_id = #para(2)
+ and entry_year =#para(3) order by class_num
+ #end
+
+ -- 获取班级信息
+ #sql("getClassInfoByClassId")
+ select class_name,ifnull(altas_name,'') as altas_name, stage_id,entry_year, bureau_id, city_id, area_id, main_school_id
+ from t_base_class where b_use = 1 and class_id = ?
+ #end
+
+ -- 检查重名班级
+ #sql("checkClassNameExists")
+ select class_id from t_base_class where b_use = 1 and bureau_id = ? and stage_id = ? and entry_year = ?
+ and class_name = ? and class_id <> ?
+ #end
+
+ -- 修改班级名称
+ #sql("updateClassName")
+ update t_base_class set altas_name = ?,operator=?,ip_address=? where class_id = ?
+ #end
+
+ -- 删除班级
+ #sql("deleteClassById")
+ update t_base_class set b_use = 0,operator=?,ip_address=?,class_code=UPPER(UUID()) where class_id = ?
+ #end
+
+ #sql("getStudentCountByClassId")
+ select person_id from t_sys_loginperson where b_use = 1 and identity_id=6 and s_class_id = ?
+ #end
+
+ -- 获取指定单位下有哪些班级名称
+ #sql("getClassName")
+ select class_id,class_name,stage_id from t_base_class where bureau_id=? and b_use=1
+ #end
+
+#end
\ No newline at end of file
diff --git a/dsBase/target/classes/Sql/dm.sql b/dsBase/target/classes/Sql/dm.sql
new file mode 100644
index 00000000..1db967d6
--- /dev/null
+++ b/dsBase/target/classes/Sql/dm.sql
@@ -0,0 +1,121 @@
+-- 字典命名空间
+#namespace("dm")
+
+ -- 获取学校办别
+ #sql("getDmSchoolProperty")
+ select property_id,property_name from t_dm_schoolproperty
+ #end
+
+ -- 获取学校隶属关系
+ #sql("getDmSchoolLevel")
+ select * from t_dm_schoollevel
+ #end
+
+ -- 获取编制的字典
+ #sql("getDmBz")
+ select bz_id,bz_name from t_dm_bz
+ #end
+
+ -- 获取性别的字典
+ #sql("getDmXb")
+ select xb_id,xb_name from t_dm_xb
+ #end
+
+ -- 获取民族的字典
+ #sql("getDmMz")
+ select mz_id,mz_name from t_dm_mz
+ #end
+
+ -- 获取学段字典
+ #sql("getDmStage")
+ select stage_id,stage_name from t_dm_stage order by stage_id
+ #end
+
+ -- 获取指定学段下的学科
+ #sql("getDmSubject")
+ select subject_id,subject_name from t_dm_subject where stage_id=? order by sort_id
+ #end
+
+ --获取学历字典信息
+ #sql("getDmXl")
+ select xl_id,xl_name from t_dm_xl
+ #end
+
+ --获取职称字典信息
+ #sql("getDmZc")
+ select zc_id,zc_name from t_dm_zc
+ #end
+
+ --获取政治面貌字典信息
+ #sql("getDmZzmm")
+ select zzmm_id,zzmm_name from t_dm_zzmm
+ #end
+
+ -- 获取全量的行政区划树
+ #sql("getAreaAll")
+ select id,area_code,area_name,parent_id,(case when parent_id='-1' then 1 else 0 end ) as open from t_dm_area order by area_code
+ #end
+
+ -- 获取指定父节点的行政区划
+ #sql("getAreaByParentId")
+ select t1.id,t1.area_code,t1.area_name,t1.parent_id,
+ (case when parent_id='-1' then 1 else 0 end ) as open,
+ (select count(1) from t_dm_area as t2 where t2.parent_id=t1.id) as is_leaf
+ from t_dm_area as t1 where t1.parent_id=? order by t1.area_code
+ #end
+
+ -- 获取指定节点的行政区划
+ #sql("getAreaById")
+ select t1.id,t1.area_code,t1.area_name,t1.parent_id,t1.province_id,
+ (select area_name from t_dm_area as t2 where t1.province_id=t2.id) as province_name,t1.city_id,t1.area_id,t1.level_id,t1.sort_id from t_dm_area as t1
+ where t1.id=? order by t1.sort_id
+ #end
+
+ -- 获取指定父节点的行政区划
+ #sql("getOrgLevel")
+ select org_id,org_code,org_name,parent_id,org_type_id,school_type_id,sort_id,create_time,update_ts,b_use,org_pk_num,city_id,area_id,main_school_id,bureau_id
+ from t_base_organization where org_id=?
+ #end
+
+ -- 获取学校类型
+ #sql("getSchoolType")
+ select school_type_id,school_type_name from t_dm_schooltype
+ #end
+
+ -- 将学校类型换算成组织机构类型
+ #sql("convertSchoolTypeToOrgType")
+ select shi_org_type,area_org_type from t_dm_schooltype where school_type_id=?
+ #end
+
+ -- 通过ID获取区域的信息
+ #sql("getAreaInfoById")
+ select * from t_dm_area where id=?
+ #end
+
+ -- 获取学段下学科名称集合,用于EXCEL导入
+ #sql("getStageSubjectNameRecord")
+ select t2.stage_name,t1.subject_name from t_dm_subject as t1 inner join t_dm_stage as t2
+ on t1.stage_id=t2.stage_id where t2.b_use=1
+ #end
+
+ -- 获取有哪些学生来源
+ #sql("getStudentSource")
+ select source_id,source_name from t_dm_student_source
+ #end
+
+ -- 获取当前安装市下有哪些县区
+ #sql("getAllAreaInfoByInstallCity")
+ select id,area_code,area_name from t_dm_area where parent_id=
+ (select global_value from t_base_global where global_code='install_area') order by sort_id
+ #end
+
+ -- 系统中共有多少种身份
+ #sql("getDmIdentity")
+ select identity_id,identity_name from t_dm_identity
+ #end
+
+ -- 获取城市的坐标
+ #sql("getCityCoordinate")
+ select * from t_city_coordinate where city_id=?
+ #end
+#end
\ No newline at end of file
diff --git a/dsBase/target/classes/Sql/global.sql b/dsBase/target/classes/Sql/global.sql
new file mode 100644
index 00000000..662b7e91
--- /dev/null
+++ b/dsBase/target/classes/Sql/global.sql
@@ -0,0 +1,59 @@
+-- 全局变量命名空间
+#namespace("global")
+
+ -- 获取全局变量的分类类型
+ #sql("getGlobalType")
+ select global_type_id,global_type_name from t_base_global_type
+ #end
+
+ -- 获取所有分类
+ #sql("getGlobalList")
+ select global_id,global_type_id,global_code,global_value,global_name,sort_id from t_base_global order by sort_id
+ #end
+
+ -- 检查一个globalCode是不是重复
+ #sql("checkGlobalCodeCount")
+ select count(1) as c from t_base_global where global_id!=? and global_code=?
+ #end
+
+ -- 增加一个全局变量设置
+ #sql("addGlobal")
+ insert into t_base_global(global_type_id,global_code,global_value,global_name,sort_id) values(?,?,?,?,?)
+ #end
+
+ -- 修改一个全局变量设置
+ #sql("updateGlobalById")
+ update t_base_global set global_type_id=?,global_code=?,global_value=?,global_name=?,sort_id=? where global_id=?
+ #end
+
+ -- 删除一个全局变量设置
+ #sql("delGlobalById")
+ delete from t_base_global where global_id=?
+ #end
+
+ -- 获取一个全局变量设置
+ #sql("getGlobalById")
+ select global_type_id,global_code,global_value,global_name from t_base_global where global_id=?
+ #end
+
+ -- 传入一组global_code 返回对应的数据
+ #sql("getGlobalByCodes")
+ select global_id,global_type_id,global_code,global_value,global_name from t_base_global where global_code=?
+ #end
+
+ -- 获取area_id通过area_name
+ #sql("getAreaIdByAreaName")
+ select id from t_dm_area as t2 where t2.area_name=? and parent_id=(select id from t_dm_area as t1 where t1.area_name=?)
+ #end
+ #sql("getAreaIdByAreaNameOnlyCityName")
+ select id from t_dm_area as t1 where t1.area_name=?
+ #end
+ -- 保存设置安装地区
+ #sql("saveInstallArea")
+ update t_base_global set global_value=? where global_code='install_area'
+ #end
+ -- 根据全局变量的KEY获取VALUE
+ #sql("getGlobalValueByKey")
+ select ifnull(global_value,'') as global_value from t_base_global where global_code = ?
+ #end
+#end
\ No newline at end of file
diff --git a/dsBase/target/classes/Sql/graduationAction.sql b/dsBase/target/classes/Sql/graduationAction.sql
new file mode 100644
index 00000000..0ddc7b01
--- /dev/null
+++ b/dsBase/target/classes/Sql/graduationAction.sql
@@ -0,0 +1,23 @@
+#namespace("graduation")
+
+ -- 获取当前年份是否已处理完毕业
+ #sql("checkCurrentYearIsGraduation")
+ select count(1) as count from t_base_graduation where finish_year=?
+ #end
+
+ -- 获取需要处理的班级个数
+ #sql("getNeedActionClass")
+ select class_id from t_base_class where entry_year+school_length=? and b_use=1 limit ?
+ #end
+
+ -- 修改指定班级下的学生和家长为毕业状态
+ #sql("changeToGraduationByClassId")
+ update t_sys_loginperson set b_use=0,status_code='07' where s_class_id=?
+ #end
+
+ -- 修改班级为毕业状态
+ #sql("changeClassBuse")
+ update t_base_class set b_use=0 where class_id=?
+ #end
+
+#end
\ No newline at end of file
diff --git a/dsBase/target/classes/Sql/gtzz.sql b/dsBase/target/classes/Sql/gtzz.sql
new file mode 100644
index 00000000..8579cd42
--- /dev/null
+++ b/dsBase/target/classes/Sql/gtzz.sql
@@ -0,0 +1,521 @@
+-- 命名空间
+#namespace("Gtzz")
+ -- 获取指定步骤的项目列表(待办) max()...group by 只显示同一个项目+步骤CODE的最后一条
+ #sql("getToDoStepList")
+ select '#(person_id)' as operator_id,progress_id,subject_id,subject_name,org_code,subject_type_id,subject_type_name,
+ step_code,step_name,action_bureau,year,check_status,is_current,begin_time,
+ task_number,data_type,is_back_log,lixiang_time,org_name as xmdw
+ from t_gtzz_progress as ta where is_finish_flag <3 and progress_id in
+ (
+ select max(progress_id) from t_gtzz_progress where step_code in
+ (
+ #for(id:step_codes)
+ #(for.index > 0 ? ", " : "") '#(id)'
+ #end
+ )
+ and is_current = #(is_current)
+ #if(org_code)
+ and org_code='#(org_code)'
+ #end
+ #if(keyword)
+ and ((subject_name like '%#(keyword)%') or (task_number like '%#(keyword)%') or (org_name like '%#(keyword)%'))
+ #end
+ #if(begin_date)
+ and lixiang_time >= '#(begin_date)'
+ #end
+ #if(end_date)
+ and lixiang_time <= '#(end_date)'
+ #end
+ -- 专家
+ #if(expert_person_id)
+ and subject_id in (select subject_id from t_gtzz_subject_expert where progress_id=0 and step_code in
+ (
+ #for(id:step_codes)
+ #(for.index > 0 ? ", " : "") '#(id)'
+ #end
+ )
+ and person_id='#(expert_person_id)')
+ #end
+ -- 监理
+ #if(jianli_person_id)
+ and subject_id in (select subject_id from t_gtzz_subject_jianli where step_code in
+ (
+ #for(id:step_codes)
+ #(for.index > 0 ? ", " : "") '#(id)'
+ #end
+ )
+ and person_id='#(jianli_person_id)')
+ #end
+ -- 已上报,不显示退回
+ #if(is_current==0)
+ and check_status<>2
+ #end
+ group by subject_id, step_code
+ ) order by progress_id desc
+ #end
+
+
+ -- 哪些步骤有上传附件的需要
+ #sql("getStepDocument")
+ select t1.step_code,t1.type_id,t2.type_name from t_gtzz_step_document as t1
+ inner join t_gtzz_document_type as t2 on t1.type_id=t2.type_id
+ where 1=1
+ #if(step_code)
+ and t1.step_code='#(step_code)'
+ #end
+ #end
+
+ -- 获取指定项目的详细信息
+ #sql("getSubjectExtInfo")
+ -- pay_flag:第二阶段业务完成标记(项目资金支付)(0:未完成 1:完成)
+ -- use_flag:项目启用废除标记(0:废除,1:启用)
+ -- delete_flag 删除标记(0:有效 1:删除)
+ -- task_type: 0培训 1新建 2维修 3绿化 4校园文化 5软件平台 6 购买服务 7安全 8装备
+ -- 数据类型(0-新建 1-支付 2-续拨)
+ -- process_node_id: 流程节点id
+ -- process_node_name: 流程节点名称
+ select t1.sn,(select parent_name from t_pro_detail where task_sn=t1.sn limit 1) as subject_type_name,t1.task_number,t1.task_title,t1.task_year,t1.ex_send_org_name,t1.pay_flag,t1.use_flag,t1.delete_flag,t1.task_type,t1.create_time,t1.data_type,t1.process_node_id,t1.process_node_name,
+ t2.itemvalue11 as xmjj, -- 项目简介
+ t2.itemValue20 as ztz, -- 总投资
+ t2.itemValue47 as zbj, -- 中标价(合同金额)
+ t2.itemValue20211 as pfje2021, -- 批复金额2021
+ t2.itemValue20221 as pfje2022, -- 批复金额2022
+ t2.itemValue20231 as pfje2023, -- 批复金额2023
+ t2.itemValue20241 as pfje2024, -- 批复金额2024
+ t2.itemValue20251 as pfje2025 -- 批复金额2025
+ from t_pro_task as t1 left join t_pro_form_value as t2 on t2.task_sn=t1.sn
+ where t1.sn='#(task_sn)'
+ #end
+
+ -- 填充项目数据
+ #sql("fillSubject")
+ select t1.sn,t1.task_number,t1.task_title,t1.task_year,t1.ex_send_org_name,t1.task_type as subject_type_id ,
+ t3.subject_type_name, t3.subject_type_name,t1.create_time
+ from t_pro_task as t1
+ left join t_pro_form_value as t2 on t2.task_sn=t1.sn
+ left join t_gtzz_subject_type as t3 on t1.task_type=t3.subject_type_id
+ where
+ -- 只关心市直属学校的数据
+ t1.ex_send_org_name in (select org_name from t_gtzz_school)
+ -- 立项通过,审批完成
+ and t1.use_flag=1 and t1.draft_flag=0 and t1.close_flag=1 and t1.data_type=0
+ -- 按申报时间倒序
+ order by t1.create_time desc
+ #end
+
+ -- 获取项目财务审批流水
+ #sql("getSubjectPreInfo")
+ select handle_node_name,receive_user_name as send_user_name,msg_title, handle_opinion,create_time,modify_time
+ from t_pro_message where task_sn='#(task_sn)' and DELETE_FLAG=0 order by create_time
+ #end
+ -- 获取指定年份的项目查询列表
+ #sql("getXmxcList")
+ select * from t_gtzz_progress where progress_id in
+ (select max(progress_id) from t_gtzz_progress group by subject_id)
+ #if(year)
+ and year=#(year)
+ #end
+ #if(org_code)
+ and org_code='#(org_code)'
+ #end
+ #if(year)
+ and year='#(year)'
+ #end
+ #if(subject_type_id)
+ and subject_type_id=#(subject_type_id)
+ #end
+ #if(keyword)
+ and subject_name like '%#(keyword)%'
+ #end
+ and step_code like '#(step_code)%' order by begin_time desc
+ #end
+ -- 获取符合条件的专家列表
+ #sql("getExpertList")
+ select t1.*,
+ (select group_concat(zc_name) from t_gtzz_expert_domain as t2 where t1.person_id=t2.person_id group by t2.zc_id) zc_name
+ from t_gtzz_expert as t1 where b_use=1
+ #if(keyword)
+ and t1.person_name like '%#(keyword)%'
+ #end
+ #if(zc_id)
+ and t1.person_id in (select person_id from t_gtzz_expert_domain where zc_id=#(zc_id))
+ #end
+ order by t1.bureau_name,t1.person_name
+ #end
+ -- 项目查询列表之专家分配
+ #sql("getSubjectListForSettingExpert")
+ select * from (
+ select t1.*,
+ (select count(1) from t_gtzz_subject_expert as t2 where t1.subject_id=t2.subject_id and t2.step_code='#(step_code)' and t2.progress_id=0) as zj_count,
+ (select count(1) from t_gtzz_progress as t2 where t1.subject_id=t2.subject_id and t2.step_code='#(end_step_code)' ) as can_update
+ from t_gtzz_subject as t1 where
+ subject_id in (select subject_id from t_gtzz_progress where
+ step_code>='#(start_step_code)' and step_code<='#(end_step_code)'
+ #if(not_setting_zj)
+ and is_current=1
+ #end
+ )
+ #if(data_type)
+ and t1.data_type=#(data_type)
+ #end
+
+ #if(begin_date)
+ and t1.lixiang_time between '#(begin_date)' and '#(end_date)'
+ #end
+
+ #if(keyword)
+ and (t1.xmmc like '%#(keyword)%' or t1.xmdw like '%#(keyword)%' or t1.task_number like '%#(keyword)%')
+ #end
+ order by t1.lixiang_time
+ ) as ta where 1=1
+ #if(setting_zj)
+ and ta.zj_count>0
+ #end
+ #if(not_setting_zj)
+ and ta.zj_count=0
+ #end
+ #end
+ -- 项目查询列表之监理公司分配
+ #sql("getFenPeiJianLiList")
+ select * from (
+ select t1.*,
+ (select progress_id from t_gtzz_progress as t2 where t1.subject_id=t2.subject_id order by progress_id desc limit 1 ) as progress_id,
+ (select max(step_code) from t_gtzz_progress as t2 where t2.subject_id=t1.subject_id) as last_step_code,
+ (select count(1) from t_gtzz_subject_jianli as t2 where t1.subject_id=t2.subject_id and t2.step_code='#(step_code)' and t2.person_id='-1') as no_need_jl,
+ (select count(1) from t_gtzz_subject_jianli as t2 where t1.subject_id=t2.subject_id and t2.step_code='#(step_code)') as jl_count,
+ (select count(1) from t_gtzz_progress as t2 where t1.subject_id=t2.subject_id and t2.step_code='#(end_step_code)') as can_update
+ from t_gtzz_subject as t1 where t1.bureau_id='#(bureau_id)'
+ #if(data_type)
+ and t1.data_type=#(data_type)
+ #end
+ #if(begin_date)
+ and t1.lixiang_time between '#(begin_date)' and '#(end_date)'
+ #end
+ #if(keyword)
+ and (t1.xmmc like '%#(keyword)%' or t1.xmdw like '%#(keyword)%' or t1.task_number like '%#(keyword)%' )
+ #end
+ ) as ta where last_step_code>='0206'
+ #if(setting_jl)
+ and ta.jl_count>0
+ #end
+ #if(not_setting_jl)
+ and ta.jl_count=0
+ #end
+ order by ta.progress_id desc
+ #end
+ -- 获取指定处理流水中指定流水号的上传文件类型列表
+ #sql("getProgressIdDocTypeList")
+ select ta.document_type_id,count(1) as c from
+ (select t1.progress_id,t2.* from t_gtzz_progress_file as t1 inner join t_gtzz_file as t2 on t1.file_id=t2.file_id) as ta
+ where ta.progress_id=#(progress_id) group by ta.document_type_id
+ #end
+ -- 综合查询(项目)
+ #sql("querySubject")
+ select t1.*,
+ (select progress_id from t_gtzz_progress where subject_id=t1.subject_id order by progress_id desc limit 1) as progress_id,
+ (select step_code from t_gtzz_progress where subject_id=t1.subject_id order by progress_id desc limit 1) as step_code
+ from t_gtzz_subject as t1 where 1=1
+ #if(keyword)
+ and (t1.xmmc like '%#(keyword)%' or t1.task_number like '%#(keyword)%')
+ #end
+ #if(subject_type_ids)
+ and t1.subject_type_id in
+ (
+ #for(id:subject_type_ids)
+ #(for.index > 0 ? ", " : "") '#(id)'
+ #end
+ )
+ #end
+ #if(org_code)
+ and t1.org_code='#(org_code)'
+ #end
+ #if(begin_date)
+ and (t1.lixiang_time between '#(begin_date)' and '#(end_date)')
+ #end
+ #if(data_type)
+ and t1.data_type=#(data_type)
+ #end
+ #if(sbnd)
+ and t1.sbnd=#(sbnd)
+ #end
+ #if(step_code)
+ and t1.subject_id in (select subject_id from t_gtzz_progress where is_current=#(is_current) and step_code like '#(step_code)%')
+ #end
+ #end
+
+ -- 综合查询(项目关闭)
+ #sql("querySubjectForClose")
+ select *,
+ (select progress_id from t_gtzz_progress where subject_id=t1.subject_id order by progress_id desc limit 1) as progress_id,
+ (select step_code from t_gtzz_progress where subject_id=t1.subject_id order by progress_id desc limit 1) as step_code,
+ (select is_finish_flag from t_gtzz_progress where subject_id=t1.subject_id order by progress_id desc limit 1) as is_finish_flag
+ from t_gtzz_subject as t1
+ where 1=1
+ #if(keyword)
+ and (t1.xmmc like '%#(keyword)%' or t1.task_number like '%#(keyword)%')
+ #end
+ #if(subject_type_ids)
+ and t1.subject_type_id in
+ (
+ #for(id:subject_type_ids)
+ #(for.index > 0 ? ", " : "") '#(id)'
+ #end
+ )
+ #end
+ #if(org_code)
+ and t1.org_code='#(org_code)'
+ #end
+ #if(begin_date)
+ and (t1.lixiang_time between '#(begin_date)' and '#(end_date)')
+ #end
+ #if(data_type)
+ and t1.data_type=#(data_type)
+ #end
+ #if(sbnd)
+ and t1.sbnd=#(sbnd)
+ #end
+ and (select t2.is_finish_flag from t_gtzz_progress as t2 where t2.subject_id=t1.subject_id order by t2.progress_id desc limit 1)=2
+ #end
+
+ -- 综合查询(文件)
+ #sql("queryFile")
+ select t2.*,t3.*,concat('/dsBase/upload/',t2.file_id,'.', t2.suffix) as url from t_gtzz_progress_file as t1 inner join t_gtzz_file as t2 on t1.file_id=t2.file_id
+ inner join t_gtzz_progress as t3 on t1.progress_id=t3.progress_id
+ where 1=1
+ #if(keyword)
+ and((t3.subject_name like '%#(keyword)%') or (t3.task_number like '%#(keyword)%'))
+ #end
+ #if(document_type_ids)
+ and t2.document_type_id in
+ (
+ #for(id:document_type_ids)
+ #(for.index > 0 ? ", " : "") '#(id)'
+ #end
+ )
+ #end
+ #if(subject_type_ids)
+ and t3.subject_type_id in
+ (
+ #for(id:subject_type_ids)
+ #(for.index > 0 ? ", " : "") '#(id)'
+ #end
+ )
+ #end
+ #if(org_code)
+ and t1.org_code='#(org_code)'
+ #end
+ #if(begin_date)
+ and t2.update_ts between '#(begin_date)' and '#(end_date)'
+ #end
+ #if(data_type)
+ and t3.data_type=#(data_type)
+ #end
+ #if(sbnd)
+ and t3.year=#(sbnd)
+ #end
+ #if(step_code)
+ and t3.step_code like '#(step_code)%'
+ #end
+ #end
+ -- 四个阶段的统计信息(市、校两级兼容)
+ #sql("tjTopFourStep")
+ select
+ (select count(1) from t_gtzz_sy_laststep where year=year(now())-1
+ #if(org_code)
+ and org_code='#(org_code)'
+ #end
+ ) as xmlx,
+ (select count(1) from t_gtzz_sy_laststep where year=year(now())-1
+ #if(org_code)
+ and org_code='#(org_code)'
+ #end
+ and step_code like '02%') as zbcg,
+ (select count(1) from t_gtzz_sy_laststep where year=year(now())-1
+ #if(org_code)
+ and org_code='#(org_code)'
+ #end
+ and is_finish_flag=0 and step_code like '03%') as ssys,
+ (select count(1) from t_gtzz_sy_laststep where year=year(now())-1
+ #if(org_code)
+ and org_code='#(org_code)'
+ #end
+ and is_finish_flag=1) as xmbf
+ #end
+ -- 今年项目概览(市专用)
+ #sql("tjSubjectSummaryCurrentYear")
+ select sum(subject_count) as subject_count,
+ sum(finish_count) as finish_count,
+ sum(close_count) as close_count,
+ sum(jz_count) as jz_count,
+ sum(yq_count) as yq_count,
+ ROUND(sum(money),2) as money
+ from t_gtzz_sy_base_year where year=year(now())-1
+ #end
+ -- 逾期提醒(市、校两级兼容)
+ #sql("tjYqList")
+ select * from t_gtzz_sy_laststep where 1=1
+ #if(org_code)
+ and org_code='#(org_code)'
+ #end
+ and yq_count>0;
+ #end
+ -- 项目待办(市、校两级兼容)
+ #sql("tjSubjectWaitStep")
+ select t1.step_code,t1.step_name,ifnull(t2.count,0) as count from t_gtzz_step as t1 left join (
+ select step_code,count(1) as count from t_gtzz_sy_laststep
+ where is_current=1 and is_finish_flag<3
+ #if(org_code)
+ and org_code='#(org_code)'
+ #end
+ group by step_code) as t2 on t1.step_code=t2.step_code where (t1.step_code like '02%' or t1.step_code like '03%')
+ #end
+ -- 今年项目分布(市专用) -- year=year(now())
+ #sql("tjFenBu")
+ select * from
+ (
+ select org_code,org_name,sum(subject_count) as subject_count,sum(finish_count) as finish_count,
+ sum(close_count) as close_count,
+ sum(jz_count) as jz_count,
+ sum(yq_count) as yq_count,
+ ROUND(sum(money),2) as money
+ from t_gtzz_sy_base_year where year=year(now())-1
+ group by org_code,org_name
+ ) as ta order by ta.subject_count desc,money desc,finish_count desc
+ #end
+ -- 项目进展(学校专用)
+ #sql("tjxmJz")
+ select id,year,subject_id,subject_name,date_format(lixiang_time, '%Y-%m-%d') as lixiang_time,step_code,step_name,
+ step_order_id,big_step_name,
+ all_step_count,is_finish_flag,is_current,org_code,begin_time,end_time,duration,days_limit,
+ date_diff_count,create_time,yq_count from t_gtzz_sy_laststep where org_code='#(org_code)'
+ #end
+ -- 获取结转的项目列表
+ #sql("getJzList")
+ select max(progress_id) as progress_id,
+ subject_id,org_code,org_name,subject_name,subject_type_id,subject_type_name,
+ year,step_code,step_name,begin_time,end_time,action_bureau,input_value,radio_id,
+ is_current,is_back_log,is_finish_flag,check_status,lixiang_time,bxlx_name,cxlx_name,
+ jsfa_type_id,task_number,data_type,is_finish_time from t_gtzz_progress where org_code='#(org_code)'
+ and is_finish_flag=#(is_finish_flag)
+ group by subject_id order by progress_id
+ #end
+ -- 归档列表
+ #sql("getGdList")
+ select org_code,org_name, sum(subject_count) as subject_count, sum(finish_count) as finish_count,
+ sum(close_count) as close_count, sum(jz_count) as jz_count, sum(yq_count) as yq_count,ROUND(sum(money),2) as money
+ from t_gtzz_sy_base_year where 1=1
+ #if(year)
+ and year=#(year)
+ #end
+ #if(org_code)
+ and org_code='#(org_code)'
+ #end
+ group by org_code,org_name order by sum(subject_count) desc
+ #end
+ -- 获取监理项目列表
+ #sql("getJlSubjectList")
+ select * from (select t1.*,
+ ifnull((select count(distinct group_question_id) from t_gtzz_jianli_question as t2 where t2.subject_id=t1.subject_id),0) as question_count,
+ ifnull((select count(distinct group_question_id) from t_gtzz_jianli_question as t2 where t2.subject_id=t1.subject_id and t2.state_id=3),0) as finish_count,
+ (select t4.begin_time from t_gtzz_progress as t4 where t4.subject_id=t1.subject_id and t4.step_code='0301' and t4.progress_id='#(being_date)' and ta.qd_time <='#(end_date) 23:59:59'
+ #end
+ #if(keyword)
+ and (ta.subject_name like '%#(keyword)%' or ta.org_name like '%#(keyword)%')
+ #end
+ order by ta.begin_time desc
+ #end
+ -- 获取指定项目的监理流水
+ #sql("getSubjectQuestion")
+ select t1.* from t_gtzz_jianli_question as t1 where t1.group_question_id=t1.progress_id
+ and t1.subject_id=#(subject_id)
+ #if(question_level_id)
+ and t1.question_level_id=#(question_level_id)
+ #end
+ #if(question_type_id)
+ and t1.question_type_id=#(question_type_id)
+ #end
+ #if(begin_date)
+ and t1.create_time between '#(begin_date)' and '#(end_date) 23:59:59'
+ #end
+ #if(state_id)
+ and t1.state_id=#(state_id)
+ #end
+ order by t1.progress_id desc
+ #end
+ -- ==========统计分析 ============================================================================================================================================
+ -- p_shouye_init_base_year
+ -- 插入单位数据
+ -- 刷新频率:项目变更+项目单位变更
+ -- 策略:项目变更时更新
+ #sql("insertBureauData")
+ insert into t_gtzz_sy_base_year(org_code,org_name,year)
+ select t1.org_code,t1.org_name,t2.year from t_gtzz_school as t1 cross join
+ (select distinct sbnd as year from t_gtzz_subject) as t2
+ #end
+
+ -- 按年度更新项目总数
+ -- 策略:项目变更时更新
+ #sql("updateProjectCountByYear")
+ update t_gtzz_sy_base_year as t1, (select org_code,sbnd,count(1) as subject_count from t_gtzz_subject group by org_code,sbnd) as t2
+ set t1.subject_count=t2.subject_count where t1.org_code=t2.org_code and t1.year=t2.sbnd;
+ #end
+
+ -- 按年度更新预算金额
+ #sql("updateMoneyByYear")
+ update t_gtzz_sy_base_year p,(select org_code,sbnd, sum(ifnull(money,0)) as money
+ from t_gtzz_subject group by org_code,sbnd) as s set p.money = s.money
+ where p.org_code = s.org_code and p.year=s.sbnd
+ #end
+
+ -- p_shouye_init_laststep
+ #sql("get_02_step_count")
+ select count(1) as c from (select step_order_id from t_gtzz_step where step_code like '02%' and LENGTH(step_code)=4 group by step_order_id ) as t1
+ #end
+
+ #sql("get_03_step_count")
+ select count(1) as c from (select step_order_id from t_gtzz_step where step_code like '03%' and LENGTH(step_code)=4 group by step_order_id ) as t1
+ #end
+
+ -- 按年度+单位查询完成个数、关闭个数、延期个数
+ #sql("getRefreshCountByYearOrgCode")
+ select t1.id, t1.year,t1.org_code,
+ (select count(distinct t2.subject_id) from t_gtzz_progress as t2 where t2.is_finish_flag=1 and t2.year=t1.year and t2.org_code=t1.org_code) as c1,
+ (select count(distinct t2.subject_id) from t_gtzz_progress as t2 where t2.is_finish_flag=2 and t2.year=t1.year and t2.org_code=t1.org_code) as c2,
+ (select ifnull(sum(t2.yq_count),0) from t_gtzz_sy_laststep as t2 where t2.year =t1.year and t2.org_code =t1.org_code) as c3
+ from t_gtzz_sy_base_year as t1
+ #end
+ -- 0:未完成项目流程,1:已完成项目流程,2:项目流程已取消,3:项目结转,本年结束,转入明年。
+ #sql("laststep_1")
+ insert into t_gtzz_sy_laststep(year,subject_id,step_code,is_finish_flag,is_current,org_code,begin_time,end_time,subject_name,lixiang_time)
+ select year,subject_id,step_code,is_finish_flag,is_current,org_code,begin_time,end_time,subject_name,lixiang_time from t_gtzz_progress where progress_id in
+ (select progress_id from (select max(progress_id),subject_id from t_gtzz_progress group by subject_id) as ta)
+ #end
+ -- 对于结束时间为空的,写入当前时间
+ #sql("laststep_2")
+ update t_gtzz_sy_laststep set end_time=now() where end_time is null
+ #end
+ -- 补充步骤名称和内部排序号
+ #sql("laststep_3")
+ update t_gtzz_sy_laststep as t1,t_gtzz_step as t2 set t1.step_name=t2.step_name,t1.days_limit=t2.days_limit where t1.step_code=t2.step_code
+ #end
+ #sql("laststep_4")
+ update t_gtzz_sy_laststep as t1,t_gtzz_step as t2 set t1.step_order_id=t2.in_order_id where t1.step_code=t2.step_code and t1.step_code like '02%'
+ #end
+ #sql("laststep_5")
+ update t_gtzz_sy_laststep as t1,t_gtzz_step as t2 set t1.step_order_id=#para(v_02_step_count)+t2.in_order_id where t1.step_code=t2.step_code and t1.step_code like '03%'
+ #end
+ -- 补充大类名称
+ -- 写入运行时长
+ -- 写入超时时长
+ #sql("laststep_6")
+ update t_gtzz_sy_laststep as t1 set t1.duration=datediff(end_time,begin_time),
+ t1.date_diff_count=days_limit-duration,
+ t1.big_step_name=(select step_name from t_gtzz_step as t2 where substr(t1.step_code,1,2)=t2.step_code),
+ t1.all_step_count=#para(v_02_step_count)+#para(v_03_step_count)
+ #end
+#end
\ No newline at end of file
diff --git a/dsBase/target/classes/Sql/loginPerson.sql b/dsBase/target/classes/Sql/loginPerson.sql
new file mode 100644
index 00000000..7a150e6f
--- /dev/null
+++ b/dsBase/target/classes/Sql/loginPerson.sql
@@ -0,0 +1,251 @@
+-- 登录命名空间
+#namespace("loginPerson")
+
+ -- 获取指定身份的最大主键号
+ #sql("getMaxPkByIdentityId")
+ select ifnull(max(identity_pk_num),0) as identity_pk_num from t_sys_loginperson where identity_id=?
+ #end
+ -- 删除一个人员:通过单位ID
+ #sql("deletePersonByBureauId")
+ update t_sys_loginperson set b_use=0,operator=?,ip_address=? where bureau_id=? and identity_id=4
+ #end
+
+ -- 删除一个人员:通过人员编号
+ #sql("deletePersonById")
+ UPDATE t_sys_loginperson
+ SET b_use = 0,status_code=?,operator=?,ip_address=?
+ WHERE
+ person_id = ?
+ #end
+
+ -- 根据学生ID获取家长ID
+ #sql("getParentInfoByStudentId")
+ select person_id from t_sys_loginperson where p_child_id=?
+ #end
+
+ -- 修改密码
+ #sql("changePwd")
+ update t_sys_loginperson set operator=?,ip_address=?,original_pwd=?,pwd=?,pwdmd5=? where person_id=?
+ #end
+
+ -- 获取指定人员所在的区域信息
+ #sql("getLoginPersonAreaInfo")
+ select city_id,area_id from t_sys_loginperson where person_id=?
+ #end
+
+ -- 根据person_id获取是否已绑定了手机号
+ #sql("getIsBindPhoneNum")
+ select ifnull(telephone, 0) as telephone from t_sys_loginperson where b_use = 1 and person_id = ?
+ #end
+
+ -- 根据person_id获取是否已绑定了邮箱
+ #sql("getIsBindEmail")
+ select ifnull(email, 0) as email from t_sys_loginperson where b_use = 1 and person_id = ?
+ #end
+
+ -- 根据person_id获取是否已绑定了QQ
+ #sql("getIsBindQq")
+ select ifnull(qq_openid, 0) as qq_openid from t_sys_loginperson where b_use = 1 and person_id = ?
+ #end
+
+ -- 根据person_id获取是否已绑定了微信
+ #sql("getIsBindWx")
+ select ifnull(wx_openid, 0) as wx_openid from t_sys_loginperson where b_use = 1 and person_id = ?
+ #end
+
+ -- 人员与手机号绑定
+ #sql("bindPersonPhoneNum")
+ update t_sys_loginperson set telephone= ?,operator=?,ip_address=? where person_id = ?
+ #end
+
+ -- 人员与邮箱绑定
+ #sql("bindPersonEmail")
+ update t_sys_loginperson set email= ?,operator=?,ip_address=? where person_id = ?
+ #end
+
+ -- 获取一个QQ的openId获了是否已存在
+ #sql("getQqOpenIdIsExist")
+ select person_id from t_sys_loginperson where b_use = 1 and qq_openid =?
+ #end
+
+ -- 绑定QQ
+ #sql("bindPersonQq")
+ update t_sys_loginperson set qq_openid= ?,operator=?,ip_address=? where person_id = ?
+ #end
+
+ -- 获取一个微信的openId获了是否已存在
+ #sql("getWxOpenIdIsExist")
+ select person_id from t_sys_loginperson where b_use = 1 and wx_openid =?
+ #end
+
+ -- 绑定微信
+ #sql("bindPersonWx")
+ update t_sys_loginperson set wx_openid= ?,operator=?,ip_address=? where person_id = ?
+ #end
+
+ -- 根据人员的ID获取此人员的登录信息
+ #sql("getLoginInfoByPersonId")
+select person_id,person_name,identity_id,login_name,pwd,original_pwd,xb,zzmm,mz,idcard_code,birthday,create_time,sort_id,telephone,wx_openid,qq_openid,email,status_code,b_use,identity_pk_num,city_id,area_id,main_school_id,bureau_id,org_id,s_class_id,s_xjh,s_xjfh,s_source,
+ t_duty_charge,t_xl_id,t_zc_id,t_stage_id,t_subject_id,telephone,date_format(t_teaching_date,'%Y-%m-%d') as t_teaching_date,p_child_id,
+ update_ts from t_sys_loginperson where person_id =?
+ #end
+
+ -- 根据单位号获取下面正常教师的个数
+ #sql("getTeacherCountByBureauId")
+ select count(1) as c from t_sys_loginperson where bureau_id=? and b_use=1 and identity_id=5
+ #end
+
+ -- 根据部门获取下面正常教师的个数
+ #sql("getTeacherCountByOrgId")
+ select count(1) as c from t_sys_loginperson where org_id=? and b_use=1 and identity_id=5
+ #end
+
+ -- 根据单位号获取下面正常学生的个数
+ #sql("getStudentCountByBureauId")
+ select count(1) as c from t_sys_loginperson where bureau_id=? and b_use=1 and identity_id=6
+ #end
+
+ -- 根据单位号获取下面正常家长的个数
+ #sql("getParentCountByBureauId")
+ select count(1) as c from t_sys_loginperson where bureau_id=? and b_use=1 and identity_id=7
+ #end
+
+ -- 根据身份证号获取是否存在
+ #sql("getIdCardIsExist")
+ select person_id from t_sys_loginperson where b_use = 1 and idcard_code=?
+ #end
+
+ -- 根据手机号获取是否存在
+ #sql("getTelephoneIsExist")
+ select person_id from t_sys_loginperson where b_use = 1 and telephone=?
+ #end
+
+ -- 根据邮箱获取是否存在
+ #sql("getEmailIsExist")
+ select person_id from t_sys_loginperson where b_use = 1 and email=?
+ #end
+
+ -- 根据身份证号和人员ID获取是否存在
+ #sql("getIdCardIsExistByPersonId")
+ select person_id from t_sys_loginperson where b_use = 1 and idcard_code=? and person_id<>?
+ #end
+
+ -- 根据手机号和人员ID获取是否存在
+ #sql("getTelephoneIsExistByPersonId")
+ select person_id from t_sys_loginperson where b_use = 1 and telephone=? and person_id<>?
+ #end
+
+ -- 根据邮箱获和人员ID获取是否存在
+ #sql("getEmailIsExistByPersonId")
+ select person_id from t_sys_loginperson where b_use = 1 and email=? and person_id<>?
+ #end
+
+
+ -- 市管理员
+ #sql("getPrintCityManager")
+ select person_id,person_name,login_name,original_pwd,pwd from t_sys_loginperson where identity_id =2 order by sort_id
+ #end
+
+ -- 市直属单位
+ #sql("getPrintCityBureau")
+ select person_id,person_name,login_name,original_pwd,pwd from t_sys_loginperson where identity_id =4
+ order by sort_id
+ #end
+
+ -- 县区管理员
+ #sql("getPrintAreaManager")
+ select person_id,person_name,login_name,original_pwd,pwd from t_sys_loginperson where identity_id =3 order by sort_id
+ #end
+
+ -- 指定县区的单位
+ #sql("getPrintAreaBureau")
+ select person_id,person_name,login_name,original_pwd,pwd from t_sys_loginperson where identity_id =4 and area_id=#para(0) order by sort_id
+ #end
+ -- 更改人员的所在部门
+ #sql("changePersonBureau")
+ update t_sys_loginperson set city_id=?,area_id=?,main_school_id=?,bureau_id=?,org_id=?,operator=?,ip_address=? where person_id=?
+ #end
+
+ -- 更改学生、家长的所在班级
+ #sql("changePersonClass")
+ update t_sys_loginperson set city_id=?,area_id=?,main_school_id=?,bureau_id=?,s_class_id=?,operator=?,ip_address=? where person_id=?
+ #end
+
+ -- 检查身份证号与数据库中的身份证号重复,教师
+ #sql("checkRepeatidcardByTeacherImport")
+ select t1.idcard_code from t_import_teacher_by_excel as t1 where t1.batch_id=?
+ and t1.idcard_code_aes in (select idcard_code from t_sys_loginperson as t2 where t2.b_use=1)
+ #end
+ -- 检查身份证号与数据库中的身份证号重复,学生
+ #sql("checkRepeatidcardByStudentImport")
+ select t1.idcard_code from t_import_student_by_excel as t1 where t1.batch_id=?
+ and t1.idcard_code_aes in (select idcard_code from t_sys_loginperson as t2 where t2.b_use=1)
+ #end
+
+ -- 使用单位ID填充部门ID
+ #sql("fillOrgIdByBureauId")
+ update t_import_teacher_by_excel set org_id=bureau_id where batch_id=? and org_name=''
+ #end
+
+ -- 有哪些部门需要检查
+ #sql("needCheckOrgName")
+ select org_name from t_import_teacher_by_excel where batch_id=? and org_name!='' group by org_name
+ #end
+
+ -- 有哪些班级需要检查
+ #sql("needCheckClassName")
+ select class_name,stage_id from t_import_student_by_excel where batch_id=? group by class_name,stage_id
+ #end
+
+ -- 找到本次教师导入批次的组织机构名称有哪些
+ #sql("selectBatchInfoTeacher")
+ select * from t_import_teacher_by_excel where batch_id=?
+ #end
+ #sql("selectBatchInfoStudent")
+ select * from t_import_student_by_excel where batch_id=?
+ #end
+
+ -- 根据导入的ID,修改部门编号
+ #sql("UpdateOrgIdByImportTeacherId")
+ update t_import_teacher_by_excel set org_id=? where id=?
+ #end
+
+ -- 根据导入的ID,修改班级编号
+ #sql("UpdateOrgIdByImportStudentId")
+ update t_import_student_by_excel set class_id=? where id=?
+ #end
+
+ --删除导入的临时数据,通过batchId
+ #sql("deleteByBatchId")
+ delete from t_import_teacher_by_excel where batch_id=?
+ #end
+
+ -- 根据人员ID,获取教师的学段id
+ #sql("getStageInfoByTeacherId")
+ select t_stage_id as s_stage_id from t_sys_loginperson where person_id=?
+ #end
+ -- 根据人员ID,获取学生的学段id
+ #sql("getStageInfoByStudentId")
+ select s_stage_id from t_sys_loginperson where person_id=?
+ #end
+-- 根据人员ID,获取家长的学段id
+ #sql("getStageInfoByParentId")
+ select s_stage_id from t_sys_loginperson where person_id=?
+ #end
+
+ -- 根据主、子账号获取信息
+ #sql("getMountAccountInfo")
+ select id,person_id,identity_id,main_person_id,main_identity_id,account_type from t_sys_account_mount where main_person_id = ? and person_id = ?
+ #end
+
+ -- 挂载子账号
+ #sql("mountSubAccount")
+ insert into t_sys_account_mount (person_id,identity_id,main_person_id,main_identity_id,account_type) values (?,?,?,?,?)
+ #end
+
+ -- 根据人员ID和密码,验证是不是合法,用于修改新密码
+ #sql("checkPwdByPersonId")
+ select count(*) as c from t_sys_loginperson where person_id=? and pwd=?
+ #end
+
+#end
\ No newline at end of file
diff --git a/dsBase/target/classes/Sql/menu.sql b/dsBase/target/classes/Sql/menu.sql
new file mode 100644
index 00000000..360b8830
--- /dev/null
+++ b/dsBase/target/classes/Sql/menu.sql
@@ -0,0 +1,78 @@
+-- 菜单命名空间
+#namespace("menu")
+ -- 获取获取异步接口
+ #sql("selectChildAsync")
+select t1.menu_id,t1.menu_name,t1.parent_id,t1.sort_id,t1.url,t1.memo,t1.create_time,t1.update_ts,t1.level_id,
+ (select count(1) from t_base_menu as t2 where t1.menu_id=t2.parent_id) as is_leaf
+from t_base_menu as t1 where parent_id=? order by t1.sort_id
+ #end
+
+ -- 获取全部菜单
+ #sql("selectAll")
+ select t1.menu_id as id,t1.menu_name as name,t1.parent_id as pId,t1.sort_id,t1.url,t1.memo,t1.create_time,t1.update_ts,t1.level_id,
+ (select count(1) from t_base_menu as t2 where t1.menu_id=t2.parent_id) as is_leaf
+ from t_base_menu as t1 order by t1.sort_id
+ #end
+ -- 获取所有不为学校提供的数据
+ #sql("selectNotForSchool")
+ select menu_id from t_base_menu where for_school=0
+ #end
+ -- 获取所有不为单位提供的数据
+ #sql("selectNotForBureau")
+ select menu_id from t_base_menu where for_bureau=0
+ #end
+
+ --删除指定菜单ID
+ #sql("deletePrivilageByMenuId")
+ delete from t_base_menu_privilage where menu_id=?
+ #end
+
+ -- 根据菜单ID返回这个菜单的可用身份
+ #sql("selectIdentityByMenuId")
+select identity_id from t_base_menu_privilage where menu_id=?
+ #end
+
+ -- 获取指定的节点信息
+ #sql("selectSingle")
+ select t1.menu_id,t1.menu_name,t1.parent_id,t1.sort_id,t1.url,t1.memo,
+ t1.create_time,t1.update_ts,t1.level_id,t1.for_school,t1.for_bureau,
+ t1.icon,t1.isFull,
+ (select count(1) from t_base_menu as t2 where t1.menu_id=t2.parent_id) as is_leaf
+ from t_base_menu as t1 where t1.menu_id=?
+ #end
+
+ -- 通过身份获取有哪些菜单ID
+ #sql("selectMenuByIdentityId")
+ select menu_id from t_base_menu_privilage where identity_id=?
+ union
+ select 1
+ #end
+
+ -- 查询菜单的ids
+ #sql("selectMenuForIds")
+ select t1.menu_id,t1.menu_name,t1.parent_id,t1.sort_id,t1.url,t1.memo,t1.create_time,t1.update_ts,t1.level_id,
+ (select count(1) from t_base_menu as t2 where t1.menu_id=t2.parent_id) as is_leaf
+ from t_base_menu as t1 where t1.menu_id in
+ (
+ #for(x:ids)
+ #(for.index == 0 ? "" : ",") #para(x)
+ #end
+ ) order by t1.sort_id
+ #end
+
+ -- 删除指定职务+分管工作的所有菜单,准备重新设置
+ #sql("deleteMenuByDutyInCharge")
+ delete from t_base_principalship_menu where duties_id=#(duties_id) and in_charge_id=#(in_charge_id)
+ #end
+
+ -- 获取指定职务+分管工作的所有菜单,用于显示
+ #sql("selectMenuByDutyInCharge")
+ select duties_id,in_charge_id,menu_id from t_base_principalship_menu where duties_id=? and in_charge_id=?
+ #end
+
+ -- 人员根据职务+分管工作可见的菜单
+ #sql("selectMenuByPersonId")
+ select distinct menu_id from t_base_principalship_menu as t1 inner join t_person_duty_charge as t2 on t1.duties_id=t2.`duties_id`
+ and t1.in_charge_id=t2.`in_charge_id` where t2.person_id=? and t2.b_use=1
+ #end
+#end
\ No newline at end of file
diff --git a/dsBase/target/classes/Sql/organization.sql b/dsBase/target/classes/Sql/organization.sql
new file mode 100644
index 00000000..09c0c270
--- /dev/null
+++ b/dsBase/target/classes/Sql/organization.sql
@@ -0,0 +1,122 @@
+-- 组织机构命名空间
+#namespace("organization")
+
+ -- 获取组织机构的最大主键号
+ #sql("getMaxPkByOrg")
+ select ifnull(max(org_pk_num),0) as org_pk_num from t_base_organization
+ #end
+ -- 获取指定单位或组织机构的信息
+ #sql("getOrgInfoById")
+ select org_id,org_code,org_name,parent_id,org_type_id,school_type_id,sort_id,create_time,department_type_id,
+ update_ts,b_use,org_pk_num,ifnull(city_id, -1) as city_id,ifnull(area_id, -1) as area_id,
+ ifnull(main_school_id, -1) as main_school_id,bureau_id,property_id,level_id
+ from t_base_organization where org_id=? and b_use=1
+ #end
+
+ -- 判断一个组织机构号是不是单位
+ #sql("IsBureau")
+ select count(1) as c from t_base_organization where org_id=? and org_id=bureau_id
+ #end
+
+
+ -- 根据单位号获取下面正常部门的个数
+ #sql("getOrgCountByBureauId")
+ select count(1) as c from t_base_organization where bureau_id=? and org_id<>? and b_use=1
+ #end
+
+
+ -- 删除一个机构
+ #sql("deleteOrgById")
+ update t_base_organization set b_use=0,operator=?,ip_address=? where org_id=?
+ #end
+
+ -- 判断此ORG_CODE是不是存在
+ #sql("getOrgCodeCount")
+ select count(1) as c from t_base_organization where org_code=? and b_use=1
+ #end
+
+ -- 判断此ORG_CODE是不是存在(排除自己用于修改)
+ #sql("getOrgCodeCountExceptSelf")
+ select count(1) as c from t_base_organization where org_code=? and org_id!=? and b_use=1
+ #end
+
+ -- 获取部门列表
+ #sql("getOrgList")
+ select * from t_base_organization where parent_id=#para(0) and b_use=1 order by sort_id
+ #end
+
+ -- 获取学校列表
+ #sql("getSchoolList")
+ select t1.org_id,t1.org_code,t1.org_name,t1.parent_id,t1.org_type_id,t1.school_type_id,t1.sort_id,
+ t1.create_time,t1.update_ts,t1.b_use,t1.org_pk_num,t1.city_id,t1.area_id,t1.main_school_id,t1.bureau_id,
+ (select t2.school_type_name from t_dm_schooltype as t2 where t2.school_type_id=t1.school_type_id) as school_type_name
+ from t_base_organization as t1 where t1.parent_id=#para(0) and t1.b_use=1 and t1.school_type_id>0
+ #end
+
+ -- 获取学校列表(指定学校类型)
+ #sql("getSchoolListBySchoolType")
+ select t1.org_id,t1.org_code,t1.org_name,t1.parent_id,t1.org_type_id,
+ t1.school_type_id,t1.sort_id,t1.create_time,t1.update_ts,t1.b_use,
+ t1.org_pk_num,t1.city_id,t1.area_id,t1.main_school_id,t1.bureau_id,
+ (select t2.school_type_name from t_dm_schooltype as t2 where t2.school_type_id=t1.school_type_id) as school_type_name
+ from t_base_organization as t1 where t1.parent_id=#para(0) and t1.b_use=1 and t1.school_type_id =#para(1)
+ #end
+
+
+ -- 获取单位列表
+ #sql("getBureauList")
+ select t1.org_id,t1.org_code,t1.org_name,t1.parent_id,t1.org_type_id,
+ (select t2.name from t_base_org_type_principalship as t2 WHERE t2.id=t1.org_type_id) as org_type_name,
+ t1.school_type_id,t1.sort_id,t1.create_time,
+ t1.update_ts,t1.b_use,t1.org_pk_num,t1.city_id,t1.area_id,t1.main_school_id,t1.bureau_id
+ from t_base_organization as t1 where t1.parent_id=#para(0) and t1.school_type_id<=0 and t1.b_use=1 order by t1.sort_id,t1.update_ts
+ #end
+
+ -- 获取单位列表(指定单位类型)
+ #sql("getBureauListByBureauType")
+ select t1.org_id,t1.org_code,t1.org_name,t1.parent_id,t1.org_type_id,
+ (select t2.name from t_base_org_type_principalship as t2 WHERE t2.id=t1.org_type_id) as org_type_name,
+ t1.school_type_id,t1.sort_id,t1.create_time,
+ t1.update_ts,t1.b_use,t1.org_pk_num,t1.city_id,t1.area_id,t1.main_school_id,t1.bureau_id
+ from t_base_organization as t1 where t1.parent_id=#para(0) and t1.school_type_id<=0 and t1.org_type_id = #para(1)
+ and t1.b_use=1 order by t1.sort_id,t1.update_ts
+ #end
+
+ -- 组织机构部门树
+ #sql("getOrgTreeByBureauId")
+ select org_id,org_name,(case when bureau_id=org_id then '-1' else parent_id end) as parent_id,bureau_id,school_type_id,department_type_id from t_base_organization where bureau_id=?
+ and b_use=1 order by sort_id,update_ts
+ #end
+
+ -- 传入一个区域ID,获取它下面的学校
+ #sql("getSchoolListByAreaId")
+ select org_id,org_code,org_name from t_base_organization where (city_id=#para(0) or area_id=#para(1)) and b_use=1 and is_bureau=1
+ and org_name like #para(2) and school_type_id>0 order by area_id,sort_id
+ #end
+ -- 传入一个区域ID,获取它下面的单位
+ #sql("getBureauListByAreaId")
+ select org_id,org_code,org_name from t_base_organization where (city_id=#para(0) or area_id=#para(1)) and b_use=1 and is_bureau=1
+ and org_name like #para(2) and school_type_id<=0 order by area_id,sort_id
+ #end
+ -- 传入一个区域ID,获取它下面全部
+ #sql("getAllListByAreaId")
+ select org_id,org_code,org_name from t_base_organization where (city_id=#para(0) or area_id=#para(1)) and b_use=1 and is_bureau=1
+ and org_name like #para(2) order by area_id,sort_id
+ #end
+
+ --传入一个单位ID,获取它的一级部门有哪些
+ #sql("getFirstLevelOrgName")
+ select org_id,org_name from t_base_organization where bureau_id=? and parent_id=? and b_use=1
+ #end
+
+ #sql("getZyClassSelectTreeLevel1")
+ select t1.org_id,t1.org_name,t1.parent_id,(select count(1) from t_base_organization as t2 where t1.parent_id=t2.org_id) as cnt
+ from t_base_organization as t1 where t1.bureau_id='#(bureau_id)'
+ and ((t1.department_type_id =1) or (t1.department_type_id =2 and t1.parent_id='#(bureau_id)'))
+ #end
+
+ #sql("getZyClassSelectTreeLevel2")
+ select org_id,org_name,parent_id,0 as cnt from t_base_organization where bureau_id='#(bureau_id)'
+ and (department_type_id =2 and parent_id<>'#(bureau_id)')
+ #end
+#end
\ No newline at end of file
diff --git a/dsBase/target/classes/Sql/student.sql b/dsBase/target/classes/Sql/student.sql
new file mode 100644
index 00000000..283f6939
--- /dev/null
+++ b/dsBase/target/classes/Sql/student.sql
@@ -0,0 +1,67 @@
+#namespace("student")
+
+ -- 根据学生的ID获取家长的信息
+ #sql("getParentByChildId")
+ select * from t_sys_loginperson where p_child_id=?
+ #end
+
+ -- 获取学生列表
+ #sql("getStudentOrParentList")
+ SELECT
+ t1.person_id,
+ t1.person_name,
+ t1.login_name,
+ IFNULL(t1.xb, '1') AS xb,
+ t1.original_pwd,
+ t1.pwd,
+ (select count(*) as c from t_transfer_apply as t2 where t2.person_id=t1.person_id and t2.status_id=1 and t2.b_use=1)
+ as apply_status
+ FROM
+ t_sys_loginperson as t1
+ WHERE
+ t1.b_use = 1
+ AND t1.identity_id = #para(0)
+ AND t1.s_class_id = #para(1) order by t1.sort_id
+ #end
+
+ -- 获取学生列表按学生姓名
+ #sql("getStudentOrParentListByPersonName")
+ SELECT
+ t1.person_id,
+ t1.person_name,
+ t1.login_name,
+ IFNULL(t1.xb, '1') AS xb,
+ t1.original_pwd,
+ (select count(*) as c from t_transfer_apply as t2 where t2.person_id=t1.person_id and t2.status_id=1 and t2.b_use=1)
+ as apply_status
+ FROM
+ t_sys_loginperson as t1
+ WHERE
+ t1.b_use = 1
+ AND t1.identity_id = #para(0)
+ AND t1.s_class_id = #para(1)
+ AND t1.person_name LIKE concat('%',#para(2),'%') order by t1.sort_id
+ #end
+
+
+ -- 根据学生ID获取学生信息
+ #sql("getStudentInfoByPersonId")
+ SELECT
+ person_id,
+ person_name,
+ IFNULL(xb, '1') AS xb,
+ IFNULL(mz, '01') AS mz,
+ idcard_code,
+ birthday,
+ zzmm,
+ (case when s_xjh='-1' then '' else s_xjh end) AS xjh,
+ (case when s_xjfh='-1' then '' else s_xjfh end) AS xjfh,
+ s_source AS stu_source,
+ sort_id
+ FROM
+ t_sys_loginperson
+ WHERE
+ b_use = 1
+ AND person_id = ?
+ #end
+#end
\ No newline at end of file
diff --git a/dsBase/target/classes/Sql/studentYd.sql b/dsBase/target/classes/Sql/studentYd.sql
new file mode 100644
index 00000000..c5b9d4bb
--- /dev/null
+++ b/dsBase/target/classes/Sql/studentYd.sql
@@ -0,0 +1,91 @@
+#namespace("studentYd")
+
+ -- 获取学生状态列表
+ #sql("get_dm_status_student")
+ select status_code,status_name,b_use,change_person_b_use,is_show from t_dm_status_student where b_use=1 and is_show=1
+ #end
+
+ -- 获取学生状态列表ByCode
+ #sql("get_dm_status_student_by_code")
+ select status_code,status_name,b_use,change_person_b_use,is_show from t_dm_status_student where b_use=1 and is_show=1 and status_code=?
+ #end
+
+ -- 修改人员主表的人员状态
+ #sql("updateStudentStatus")
+ update t_sys_loginperson set b_use=?,status_code=?,operator=?,ip_address=? where person_id=?
+ #end
+
+
+ -- 判断一个学生是不是可以申请调转
+ #sql("checkAllowStudentTransferApply")
+ select t1.id,t1.source_bureau_id,t1.target_bureau_id,
+ (select t2.org_name from t_base_organization as t2 where t2.org_id=t1.source_bureau_id) as source_bureau_name,
+ (select t2.org_name from t_base_organization as t2 where t2.org_id=t1.target_bureau_id) as target_bureau_name,
+ t1.identity_id,t1.person_id,t1.person_name,t1.status_id,t1.target_is_read,t1.source_is_read,t1.apply_time,
+ t1.apply_message,t1.echo_time,t1.echo_message,t1.b_use
+ from t_transfer_apply as t1 where t1.b_use=1 and t1.person_id=? order by t1.apply_time desc
+ #end
+
+ -- 获取学生调动申请列表
+ #sql("getStudentTransferApplyList")
+ select t1.id,t1.source_bureau_id,t1.target_bureau_id,
+ (select t2.class_name from t_base_class as t2 where t2.class_id=(select t3.s_class_id from t_sys_loginperson as t3 where t3.person_id=t1.person_id)) as class_name,
+ (select t2.org_name from t_base_organization as t2 where t2.org_id=t1.source_bureau_id) as source_bureau_name,
+ (select t2.org_name from t_base_organization as t2 where t2.org_id=t1.target_bureau_id) as target_bureau_name,
+ t1.identity_id,t1.person_id,t1.person_name,t1.status_id,t1.target_is_read,t1.source_is_read,t1.apply_time,
+ t1.apply_message,t1.echo_time,t1.echo_message,t1.b_use
+ from t_transfer_apply as t1 where t1.source_bureau_id=#para(0) and t1.person_name LIKE concat('%',#para(1),'%')
+ and t1.b_use=1 and t1.identity_id=6 order by t1.apply_time desc
+ #end
+
+ -- 获取学生调动反馈列表
+ #sql("getStudentTransferEchoList")
+ select t1.id,t1.source_bureau_id,t1.target_bureau_id,
+ (select t2.class_name from t_base_class as t2 where t2.class_id=(select t3.s_class_id from t_sys_loginperson as t3 where t3.person_id=t1.person_id)) as class_name,
+ (select t2.org_name from t_base_organization as t2 where t2.org_id=t1.source_bureau_id) as source_bureau_name,
+ (select t2.org_name from t_base_organization as t2 where t2.org_id=t1.target_bureau_id) as target_bureau_name,
+ t1.identity_id,t1.person_id,t1.person_name,t1.status_id,t1.target_is_read,t1.source_is_read,t1.apply_time,
+ t1.apply_message,t1.echo_time,t1.echo_message,t1.b_use
+ from t_transfer_apply as t1 where t1.target_bureau_id=#para(0)
+ and t1.person_name LIKE concat('%',#para(1),'%') and t1.b_use=1 and t1.identity_id=6
+ order by t1.apply_time desc
+ #end
+
+ -- 获取指定ID的学生调转申请
+ #sql("getStudentTransferInfoById")
+ select t1.id,t1.source_bureau_id,t1.target_bureau_id,
+ (select t2.class_name from t_base_class as t2 where t2.class_id=(select t3.s_class_id from t_sys_loginperson as t3 where t3.person_id=t1.person_id)) as class_name,
+ (select t2.org_name from t_base_organization as t2 where t2.org_id=t1.source_bureau_id) as source_bureau_name,
+ (select t2.org_name from t_base_organization as t2 where t2.org_id=t1.target_bureau_id) as target_bureau_name,
+ t1.identity_id,t1.person_id,t1.person_name,t1.status_id,t1.target_is_read,t1.source_is_read,t1.apply_time,
+ t1.apply_message,t1.echo_time,t1.echo_message,t1.b_use
+ from t_transfer_apply as t1 where id=?
+ #end
+
+ -- 删除指定的调转ID
+ #sql("deleteTransferInfoById")
+ update t_transfer_apply set b_use=0,operator=?,ip_address=? where id=?
+ #end
+
+ -- 获取学生调转申请的未读取个数
+ #sql("getNewStudentTransferApplyCount")
+ select count(1) as c from t_transfer_apply where b_use=1 and target_is_read=0 and status_id=1
+ and target_bureau_id=? and identity_id=6
+ #end
+
+ -- 教师调转提醒(收到新的回执)
+ #sql("getNewStudentTransferEchoCount")
+ select count(1) as c from t_transfer_apply where b_use=1 and source_is_read=0 and status_id>1
+ and source_bureau_id=? and identity_id=6
+ #end
+
+ -- 调转的三种状态
+ #sql("getTransferApplyStatus")
+ select apply_status_id,apply_status_name,for_check from t_transfer_apply_status where for_check=1
+ #end
+
+ --判断一个人是不是处于待审核状态
+ #sql("getPersonStatus")
+ select count(*) as c from t_transfer_apply where person_id=? and b_use=1 and status_id=1
+ #end
+#end
\ No newline at end of file
diff --git a/dsBase/target/classes/Sql/teacher.sql b/dsBase/target/classes/Sql/teacher.sql
new file mode 100644
index 00000000..5b33494c
--- /dev/null
+++ b/dsBase/target/classes/Sql/teacher.sql
@@ -0,0 +1,90 @@
+#namespace("teacher")
+
+ -- 通过部门ID获取教师列表
+ #sql("getTeacherListByOrgId")
+ SELECT
+ t1.person_id,
+ t1.person_name,
+ t1.login_name,
+ IFNULL(t1.xb, '1') AS xb,
+ t1.original_pwd,
+ t1.pwd,
+ (select count(*) as c from t_transfer_apply as t2 where t2.person_id=t1.person_id and t2.status_id=1 and t2.b_use=1)
+ as apply_status
+ FROM
+ t_sys_loginperson as t1
+ WHERE
+ t1.b_use = 1
+ AND t1.identity_id = 5
+ AND t1.org_id = #para(0) order by t1.sort_id
+ #end
+
+ -- 通过单位ID获取教师列表
+ #sql("getTeacherListByBureauId")
+ SELECT
+ t1.person_id,
+ t1.person_name,
+ t1.login_name,
+ IFNULL(t1.xb, '1') AS xb,
+ t1.original_pwd,
+ t1.pwd,
+ (select count(*) as c from t_transfer_apply as t2 where t2.person_id=t1.person_id and t2.status_id=1 and t2.b_use=1)
+ as apply_status
+ FROM
+ t_sys_loginperson as t1
+ WHERE
+ t1.b_use = 1
+ AND t1.identity_id = 5
+ AND t1.bureau_id = #para(0) order by t1.sort_id
+ #end
+
+ -- 按教师姓名获取教师列表
+ #sql("getTeacherListByOrgIdPersonName")
+ SELECT
+ t1.person_id,
+ t1.person_name,
+ t1.login_name,
+ IFNULL(t1.xb, '1') AS xb,
+ t1.original_pwd,
+ t1.pwd,
+ (select count(*) as c from t_transfer_apply as t2 where t2.person_id=t1.person_id and t2.status_id=1 and t2.b_use=1)
+ as apply_status
+ FROM
+ t_sys_loginperson as t1
+ WHERE
+ t1.b_use = 1
+ AND t1.identity_id = 5
+ AND t1.org_id = #para(0)
+ AND t1.person_name LIKE concat('%',#para(1),'%') order by t1.sort_id
+ #end
+
+ -- 按教师姓名,通过单位 获取教师列表
+ #sql("getTeacherListByPersonNameAndBureauId")
+ SELECT
+ t1.person_id,
+ t1.person_name,
+ t1.login_name,
+ IFNULL(t1.xb, '1') AS xb,
+ t1.original_pwd,
+ t1.pwd,
+ (select count(*) as c from t_transfer_apply as t2 where t2.person_id=t1.person_id and t2.status_id=1 and t2.b_use=1)
+ as apply_status
+ FROM
+ t_sys_loginperson as t1
+ WHERE
+ t1.b_use = 1
+ AND t1.identity_id = 5
+ AND t1.bureau_id = #para(0)
+ AND t1.person_name LIKE concat('%',#para(1),'%') order by t1.sort_id
+ #end
+
+ -- 更改人员的部门
+ #sql("changeOrgByPersonIdAndOrgId")
+ update t_sys_loginperson set org_id=?,operator=?,ip_address=? where person_id=?
+ #end
+
+ --删除指定人员的职务与分管工作
+ #sql("deleteDutuesAndChargeByPersonId")
+ update t_person_duty_charge set b_use=0,operator=?,ip_address=? where person_id=?
+ #end
+#end
\ No newline at end of file
diff --git a/dsBase/target/classes/Sql/teacherYd.sql b/dsBase/target/classes/Sql/teacherYd.sql
new file mode 100644
index 00000000..ba4c82c9
--- /dev/null
+++ b/dsBase/target/classes/Sql/teacherYd.sql
@@ -0,0 +1,88 @@
+#namespace("teacherYd")
+
+ -- 获取教师状态列表
+ #sql("get_dm_status_teacher")
+ select status_code,status_name,b_use,change_person_b_use,is_show from t_dm_status_teacher where b_use=1 and is_show=1
+ #end
+
+ -- 获取教师状态列表ByCode
+ #sql("get_dm_status_teacher_by_code")
+ select status_code,status_name,b_use,change_person_b_use from t_dm_status_teacher where b_use=1 and is_show=1 and status_code=?
+ #end
+
+ -- 修改人员主表的人员状态
+ #sql("updateTeacherStatus")
+ update t_sys_loginperson set b_use=?,status_code=?,operator=?,ip_address=? where person_id=?
+ #end
+
+
+ -- 判断一个教师是不是可以申请调转
+ #sql("checkAllowTeacherTransferApply")
+ select t1.id,t1.source_bureau_id,t1.target_bureau_id,
+ (select t2.org_name from t_base_organization as t2 where t2.org_id=t1.source_bureau_id) as source_bureau_name,
+ (select t2.org_name from t_base_organization as t2 where t2.org_id=t1.target_bureau_id) as target_bureau_name,
+ t1.identity_id,t1.person_id,t1.person_name,t1.status_id,t1.target_is_read,t1.source_is_read,t1.apply_time,
+ t1.apply_message,t1.echo_time,t1.echo_message,t1.b_use
+ from t_transfer_apply as t1 where t1.b_use=1 and t1.person_id=? order by t1.apply_time desc
+ #end
+
+ -- 获取教师调动申请列表
+ #sql("getTeacherTransferApplyList")
+ select t1.id,t1.source_bureau_id,t1.target_bureau_id,
+ (select t2.org_name from t_base_organization as t2 where t2.org_id=t1.source_bureau_id) as source_bureau_name,
+ (select t2.org_name from t_base_organization as t2 where t2.org_id=t1.target_bureau_id) as target_bureau_name,
+ t1.identity_id,t1.person_id,t1.person_name,t1.status_id,t1.target_is_read,t1.source_is_read,t1.apply_time,
+ t1.apply_message,t1.echo_time,t1.echo_message,t1.b_use
+ from t_transfer_apply as t1 where t1.source_bureau_id=#para(0) and t1.person_name LIKE concat('%',#para(1),'%')
+ and t1.b_use=1 and t1.identity_id=5 order by t1.apply_time desc
+ #end
+
+ -- 获取教师调动反馈列表
+ #sql("getTeacherTransferEchoList")
+ select t1.id,t1.source_bureau_id,t1.target_bureau_id,
+ (select t2.org_name from t_base_organization as t2 where t2.org_id=t1.source_bureau_id) as source_bureau_name,
+ (select t2.org_name from t_base_organization as t2 where t2.org_id=t1.target_bureau_id) as target_bureau_name,
+ t1.identity_id,t1.person_id,t1.person_name,t1.status_id,t1.target_is_read,t1.source_is_read,t1.apply_time,
+ t1.apply_message,t1.echo_time,t1.echo_message,t1.b_use
+ from t_transfer_apply as t1 where t1.target_bureau_id=#para(0)
+ and t1.person_name LIKE concat('%',#para(1),'%') and t1.b_use=1 and t1.identity_id=5
+ order by t1.apply_time desc
+ #end
+
+ -- 获取指定ID的教师调转申请
+ #sql("getTeacherTransferInfoById")
+ select t1.id,t1.source_bureau_id,t1.target_bureau_id,
+ (select t2.org_name from t_base_organization as t2 where t2.org_id=t1.source_bureau_id) as source_bureau_name,
+ (select t2.org_name from t_base_organization as t2 where t2.org_id=t1.target_bureau_id) as target_bureau_name,
+ t1.identity_id,t1.person_id,t1.person_name,t1.status_id,t1.target_is_read,t1.source_is_read,t1.apply_time,
+ t1.apply_message,t1.echo_time,t1.echo_message,t1.b_use
+ from t_transfer_apply as t1 where id=?
+ #end
+
+ -- 删除指定的调转ID
+ #sql("deleteTransferInfoById")
+ update t_transfer_apply set b_use=0,operator=?,ip_address=? where id=?
+ #end
+
+ -- 获取教师调转申请的未读取个数
+ #sql("getNewTeacherTransferApplyCount")
+ select count(1) as c from t_transfer_apply where b_use=1 and target_is_read=0 and status_id=1 and
+ target_bureau_id=? and identity_id=5
+ #end
+
+ -- 教师调转提醒(收到新的回执)
+ #sql("getNewTeacherTransferEchoCount")
+ select count(1) as c from t_transfer_apply where b_use=1 and source_is_read=0 and status_id>1
+ and source_bureau_id=? and identity_id=5
+ #end
+
+ -- 调转的三种状态
+ #sql("getTransferApplyStatus")
+ select apply_status_id,apply_status_name,for_check from t_transfer_apply_status where for_check=1
+ #end
+
+ --判断一个人是不是处于待审核状态
+ #sql("getPersonStatus")
+ select count(*) as c from t_transfer_apply where person_id=? and b_use=1 and status_id=1
+ #end
+#end
\ No newline at end of file
diff --git a/dsBase/target/classes/application_ali.yaml b/dsBase/target/classes/application_ali.yaml
new file mode 100644
index 00000000..0af87d49
--- /dev/null
+++ b/dsBase/target/classes/application_ali.yaml
@@ -0,0 +1,31 @@
+# 上传文件的临时路径
+uploadTempPath: /tmp
+# JWT
+SECRET: ZXZnZWVr5b+r5LmQ5L2g55qE5Ye66KGM
+# 生成Token的密码
+CookieMd5SingPwd: DsideaL4r5t6y7u
+
+mysql:
+ # 数据库信息
+ driverClassName: com.mysql.cj.jdbc.Driver
+ user: ylt
+ password: Ycharge666
+ jdbcUrl : jdbc:mysql://rm-bp1ux6tuk49er80t9.mysql.rds.aliyuncs.com:3306/ds_db?useUnicode=true&characterEncoding=UTF-8
+
+
+redis:
+ ip: r-bp14c1p5j5lkpw1jc2.redis.rds.aliyuncs.com
+ port: 6379
+ password: Ycharge666
+
+# ==============================================================
+jwt:
+ # 生成Token的密码
+ CookieMd5SingPwd: DsideaL4r5t6y7u
+
+excel:
+ # 导出excel 的模板配置路径
+ excelExportTemplatePathSuffix: /ExcelExportTemplate/
+ # 导入excel 的模板配置路径
+ ExcelImportTemplatePathSuffix: /ExcelImportTemplate/
+
diff --git a/dsBase/target/classes/application_dev.yaml b/dsBase/target/classes/application_dev.yaml
new file mode 100644
index 00000000..7673bd7f
--- /dev/null
+++ b/dsBase/target/classes/application_dev.yaml
@@ -0,0 +1,28 @@
+# 上传文件的临时路径
+uploadTempPath: c:/Windows/Temp
+# JWT
+SECRET: ZXZnZWVr5b+r5LmQ5L2g55qE5Ye66KGM
+# 生成Token的密码
+CookieMd5SingPwd: DsideaL4r5t6y7u
+
+mysql:
+ # 数据库信息
+ driverClassName: com.mysql.cj.jdbc.Driver
+ user: root
+ password: DsideaL147258369
+ jdbcUrl : jdbc:mysql://10.10.14.210:22066/ds_db?rewriteBatchedStatements=true&useUnicode=true&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
+
+
+redis:
+ ip: 10.10.14.210
+ port: 18890
+ password:
+
+# ==============================================================
+
+excel:
+ # 导出excel 的模板配置路径
+ excelExportTemplatePathSuffix: /ExcelExportTemplate/
+ # 导入excel 的模板配置路径
+ ExcelImportTemplatePathSuffix: /ExcelImportTemplate/
+
diff --git a/dsBase/target/classes/application_pro.yaml b/dsBase/target/classes/application_pro.yaml
new file mode 100644
index 00000000..0af87d49
--- /dev/null
+++ b/dsBase/target/classes/application_pro.yaml
@@ -0,0 +1,31 @@
+# 上传文件的临时路径
+uploadTempPath: /tmp
+# JWT
+SECRET: ZXZnZWVr5b+r5LmQ5L2g55qE5Ye66KGM
+# 生成Token的密码
+CookieMd5SingPwd: DsideaL4r5t6y7u
+
+mysql:
+ # 数据库信息
+ driverClassName: com.mysql.cj.jdbc.Driver
+ user: ylt
+ password: Ycharge666
+ jdbcUrl : jdbc:mysql://rm-bp1ux6tuk49er80t9.mysql.rds.aliyuncs.com:3306/ds_db?useUnicode=true&characterEncoding=UTF-8
+
+
+redis:
+ ip: r-bp14c1p5j5lkpw1jc2.redis.rds.aliyuncs.com
+ port: 6379
+ password: Ycharge666
+
+# ==============================================================
+jwt:
+ # 生成Token的密码
+ CookieMd5SingPwd: DsideaL4r5t6y7u
+
+excel:
+ # 导出excel 的模板配置路径
+ excelExportTemplatePathSuffix: /ExcelExportTemplate/
+ # 导入excel 的模板配置路径
+ ExcelImportTemplatePathSuffix: /ExcelImportTemplate/
+
diff --git a/dsBase/target/classes/cron4j.properties b/dsBase/target/classes/cron4j.properties
new file mode 100644
index 00000000..b75e22f0
--- /dev/null
+++ b/dsBase/target/classes/cron4j.properties
@@ -0,0 +1,24 @@
+# cron 表达式由五部分组成:分 时 天 月 周 # 分 :从 0 到 59 # 时 :从 0 到 23 # 天 :从 1 到 31,字母 L 可以表示月的最后一天 # 月 :从 1 到 12,可以别名:jan", "feb", "mar", "apr", "may", "jun", "jul", "aug", "sep", "oct", "nov" and "dec"
+# 周 :从 0 到 6,0 表示周日,6 表示周六,可以使用别名: "sun", "mon", "tue", "wed", "thu", "fri" and "sat"
+#
+# 数字 n:表示一个具体的时间点,例如 5 * * * * 表示 5 分这个时间点时执行
+# 逗号 , :表示指定多个数值,例如 3,5 * * * * 表示 3 和 5 分这两个时间点执行
+# 减号 -:表示范围,例如 1-3 * * * * 表示 1 分、2 分再到 3 分这三个时间点执行
+# 星号 *:表示每一个时间点,例如 * * * * * 表示每分钟执行
+# 除号 /:表示指定一个值的增加幅度。例如 n/m表示从 n 开始,每次增加 m 的时间点执行
+# cron4j 集成cron 只有 分 时 天 月 周 没有秒
+cron4j=clearRubbish,backup
+
+# 每天凌晨2点执行一次
+clearRubbish.cron=0 2 * * *
+clearRubbish.class=com.dsideal.dsBase.clearRubbish.clearRubbishAction
+clearRubbish.daemon=true
+clearRubbish.enable=true
+
+# 每天凌晨2点执行一次,备份数据库
+backup.cron=0 2 * * *
+backup.class=Backup.BackupAll
+backup.daemon=true
+backup.enable=true
+
+
diff --git a/dsBase/target/classes/log4j.properties b/dsBase/target/classes/log4j.properties
new file mode 100644
index 00000000..625cca1e
--- /dev/null
+++ b/dsBase/target/classes/log4j.properties
@@ -0,0 +1,12 @@
+log4j.rootLogger=WARN, console
+log4j.appender.console=org.apache.log4j.ConsoleAppender
+log4j.appender.console.layout=org.apache.log4j.PatternLayout
+log4j.appender.console.layout.conversionPattern=%5p [%t] (%F:%L) - %m%n
+
+log4j.appender.mq=org.apache.rocketmq.logappender.log4j.RocketmqLog4jAppender
+log4j.appender.mq.Topic=TOPIC_MEIWEI_SMS_NOTICE_TEST
+log4j.appender.mq.Tag=PID_MEIWEI_SMS_RETRY_TIMEOUT
+log4j.appender.mq.ProducerGroup=meiwei-producer-retry
+log4j.appender.mq.NameServerAddress=127.0.0.1:9876;127.0.0.1:9877
+log4j.appender.mq.layout=org.apache.log4j.PatternLayout
+log4j.appender.mq.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-4r [%t] (%F:%L) %
\ No newline at end of file
diff --git a/dsBase/target/classes/logback.xml b/dsBase/target/classes/logback.xml
new file mode 100644
index 00000000..2c24fb65
--- /dev/null
+++ b/dsBase/target/classes/logback.xml
@@ -0,0 +1,39 @@
+
+
+
+
+
+
+
+
+ %date{yyyy-MM-dd HH:mm:ss.SSS} %boldYellow([%thread]) %highlight(%-5level) %boldGreen(%logger{40})
+ - %msg%n
+
+
+
+
+
+ ${LOG_HOME}/dsBase.log
+
+
+ ${LOG_HOME}/dsBase.log.%d{yyyy-MM-dd}.log
+
+ 30
+
+
+
+ %date{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{40} - %msg%n
+
+
+
+ 100MB
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dsBase/target/classes/logo.txt b/dsBase/target/classes/logo.txt
new file mode 100644
index 00000000..450e2587
--- /dev/null
+++ b/dsBase/target/classes/logo.txt
@@ -0,0 +1,13 @@
+
+ __ _______
+ / | / \
+ ____$$ | _______ $$$$$$$ | ______ _______ ______
+ / $$ | / |$$ |__$$ | / \ / | / \
+/$$$$$$$ |/$$$$$$$/ $$ $$< $$$$$$ |/$$$$$$$/ /$$$$$$ |
+$$ | $$ |$$ \ $$$$$$$ | / $$ |$$ \ $$ $$ |
+$$ \__$$ | $$$$$$ |$$ |__$$ |/$$$$$$$ | $$$$$$ |$$$$$$$$/
+$$ $$ |/ $$/ $$ $$/ $$ $$ |/ $$/ $$ |
+ $$$$$$$/ $$$$$$$/ $$$$$$$/ $$$$$$$/ $$$$$$$/ $$$$$$$/
+
+
+power by http://patorjk.com/software/taag/
\ No newline at end of file
diff --git a/dsBase/target/classes/undertow_dev.properties b/dsBase/target/classes/undertow_dev.properties
new file mode 100644
index 00000000..0308a392
--- /dev/null
+++ b/dsBase/target/classes/undertow_dev.properties
@@ -0,0 +1,36 @@
+# true 值支持热加载
+undertow.devMode=true
+undertow.port=8001
+undertow.host=0.0.0.0
+#undertow.resourcePath =/root/dsBase/WebRoot,classpath:static
+#undertow.resourcePath =D:/dsWork/dsProject/dsbase/WebRoot,classpath:static
+
+# 目录名称
+undertow.contextPath=/dsBase
+
+# 设定I/O线程数.
+server.undertow.io-threads=8
+
+# 设定工作线程数
+server.undertow.worker-threads=60
+
+# 查询当前某程序的线程或进程数
+# yum install psmisc -y
+# ps -e | grep java | awk '{print $1}
+# pstree -p 15453 | wc -l
+
+# gzip 压缩开关
+undertow.gzip.enable=true
+# 配置压缩级别,默认值 -1。 可配置 1 到 9。 1 拥有最快压缩速度,9 拥有最高压缩率
+undertow.gzip.level=-1
+# 触发压缩的最小内容长度
+undertow.gzip.minLength=1024
+
+# 开启access日志
+server.undertow.accesslog.enabled=true
+server.undertow.accesslog.pattern=%t %a "%r" %s (%D ms)
+
+# ssl 开启时,是否开启 http2。检测该配置是否生效在 chrome 地址栏中输入: chrome://net-internals/#http2
+#undertow.http2.enable=true
+
+#http://www.jfinal.com/doc/1-4
diff --git a/dsBase/target/classes/undertow_pro.properties b/dsBase/target/classes/undertow_pro.properties
new file mode 100644
index 00000000..63bd941a
--- /dev/null
+++ b/dsBase/target/classes/undertow_pro.properties
@@ -0,0 +1,35 @@
+# true 值支持热加载
+undertow.devMode=true
+undertow.port=8001
+undertow.host=0.0.0.0
+#undertow.resourcePath =/root/WebRoot,classpath:static
+
+# 目录名称
+undertow.contextPath=/dsBase
+
+# 设定I/O线程数.
+server.undertow.io-threads=8
+
+# 设定工作线程数
+server.undertow.worker-threads=60
+
+# 查询当前某程序的线程或进程数
+# yum install psmisc -y
+# ps -e | grep java | awk '{print $1}
+# pstree -p 15453 | wc -l
+
+# gzip 压缩开关
+undertow.gzip.enable=true
+# 配置压缩级别,默认值 -1。 可配置 1 到 9。 1 拥有最快压缩速度,9 拥有最高压缩率
+undertow.gzip.level=-1
+# 触发压缩的最小内容长度
+undertow.gzip.minLength=1024
+
+# 开启access日志
+server.undertow.accesslog.enabled=true
+server.undertow.accesslog.pattern=%t %a "%r" %s (%D ms)
+
+# ssl 开启时,是否开启 http2。检测该配置是否生效在 chrome 地址栏中输入: chrome://net-internals/#http2
+#undertow.http2.enable=true
+
+#http://www.jfinal.com/doc/1-4
diff --git a/dsBuild/target/classes/.kube/config b/dsBuild/target/classes/.kube/config
new file mode 100644
index 00000000..d9277637
--- /dev/null
+++ b/dsBuild/target/classes/.kube/config
@@ -0,0 +1,19 @@
+apiVersion: v1
+clusters:
+- cluster:
+ certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURCVENDQWUyZ0F3SUJBZ0lJQ3pNUkpBbEJVSzB3RFFZSktvWklodmNOQVFFTEJRQXdGVEVUTUJFR0ExVUUKQXhNS2EzVmlaWEp1WlhSbGN6QWVGdzB5TkRBNU1URXdPREUyTlRSYUZ3MHpOREE1TURrd09ESXhOVFJhTUJVeApFekFSQmdOVkJBTVRDbXQxWW1WeWJtVjBaWE13Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLCkFvSUJBUUNobzZhakc4RVFiNktyUDhnd3BpOEoyMFFNRGxRNGYvYkJJSGVCVS9mN28yc3ZjcmRPUktvVGxDVnQKMHpvWmJuZHhrd0pNaURBZVJ4Z3R2NHBQTnFwNlV4M2tMZ1NqRE55Mnl4NThUOXdEc3M5YkJvNUlza01GZ2JNUQp3K3NGWEVCelN5R3B0aVA2L3FKbU5mYVlQcWhIRkRpdlJkRjFqTVJKK2JpNlNTakhPSmJ6aXhnd2VjSFMxdVY0CmZldkczNWROckZCZEI4WVNmczY0cGwvOXdiWC84S0s5M1ovWUF1K1RVNUF4T0FhY0c5U3FKWEZQajJoS01QT3gKcHYwc1ExTVIxSmduazF1MEx6T2RoWDdOOTkydThRRVZHQ1hwQmRjOWxVQSt4MmhPc2lUWjE1WW1GWmxQdStmYgo4UjhvYitNZ0NIdGNkUUtzOXFFSnB3L1h3aU1qQWdNQkFBR2pXVEJYTUE0R0ExVWREd0VCL3dRRUF3SUNwREFQCkJnTlZIUk1CQWY4RUJUQURBUUgvTUIwR0ExVWREZ1FXQkJUZk9hNWlyRmJBSGdxaVZkMFFnRURia2s1QlpEQVYKQmdOVkhSRUVEakFNZ2dwcmRXSmxjbTVsZEdWek1BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQWpzQ3pXUTFnKwprc0lvNTg5Y1ZncFVOSFlIaWhVRXlpcDhUbE1ySGR3eFBuU0dOaFNyS0haTGJkVWZnWWorR2x3QlRHcXVrL3JzCmR0dWZWUmxaNXA1ZlUzZSs2SW5CY0xmWFdEaGRRMFlvSUpzSU4rbUZCL01haDBjQkxlQzZqOWN1eXArcWllUXAKMml6ZDJzb1F6cjN2TmlQM3l1T0NOU0dGdFBvdXRHUis5YWJzVC9lYUMzVTJvcFo4Tm5KenVFb2ljQnV4ZWt2SApIZVZadHhCT3l5QkpWbzEyZzdmTVhuSm1PRlR6TmhCdVpzVFZ1cndTZTdPTmtLOUVsbHBXeCtWcGRhOXdPZ3NOCmFId010Qkc1YUJVTDU0T0Fac004eXpJaldtb0dPZzBySkl1Mjk0YTNXTjJhR2UrMHFWdVdpV2U4N2k1SWVNcHAKSE05amswUVBrbjFaCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
+ server: https://10.10.14.200:6443
+ name: kubernetes
+contexts:
+- context:
+ cluster: kubernetes
+ user: kubernetes-admin
+ name: kubernetes-admin@kubernetes
+current-context: kubernetes-admin@kubernetes
+kind: Config
+preferences: {}
+users:
+- name: kubernetes-admin
+ user:
+ client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURLVENDQWhHZ0F3SUJBZ0lJWmVoaXMzR3dHVUF3RFFZSktvWklodmNOQVFFTEJRQXdGVEVUTUJFR0ExVUUKQXhNS2EzVmlaWEp1WlhSbGN6QWVGdzB5TkRBNU1URXdPREUyTlRSYUZ3MHlOVEE1TVRFd09ESXlNREJhTUR3eApIekFkQmdOVkJBb1RGbXQxWW1WaFpHMDZZMngxYzNSbGNpMWhaRzFwYm5NeEdUQVhCZ05WQkFNVEVHdDFZbVZ5CmJtVjBaWE10WVdSdGFXNHdnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFEcDFvNzcKNzJaOWhERVdJQWVldm5YYXVWRG5aZkdlNGF2Ly90cDhudjlHTHBNd2hOT0JaaEpZNE55SkhhQTdYVTAvVTVBYwpSWG01VVNJb0NaRU9FQXpjNW9kOGNZNm5sOE9qMUhxa0dDZG1ZcllpMUVKRElDdnJ4d1phQ2RCRVYxNzJ1WFJYCitSY1hxaDdlcWRPRDJ4SHl0N2ZBZXFHQ3NSVjNnbFJ3ak5DMUovalFnRmtYUGs3NXdXZDRDcXh4VVEvcXdNeUUKVVRlVTg0SHFTZzRzVzRpU1gwbm83YnBlNTZNRG8rMnZYTmVDQzQwZGNJMVRWZDAyc21PbEx6VGhtd1M4U05PSAo3bUdlSkJWZ2hlaXRyR3kwSjlWT1NXdyszVHl1NEdQZm1YbmhPeU5DUVR6UVMzUDNQNmlyNzR4UGRUci9JT2JrCno3bGE3SjdIdjV6MGZUcnhBZ01CQUFHalZqQlVNQTRHQTFVZER3RUIvd1FFQXdJRm9EQVRCZ05WSFNVRUREQUsKQmdnckJnRUZCUWNEQWpBTUJnTlZIUk1CQWY4RUFqQUFNQjhHQTFVZEl3UVlNQmFBRk44NXJtS3NWc0FlQ3FKVgozUkNBUU51U1RrRmtNQTBHQ1NxR1NJYjNEUUVCQ3dVQUE0SUJBUUI5dzRmd2RhS1R3L3YxODlhK01LbHM3c3NTCml5SnNDd0RDQUtHMnY4UmhNTXl6N2JkaTM0M1JOMFJHQnU5bGZKWk0zNWlpNXA1c29nK2NGcnlBb1FYVVI5cmEKS0NBS1VXNUg5eE90Qm95S3hYaXFkNTd6WWs5VVlUNDdEYkh4VllSaVgwNWZpaWM0NVNxT0pBNUdzUGNDdmlObwowYVo0MnFISTkrVnB5WXN5TGN1eGd3U1lkR1h5VjdiR1liclVDZmpwNk5USnVOTEh0NTl4VGtaNWNsZzdCTEFNCkVPV2E3WWVZWDE3VUdHbmh6YUN1WngvNzJZaXBWdkNLdjR5VXRTZVJpMm1HRnpZWXBoSmpXdm9wR1VoQUM5MWYKTlFUWEE1ZU9VTTZpOFo2OG5YRE9WUWFTb3BNbnZvZGM2UDlwSFR6YkVHdGdmdW82czI2dkoyRTZsUlVUCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
+ client-key-data: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFb3dJQkFBS0NBUUVBNmRhTysrOW1mWVF4RmlBSG5yNTEycmxRNTJYeG51R3IvLzdhZko3L1JpNlRNSVRUCmdXWVNXT0RjaVIyZ08xMU5QMU9RSEVWNXVWRWlLQW1SRGhBTTNPYUhmSEdPcDVmRG85UjZwQmduWm1LMkl0UkMKUXlBcjY4Y0dXZ25RUkZkZTlybDBWL2tYRjZvZTNxblRnOXNSOHJlM3dIcWhnckVWZDRKVWNJelF0U2Y0MElCWgpGejVPK2NGbmVBcXNjVkVQNnNETWhGRTNsUE9CNmtvT0xGdUlrbDlKNk8yNlh1ZWpBNlB0cjF6WGdndU5IWENOClUxWGROckpqcFM4MDRac0V2RWpUaCs1aG5pUVZZSVhvcmF4c3RDZlZUa2xzUHQwOHJ1QmozNWw1NFRzalFrRTgKMEV0ejl6K29xKytNVDNVNi95RG01TSs1V3V5ZXg3K2M5SDA2OFFJREFRQUJBb0lCQVFDcklpNlVyTmxLUk9PVAp1Szg2KzFMUFYwNmhleGRBMnhJQkVTZ2ZpbEZ5c0lWaVBlTjQwUlhlVy9xcWtyY0FtMEQ4ZHBDQ1VFcE1XTmR4Cmk4YlFEdWtMQmQva01FdGgxZzBGS216ekNRWlV4U3RkQkJEV2hZWC9VVElSMVJySjJWT1RwNWhCQmZoamhrcC8KVkxTS3pGb3ZVMHMwbjhyeUZkMkxFQ1B5RnV4cmxzWWk3dlAwSmIyMllFTTJqZXBaZ1dVU3FyR2xQWmo3YmZ2SApZbC9MSGZ3bmM5cU1VUzJHV2tDeUR5bWdCSVJ1SnA1S0FSTTNRaHd1UlhsekFiT1hSUFZyd3FXKzlEdHpzT0x3CkRITDNXYytYVG90QkJmZ2RkdG1leHNlRmp2TFF1QlQ5ZUI1RHg1dDRGQU9lRUM2T09Fa0R1RHM2dWpmYUNIK3IKa0s5RE56TTlBb0dCQU82dGkyS0xjaEkvYUZEQ3ZDcGJpUWl3RUg1QnhNeU5rTVFnbDAxbUg4Vi9VckFxUTZxawpRcTRkSkZzYnl5NC9tVjZNTGE3eDRGM1c2Z04rQ1lvZEh3WmlDOGQzM3o5RzRFYjVrZUFZTml2VUR3bHRGYU54Clp4M0hRQ0RYV05LRzV4U2NVRmxIOU1iQjAyM2h3d2Y2ZmNEa0N6c2pHanJlWHpYOVJzT2dHOGF6QW9HQkFQclAKR0N6QXJ0QUh1YUVhbUVBMm9SN1kzWDJwaEdxQ3p4eWR5VWdNb1Zab0w5S0hhdmZqb3h3UW5leElMcDlZSnpXegpSUHlKRm5qK2JmU1VWYUdxMWNGTWhyVGZUL1NOSTZadUxEbmhybzczaWNnbXNIZG5lVURidUt4Nkg5NSs3Q1RkCmRJY1dxWXpBMncxOWk1UXlyMlM4RU91K0Fmb0QzREp0dk1OM3pDbkxBb0dBZEdGQzJlWk0xUUQrQ0lNcjVTdUYKQWl0M24xaktjVU9HRjF3YzZxeWxTVlB3S2Q0eDZINzMxSlo1SjhQQnF1ZHdEVjRrMkcwd2poRkJRanF1eEIyMwpCeEcvMUo5cXlCdnpPQ2h4TE9naFlmV2c3Mk8xYldEYWV2YXhHbEpuQ1NDbWhMSkRxNFVlb2R2WkVIZEk5aGI2ClFwZnZzZ0pIdy9TeVVFMFR1RWZWdzJrQ2dZQVQwOTFvWkU4dG1QNiswcmhva3lrSHBFTldWTmxvQmpGVFpOSHQKeFRuWDkrS1g5U2FxdEM5SDM3UnNZb1IxQ21ZSEk4WDNaT3NHNDY1VG9JcG9mblhwa3lBdkdseGF5L0dlamFVbgpha1QvZm1oQkQzWHg2cGMyWG1ocUVqbUV3R253dkNVakxOSjRreUorSFllMFRwRjVHRGtLT2ZvMEJxd1l2SDRvCndjYTlJd0tCZ0RPLzVxcnFzZFZOdHljZFduQ1BhU1orR3QyMGIyMDI1QzFXZXBraVd4ZWs4eTEzNDRkWnRQaWYKOFhoTVZpNzBhYkt3QWNBeVdlWmdKNXM5bm41NlFFcHlCRFN1L2o0Tk5CczZieGNwbUZ4d3phaTFJdkd5NGRVRwpialorZ2NXMXVFQTZDQ3FrYnQ0Smh2RkVEVUZmUUlQMUZaZ1JNc2g4OFpnZ2FjV2YrRktMCi0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg==
diff --git a/dsBuild/target/classes/publishImage.json b/dsBuild/target/classes/publishImage.json
new file mode 100644
index 00000000..6e6528b2
--- /dev/null
+++ b/dsBuild/target/classes/publishImage.json
@@ -0,0 +1,6 @@
+{
+ "host": "10.10.14.212",
+ "user": "root",
+ "pwd": "dsideal",
+ "port": 22
+}
diff --git a/dsGw/target/classes/application_ali.yaml b/dsGw/target/classes/application_ali.yaml
new file mode 100644
index 00000000..7604cfe6
--- /dev/null
+++ b/dsGw/target/classes/application_ali.yaml
@@ -0,0 +1,23 @@
+# 上传文件的临时路径
+uploadTempPath: /tmp
+# JWT
+SECRET: ZXZnZWVr5b+r5LmQ5L2g55qE5Ye66KGM
+# 生成Token的密码
+CookieMd5SingPwd: DsideaL4r5t6y7u
+
+# 路由
+route:
+ # 基础数据
+ dsBase:
+ url: http://ds-base:8001
+ # 资源库
+ dsRes:
+ url: http://ds-res:8002
+
+# 白名单
+whitelist:
+ # 全局变量获取
+ - /dsBase/global/getGlobalValueByKey
+ # 登录
+ - /dsBase/loginPerson/doLogin
+
diff --git a/dsGw/target/classes/application_dev.yaml b/dsGw/target/classes/application_dev.yaml
new file mode 100644
index 00000000..a1ad96f6
--- /dev/null
+++ b/dsGw/target/classes/application_dev.yaml
@@ -0,0 +1,28 @@
+# 上传文件的临时路径
+uploadTempPath: c:/Windows/Temp
+
+# JWT
+SECRET: ZXZnZWVr5b+r5LmQ5L2g55qE5Ye66KGM
+# 生成Token的密码
+CookieMd5SingPwd: DsideaL4r5t6y7u
+
+# 路由
+route:
+ # 基础数据
+ dsBase:
+ url: http://ds-base:8001
+ # 资源库
+ dsRes:
+ url: http://ds-res:8002
+
+
+
+# 白名单
+whitelist:
+ # 全局变量获取
+ - /dsBase/global/getGlobalValueByKey
+ # 登录
+ - /dsBase/loginPerson/doLogin
+ - /dsBase/loginPerson/doLoginV2
+ # 登录首页
+ - /dsBase/
diff --git a/dsGw/target/classes/application_pro.yaml b/dsGw/target/classes/application_pro.yaml
new file mode 100644
index 00000000..7604cfe6
--- /dev/null
+++ b/dsGw/target/classes/application_pro.yaml
@@ -0,0 +1,23 @@
+# 上传文件的临时路径
+uploadTempPath: /tmp
+# JWT
+SECRET: ZXZnZWVr5b+r5LmQ5L2g55qE5Ye66KGM
+# 生成Token的密码
+CookieMd5SingPwd: DsideaL4r5t6y7u
+
+# 路由
+route:
+ # 基础数据
+ dsBase:
+ url: http://ds-base:8001
+ # 资源库
+ dsRes:
+ url: http://ds-res:8002
+
+# 白名单
+whitelist:
+ # 全局变量获取
+ - /dsBase/global/getGlobalValueByKey
+ # 登录
+ - /dsBase/loginPerson/doLogin
+
diff --git a/dsGw/target/classes/logback.xml b/dsGw/target/classes/logback.xml
new file mode 100644
index 00000000..9f487643
--- /dev/null
+++ b/dsGw/target/classes/logback.xml
@@ -0,0 +1,39 @@
+
+
+
+
+
+
+
+
+ %date{yyyy-MM-dd HH:mm:ss.SSS} %boldYellow([%thread]) %highlight(%-5level) %boldGreen(%logger{40})
+ - %msg%n
+
+
+
+
+
+ ${LOG_HOME}/QingLong.log
+
+
+ ${LOG_HOME}/dsGw.log.%d{yyyy-MM-dd}.log
+
+ 30
+
+
+
+ %date{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{40} - %msg%n
+
+
+
+ 100MB
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dsGw/target/classes/logo.txt b/dsGw/target/classes/logo.txt
new file mode 100644
index 00000000..b5406466
--- /dev/null
+++ b/dsGw/target/classes/logo.txt
@@ -0,0 +1,11 @@
+
+ $$\ $$$$$$\
+ $$ | $$ __$$\
+ $$$$$$$ | $$$$$$$\ $$ / \__|$$\ $$\ $$\
+$$ __$$ |$$ _____|$$ |$$$$\ $$ | $$ | $$ |
+$$ / $$ |\$$$$$$\ $$ |\_$$ |$$ | $$ | $$ |
+$$ | $$ | \____$$\ $$ | $$ |$$ | $$ | $$ |
+\$$$$$$$ |$$$$$$$ |\$$$$$$ |\$$$$$\$$$$ |
+ \_______|\_______/ \______/ \_____\____/
+
+power by http://patorjk.com/software/taag/
\ No newline at end of file
diff --git a/dsGw/target/classes/undertow_dev.properties b/dsGw/target/classes/undertow_dev.properties
new file mode 100644
index 00000000..0d46552b
--- /dev/null
+++ b/dsGw/target/classes/undertow_dev.properties
@@ -0,0 +1,24 @@
+# true 值支持热加载
+undertow.devMode=false
+undertow.port=8000
+undertow.host=0.0.0.0
+
+# 目录名称
+undertow.contextPath=/
+
+# 设定I/O线程数.
+server.undertow.io-threads=8
+
+# 设定工作线程数
+server.undertow.worker-threads=60
+
+# gzip 压缩开关
+undertow.gzip.enable=true
+# 配置压缩级别,默认值 -1。 可配置 1 到 9。 1 拥有最快压缩速度,9 拥有最高压缩率
+undertow.gzip.level=-1
+# 触发压缩的最小内容长度
+undertow.gzip.minLength=1024
+
+# 开启access日志
+server.undertow.accesslog.enabled=false
+server.undertow.accesslog.pattern=%t %a "%r" %s (%D ms)
diff --git a/dsGw/target/classes/undertow_pro.properties b/dsGw/target/classes/undertow_pro.properties
new file mode 100644
index 00000000..eb94762a
--- /dev/null
+++ b/dsGw/target/classes/undertow_pro.properties
@@ -0,0 +1,25 @@
+# true 值支持热加载
+undertow.devMode=false
+undertow.port=8000
+undertow.host=0.0.0.0
+
+# 目录名称
+undertow.contextPath=/
+
+# 设定I/O线程数.
+server.undertow.io-threads=8
+
+# 设定工作线程数
+server.undertow.worker-threads=60
+
+# gzip 压缩开关
+undertow.gzip.enable=true
+# 配置压缩级别,默认值 -1。 可配置 1 到 9。 1 拥有最快压缩速度,9 拥有最高压缩率
+undertow.gzip.level=-1
+# 触发压缩的最小内容长度
+undertow.gzip.minLength=1024
+
+# 开启access日志
+server.undertow.accesslog.enabled=false
+server.undertow.accesslog.pattern=%t %a "%r" %s (%D ms)
+
diff --git a/dsRes.iml b/dsRes.iml
new file mode 100644
index 00000000..0c5c4d56
--- /dev/null
+++ b/dsRes.iml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dsRes/target/classes/SetMinioDownload.json b/dsRes/target/classes/SetMinioDownload.json
new file mode 100644
index 00000000..5955e673
--- /dev/null
+++ b/dsRes/target/classes/SetMinioDownload.json
@@ -0,0 +1,18 @@
+{
+ "Version": "2012-10-17",
+ "Statement": [{
+ "Effect": "Allow",
+ "Principal": {
+ "AWS": ["*"]
+ },
+ "Action": ["s3:GetBucketLocation", "s3:ListBucket"],
+ "Resource": ["arn:aws:s3:::dsideal"]
+ }, {
+ "Effect": "Allow",
+ "Principal": {
+ "AWS": ["*"]
+ },
+ "Action": ["s3:GetObject"],
+ "Resource": ["arn:aws:s3:::dsideal/*"]
+ }]
+}
\ No newline at end of file
diff --git a/dsRes/target/classes/Start.sh b/dsRes/target/classes/Start.sh
new file mode 100644
index 00000000..25b5b05d
--- /dev/null
+++ b/dsRes/target/classes/Start.sh
@@ -0,0 +1,19 @@
+#!/bin/bash
+
+# 容器名称
+CONTAINER_NAME=dsRes
+
+# 登录镜像仓库
+docker login --username=东师黄海 registry.cn-hangzhou.aliyuncs.com --password DsideaL4r5t6y7u
+# 镜像名称
+IMAGE_NAME=registry.cn-hangzhou.aliyuncs.com/dsideal/ds_base:dev_20240924140624
+
+# 删除容器
+docker rm -f ${CONTAINER_NAME}
+
+# 运行容器
+docker run -d --network=host --name "${CONTAINER_NAME}" \
+--privileged=true --env WORKING_ENV=dev -w /home -p 8002:8002 -v "$PWD/logs:/home/logs" --restart=always "${IMAGE_NAME}"
+
+# 查看日志
+docker logs -f --tail 500 "${CONTAINER_NAME}"
diff --git a/dsRes/target/classes/application_ali.yaml b/dsRes/target/classes/application_ali.yaml
new file mode 100644
index 00000000..0af87d49
--- /dev/null
+++ b/dsRes/target/classes/application_ali.yaml
@@ -0,0 +1,31 @@
+# 上传文件的临时路径
+uploadTempPath: /tmp
+# JWT
+SECRET: ZXZnZWVr5b+r5LmQ5L2g55qE5Ye66KGM
+# 生成Token的密码
+CookieMd5SingPwd: DsideaL4r5t6y7u
+
+mysql:
+ # 数据库信息
+ driverClassName: com.mysql.cj.jdbc.Driver
+ user: ylt
+ password: Ycharge666
+ jdbcUrl : jdbc:mysql://rm-bp1ux6tuk49er80t9.mysql.rds.aliyuncs.com:3306/ds_db?useUnicode=true&characterEncoding=UTF-8
+
+
+redis:
+ ip: r-bp14c1p5j5lkpw1jc2.redis.rds.aliyuncs.com
+ port: 6379
+ password: Ycharge666
+
+# ==============================================================
+jwt:
+ # 生成Token的密码
+ CookieMd5SingPwd: DsideaL4r5t6y7u
+
+excel:
+ # 导出excel 的模板配置路径
+ excelExportTemplatePathSuffix: /ExcelExportTemplate/
+ # 导入excel 的模板配置路径
+ ExcelImportTemplatePathSuffix: /ExcelImportTemplate/
+
diff --git a/dsRes/target/classes/application_dev.yaml b/dsRes/target/classes/application_dev.yaml
new file mode 100644
index 00000000..7673bd7f
--- /dev/null
+++ b/dsRes/target/classes/application_dev.yaml
@@ -0,0 +1,28 @@
+# 上传文件的临时路径
+uploadTempPath: c:/Windows/Temp
+# JWT
+SECRET: ZXZnZWVr5b+r5LmQ5L2g55qE5Ye66KGM
+# 生成Token的密码
+CookieMd5SingPwd: DsideaL4r5t6y7u
+
+mysql:
+ # 数据库信息
+ driverClassName: com.mysql.cj.jdbc.Driver
+ user: root
+ password: DsideaL147258369
+ jdbcUrl : jdbc:mysql://10.10.14.210:22066/ds_db?rewriteBatchedStatements=true&useUnicode=true&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
+
+
+redis:
+ ip: 10.10.14.210
+ port: 18890
+ password:
+
+# ==============================================================
+
+excel:
+ # 导出excel 的模板配置路径
+ excelExportTemplatePathSuffix: /ExcelExportTemplate/
+ # 导入excel 的模板配置路径
+ ExcelImportTemplatePathSuffix: /ExcelImportTemplate/
+
diff --git a/dsRes/target/classes/application_pro.yaml b/dsRes/target/classes/application_pro.yaml
new file mode 100644
index 00000000..c7378e3a
--- /dev/null
+++ b/dsRes/target/classes/application_pro.yaml
@@ -0,0 +1,28 @@
+# 上传文件的临时路径
+uploadTempPath: /tmp
+# JWT
+SECRET: ZXZnZWVr5b+r5LmQ5L2g55qE5Ye66KGM
+# 生成Token的密码
+CookieMd5SingPwd: DsideaL4r5t6y7u
+
+mysql:
+ # 数据库信息
+ driverClassName: com.mysql.cj.jdbc.Driver
+ user: root
+ password: DsideaL147258369
+ jdbcUrl : jdbc:mysql://10.10.14.210:22066/ds_db?rewriteBatchedStatements=true&useUnicode=true&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
+
+
+redis:
+ ip: 10.10.14.210
+ port: 18890
+ password:
+
+# ==============================================================
+
+excel:
+ # 导出excel 的模板配置路径
+ excelExportTemplatePathSuffix: /ExcelExportTemplate/
+ # 导入excel 的模板配置路径
+ ExcelImportTemplatePathSuffix: /ExcelImportTemplate/
+
diff --git a/dsRes/target/classes/log4j.properties b/dsRes/target/classes/log4j.properties
new file mode 100644
index 00000000..625cca1e
--- /dev/null
+++ b/dsRes/target/classes/log4j.properties
@@ -0,0 +1,12 @@
+log4j.rootLogger=WARN, console
+log4j.appender.console=org.apache.log4j.ConsoleAppender
+log4j.appender.console.layout=org.apache.log4j.PatternLayout
+log4j.appender.console.layout.conversionPattern=%5p [%t] (%F:%L) - %m%n
+
+log4j.appender.mq=org.apache.rocketmq.logappender.log4j.RocketmqLog4jAppender
+log4j.appender.mq.Topic=TOPIC_MEIWEI_SMS_NOTICE_TEST
+log4j.appender.mq.Tag=PID_MEIWEI_SMS_RETRY_TIMEOUT
+log4j.appender.mq.ProducerGroup=meiwei-producer-retry
+log4j.appender.mq.NameServerAddress=127.0.0.1:9876;127.0.0.1:9877
+log4j.appender.mq.layout=org.apache.log4j.PatternLayout
+log4j.appender.mq.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-4r [%t] (%F:%L) %
\ No newline at end of file
diff --git a/dsRes/target/classes/logback.xml b/dsRes/target/classes/logback.xml
new file mode 100644
index 00000000..2c24fb65
--- /dev/null
+++ b/dsRes/target/classes/logback.xml
@@ -0,0 +1,39 @@
+
+
+
+
+
+
+
+
+ %date{yyyy-MM-dd HH:mm:ss.SSS} %boldYellow([%thread]) %highlight(%-5level) %boldGreen(%logger{40})
+ - %msg%n
+
+
+
+
+
+ ${LOG_HOME}/dsBase.log
+
+
+ ${LOG_HOME}/dsBase.log.%d{yyyy-MM-dd}.log
+
+ 30
+
+
+
+ %date{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{40} - %msg%n
+
+
+
+ 100MB
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dsRes/target/classes/logo.txt b/dsRes/target/classes/logo.txt
new file mode 100644
index 00000000..b48587cd
--- /dev/null
+++ b/dsRes/target/classes/logo.txt
@@ -0,0 +1,11 @@
+
+ $$\ $$$$$$$\
+ $$ | $$ __$$\
+ $$$$$$$ | $$$$$$$\ $$ | $$ | $$$$$$\ $$$$$$$\
+$$ __$$ |$$ _____|$$$$$$$ |$$ __$$\ $$ _____|
+$$ / $$ |\$$$$$$\ $$ __$$< $$$$$$$$ |\$$$$$$\
+$$ | $$ | \____$$\ $$ | $$ |$$ ____| \____$$\
+\$$$$$$$ |$$$$$$$ |$$ | $$ |\$$$$$$$\ $$$$$$$ |
+ \_______|\_______/ \__| \__| \_______|\_______/
+
+power by http://patorjk.com/software/taag/
\ No newline at end of file
diff --git a/dsRes/target/classes/undertow_dev.properties b/dsRes/target/classes/undertow_dev.properties
new file mode 100644
index 00000000..f3c54a2e
--- /dev/null
+++ b/dsRes/target/classes/undertow_dev.properties
@@ -0,0 +1,34 @@
+# true 值支持热加载
+undertow.devMode=true
+undertow.port=8002
+undertow.host=0.0.0.0
+
+# 目录名称
+undertow.contextPath=/dsRes
+
+# 设定I/O线程数.
+server.undertow.io-threads=8
+
+# 设定工作线程数
+server.undertow.worker-threads=60
+
+# 查询当前某程序的线程或进程数
+# yum install psmisc -y
+# ps -e | grep java | awk '{print $1}
+# pstree -p 15453 | wc -l
+
+# gzip 压缩开关
+undertow.gzip.enable=true
+# 配置压缩级别,默认值 -1。 可配置 1 到 9。 1 拥有最快压缩速度,9 拥有最高压缩率
+undertow.gzip.level=-1
+# 触发压缩的最小内容长度
+undertow.gzip.minLength=1024
+
+# 开启access日志
+server.undertow.accesslog.enabled=true
+server.undertow.accesslog.pattern=%t %a "%r" %s (%D ms)
+
+# ssl 开启时,是否开启 http2。检测该配置是否生效在 chrome 地址栏中输入: chrome://net-internals/#http2
+#undertow.http2.enable=true
+
+#http://www.jfinal.com/doc/1-4
diff --git a/dsRes/target/classes/undertow_pro.properties b/dsRes/target/classes/undertow_pro.properties
new file mode 100644
index 00000000..f3c54a2e
--- /dev/null
+++ b/dsRes/target/classes/undertow_pro.properties
@@ -0,0 +1,34 @@
+# true 值支持热加载
+undertow.devMode=true
+undertow.port=8002
+undertow.host=0.0.0.0
+
+# 目录名称
+undertow.contextPath=/dsRes
+
+# 设定I/O线程数.
+server.undertow.io-threads=8
+
+# 设定工作线程数
+server.undertow.worker-threads=60
+
+# 查询当前某程序的线程或进程数
+# yum install psmisc -y
+# ps -e | grep java | awk '{print $1}
+# pstree -p 15453 | wc -l
+
+# gzip 压缩开关
+undertow.gzip.enable=true
+# 配置压缩级别,默认值 -1。 可配置 1 到 9。 1 拥有最快压缩速度,9 拥有最高压缩率
+undertow.gzip.level=-1
+# 触发压缩的最小内容长度
+undertow.gzip.minLength=1024
+
+# 开启access日志
+server.undertow.accesslog.enabled=true
+server.undertow.accesslog.pattern=%t %a "%r" %s (%D ms)
+
+# ssl 开启时,是否开启 http2。检测该配置是否生效在 chrome 地址栏中输入: chrome://net-internals/#http2
+#undertow.http2.enable=true
+
+#http://www.jfinal.com/doc/1-4