区域管理员和楼栋管理员相应功能调整修改
diff --git a/src/main/java/com/supwisdom/dlpay/mainservice/dao/impl/CardListDaoImpl.java b/src/main/java/com/supwisdom/dlpay/mainservice/dao/impl/CardListDaoImpl.java
index cd6ed89..a936e97 100644
--- a/src/main/java/com/supwisdom/dlpay/mainservice/dao/impl/CardListDaoImpl.java
+++ b/src/main/java/com/supwisdom/dlpay/mainservice/dao/impl/CardListDaoImpl.java
@@ -50,31 +50,31 @@
}
if (!("").equals(devname)) {
- queryString += " and b.devname like :devname";
+ queryString += " and b.devname like :devname ";
}
if (!("all").equals(operflag)) {
- queryString += " and a.operflag =:operflag";
+ queryString += " and a.operflag =:operflag ";
}
if (!("").equals(buildingid)) {
queryString += " and b.buildingid = :buildingid ";
}
if (!regionid.equals("")){
- queryString += "and b.regionid in "
+ queryString += " and b.regionid in "
+"("
+ "with recursive tmp as "
+ "("
+ "select tbr.regionid,tbr.parentid,tbr.regionname from tb_region tbr where regionid = :regionid "
+ "union all "
+ "select tbr.regionid,tbr.parentid,tbr.regionname from tb_region tbr inner join tmp t on t.regionid=tbr.parentid "
- + ") select regionid from tmp )";
+ + ") select regionid from tmp ) ";
}
if (!("").equals(custname)) {
- queryString += " and a.custname like :custname";
+ queryString += " and a.custname like :custname ";
}
if (!("").equals(cardno)) {
- queryString += " and a.cardno like :cardno";
+ queryString += " and a.cardno like :cardno ";
}
- queryString += " ORDER by a.listid DESC";
+ queryString += " ORDER by a.listid DESC ";
Query query = entityManager.createNativeQuery(queryString, TDoorcardlstInfo.class);
@@ -193,7 +193,7 @@
String queryString = "select count(*) from t_nc_cardlist a," +
" t_nc_device b "+
" left join tb_region c on b.regionid=c.regionid " +
- "where 1>0 and a.deviceid = b.deviceid ";
+ " where 1>0 and a.deviceid = b.deviceid ";
if (!"".equals(allocatStartDate)) {
queryString += " and a.rectime>=:allocatStartDate ";
@@ -202,32 +202,32 @@
queryString += " and a.rectime<=:allocatEndDate ";
}
if (!("all").equals(syncflag)) {
- queryString += " and a.syncflag =:syncflag";
+ queryString += " and a.syncflag =:syncflag ";
}
if (!("all").equals(operflag)) {
- queryString += " and a.operflag =:operflag";
+ queryString += " and a.operflag =:operflag ";
}
if (!("").equals(buildingid)) {
queryString += " and b.buildingid = :buildingid ";
}
if (!regionid.equals("")){
- queryString += "and b.regionid in "
+ queryString += " and b.regionid in "
+"("
+ "with recursive tmp as "
+ "("
+ "select tbr.regionid,tbr.parentid,tbr.regionname from tb_region tbr where regionid = :regionid "
+ "union all "
+ "select tbr.regionid,tbr.parentid,tbr.regionname from tb_region tbr inner join tmp t on t.regionid=tbr.parentid "
- + ") select regionid from tmp )";
+ + ") select regionid from tmp ) ";
}
if (!("").equals(devname)) {
- queryString += " and b.devname like :devname";
+ queryString += " and b.devname like :devname ";
}
if (!("").equals(custname)) {
- queryString += " and a.custname like :custname";
+ queryString += " and a.custname like :custname ";
}
if (!("").equals(cardno)) {
- queryString += " and a.cardno like :cardno";
+ queryString += " and a.cardno like :cardno ";
}
Query query = entityManager.createNativeQuery(queryString);
if (!"".equals(allocatStartDate)) {
@@ -298,42 +298,31 @@
queryString += " and b.devname like :devname";
}
if (!("all").equals(operflag)) {
- queryString += " and a.operflag =:operflag";
+ queryString += " and a.operflag = :operflag ";
}
if (!("").equals(buildingid)) {
queryString += " and b.buildingid = :buildingid ";
}
- if (!regionid.equals("")){
- queryString += "and b.regionid in "
+ queryString += " and b.regionid in "
+"("
+ "with recursive tmp as "
+ "("
- + "select tbr.regionid,tbr.parentid,tbr.regionname from tb_region tbr where regionid = :operRegionid "
+ + "select tbr.regionid,tbr.parentid,tbr.regionname from tb_region tbr where regionid = :regionid "
+ "union all "
+ "select tbr.regionid,tbr.parentid,tbr.regionname from tb_region tbr inner join tmp t on t.regionid=tbr.parentid "
- + ") select regionid from tmp where tmp.regionid=:regionid)";
- }else {
- queryString += "and b.regionid in "
- +"("
- + "with recursive tmp as "
- + "("
- + "select tbr.regionid,tbr.parentid,tbr.regionname from tb_region tbr where regionid = :operRegionid "
- + "union all "
- + "select tbr.regionid,tbr.parentid,tbr.regionname from tb_region tbr inner join tmp t on t.regionid=tbr.parentid "
- + ") select regionid from tmp )";
- }
+ + ") select regionid from tmp ) ";
+
if (!("").equals(custname)) {
- queryString += " and a.custname like :custname";
+ queryString += " and a.custname like :custname ";
}
if (!("").equals(cardno)) {
- queryString += " and a.cardno like :cardno";
+ queryString += " and a.cardno like :cardno ";
}
- queryString += " ORDER by a.listid DESC";
+ queryString += " ORDER by a.listid DESC ";
Query query = entityManager.createNativeQuery(queryString, TDoorcardlstInfo.class);
- query.setParameter("operRegionid", operRegionid);
if (!"".equals(allocatStartDate)) {
query.setParameter("allocatStartDate", allocatStartDate + "000000");
}
@@ -356,6 +345,8 @@
}
if (!("").equals(regionid)){
query.setParameter("regionid", regionid);
+ }else {
+ query.setParameter("regionid", operRegionid );
}
if (!("").equals(custname)) {
query.setParameter("custname", "%" + custname + "%");
@@ -399,44 +390,32 @@
queryString += " and a.rectime<=:allocatEndDate ";
}
if (!("all").equals(syncflag)) {
- queryString += " and a.syncstatus =:syncStatus";
+ queryString += " and a.syncstatus =:syncStatus ";
}
if (!("all").equals(operflag)) {
- queryString += " and a.operflag =:operFlag";
+ queryString += " and a.operflag =:operFlag ";
}
if (!("").equals(buildingid)) {
queryString += " and b.buildingid = :buildingid ";
}
- if (!regionid.equals("")){
- queryString += "and b.regionid in "
+ queryString += " and b.regionid in "
+"("
+ "with recursive tmp as "
+ "("
- + "select tbr.regionid,tbr.parentid,tbr.regionname from tb_region tbr where regionid = :operRegionid "
+ + "select tbr.regionid,tbr.parentid,tbr.regionname from tb_region tbr where regionid = :regionid "
+ "union all "
+ "select tbr.regionid,tbr.parentid,tbr.regionname from tb_region tbr inner join tmp t on t.regionid=tbr.parentid "
- + ") select regionid from tmp where tmp.regionid=:regionid)";
- }else {
- queryString += "and b.regionid in "
- +"("
- + "with recursive tmp as "
- + "("
- + "select tbr.regionid,tbr.parentid,tbr.regionname from tb_region tbr where regionid = :operRegionid "
- + "union all "
- + "select tbr.regionid,tbr.parentid,tbr.regionname from tb_region tbr inner join tmp t on t.regionid=tbr.parentid "
- + ") select regionid from tmp )";
- }
+ + ") select regionid from tmp ) ";
if (!("").equals(devname)) {
- queryString += " and b.doorname like :devname";
+ queryString += " and b.doorname like :devname ";
}
if (!("").equals(custname)) {
- queryString += " and a.custname like :custname";
+ queryString += " and a.custname like :custname ";
}
if (!("").equals(cardno)) {
- queryString += " and a.stuempno like :cardno";
+ queryString += " and a.stuempno like :cardno ";
}
Query query = entityManager.createNativeQuery(queryString);
- query.setParameter("operRegionid", operRegionid);
if (!"".equals(allocatStartDate)) {
query.setParameter("allocatStartDate", allocatStartDate + "000000");
}
@@ -459,6 +438,8 @@
}
if (!("").equals(regionid)){
query.setParameter("regionid", regionid);
+ }else {
+ query.setParameter("regionid" ,operRegionid );
}
if (!("").equals(custname)) {
query.setParameter("custname", "%" + custname + "%");
@@ -501,25 +482,25 @@
queryString += " and a.rectime<=:allocatEndDate ";
}
if (!("all").equals(syncflag)) {
- queryString += " and a.syncflag =:syncflag";
+ queryString += " and a.syncflag =:syncflag ";
}
if (!("").equals(devname)) {
- queryString += " and b.devname like :devname";
+ queryString += " and b.devname like :devname ";
}
if (!("all").equals(operflag)) {
- queryString += " and a.operflag =:operflag";
+ queryString += " and a.operflag =:operflag ";
}
if (!("").equals(buildingid)) {
queryString += " and b.buildingid = :buildingid ";
}
if (!("").equals(custname)) {
- queryString += " and a.custname like :custname";
+ queryString += " and a.custname like :custname ";
}
if (!("").equals(cardno)) {
- queryString += " and a.cardno like :cardno";
+ queryString += " and a.cardno like :cardno ";
}
- queryString += " ORDER by a.listid DESC";
+ queryString += " ORDER by a.listid DESC ";
Query query = entityManager.createNativeQuery(queryString, TDoorcardlstInfo.class);
query.setParameter("operid", operid);
@@ -588,22 +569,22 @@
queryString += " and a.rectime<=:allocatEndDate ";
}
if (!("all").equals(syncflag)) {
- queryString += " and a.syncflag =:syncflag";
+ queryString += " and a.syncflag =:syncflag ";
}
if (!("all").equals(operflag)) {
- queryString += " and a.operflag =:operflag";
+ queryString += " and a.operflag =:operflag ";
}
if (!("").equals(buildingid)) {
queryString += " and b.buildingid = :buildingid ";
}
if (!("").equals(devname)) {
- queryString += " and b.devname like :devname";
+ queryString += " and b.devname like :devname ";
}
if (!("").equals(custname)) {
- queryString += " and a.custname like :custname";
+ queryString += " and a.custname like :custname ";
}
if (!("").equals(cardno)) {
- queryString += " and a.cardno like :cardno";
+ queryString += " and a.cardno like :cardno ";
}
Query query = entityManager.createNativeQuery(queryString);
query.setParameter("operid", operid);
@@ -665,34 +646,34 @@
queryString += " and a.rectime<=:allocatEndDate ";
}
if (!("all").equals(syncflag)) {
- queryString += " and a.syncflag =:syncflag";
+ queryString += " and a.syncflag =:syncflag ";
}
if (!("").equals(devname)) {
- queryString += " and b.devname like :devname";
+ queryString += " and b.devname like :devname ";
}
if (!("all").equals(operflag)) {
- queryString += " and a.operflag =:operflag";
+ queryString += " and a.operflag =:operflag ";
}
if (!("").equals(buildingid)) {
- queryString += " and b.buildingid = :buildingid";
+ queryString += " and b.buildingid = :buildingid ";
}
if (!regionid.equals("")){
- queryString += "and b.regionid in "
+ queryString += " and b.regionid in "
+"("
+ "with recursive tmp as "
+ "("
+ "select tbr.regionid,tbr.parentid,tbr.regionname from tb_region tbr where regionid = :regionid "
+ "union all "
+ "select tbr.regionid,tbr.parentid,tbr.regionname from tb_region tbr inner join tmp t on t.regionid=tbr.parentid "
- + ") select regionid from tmp )";
+ + ") select regionid from tmp ) ";
}
if (!("").equals(custname)) {
- queryString += " and a.custname like :custname";
+ queryString += " and a.custname like :custname ";
}
if (!("").equals(cardno)) {
- queryString += " and a.cardno like :cardno";
+ queryString += " and a.cardno like :cardno ";
}
- queryString += " order by a.listid DESC";
+ queryString += " order by a.listid DESC ";
Query query = entityManager.createNativeQuery(queryString, TDoorcardlstInfo.class);
if (!"".equals(allocatStartDate)) {
@@ -812,48 +793,38 @@
queryString += " and a.rectime<=:allocatEndDate ";
}
if (!("all").equals(syncflag)) {
- queryString += " and a.syncflag =:syncflag";
+ queryString += " and a.syncflag =:syncflag ";
}
if (!("").equals(devname)) {
- queryString += " and b.devname like :devname";
+ queryString += " and b.devname like :devname ";
}
if (!("all").equals(operflag)) {
- queryString += " and a.operflag =:operflag";
+ queryString += " and a.operflag =:operflag ";
}
if (!("").equals(buildingid)) {
- queryString += " and b.buildingid = :buildingid";
+ queryString += " and b.buildingid = :buildingid ";
}
- if (!regionid.equals("")){
- queryString += "and b.regionid in "
- +"("
- + "with recursive tmp as "
- + "("
- + "select tbr.regionid,tbr.parentid,tbr.regionname from tb_region tbr where regionid = :operRegionid "
- + "union all "
- + "select tbr.regionid,tbr.parentid,tbr.regionname from tb_region tbr inner join tmp t on t.regionid=tbr.parentid "
- + ") select regionid from tmp where tmp.regionid=:regionid)";
- }else {
- queryString += "and b.regionid in "
+
+ queryString += " and b.regionid in "
+"("
+ "with recursive tmp as "
+ "("
- + "select tbr.regionid,tbr.parentid,tbr.regionname from tb_region tbr where regionid = :operRegionid "
+ + "select tbr.regionid,tbr.parentid,tbr.regionname from tb_region tbr where regionid = :regionid "
+ "union all "
+ "select tbr.regionid,tbr.parentid,tbr.regionname from tb_region tbr inner join tmp t on t.regionid=tbr.parentid "
- + ") select regionid from tmp )";
+ + ") select regionid from tmp ) ";
- }
+
if (!("").equals(custname)) {
- queryString += " and a.custname like :custname";
+ queryString += " and a.custname like :custname ";
}
if (!("").equals(cardno)) {
- queryString += " and a.cardno like :cardno";
+ queryString += " and a.cardno like :cardno ";
}
- queryString += " order by a.listid DESC";
+ queryString += " order by a.listid DESC ";
Query query = entityManager.createNativeQuery(queryString, TDoorcardlstInfo.class);
- query.setParameter("operRegionid", operRegionid);
if (!"".equals(allocatStartDate)) {
query.setParameter("allocatStartDate", allocatStartDate + "000000");
}
@@ -876,6 +847,8 @@
}
if (!("").equals(regionid)){
query.setParameter("regionid", regionid);
+ }else {
+ query.setParameter("regionid" ,operRegionid );
}
if (!("").equals(custname)) {
query.setParameter("custname", "%" + custname + "%");
@@ -974,25 +947,25 @@
queryString += " and a.rectime<=:allocatEndDate ";
}
if (!("all").equals(syncflag)) {
- queryString += " and a.syncflag =:syncflag";
+ queryString += " and a.syncflag =:syncflag ";
}
if (!("").equals(devname)) {
- queryString += " and b.devname like :devname";
+ queryString += " and b.devname like :devname ";
}
if (!("all").equals(operflag)) {
- queryString += " and a.operflag =:operflag";
+ queryString += " and a.operflag =:operflag ";
}
if (!("").equals(buildingid)) {
queryString += " and b.buildingid = :buildingid ";
}
if (!("").equals(custname)) {
- queryString += " and a.custname like :custname";
+ queryString += " and a.custname like :custname ";
}
if (!("").equals(cardno)) {
- queryString += " and a.cardno like :cardno";
+ queryString += " and a.cardno like :cardno ";
}
- queryString += " ORDER by a.listid DESC";
+ queryString += " ORDER by a.listid DESC ";
Query query = entityManager.createNativeQuery(queryString, TDoorcardlstInfo.class);
query.setParameter("operid", operid);
diff --git a/src/main/java/com/supwisdom/dlpay/mainservice/dao/impl/DoordtlDaoImpl.java b/src/main/java/com/supwisdom/dlpay/mainservice/dao/impl/DoordtlDaoImpl.java
index 3d675ce..047e876 100644
--- a/src/main/java/com/supwisdom/dlpay/mainservice/dao/impl/DoordtlDaoImpl.java
+++ b/src/main/java/com/supwisdom/dlpay/mainservice/dao/impl/DoordtlDaoImpl.java
@@ -54,7 +54,7 @@
+ "select tbr.regionid,tbr.parentid,tbr.regionname from tb_region tbr where regionid = :regionid "
+ "union all "
+ "select tbr.regionid,tbr.parentid,tbr.regionname from tb_region tbr inner join tmp t on t.regionid=tbr.parentid "
- + ") select regionid from tmp )";
+ + ") select regionid from tmp ) ";
}
queryString += " order by a.transdate DESC";
Query query = entityManager.createNativeQuery(queryString, TDoordtlInfo.class);
@@ -118,25 +118,16 @@
if(!buildingid.equals("")){
queryString += " and e.buildingid = :buildingid ";
}
- if (!regionid.equals("")){
+
queryString += " and d.regionid in "
+"("
+ "with recursive tmp as "
+ "("
- + "select tbr.regionid,tbr.parentid,tbr.regionname from tb_region tbr where regionid = :operRegionid "
+ + "select tbr.regionid,tbr.parentid,tbr.regionname from tb_region tbr where regionid = :regionid "
+ "union all "
+ "select tbr.regionid,tbr.parentid,tbr.regionname from tb_region tbr inner join tmp t on t.regionid=tbr.parentid "
- + ") select regionid from tmp where tmp.regionid = :regionid )";
- }else {
- queryString += " and d.regionid in "
- +"("
- + "with recursive tmp as "
- + "("
- + "select tbr.regionid,tbr.parentid,tbr.regionname from tb_region tbr where regionid = :operRegionid "
- + "union all "
- + "select tbr.regionid,tbr.parentid,tbr.regionname from tb_region tbr inner join tmp t on t.regionid=tbr.parentid "
- + ") select regionid from tmp )";
- }
+ + ") select regionid from tmp ) ";
+
queryString += " order by transdate DESC";
Query query = entityManager.createNativeQuery(queryString, TDoordtlInfo.class);
@@ -159,9 +150,10 @@
if (!buildingid.equals("")) {
query.setParameter("buildingid", buildingid);
}
- query.setParameter("operRegionid", operRegionid);
if(regionid.equals("")){
query.setParameter("regionid",regionid);
+ }else {
+ query.setParameter("regionid", operRegionid);
}
List<TDoordtlInfo> list = query.getResultList();
return list;
@@ -348,7 +340,7 @@
+ "select tbr.regionid,tbr.parentid,tbr.regionname from tb_region tbr where regionid = :regionid "
+ "union all "
+ "select tbr.regionid,tbr.parentid,tbr.regionname from tb_region tbr inner join tmp t on t.regionid=tbr.parentid "
- + ") select regionid from tmp )";
+ + ") select regionid from tmp ) ";
}
Query query = entityManager.createNativeQuery(queryString);
query.setMaxResults(5);
@@ -416,25 +408,16 @@
if(!buildingid.equals("")){
queryString += " and e.buildingid = :buildingid ";
}
- if (!regionid.equals("")){
- queryString += " and d.regionid in "
- +"("
- + "with recursive tmp as "
- + "("
- + "select tbr.regionid,tbr.parentid,tbr.regionname from tb_region tbr where regionid = :operRegionid "
- + "union all "
- + "select tbr.regionid,tbr.parentid,tbr.regionname from tb_region tbr inner join tmp t on t.regionid=tbr.parentid "
- + ") select regionid from tmp where tmp.regionid = :regionid )";
- }else {
+
queryString += "and d.regionid in "
+"("
+ "with recursive tmp as "
+ "("
- + "select tbr.regionid,tbr.parentid,tbr.regionname from tb_region tbr where regionid = :operRegionid "
+ + "select tbr.regionid,tbr.parentid,tbr.regionname from tb_region tbr where regionid = :regionid "
+ "union all "
+ "select tbr.regionid,tbr.parentid,tbr.regionname from tb_region tbr inner join tmp t on t.regionid=tbr.parentid "
+ ") select regionid from tmp )";
- }
+
queryString += " order by transdate DESC";
Query query = entityManager.createNativeQuery(queryString, TDoordtlInfo.class);
@@ -457,9 +440,10 @@
if (!buildingid.equals("")) {
query.setParameter("buildingid", buildingid);
}
- query.setParameter("operRegionid", operRegionid);
- if(regionid.equals("")){
+ if(!regionid.equals("")){
query.setParameter("regionid",regionid);
+ }else {
+ query.setParameter("regionid" ,operRegionid );
}
pageNo = pageNo <= 0 ? 1 : pageNo;
query.setFirstResult((pageNo - 1) * pageSize);
@@ -487,7 +471,7 @@
try {
String queryString = "select count(*) as cnt "
+ " from t_doordtl a "
- + " left join t_card c on a.custid=c.custid, t_nc_device "
+ + " left join t_card c on a.custid=c.custid, t_nc_device b "
+ " left join tb_region d on b.regionid=d.regionid "
+ " left join t_building e on b.buildingid=e.buildingid "
+ " where 1>0 and cast(substr(a.doorid,5) as integer) = b.deviceid ";
@@ -510,25 +494,16 @@
if(!buildingid.equals("")){
queryString += " and e.buildingid = :buildingid ";
}
- if (!regionid.equals("")){
+
queryString += " and d.regionid in "
+"("
+ "with recursive tmp as "
+ "("
- + "select tbr.regionid,tbr.parentid,tbr.regionname from tb_region tbr where regionid like :operRegionid "
- + "union all "
- + "select tbr.regionid,tbr.parentid,tbr.regionname from tb_region tbr inner join tmp t on t.regionid=tbr.parentid "
- + ") select regionid from tmp where tmp.regionid=:regionid )";
- }else {
- queryString += "and tr.regionid in "
- +"("
- + "with recursive tmp as "
- + "("
- + "select tbr.regionid,tbr.parentid,tbr.regionname from tb_region tbr where regionid like :operRegionid "
+ + "select tbr.regionid,tbr.parentid,tbr.regionname from tb_region tbr where regionid like :regionid "
+ "union all "
+ "select tbr.regionid,tbr.parentid,tbr.regionname from tb_region tbr inner join tmp t on t.regionid=tbr.parentid "
+ ") select regionid from tmp )";
- }
+
Query query = entityManager.createNativeQuery(queryString);
query.setMaxResults(5);
if (!startTranDate.equals("")) {
@@ -550,9 +525,11 @@
if (!buildingid.equals("")) {
query.setParameter("buildingid", buildingid);
}
- query.setParameter("operRegionid", operRegionid);
+
if(!regionid.equals("")){
query.setParameter("regionid",regionid);
+ }else {
+ query.setParameter("regionid", operRegionid);
}
List list = query.getResultList();
int cnt = 0;
@@ -573,7 +550,7 @@
String queryString = "select a.doorseqno,b.deviceid,b.devname,a.custname,c.cardno,c.cardphyid,c.bankcardno,a.transdate||a.transtime transdate, a.coldate||a.coltime coldate,"
+ " case when a.status='' then '失败' else '成功' end status,a.dtldesc "
+ " from t_doordtl a "
- + " left join t_card c left join on a.custid=c.custid,t_nc_devcie b "
+ + " left join t_card c on a.custid=c.custid,t_nc_devcie b "
+ " left join tb_region d on b.regionid=d.regionid "
+ " left join t_building e on b.buildingid=e.buildingid "
+ " left join t_operBuilding f on e.buildingid = f.buildingid "
diff --git a/src/main/java/com/supwisdom/dlpay/ncmgr/controller/NcMgrController.java b/src/main/java/com/supwisdom/dlpay/ncmgr/controller/NcMgrController.java
index 3b1120f..7bf505f 100644
--- a/src/main/java/com/supwisdom/dlpay/ncmgr/controller/NcMgrController.java
+++ b/src/main/java/com/supwisdom/dlpay/ncmgr/controller/NcMgrController.java
@@ -102,7 +102,7 @@
map.put("buildings", buildings);
}else if (opertype.equals("H") && !StringUtil.isEmpty(operUser.getRegionid())){
- page = ncService.getOperatorNcDeviceWithPage(devname, pageNo, pageSize, buildingid, operUser.getRegionid(), devtype);
+ page = ncService.getOperatorNcDeviceWithPage(devname, pageNo, pageSize, buildingid, regionid, devtype,operUser.getRegionid());
map.put("PageResult", page);
regions = systemService.getRegionListById(operUser.getRegionid());
map.put("regions", regions);
@@ -191,7 +191,9 @@
List<TBuilding> regionBuildings = null;
if (operUser.getOpertype().equals("L")){
regionBuildings = systemService.getBuildingOperBuildingByRegionId(regionid, operUser.getOperid());
- }else {
+ }else if(operUser.getOpertype().equals("H") && !StringUtil.isEmpty(operUser.getRegionid())){
+ regionBuildings = systemService.getBuildingByRegionId(operUser.getRegionid());
+ } else {
regionBuildings = systemService.getBuildingByRegionId(regionid);
}
map.put("reBuilding", regionBuildings);
@@ -1126,11 +1128,10 @@
map.put("weektime", weektime);//时间周
String opertype = operUser.getOpertype();
List<TNcDevice> device = null;
- if (!StringUtil.isEmpty(opertype) &&(opertype.equals("S")||opertype.equals("P"))) {
+
device = ncService.findAllNcDevices();
- }else if (!StringUtil.isEmpty(operUser.getRegionid())) {
- device = ncService.findOperatorDevices(operUser.getRegionid());
- }
+
+
map.put("device", device);//设备
} catch (Exception e) {
e.printStackTrace();
diff --git a/src/main/java/com/supwisdom/dlpay/ncmgr/dao/NcDeviceDao.java b/src/main/java/com/supwisdom/dlpay/ncmgr/dao/NcDeviceDao.java
index 88def09..a7b5fd1 100644
--- a/src/main/java/com/supwisdom/dlpay/ncmgr/dao/NcDeviceDao.java
+++ b/src/main/java/com/supwisdom/dlpay/ncmgr/dao/NcDeviceDao.java
@@ -11,6 +11,8 @@
public interface NcDeviceDao {
public Pagination getSystemNcDeviceWithPage(String devname, int pageNo, int pageSize, String buildingid,String regionid, String devtype);
+ public Pagination getOperatorNcDeviceWithPage(String devname,int pageNo,int pageSize, String buildingid,String regionid,String devtype,String operRegionid);
+
public Pagination getBuildingOperNcDeviceWithPage(String devname,int pageNo,int pageSize,String buildingid,String devtype,String operid);
public List<TBuilding> getAllBuilding();
diff --git a/src/main/java/com/supwisdom/dlpay/ncmgr/dao/impl/NcDeviceDaoImpl.java b/src/main/java/com/supwisdom/dlpay/ncmgr/dao/impl/NcDeviceDaoImpl.java
index 1a71ffd..a3623f0 100644
--- a/src/main/java/com/supwisdom/dlpay/ncmgr/dao/impl/NcDeviceDaoImpl.java
+++ b/src/main/java/com/supwisdom/dlpay/ncmgr/dao/impl/NcDeviceDaoImpl.java
@@ -29,10 +29,10 @@
+" left join tb_region tr on tr.regionid=tb.regionid"
+" where 1>0 and operflag='A'";
if(!devname.equals("")){
- sql+="and devname like :devname ";
+ sql+=" and devname like :devname ";
}
if(!buildingid.equals("")){
- sql+="and bean.buildingid = :buildingid ";
+ sql+=" and bean.buildingid = :buildingid ";
}
if (!regionid.equals("")){
sql += "and tr.regionid in "
@@ -45,9 +45,9 @@
+ ") select regionid from tmp )";
}
if(!devtype.equals("")){
- sql+="and devtype = :devtype ";
+ sql+=" and devtype = :devtype ";
}
- sql+="order by devtype";
+ sql+=" order by devtype";
Query query = entityManager.createNativeQuery(sql,TNcDevice.class);
if(!devname.equals("")){
@@ -80,25 +80,25 @@
String sql ="select count(bean.deviceid) from T_Nc_Device bean "
+" left join t_building tb on bean.buildingid=tb.buildingid"
+" left join tb_region tr on tr.regionid=tb.regionid"
- +" where 1>0 and operflag='A'";
+ +" where 1>0 and operflag='A' ";
if(!devname.equals("")){
- sql+="and bean.devname like :devname ";
+ sql+=" and bean.devname like :devname ";
}
if(!buildingid.equals("")){
- sql+="and bean.buildingid = :buildingid ";
+ sql+=" and bean.buildingid = :buildingid ";
}
if (!regionid.equals("")){
- sql += "and tr.regionid in "
+ sql += " and tr.regionid in "
+"("
+ "with recursive tmp as "
+ "("
+ "select tbr.regionid,tbr.parentid,tbr.regionname from tb_region tbr where regionid = :regionid "
+ "union all "
+ "select tbr.regionid,tbr.parentid,tbr.regionname from tb_region tbr inner join tmp t on t.regionid=tbr.parentid "
- + ") select regionid from tmp )";
+ + ") select regionid from tmp ) ";
}
if(!devtype.equals("")){
- sql+="and bean.devtype = :devtype ";
+ sql+=" and bean.devtype = :devtype ";
}
Query query = entityManager.createNativeQuery(sql);
if(!devname.equals("")){
@@ -123,6 +123,109 @@
@Transactional
@Override
+ public Pagination getOperatorNcDeviceWithPage(String devname, int pageNo, int pageSize, String buildingid, String regionid, String devtype, String operRegionid) {
+ String sql ="select * from T_Nc_Device bean "
+ +" left join t_building tb on bean.buildingid=tb.buildingid"
+ +" left join tb_region tr on tr.regionid=tb.regionid "
+ +" where 1>0 and operflag='A' ";
+ if(!devname.equals("")){
+ sql+=" and devname like :devname ";
+ }
+ if(!buildingid.equals("")){
+ sql+=" and bean.buildingid = :buildingid ";
+ }
+
+ sql += " and tr.regionid in "
+ +"("
+ + "with recursive tmp as "
+ + "("
+ + "select tbr.regionid,tbr.parentid,tbr.regionname from tb_region tbr where regionid = :regionid "
+ + "union all "
+ + "select tbr.regionid,tbr.parentid,tbr.regionname from tb_region tbr inner join tmp t on t.regionid=tbr.parentid "
+ + ") select regionid from tmp )";
+
+ if(!devtype.equals("")){
+ sql+=" and devtype = :devtype ";
+ }
+ sql+=" order by devtype";
+ Query query = entityManager.createNativeQuery(sql,TNcDevice.class);
+
+ if(!devname.equals("")){
+ query.setParameter("devname", "%"+devname+"%");
+ }
+ if(!buildingid.equals("")){
+ query.setParameter("buildingid", buildingid);
+ }
+ if(!devtype.equals("")){
+ query.setParameter("devtype", devtype);
+ }
+ if (!("").equals(regionid)){
+ query.setParameter("regionid", regionid);
+ }else {
+ query.setParameter("regionid", operRegionid);
+ }
+ pageNo = pageNo <= 0 ? 1 : pageNo;
+ query.setFirstResult((pageNo - 1) * pageSize);
+ query.setMaxResults(pageSize);
+ Pagination page = new Pagination();
+ page.setPageNo(pageNo);
+ page.setPageSize(pageSize);
+ List<TNcDevice> list = query.getResultList();
+ page.setList(list);
+ int totalCount = getOperatorNcDeviceCount(devname, buildingid, regionid, devtype, operRegionid);
+ page.setTotalCount(totalCount);
+ return page;
+ }
+
+ private int getOperatorNcDeviceCount(String devname,String buildingid, String regionid, String devtype, String operRegionid){
+ String sql ="select count(bean.deviceid) from T_Nc_Device bean "
+ +" left join t_building tb on bean.buildingid=tb.buildingid"
+ +" left join tb_region tr on tr.regionid=tb.regionid"
+ +" where 1>0 and operflag='A' ";
+ if(!devname.equals("")){
+ sql+=" and bean.devname like :devname ";
+ }
+ if(!buildingid.equals("")){
+ sql+=" and bean.buildingid = :buildingid ";
+ }
+
+ sql += " and tr.regionid in "
+ +"("
+ + "with recursive tmp as "
+ + "("
+ + "select tbr.regionid,tbr.parentid,tbr.regionname from tb_region tbr where regionid = :regionid "
+ + "union all "
+ + "select tbr.regionid,tbr.parentid,tbr.regionname from tb_region tbr inner join tmp t on t.regionid=tbr.parentid "
+ + ") select regionid from tmp ) ";
+
+ if(!devtype.equals("")){
+ sql+=" and bean.devtype = :devtype ";
+ }
+ Query query = entityManager.createNativeQuery(sql);
+ if(!devname.equals("")){
+ query.setParameter("devname", "%"+devname+"%");
+ }
+ if(!buildingid.equals("")){
+ query.setParameter("buildingid", buildingid);
+ }
+ if(!devtype.equals("")){
+ query.setParameter("devtype", devtype);
+ }
+ if (!("").equals(regionid)){
+ query.setParameter("regionid", regionid);
+ }else {
+ query.setParameter("regionid", operRegionid);
+ }
+ List list = query.getResultList();
+ int cnt = 0;
+ if (list!=null && list.size()>0){
+ cnt = Integer.parseInt(list.get(0).toString());
+ }
+ return cnt;
+ }
+
+ @Transactional
+ @Override
public Pagination getBuildingOperNcDeviceWithPage(String devname, int pageNo, int pageSize, String buildingid, String devtype,String operid) {
String sql = "select * from T_NC_device bean "
+" left join t_building tb on bean.buildingid=tb.buildingid"
@@ -130,15 +233,15 @@
+" left join t_operbuilding tob on tob.buildingid=bean.buildingid "
+" where 1>0 and bean.operflag='A' and tob.operid = :operid ";
if(!devname.equals("")){
- sql+="and bean.devname like :devname ";
+ sql+=" and bean.devname like :devname ";
}
if(!buildingid.equals("")){
- sql+="and bean.buildingid = :buildingid ";
+ sql+=" and bean.buildingid = :buildingid ";
}
if(!devtype.equals("")){
- sql+="and bean.devtype = :devtype ";
+ sql+=" and bean.devtype = :devtype ";
}
- sql+="order by devtype";
+ sql+=" order by devtype";
Query query = entityManager.createNativeQuery(sql,TNcDevice.class);
query.setParameter("operid", operid);
if(!devname.equals("")){
@@ -171,13 +274,13 @@
+" left join t_operbuilding tob on tob.buildingid=bean.buildingid "
+" where 1>0 and operflag='A' and tob.operid = :operid ";
if(!devname.equals("")){
- sql+="and bean.devname like :devname ";
+ sql+=" and bean.devname like :devname ";
}
if(!buildingid.equals("")){
- sql+="and bean.buildingid = :buildingid ";
+ sql+=" and bean.buildingid = :buildingid ";
}
if(!devtype.equals("")){
- sql+="and bean.devtype = :devtype ";
+ sql+=" and bean.devtype = :devtype ";
}
Query query = entityManager.createNativeQuery(sql);
query.setParameter("operid", operid);
diff --git a/src/main/java/com/supwisdom/dlpay/ncmgr/service/NcService.java b/src/main/java/com/supwisdom/dlpay/ncmgr/service/NcService.java
index 98d3680..017c47c 100644
--- a/src/main/java/com/supwisdom/dlpay/ncmgr/service/NcService.java
+++ b/src/main/java/com/supwisdom/dlpay/ncmgr/service/NcService.java
@@ -12,8 +12,8 @@
//根据查询条件分页获取所有设备
public Pagination getSystemNcDeviceWithPage(String devname, int pageNo, int pageSize, Map map, String buildingid,String regionid, String devtype);
- //根据查询条件分页获取管理员设备--- 实际与管理员dao层方法一致,只是regionid传入管理员权限区域id
- public Pagination getOperatorNcDeviceWithPage(String devname,int pageNo,int pageSize, String buildingid,String regionid,String devtype);
+ //根据查询条件分页获取管理员设备---
+ public Pagination getOperatorNcDeviceWithPage(String devname,int pageNo,int pageSize, String buildingid,String regionid,String devtype,String operRegionid);
//根据查询条件分页获取楼栋管理员设备 ---regionid为空
public Pagination getBuildingOperNcDeviceWithPage(String devname,int pageNo,int pageSize,String buildingid,String devtype,String operid);
diff --git a/src/main/java/com/supwisdom/dlpay/ncmgr/service/impl/NcServiceImpl.java b/src/main/java/com/supwisdom/dlpay/ncmgr/service/impl/NcServiceImpl.java
index 7b01829..68dae09 100644
--- a/src/main/java/com/supwisdom/dlpay/ncmgr/service/impl/NcServiceImpl.java
+++ b/src/main/java/com/supwisdom/dlpay/ncmgr/service/impl/NcServiceImpl.java
@@ -36,8 +36,8 @@
}
@Override
- public Pagination getOperatorNcDeviceWithPage(String devname, int pageNo, int pageSize, String buildingid, String regionid, String devtype) {
- return ncDeviceDao.getSystemNcDeviceWithPage(devname, pageNo, pageSize, buildingid, regionid, devtype);
+ public Pagination getOperatorNcDeviceWithPage(String devname, int pageNo, int pageSize, String buildingid, String regionid, String devtype,String operRegionid) {
+ return ncDeviceDao.getOperatorNcDeviceWithPage(devname, pageNo, pageSize, buildingid, regionid, devtype,operRegionid);
}
@Override
diff --git a/src/main/java/com/supwisdom/dlpay/system/controller/OperatorController.java b/src/main/java/com/supwisdom/dlpay/system/controller/OperatorController.java
index 0e5c553..7c77c92 100644
--- a/src/main/java/com/supwisdom/dlpay/system/controller/OperatorController.java
+++ b/src/main/java/com/supwisdom/dlpay/system/controller/OperatorController.java
@@ -261,8 +261,15 @@
@AuthenticationPrincipal TOperator operUser){
Map map = new HashMap();
try{
- Pagination page = managerService.getOperatorList(operid, realname, pageNo, pageSize);
- map.put("PageResult", page);
+ Pagination page = null;
+ String opertype = operUser.getOpertype();
+ if (!StringUtil.isEmpty(opertype) &&(opertype.equals("S")||opertype.equals("P"))){
+ page = managerService.getOperatorList(operid, realname, pageNo, pageSize);
+ map.put("PageResult", page);
+ }else {
+ page = managerService.getOperOperatorList(operUser.getOperid(), operid, realname, pageNo, pageSize);
+ map.put("PageResult", page);
+ }
}catch (Exception e){
e.printStackTrace();
}
@@ -320,8 +327,14 @@
List<TRole> roles = roleService.findAllRoles();
map.put("roles", roles);
- List<TRegion> regions = systemService.getAllRegions();
- map.put("regions", regions);
+ List<TRegion> regions = null;
+ if (!StringUtil.isEmpty(operUser.getOpertype()) && (operUser.getOpertype().equals("P") || operUser.getOpertype().equals("S"))) {
+ regions = systemService.getAllRegions();
+ map.put("regions", regions);
+ }else if (!StringUtil.isEmpty(operUser.getRegionid())){
+ regions = systemService.getRegionListById(operUser.getRegionid());
+ map.put("regions", regions);
+ }
}catch (Exception e){
e.printStackTrace();
}
diff --git a/src/main/java/com/supwisdom/dlpay/system/controller/SystemController.java b/src/main/java/com/supwisdom/dlpay/system/controller/SystemController.java
index a6086a4..000a4b8 100644
--- a/src/main/java/com/supwisdom/dlpay/system/controller/SystemController.java
+++ b/src/main/java/com/supwisdom/dlpay/system/controller/SystemController.java
@@ -23,6 +23,7 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -287,11 +288,31 @@
List<TDictionaryId> dicts = systemService.findTDictionaryByType(6);//区域级别
map.put("dicts", dicts);
if (region!=null) {
- List<TRegion> fRegion = systemService.getRegionListByLevel(region.getLevel());
- map.put("fRegion", fRegion);
+ List<TRegion> fRegion = null;
+ if (!StringUtil.isEmpty(operUser.getOpertype()) && (operUser.getOpertype().equals("P") || operUser.getOpertype().equals("S"))) {
+ fRegion = systemService.getRegionListByLevel(region.getLevel());
+ map.put("fRegion", fRegion);
+ }else if (!StringUtil.isEmpty(operUser.getRegionid())){
+ fRegion = systemService.getOperRegionListByLevel(region.getLevel(), operUser.getRegionid());
+ //需添加其父区域填充显示数据
+ TRegion parentRegion = systemService.getRegionById(region.getParentid());
+ if (fRegion!=null) {
+ fRegion.add(parentRegion);
+ }else {
+ fRegion = new ArrayList<>();
+ fRegion.add(parentRegion);
+ }
+ map.put("fRegion", fRegion);
+ }
}else {
- List<TRegion> fRegion = systemService.getAllRegions();
- map.put("fRegion", fRegion);
+ List<TRegion> fRegion = null;
+ if (!StringUtil.isEmpty(operUser.getOpertype()) && (operUser.getOpertype().equals("P") || operUser.getOpertype().equals("S"))) {
+ fRegion = systemService.getAllRegions();
+ map.put("fRegion", fRegion);
+ }else if (!StringUtil.isEmpty(operUser.getRegionid())){
+ fRegion = systemService.getRegionListById(operUser.getRegionid());
+ map.put("fRegion", fRegion);
+ }
}
}catch (Exception e){
e.printStackTrace();
@@ -380,15 +401,24 @@
/**
* 获取选取区域等级的所有可选父区域
* @param level
+ * @param operUser
* @return
*/
@ResponseBody
@RequestMapping("/getFregion")
- public Map getFregion(@RequestParam(value = "level")int level){
+ public Map getFregion(@RequestParam(value = "level") int level,
+ @AuthenticationPrincipal TOperator operUser){
Map map = new HashMap();
try{
- List<TRegion> parentRegion = systemService.getRegionListByLevel(level);
- map.put("parentRegion", parentRegion);
+ List<TRegion> parentRegion = null;
+ String opertype = operUser.getOpertype();
+ if (!StringUtil.isEmpty(opertype) &&(opertype.equals("S")||opertype.equals("P"))){
+ parentRegion = systemService.getRegionListByLevel(level);
+ map.put("parentRegion", parentRegion);
+ }else if (!StringUtil.isEmpty(operUser.getRegionid())){
+ parentRegion = systemService.getOperRegionListByLevel(level, operUser.getRegionid());
+ map.put("parentRegion", parentRegion);
+ }
}catch (Exception e){
e.printStackTrace();
}
@@ -428,7 +458,7 @@
map.put("pageResult", page);
}else if (opertype.equals("H") && !StringUtil.isEmpty(operUser.getRegionid())){
regionList = systemService.getRegionListById(operUser.getRegionid());
- page = systemService.getSystemBuildingList(operUser.getRegionid(), buildingname, pageNo, pageSize);//regionid固定为管理员的权限区域id
+ page = systemService.getOperatorBuildingList(operUser.getRegionid(), regionid,buildingname, pageNo, pageSize);//regionid固定为管理员的权限区域id
map.put("pageResult", page);
}else if (opertype.equals("L")){
page = systemService.getBuildingOperBuildingList(regionid, buildingname, operUser.getOperid(), pageNo, pageSize);
diff --git a/src/main/java/com/supwisdom/dlpay/system/dao/BuildingDao.java b/src/main/java/com/supwisdom/dlpay/system/dao/BuildingDao.java
index b2d7c68..404b11e 100644
--- a/src/main/java/com/supwisdom/dlpay/system/dao/BuildingDao.java
+++ b/src/main/java/com/supwisdom/dlpay/system/dao/BuildingDao.java
@@ -12,6 +12,8 @@
public Pagination getSystemBuildingList(String regionid, String buildingname, int pageNo, int pageSize);
+ public Pagination getOperatorBuildingList(String operRegionid,String regionid,String buildingname,int pageNo,int pageSize);
+
public Pagination getBuildingOperBuildingList(String regionid,String buildingname,String operid,int pageNo,int pageSize);
public TBuilding getBuildingById(String buildingid);
diff --git a/src/main/java/com/supwisdom/dlpay/system/dao/ManagerDao.java b/src/main/java/com/supwisdom/dlpay/system/dao/ManagerDao.java
index a594e37..5f8798a 100644
--- a/src/main/java/com/supwisdom/dlpay/system/dao/ManagerDao.java
+++ b/src/main/java/com/supwisdom/dlpay/system/dao/ManagerDao.java
@@ -9,6 +9,9 @@
Pagination getOperatorList(String operid, String realname, int pageNo, int pageSize);
+ Pagination getOperOperatorList(String operatorOperid,String operid, String realname, int pageNo, int pageSize);
+
+
boolean updateOperatorStatusById(String operid);
TOperator getOperatorById(String operid);
diff --git a/src/main/java/com/supwisdom/dlpay/system/dao/RegionDao.java b/src/main/java/com/supwisdom/dlpay/system/dao/RegionDao.java
index 75847c4..da117c5 100644
--- a/src/main/java/com/supwisdom/dlpay/system/dao/RegionDao.java
+++ b/src/main/java/com/supwisdom/dlpay/system/dao/RegionDao.java
@@ -21,6 +21,8 @@
public List<TRegion> getRegionListByLevel(int level);
+ public List<TRegion> getOperRegionListByLevel(int level,String regionid);
+
public List<TRegion> getAllRegions();
public TRegion getRegionByName(String regionname);
diff --git a/src/main/java/com/supwisdom/dlpay/system/dao/impl/BuildingDaoImpl.java b/src/main/java/com/supwisdom/dlpay/system/dao/impl/BuildingDaoImpl.java
index a1a8f79..e8ab4eb 100644
--- a/src/main/java/com/supwisdom/dlpay/system/dao/impl/BuildingDaoImpl.java
+++ b/src/main/java/com/supwisdom/dlpay/system/dao/impl/BuildingDaoImpl.java
@@ -77,6 +77,7 @@
}
+
private int getSystemBuildingListCount(String regionid,String buildingname){
String sql = "select count(*) from T_Building bean where 1>0 and bean.flag='A' ";
if (!StringUtil.isEmpty(regionid)){
@@ -106,6 +107,74 @@
@Transactional
@Override
+ public Pagination getOperatorBuildingList(String operRegionid, String regionid, String buildingname, int pageNo, int pageSize) {
+ String sql = "select bean.buildingid,bean.buildingname,bean.synctime,bean.updtime,bean.flag,bean.buildingdesc,bean.regionid " +
+ " from T_Building bean where 1>0 and bean.flag='A' ";
+
+ sql += "and bean.regionid in " +
+ "( with recursive tmp as ( select tbr.regionid,tbr.parentid,tbr.regionname from tb_region tbr " +
+ " where regionid= :regionid union all select tbr.regionid,tbr.parentid,tbr.regionname from tb_region tbr inner join tmp t on t.regionid=tbr.parentid ) " +
+ " select regionid from tmp )";
+
+
+ if (!StringUtil.isEmpty(buildingname)){
+ sql += " and bean.buildingname like :buildingname";
+ }
+ sql += " order by bean.buildingid";
+
+ Query query = entityManager.createNativeQuery(sql, TBuilding.class);
+ if (!StringUtil.isEmpty(regionid)){
+ query.setParameter("regionid", regionid );
+ }else {
+ query.setParameter("regionid", operRegionid);
+ }
+ if (!StringUtil.isEmpty(buildingname)){
+ query.setParameter("buildingname", "%"+buildingname+"%");
+ }
+
+ pageNo = pageNo <= 0 ? 1 : pageNo;
+ query.setFirstResult((pageNo - 1) * pageSize);
+ query.setMaxResults(pageSize);
+ Pagination page = new Pagination();
+ page.setPageNo(pageNo);
+ page.setPageSize(pageSize);
+ List<TBuilding> list = query.getResultList();
+ page.setList(list);
+ int totalCount = getOperatorBuildingListCount(operRegionid,regionid,buildingname);
+ page.setTotalCount(totalCount);
+ return page;
+ }
+
+ private int getOperatorBuildingListCount(String operRegionid, String regionid, String buildingname){
+ String sql = "select count(*) from T_Building bean where 1>0 and bean.flag='A' ";
+
+ sql += "and bean.regionid in " +
+ "(with recursive tmp as (select tbr.regionid,tbr.parentid,tbr.regionname from tb_region tbr " +
+ " where regionid= :regionid union all select tbr.regionid,tbr.parentid,tbr.regionname from tb_region tbr inner join tmp t on t.regionid=tbr.parentid " +
+ " ) select regionid from tmp )";
+
+ if (!StringUtil.isEmpty(buildingname)){
+ sql += " and bean.buildingname like :buildingname";
+ }
+ Query query = entityManager.createNativeQuery(sql);
+ if (!StringUtil.isEmpty(regionid)){
+ query.setParameter("regionid", regionid );
+ }else {
+ query.setParameter("regionid", operRegionid);
+ }
+ if (!StringUtil.isEmpty(buildingname)){
+ query.setParameter("buildingname", "%"+buildingname+"%");
+ }
+ int cnt=0;
+ List list = query.getResultList();
+ if (list!=null && list.size()>0){
+ cnt = Integer.parseInt(list.get(0).toString());
+ }
+ return cnt;
+ }
+
+ @Transactional
+ @Override
public Pagination getBuildingOperBuildingList(String regionid, String buildingname, String operid, int pageNo, int pageSize) {
// 楼栋管理员regionid为空
String sql = "select bean.buildingid,bean.buildingname,bean.synctime,bean.updtime,bean.flag,bean.buildingdesc,bean.regionid "+
@@ -139,6 +208,7 @@
sql += " and bean.buildingname like :buildingname";
}
Query query = entityManager.createNativeQuery(sql);
+ query.setParameter("operid", operid);
if (!StringUtil.isEmpty(buildingname)){
query.setParameter("buildingname", "%"+buildingname+"%");
}
diff --git a/src/main/java/com/supwisdom/dlpay/system/dao/impl/DictionaryDaoImpl.java b/src/main/java/com/supwisdom/dlpay/system/dao/impl/DictionaryDaoImpl.java
index 9e8e002..4655310 100644
--- a/src/main/java/com/supwisdom/dlpay/system/dao/impl/DictionaryDaoImpl.java
+++ b/src/main/java/com/supwisdom/dlpay/system/dao/impl/DictionaryDaoImpl.java
@@ -140,7 +140,7 @@
}else if (opertype.equals("H")){
sql +=" and bean.id.dictval<>'P' and bean.id.dictval<>'S' and bean.id.dictval<>'H'";
}else {
- sql +=" and bean.id.dictval == 'L'";
+ sql +=" and bean.id.dictval = 'L' ";
}
TypedQuery<TDictionaryId> query = entityManager.createQuery(sql, TDictionaryId.class);
List<TDictionaryId> list = query.getResultList();
diff --git a/src/main/java/com/supwisdom/dlpay/system/dao/impl/ManagerDaoImpl.java b/src/main/java/com/supwisdom/dlpay/system/dao/impl/ManagerDaoImpl.java
index 5a8e6a1..3a40774 100644
--- a/src/main/java/com/supwisdom/dlpay/system/dao/impl/ManagerDaoImpl.java
+++ b/src/main/java/com/supwisdom/dlpay/system/dao/impl/ManagerDaoImpl.java
@@ -62,6 +62,7 @@
return page;
}
+
private int getOperatorListCount(String operid, String realname){
String sql = "select count(*) from tb_operator a " +
" left join tb_oper_role b on a.operid = b.operid " +
@@ -93,6 +94,79 @@
return cnt;
}
+ @Transactional
+ @Override
+ public Pagination getOperOperatorList(String operatorOperid, String operid, String realname, int pageNo, int pageSize) {
+ String sql = "select a.operid,a.opername,a.opertype,a.realname,a.regionid,a.mobile,a.foperid,c.roleid,c.rolename,d.regionname " +
+ " from Tb_Operator a " +
+ " left join tb_oper_role b on a.operid = b.operid " +
+ " left join tb_role c on b.roleid = c.roleid " +
+ " left join tb_region d on a.regionid = d.regionid " +
+ " where 1>0 and a.status='normal' and (a.operid=:operatorOperid or a.foperid=:operatorOperid) ";
+ if (!StringUtil.isEmpty(operid)){
+ sql += " and a.operid = :operid ";
+ }
+
+ if (!StringUtil.isEmpty(realname)){
+ sql += " and a.realname like :realname ";
+ }
+
+ sql += " order by a.operid";
+ Query query = entityManager.createNativeQuery(sql, OperatorListBean.class);
+ query.setParameter("operatorOperid" , operatorOperid);
+ if (!StringUtil.isEmpty(operid)){
+ query.setParameter("operid", operid);
+ }
+
+ if (!StringUtil.isEmpty(realname)){
+ query.setParameter("realname", "%"+realname+"%");
+ }
+ pageNo = pageNo <= 0 ? 1 : pageNo;
+ query.setFirstResult((pageNo - 1) * pageSize);
+ query.setMaxResults(pageSize);
+ Pagination page = new Pagination();
+ page.setPageNo(pageNo);
+ page.setPageSize(pageSize);
+ List<OperatorListBean> list = query.getResultList();
+ page.setList(list);
+ int totalCount = getOperOperatorListCount(operatorOperid,operid, realname);
+ page.setTotalCount(totalCount);
+ return page;
+ }
+
+ private int getOperOperatorListCount(String operatorOperid, String operid, String realname){
+ String sql = "select count(*) from tb_operator a " +
+ " left join tb_oper_role b on a.operid = b.operid " +
+ " left join tb_role c on b.roleid = c.roleid " +
+ " left join tb_region d on a.regionid = d.regionid " +
+ "where a.status='normal' and (a.operid=:operatorOperid or a.foperid=:operatorOperid) ";
+
+ if (!StringUtil.isEmpty(operid)){
+ sql += " and a.operid = :operid ";
+ }
+
+ if (!StringUtil.isEmpty(realname)){
+ sql += " and a.realname like :realname ";
+ }
+
+ Query query = entityManager.createNativeQuery(sql);
+ query.setParameter("operatorOperid" , operatorOperid);
+ if (!StringUtil.isEmpty(operid)){
+ query.setParameter("operid", operid);
+ }
+
+ if (!StringUtil.isEmpty(realname)){
+ query.setParameter("realname", "%"+realname+"%");
+ }
+ int cnt=0;
+ List list = query.getResultList();
+ if (list!=null && list.size()>0){
+ cnt = Integer.parseInt(list.get(0).toString());
+ }
+ return cnt;
+ }
+
+
@Transactional
@Override
diff --git a/src/main/java/com/supwisdom/dlpay/system/dao/impl/RegionDaoImpl.java b/src/main/java/com/supwisdom/dlpay/system/dao/impl/RegionDaoImpl.java
index f865cdb..82c252a 100644
--- a/src/main/java/com/supwisdom/dlpay/system/dao/impl/RegionDaoImpl.java
+++ b/src/main/java/com/supwisdom/dlpay/system/dao/impl/RegionDaoImpl.java
@@ -195,6 +195,25 @@
@Transactional
@Override
+ public List<TRegion> getOperRegionListByLevel(int level, String regionid) {
+ String sql = "select bean.regionid,bean.address,bean.level,bean.parentid,bean.regionname,bean.remarks,bean.parentname,bean.flag " +
+ "from TB_REGION bean where flag=1 and bean.level = :level "+
+ " and bean.regionid in " +
+ "(with recursive tmp as (select tbr.regionid,tbr.parentid,tbr.regionname from tb_region tbr " +
+ " where regionid= :regionid union all select tbr.regionid,tbr.parentid,tbr.regionname from tb_region tbr inner join tmp t on t.regionid=tbr.parentid " +
+ " ) select regionid from tmp )";
+ Query query = entityManager.createNativeQuery(sql, TRegion.class);
+ query.setParameter("level" , level-1);
+ query.setParameter("regionid", regionid);
+ List<TRegion> list = query.getResultList();
+ if (list!=null && list.size()>0){
+ return list;
+ }
+ return null;
+ }
+
+ @Transactional
+ @Override
public List<TRegion> getAllRegions() {
String sql = "select bean from TRegion bean where bean.flag = 1";
TypedQuery<TRegion> query = entityManager.createQuery(sql, TRegion.class);
diff --git a/src/main/java/com/supwisdom/dlpay/system/service/ManagerService.java b/src/main/java/com/supwisdom/dlpay/system/service/ManagerService.java
index c7a013e..e4a5f06 100644
--- a/src/main/java/com/supwisdom/dlpay/system/service/ManagerService.java
+++ b/src/main/java/com/supwisdom/dlpay/system/service/ManagerService.java
@@ -10,6 +10,10 @@
//分页获取所有操作员列表
Pagination getOperatorList(String operid, String realname, int pageNo, int pageSize);
+ //分页获取区域管理员权限下操作员列表
+ Pagination getOperOperatorList(String operatorOperid,String operid, String realname, int pageNo, int pageSize);
+
+
//根据id删除操作员 -- 实际修改状态status为close
boolean deleteOperatorById(String operid);
diff --git a/src/main/java/com/supwisdom/dlpay/system/service/SystemService.java b/src/main/java/com/supwisdom/dlpay/system/service/SystemService.java
index 0fd04c9..6dca35c 100644
--- a/src/main/java/com/supwisdom/dlpay/system/service/SystemService.java
+++ b/src/main/java/com/supwisdom/dlpay/system/service/SystemService.java
@@ -59,6 +59,9 @@
//根据区域级别获取其上一级级别的所有区域
public List<TRegion> getRegionListByLevel(int level);
+ //根据区域级别获取其权限下上一级级别的区域
+ public List<TRegion> getOperRegionListByLevel(int level,String regionid);
+
//获取所有区域
public List<TRegion> getAllRegions();
@@ -78,6 +81,9 @@
//根据查询条件分页获取所有楼栋
public Pagination getSystemBuildingList(String regionid,String buildingname,int pageNo,int pageSize);
+ //根据查询条件分页获取区域管理员权限下所有楼栋
+ public Pagination getOperatorBuildingList(String operRegionid,String regionid,String buildingname,int pageNo,int pageSize);
+
//分页获取楼栋管理员权限内楼栋
public Pagination getBuildingOperBuildingList(String regionid,String buildingname,String operid,int pageNo,int pageSize);
diff --git a/src/main/java/com/supwisdom/dlpay/system/service/impl/ManagerServiceImpl.java b/src/main/java/com/supwisdom/dlpay/system/service/impl/ManagerServiceImpl.java
index 793769d..5410b55 100644
--- a/src/main/java/com/supwisdom/dlpay/system/service/impl/ManagerServiceImpl.java
+++ b/src/main/java/com/supwisdom/dlpay/system/service/impl/ManagerServiceImpl.java
@@ -20,6 +20,12 @@
}
@Override
+ public Pagination getOperOperatorList(String operatorOperid, String operid, String realname, int pageNo, int pageSize) {
+ return managerDao.getOperOperatorList(operatorOperid, operid, realname, pageNo, pageSize);
+ }
+
+
+ @Override
public boolean deleteOperatorById(String operid) {
return managerDao.updateOperatorStatusById(operid);
}
diff --git a/src/main/java/com/supwisdom/dlpay/system/service/impl/SystemServiceImpl.java b/src/main/java/com/supwisdom/dlpay/system/service/impl/SystemServiceImpl.java
index d1d6679..ca4f176 100644
--- a/src/main/java/com/supwisdom/dlpay/system/service/impl/SystemServiceImpl.java
+++ b/src/main/java/com/supwisdom/dlpay/system/service/impl/SystemServiceImpl.java
@@ -115,6 +115,11 @@
}
@Override
+ public List<TRegion> getOperRegionListByLevel(int level, String regionid) {
+ return regionDao.getOperRegionListByLevel(level, regionid);
+ }
+
+ @Override
public List<TRegion> getAllRegions() {
return regionDao.getAllRegions();
}
@@ -146,6 +151,11 @@
}
@Override
+ public Pagination getOperatorBuildingList(String operRegionid, String regionid, String buildingname, int pageNo, int pageSize) {
+ return buildingDao.getOperatorBuildingList(operRegionid, regionid, buildingname, pageNo, pageSize);
+ }
+
+ @Override
public Pagination getBuildingOperBuildingList(String regionid, String buildingname, String operid, int pageNo, int pageSize) {
return buildingDao.getBuildingOperBuildingList(regionid, buildingname, operid, pageNo, pageSize);
}
diff --git a/src/main/resources/templates/doorlist/searchDoorlist.html b/src/main/resources/templates/doorlist/searchDoorlist.html
index ce46dc8..6f4d31c 100644
--- a/src/main/resources/templates/doorlist/searchDoorlist.html
+++ b/src/main/resources/templates/doorlist/searchDoorlist.html
@@ -387,15 +387,25 @@
})
}
var regionlist = [];
+ regionlist.push({
+ value:'',
+ label:'全部'
+ });
var region = data.regions;
- for (var i = 0; i < region.length; i++) {
- regionlist.push({
- value: region[i]["regionid"],
- label: region[i]["regionname"]
- })
+ if(region!=null) {
+ for (var i = 0; i < region.length; i++) {
+ regionlist.push({
+ value: region[i]["regionid"],
+ label: region[i]["regionname"]
+ })
+ }
}
var buildinglist = [];
+ buildinglist.push({
+ value:'',
+ label:'全部'
+ });
var building = data.buildings;
for (var i = 0; i < building.length; i++) {
buildinglist.push({
@@ -549,6 +559,10 @@
url: encodeURI("[[@{/ncmgr/getRegionBuilding?regionid=}]]" + value),
success: function (ret) {
var bList = [];
+ bList.push({
+ value:'',
+ label:'全部'
+ });
var rB = ret.reBuilding;
if (rB!=null) {
for (var j = 0; j < rB.length; j++) {
diff --git a/src/main/resources/templates/query/tdoorstream.html b/src/main/resources/templates/query/tdoorstream.html
index e705d98..58ff021 100644
--- a/src/main/resources/templates/query/tdoorstream.html
+++ b/src/main/resources/templates/query/tdoorstream.html
@@ -273,15 +273,25 @@
});
}
var regionlist = [];
+ regionlist.push({
+ value:'',
+ label:'全部'
+ });
var region = ret.regions;
- for (var i = 0; i < region.length; i++) {
- regionlist.push({
- value: region[i]["regionid"],
- label: region[i]["regionname"]
- })
+ if (region!=null) {
+ for (var i = 0; i < region.length; i++) {
+ regionlist.push({
+ value: region[i]["regionid"],
+ label: region[i]["regionname"]
+ })
+ }
}
var buildinglist = [];
+ buildinglist.push({
+ value:'',
+ label:'全部'
+ });
var building = ret.buildings;
for (var i = 0; i < building.length; i++) {
buildinglist.push({
@@ -400,6 +410,10 @@
url: encodeURI("[[@{/ncmgr/getRegionBuilding?regionid=}]]" + value),
success: function (ret) {
var bList = [];
+ bList.push({
+ value:'',
+ label:'全部'
+ });
var rB = ret.reBuilding;
if (rB!=null) {
for (var j = 0; j < rB.length; j++) {
diff --git a/src/main/resources/templates/system/building.html b/src/main/resources/templates/system/building.html
index 3fd4a33..88fcc86 100644
--- a/src/main/resources/templates/system/building.html
+++ b/src/main/resources/templates/system/building.html
@@ -14,7 +14,7 @@
<label class="control-label col-md-5 col-sm-12 col-xs-12" style="font-size: 14px;">区域:</label>
<div class="col-md-7 col-sm-12 col-xs-12">
<el-select style="width:193px"
- v-model="buildingform.regionid" placeholder="请选择"
+ v-model="buildingform.regionid" clearable placeholder="请选择"
> <el-option v-for="item in regionlist"
:key="item.value" :label="item.label" :value="item.value">
</el-option> </el-select>
@@ -259,6 +259,10 @@
if (ret.regionList!=null) {
var rlist = ret.regionList;
var rows = [];
+ rows.push({
+ value:'',
+ label:'全部'
+ });
for (var i=0;i<rlist.length;i++){
rows.push({
value: rlist[i].regionid,
diff --git a/src/main/resources/templates/system/region.html b/src/main/resources/templates/system/region.html
index b044811..24d1b2f 100644
--- a/src/main/resources/templates/system/region.html
+++ b/src/main/resources/templates/system/region.html
@@ -276,6 +276,7 @@
this.parentRegionDis = true;
} else {
this.parentRegionDis = false;
+ this.parentRegions = [];
region_getFregion(this,value);
}
},
@@ -359,6 +360,18 @@
}
_self.levels = dictlist;
+ var fRegion = ret.fRegion;
+ for (var j=0;j<fRegion.length;j++){
+ parentlist.push({
+ value:fRegion[j]["regionid"],
+ label:fRegion[j]["regionname"]
+ });
+ }
+
+ _self.parentRegions = parentlist;
+
+
+
if (ret.region != null) {
_self.regionDiaForm.regionid = ret.region.regionid;
_self.regionDiaForm.regionname = ret.region.regionname;
@@ -373,15 +386,7 @@
}
- var fRegion = ret.fRegion;
- for (var j=0;j<fRegion.length;j++){
- parentlist.push({
- value:fRegion[j]["regionid"],
- label:fRegion[j]["regionname"]
- });
- }
- _self.parentRegions = parentlist;
}
})
}