流水功能完善 以及 各功能添加区域判断调整
diff --git a/src/main/java/com/supwisdom/dlpay/doorlist/controller/DoorlistMgrController.java b/src/main/java/com/supwisdom/dlpay/doorlist/controller/DoorlistMgrController.java
index 1cd837b..193273c 100644
--- a/src/main/java/com/supwisdom/dlpay/doorlist/controller/DoorlistMgrController.java
+++ b/src/main/java/com/supwisdom/dlpay/doorlist/controller/DoorlistMgrController.java
@@ -96,7 +96,8 @@
* @param stuempNo
* @param syncStatus
* @param operFlag
- * @param building
+ * @param buildingname
+ * @param regionname
* @param allocatStartDate
* @param allocatEndDate
* @param pageNo
@@ -113,7 +114,8 @@
@RequestParam(value = "stuempNo", required = false, defaultValue = "") String stuempNo,
@RequestParam(value = "syncStatus", required = false, defaultValue = "all") String syncStatus,
@RequestParam(value = "operFlag", required = false, defaultValue = "all") String operFlag,
- @RequestParam(value = "building", required = false, defaultValue = "") String building,
+ @RequestParam(value = "buildingname", required = false, defaultValue = "") String buildingname,
+ @RequestParam(value = "regionname",required = false,defaultValue = "") String regionname,
@RequestParam(value = "allocatStartDate", required = false, defaultValue = "") String allocatStartDate,
@RequestParam(value = "allocatEndDate", required = false, defaultValue = "") String allocatEndDate,
@RequestParam(value = "pageNo", required = false, defaultValue = "1") int pageNo,
@@ -127,7 +129,7 @@
Pagination pResult;
pResult = webInterfaceService.getAllCardListFrSearch(factoryId, allocatStartDate, allocatEndDate,
- doorName, custName, stuempNo, syncStatus, allopername, operFlag, building, pageNo, pageSize);
+ doorName, custName, stuempNo, syncStatus, allopername, operFlag, buildingname,regionname, pageNo, pageSize);
map.put("PageResult", pResult);
map.put("index", flag);
map.put("result", "查询设备名单成功!");
@@ -150,7 +152,8 @@
* @param stuempNo
* @param syncStatus
* @param operFlag
- * @param building
+ * @param buildingname
+ * @param regionname
* @param allocatStartDate
* @param allocatEndDate
* @param operUser
@@ -163,7 +166,8 @@
@RequestParam(value = "stuempNo", required = false, defaultValue = "") String stuempNo,
@RequestParam(value = "syncStatus", required = false, defaultValue = "all") String syncStatus,
@RequestParam(value = "operFlag", required = false, defaultValue = "all") String operFlag,
- @RequestParam(value = "building", required = false, defaultValue = "") String building,
+ @RequestParam(value = "buildingname", required = false, defaultValue = "") String buildingname,
+ @RequestParam(value = "regionname",required = false,defaultValue = "") String regionname,
@RequestParam(value = "allocatStartDate", required = false, defaultValue = "") String allocatStartDate,
@RequestParam(value = "allocatEndDate", required = false, defaultValue = "") String allocatEndDate,
@AuthenticationPrincipal TOperator operUser) {
@@ -172,7 +176,7 @@
*/
List<String> allopername = systemService.findOperatorsByFopercode(operUser.getOperid());
List<TDoorcardlstInfo> cardList = webInterfaceService.getAllCardListMap(factoryId, allocatStartDate, allocatEndDate,
- doorName, custName, stuempNo, syncStatus, allopername, operFlag, building);
+ doorName, custName, stuempNo, syncStatus, allopername, operFlag, buildingname,regionname);
/**
* 2.设置表格属性: title:标题 sheetName:工作簿名 type:表格类型
diff --git a/src/main/java/com/supwisdom/dlpay/mainservice/bean/TDoordtlInfo.java b/src/main/java/com/supwisdom/dlpay/mainservice/bean/TDoordtlInfo.java
index b49a994..c588233 100644
--- a/src/main/java/com/supwisdom/dlpay/mainservice/bean/TDoordtlInfo.java
+++ b/src/main/java/com/supwisdom/dlpay/mainservice/bean/TDoordtlInfo.java
@@ -2,9 +2,14 @@
import cn.afterturn.easypoi.excel.annotation.Excel;
+import javax.persistence.Entity;
+import javax.persistence.Id;
import java.io.Serializable;
+@Entity
public class TDoordtlInfo implements Serializable{
+ @Id
+ private String listid;
@Excel(name = "厂商名称")
private String factoryname;
@Excel(name = "设备编号")
@@ -17,9 +22,9 @@
private String custname;
@Excel(name = "楼栋",width = 30)
private String buildingname;
- @Excel(name = "区域",width = 30)
+ @Excel(name = "区域")
private String regionname;
- @Excel(name = "物理卡号")
+ @Excel(name = "物理卡号",width = 30)
private String cardphyid;
@Excel(name = "刷卡时间",databaseFormat = "yyyy-MM-dd",width = 20)
private String transdate;
@@ -30,6 +35,14 @@
@Excel(name = "采集时间",databaseFormat = "yyyy-MM-dd",width = 20)
private String coldate;
+ public String getListid() {
+ return listid;
+ }
+
+ public void setListid(String listid) {
+ this.listid = listid;
+ }
+
public String getDoorid() {
return doorid;
}
@@ -111,4 +124,20 @@
public void setColdate(String coldate) {
this.coldate = coldate;
}
+
+ public TDoordtlInfo(String listid, String factoryname, String doorid, String doorname, String stuempno, String custname, String buildingname, String regionname, String cardphyid, String transdate, String dtldesc, String status, String coldate) {
+ this.listid = listid;
+ this.factoryname = factoryname;
+ this.doorid = doorid;
+ this.doorname = doorname;
+ this.stuempno = stuempno;
+ this.custname = custname;
+ this.buildingname = buildingname;
+ this.regionname = regionname;
+ this.cardphyid = cardphyid;
+ this.transdate = transdate;
+ this.dtldesc = dtldesc;
+ this.status = status;
+ this.coldate = coldate;
+ }
}
diff --git a/src/main/java/com/supwisdom/dlpay/mainservice/dao/CardListDao.java b/src/main/java/com/supwisdom/dlpay/mainservice/dao/CardListDao.java
index 941cdb9..e2e1b60 100644
--- a/src/main/java/com/supwisdom/dlpay/mainservice/dao/CardListDao.java
+++ b/src/main/java/com/supwisdom/dlpay/mainservice/dao/CardListDao.java
@@ -8,10 +8,10 @@
public interface CardListDao {
public Pagination getAllCardListFrSearch(String factoryId, String allocatStartDate, String allocatEndDate,
- String doorName, String custName, String stuempNo, String syncStatus, List<String> opername, String operFlag, String building, int pageNo, int pageSize);
+ String doorName, String custName, String stuempNo, String syncStatus, List<String> opername, String operFlag, String buildingname,String regionname, int pageNo, int pageSize);
public List<TDoorcardlstInfo> getAllCardListMap(String factoryId, String allocatStartDate, String allocatEndDate,
- String doorName, String custName, String stuempNo, String syncStatus, List<String> opername, String operFlag, String building);
+ String doorName, String custName, String stuempNo, String syncStatus, List<String> operids, String operFlag, String buildingname,String regionname);
public void updateDoorcardlstToNoWithIds(List<Long> listIds);
}
diff --git a/src/main/java/com/supwisdom/dlpay/mainservice/dao/DoordtlDao.java b/src/main/java/com/supwisdom/dlpay/mainservice/dao/DoordtlDao.java
new file mode 100644
index 0000000..35e75d8
--- /dev/null
+++ b/src/main/java/com/supwisdom/dlpay/mainservice/dao/DoordtlDao.java
@@ -0,0 +1,20 @@
+package com.supwisdom.dlpay.mainservice.dao;
+
+import com.supwisdom.dlpay.mainservice.bean.TDoordtlInfo;
+import com.supwisdom.dlpay.system.page.Pagination;
+
+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 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 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);
+}
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 722afdd..c081d4d 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
@@ -9,7 +9,6 @@
import org.springframework.transaction.annotation.Transactional;
import javax.persistence.EntityManager;
-import javax.persistence.NamedNativeQuery;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;
import java.text.SimpleDateFormat;
@@ -24,7 +23,7 @@
@Transactional
@Override
- public Pagination getAllCardListFrSearch(String factoryId, String allocatStartDate, String allocatEndDate, String doorName, String custName, String stuempNo, String syncStatus,List<String> opername, String operFlag, String building, int pageNo, int pageSize) {
+ public Pagination getAllCardListFrSearch(String factoryId, String allocatStartDate, String allocatEndDate, String doorName, String custName, String stuempNo, String syncStatus,List<String> operids, String operFlag, String buildingname,String regionname, int pageNo, int pageSize) {
try {
String queryString = "select a.listid, a.factoryId,d.doorName,a.custName,g.operName,a.stuempNo," +
@@ -55,8 +54,18 @@
if (!("all").equals(operFlag)) {
queryString += " and a.operFlag =:operFlag";
}
- if (!("").equals(building)) {
- queryString += " and a.buildingid =:building ";
+ if (!("").equals(buildingname)) {
+ queryString += " and a.buildingname like :buildingname ";
+ }
+ if (!regionname.equals("")){
+ queryString += "and a.regionid in "
+ +"("
+ + "with recursive tmp as "
+ + "("
+ + "select tbr.regionid,tbr.parentid,tbr.regionname from tb_region tbr where regionname like :regionname "
+ + "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 (!("").equals(custName)) {
queryString += " and a.custname like :custName";
@@ -76,7 +85,7 @@
}
- query.setParameter("operids", opername);
+ query.setParameter("operids", operids);
if (!("all").equals(syncStatus)) {
query.setParameter("syncStatus", syncStatus);
}
@@ -89,8 +98,11 @@
if (!("all").equals(operFlag)) {
query.setParameter("operFlag", operFlag);
}
- if (!("").equals(building)) {
- query.setParameter("building", building);
+ if (!("").equals(buildingname)) {
+ query.setParameter("buildingname", "%"+buildingname+"%");
+ }
+ if (!("").equals(regionname)){
+ query.setParameter("regionname", "%"+regionname+"%");
}
if (!("").equals(custName)) {
query.setParameter("custName", "%" + custName + "%");
@@ -98,6 +110,17 @@
if (!("").equals(stuempNo)) {
query.setParameter("stuempNo", stuempNo);
}
+
+ pageNo = pageNo <= 0 ? 1 : pageNo;
+ query.setFirstResult((pageNo - 1) * pageSize);
+ query.setMaxResults(pageSize);
+ Pagination page = new Pagination();
+ page.setPageNo(pageNo);
+ page.setPageSize(pageSize);
+
+ int totalCount = getAllCardListCount(factoryId, allocatStartDate, allocatEndDate, doorName, custName, stuempNo, syncStatus, operids, operFlag, buildingname, regionname);
+ page.setTotalCount(totalCount);
+
List<TDoorcardlstInfo> tDoorcardlstInfos = query.getResultList();
SimpleDateFormat _ymdhms = new SimpleDateFormat("yyyyMMddHHmmss");
SimpleDateFormat ymdhms = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@@ -207,15 +230,7 @@
}
- pageNo = pageNo <= 0 ? 1 : pageNo;
- query.setFirstResult((pageNo - 1) * pageSize);
- query.setMaxResults(pageSize);
- Pagination page = new Pagination();
- page.setPageNo(pageNo);
- page.setPageSize(pageSize);
page.setList(tDoorcardlstInfos);
- int totalCount = tDoorcardlstInfos.size();
- page.setTotalCount(totalCount);
return page;
}catch (Exception e){
e.printStackTrace();
@@ -223,9 +238,103 @@
return null;
}
+ private int getAllCardListCount(String factoryId, String allocatStartDate, String allocatEndDate, String doorName, String custName, String stuempNo, String syncStatus,List<String> operids, String operFlag, String buildingname,String regionname){
+ try {
+ String queryString = "select count(a.listid) from TDoorcardlst a," +
+ "TDoordev d " +
+ " left join tb_region f on a.regionid=f.regionid " +
+ "where a.id.factoryid=d.id.factoryid " +
+ " and a.id.deviceid=d.id.doorid " +
+ " and (a.operid in (:operids) " +
+ " or a.id.deviceid in (select oe.id.deviceid from TOperdevice oe where oe.id.operid in(:operids)))";
+ if (!"".equals(allocatStartDate)) {
+ queryString += " and a.updatetime>=:allocatStartDate ";
+ }
+ if (!"".equals(allocatEndDate)) {
+ queryString += " and a.updatetime<=:allocatEndDate ";
+ }
+ if (!("all").equals(syncStatus)) {
+ queryString += " and a.syncstatus =:syncStatus";
+ }
+ if (!("all").equals(factoryId)) {
+ queryString += " and a.id.factoryid =:factoryId";
+ }
+ if (!("all").equals(operFlag)) {
+ queryString += " and a.operfalg =:operFlag";
+ }
+ if (!("").equals(buildingname)) {
+ queryString += " and a.buildingname like :buildingname ";
+ }
+ if (!regionname.equals("")){
+ queryString += "and a.regionid in "
+ +"("
+ + "with recursive tmp as "
+ + "("
+ + "select tbr.regionid,tbr.parentid,tbr.regionname from tb_region tbr where regionname like :regionname "
+ + "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 (!("").equals(doorName)) {
+ queryString += " and d.doorname like :doorName";
+ }
+ if (!("").equals(custName)) {
+ queryString += " and a.custname like :custName";
+ }
+ if (!("").equals(stuempNo)) {
+ queryString += " and a.stuempno like :stuempNo";
+ }
+ Query query = entityManager.createNativeQuery(queryString);
+ query.setParameter("operids", operids);
+ if (!"".equals(allocatStartDate)) {
+ query.setParameter("allocatStartDate", allocatStartDate + "000000");
+ }
+ if (!"".equals(allocatEndDate)) {
+ query.setParameter("allocatEndDate", allocatEndDate + "235959");
+ }
+
+ if (!("all").equals(syncStatus)) {
+ query.setParameter("syncStatus", syncStatus);
+ }
+ if (!("all").equals(factoryId)) {
+ query.setParameter("factoryId", factoryId);
+ }
+ if (!("all").equals(operFlag)) {
+ query.setParameter("operFlag", operFlag);
+ }
+ if (!("").equals(buildingname)) {
+ query.setParameter("buildingname", "%"+buildingname+"%");
+ }
+ if (!("").equals(regionname)){
+ query.setParameter("regionname", "%"+regionname+"%");
+ }
+ if (!("").equals(doorName)) {
+ query.setParameter("doorName", "%" + doorName + "%");
+ }
+ if (!("").equals(custName)) {
+ query.setParameter("custName", "%" + custName + "%");
+ }
+ if (!("").equals(stuempNo)) {
+ query.setParameter("stuempNo", stuempNo);
+ }
+ int cnt = 0;
+ List list = query.getResultList();
+ if (list!=null && list.size()>0){
+ Object o = list.get(0);
+ cnt = Integer.parseInt(o.toString());
+ }
+ return cnt;
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return 0;
+ }
+
+
+
@Transactional
@Override
- public List<TDoorcardlstInfo> getAllCardListMap(String factoryId, String allocatStartDate, String allocatEndDate, String doorName, String custName, String stuempNo, String syncStatus, List<String> opername, String operFlag, String building) {
+ public List<TDoorcardlstInfo> getAllCardListMap(String factoryId, String allocatStartDate, String allocatEndDate, String doorName, String custName, String stuempNo, String syncStatus, List<String> operids, String operFlag, String buildingname,String regionname) {
try {
String queryString = "select a.listid, a.factoryId,d.doorName,a.custName,g.operName,a.stuempNo," +
"a.syncStatus,a.operFlag operFlagIndex,a.updatetime allocatTime,a.syncTime,a.closedate," +
@@ -255,8 +364,18 @@
if (!("all").equals(operFlag)) {
queryString += " and a.operFlag =:operFlag";
}
- if (!("").equals(building)) {
- queryString += " and a.buildingid =:building";
+ if (!("").equals(buildingname)) {
+ queryString += " and a.buildingname like :buildingname";
+ }
+ if (!regionname.equals("")){
+ queryString += "and a.regionid in "
+ +"("
+ + "with recursive tmp as "
+ + "("
+ + "select tbr.regionid,tbr.parentid,tbr.regionname from tb_region tbr where regionname like :regionname "
+ + "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 (!("").equals(custName)) {
queryString += " and a.custname like :custName";
@@ -275,7 +394,7 @@
}
- query.setParameter("operids", opername);
+ query.setParameter("operids", operids);
if (!("all").equals(syncStatus)) {
query.setParameter("syncStatus", syncStatus);
}
@@ -288,8 +407,11 @@
if (!("all").equals(operFlag)) {
query.setParameter("operFlag", operFlag);
}
- if (!("").equals(building)) {
- query.setParameter("buildingid", building);
+ if (!("").equals(buildingname)) {
+ query.setParameter("buildingname", "%"+buildingname+"%");
+ }
+ if (!("").equals(regionname)){
+ query.setParameter("regionname","%"+regionname+"%");
}
if (!("").equals(custName)) {
query.setParameter("custName", "%" + custName + "%");
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
new file mode 100644
index 0000000..3323dc6
--- /dev/null
+++ b/src/main/java/com/supwisdom/dlpay/mainservice/dao/impl/DoordtlDaoImpl.java
@@ -0,0 +1,416 @@
+package com.supwisdom.dlpay.mainservice.dao.impl;
+
+import com.supwisdom.dlpay.mainservice.bean.TDoordtlInfo;
+import com.supwisdom.dlpay.mainservice.dao.DoordtlDao;
+import com.supwisdom.dlpay.system.page.Pagination;
+import org.springframework.stereotype.Repository;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.persistence.EntityManager;
+import javax.persistence.PersistenceContext;
+import javax.persistence.Query;
+import java.util.List;
+
+@Repository
+public class DoordtlDaoImpl implements DoordtlDao {
+ @PersistenceContext
+ EntityManager entityManager;
+
+ @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) {
+ 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 (!buildingname.equals("")) {
+ queryString += " and tb.buildingname like :buildingname ";
+ }
+ if (!regionname.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 "
+ + "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 (!buildingname.equals("")) {
+ query.setParameter("buildingname", "%" + buildingname + "%");
+ }
+ if (!regionname.equals("")){
+ query.setParameter("regionname", "%" + regionname + "%");
+ }
+ if (!doorName.equals("")) {
+ query.setParameter("doorName", "%" + doorName + "%");
+ }
+ if (!factoryId.equals("all")) {
+ query.setParameter("factoryId", factoryId);
+ }
+ if (!streamstatus.equals("all")) {
+ query.setParameter("streamstatus", streamstatus);
+ }
+ List 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 buildingname, String doorName, String factoryId, String streamstatus, int pageNo, int pageSize, String regionname) {
+ 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 "
+ + "left join t_building tb on a.buildingid=tb.buildingid "
+ + "left join tb_region tr on a.regionid=tr.regionid "
+ + "where 1>0 ";
+ if (!startTranDate.equals("")) {
+ queryString += " and transdate between :startTranDate and :endTranDate ";
+ }
+ if (!stuempno.equals("")) {
+ queryString += " and a.stuempno like :stuempno ";
+ }
+ if (!custname.equals("")) {
+ queryString += " and a.custname like :custname ";
+ }
+ if (!doorName.equals("")) {
+ queryString += " and d.doorName like :doorName ";
+ }
+ if (!streamstatus.equals("all")) {
+ queryString += " and a.status =:streamstatus ";
+ }
+ if(!buildingname.equals("")){
+ queryString += " and tb.buildingname like :buildingname";
+ }
+ if (!regionname.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 "
+ + "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 a.transdate DESC";
+ Query query = entityManager.createNativeQuery(queryString, TDoordtlInfo.class);
+ if (!startTranDate.equals("")) {
+ query.setParameter("startTranDate", startTranDate);
+ query.setParameter("endTranDate", endTranDate);
+ }
+ if (!stuempno.equals("")) {
+ query.setParameter("stuempno", stuempno);
+ }
+ if (!custname.equals("")) {
+ query.setParameter("custname", "%" + custname + "%");
+ }
+ if (!doorName.equals("")) {
+ query.setParameter("doorName", "%" + doorName + "%");
+ }
+ if (!streamstatus.equals("all")) {
+ query.setParameter("streamstatus", streamstatus);
+ }
+ if(!buildingname.equals("")){
+ query.setParameter("buildingname","%"+buildingname+"%");
+ }
+ if (!regionname.equals("")){
+ query.setParameter("regionname", "%"+regionname+"%");
+ }
+ pageNo = pageNo <= 0 ? 1 : pageNo;
+ query.setFirstResult((pageNo - 1) * pageSize);
+ query.setMaxResults(pageSize);
+ Pagination page = new Pagination();
+ page.setPageNo(pageNo);
+ page.setPageSize(pageSize);
+ List<TDoordtlInfo> list = query.getResultList();
+ page.setList(list);
+ int totalCount = getSystemCount(startTranDate, endTranDate, startTranTime, endTranTime, stuempno, custname,
+ buildingname, doorName, factoryId, streamstatus,regionname);
+ page.setTotalCount(totalCount);
+ return page;
+ }
+
+
+
+
+ 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) {
+ try {
+ String queryString = "select count(*) as cnt "
+ + " from t_doordtl a "
+ + " left join t_doordev d on a.doorid = d.doorid "
+ + "left join t_building tb on a.buildingid=tb.buildingid "
+ + "left join tb_region tr on a.regionid=tr.regionid "
+ + " where 1>0";
+
+ if (!startTranDate.equals("")) {
+ queryString += " and transdate between :startTranDate and :endTranDate ";
+ }
+ if (!stuempno.equals("")) {
+ queryString += " and a.stuempno = :stuempno ";
+ }
+ if (!custname.equals("")) {
+ queryString += " and a.custname like :custname ";
+ }
+ if (!doorName.equals("")) {
+ queryString += " and d.doorName like :doorName ";
+ }
+ if (!streamstatus.equals("all")) {
+ queryString += " and a.status =:streamstatus ";
+ }
+ if(!buildingname.equals("")){
+ queryString += " and tb.buildingname like :buildingname";
+ }
+ if (!regionname.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 "
+ + "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("")) {
+ query.setParameter("startTranDate", startTranDate);
+ query.setParameter("endTranDate", endTranDate);
+ }
+ if (!stuempno.equals("")) {
+ query.setParameter("stuempno", stuempno);
+ }
+ if (!custname.equals("")) {
+ query.setParameter("custname", "%" + custname + "%");
+ }
+ if (!buildingname.equals("")) {
+ query.setParameter("buildingname", "%" + buildingname + "%");
+ }
+ if (!doorName.equals("")) {
+ query.setParameter("doorName", "%" + doorName + "%");
+ }
+ if (!streamstatus.equals("all")) {
+ query.setParameter("streamstatus", streamstatus);
+ }
+ if(!regionname.equals("")){
+ query.setParameter("regionname","%"+regionname+"%");
+ }
+ List list = query.getResultList();
+ int cnt = 0;
+ if (list!=null && list.size()>0){
+ cnt = Integer.parseInt(list.get(0).toString());
+ }
+ return cnt;
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return 0;
+ }
+
+
+ @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) {
+ 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 "
+ + " from t_doordtl a left join t_doordev d on a.doorid = d.doorid"
+ + " 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";
+ if (!startTranDate.equals("")) {
+ queryString += " and transdate between :startTranDate and :endTranDate ";
+ }
+ if (!stuempno.equals("")) {
+ queryString += " and a.stuempno like :stuempno ";
+ }
+ if (!custname.equals("")) {
+ queryString += " and a.custname like :custname ";
+ }
+ if (!doorName.equals("")) {
+ queryString += " and d.doorName like :doorName ";
+ }
+ if (!streamstatus.equals("all")) {
+ queryString += " and a.status =:streamstatus ";
+ }
+ if(!buildingname.equals("")){
+ queryString += " and tb.buildingname like :buildingname";
+ }
+ if (!regionname.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 "
+ + "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);
+ query.setParameter("endTranDate", endTranDate);
+ }
+ if (!stuempno.equals("")) {
+ query.setParameter("stuempno", stuempno);
+ }
+ if (!custname.equals("")) {
+ query.setParameter("custname", "%" + custname + "%");
+ }
+ if (!doorName.equals("")) {
+ query.setParameter("doorName", "%" + doorName + "%");
+ }
+ if (!streamstatus.equals("all")) {
+ query.setParameter("streamstatus", streamstatus);
+ }
+ if (!buildingname.equals("")) {
+ query.setParameter("buildingname", "%" + buildingname + "%");
+ }
+ if(regionname.equals("")){
+ query.setParameter("regionname","%"+regionname+"%");
+ }
+ pageNo = pageNo <= 0 ? 1 : pageNo;
+ query.setFirstResult((pageNo - 1) * pageSize);
+ query.setMaxResults(pageSize);
+ Pagination page = new Pagination();
+ page.setPageNo(pageNo);
+ 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);
+ page.setTotalCount(totalCount);
+ return page;
+ }catch (Exception e){
+ e.printStackTrace();
+ }
+ 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) {
+ try {
+ String queryString = "select count(*) as cnt "
+ + " from t_doordtl a "
+ + " left join t_doordev d on a.doorid = d.doorid "
+ + " 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";
+
+ if (!startTranDate.equals("")) {
+ queryString += " and transdate between :startTranDate and :endTranDate ";
+ }
+ if (!stuempno.equals("")) {
+ queryString += " and a.stuempno = :stuempno ";
+ }
+ if (!custname.equals("")) {
+ queryString += " and a.custname like :custname ";
+ }
+ if (!doorName.equals("")) {
+ queryString += " and d.doorName like :doorName ";
+ }
+ if (!streamstatus.equals("all")) {
+ queryString += " and a.status =:streamstatus ";
+ }
+ if(!buildingname.equals("")){
+ queryString += " and tb.buildingname like :buildingname";
+ }
+ if (!regionname.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 "
+ + "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);
+ }
+ if (!stuempno.equals("")) {
+ query.setParameter("stuempno", stuempno);
+ }
+ if (!custname.equals("")) {
+ query.setParameter("custname", "%" + custname + "%");
+ }
+ if (!doorName.equals("")) {
+ query.setParameter("doorName", "%" + doorName + "%");
+ }
+ if (!streamstatus.equals("all")) {
+ query.setParameter("streamstatus", streamstatus);
+ }
+ if (!buildingname.equals("")) {
+ query.setParameter("buildingname", "%" + buildingname + "%");
+ }
+ if(!regionname.equals("")){
+ query.setParameter("regionname","%"+regionname+"%");
+ }
+ List list = query.getResultList();
+ int cnt = 0;
+ if (list!=null && list.size()>0){
+ cnt = Integer.parseInt(list.get(0).toString());
+ }
+ return cnt;
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return 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 e7955a3..feba2d1 100644
--- a/src/main/java/com/supwisdom/dlpay/mainservice/service/WebInterfaceService.java
+++ b/src/main/java/com/supwisdom/dlpay/mainservice/service/WebInterfaceService.java
@@ -1,6 +1,7 @@
package com.supwisdom.dlpay.mainservice.service;
import com.supwisdom.dlpay.mainservice.bean.TDoorcardlstInfo;
+import com.supwisdom.dlpay.mainservice.bean.TDoordtlInfo;
import com.supwisdom.dlpay.mainservice.domain.TKey;
import com.supwisdom.dlpay.system.page.Pagination;
@@ -13,12 +14,25 @@
//根据查询条件分页获取流水
public Pagination getAllCardListFrSearch(String factoryId, String allocatStartDate, String allocatEndDate,
- String doorName, String custName, String stuempNo, String syncStatus, List<String> opername,String operFlag, String building, int pageNo, int pageSize);
+ String doorName, String custName, String stuempNo, String syncStatus, List<String> opername,String operFlag, String buildingname,String regionname, int pageNo, int pageSize);
//根据查询条件获取导出表单信息
public List<TDoorcardlstInfo> getAllCardListMap(String factoryId, String allocatStartDate, String allocatEndDate,
- String doorName, String custName, String stuempNo, String syncStatus, List<String> opername, String operFlag, String building);
+ String doorName, String custName, String stuempNo, String syncStatus, List<String> operids, String operFlag, String buildingname,String regionname);
//根据名单编号将已同步的名单修改为未同步使其重新同步
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);
+
+ //根据查询条件获取系统管理员流水数据
+ 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);
+
+ //根据管理员id和查询条件获取相应流水数据
+ 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);
}
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 f9f4633..e286cd3 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
@@ -1,7 +1,9 @@
package com.supwisdom.dlpay.mainservice.service.impl;
import com.supwisdom.dlpay.mainservice.bean.TDoorcardlstInfo;
+import com.supwisdom.dlpay.mainservice.bean.TDoordtlInfo;
import com.supwisdom.dlpay.mainservice.dao.CardListDao;
+import com.supwisdom.dlpay.mainservice.dao.DoordtlDao;
import com.supwisdom.dlpay.mainservice.dao.KeyDao;
import com.supwisdom.dlpay.mainservice.domain.TKey;
import com.supwisdom.dlpay.mainservice.service.WebInterfaceService;
@@ -17,6 +19,8 @@
KeyDao keyDao;
@Autowired
CardListDao cardListDao;
+ @Autowired
+ DoordtlDao doordtlDao;
@Override
public List<TKey> getAllKeys() throws Exception {
@@ -24,17 +28,32 @@
}
@Override
- public Pagination getAllCardListFrSearch(String factoryId, String allocatStartDate, String allocatEndDate, String doorName, String custName, String stuempNo, String syncStatus, List<String> opername, String operFlag, String building, int pageNo, int pageSize) {
- return cardListDao.getAllCardListFrSearch(factoryId, allocatStartDate, allocatEndDate, doorName, custName, stuempNo, syncStatus, opername, operFlag, building, pageNo, pageSize);
+ public Pagination getAllCardListFrSearch(String factoryId, String allocatStartDate, String allocatEndDate, String doorName, String custName, String stuempNo, String syncStatus, List<String> opername, String operFlag, String buildingname,String regionname, int pageNo, int pageSize) {
+ return cardListDao.getAllCardListFrSearch(factoryId, allocatStartDate, allocatEndDate, doorName, custName, stuempNo, syncStatus, opername, operFlag, buildingname,regionname, pageNo, pageSize);
}
@Override
- public List<TDoorcardlstInfo> getAllCardListMap(String factoryId, String allocatStartDate, String allocatEndDate, String doorName, String custName, String stuempNo, String syncStatus, List<String> opername, String operFlag, String building) {
- return cardListDao.getAllCardListMap(factoryId, allocatStartDate, allocatEndDate, doorName, custName, stuempNo, syncStatus, opername, operFlag, building);
+ public List<TDoorcardlstInfo> getAllCardListMap(String factoryId, String allocatStartDate, String allocatEndDate, String doorName, String custName, String stuempNo, String syncStatus, List<String> operids, String operFlag, String buildingname,String regionname) {
+ return cardListDao.getAllCardListMap(factoryId, allocatStartDate, allocatEndDate, doorName, custName, stuempNo, syncStatus, operids, operFlag, buildingname,regionname);
}
@Override
public void updateDoorcardlstToNoWithIds(List<Long> listIds) {
cardListDao.updateDoorcardlstToNoWithIds(listIds);
}
+
+ @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);
+ }
+
+ @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);
+ }
+
+ @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;
+ }
}
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 98dd04d..f52684a 100644
--- a/src/main/java/com/supwisdom/dlpay/ncmgr/controller/NcMgrController.java
+++ b/src/main/java/com/supwisdom/dlpay/ncmgr/controller/NcMgrController.java
@@ -30,7 +30,7 @@
private NcService ncService;
@Autowired
private SystemService systemService;
-
+
@RequestMapping("/devindex")
public String devindex(ModelMap model) {
return "ncmgr/nc_dev";
@@ -63,7 +63,8 @@
* @param pageNo
* @param pageSize
* @param devname
- * @param buildingid
+ * @param buildingname
+ * @param regionname
* @param devtype
* @return
*/
@@ -74,12 +75,13 @@
@RequestParam(value = "pageNo", required = false, defaultValue = "1") int pageNo,
@RequestParam(value = "pageSize", required = false, defaultValue = "10") int pageSize,
@RequestParam(value = "devname", required = false, defaultValue = "") String devname,
- @RequestParam(value = "buildingid", required = false, defaultValue = "") String buildingid,
+ @RequestParam(value = "buildingname", required = false, defaultValue = "") String buildingname,
+ @RequestParam(value = "regionname",required = false,defaultValue = "") String regionname,
@RequestParam(value = "devtype", required = false, defaultValue = "") String devtype){
Map map = new HashMap();
try{
Pagination page = null;
- page = ncService.getNcDeviceWithPage(devname, pageNo, pageSize, map, buildingid, devtype);
+ page = ncService.getNcDeviceWithPage(devname, pageNo, pageSize, map, buildingname,regionname, devtype);
map.put("PageResult", page);
List<TDictionaryId> dicts = systemService.findTDictionaryByType(8);
map.put("dicts", dicts);
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 dfd7458..ba92967 100644
--- a/src/main/java/com/supwisdom/dlpay/ncmgr/dao/NcDeviceDao.java
+++ b/src/main/java/com/supwisdom/dlpay/ncmgr/dao/NcDeviceDao.java
@@ -2,16 +2,19 @@
import com.supwisdom.dlpay.ncmgr.domain.TBuilding;
import com.supwisdom.dlpay.ncmgr.domain.TNcDevice;
+import com.supwisdom.dlpay.ncmgr.domain.TRegion;
import com.supwisdom.dlpay.system.page.Pagination;
import java.util.List;
import java.util.Map;
public interface NcDeviceDao {
- public Pagination getNcDeviceWithPage(String devname, int pageNo, int pageSize, String buildingid, String devtype);
+ public Pagination getNcDeviceWithPage(String devname, int pageNo, int pageSize, String buildingname,String regionname, String devtype);
public List<TBuilding> getAllBuilding();
+ public List<TRegion> getAllRegion();
+
public TBuilding getBuidingById(String id);
public List<TNcDevice> getDevByType(String type);
diff --git a/src/main/java/com/supwisdom/dlpay/ncmgr/dao/impl/NcDevWeekDaoImpl.java b/src/main/java/com/supwisdom/dlpay/ncmgr/dao/impl/NcDevWeekDaoImpl.java
index 7aaa0f1..a48280a 100644
--- a/src/main/java/com/supwisdom/dlpay/ncmgr/dao/impl/NcDevWeekDaoImpl.java
+++ b/src/main/java/com/supwisdom/dlpay/ncmgr/dao/impl/NcDevWeekDaoImpl.java
@@ -50,19 +50,44 @@
if (weekid!=0) {
query.setParameter("wid", weekid);
}
- List<TNcDevweek> list = query.getResultList();
+
pageNo = pageNo <= 0 ? 1 : pageNo;
query.setFirstResult((pageNo - 1) * pageSize);
query.setMaxResults(pageSize);
Pagination page = new Pagination();
page.setPageNo(pageNo);
page.setPageSize(pageSize);
+ List<TNcDevweek> list = query.getResultList();
page.setList(list);
- int totalCount = list.size();
+ int totalCount = getNcDevWeekCount(weekid, devname);
page.setTotalCount(totalCount);
return page;
}
+
+ private int getNcDevWeekCount(int weekid,String devname){
+ String sql = "select count(*) from T_Nc_Devweek where 1>0 ";
+ if (!StringUtil.isEmpty(devname)) {
+ sql += " and devname like :devname ";
+ }
+ if (weekid!=0) {
+ sql+=" and weekid=:wid ";
+ }
+ Query query = entityManager.createNativeQuery(sql);
+ if (!StringUtil.isEmpty(devname)) {
+ query.setParameter("devname", "%"+devname+"%");
+ }
+ if (weekid!=0) {
+ query.setParameter("wid", weekid);
+ }
+ 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 void delDevWeekById(int devid, int weekid) {
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 12927b3..becafab 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
@@ -3,6 +3,7 @@
import com.supwisdom.dlpay.ncmgr.dao.NcDeviceDao;
import com.supwisdom.dlpay.ncmgr.domain.TBuilding;
import com.supwisdom.dlpay.ncmgr.domain.TNcDevice;
+import com.supwisdom.dlpay.ncmgr.domain.TRegion;
import com.supwisdom.dlpay.system.page.Pagination;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;
@@ -22,13 +23,26 @@
@Transactional
@Override
- public Pagination getNcDeviceWithPage(String devname, int pageNo, int pageSize, String buildingid, String devtype) {
- String sql ="select * from T_Nc_Device bean where 1>0 and operflag='A'";
+ public Pagination getNcDeviceWithPage(String devname, int pageNo, int pageSize, String buildingname,String regionname, String devtype) {
+ 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 buildingid = :buildingid ";
+ if(!buildingname.equals("")){
+ sql+="and buildingname like :buildingname ";
+ }
+ if (!regionname.equals("")){
+ sql += "and tr.regionid in "
+ +"("
+ + "with recursive tmp as "
+ + "("
+ + "select tbr.regionid,tbr.parentid,tbr.regionname from tb_region tbr where regionname like :regionname "
+ + "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 ";
@@ -39,25 +53,75 @@
if(!devname.equals("")){
query.setParameter("devname", "%"+devname+"%");
}
- if(!buildingid.equals("")){
- query.setParameter("buildingid", buildingid);
+ if(!buildingname.equals("")){
+ query.setParameter("buildingname", "%"+buildingname+"%");
}
if(!devtype.equals("")){
query.setParameter("devtype", devtype);
}
- List<TNcDevice> list = query.getResultList();
+ if (!("").equals(regionname)){
+ query.setParameter("regionname", "%"+regionname+"%");
+ }
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 = list.size();
+ int totalCount = getNcDeviceCount(devname, buildingname, regionname, devtype);
page.setTotalCount(totalCount);
return page;
}
+ private int getNcDeviceCount(String devname, String buildingname,String regionname, String devtype){
+ 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 devname like :devname ";
+ }
+ if(!buildingname.equals("")){
+ sql+="and buildingname like :buildingname ";
+ }
+ if (!regionname.equals("")){
+ sql += "and tr.regionid in "
+ +"("
+ + "with recursive tmp as "
+ + "("
+ + "select tbr.regionid,tbr.parentid,tbr.regionname from tb_region tbr where regionname like :regionname "
+ + "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 ";
+ }
+ Query query = entityManager.createNativeQuery(sql);
+ if(!devname.equals("")){
+ query.setParameter("devname", "%"+devname+"%");
+ }
+ if(!buildingname.equals("")){
+ query.setParameter("buildingname", "%"+buildingname+"%");
+ }
+ if(!devtype.equals("")){
+ query.setParameter("devtype", devtype);
+ }
+ if (!("").equals(regionname)){
+ query.setParameter("regionname", "%"+regionname+"%");
+ }
+ 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 List<TBuilding> getAllBuilding() {
@@ -67,6 +131,16 @@
return list;
}
+ @Transactional
+ @Override
+ public List<TRegion> getAllRegion() {
+ String sql = " select b FROM TRegion b WHERE b.flag=1 ";
+ TypedQuery<TRegion> query = entityManager.createQuery(sql, TRegion.class);
+ List<TRegion> list = query.getResultList();
+ return list;
+ }
+
+ @Transactional
@Override
public TBuilding getBuidingById(String id) {
String sql = "select b from TBuilding b where b.flag='A' and b.buildingid=:buildingid";
diff --git a/src/main/java/com/supwisdom/dlpay/ncmgr/dao/impl/NcTimeDaoImpl.java b/src/main/java/com/supwisdom/dlpay/ncmgr/dao/impl/NcTimeDaoImpl.java
index 7be59b3..23c7563 100644
--- a/src/main/java/com/supwisdom/dlpay/ncmgr/dao/impl/NcTimeDaoImpl.java
+++ b/src/main/java/com/supwisdom/dlpay/ncmgr/dao/impl/NcTimeDaoImpl.java
@@ -29,20 +29,40 @@
if (!timename.equals("")){
query.setParameter("timename", "%"+timename+"%");
}
- List<TNcTime> list = query.getResultList();
+
pageNo = pageNo <= 0 ? 1 : pageNo;
query.setFirstResult((pageNo - 1) * pageSize);
query.setMaxResults(pageSize);
Pagination page = new Pagination();
page.setPageNo(pageNo);
page.setPageSize(pageSize);
+ List<TNcTime> list = query.getResultList();
page.setList(list);
- int totalCount = list.size();
+ int totalCount = getNcTimeCount(timename);
page.setTotalCount(totalCount);
return page;
}
+ private int getNcTimeCount(String timename){
+ String sql = "select count(bean.timeid) from TNcTime bean where 1>0";
+ if (!timename.equals("")) {
+ sql+=" and bean.timename like :timename ";
+ }
+ Query query = entityManager.createQuery(sql);
+ if (!timename.equals("")){
+ query.setParameter("timename", "%"+timename+"%");
+ }
+ 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 List<String> getTimegrpIdById(int id) {
diff --git a/src/main/java/com/supwisdom/dlpay/ncmgr/dao/impl/NcTimeGrpDaoImpl.java b/src/main/java/com/supwisdom/dlpay/ncmgr/dao/impl/NcTimeGrpDaoImpl.java
index 3d9e931..c0b3e60 100644
--- a/src/main/java/com/supwisdom/dlpay/ncmgr/dao/impl/NcTimeGrpDaoImpl.java
+++ b/src/main/java/com/supwisdom/dlpay/ncmgr/dao/impl/NcTimeGrpDaoImpl.java
@@ -29,19 +29,36 @@
if (!timename.isEmpty()){
query.setParameter("timename", "%"+timename+"%");
}
- List<TNcTimegrp> list = query.getResultList();
pageNo = pageNo <= 0 ? 1 : pageNo;
query.setFirstResult((pageNo - 1) * pageSize);
query.setMaxResults(pageSize);
Pagination page = new Pagination();
page.setPageNo(pageNo);
page.setPageSize(pageSize);
+ List<TNcTimegrp> list = query.getResultList();
page.setList(list);
- int totalCount = list.size();
+ int totalCount = getNcTimeGrpCount(timename);
page.setTotalCount(totalCount);
return page;
}
+ private int getNcTimeGrpCount(String timename){
+ String sql = "select count(bean.timegrpid) from TNcTimegrp bean where 1>0 ";
+ if (!timename.isEmpty()){
+ sql+=" and bean.timegrpname like :timename ";
+ }
+ Query query = entityManager.createQuery(sql);
+ if (!timename.isEmpty()){
+ query.setParameter("timename", "%"+timename+"%");
+ }
+ 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 TNcTimegrp findByTimeGrpId(int id) {
diff --git a/src/main/java/com/supwisdom/dlpay/ncmgr/dao/impl/NcWeekTimeDaoImpl.java b/src/main/java/com/supwisdom/dlpay/ncmgr/dao/impl/NcWeekTimeDaoImpl.java
index ee9c8a8..9ab6d71 100644
--- a/src/main/java/com/supwisdom/dlpay/ncmgr/dao/impl/NcWeekTimeDaoImpl.java
+++ b/src/main/java/com/supwisdom/dlpay/ncmgr/dao/impl/NcWeekTimeDaoImpl.java
@@ -29,19 +29,37 @@
if (!StringUtil.isEmpty(time)){
query.setParameter("timename", "%"+time+"%");
}
- List<TNcWeektime> list = query.getResultList();
+
pageNo = pageNo <= 0 ? 1 : pageNo;
query.setFirstResult((pageNo - 1) * pageSize);
query.setMaxResults(pageSize);
Pagination page = new Pagination();
page.setPageNo(pageNo);
page.setPageSize(pageSize);
+ List<TNcWeektime> list = query.getResultList();
page.setList(list);
- int totalCount = list.size();
+ int totalCount = getNcWeekTimeCount(time);
page.setTotalCount(totalCount);
return page;
}
+ private int getNcWeekTimeCount(String time){
+ String sql = "select count(bean.weekid) from TNcWeektime bean where 1>0 and bean.adddelflag=1 ";
+ if (!StringUtil.isEmpty(time)){
+ sql +=" and bean.weekname like :timename ";
+ }
+ Query query = entityManager.createQuery(sql);
+ if (!StringUtil.isEmpty(time)){
+ query.setParameter("timename", "%"+time+"%");
+ }
+ 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 TNcWeektime findByWeekTimeId(int id) {
diff --git a/src/main/java/com/supwisdom/dlpay/ncmgr/domain/TBuilding.java b/src/main/java/com/supwisdom/dlpay/ncmgr/domain/TBuilding.java
index 41ee916..26c89bc 100644
--- a/src/main/java/com/supwisdom/dlpay/ncmgr/domain/TBuilding.java
+++ b/src/main/java/com/supwisdom/dlpay/ncmgr/domain/TBuilding.java
@@ -20,6 +20,7 @@
private String updtime;
private String flag;
private String buildingdesc;
+ private String regionid;
// Constructors
@@ -34,13 +35,14 @@
/** full constructor */
public TBuilding(String buildingid, String buildingname, String synctime,
- String updtime, String flag, String buildingdesc) {
+ String updtime, String flag, String buildingdesc,String regionid) {
this.buildingid = buildingid;
this.buildingname = buildingname;
this.synctime = synctime;
this.updtime = updtime;
this.flag = flag;
this.buildingdesc = buildingdesc;
+ this.regionid = regionid;
}
// Property accessors
@@ -99,4 +101,12 @@
this.buildingdesc = buildingdesc;
}
+ @Column(name="REGIONID",length = 32)
+ public String getRegionid() {
+ return regionid;
+ }
+
+ public void setRegionid(String regionid) {
+ this.regionid = regionid;
+ }
}
\ No newline at end of file
diff --git a/src/main/java/com/supwisdom/dlpay/ncmgr/domain/TRegion.java b/src/main/java/com/supwisdom/dlpay/ncmgr/domain/TRegion.java
new file mode 100644
index 0000000..66edb0f
--- /dev/null
+++ b/src/main/java/com/supwisdom/dlpay/ncmgr/domain/TRegion.java
@@ -0,0 +1,94 @@
+package com.supwisdom.dlpay.ncmgr.domain;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.Table;
+import java.io.Serializable;
+
+@Entity
+@Table(name = "TB_REGION")
+public class TRegion implements Serializable {
+
+ private String regionid;
+ private String address;
+ private Integer level;
+ private String parentid;
+ private String regionname;
+ private String remarks;
+ private String parentname;
+ private Integer flag;
+
+ @Id
+ @Column(name = "REGIONID", unique = true, nullable = false, length = 32)
+ public String getRegionid() {
+ return regionid;
+ }
+
+ public void setRegionid(String regionid) {
+ this.regionid = regionid;
+ }
+
+ @Column(name = "ADDRESS", length = 255)
+ public String getAddress() {
+ return address;
+ }
+
+ public void setAddress(String address) {
+ this.address = address;
+ }
+
+ @Column(name = "LEVEL", length = 32)
+ public Integer getLevel() {
+ return level;
+ }
+
+ public void setLevel(Integer level) {
+ this.level = level;
+ }
+
+ @Column(name = "PARENTID", length = 32)
+ public String getParentid() {
+ return parentid;
+ }
+
+ public void setParentid(String parentid) {
+ this.parentid = parentid;
+ }
+
+ @Column(name = "REGIONNAME", length = 200)
+ public String getRegionname() {
+ return regionname;
+ }
+
+ public void setRegionname(String regionname) {
+ this.regionname = regionname;
+ }
+
+ @Column(name = "REMARKS", length = 255)
+ public String getRemarks() {
+ return remarks;
+ }
+
+ public void setRemarks(String remarks) {
+ this.remarks = remarks;
+ }
+
+ @Column(name = "PARENTNAME", length = 200)
+ public String getParentname() {
+ return parentname;
+ }
+
+ public void setParentname(String parentname) {
+ this.parentname = parentname;
+ }
+
+ @Column(name = "FLAG", length = 32)
+ public Integer getFlag() {
+ return flag;
+ }
+
+ public void setFlag(Integer flag) {
+ this.flag = flag;
+ }
+}
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 12b48f6..378138d 100644
--- a/src/main/java/com/supwisdom/dlpay/ncmgr/service/NcService.java
+++ b/src/main/java/com/supwisdom/dlpay/ncmgr/service/NcService.java
@@ -8,11 +8,14 @@
public interface NcService {
//根据查询条件分页获取所有设备
- public Pagination getNcDeviceWithPage(String devname, int pageNo, int pageSize, Map map, String buildingid, String devtype);
+ public Pagination getNcDeviceWithPage(String devname, int pageNo, int pageSize, Map map, String buildingname,String regionname, String devtype);
//获取所有楼栋信息
public List<TBuilding> getAllBuilding();
+ //获取所有区域信息
+ public List<TRegion> getAllRegion();
+
//根据楼栋id获取楼栋信息
public TBuilding getBuidingById(String id);
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 bf5eb5b..9aea87b 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
@@ -27,8 +27,8 @@
@Override
- public Pagination getNcDeviceWithPage(String devname, int pageNo, int pageSize, Map map, String buildingid, String devtype) {
- Pagination page = ncDeviceDao.getNcDeviceWithPage(devname, pageNo, pageSize, buildingid, devtype);
+ public Pagination getNcDeviceWithPage(String devname, int pageNo, int pageSize, Map map, String buildingname,String regionname, String devtype) {
+ Pagination page = ncDeviceDao.getNcDeviceWithPage(devname, pageNo, pageSize, buildingname,regionname, devtype);
map.put("devPage", page);
return page;
}
@@ -39,6 +39,11 @@
}
@Override
+ public List<TRegion> getAllRegion() {
+ return ncDeviceDao.getAllRegion();
+ }
+
+ @Override
public TBuilding getBuidingById(String id) {
return ncDeviceDao.getBuidingById(id);
}
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 413fd5b..f152630 100644
--- a/src/main/java/com/supwisdom/dlpay/query/controller/QueryController.java
+++ b/src/main/java/com/supwisdom/dlpay/query/controller/QueryController.java
@@ -1,7 +1,201 @@
package com.supwisdom.dlpay.query.controller;
+import cn.afterturn.easypoi.entity.vo.NormalExcelConstants;
+import cn.afterturn.easypoi.excel.entity.ExportParams;
+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.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.domain.TRegion;
+import com.supwisdom.dlpay.ncmgr.service.NcService;
+import com.supwisdom.dlpay.system.domain.TDictionaryId;
+import com.supwisdom.dlpay.system.page.Pagination;
+import com.supwisdom.dlpay.system.service.SystemService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.core.annotation.AuthenticationPrincipal;
import org.springframework.stereotype.Controller;
+import org.springframework.ui.ModelMap;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
-@Controller("/query")
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.UnsupportedEncodingException;
+import java.text.SimpleDateFormat;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@Controller
+@RequestMapping("/query")
public class QueryController {
+
+ @Autowired
+ WebInterfaceService webInterfaceService;
+
+ @Autowired
+ SystemService systemService;
+
+ @Autowired
+ NcService ncService;
+
+ @RequestMapping("/tdoorstream")
+ public String tdoorstream(ModelMap model){
+ return "query/tdoorstream";
+ }
+
+ /**
+ * 填充流水查询列表
+ * @return
+ * @throws Exception
+ */
+ @ResponseBody
+ @RequestMapping(value = "/getSearchFactoryIdList")
+ public Map getSearchFactoryIdList() 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);
+ return map;
+ }
+
+
+ /**
+ * 获取需Excel导出流水数据
+ * @param request
+ * @param response
+ * @param startTranDate
+ * @param endTranDate
+ * @param startTranTime
+ * @param endTranTime
+ * @param stuempno
+ * @param custname
+ * @param buildingname
+ * @param regionname
+ * @param doorName
+ * @param factoryId
+ * @param streamstatus
+ */
+ @ResponseBody
+ @RequestMapping(value = "/exportexcel")
+ public void exportexcel(HttpServletRequest request, HttpServletResponse response,
+ @RequestParam(value = "startTranDate", required = false, defaultValue = "") String startTranDate,
+ @RequestParam(value = "endTranDate", required = false, defaultValue = "") String endTranDate,
+ @RequestParam(value = "startTranTime", required = false, defaultValue = "000000") String startTranTime,
+ @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 = "doorName", required = false, defaultValue = "") String doorName,
+ @RequestParam(value = "factoryId", required = false, defaultValue = "all") String factoryId,
+ @RequestParam(value = "streamstatus", required = false, defaultValue = "all") String streamstatus) {
+ Map map = new HashMap();
+ try {
+ if (startTranDate.equals("Invalid date")) {
+ startTranDate = "";
+ endTranDate = "";
+ startTranTime = "";
+ endTranTime = "";
+ }
+ /**
+ * 1. 查询数据
+ */
+ // final int max_field = 9;
+ // 保存表字段
+ List<TDoordtlInfo> tDoordtlInfos = webInterfaceService.findExportExcelDoordtl(startTranDate, endTranDate, startTranTime,
+ endTranTime, stuempno, custname, buildingname,regionname, doorName, factoryId, streamstatus);
+ /**
+ * 2.设置表格属性: title:标题 sheetName:工作簿名 type:表格类型
+ */
+ ExportParams params = new ExportParams("设备流水列表", "设备流水", ExcelType.XSSF);
+// params.setFreezeCol(2);
+ map.put(NormalExcelConstants.DATA_LIST, tDoordtlInfos);//设置值
+ map.put(NormalExcelConstants.PARAMS, params);//设置属性
+ map.put(NormalExcelConstants.CLASS, TDoordtlInfo.class);
+ map.put(NormalExcelConstants.FILE_NAME, "设备流水名单");
+ PoiBaseView.render(map, request, response, NormalExcelConstants.EASYPOI_EXCEL_VIEW);
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ map.put("result", "导出excel文件失败");
+ }
+ }
+
+ /**
+ * 获取流水信息
+ * @param map
+ * @param request
+ * @param startTranDate
+ * @param endTranDate
+ * @param startTranTime
+ * @param endTranTime
+ * @param stuempno
+ * @param custname
+ * @param buildingname
+ * @param doorName
+ * @param factoryId
+ * @param streamstatus
+ * @param pageNo
+ * @param pageSize
+ * @param regionname
+ * @param operUser
+ * @return
+ * @throws UnsupportedEncodingException
+ */
+ @ResponseBody
+ @RequestMapping(value = "/getSearchDoorStreamList")
+ public Map getSearchDoorStreamList( HttpServletRequest request,
+ @RequestParam(value = "startTranDate", required = false, defaultValue = "") String startTranDate,
+ @RequestParam(value = "endTranDate", required = false, defaultValue = "") String endTranDate,
+ @RequestParam(value = "startTranTime", required = false, defaultValue = "000000") String startTranTime,
+ @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 = "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,
+ @AuthenticationPrincipal TOperator operUser)
+ throws UnsupportedEncodingException {
+ Map map = new HashMap();
+ SimpleDateFormat ymd = new SimpleDateFormat("yyyyMMdd");
+ boolean index = true;
+ if (factoryId.equals("") || factoryId == null) {
+ factoryId = "all";
+ }
+ try {
+ if (startTranDate.equals("Invalid date")) {
+ startTranDate = "";
+ endTranDate = "";
+ startTranTime = "";
+ endTranTime = "";
+ }
+ Pagination tDoordtlInfo = new Pagination();
+ if (operUser.getOpertype().equals("S")){
+ 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);
+ }
+ map.put("tDoordtlInfo", tDoordtlInfo);
+ map.put("index", index);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return map;
+ }
+
+
}
diff --git a/src/main/java/com/supwisdom/dlpay/system/controller/RoleController.java b/src/main/java/com/supwisdom/dlpay/system/controller/RoleController.java
index 12b7613..3efac1b 100644
--- a/src/main/java/com/supwisdom/dlpay/system/controller/RoleController.java
+++ b/src/main/java/com/supwisdom/dlpay/system/controller/RoleController.java
@@ -29,14 +29,6 @@
return "system/role/index";
}
- @RequestMapping("/query/tdoorstream")
- public String tdoorstream(ModelMap model){
- return "query/tdoorstream";
- }
-
-
-
-
@GetMapping("/role/list")
//@PreAuthorize("hasPermission('/role/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 b42f074..a12b97d 100644
--- a/src/main/java/com/supwisdom/dlpay/system/controller/SystemController.java
+++ b/src/main/java/com/supwisdom/dlpay/system/controller/SystemController.java
@@ -36,6 +36,16 @@
return "system/queue";
}
+ @RequestMapping("/regionindex")
+ public String regionindex(){
+ return "system/region";
+ }
+
+ @RequestMapping("/buildingindex")
+ public String buildingindex(){
+ return "system/building";
+ }
+
/**
* 获取字典列表
* @param dicttype
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 de3ec24..5887a6a 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
@@ -43,19 +43,43 @@
if(!dictcaption.equals("")){
query.setParameter("dictcaption", "%"+dictcaption+"%");
}
- List<TDictionary> list = query.getResultList();
+
pageNo = pageNo <= 0 ? 1 : pageNo;
query.setFirstResult((pageNo - 1) * pageSize);
query.setMaxResults(pageSize);
Pagination page = new Pagination();
page.setPageNo(pageNo);
page.setPageSize(pageSize);
+ List<TDictionary> list = query.getResultList();
page.setList(list);
- int totalCount = list.size();
+ int totalCount = findDictionaryCount(dicttype, dictcaption);
page.setTotalCount(totalCount);
return page;
}
+ private int findDictionaryCount(String dicttype, String dictcaption){
+ String sql = "select count(*) from t_dictionary where 1>0 ";
+ if(!dicttype.equals("all")){
+ sql+="and t.dicttype=:dicttype ";
+ }
+ if(!dictcaption.equals("")){
+ sql+="and t.dictcaption like :dictcaption ";
+ }
+ Query query = entityManager.createNativeQuery(sql);
+ if(!dicttype.equals("all")){
+ query.setParameter("dicttype", Integer.parseInt(dicttype));
+ }
+ if(!dictcaption.equals("")){
+ query.setParameter("dictcaption", "%"+dictcaption+"%");
+ }
+ 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 List<DictionaryType> findDictionaryType() {
diff --git a/src/main/resources/templates/doorlist/searchDoorlist.html b/src/main/resources/templates/doorlist/searchDoorlist.html
index 15c1d41..b874920 100644
--- a/src/main/resources/templates/doorlist/searchDoorlist.html
+++ b/src/main/resources/templates/doorlist/searchDoorlist.html
@@ -25,13 +25,13 @@
</el-col>
<el-col :span="8">
- <el-form-item label="厂商">
- <el-select v-model="searchDoorForm.factoryId" placeholder="请选择">
+ <el-form-item label="名单状态">
+ <el-select v-model="searchDoorForm.syncStatus" placeholder="请选择">
<el-option
- v-for="fid in factoryIds"
- :key="fid.value"
- :label="fid.label"
- :value="fid.value">
+ v-for="status in syncStatus"
+ :key="status.value"
+ :label="status.label"
+ :value="status.value">
</el-option>
</el-select>
</el-form-item>
@@ -74,28 +74,20 @@
</el-select>
</el-form-item>
</el-col>
- <el-col :span="8">
- <el-form-item label="名单状态">
- <el-select v-model="searchDoorForm.syncStatus" placeholder="请选择">
- <el-option
- v-for="status in syncStatus"
- :key="status.value"
- :label="status.label"
- :value="status.value">
- </el-option>
- </el-select>
- </el-form-item>
- </el-col>
+
<el-col :span="8">
<el-form-item label="楼栋">
- <el-select v-model="searchDoorForm.building" placeholder="请选择">
- <el-option
- v-for="building in buildings"
- :key="building.value"
- :label="building.label"
- :value="building.value">
- </el-option>
- </el-select>
+ <el-input v-model="searchDoorForm.buildingname" placeholder="楼栋名称">
+ <i class="el-icon-edit el-input__icon" slot="icon" ></i>
+ </el-input>
+ </el-form-item>
+ </el-col>
+
+ <el-col :span="8">
+ <el-form-item label="区域">
+ <el-input v-model="searchDoorForm.regionname" placeholder="区域名称">
+ <i class="el-icon-edit el-input__icon" slot="icon" ></i>
+ </el-input>
</el-form-item>
</el-col>
</el-row>
@@ -260,12 +252,12 @@
stuempNo: '',
syncStatus: '',
operFlag: '',
- building: '',
+ buildingname: '',
+ regionname:''
},
factoryIds: [],
syncStatus: [],
operFlag: [],
- buildings: [],
selectList:[],
dialogFormVisible: false,
dlgAllotDevVisible: false,
@@ -370,7 +362,7 @@
label: operDict[i]["dictcaption"]
})
}
- var buildings = [];
+ /*var buildings = [];
var building = data.buildings;
buildings.push({
value: "",
@@ -381,15 +373,15 @@
value: building[i]["buildingid"],
label: building[i]["buildingname"]
})
- }
+ }*/
vue.factoryIds = factoryList;
vue.syncStatus = syncDicts;
vue.operFlag = operDicts;
- vue.buildings = buildings;
+ //vue.buildings = buildings;
vue.searchDoorForm.factoryId = 'all';
vue.searchDoorForm.syncStatus = 'all';
vue.searchDoorForm.operFlag = 'all';
- vue.searchDoorForm.building = '';
+ //vue.searchDoorForm.building = '';
}
})
this.searchDoorForm.allocatStartDate ='';
@@ -436,7 +428,7 @@
+ "&stuempNo=" + searchDoor.stuempNo + "&factoryId=" + searchDoor.factoryId
+ "&syncStatus=" + searchDoor.syncStatus +
"&pageNo=" + pageno + "&pageSize=" + pagesize + "&operFlag=" + searchDoor.operFlag
- + "&building=" + searchDoor.building;
+ + "&buildingname=" + searchDoor.buildingname+"®ionname=" +searchDoor.regionname;
var token=$("meta[name='_csrf_token']").attr("value");
$.ajax({
type: "POST",
@@ -480,7 +472,7 @@
"&doorName=" + searchDoor.doorName + "&custName=" + searchDoor.custName
+ "&stuempNo=" + searchDoor.stuempNo + "&factoryId=" + searchDoor.factoryId
+ "&syncStatus=" + searchDoor.syncStatus + "&operFlag=" + searchDoor.operFlag
- + "&building=" + searchDoor.building;
+ + "&buildingname=" + searchDoor.buildingname+"®ionname="+searchDoor.regionname;
// window.location.href
var uri = encodeURI(url);
window.open(uri);
diff --git a/src/main/resources/templates/ncmgr/nc_dev.html b/src/main/resources/templates/ncmgr/nc_dev.html
index f4983e2..b94c176 100644
--- a/src/main/resources/templates/ncmgr/nc_dev.html
+++ b/src/main/resources/templates/ncmgr/nc_dev.html
@@ -41,22 +41,26 @@
</div>
<div class="col-md-3" >
<div class="form-group">
- <label class="control-label col-md-6 col-sm-12 col-xs-12" style="font-size: 14px;">设备所在楼栋:</span>
+ <label class="control-label col-md-4 col-sm-12 col-xs-12" style="font-size: 14px;">所在区域:</span>
</label>
- <div class="col-md-6 col-sm-12 col-xs-12">
- <el-select v-model="devform.buildingname" style="width: 140px" filterable placeholder="请选择">
- <el-option
- v-for="building in buildings"
- :key="building.value"
- :label="building.label"
- :value="building.value">
- </el-option>
- </el-select>
+ <div class="col-md-8 col-sm-12 col-xs-12">
+ <el-input v-model="devform.regionname" id="regionname"></el-input>
</div>
</div>
</div>
- <div class="col-md-3" style="padding-left: 50px">
+ <div class="col-md-3" >
+ <div class="form-group">
+ <label class="control-label col-md-4 col-sm-12 col-xs-12" style="font-size: 14px;">所在楼栋:</span>
+ </label>
+ <div class="col-md-8 col-sm-12 col-xs-12">
+ <el-input v-model="devform.buildingname" id="buildingname"></el-input>
+ </div>
+ </div>
+ </div>
+
+
+ <div class="col-md-12" style="padding-left: 905px">
<div class="form-group">
<button type="button" class="btn btn-info" @click="query" id="qrybtn">查 询</button>
<button class="btn btn-primary" type="button" @click="addDev">添加设备</button>
@@ -108,6 +112,11 @@
width="140">
</el-table-column>
<el-table-column
+ prop="regionname"
+ label="设备所属区域"
+ width="140">
+ </el-table-column>
+ <el-table-column
prop="ip"
label="IP"
width="150">
@@ -308,7 +317,8 @@
devform: {
devname: '',
buildingname: '',
- devtype: ''
+ devtype: '',
+ regionname:''
},
checkvisible: true,
continueadd: true,
@@ -497,7 +507,7 @@
var rows = [];
rows.push({
value: '',
- label: "全部"
+ label: ""
});
for (var i = 0; i < ut.length; i++) {
rows.push({
@@ -540,7 +550,7 @@
$.ajax({
type: "get",
dataType: "json",
- url: encodeURI("/ncmgr/loadDevList?devname=" + rolename.devname + "&pageNo=" + pageno + "&pageSize=" + pagesize + "&buildingid=" + rolename.buildingname + "&devtype=" + rolename.devtype),
+ url: encodeURI("/ncmgr/loadDevList?devname=" + rolename.devname + "&pageNo=" + pageno + "&pageSize=" + pagesize + "&buildingname=" + rolename.buildingname + "&devtype=" + rolename.devtype+"®ionname="+rolename.regionname),
success: function (ret) {
_self.totSize = ret.PageResult.totalCount;
_self.tableData = ret.PageResult.list;
diff --git a/src/main/resources/templates/query/tdoorstream.html b/src/main/resources/templates/query/tdoorstream.html
index 583ac64..81d4f23 100644
--- a/src/main/resources/templates/query/tdoorstream.html
+++ b/src/main/resources/templates/query/tdoorstream.html
@@ -43,22 +43,17 @@
</el-col>
<el-col :span="8">
<label class="control-label "
- style="margin-right:10px;font-size: 14px;width:80px">楼栋:</span>
+ style="margin-right:10px;font-size: 14px;width:80px">楼栋:
</label>
- <el-select style="width:193px"
- v-model="tdoorstream.building" placeholder="请选择" >
- <el-option v-for="item in buildings"
- :key="item.value" :label="item.label" :value="item.value">
- </el-option>
- </el-select>
+ <el-input v-model="tdoorstream.buildingname" style="width:193px"></el-input>
</el-col>
<el-col :span="8">
<label class="control-label "
- style="margin-right:10px;font-size: 14px;width:80px">设备名称:
+ style="margin-right:10px;font-size: 14px;width:80px">区域:
</label>
- <el-input v-model="tdoorstream.doorname" style="width:193px"></el-input>
+ <el-input v-model="tdoorstream.regionname" style="width:193px"></el-input>
</el-col>
</el-row>
<el-row style="margin-top:10px">
@@ -76,13 +71,9 @@
<el-col :span="8">
<label class="control-label "
- style="margin-right:10px;font-size: 14px;width:80px">区域:</span>
+ style="margin-right:10px;font-size: 14px;width:80px">设备名称:
</label>
- <el-select style="width:193px" v-model="tdoorstream.region" placeholder="请选择" >
- <el-option v-for="item in regions"
- :key="item.value" :label="item.label" :value="item.value">
- </el-option>
- </el-select>
+ <el-input v-model="tdoorstream.doorname" style="width:193px"></el-input>
</el-col>
<el-col :span="8" >
@@ -179,11 +170,10 @@
stuempno:'',
custname:'',
factoryid:'',
- deptfullname:'',
doorname:'',
- building:'',
+ buildingname:'',
dtlStatus:'all',
- region:''
+ regionname:''
},
},
methods : {
@@ -262,36 +252,6 @@
}
_self.dtlstatus = dtllist;
- var ut=ret.buildings;
- var rows = [];
- rows.push({
- value:'',
- label:"全部"
- });
- for ( var i = 0; i < ut.length; i++) {
- rows.push({
- value:ut[i].buildingid,
- label:ut[i].buildingname
- });
- }
- vue.usetypes=rows;
- vue.tdoorstream.usetype='';
-
- var rg=ret.regions;
- var rgion = [];
- rgion.push({
- value:'',
- label:"全部"
- });
- for (var j = 0; j < rg.length; j++){
- rgion.push({
- value:rg[j].regionid,
- label:rg[j].regionname
- });
- }
- vue.regions=rgion;
- vue.tdoorstream.region='';
-
_self.loading=false;
}
})
@@ -307,7 +267,8 @@
var endtransdate = Formatdate(Uendtransdate);
var stuempno = _self.tdoorstream.stuempno;
var custname = _self.tdoorstream.custname;
- var deptname = _self.tdoorstream.deptfullname;
+ var buildingname = _self.tdoorstream.buildingname;
+ var regionname = _self.tdoorstream.regionname;
var doorname = _self.tdoorstream.doorname;
var dtlStatus = _self.tdoorstream.dtlStatus;
if(_self.totSize>2000){
@@ -316,7 +277,7 @@
}
//console.log(factoryid+stuempno);
var url =encodeURI( "/query/exportexcel?&startTranDate="+starttransdate+"&endTranDate="
- +endtransdate+"&stuempno="+stuempno+"&custname="+custname+"&deptname="+deptname+"&doorName="+doorname
+ +endtransdate+"&stuempno="+stuempno+"&custname="+custname+"&buildingname="+buildingname+"®ionname="+regionname+"&doorName="+doorname
+"&streamstatus="+dtlStatus+"&factoryId="+factoryid)
window.open(url);
@@ -328,17 +289,17 @@
var endtransdate = Formatdate(Uendtransdate);
var stuempno = _self.tdoorstream.stuempno;
var custname = _self.tdoorstream.custname;
- var deptname = _self.tdoorstream.deptfullname;
+ var buildingname = _self.tdoorstream.buildingname;
var doorname = _self.tdoorstream.doorname;
- var usetype = _self.tdoorstream.usetype;
+ var regionname = _self.tdoorstream.region;
var dtlStatus = _self.tdoorstream.dtlStatus;
//console.log(factoryid);
$.ajax({
type : "get",
dataType : "json",
url : encodeURI("/query/getSearchDoorStreamList?&startTranDate="+starttransdate+"&endTranDate="+endtransdate+
- "&stuempno="+stuempno+"&custname="+custname+"&deptname="+deptname+"&doorName="+doorname+"&streamstatus="+dtlStatus+
- "&factoryId="+factoryid +"&pageNo="+pageno+"&pageSize="+pagesize+"&usetype="+usetype),
+ "&stuempno="+stuempno+"&custname="+custname+"&buildingname="+buildingname+"&doorName="+doorname+"&streamstatus="+dtlStatus+
+ "&factoryId="+factoryid +"&pageNo="+pageno+"&pageSize="+pagesize+"®ionname="+regionname),
success : function(ret) {
// console.log(ret);
_self.totSize = ret.tDoordtlInfo.totalCount;