![上传成功后渲染]()
@@ -396,7 +396,7 @@
//拖拽上传
upload.render({
elem: "#uploadImg"
- , size: 20480
+ , size: 5120
, exts: 'jpg'
, url: "/FengHuang/yp/uploadPic"
, done: function (res) {
diff --git a/target/classes/Backup/BackupMysqlFullDataBase.sh b/target/classes/Backup/BackupMysqlFullDataBase.sh
new file mode 100644
index 0000000..e231783
--- /dev/null
+++ b/target/classes/Backup/BackupMysqlFullDataBase.sh
@@ -0,0 +1,30 @@
+#!/bin/bash
+
+# 备份目录
+backup_path="/usr/local/Backup"
+
+# 备份日期
+date_str=`date +%Y%m%d`
+
+# 备份的目录名称
+backup_path=/usr/local/Backup/base_db_${date_str}
+
+# 备份的文件名称
+FILE=${backup_path}.tar.gz
+
+# 备份
+rm -rf ${backup_path}
+mariabackup --backup --target-dir ${backup_path} --databases="base_db mysql" --user root --password DsideaL147258369
+
+# 压缩目录
+tar -czf ${FILE} ${backup_path}
+
+# 删除临时目录
+rm -rf ${backup_path}
+
+# 切片
+split -b 100m -d ${FILE} ${FILE}.
+
+# 删除原文件
+rm -rf ${FILE}
+
diff --git a/target/classes/Csv/1.txt b/target/classes/Csv/1.txt
new file mode 100644
index 0000000..8506b14
--- /dev/null
+++ b/target/classes/Csv/1.txt
@@ -0,0 +1,2 @@
+
+1
\ No newline at end of file
diff --git a/target/classes/Doc/2021年长春市教育装备分析报告.doc b/target/classes/Doc/2021年长春市教育装备分析报告.doc
new file mode 100644
index 0000000..ee1cd44
Binary files /dev/null and b/target/classes/Doc/2021年长春市教育装备分析报告.doc differ
diff --git a/target/classes/Doc/2021年长春市教育装备分析报告.pptx b/target/classes/Doc/2021年长春市教育装备分析报告.pptx
new file mode 100644
index 0000000..bc8b87c
Binary files /dev/null and b/target/classes/Doc/2021年长春市教育装备分析报告.pptx differ
diff --git a/target/classes/Doc/2021年长春市第一中学教育装备分析报告.doc b/target/classes/Doc/2021年长春市第一中学教育装备分析报告.doc
new file mode 100644
index 0000000..1b8ce56
Binary files /dev/null and b/target/classes/Doc/2021年长春市第一中学教育装备分析报告.doc differ
diff --git a/target/classes/Doc/2021年长春市第一中学教育装备分析报告.pptx b/target/classes/Doc/2021年长春市第一中学教育装备分析报告.pptx
new file mode 100644
index 0000000..6da6644
Binary files /dev/null and b/target/classes/Doc/2021年长春市第一中学教育装备分析报告.pptx differ
diff --git a/target/classes/Doc/AsposeTest.docx b/target/classes/Doc/AsposeTest.docx
new file mode 100644
index 0000000..4883d53
Binary files /dev/null and b/target/classes/Doc/AsposeTest.docx differ
diff --git a/target/classes/Doc/hwq.png b/target/classes/Doc/hwq.png
new file mode 100644
index 0000000..e635177
Binary files /dev/null and b/target/classes/Doc/hwq.png differ
diff --git a/target/classes/Doc/pingshendan_shi.docx b/target/classes/Doc/pingshendan_shi.docx
new file mode 100644
index 0000000..eacc239
Binary files /dev/null and b/target/classes/Doc/pingshendan_shi.docx differ
diff --git a/target/classes/Doc/yanshoudan_dw.docx b/target/classes/Doc/yanshoudan_dw.docx
new file mode 100644
index 0000000..28b817d
Binary files /dev/null and b/target/classes/Doc/yanshoudan_dw.docx differ
diff --git a/target/classes/Doc/yanshoudan_shi.docx b/target/classes/Doc/yanshoudan_shi.docx
new file mode 100644
index 0000000..d35e232
Binary files /dev/null and b/target/classes/Doc/yanshoudan_shi.docx differ
diff --git a/target/classes/Doc/专家名单-旧版.xlsx b/target/classes/Doc/专家名单-旧版.xlsx
new file mode 100644
index 0000000..8edb7e7
Binary files /dev/null and b/target/classes/Doc/专家名单-旧版.xlsx differ
diff --git a/target/classes/Doc/监理人员表.xlsx b/target/classes/Doc/监理人员表.xlsx
new file mode 100644
index 0000000..0f88c6c
Binary files /dev/null and b/target/classes/Doc/监理人员表.xlsx differ
diff --git a/target/classes/ExcelExportTemplate/103.json b/target/classes/ExcelExportTemplate/103.json
new file mode 100644
index 0000000..27b0bcb
--- /dev/null
+++ b/target/classes/ExcelExportTemplate/103.json
@@ -0,0 +1,144 @@
+{
+ "title": "学生信息填充情况",
+ "sheetName": "报表",
+ "titleHeight": 30,
+ "rowHeight": 30,
+ "showNumber": true,
+ "colInfo": [
+ {
+ "show_column_name": "准考证号",
+ "list_column_name": "zkz",
+ "width": 16
+ },
+ {
+ "show_column_name": "学生姓名",
+ "list_column_name": "xm",
+ "width": 16
+ },
+ {
+ "show_column_name": "性别",
+ "list_column_name": "xb",
+ "width": 10
+ },
+ {
+ "show_column_name": "民族",
+ "list_column_name": "mz",
+ "width": 36
+ },
+ {
+ "show_column_name": "毕业学校",
+ "list_column_name": "byxx",
+ "width": 20
+ },
+ {
+ "show_column_name": "毕业班级",
+ "list_column_name": "bybj",
+ "width": 16
+ },
+ {
+ "show_column_name": "身高(单位CM)",
+ "list_column_name": "sg",
+ "width": 26
+ },
+ {
+ "show_column_name": "中招分数",
+ "list_column_name": "zzfs",
+ "width": 20
+ },
+ {
+ "show_column_name": "户籍所在地",
+ "list_column_name": "hjszd",
+ "width": 20
+ },
+ {
+ "show_column_name": "家族住址",
+ "list_column_name": "jtzz",
+ "width": 20
+ },
+ {
+ "show_column_name": "血型",
+ "list_column_name": "xx",
+ "width": 20
+ },
+ {
+ "show_column_name": "父亲姓名",
+ "list_column_name": "bb_name",
+ "width": 20
+ },
+ {
+ "show_column_name": "父亲工作单位",
+ "list_column_name": "bb_bureau",
+ "width": 20
+ },
+ {
+ "show_column_name": "父亲电话",
+ "list_column_name": "bb_tel",
+ "width": 20
+ },
+ {
+ "show_column_name": "母亲姓名",
+ "list_column_name": "mm_name",
+ "width": 20
+ },
+ {
+ "show_column_name": "母亲工作单位",
+ "list_column_name": "mm_bureau",
+ "width": 20
+ },
+ {
+ "show_column_name": "母亲电话",
+ "list_column_name": "mm_tel",
+ "width": 20
+ },
+ {
+ "show_column_name": "服装号码",
+ "list_column_name": "fzhm",
+ "width": 20
+ },
+ {
+ "show_column_name": "初三是否班委",
+ "list_column_name": "bw",
+ "width": 20
+ },
+ {
+ "show_column_name": "家庭是否享受低保",
+ "list_column_name": "db",
+ "width": 20
+ },
+ {
+ "show_column_name": "是否因身体原因需特殊照顾",
+ "list_column_name": "zg",
+ "width": 20
+ },
+ {
+ "show_column_name": "希望加入或创办什么社团",
+ "list_column_name": "st",
+ "width": 20
+ },
+ {
+ "show_column_name": "是否希望加入志愿者组织",
+ "list_column_name": "zyz",
+ "width": 20
+ },
+ {
+ "show_column_name": "是否愿意参加暑期夏令营",
+ "list_column_name": "xly",
+ "width": 20
+ },
+ {
+ "show_column_name": "是否愿意参加暑期省内外游学交流活动",
+ "list_column_name": "jlhd",
+ "width": 20
+ },
+ {
+ "show_column_name": "有何特长",
+ "list_column_name": "tc",
+ "width": 20
+ },
+ {
+ "show_column_name": "家长是否愿意参加家长委员会",
+ "list_column_name": "jwh",
+ "width": 20
+ }
+ ]
+}
\ No newline at end of file
diff --git a/target/classes/ExcelExportTemplate/excelTemp/占位文件.txt b/target/classes/ExcelExportTemplate/excelTemp/占位文件.txt
new file mode 100644
index 0000000..e658701
--- /dev/null
+++ b/target/classes/ExcelExportTemplate/excelTemp/占位文件.txt
@@ -0,0 +1 @@
+ww
\ No newline at end of file
diff --git a/target/classes/ExcelExportTemplate/getPrincipalshipThirdParty.json b/target/classes/ExcelExportTemplate/getPrincipalshipThirdParty.json
new file mode 100644
index 0000000..0b3782e
--- /dev/null
+++ b/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/target/classes/ExcelExportTemplate/getPrintAreaBureau.json b/target/classes/ExcelExportTemplate/getPrintAreaBureau.json
new file mode 100644
index 0000000..fb31149
--- /dev/null
+++ b/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/target/classes/ExcelExportTemplate/getPrintAreaManager.json b/target/classes/ExcelExportTemplate/getPrintAreaManager.json
new file mode 100644
index 0000000..e548e54
--- /dev/null
+++ b/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/target/classes/ExcelExportTemplate/getPrintCityBureau.json b/target/classes/ExcelExportTemplate/getPrintCityBureau.json
new file mode 100644
index 0000000..8d40831
--- /dev/null
+++ b/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/target/classes/ExcelExportTemplate/getPrintCityManager.json b/target/classes/ExcelExportTemplate/getPrintCityManager.json
new file mode 100644
index 0000000..95763ed
--- /dev/null
+++ b/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/target/classes/ExcelExportTemplate/getPrintParent.json b/target/classes/ExcelExportTemplate/getPrintParent.json
new file mode 100644
index 0000000..15a3e0f
--- /dev/null
+++ b/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/target/classes/ExcelExportTemplate/getPrintStudent.json b/target/classes/ExcelExportTemplate/getPrintStudent.json
new file mode 100644
index 0000000..c5c996c
--- /dev/null
+++ b/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/target/classes/ExcelExportTemplate/getTeacherListByBureauId.json b/target/classes/ExcelExportTemplate/getTeacherListByBureauId.json
new file mode 100644
index 0000000..fb31149
--- /dev/null
+++ b/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/target/classes/ExcelImportTemplate/.idea/ExcelImportTemplate.iml b/target/classes/ExcelImportTemplate/.idea/ExcelImportTemplate.iml
new file mode 100644
index 0000000..d9e6024
--- /dev/null
+++ b/target/classes/ExcelImportTemplate/.idea/ExcelImportTemplate.iml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/target/classes/ExcelImportTemplate/.idea/inspectionProfiles/Project_Default.xml b/target/classes/ExcelImportTemplate/.idea/inspectionProfiles/Project_Default.xml
new file mode 100644
index 0000000..c26d685
--- /dev/null
+++ b/target/classes/ExcelImportTemplate/.idea/inspectionProfiles/Project_Default.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/target/classes/ExcelImportTemplate/.idea/inspectionProfiles/profiles_settings.xml b/target/classes/ExcelImportTemplate/.idea/inspectionProfiles/profiles_settings.xml
new file mode 100644
index 0000000..105ce2d
--- /dev/null
+++ b/target/classes/ExcelImportTemplate/.idea/inspectionProfiles/profiles_settings.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/target/classes/ExcelImportTemplate/.idea/misc.xml b/target/classes/ExcelImportTemplate/.idea/misc.xml
new file mode 100644
index 0000000..8d93904
--- /dev/null
+++ b/target/classes/ExcelImportTemplate/.idea/misc.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/target/classes/ExcelImportTemplate/.idea/modules.xml b/target/classes/ExcelImportTemplate/.idea/modules.xml
new file mode 100644
index 0000000..59750d2
--- /dev/null
+++ b/target/classes/ExcelImportTemplate/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/target/classes/ExcelImportTemplate/.idea/vcs.xml b/target/classes/ExcelImportTemplate/.idea/vcs.xml
new file mode 100644
index 0000000..15b5e29
--- /dev/null
+++ b/target/classes/ExcelImportTemplate/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/target/classes/ExcelImportTemplate/.idea/workspace.xml b/target/classes/ExcelImportTemplate/.idea/workspace.xml
new file mode 100644
index 0000000..02e51a5
--- /dev/null
+++ b/target/classes/ExcelImportTemplate/.idea/workspace.xml
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1653553376213
+
+
+ 1653553376213
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/target/classes/ExcelImportTemplate/Student.json b/target/classes/ExcelImportTemplate/Student.json
new file mode 100644
index 0000000..ea70e7f
--- /dev/null
+++ b/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/target/classes/ExcelImportTemplate/Student.xls b/target/classes/ExcelImportTemplate/Student.xls
new file mode 100644
index 0000000..7be824a
Binary files /dev/null and b/target/classes/ExcelImportTemplate/Student.xls differ
diff --git a/target/classes/ExcelImportTemplate/StudentSample.xls b/target/classes/ExcelImportTemplate/StudentSample.xls
new file mode 100644
index 0000000..be80e71
Binary files /dev/null and b/target/classes/ExcelImportTemplate/StudentSample.xls differ
diff --git a/target/classes/ExcelImportTemplate/Teacher.json b/target/classes/ExcelImportTemplate/Teacher.json
new file mode 100644
index 0000000..1878e15
--- /dev/null
+++ b/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/target/classes/ExcelImportTemplate/Teacher.xls b/target/classes/ExcelImportTemplate/Teacher.xls
new file mode 100644
index 0000000..8eb9169
Binary files /dev/null and b/target/classes/ExcelImportTemplate/Teacher.xls differ
diff --git a/target/classes/ExcelImportTemplate/TeacherSample.xls b/target/classes/ExcelImportTemplate/TeacherSample.xls
new file mode 100644
index 0000000..7495ca3
Binary files /dev/null and b/target/classes/ExcelImportTemplate/TeacherSample.xls differ
diff --git a/target/classes/ExcelImportTemplate/excelTemp/占位.txt b/target/classes/ExcelImportTemplate/excelTemp/占位.txt
new file mode 100644
index 0000000..2f259b7
--- /dev/null
+++ b/target/classes/ExcelImportTemplate/excelTemp/占位.txt
@@ -0,0 +1 @@
+s
\ No newline at end of file
diff --git a/target/classes/Py/.idea/.gitignore b/target/classes/Py/.idea/.gitignore
new file mode 100644
index 0000000..1c2fda5
--- /dev/null
+++ b/target/classes/Py/.idea/.gitignore
@@ -0,0 +1,8 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Editor-based HTTP Client requests
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git a/target/classes/Py/.idea/Py.iml b/target/classes/Py/.idea/Py.iml
new file mode 100644
index 0000000..d9e99f3
--- /dev/null
+++ b/target/classes/Py/.idea/Py.iml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/target/classes/Py/.idea/inspectionProfiles/Project_Default.xml b/target/classes/Py/.idea/inspectionProfiles/Project_Default.xml
new file mode 100644
index 0000000..c26d685
--- /dev/null
+++ b/target/classes/Py/.idea/inspectionProfiles/Project_Default.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/target/classes/Py/.idea/inspectionProfiles/profiles_settings.xml b/target/classes/Py/.idea/inspectionProfiles/profiles_settings.xml
new file mode 100644
index 0000000..105ce2d
--- /dev/null
+++ b/target/classes/Py/.idea/inspectionProfiles/profiles_settings.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/target/classes/Py/.idea/misc.xml b/target/classes/Py/.idea/misc.xml
new file mode 100644
index 0000000..abf7b39
--- /dev/null
+++ b/target/classes/Py/.idea/misc.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/target/classes/Py/.idea/modules.xml b/target/classes/Py/.idea/modules.xml
new file mode 100644
index 0000000..5d26daa
--- /dev/null
+++ b/target/classes/Py/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/target/classes/Py/.idea/vcs.xml b/target/classes/Py/.idea/vcs.xml
new file mode 100644
index 0000000..15b5e29
--- /dev/null
+++ b/target/classes/Py/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/target/classes/Py/LoadJson.py b/target/classes/Py/LoadJson.py
new file mode 100644
index 0000000..2299eeb
--- /dev/null
+++ b/target/classes/Py/LoadJson.py
@@ -0,0 +1,306 @@
+import os
+import datetime
+from urllib import request
+# pip install pandas
+# pip install sqlalchemy
+# pip install requests
+# pip install pymysql
+import pandas as pd
+import requests
+
+from sqlalchemy import create_engine
+
+import json
+
+import pymysql
+from dbutils.pooled_db import PooledDB
+
+
+class MysqlClient(object):
+ __pool = None
+
+ def __init__(self, mincached=10, maxcached=20, maxshared=10, maxconnections=200, blocking=True,
+ maxusage=100, setsession=None, reset=True,
+ host="gtzz.dsideal.com", port=22066, db="gtzz_base_db",
+ user="root", passwd="DsideaL147258369", charset='utf8mb4'):
+ """
+ :param mincached:连接池中空闲连接的初始数量
+ :param maxcached:连接池中空闲连接的最大数量
+ :param maxshared:共享连接的最大数量
+ :param maxconnections:创建连接池的最大数量
+ :param blocking:超过最大连接数量时候的表现,为True等待连接数量下降,为false直接报错处理
+ :param maxusage:单个连接的最大重复使用次数
+ :param setsession:optional list of SQL commands that may serve to prepare
+ the session, e.g. ["set datestyle to ...", "set time zone ..."]
+ :param reset:how connections should be reset when returned to the pool
+ (False or None to rollback transcations started with begin(),
+ True to always issue a rollback for safety's sake)
+ :param host:数据库ip地址
+ :param port:数据库端口
+ :param db:库名
+ :param user:用户名
+ :param passwd:密码
+ :param charset:字符编码
+ """
+
+ if not self.__pool:
+ self.__class__.__pool = PooledDB(pymysql,
+ mincached, maxcached,
+ maxshared, maxconnections, blocking,
+ maxusage, setsession, reset,
+ host=host, port=port, db=db,
+ user=user, passwd=passwd,
+ charset=charset,
+ cursorclass=pymysql.cursors.DictCursor
+ )
+ self._conn = None
+ self._cursor = None
+ self.__get_conn()
+
+ def __get_conn(self):
+ self._conn = self.__pool.connection()
+ self._cursor = self._conn.cursor()
+
+ def close(self):
+ try:
+ self._cursor.close()
+ self._conn.close()
+ except Exception as e:
+ print(e)
+
+ def __execute(self, sql, param=()):
+ count = self._cursor.execute(sql, param)
+ # print(count)
+ self._conn.commit()
+ return count
+
+ @staticmethod
+ def __dict_datetime_obj_to_str(result_dict):
+ """把字典里面的datatime对象转成字符串,使json转换不出错"""
+ if result_dict:
+ result_replace = {k: v.__str__() for k, v in result_dict.items() if isinstance(v, datetime.datetime)}
+ result_dict.update(result_replace)
+ return result_dict
+
+ def find(self, sql, param=()):
+ """查询单个结果"""
+ count = self.__execute(sql, param)
+ result = self._cursor.fetchone()
+ """:type result:dict"""
+ result = self.__dict_datetime_obj_to_str(result)
+ return count, result
+
+ def findList(self, sql, param=()):
+ """
+ 查询多个结果
+ :param sql: qsl语句
+ :param param: sql参数
+ :return: 结果数量和查询结果集
+ """
+ count = self.__execute(sql, param)
+ result = self._cursor.fetchall()
+ """:type result:list"""
+ [self.__dict_datetime_obj_to_str(row_dict) for row_dict in result]
+ return count, result
+
+ def execute(self, sql, param=()):
+ count = self.__execute(sql, param)
+ return count
+
+ def begin(self):
+ """开启事务"""
+ self._conn.autocommit(0)
+
+ def end(self, option='commit'):
+ """结束事务"""
+ if option == 'commit':
+ self._conn.autocommit()
+ else:
+ self._conn.rollback()
+
+
+def printf(str):
+ now_time = datetime.datetime.now()
+ str_time = now_time.strftime("%Y-%m-%d %X") # 格式化时间字符串
+ print(str_time + " " + str)
+
+
+def SyncData():
+ # 连接数据库的方法
+ connectString = 'mysql+pymysql://%s:%s@%s:%s/%s?charset=utf8' % (
+ "root", "DsideaL147258369", "gtzz.dsideal.com", 22066, "gtzz_base_db")
+ engine = create_engine(connectString) # use sqlalchemy to build link-engine
+ # 当前日期
+ cnt = 0
+ # 申请数据库连接
+ db = MysqlClient()
+
+ dateStr = datetime.datetime.now().strftime('%Y%m%d')
+ # dateStr = '20211115'
+ text_lines = ['https://dsideal.obs.cn-north-1.myhuaweicloud.com/down/ccsdjg/#(date)/T_PRO_PARA.json',
+ 'https://dsideal.obs.cn-north-1.myhuaweicloud.com/down/ccsdjg/#(date)/T_PRO_ATTACH.json',
+ 'https://dsideal.obs.cn-north-1.myhuaweicloud.com/down/ccsdjg/#(date)/T_PRO_FORM_VALUE.json',
+ 'https://dsideal.obs.cn-north-1.myhuaweicloud.com/down/ccsdjg/#(date)/T_PRO_DETAIL.json',
+ 'https://dsideal.obs.cn-north-1.myhuaweicloud.com/down/ccsdjg/#(date)/T_PRO_FORM_ITEM.json',
+ 'https://dsideal.obs.cn-north-1.myhuaweicloud.com/down/ccsdjg/#(date)/T_PRO_TARGET.json',
+ 'https://dsideal.obs.cn-north-1.myhuaweicloud.com/down/ccsdjg/#(date)/T_PRO_ATTACH_TYPE.json',
+ 'https://dsideal.obs.cn-north-1.myhuaweicloud.com/down/ccsdjg/#(date)/T_PRO_TASK.json',
+ 'https://dsideal.obs.cn-north-1.myhuaweicloud.com/down/ccsdjg/#(date)/T_PRO_FORM.json',
+ 'https://dsideal.obs.cn-north-1.myhuaweicloud.com/down/ccsdjg/#(date)/T_PRO_MESSAGE.json',
+ 'https://dsideal.obs.cn-north-1.myhuaweicloud.com/down/ccsdjg/#(date)/T_PRO_CONFIG.json'
+ ]
+ # 按行遍历
+ for line in text_lines:
+ cnt = cnt + 1
+ url = line.replace('#(date)', dateStr)
+ # 去掉最后的换行符
+ url = url.rstrip("\n")
+ # 表名
+ table_name = os.path.basename(url).split(".")[0].lower()
+
+ # 尝试下载
+ html = requests.head(url) # 用head方法去请求资源头部
+ if html.status_code != 200: # 状态码
+ printf("没有找到指定的下载文件,程序无法继续!")
+ exit(0)
+ # 下载文件
+ r = request.Request(url)
+ response = request.urlopen(r)
+ # 中文编码转换
+ s = response.read()
+ s = s.decode('gbk')
+ s = s.encode('gbk', 'ignore').decode('gbk')
+ s1 = json.loads(s)
+ try:
+ x = pd.DataFrame(s1["DATA"])
+ # https://www.jianshu.com/p/d615699ff254
+ # DataFrame 的处理逻辑是如果目标表存在,则删除重建,并且不能完整保留原表字段的数据类型
+ x.to_sql(table_name, con=engine, if_exists='replace', index=False)
+ printf("成功完成表%s的数据导入!" % table_name)
+ except Exception as err:
+ print(err)
+
+ # 创建主键
+ sql = "alter table `gtzz_base_db`.`t_pro_task` modify column `sn` varchar(128) character set utf8mb4 collate utf8mb4_general_ci not null first,add primary key (`sn`)"
+ db.execute(sql)
+
+ # 添加一列:subject_id
+ sql = "alter table `gtzz_base_db`.`t_pro_task` add column `subject_id` int null default 0 comment '与t_gtzz_subject对应的主键' after `reiterate_task_sn`"
+ db.execute(sql)
+
+ # 添加组织机构码
+ sql = "alter table `gtzz_base_db`.`t_pro_task` add column `org_code` varchar(36) null comment '组织机构码' after `subject_id`"
+ db.execute(sql)
+
+ # 更新组织机构码
+ sql = "update t_pro_task as t1 ,t_base_organization as t2 set t1.org_code=t2.org_code where t1.send_user_name=t2.org_name"
+ db.execute(sql)
+
+ # 创建索引
+ sql = "alter table `gtzz_base_db`.`t_pro_message` modify column `task_sn` varchar(128) character set utf8mb4 collate utf8mb4_bin null default null after `modify_time`"
+ db.execute(sql)
+
+ sql = "alter table `gtzz_base_db`.`t_pro_message` add index(`task_sn`)"
+ db.execute(sql)
+ # 写入同步日志
+ if cnt == 11:
+ message = '正常同步成功!'
+ else:
+ message = '财务系统未授权同步文件!'
+ sql = "insert into t_gtzz_sync_log(file_count,message) values(%s,'%s')" % (cnt, message)
+ db.execute(sql)
+
+ # 回写subject_id,初始化时应该都是0,更新时才会回写
+ sql = "update t_pro_task as t1 ,t_gtzz_subject as t2 set t1.subject_id=t2.subject_id where t1.sn=t2.task_sn"
+ db.execute(sql)
+
+ # 填充表t_gtzz_subject
+ sql = "select t1.sn,(select itemvalue20 from t_pro_form_value where task_sn=t1.sn) as money,(select itemvalue11 from t_pro_form_value where task_sn=t1.sn) as xmjj ,t1.subject_id,t1.task_number,t1.task_title,t1.task_year,t1.ex_send_org_name,(select class_name from t_pro_detail where task_sn=t1.sn order by class_name limit 1 ) as 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 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"
+ l1 = db.findList(sql)
+ # 遍历每一条数据
+ c1 = 0
+ c2 = 0
+ for i in range(0, l1[0]):
+ row = l1[1][i]
+ # 项目代号
+ subject_id = row['subject_id']
+ # sn
+ task_sn = row['sn']
+ # 单位名称
+ xmdw = row['ex_send_org_name']
+ # 项目名称
+ xmmc = row['task_title']
+ # 申报年度
+ sbnd = row['task_year']
+ # 查询获取单位编号
+ sql = "select org_code from t_base_organization where org_name='%s'" % xmdw
+ l2 = db.find(sql)
+ org_code = l2[1]["org_code"]
+ # 立项时间
+ lixiang_time = row["create_time"]
+ # 项目编号
+ task_number = row["task_number"]
+
+ # 项目金额
+ money = row["money"]
+
+ # 项目简介
+ xmjj = row["xmjj"]
+
+ # 项目类型
+ sql = "select class_name,parent_name from t_pro_detail where task_sn='%s'" % task_sn
+ l3 = db.findList(sql)
+ # 声明空的两个
+ l1_list = []
+ l2_list = []
+
+ for x in l3[1]:
+ l1_list.append(x["parent_name"])
+ l2_list.append(x["class_name"])
+ # 去重
+ l1_list = list({}.fromkeys(l1_list).keys())
+ l2_list = list({}.fromkeys(l2_list).keys())
+ # 大的项目类型名称
+ if l1_list == None or len(l1_list) == 0:
+ subject_type_name = '其他'
+ else:
+ subject_type_name = l1_list[0]
+
+ # 如果存在subject_id,则update
+ if subject_id > 0:
+ finish_scan = 1
+ sql = "update t_gtzz_subject set finish_scan=1,task_sn='%s',org_code='%s',xmdw='%s',xmmc='%s',sbnd='%s',lixiang_time='%s',subject_type_id='-1',subject_type_name='%s' where subject_id=%d" % \
+ (task_sn, org_code, xmdw, xmmc, sbnd, lixiang_time, subject_type_name,subject_id)
+ db.execute(sql)
+ else:
+ # 如果不存在subject_id,则insert into
+ finish_scan = 0
+ sql = "insert into t_gtzz_subject(finish_scan,task_sn,org_code,xmdw,xmmc,sbnd,lixiang_time,subject_type_id,subject_type_name,money,xmjj,task_number) values(%s,'%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s')" % \
+ (finish_scan, task_sn, org_code, xmdw, xmmc, sbnd, lixiang_time, '-1', subject_type_name, money, xmjj,
+ task_number)
+ # 执行insert 语句
+ db.execute(sql)
+ # 保存子类型名称
+ for x in l2_list:
+ sql = "insert into t_gtzz_subject_sub_type(task_sn,sub_type_name,year) values('%s','%s','%s')" % (
+ task_sn, x, sbnd)
+ db.execute(sql)
+
+ # 补充一下subject_type_id
+ sql = 'update t_gtzz_subject as t1,t_gtzz_subject_type as t2 set t1.subject_type_id=t2.subject_type_id where t1.subject_type_name=t2.subject_type_name'
+ db.execute(sql)
+ # 更新t_gtzz_subject_sub_type表的subject_id
+ sql = "update t_gtzz_subject_sub_type as t1,t_gtzz_subject as t2 set t1.subject_id=t2.subject_id where t1.task_sn=t2.task_sn"
+ db.execute(sql)
+
+ if finish_scan == 0:
+ c1 = c1 + 1
+ printf('成功插入%s条记录!' % c1)
+ else:
+ c2 = c2 + 1
+ printf('成功更新%s条记录!' % c2)
+ printf('恭喜,所有操作成功完成!')
+
+
+if __name__ == '__main__':
+ SyncData()
diff --git a/target/classes/Py/bar.html b/target/classes/Py/bar.html
new file mode 100644
index 0000000..3aec2a2
--- /dev/null
+++ b/target/classes/Py/bar.html
@@ -0,0 +1,223 @@
+
+
+
+
+
Awesome-pyecharts
+
+
+
+
+
+
+
+
diff --git a/target/classes/Py/bar.png b/target/classes/Py/bar.png
new file mode 100644
index 0000000..af4fbaf
Binary files /dev/null and b/target/classes/Py/bar.png differ
diff --git a/target/classes/Py/chromedriver.exe b/target/classes/Py/chromedriver.exe
new file mode 100644
index 0000000..60449ae
Binary files /dev/null and b/target/classes/Py/chromedriver.exe differ
diff --git a/target/classes/Py/pyEchartsExport.py b/target/classes/Py/pyEchartsExport.py
new file mode 100644
index 0000000..48e80a4
--- /dev/null
+++ b/target/classes/Py/pyEchartsExport.py
@@ -0,0 +1,25 @@
+from snapshot_selenium import snapshot as driver
+
+from pyecharts import options as opts
+from pyecharts.charts import Bar
+from pyecharts.render import make_snapshot
+
+
+def bar_chart() -> Bar:
+ c = (
+ Bar()
+ .add_xaxis(["衬衫", "毛衣", "领带", "裤子", "风衣", "高跟鞋", "袜子"])
+ .add_yaxis("商家A", [114, 55, 27, 101, 125, 27, 105])
+ .add_yaxis("商家B", [57, 134, 137, 129, 145, 60, 49])
+ .reversal_axis()
+ .set_series_opts(label_opts=opts.LabelOpts(position="right"))
+ .set_global_opts(title_opts=opts.TitleOpts(title="Bar-测试渲染图片"))
+ )
+ return c
+
+
+# 输出png文件(用于在ppt中静态展现)
+make_snapshot(driver, bar_chart().render(), "bar.png")
+
+# 输出html(用于在ppt中动态展现)
+bar_chart().render("bar.html")
diff --git a/target/classes/Py/render.html b/target/classes/Py/render.html
new file mode 100644
index 0000000..ed9ccb3
--- /dev/null
+++ b/target/classes/Py/render.html
@@ -0,0 +1,223 @@
+
+
+
+
+
Awesome-pyecharts
+
+
+
+
+
+
+
+
diff --git a/target/classes/Py/xmdwqk.py b/target/classes/Py/xmdwqk.py
new file mode 100644
index 0000000..0546f5c
--- /dev/null
+++ b/target/classes/Py/xmdwqk.py
@@ -0,0 +1,19 @@
+# 分类名称
+# LeiXing = []
+# 城区
+# CityArea = []
+# 镇区
+# ZhenArea = []
+
+from pyecharts import options as opts
+from pyecharts.charts import Bar
+
+c = (
+ Bar()
+ .add_xaxis(LeiXing)
+ .add_yaxis("城区", CityArea)
+ .add_yaxis("乡镇", ZhenArea)
+ .set_global_opts(title_opts=opts.TitleOpts(title="项目单位情况", subtitle=""))
+ .dump_options()
+)
+print(c)
diff --git a/target/classes/Py/安装办法.txt b/target/classes/Py/安装办法.txt
new file mode 100644
index 0000000..b3ea682
--- /dev/null
+++ b/target/classes/Py/安装办法.txt
@@ -0,0 +1,25 @@
+# 导入输出图片工具
+# 使用snapshot-selenium 渲染图片
+
+# 安装pyecharts
+# pip install pyecharts
+
+# 安装插件
+# pip install snapshot-selenium
+
+# 下载Chrome插件
+# http://npm.taobao.org/mirrors/chromedriver/
+
+方法限制:
+(1)必须有 Chrome浏览器,而且chromedriver的版本必须与Chrome版本匹配,这基本是就限定了生成机器应该是一台 Windows主机
+这在本项目中没有什么问题,有一台WINDOWS 主机。
+(2)必须是https的网址,这在一些地区就没办法了,只能是先让用户申请成功https。
+(3) 不支持传参,只能是用代码将最终的模板复制出31份,然后人工上去手动修改url地址
+
+
+https://www.cnblogs.com/-wenli/p/14024078.html
+工具安装
+安装pyecharts:pip install pyecharts
+安装snapshot-selenium:pip install snapshot-selenium
+安装ChromeDriver:下载地址
+注意:下载和电脑上的谷歌浏览器版本相同或者相近的版本,将ChromeDriver.exe放到项目文件所在文件夹即可。
diff --git a/target/classes/Py/演示文稿.pptx b/target/classes/Py/演示文稿.pptx
new file mode 100644
index 0000000..c0a1af0
Binary files /dev/null and b/target/classes/Py/演示文稿.pptx differ
diff --git a/target/classes/Sql/ClearDataBase.sql b/target/classes/Sql/ClearDataBase.sql
new file mode 100644
index 0000000..b51df13
--- /dev/null
+++ b/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/target/classes/Sql/app.sql b/target/classes/Sql/app.sql
new file mode 100644
index 0000000..b721e6d
--- /dev/null
+++ b/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/target/classes/Sql/base.sql b/target/classes/Sql/base.sql
new file mode 100644
index 0000000..f6fb17d
--- /dev/null
+++ b/target/classes/Sql/base.sql
@@ -0,0 +1,333 @@
+-- 基础类命名空间
+#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
+#end
\ No newline at end of file
diff --git a/target/classes/Sql/class.sql b/target/classes/Sql/class.sql
new file mode 100644
index 0000000..5117a10
--- /dev/null
+++ b/target/classes/Sql/class.sql
@@ -0,0 +1,54 @@
+-- 班级命名空间
+#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
+ from t_base_class t1 where b_use = 1 and bureau_id = #para(0) and stage_id = #para(1)
+ and entry_year =#para(2) 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/target/classes/Sql/dm.sql b/target/classes/Sql/dm.sql
new file mode 100644
index 0000000..ec35e6a
--- /dev/null
+++ b/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 where b_use=1 order by sort_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/target/classes/Sql/global.sql b/target/classes/Sql/global.sql
new file mode 100644
index 0000000..662b7e9
--- /dev/null
+++ b/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/target/classes/Sql/graduationAction.sql b/target/classes/Sql/graduationAction.sql
new file mode 100644
index 0000000..0ddc7b0
--- /dev/null
+++ b/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/target/classes/Sql/loginPerson.sql b/target/classes/Sql/loginPerson.sql
new file mode 100644
index 0000000..be54fe3
--- /dev/null
+++ b/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,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/target/classes/Sql/menu.sql b/target/classes/Sql/menu.sql
new file mode 100644
index 0000000..49a8db0
--- /dev/null
+++ b/target/classes/Sql/menu.sql
@@ -0,0 +1,76 @@
+-- 菜单命名空间
+#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,
+ (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/target/classes/Sql/organization.sql b/target/classes/Sql/organization.sql
new file mode 100644
index 0000000..7398eb6
--- /dev/null
+++ b/target/classes/Sql/organization.sql
@@ -0,0 +1,112 @@
+-- 组织机构命名空间
+#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,
+ 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 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
+
+#end
\ No newline at end of file
diff --git a/target/classes/Sql/student.sql b/target/classes/Sql/student.sql
new file mode 100644
index 0000000..283f693
--- /dev/null
+++ b/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/target/classes/Sql/studentYd.sql b/target/classes/Sql/studentYd.sql
new file mode 100644
index 0000000..c5b9d4b
--- /dev/null
+++ b/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/target/classes/Sql/teacher.sql b/target/classes/Sql/teacher.sql
new file mode 100644
index 0000000..5b33494
--- /dev/null
+++ b/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/target/classes/Sql/teacherYd.sql b/target/classes/Sql/teacherYd.sql
new file mode 100644
index 0000000..ba4c82c
--- /dev/null
+++ b/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/target/classes/Sql/yp.sql b/target/classes/Sql/yp.sql
new file mode 100644
index 0000000..472d833
--- /dev/null
+++ b/target/classes/Sql/yp.sql
@@ -0,0 +1,6 @@
+-- 应用接入命名空间
+#namespace("yp")
+ #sql("listView")
+ select * from t_yp_record where length(xb)>0
+ #end
+#end
\ No newline at end of file
diff --git a/target/classes/application.properties b/target/classes/application.properties
new file mode 100644
index 0000000..b52b6cc
--- /dev/null
+++ b/target/classes/application.properties
@@ -0,0 +1,36 @@
+# 数据库信息
+driverClassName=com.mysql.cj.jdbc.Driver
+user=root
+password=DsideaL147258369
+jdbcUrl=jdbc:mysql://10.10.14.169:22066/zhengzhou103_db?rewriteBatchedStatements=true&useUnicode=true&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
+# redis ip
+redis_ip=10.10.14.169
+# redis port
+redis_port=18890
+# ==============================================================
+# 生成Token的密码
+CookieMd5SingPwd=DsideaL4r5t6y7u
+# MysqlAES加密解密的密码
+AesPwd=DsideaL4r5t6y7u!
+# 在云存储上保存的备份天数
+backup_remain_days=120
+#OBS(华为云云存储)
+obs_accessKeyId=WAFBGJACKDOQZDH1MKZ1
+obs_accessKeySecret=dlWTUbqgCICaYJG3n0Rot4jXaen2HnfFtMVxiPEo
+obs_endpoint=obs.cn-north-1.myhuaweicloud.com
+obs_bucket_name=dsideal
+# 在云存储上备份的路径名称
+FengHuangDbBackup=FengHuangDbBackup/
+# 管理员邮箱
+adminEmailAddress=10402852@qq.com
+# 口令,注意这里是腾讯的授权码,可不是什么 QQ密码或者独立密码!
+# http://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=1001256
+mail_pass=jfdbifdxsahlbjjf
+# 导出excel 的模板配置路径
+excelExportTemplatePathSuffix=/ExcelExportTemplate/
+# 导入excel 的模板配置路径
+ExcelImportTemplatePathSuffix=/ExcelImportTemplate/
+#file下载的前缀
+filePrefix=/FengHuang
+# 授权IP地址
+IP=192.168.100.100,10.10.11.124
\ No newline at end of file
diff --git a/target/classes/backup.sh b/target/classes/backup.sh
new file mode 100644
index 0000000..47f77ff
--- /dev/null
+++ b/target/classes/backup.sh
@@ -0,0 +1,12 @@
+#!/bin/bash
+
+cd /usr/local/tomcat8
+#
+rm -rf webapps.tar.gz
+
+# 打包
+tar -czf webapps.tar.gz webapps
+# 准备华为云登录帐号
+/usr/local/obsutil/obsutil config -i=WAFBGJACKDOQZDH1MKZ1 -k=dlWTUbqgCICaYJG3n0Rot4jXaen2HnfFtMVxiPEo -e=obs.cn-north-1.myhuaweicloud.com
+# 上传到华为云
+/usr/local/obsutil/obsutil cp /usr/local/tomcat8/webapps.tar.gz obs://dsideal/HuangHai/webapps.tar.gz
\ No newline at end of file
diff --git a/target/classes/backup_db.sh b/target/classes/backup_db.sh
new file mode 100644
index 0000000..543c07e
--- /dev/null
+++ b/target/classes/backup_db.sh
@@ -0,0 +1,5 @@
+#!/bin/bash
+#
+date_str=`date +%Y%m%d%H%M%S`
+cd /home/Backup
+mysqldump -h localhost -u root --password=DsideaL147258369 -R -E -e --max_allowed_packet=1048576 --net_buffer_length=16384 cczhichengtoupiao | gzip > /home/Backup/cczhichengtoupiao_$date_str.sql.gz
\ No newline at end of file
diff --git a/target/classes/cron4j.properties b/target/classes/cron4j.properties
new file mode 100644
index 0000000..9810f1a
--- /dev/null
+++ b/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.FengHuang.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/target/classes/debug.sh b/target/classes/debug.sh
new file mode 100644
index 0000000..f088e23
--- /dev/null
+++ b/target/classes/debug.sh
@@ -0,0 +1,21 @@
+#!/bin/bash
+
+# 启动入口类,该脚本文件用于别的项目时要改这里
+MAIN_CLASS=com.dsideal.FengHuang.Start
+
+
+# Java 命令行参数,根据需要开启下面的配置,改成自己需要的,注意等号前后不能有空格
+export JAVA_HOME=/usr/java/jdk
+export JRE_HOME=${JAVA_HOME}/jre
+export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
+export PATH=${JAVA_HOME}/bin:$PATH
+
+#JAVA_OPTS="-Xms1024m -Xmx2048m"
+JAVA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,suspend=n,server=y,address=5555 -Xms1024m -Xmx2048m"
+
+# 生成 class path 值
+CP=.:/usr/local/tomcat8/webapps/FengHuang/WEB-INF/lib/*
+
+# 运行为后台进程,并且将信息输出到 logback.xml配置的日志文件位置
+java -Xverify:none ${JAVA_OPTS} -cp ${CP} ${MAIN_CLASS}
+
diff --git a/target/classes/dsideal.txt b/target/classes/dsideal.txt
new file mode 100644
index 0000000..b93cd86
--- /dev/null
+++ b/target/classes/dsideal.txt
@@ -0,0 +1,32 @@
+ _ooOoo_
+ o8888888o
+ 88" . "88
+ (| -_- |)
+ O\ = /O
+ ____/`---'\____
+ . ' \\| |// `.
+ / \\||| : |||// \
+ / _||||| -:- |||||- \
+ | | \\\ - /// | |
+ | \_| ''\---/'' | |
+ \ .-\__ `-` ___/-. /
+ ___`. .' /--.--\ `. . __
+ ."" '< `.___\_<|>_/___.' >'"".
+ | | : `- \`.;`\ _ /`;.`/ - ` : | |
+ \ \ `-. \_ __\ /__ _/ .-` / /
+ ======`-.____`-.___\_____/___.-`____.-'======
+ `=---='
+
+ .............................................
+ 佛祖镇楼 BUG辟易
+ 佛曰:
+ 写字楼里写字间,写字间里程序员;
+ 程序人员写程序,又拿程序换酒钱。
+ 酒醒只在网上坐,酒醉还来网下眠;
+ 酒醉酒醒日复日,网上网下年复年。
+ 但愿老死电脑间,不愿鞠躬老板前;
+ 奔驰宝马贵者趣,公交自行程序员。
+ 别人笑我忒疯癫,我笑自己命太贱;
+ 不见满街漂亮妹,哪个归得程序员?
+
+power by http://patorjk.com/software/taag/
\ No newline at end of file
diff --git a/target/classes/license.xml b/target/classes/license.xml
new file mode 100644
index 0000000..20b1b90
--- /dev/null
+++ b/target/classes/license.xml
@@ -0,0 +1,12 @@
+
+
+
+ Aspose.Total for Java
+
+ Enterprise
+ 20991231
+ 20991231
+ 8bfe198c-7f0c-4ef8-8ff0-acc3237bf0d7
+
+ sNLLKGMUdF0r8O1kKilWAGdgfs2BvJb/2Xp8p5iuDVfZXmhppo+d0Ran1P9TKdjV4ABwAgKXxJ3jcQTqE/2IRfqwnPf8itN8aFZlV3TJPYeD3yWE7IT55Gz6EijUpC7aKeoohTb4w2fpox58wWoF3SNp6sK6jDfiAUGEHYJ9pjU=
+
\ No newline at end of file
diff --git a/target/classes/log4j.properties b/target/classes/log4j.properties
new file mode 100644
index 0000000..625cca1
--- /dev/null
+++ b/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/target/classes/logback.xml b/target/classes/logback.xml
new file mode 100644
index 0000000..9a8c072
--- /dev/null
+++ b/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}/FengHuang.log
+
+
+ ${LOG_HOME}/FengHuang.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/target/classes/start.bat b/target/classes/start.bat
new file mode 100644
index 0000000..5f157c9
--- /dev/null
+++ b/target/classes/start.bat
@@ -0,0 +1,7 @@
+@echo off
+set MAIN_CLASS=com.dsideal.FengHuang.Start
+set APP_BASE_PATH=%~dp0
+set CP=.;%APP_BASE_PATH%config;%APP_BASE_PATH%..\..\lib\*;
+set JAVA_OPTS=-Xms1024m -Xmx2048m
+java -Xverify:none %JAVA_OPTS% -cp %CP% %MAIN_CLASS%
+pause
diff --git a/target/classes/start.sh b/target/classes/start.sh
new file mode 100644
index 0000000..48b2b40
--- /dev/null
+++ b/target/classes/start.sh
@@ -0,0 +1,20 @@
+#!/bin/bash
+
+# 启动入口类,该脚本文件用于别的项目时要改这里
+MAIN_CLASS=com.dsideal.FengHuang.Start
+
+
+# Java 命令行参数,根据需要开启下面的配置,改成自己需要的,注意等号前后不能有空格
+export JAVA_HOME=/usr/java/jdk
+export JRE_HOME=${JAVA_HOME}/jre
+export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
+export PATH=${JAVA_HOME}/bin:$PATH
+
+JAVA_OPTS="-Xms1024m -Xmx2048m"
+
+# 生成 class path 值
+CP=.:/usr/local/tomcat8/webapps/FengHuang/WEB-INF/lib/*
+
+# 运行为后台进程,并且将信息输出到 logback.xml配置的日志文件位置
+nohup java -Xverify:none ${JAVA_OPTS} -cp ${CP} ${MAIN_CLASS} >> /dev/null 2>&1 &
+
diff --git a/target/classes/stop.sh b/target/classes/stop.sh
new file mode 100644
index 0000000..1ca4927
--- /dev/null
+++ b/target/classes/stop.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+
+# 启动入口类,该脚本文件用于别的项目时要改这里
+MAIN_CLASS=com.dsideal.FengHuang.Start
+
+# kill 命令不使用 -9 参数时,会回调 onStop() 方法,确定不需要此回调建议使用 -9 参数
+kill -9 `pgrep -f ${MAIN_CLASS}` 2>/dev/null
+
+# 以下代码与上述代码等价
+# kill $(pgrep -f ${MAIN_CLASS}) 2>/dev/null
diff --git a/target/classes/undertow.properties b/target/classes/undertow.properties
new file mode 100644
index 0000000..ccd5376
--- /dev/null
+++ b/target/classes/undertow.properties
@@ -0,0 +1,36 @@
+# true 值支持热加载
+undertow.devMode=true
+undertow.port=9000
+undertow.host=0.0.0.0
+#undertow.resourcePath =/usr/local/tomcat8/webapps/ZhengZhou103,classpath:static
+undertow.resourcePath =D:/dsWork/ZhengZhou103/WebRoot,classpath:static
+
+# 目录名称
+undertow.contextPath=/FengHuang
+
+# 设定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