From 7dca97c65f2b07e6d8d2474865ec0fba695fb929 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E6=B5=B7?= <10402852@qq.com> Date: Mon, 9 Jan 2023 09:54:13 +0800 Subject: [PATCH] 'commit' --- .../Classes/Controller/ClassController.java | 4 ++ .../FengHuang/Classes/Model/ClassModel.java | 8 ++- .../Controller/OrganizationController.java | 57 ++++++++++++++++++- .../Organization/Model/OrganizationModel.java | 13 +++++ FengHuang/src/main/resource/Sql/class.sql | 1 + .../src/main/resource/Sql/organization.sql | 9 +++ FengHuang/target/classes/Sql/class.sql | 1 + FengHuang/target/classes/Sql/organization.sql | 9 +++ 8 files changed, 96 insertions(+), 6 deletions(-) diff --git a/FengHuang/src/main/java/com/dsideal/FengHuang/Classes/Controller/ClassController.java b/FengHuang/src/main/java/com/dsideal/FengHuang/Classes/Controller/ClassController.java index e9499fd..bc0b29a 100644 --- a/FengHuang/src/main/java/com/dsideal/FengHuang/Classes/Controller/ClassController.java +++ b/FengHuang/src/main/java/com/dsideal/FengHuang/Classes/Controller/ClassController.java @@ -12,8 +12,12 @@ import com.jfinal.aop.Before; import com.jfinal.core.Controller; import com.jfinal.ext.interceptor.GET; import com.jfinal.ext.interceptor.POST; +import com.jfinal.kit.JsonKit; +import com.jfinal.kit.Kv; import com.jfinal.plugin.activerecord.Page; +import com.jfinal.plugin.activerecord.Record; +import java.util.List; import java.util.Map; public class ClassController extends Controller { diff --git a/FengHuang/src/main/java/com/dsideal/FengHuang/Classes/Model/ClassModel.java b/FengHuang/src/main/java/com/dsideal/FengHuang/Classes/Model/ClassModel.java index 21aa097..6c79722 100644 --- a/FengHuang/src/main/java/com/dsideal/FengHuang/Classes/Model/ClassModel.java +++ b/FengHuang/src/main/java/com/dsideal/FengHuang/Classes/Model/ClassModel.java @@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.dsideal.FengHuang.Util.CommonUtil; import com.dsideal.FengHuang.Util.IpUtil; +import com.jfinal.kit.Kv; import com.jfinal.plugin.activerecord.Db; import com.jfinal.plugin.activerecord.Page; import com.jfinal.plugin.activerecord.Record; @@ -66,7 +67,7 @@ public class ClassModel { * @param bureau_id * @return */ - public boolean addClassInfo(String class_name, int class_num, String stage_id, int entry_year, int school_length, String city_id, String area_id, String main_school_id, String bureau_id,String org_id, String operator, String ip_address) { + public boolean addClassInfo(String class_name, int class_num, String stage_id, int entry_year, int school_length, String city_id, String area_id, String main_school_id, String bureau_id, String org_id, String operator, String ip_address) { boolean flag = false; try { String classId = UUID.randomUUID().toString().toUpperCase(); @@ -130,9 +131,9 @@ public class ClassModel { * @param limit * @return */ - public Page getClassList(String bureau_id,String org_id, String stage_id, int entry_year, int page, int limit) { + public Page getClassList(String bureau_id, String org_id, String stage_id, int entry_year, int page, int limit) { try { - SqlPara sp = Db.getSqlPara("class.getClassList", bureau_id,org_id, stage_id, entry_year); + SqlPara sp = Db.getSqlPara("class.getClassList", bureau_id, org_id, stage_id, entry_year); Page dataPage = Db.paginate(page, limit, sp); return dataPage; } catch (Exception e) { @@ -283,4 +284,5 @@ public class ClassModel { } return ja; } + } diff --git a/FengHuang/src/main/java/com/dsideal/FengHuang/Organization/Controller/OrganizationController.java b/FengHuang/src/main/java/com/dsideal/FengHuang/Organization/Controller/OrganizationController.java index 082f7ac..67be480 100644 --- a/FengHuang/src/main/java/com/dsideal/FengHuang/Organization/Controller/OrganizationController.java +++ b/FengHuang/src/main/java/com/dsideal/FengHuang/Organization/Controller/OrganizationController.java @@ -1,5 +1,7 @@ package com.dsideal.FengHuang.Organization.Controller; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import com.dsideal.FengHuang.Interceptor.*; import com.dsideal.FengHuang.Util.CommonUtil; import com.dsideal.FengHuang.Util.IpUtil; @@ -10,6 +12,7 @@ import com.jfinal.aop.Before; import com.jfinal.core.Controller; import com.jfinal.ext.interceptor.GET; import com.jfinal.ext.interceptor.POST; +import com.jfinal.kit.Kv; import com.jfinal.plugin.activerecord.Page; import com.jfinal.plugin.activerecord.Record; @@ -280,7 +283,7 @@ public class OrganizationController extends Controller { @Before({POST.class}) @IsLoginInterface({}) @EmptyInterface({"parent_org_id", "org_name"}) - @IsNumericInterface({"sort_id","department_type_id"}) + @IsNumericInterface({"sort_id", "department_type_id"}) @IsSysAdminInterface({"1", "4"}) //超级管理员与单位管理员才可以增加部门 @AuthorityInterface({}) //是不是有权限操作这个单位或区域下的数据? @LengthInterface({"org_name,2,64"}) @@ -289,7 +292,7 @@ public class OrganizationController extends Controller { * 作者:黄海 * 时间:2018-12-04 */ - public void addOrg(String org_name, String parent_org_id,int department_type_id, int sort_id) { + public void addOrg(String org_name, String parent_org_id, int department_type_id, int sort_id) { //单位编码 String org_code = "-1"; @@ -305,7 +308,7 @@ public class OrganizationController extends Controller { //客户端ip_address String ip_address = IpUtil.getIpAddr(getRequest()); - model.addOrg(bureau_id, org_code, org_name, parent_org_id, department_type_id,sort_id, operator, ip_address); + model.addOrg(bureau_id, org_code, org_name, parent_org_id, department_type_id, sort_id, operator, ip_address); renderJson(CommonUtil.returnMessageJson(true, "保存成功!")); } @@ -449,4 +452,52 @@ public class OrganizationController extends Controller { return; } } + + // http://10.10.11.124:9000/FengHuang/organization/getZyClassSelectTree?bureau_id=0D8C9679-16B6-4A3B-A6FC-5CF4FF066437 + @Before({GET.class}) + @EmptyInterface({"bureau_id"}) + public void getZyClassSelectTree(String bureau_id) { + Kv res = Kv.create(); + Kv status = Kv.by("code", 200).set("message", "操作成功"); + + JSONArray data = new JSONArray(); + JSONObject root = new JSONObject(); + root.put("org_id", bureau_id); + + Record rOrg = model.getOrgInfo(bureau_id); + root.put("org_name", rOrg.getStr("org_name")); + root.put("parent_id", "0"); + + //Level1 + JSONArray level1 = new JSONArray(); + List firstList = model.getZyClassSelectTreeLevel1(bureau_id); + + //Level2 + List secondList = model.getZyClassSelectTreeLevel2(bureau_id); + for (Record r1 : firstList) { + JSONObject jo = new JSONObject(); + jo.put("org_id", r1.getStr("org_id")); + jo.put("org_name", r1.getStr("org_name")); + jo.put("parent_id", r1.getStr("parent_id")); + JSONArray children = new JSONArray(); + String org_id = r1.getStr("org_id"); + for (Record r2 : secondList) { + if (r2.getStr("parent_id").equals(org_id)) { + JSONObject child = new JSONObject(); + child.put("org_id", r2.getStr("org_id")); + child.put("org_name", r2.getStr("org_name")); + child.put("parent_id", r2.getStr("parent_id")); + children.add(child); + } + } + jo.put("children", children); + level1.add(jo); + } + + root.put("children", level1); + data.add(root); + res.set("status", status); + res.set("data", data); + renderJson(res); + } } \ No newline at end of file diff --git a/FengHuang/src/main/java/com/dsideal/FengHuang/Organization/Model/OrganizationModel.java b/FengHuang/src/main/java/com/dsideal/FengHuang/Organization/Model/OrganizationModel.java index 725ae12..b6948ab 100644 --- a/FengHuang/src/main/java/com/dsideal/FengHuang/Organization/Model/OrganizationModel.java +++ b/FengHuang/src/main/java/com/dsideal/FengHuang/Organization/Model/OrganizationModel.java @@ -3,6 +3,7 @@ package com.dsideal.FengHuang.Organization.Model; import com.dsideal.FengHuang.Util.CommonUtil; import com.dsideal.FengHuang.Util.IpUtil; import com.dsideal.FengHuang.Util.PkUtil; +import com.jfinal.kit.Kv; import com.jfinal.kit.StrKit; import com.jfinal.plugin.activerecord.Db; import com.jfinal.plugin.activerecord.Page; @@ -564,4 +565,16 @@ public class OrganizationModel { Page dataPage = Db.paginate(page, limit, Db.getSqlPara("organization.getAllListByAreaId", area_id, area_id, "%" + keyword + "%")); return dataPage; } + + public List getZyClassSelectTreeLevel1(String bureau_id) { + Kv kv = Kv.by("bureau_id", bureau_id); + SqlPara sqlPara = Db.getSqlPara("organization.getZyClassSelectTreeLevel1", kv); + return Db.find(sqlPara); + } + + public List getZyClassSelectTreeLevel2(String bureau_id) { + Kv kv = Kv.by("bureau_id", bureau_id); + SqlPara sqlPara = Db.getSqlPara("organization.getZyClassSelectTreeLevel2", kv); + return Db.find(sqlPara); + } } diff --git a/FengHuang/src/main/resource/Sql/class.sql b/FengHuang/src/main/resource/Sql/class.sql index 43409ae..2668784 100644 --- a/FengHuang/src/main/resource/Sql/class.sql +++ b/FengHuang/src/main/resource/Sql/class.sql @@ -51,4 +51,5 @@ #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/FengHuang/src/main/resource/Sql/organization.sql b/FengHuang/src/main/resource/Sql/organization.sql index 0e87c54..5900145 100644 --- a/FengHuang/src/main/resource/Sql/organization.sql +++ b/FengHuang/src/main/resource/Sql/organization.sql @@ -109,4 +109,13 @@ select org_id,org_name from t_base_organization where bureau_id=? and parent_id=? and b_use=1 #end + #sql("getZyClassSelectTreeLevel1") + select org_id,org_name,parent_id from t_base_organization where bureau_id='#(bureau_id)' + and ((department_type_id =1) or (department_type_id =2 and parent_id='#(bureau_id)')) + #end + + #sql("getZyClassSelectTreeLevel2") + select org_id,org_name,parent_id from t_base_organization where bureau_id='#(bureau_id)' + and (department_type_id =2 and parent_id<>'#(bureau_id)') + #end #end \ No newline at end of file diff --git a/FengHuang/target/classes/Sql/class.sql b/FengHuang/target/classes/Sql/class.sql index 43409ae..2668784 100644 --- a/FengHuang/target/classes/Sql/class.sql +++ b/FengHuang/target/classes/Sql/class.sql @@ -51,4 +51,5 @@ #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/FengHuang/target/classes/Sql/organization.sql b/FengHuang/target/classes/Sql/organization.sql index 0e87c54..5900145 100644 --- a/FengHuang/target/classes/Sql/organization.sql +++ b/FengHuang/target/classes/Sql/organization.sql @@ -109,4 +109,13 @@ select org_id,org_name from t_base_organization where bureau_id=? and parent_id=? and b_use=1 #end + #sql("getZyClassSelectTreeLevel1") + select org_id,org_name,parent_id from t_base_organization where bureau_id='#(bureau_id)' + and ((department_type_id =1) or (department_type_id =2 and parent_id='#(bureau_id)')) + #end + + #sql("getZyClassSelectTreeLevel2") + select org_id,org_name,parent_id from t_base_organization where bureau_id='#(bureau_id)' + and (department_type_id =2 and parent_id<>'#(bureau_id)') + #end #end \ No newline at end of file