流水查询以及设备分配时间周功能 添加区域判断功能
diff --git a/src/main/java/com/supwisdom/dlpay/mainservice/dao/DoordtlDao.java b/src/main/java/com/supwisdom/dlpay/mainservice/dao/DoordtlDao.java
index 35e75d8..6e113ae 100644
--- a/src/main/java/com/supwisdom/dlpay/mainservice/dao/DoordtlDao.java
+++ b/src/main/java/com/supwisdom/dlpay/mainservice/dao/DoordtlDao.java
@@ -6,15 +6,18 @@
import java.util.List;
public interface DoordtlDao {
- public List<TDoordtlInfo> findExportExcelDoordtl(String startTranDate, String endTranDate, String startTranTime, String endTranTime, String stuempno,
- String custname, String buildingname, String regionname, String doorName, String factoryId, String streamstatus);
+ public List<TDoordtlInfo> findSystemExportExcelDoordtl(String startTranDate, String endTranDate, String startTranTime, String endTranTime, String stuempno,
+ String custname, String buildingid, String regionid, String doorName, String factoryId, String streamstatus);
+
+ public List<TDoordtlInfo> findOperatorExportExcelDoordtl(String startTranDate, String endTranDate, String startTranTime, String endTranTime, String stuempno,
+ String custname, String buildingid, String regionid, String doorName, String factoryId, String streamstatus,String operRegionid);
public Pagination findSystemTDoordtl(
String startTranDate, String endTranDate,String startTranTime, String endTranTime,String stuempno,
- String custname,String buildingname,String doorName,String factoryId,String streamstatus,int pageNo,int pageSize,String regionname);
+ String custname,String buildingid,String doorName,String factoryId,String streamstatus,int pageNo,int pageSize,String regionid);
- public Pagination findAllTDoordtl(
+ public Pagination findOperatorTDoordtl(
String operid,String startTranDate, String endTranDate,String startTranTime, String endTranTime,String stuempno,
- String custname,String buildingname,String doorName,String factoryId,String streamstatus,int pageNo,int pageSize,String regionname);
+ String custname,String buildingid,String doorName,String factoryId,String streamstatus,int pageNo,int pageSize,String regionid,String operRegionid);
}
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 3323dc6..aead8f2 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
@@ -18,7 +18,7 @@
@Transactional
@Override
- public List<TDoordtlInfo> findExportExcelDoordtl(String startTranDate, String endTranDate, String startTranTime, String endTranTime, String stuempno, String custname, String buildingname, String regionname, String doorName, String factoryId, String streamstatus) {
+ public List<TDoordtlInfo> findSystemExportExcelDoordtl(String startTranDate, String endTranDate, String startTranTime, String endTranTime, String stuempno, String custname, String buildingid, String regionid, String doorName, String factoryId, String streamstatus) {
try {
String queryString = "select a.dtldesc , c.factoryname,d.doorname,b.stuempno,b.custname,tb.buildingname,tr.regionname," +
" to_char(to_date(a.transdate||a.transtime ,'yyyymmddhh24miss'),'yyyy-mm-dd hh24:mi:ss') as transdate, "
@@ -40,15 +40,15 @@
if (!custname.equals("")) {
queryString += " and b.custname like :custname ";
}
- if (!buildingname.equals("")) {
- queryString += " and tb.buildingname like :buildingname ";
+ if (!buildingid.equals("")) {
+ queryString += " and tb.buildingid = :buildingid ";
}
- if (!regionname.equals("")){
+ if (!regionid.equals("")){
queryString += "and tr.regionid in "
+"("
+ "with recursive tmp as "
+ "("
- + "select tbr.regionid,tbr.parentid,tbr.regionname from tb_region tbr where regionname like :regionname "
+ + "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 )";
@@ -77,11 +77,11 @@
if (!custname.equals("")) {
query.setParameter("custname", "%" + custname + "%");
}
- if (!buildingname.equals("")) {
- query.setParameter("buildingname", "%" + buildingname + "%");
+ if (!buildingid.equals("")) {
+ query.setParameter("buildingid", buildingid);
}
- if (!regionname.equals("")){
- query.setParameter("regionname", "%" + regionname + "%");
+ if (!regionid.equals("")){
+ query.setParameter("regionid", regionid);
}
if (!doorName.equals("")) {
query.setParameter("doorName", "%" + doorName + "%");
@@ -92,7 +92,7 @@
if (!streamstatus.equals("all")) {
query.setParameter("streamstatus", streamstatus);
}
- List list = query.getResultList();
+ List<TDoordtlInfo> list = query.getResultList();
return list;
}catch (Exception e){
e.printStackTrace();
@@ -102,7 +102,101 @@
@Transactional
@Override
- public Pagination findSystemTDoordtl(String startTranDate, String endTranDate, String startTranTime, String endTranTime, String stuempno, String custname, String buildingname, String doorName, String factoryId, String streamstatus, int pageNo, int pageSize, String regionname) {
+ public List<TDoordtlInfo> findOperatorExportExcelDoordtl(String startTranDate, String endTranDate, String startTranTime, String endTranTime, String stuempno, String custname, String buildingid, String regionid, String doorName, String factoryId, String streamstatus, String operRegionid) {
+ try {
+ String queryString = "select a.dtldesc , c.factoryname,d.doorname,b.stuempno,b.custname,tb.buildingname,tr.regionname," +
+ " to_char(to_date(a.transdate||a.transtime ,'yyyymmddhh24miss'),'yyyy-mm-dd hh24:mi:ss') as transdate, "
+ + "case when a.status='0' then '失败' else '成功' end status,to_char(to_date( a.coldate||a.coltime,'yyyymmddhh24miss'),'yyyy-mm-dd hh24:mi:ss') as coldate " + "from "
+ + "t_doordtl a "
+ + "left join t_customer b on a.custid=b.custid " + "left join "
+ + "t_building tb on b.buildingid=tb.buildingid " + "left join "
+ + "tb_region tr on a.regionid = tr.regionid "+ "left join "
+ + "t_doordev d on a.doorid = d.doorid, " + "t_keys c " + "where a.factoryid=c.factoryid ";
+ if (!startTranDate.equals("")) {
+ queryString += " and a.transdate>=:startTranDate and a.transdate<=:endTranDate ";
+ }
+ if (!startTranTime.equals("")) {
+ queryString += " and a.transtime>=:startTranTime and a.transtime<=:endTranTime ";
+ }
+ if (!stuempno.equals("")) {
+ queryString += " and b.stuempno like :stuempno ";
+ }
+ if (!custname.equals("")) {
+ queryString += " and b.custname like :custname ";
+ }
+ if (!buildingid.equals("")) {
+ queryString += " and tb.buildingid = :buildingid ";
+ }
+ if (!regionid.equals("")){
+ queryString += "and tr.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 tr.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 )";
+ }
+ if (!doorName.equals("")) {
+ queryString += " and d.doorName like :doorName ";
+ }
+ if (!factoryId.equals("all")) {
+ queryString += " and c.factoryId =:factoryId ";
+ }
+ if (!streamstatus.equals("all")) {
+ queryString += " and a.status =:streamstatus ";
+ }
+ Query query = entityManager.createNativeQuery(queryString, TDoordtlInfo.class);
+ if (!startTranDate.equals("")) {
+ query.setParameter("startTranDate", startTranDate);
+ query.setParameter("endTranDate", endTranDate);
+ }
+ if (!startTranTime.equals("")) {
+ query.setParameter("startTranTime", startTranTime);
+ query.setParameter("endTranTime", endTranTime);
+ }
+ if (!stuempno.equals("")) {
+ query.setParameter("stuempno", "%" + stuempno + "%");
+ }
+ if (!custname.equals("")) {
+ query.setParameter("custname", "%" + custname + "%");
+ }
+ if (!buildingid.equals("")) {
+ query.setParameter("buildingid", buildingid);
+ }
+ query.setParameter("operRegionid", operRegionid);
+ if (!regionid.equals("")){
+ query.setParameter("regionid", regionid);
+ }
+ if (!doorName.equals("")) {
+ query.setParameter("doorName", "%" + doorName + "%");
+ }
+ if (!factoryId.equals("all")) {
+ query.setParameter("factoryId", factoryId);
+ }
+ if (!streamstatus.equals("all")) {
+ query.setParameter("streamstatus", streamstatus);
+ }
+ List<TDoordtlInfo> list = query.getResultList();
+ return list;
+ }catch (Exception e){
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+ @Transactional
+ @Override
+ public Pagination findSystemTDoordtl(String startTranDate, String endTranDate, String startTranTime, String endTranTime, String stuempno, String custname, String buildingid, String doorName, String factoryId, String streamstatus, int pageNo, int pageSize, String regionid) {
String queryString = "select a.doorid, d.doorname,a.stuempno,a.custname,a.transdate||a.transtime transdate,tb.buildingname,tr.regionname, "
+ "case when a.status='0' then '失败' else '成功' end status,a.coldate||a.coltime coldate,a.dtldesc,a.cardphyid "
+ "from t_doordtl a left join t_doordev d on a.doorid = d.doorid "
@@ -124,15 +218,15 @@
if (!streamstatus.equals("all")) {
queryString += " and a.status =:streamstatus ";
}
- if(!buildingname.equals("")){
- queryString += " and tb.buildingname like :buildingname";
+ if(!buildingid.equals("")){
+ queryString += " and tb.buildingid = :buildingid";
}
- if (!regionname.equals("")){
+ if (!regionid.equals("")){
queryString += "and tr.regionid in "
+"("
+ "with recursive tmp as "
+ "("
- + "select tbr.regionid,tbr.parentid,tbr.regionname from tb_region tbr where regionname like :regionname "
+ + "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 )";
@@ -155,11 +249,11 @@
if (!streamstatus.equals("all")) {
query.setParameter("streamstatus", streamstatus);
}
- if(!buildingname.equals("")){
- query.setParameter("buildingname","%"+buildingname+"%");
+ if(!buildingid.equals("")){
+ query.setParameter("buildingid",buildingid);
}
- if (!regionname.equals("")){
- query.setParameter("regionname", "%"+regionname+"%");
+ if (!regionid.equals("")){
+ query.setParameter("regionid", regionid);
}
pageNo = pageNo <= 0 ? 1 : pageNo;
query.setFirstResult((pageNo - 1) * pageSize);
@@ -170,7 +264,7 @@
List<TDoordtlInfo> list = query.getResultList();
page.setList(list);
int totalCount = getSystemCount(startTranDate, endTranDate, startTranTime, endTranTime, stuempno, custname,
- buildingname, doorName, factoryId, streamstatus,regionname);
+ buildingid, doorName, factoryId, streamstatus,regionid);
page.setTotalCount(totalCount);
return page;
}
@@ -179,8 +273,8 @@
private int getSystemCount(String startTranDate, String endTranDate, String startTranTime, String endTranTime,
- String stuempno, String custname, String buildingname, String doorName,
- String factoryId, String streamstatus,String regionname) {
+ String stuempno, String custname, String buildingid, String doorName,
+ String factoryId, String streamstatus,String regionid) {
try {
String queryString = "select count(*) as cnt "
+ " from t_doordtl a "
@@ -204,15 +298,15 @@
if (!streamstatus.equals("all")) {
queryString += " and a.status =:streamstatus ";
}
- if(!buildingname.equals("")){
- queryString += " and tb.buildingname like :buildingname";
+ if(!buildingid.equals("")){
+ queryString += " and tb.buildingid = :buildingid";
}
- if (!regionname.equals("")){
+ if (!regionid.equals("")){
queryString += "and tr.regionid in "
+"("
+ "with recursive tmp as "
+ "("
- + "select tbr.regionid,tbr.parentid,tbr.regionname from tb_region tbr where regionname like :regionname "
+ + "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 )";
@@ -229,8 +323,8 @@
if (!custname.equals("")) {
query.setParameter("custname", "%" + custname + "%");
}
- if (!buildingname.equals("")) {
- query.setParameter("buildingname", "%" + buildingname + "%");
+ if (!buildingid.equals("")) {
+ query.setParameter("buildingid", buildingid);
}
if (!doorName.equals("")) {
query.setParameter("doorName", "%" + doorName + "%");
@@ -238,8 +332,8 @@
if (!streamstatus.equals("all")) {
query.setParameter("streamstatus", streamstatus);
}
- if(!regionname.equals("")){
- query.setParameter("regionname","%"+regionname+"%");
+ if(!regionid.equals("")){
+ query.setParameter("regionid",regionid);
}
List list = query.getResultList();
int cnt = 0;
@@ -256,7 +350,7 @@
@Transactional
@Override
- public Pagination findAllTDoordtl(String operid, String startTranDate, String endTranDate, String startTranTime, String endTranTime, String stuempno, String custname, String buildingname, String doorName, String factoryId, String streamstatus, int pageNo, int pageSize, String regionname) {
+ public Pagination findOperatorTDoordtl(String operid, String startTranDate, String endTranDate, String startTranTime, String endTranTime, String stuempno, String custname, String buildingid, String doorName, String factoryId, String streamstatus, int pageNo, int pageSize, String regionid,String operRegionid) {
try{
String queryString = "select a.doorid,d.doorname,a.stuempno,a.custname,a.transdate||a.transtime transdate,"
+ " case when a.status='0' then '失败' else '成功' end status,a.coldate||a.coltime coldate,a.dtldesc,a.cardphyid,tb.buildingname,tr.regionname "
@@ -264,7 +358,7 @@
+ " left join t_operdevice od on a.doorid = od.deviceid"
+ "left join t_building tb on a.buildingid=tb.buildingid "
+ "left join tb_region tr on a.regionid=tr.regionid "
- + " where 1>0 and od.operid = :operid";
+ + " where 1>0 ";
if (!startTranDate.equals("")) {
queryString += " and transdate between :startTranDate and :endTranDate ";
}
@@ -280,22 +374,30 @@
if (!streamstatus.equals("all")) {
queryString += " and a.status =:streamstatus ";
}
- if(!buildingname.equals("")){
- queryString += " and tb.buildingname like :buildingname";
+ if(!buildingid.equals("")){
+ queryString += " and tb.buildingid = :buildingid";
}
- if (!regionname.equals("")){
+ if (!regionid.equals("")){
queryString += "and tr.regionid in "
+"("
+ "with recursive tmp as "
+ "("
- + "select tbr.regionid,tbr.parentid,tbr.regionname from tb_region tbr where regionname like :regionname "
+ + "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 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 = :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 )";
}
queryString += " order by transdate DESC";
Query query = entityManager.createNativeQuery(queryString, TDoordtlInfo.class);
- query.setParameter("operid",operid);
if (!startTranDate.equals("")) {
query.setParameter("startTranDate", startTranDate);
@@ -313,11 +415,12 @@
if (!streamstatus.equals("all")) {
query.setParameter("streamstatus", streamstatus);
}
- if (!buildingname.equals("")) {
- query.setParameter("buildingname", "%" + buildingname + "%");
+ if (!buildingid.equals("")) {
+ query.setParameter("buildingid", buildingid);
}
- if(regionname.equals("")){
- query.setParameter("regionname","%"+regionname+"%");
+ query.setParameter("operRegionid", operRegionid);
+ if(regionid.equals("")){
+ query.setParameter("regionid",regionid);
}
pageNo = pageNo <= 0 ? 1 : pageNo;
query.setFirstResult((pageNo - 1) * pageSize);
@@ -327,8 +430,8 @@
page.setPageSize(pageSize);
List<TDoordtlInfo> list = query.getResultList();
page.setList(list);
- int totalCount = getAllCount(operid,startTranDate, endTranDate, startTranTime, endTranTime, stuempno, custname,
- buildingname, doorName, factoryId, streamstatus,regionname);
+ int totalCount = getOperatorCount(startTranDate, endTranDate, startTranTime, endTranTime, stuempno, custname,
+ buildingid, doorName, factoryId, streamstatus,regionid,operRegionid);
page.setTotalCount(totalCount);
return page;
}catch (Exception e){
@@ -337,9 +440,9 @@
return null;
}
- private int getAllCount(String operid,String startTranDate, String endTranDate, String startTranTime, String endTranTime,
- String stuempno, String custname, String buildingname, String doorName,
- String factoryId, String streamstatus,String regionname) {
+ private int getOperatorCount(String startTranDate, String endTranDate, String startTranTime, String endTranTime,
+ String stuempno, String custname, String buildingid, String doorName,
+ String factoryId, String streamstatus,String regionid,String operRegionid) {
try {
String queryString = "select count(*) as cnt "
+ " from t_doordtl a "
@@ -347,7 +450,7 @@
+ " left join t_operdevice od on a.doorid = od.deviceid"
+ " left join t_building tb on a.buildingid=tb.buildingid "
+ " left join tb_region tr on a.regionid=tr.regionid "
- + " where 1>0 and od.operid = :operid";
+ + " where 1>0 ";
if (!startTranDate.equals("")) {
queryString += " and transdate between :startTranDate and :endTranDate ";
@@ -364,22 +467,30 @@
if (!streamstatus.equals("all")) {
queryString += " and a.status =:streamstatus ";
}
- if(!buildingname.equals("")){
+ if(!buildingid.equals("")){
queryString += " and tb.buildingname like :buildingname";
}
- if (!regionname.equals("")){
+ if (!regionid.equals("")){
queryString += "and tr.regionid in "
+"("
+ "with recursive tmp as "
+ "("
- + "select tbr.regionid,tbr.parentid,tbr.regionname from tb_region tbr where regionname like :regionname "
+ + "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 )";
+ + ") 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 "
+ + "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);
- query.setParameter("operid",operid);
if (!startTranDate.equals("")) {
query.setParameter("startTranDate", startTranDate);
query.setParameter("endTranDate", endTranDate);
@@ -396,11 +507,12 @@
if (!streamstatus.equals("all")) {
query.setParameter("streamstatus", streamstatus);
}
- if (!buildingname.equals("")) {
- query.setParameter("buildingname", "%" + buildingname + "%");
+ if (!buildingid.equals("")) {
+ query.setParameter("buildingid", buildingid);
}
- if(!regionname.equals("")){
- query.setParameter("regionname","%"+regionname+"%");
+ query.setParameter("operRegionid", operRegionid);
+ if(!regionid.equals("")){
+ query.setParameter("regionid",regionid);
}
List list = query.getResultList();
int cnt = 0;
diff --git a/src/main/java/com/supwisdom/dlpay/mainservice/service/WebInterfaceService.java b/src/main/java/com/supwisdom/dlpay/mainservice/service/WebInterfaceService.java
index ad4deba..896ad43 100644
--- a/src/main/java/com/supwisdom/dlpay/mainservice/service/WebInterfaceService.java
+++ b/src/main/java/com/supwisdom/dlpay/mainservice/service/WebInterfaceService.java
@@ -30,16 +30,20 @@
//根据名单编号将已同步的名单修改为未同步使其重新同步
public void updateDoorcardlstToNoWithIds (List<Long> listIds);
- //根据查询条件获取导出Excel数据
- public List<TDoordtlInfo> findExportExcelDoordtl(String startTranDate, String endTranDate, String startTranTime, String endTranTime, String stuempno,
- String custname, String buildingname, String regionname, String doorName, String factoryId, String streamstatus);
+ //根据查询条件获取所有导出Excel数据
+ public List<TDoordtlInfo> findSystemExportExcelDoordtl(String startTranDate, String endTranDate, String startTranTime, String endTranTime, String stuempno,
+ String custname, String buildingid, String regionid, String doorName, String factoryId, String streamstatus);
+
+ //根据查询条件获取管理员权限的Excel数据
+ public List<TDoordtlInfo> findOperatorExportExcelDoordtl(String startTranDate, String endTranDate, String startTranTime, String endTranTime, String stuempno,
+ String custname, String buildingid, String regionid, String doorName, String factoryId, String streamstatus,String operRegionid);
//根据查询条件获取系统管理员流水数据
public Pagination findSystemTDoordtl(String startTranDate, String endTranDate, String startTranTime, String endTranTime, String stuempno,
- String custname, String buildingname, String doorName, String factoryId, String streamstatus, int pageNo, int pageSize,String regionname);
+ String custname, String buildingid, String doorName, String factoryId, String streamstatus, int pageNo, int pageSize,String regionid);
- //根据管理员id和查询条件获取相应流水数据
- public Pagination findAllTDoordtl(
+ //根据查询条件获取管理员权限相应流水数据
+ public Pagination findOperatorTDoordtl(
String operid,String startTranDate, String endTranDate, String startTranTime, String endTranTime, String stuempno,
- String custname, String buildingname, String doorName, String factoryId, String streamstatus, int pageNo, int pageSize,String regionname);
+ String custname, String buildingid, String doorName, String factoryId, String streamstatus, int pageNo, int pageSize,String regionid,String operRegionid);
}
diff --git a/src/main/java/com/supwisdom/dlpay/mainservice/service/impl/WebInterfaceServiceImpl.java b/src/main/java/com/supwisdom/dlpay/mainservice/service/impl/WebInterfaceServiceImpl.java
index 1636a09..8d8a543 100644
--- a/src/main/java/com/supwisdom/dlpay/mainservice/service/impl/WebInterfaceServiceImpl.java
+++ b/src/main/java/com/supwisdom/dlpay/mainservice/service/impl/WebInterfaceServiceImpl.java
@@ -53,17 +53,22 @@
}
@Override
- public List<TDoordtlInfo> findExportExcelDoordtl(String startTranDate, String endTranDate, String startTranTime, String endTranTime, String stuempno, String custname, String buildingname, String regionname, String doorName, String factoryId, String streamstatus) {
- return doordtlDao.findExportExcelDoordtl(startTranDate, endTranDate, startTranTime, endTranTime, stuempno, custname, buildingname, regionname, doorName, factoryId, streamstatus);
+ public List<TDoordtlInfo> findSystemExportExcelDoordtl(String startTranDate, String endTranDate, String startTranTime, String endTranTime, String stuempno, String custname, String buildingid, String regionid, String doorName, String factoryId, String streamstatus) {
+ return doordtlDao.findSystemExportExcelDoordtl(startTranDate, endTranDate, startTranTime, endTranTime, stuempno, custname, buildingid, regionid, doorName, factoryId, streamstatus);
}
@Override
- public Pagination findSystemTDoordtl(String startTranDate, String endTranDate, String startTranTime, String endTranTime, String stuempno, String custname, String buildingname, String doorName, String factoryId, String streamstatus, int pageNo, int pageSize, String regionname) {
- return doordtlDao.findSystemTDoordtl(startTranDate, endTranDate, startTranTime, endTranTime, stuempno, custname, buildingname, doorName, factoryId, streamstatus, pageNo, pageSize, regionname);
+ public List<TDoordtlInfo> findOperatorExportExcelDoordtl(String startTranDate, String endTranDate, String startTranTime, String endTranTime, String stuempno, String custname, String buildingid, String regionid, String doorName, String factoryId, String streamstatus, String operRegionid) {
+ return doordtlDao.findOperatorExportExcelDoordtl(startTranDate, endTranDate, startTranTime, endTranTime, stuempno, custname, buildingid, regionid, doorName, factoryId, streamstatus, operRegionid);
}
@Override
- public Pagination findAllTDoordtl(String operid, String startTranDate, String endTranDate, String startTranTime, String endTranTime, String stuempno, String custname, String buildingname, String doorName, String factoryId, String streamstatus, int pageNo, int pageSize, String regionname) {
- return null;
+ public Pagination findSystemTDoordtl(String startTranDate, String endTranDate, String startTranTime, String endTranTime, String stuempno, String custname, String buildingid, String doorName, String factoryId, String streamstatus, int pageNo, int pageSize, String regionid) {
+ return doordtlDao.findSystemTDoordtl(startTranDate, endTranDate, startTranTime, endTranTime, stuempno, custname, buildingid, doorName, factoryId, streamstatus, pageNo, pageSize, regionid);
+ }
+
+ @Override
+ public Pagination findOperatorTDoordtl(String operid, String startTranDate, String endTranDate, String startTranTime, String endTranTime, String stuempno, String custname, String buildingid, String doorName, String factoryId, String streamstatus, int pageNo, int pageSize, String regionid,String operRegionid) {
+ return doordtlDao.findOperatorTDoordtl(operid, startTranDate, endTranDate, startTranTime, endTranTime, stuempno, custname, buildingid, doorName, factoryId, streamstatus, pageNo, pageSize, regionid,operRegionid);
}
}
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 1053c3c..ae45449 100644
--- a/src/main/java/com/supwisdom/dlpay/ncmgr/controller/NcMgrController.java
+++ b/src/main/java/com/supwisdom/dlpay/ncmgr/controller/NcMgrController.java
@@ -100,8 +100,7 @@
}else if (!StringUtil.isEmpty(operUser.getRegionid())){
page = ncService.getOperatorNcDeviceWithPage(devname, pageNo, pageSize, buildingid, operUser.getRegionid(), devtype);
map.put("PageResult", page);
- TRegion regionById = systemService.getRegionById(operUser.getRegionid());
- regions.add(regionById);
+ regions = systemService.getRegionListById(operUser.getRegionid());
map.put("regions", regions);
buildings = systemService.getBuildingByRegionId(operUser.getRegionid());
map.put("buildings", buildings);
@@ -147,8 +146,7 @@
devices = ncService.getSystemDevByType("C");//根据设备类型获取设备
map.put("devices", devices);
}else if (!StringUtil.isEmpty(operUser.getRegionid())){
- TRegion regionById = systemService.getRegionById(operUser.getRegionid());
- regionsfill.add(regionById);
+ regionsfill = systemService.getRegionListById(operUser.getRegionid());
map.put("regionsfill", regionsfill);
buildingsfill = systemService.getBuildingByRegionId(operUser.getRegionid());
map.put("buildingsfill", buildingsfill);
@@ -1086,12 +1084,19 @@
@RequestMapping(value = "/loadforadddevweek")
public Map loadforadddevweek(
HttpServletRequest request,
- HttpServletResponse response) {
+ HttpServletResponse response,
+ @AuthenticationPrincipal TOperator operUser) {
Map map = new HashMap();
try {
List<TNcWeektime> weektime = ncService.findAllNcWeekTime();
map.put("weektime", weektime);//时间周
- List<TNcDevice> device = ncService.findAllNcDevices();
+ 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 df2a07b..7828c2c 100644
--- a/src/main/java/com/supwisdom/dlpay/ncmgr/dao/NcDeviceDao.java
+++ b/src/main/java/com/supwisdom/dlpay/ncmgr/dao/NcDeviceDao.java
@@ -41,4 +41,6 @@
public List<TNcDevice> findAllNcDevices();
public TNcDevice getDevByBuildingid(String buildingid);
+
+ public List<TNcDevice> findOperatorDevices(String operRegionid);
}
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 f0ff557..e2b7f1c 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
@@ -349,4 +349,20 @@
}
return null;
}
+
+ @Transactional
+ @Override
+ public List<TNcDevice> findOperatorDevices(String operRegionid) {
+ String sql = "select bean.deviceid,bean.devphyid,bean.devname,bean.ip,bean.operflag,bean.syncflag,bean.synctime," +
+ "bean.updtime,bean.fdevid,bean.devtype,bean.devno,bean.usetype,bean.buildingid,bean.buildingname,bean.regionid " +
+ " from T_NC_DEVICE bean where operflag='A' "+
+ "and bean.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 )";
+ Query query = entityManager.createNativeQuery(sql, TNcDevice.class);
+ query.setParameter("operRegionid", operRegionid);
+ List<TNcDevice> list = query.getResultList();
+ return list;
+ }
}
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 de45972..3ff8f95 100644
--- a/src/main/java/com/supwisdom/dlpay/ncmgr/service/NcService.java
+++ b/src/main/java/com/supwisdom/dlpay/ncmgr/service/NcService.java
@@ -181,4 +181,7 @@
//获取所有设备
public List<TNcDevice> findAllNcDevices();
+
+ //获取管理员权限下的设备
+ public List<TNcDevice> findOperatorDevices(String operRegionid);
}
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 c76c9e7..29aa751 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
@@ -326,4 +326,9 @@
public List<TNcDevice> findAllNcDevices() {
return ncDeviceDao.findAllNcDevices();
}
+
+ @Override
+ public List<TNcDevice> findOperatorDevices(String operRegionid) {
+ return ncDeviceDao.findOperatorDevices(operRegionid);
+ }
}
diff --git a/src/main/java/com/supwisdom/dlpay/query/controller/QueryController.java b/src/main/java/com/supwisdom/dlpay/query/controller/QueryController.java
index 1895d87..924ea2e 100644
--- a/src/main/java/com/supwisdom/dlpay/query/controller/QueryController.java
+++ b/src/main/java/com/supwisdom/dlpay/query/controller/QueryController.java
@@ -5,11 +5,14 @@
import cn.afterturn.easypoi.excel.entity.enmus.ExcelType;
import cn.afterturn.easypoi.view.PoiBaseView;
import com.supwisdom.dlpay.framework.domain.TOperator;
+import com.supwisdom.dlpay.framework.util.StringUtil;
import com.supwisdom.dlpay.mainservice.bean.TDoordtlInfo;
import com.supwisdom.dlpay.mainservice.domain.TKey;
import com.supwisdom.dlpay.mainservice.service.WebInterfaceService;
+import com.supwisdom.dlpay.ncmgr.domain.TBuilding;
import com.supwisdom.dlpay.ncmgr.service.NcService;
import com.supwisdom.dlpay.system.domain.TDictionaryId;
+import com.supwisdom.dlpay.system.domain.TRegion;
import com.supwisdom.dlpay.system.page.Pagination;
import com.supwisdom.dlpay.system.service.SystemService;
import org.springframework.beans.factory.annotation.Autowired;
@@ -53,14 +56,34 @@
*/
@ResponseBody
@RequestMapping(value = "/getSearchFactoryIdList")
- public Map getSearchFactoryIdList() throws Exception {
+ public Map getSearchFactoryIdList(@AuthenticationPrincipal TOperator operUser) throws Exception {
Map map = new HashMap<>();
- //所有厂商
- List<TKey> allFactoryId = webInterfaceService.getAllKeys();
- map.put("allFactoryId", allFactoryId);
- //流水状态
- List<TDictionaryId> dtlStatus = systemService.findTDictionaryByType(20);
- map.put("dtlStatus",dtlStatus);
+ try {
+ //所有厂商
+ List<TKey> allFactoryId = webInterfaceService.getAllKeys();
+ map.put("allFactoryId", allFactoryId);
+ //流水状态
+ List<TDictionaryId> dtlStatus = systemService.findTDictionaryByType(20);
+ map.put("dtlStatus", dtlStatus);
+
+ String opertype = operUser.getOpertype();
+ List<TRegion> regions = null;
+ List<TBuilding> buildings = null;
+ if (!StringUtil.isEmpty(opertype) &&(opertype.equals("S")||opertype.equals("P"))) {
+ regions = systemService.getAllRegions();
+ buildings = ncService.getAllBuilding();
+ map.put("regions", regions);
+ map.put("buildings", buildings);
+ }else if (!StringUtil.isEmpty(operUser.getRegionid())){
+ regions = systemService.getRegionListById(operUser.getRegionid());
+ map.put("regions", regions);
+ buildings = systemService.getBuildingByRegionId(operUser.getRegionid());
+ map.put("buildings", buildings);
+ }
+
+ }catch (Exception e){
+ e.printStackTrace();
+ }
return map;
}
@@ -75,8 +98,8 @@
* @param endTranTime
* @param stuempno
* @param custname
- * @param buildingname
- * @param regionname
+ * @param buildingid
+ * @param regionid
* @param doorName
* @param factoryId
* @param streamstatus
@@ -90,11 +113,12 @@
@RequestParam(value = "endTranTime", required = false, defaultValue = "235959") String endTranTime,
@RequestParam(value = "stuempno", required = false, defaultValue = "") String stuempno,
@RequestParam(value = "custname", required = false, defaultValue = "") String custname,
- @RequestParam(value = "buildingname", required = false, defaultValue = "") String buildingname,
- @RequestParam(value = "regionname",required = false,defaultValue = "") String regionname,
+ @RequestParam(value = "buildingid", required = false, defaultValue = "") String buildingid,
+ @RequestParam(value = "regionid",required = false,defaultValue = "") String regionid,
@RequestParam(value = "doorName", required = false, defaultValue = "") String doorName,
@RequestParam(value = "factoryId", required = false, defaultValue = "all") String factoryId,
- @RequestParam(value = "streamstatus", required = false, defaultValue = "all") String streamstatus) {
+ @RequestParam(value = "streamstatus", required = false, defaultValue = "all") String streamstatus,
+ @AuthenticationPrincipal TOperator operUser) {
Map map = new HashMap();
try {
if (startTranDate.equals("Invalid date")) {
@@ -103,13 +127,20 @@
startTranTime = "";
endTranTime = "";
}
+ String opertype = operUser.getOpertype();
/**
* 1. 查询数据
*/
// final int max_field = 9;
// 保存表字段
- List<TDoordtlInfo> tDoordtlInfos = webInterfaceService.findExportExcelDoordtl(startTranDate, endTranDate, startTranTime,
- endTranTime, stuempno, custname, buildingname,regionname, doorName, factoryId, streamstatus);
+ List<TDoordtlInfo> tDoordtlInfos = null;
+ if (!StringUtil.isEmpty(opertype) &&(opertype.equals("S")||opertype.equals("P"))) {
+ tDoordtlInfos = webInterfaceService.findSystemExportExcelDoordtl(startTranDate, endTranDate, startTranTime,
+ endTranTime, stuempno, custname, buildingid, regionid, doorName, factoryId, streamstatus);
+ }else if (!StringUtil.isEmpty(operUser.getRegionid())){
+ tDoordtlInfos = webInterfaceService.findOperatorExportExcelDoordtl(startTranDate, endTranDate, startTranTime,
+ endTranTime, stuempno, custname, buildingid, regionid, doorName, factoryId, streamstatus,operUser.getRegionid());
+ }
/**
* 2.设置表格属性: title:标题 sheetName:工作簿名 type:表格类型
*/
@@ -136,13 +167,13 @@
* @param endTranTime
* @param stuempno
* @param custname
- * @param buildingname
+ * @param buildingid
* @param doorName
* @param factoryId
* @param streamstatus
* @param pageNo
* @param pageSize
- * @param regionname
+ * @param regionid
* @param operUser
* @return
* @throws UnsupportedEncodingException
@@ -156,13 +187,13 @@
@RequestParam(value = "endTranTime", required = false, defaultValue = "235959") String endTranTime,
@RequestParam(value = "stuempno", required = false, defaultValue = "") String stuempno,
@RequestParam(value = "custname", required = false, defaultValue = "") String custname,
- @RequestParam(value = "buildingname", required = false, defaultValue = "") String buildingname,
+ @RequestParam(value = "buildingid", required = false, defaultValue = "") String buildingid,
@RequestParam(value = "doorName", required = false, defaultValue = "") String doorName,
@RequestParam(value = "factoryId", required = false, defaultValue = "all") String factoryId,
@RequestParam(value = "streamstatus", required = false, defaultValue = "all") String streamstatus,
@RequestParam(value = "pageNo", required = false, defaultValue = "1") int pageNo,
@RequestParam(value = "pageSize", required = false, defaultValue = "10") int pageSize,
- @RequestParam(value = "regionname", required = false, defaultValue = "") String regionname,
+ @RequestParam(value = "regionid", required = false, defaultValue = "") String regionid,
@AuthenticationPrincipal TOperator operUser)
throws UnsupportedEncodingException {
Map map = new HashMap();
@@ -178,13 +209,14 @@
startTranTime = "";
endTranTime = "";
}
+ String opertype = operUser.getOpertype();
Pagination tDoordtlInfo = new Pagination();
- if (operUser.getOpertype().equals("S")){
+ if (!StringUtil.isEmpty(opertype) &&(opertype.equals("S")||opertype.equals("P"))) {
tDoordtlInfo = webInterfaceService.findSystemTDoordtl(startTranDate, endTranDate, startTranTime,
- endTranTime, stuempno, custname, buildingname, doorName, factoryId, streamstatus, pageNo, pageSize,regionname);
- }else {
- tDoordtlInfo = webInterfaceService.findAllTDoordtl(operUser.getOperid(), startTranDate, endTranDate, startTranTime,
- endTranTime, stuempno, custname, buildingname, doorName, factoryId, streamstatus, pageNo, pageSize, regionname);
+ endTranTime, stuempno, custname, buildingid, doorName, factoryId, streamstatus, pageNo, pageSize,regionid);
+ }else if (!StringUtil.isEmpty(operUser.getRegionid())){
+ tDoordtlInfo = webInterfaceService.findOperatorTDoordtl(operUser.getOperid(), startTranDate, endTranDate, startTranTime,
+ endTranTime, stuempno, custname, buildingid, doorName, factoryId, streamstatus, pageNo, pageSize, regionid,operUser.getRegionid());
}
map.put("tDoordtlInfo", tDoordtlInfo);
map.put("index", index);
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 ffff38f..a978e81 100644
--- a/src/main/java/com/supwisdom/dlpay/system/controller/SystemController.java
+++ b/src/main/java/com/supwisdom/dlpay/system/controller/SystemController.java
@@ -425,8 +425,7 @@
page = systemService.getSystemBuildingList(regionid, buildingname, pageNo, pageSize);
map.put("pageResult", page);
}else if (!StringUtil.isEmpty(operUser.getRegionid())){
- TRegion region = systemService.getRegionById(operUser.getRegionid());
- regionList.add(region);
+ regionList = systemService.getRegionListById(operUser.getRegionid());
page = systemService.getSystemBuildingList(operUser.getRegionid(), buildingname, pageNo, pageSize);//regionid固定为管理员的权限区域id
map.put("pageResult", page);
@@ -458,8 +457,7 @@
if (!StringUtil.isEmpty(opertype) &&(opertype.equals("S")||opertype.equals("P"))){
regionList = systemService.getAllRegions();
}else if (!StringUtil.isEmpty(operUser.getRegionid())){
- TRegion region = systemService.getRegionById(operUser.getRegionid());
- regionList.add(region);
+ regionList = systemService.getRegionListById(operUser.getRegionid());
}
map.put("regionslist", regionList);
diff --git a/src/main/resources/templates/ncmgr/nc_dev.html b/src/main/resources/templates/ncmgr/nc_dev.html
index b4521e3..8af8ffc 100644
--- a/src/main/resources/templates/ncmgr/nc_dev.html
+++ b/src/main/resources/templates/ncmgr/nc_dev.html
@@ -488,10 +488,15 @@
},
regionChange:function(value){
this.buildings=[];
+ this.devform.buildingid='';
getRegionBuilding(this,value);
+ if (this.devform.regionid==''){
+ getRegionBuilding(this,'0');
+ }
},
regionfillChange:function(value){
this.buildingsfill=[];
+ this.devUpform.buildingid='';
getRegionBuildingfill(this,value);
},
editDev: function (deviceid) {
diff --git a/src/main/resources/templates/query/tdoorstream.html b/src/main/resources/templates/query/tdoorstream.html
index a3427e1..e241a30 100644
--- a/src/main/resources/templates/query/tdoorstream.html
+++ b/src/main/resources/templates/query/tdoorstream.html
@@ -42,8 +42,12 @@
<el-input v-model="tdoorstream.custname" style="width:193px"></el-input>
</el-col>
<el-col :span="8">
- <el-form-item label="区域">
- <el-select v-model="searchDoorForm.regionid" placeholder="请选择">
+ <label class="control-label" style="margin-right:10px;font-size: 14px;width:80px">区域:
+ </label>
+ <el-form-item >
+ <el-select style="width:193px" v-model="tdoorstream.regionid"
+ @Change="regionChange"
+ placeholder="请选择">
<el-option
v-for="regionid in regions"
:key="regionid.value"
@@ -55,8 +59,10 @@
</el-col>
<el-col :span="8">
- <el-form-item label="楼栋">
- <el-select v-model="searchDoorForm.buildingid" placeholder="请选择">
+ <label class="control-label" style="margin-right:10px;font-size: 14px;width:80px">楼栋:
+ </label>
+ <el-form-item >
+ <el-select style="width:193px" v-model="tdoorstream.buildingid" placeholder="请选择">
<el-option
v-for="buildingid in buildings"
:key="buildingid.value"
@@ -232,7 +238,12 @@
}).then(function(){
downloadExcel(_self,_self.starttransdate,_self.endtransdate);
});
- }
+ },
+ regionChange:function(value){
+ this.buildings=[];
+ this.tdoorstream.buildingid='';
+ getRegionBuilding(this,value);
+ },
},
created : function() {
this.loading=true;
@@ -260,8 +271,26 @@
label : dtlStatus[i].dictcaption
});
}
- _self.dtlstatus = dtllist;
+ var regionlist = [];
+ var region = ret.regions;
+ for (var i = 0; i < region.length; i++) {
+ regionlist.push({
+ value: region[i]["regionid"],
+ label: region[i]["regionname"]
+ })
+ }
+ var buildinglist = [];
+ var building = ret.buildings;
+ for (var i = 0; i < building.length; i++) {
+ buildinglist.push({
+ value: building[i]["buildingid"],
+ label: building[i]["buildingname"]
+ })
+ }
+ _self.dtlstatus = dtllist;
+ _self.regions = regionlist;
+ _self.buildings = buildinglist;
_self.loading=false;
}
})
@@ -359,4 +388,26 @@
var formated=hour + minute + sec;
return formated;
}
+
+ function getRegionBuilding(_self,value){
+ $.ajax({
+ type: "get",
+ dataType: "json",
+ url: encodeURI("/ncmgr/getRegionBuilding?regionid=" + value),
+ success: function (ret) {
+ var bList = [];
+ var rB = ret.reBuilding;
+ if (rB!=null) {
+ for (var j = 0; j < rB.length; j++) {
+ bList.push({
+ value: rB[j]["buildingid"],
+ label: rB[j]["buildingname"]
+ });
+ }
+ }
+
+ _self.buildings = bList;
+ }
+ })
+ }
</script>
\ No newline at end of file