添加事务以及部分索引注解
diff --git a/src/main/java/com/supwisdom/dlpay/doorlist/service/DoorlistMgrService.java b/src/main/java/com/supwisdom/dlpay/doorlist/service/DoorlistMgrService.java
index e2cad0e..fd7af24 100644
--- a/src/main/java/com/supwisdom/dlpay/doorlist/service/DoorlistMgrService.java
+++ b/src/main/java/com/supwisdom/dlpay/doorlist/service/DoorlistMgrService.java
@@ -3,34 +3,44 @@
 import com.supwisdom.dlpay.ncmgr.domain.TNcAllottime;

 import com.supwisdom.dlpay.ncmgr.domain.TNcCardlist;

 import com.supwisdom.dlpay.system.page.Pagination;

+import org.springframework.transaction.annotation.Propagation;

+import org.springframework.transaction.annotation.Transactional;

 

 import java.util.List;

 

 public interface DoorlistMgrService {

     //根据设备编号和物理卡号和时间周id获取名单

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public TNcCardlist getNcCardlist(int deviceid,String cardphyid,String timeid);

 

     //批量保存设备名单

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public boolean batchSaveCardList(List<TNcCardlist> tNcCardlists);

 

     //批量保存名单分配设备和时间

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public boolean batchSaveAllotTime(List<TNcAllottime> tNcAllottimes);

 

     //根据查询条件分页获取系统管理员权限下所有名单

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public Pagination getSystemCardList(String devname, String custname, String cardno, String syncstatus, String regionid, String allocatStartDate,String allocatEndDate,

                                          String operflag, int pageNo, int pageSize);

 

     //根据查询条件分页获取区域管理员权限下所有名单

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public Pagination getOperatorCardList(String devname, String custname, String cardno, String syncstatus, String regionid, String allocatStartDate,String allocatEndDate,

                                           String operflag, int pageNo, int pageSize,String operRegionid);

 

     //根据查询条件分页获取楼栋管理员权限下所有名单

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public Pagination getBuildingOperCardList(String devname, String custname, String cardno, String syncstatus, String allocatStartDate,String allocatEndDate,

                                               String operflag, int pageNo, int pageSize,String operid);

 

     //根据id查询下发设备名单

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public TNcCardlist getNcCardlistById(String id);

 

     //修改设备人员名单

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public boolean updateNcCardlist(TNcCardlist bean);

 }

diff --git a/src/main/java/com/supwisdom/dlpay/doorlist/service/impl/DoorlistMgrServiceImpl.java b/src/main/java/com/supwisdom/dlpay/doorlist/service/impl/DoorlistMgrServiceImpl.java
index 5ce1f9f..207f817 100644
--- a/src/main/java/com/supwisdom/dlpay/doorlist/service/impl/DoorlistMgrServiceImpl.java
+++ b/src/main/java/com/supwisdom/dlpay/doorlist/service/impl/DoorlistMgrServiceImpl.java
@@ -8,6 +8,8 @@
 import com.supwisdom.dlpay.system.page.Pagination;

 import org.springframework.beans.factory.annotation.Autowired;

 import org.springframework.stereotype.Service;

+import org.springframework.transaction.annotation.Propagation;

+import org.springframework.transaction.annotation.Transactional;

 

 import java.util.List;

 

@@ -18,11 +20,13 @@
     @Autowired

     NcAllottimeDao ncAllottimeDao;

 

+

     @Override

     public TNcCardlist getNcCardlist(int deviceid, String cardphyid, String timeid) {

         return ncCardListDao.getNcCardlist(deviceid, cardphyid, timeid);

     }

 

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     @Override

     public boolean batchSaveCardList(List<TNcCardlist> tNcCardlists) {

         boolean flag = true;

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 e99f2cc..eeb91fc 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
@@ -627,7 +627,7 @@
         return 0;

     }

 

-    @Transactional(readOnly = true)

+    @Transactional

     @Override

     public List<TDoorcardlstInfo> getSystemCardListMap( String allocatStartDate, String allocatEndDate, String devname, String custname, String cardno, String syncflag, String operflag, String buildingid,String regionid) {

         try {

diff --git a/src/main/java/com/supwisdom/dlpay/mainservice/domain/TCard.java b/src/main/java/com/supwisdom/dlpay/mainservice/domain/TCard.java
index 271a76e..4f28641 100644
--- a/src/main/java/com/supwisdom/dlpay/mainservice/domain/TCard.java
+++ b/src/main/java/com/supwisdom/dlpay/mainservice/domain/TCard.java
@@ -8,7 +8,8 @@
  * TCard entity. @author MyEclipse Persistence Tools
  */
 @Entity
-@Table(name = "T_CARD")
+@Table(name = "T_CARD",
+		indexes = {@Index(name = "idx_card_cardno",columnList = "cardno",unique = true)})
 public class TCard implements java.io.Serializable {
 
 	// Fields
diff --git a/src/main/java/com/supwisdom/dlpay/mainservice/domain/TDoordtl.java b/src/main/java/com/supwisdom/dlpay/mainservice/domain/TDoordtl.java
index f63ac1d..8e5c62e 100644
--- a/src/main/java/com/supwisdom/dlpay/mainservice/domain/TDoordtl.java
+++ b/src/main/java/com/supwisdom/dlpay/mainservice/domain/TDoordtl.java
@@ -6,7 +6,8 @@
  * TDoordtl entity. @author MyEclipse Persistence Tools
  */
 @Entity
-@Table(name = "T_DOORDTL")
+@Table(name = "T_DOORDTL",
+		indexes = {@Index(name = "idx_dtl_date", columnList = "transdate")})
 public class TDoordtl implements java.io.Serializable {
 
 	// Fields
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 4840416..0e75b4c 100644
--- a/src/main/java/com/supwisdom/dlpay/mainservice/service/WebInterfaceService.java
+++ b/src/main/java/com/supwisdom/dlpay/mainservice/service/WebInterfaceService.java
@@ -7,70 +7,86 @@
 import com.supwisdom.dlpay.mainservice.domain.TCustomer;

 import com.supwisdom.dlpay.mainservice.domain.TKey;

 import com.supwisdom.dlpay.system.page.Pagination;

+import org.springframework.transaction.annotation.Propagation;

+import org.springframework.transaction.annotation.Transactional;

 

 import java.util.List;

 

 public interface WebInterfaceService {

 

     //获取所有厂商

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public List<TKey> getAllKeys() throws Exception;

 

 

     /*cardlist*********************/

 

     //根据查询条件分页获取所有设备内名单信息

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public Pagination getSystemCardListFrSearch(String allocatStartDate, String allocatEndDate,

                                              String devname, String custname, String cardno, String syncflag,String operflag, String buildingid,String regionid, int pageNo, int pageSize);

 

     //根据查询条件分页获取管理员权限的设备内名单信息

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public Pagination getOperatorCardListFrSearch(String allocatStartDate, String allocatEndDate,

                                                   String devname, String custname, String cardno, String syncflag,String operflag, String buildingid,String regionid, int pageNo, int pageSize,String operRegionid);

 

     //根据查询条件分页获取楼栋管理员权限下的设备内名单信息

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public Pagination getBuildingOperCardListFrSearch(String allocatStartDate, String allocatEndDate,

                                                       String devname, String custname, String cardno, String syncflag,String operflag, String buildingid,String operid, int pageNo, int pageSize);

 

 

     //根据查询条件获取系统管理员所有导出表单信息

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class},readOnly = true)

     public List<TDoorcardlstInfo> getSystemCardListMap( String allocatStartDate, String allocatEndDate,

                                                     String devname, String custname, String cardno, String syncflag, String operflag, String buildingid,String regionid);

 

     //根据查询条件获取区域管理员所有导出表单信息

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class},readOnly = true)

     public List<TDoorcardlstInfo> getOperatorCardListMap( String allocatStartDate, String allocatEndDate,

                                                        String devname, String custname, String cardno, String syncflag, String operflag, String buildingid,String regionid,String operRegionid);

 

     //根据查询条件获取楼栋管理员所有导出表单信息

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class},readOnly = true)

     public List<TDoorcardlstInfo> getBuildingOperCardListMap( String allocatStartDate, String allocatEndDate,

                                                           String devname, String custname, String cardno, String syncflag, String operflag, String buildingid,String operid);

 

     //根据名单编号将已同步的名单修改为未同步使其重新同步

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public void updateDoorcardlstToNoWithIds (List<Long> listIds);

 

 

     /*doordtl******************/

 

     //根据查询条件获取所有导出Excel数据

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public List<TDoordtlInfo> findSystemExportExcelDoordtl(String startTranDate, String endTranDate, String startTranTime, String endTranTime, String cardno,

                                                      String custname, String buildingid, String regionid, String devname, String streamstatus);

 

     //根据查询条件获取管理员权限的Excel数据

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public List<TDoordtlInfo> findOperatorExportExcelDoordtl(String startTranDate, String endTranDate, String startTranTime, String endTranTime, String cardno,

                                                              String custname, String buildingid, String regionid, String devname, String streamstatus,String operRegionid);

 

     //根据查询条件获取楼栋管理员权限的Excel数据

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public List<TDoordtlInfo> findBuildingOperExportExcelDoorDtl(String startTranDate, String endTranDate, String startTranTime, String endTranTime, String cardno,

                                                                      String custname, String buildingid,String devname, String streamstatus,String operid);

 

     //根据查询条件获取系统管理员流水数据

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public Pagination findSystemTDoordtl(String startTranDate, String endTranDate, String startTranTime, String endTranTime, String cardno,

                                          String custname, String buildingid, String devname, String streamstatus, int pageNo, int pageSize,String regionid);

 

     //根据查询条件获取区域管理员权限相应流水数据

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public Pagination findOperatorTDoordtl(

             String startTranDate, String endTranDate, String startTranTime, String endTranTime, String cardno,

             String custname, String buildingid, String devname, String streamstatus, int pageNo, int pageSize,String regionid,String operRegionid);

 

     //根据查询条件获取楼栋管理员权限相应流水数据

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public Pagination findBuildingOperTDoordtl(

             String startTranDate, String endTranDate, String startTranTime, String endTranTime, String cardno,

             String custname, String buildingid, String devname, String streamstatus, int pageNo, int pageSize,String operid);

@@ -79,20 +95,25 @@
     /*customer*********************/

 

     //根据卡号和银行卡号查询是否存在customer

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public TCustomer findCustomerByNo(String cardno,String bankcardno);

 

     //保存客户

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public boolean saveCustomer(TCustomer bean);

 

     //根据查询条件获取所有要下发的客户

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public List<TCustomerInfo> getAllTCustomerList(String perName, String cardno, String bankcardno);

 

 

     /*card************************/

 

     //根据客户id获取其卡信息

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public TCard findCardByCustid(String custid);

 

     //保存卡信息

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public boolean saveCard(TCard bean);

 }

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 2552c41..c9391ae 100644
--- a/src/main/java/com/supwisdom/dlpay/ncmgr/domain/TBuilding.java
+++ b/src/main/java/com/supwisdom/dlpay/ncmgr/domain/TBuilding.java
@@ -1,15 +1,13 @@
 package com.supwisdom.dlpay.ncmgr.domain;
 
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.Id;
-import javax.persistence.Table;
+import javax.persistence.*;
 
 /**
  * TBuilding entity. @author MyEclipse Persistence Tools
  */
 @Entity
-@Table(name = "T_BUILDING")
+@Table(name = "T_BUILDING",
+	indexes = {@Index(name = "idx_building_id",columnList = "buildingid",unique = true)})
 public class TBuilding implements java.io.Serializable {
 
 	// Fields
diff --git a/src/main/java/com/supwisdom/dlpay/ncmgr/domain/TNcDevice.java b/src/main/java/com/supwisdom/dlpay/ncmgr/domain/TNcDevice.java
index 807d168..8ba75db 100644
--- a/src/main/java/com/supwisdom/dlpay/ncmgr/domain/TNcDevice.java
+++ b/src/main/java/com/supwisdom/dlpay/ncmgr/domain/TNcDevice.java
@@ -2,16 +2,16 @@
 
 import cn.afterturn.easypoi.excel.annotation.Excel;
 
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.Id;
-import javax.persistence.Table;
+import javax.persistence.*;
 
 /**
  * TNcDevice entity. @author MyEclipse Persistence Tools
  */
 @Entity
-@Table(name = "T_NC_DEVICE")
+@Table(name = "T_NC_DEVICE",
+		indexes = {@Index(name = "idx_nc_dev_phyid", columnList = "devphyid"),
+				@Index(name = "idx_nc_dev_devid",columnList = "deviceid",unique = true)}
+					)
 public class TNcDevice implements java.io.Serializable {
 
 	// Fields
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 f07ecdc..831c84f 100644
--- a/src/main/java/com/supwisdom/dlpay/ncmgr/service/NcService.java
+++ b/src/main/java/com/supwisdom/dlpay/ncmgr/service/NcService.java
@@ -4,206 +4,274 @@
 import com.supwisdom.dlpay.ncmgr.domain.*;

 import com.supwisdom.dlpay.system.domain.TRegion;

 import com.supwisdom.dlpay.system.page.Pagination;

+import org.springframework.transaction.annotation.Propagation;

+import org.springframework.transaction.annotation.Transactional;

 

 import java.util.List;

 import java.util.Map;

 

 public interface NcService {

     //根据查询条件分页获取所有设备

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public Pagination getSystemNcDeviceWithPage(String devname, int pageNo, int pageSize, Map map, String buildingid,String regionid, String devtype);

 

     //根据查询条件分页获取管理员设备---

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public Pagination getOperatorNcDeviceWithPage(String devname,int pageNo,int pageSize, String buildingid,String regionid,String devtype,String operRegionid);

 

     //根据查询条件分页获取楼栋管理员设备 ---regionid为空

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public Pagination getBuildingOperNcDeviceWithPage(String devname,int pageNo,int pageSize,String buildingid,String devtype,String operid);

 

     //获取所有楼栋信息

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public List<TBuilding> getAllBuilding();

 

     //获取所有区域信息

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public List<TRegion> getAllRegion();

 

     //根据楼栋id获取楼栋信息

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public TBuilding getBuidingById(String id);

 

     //根据设备类型获取所有设备

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public List<TNcDevice> getSystemDevByType(String type);

 

     //根据设备类型获取操作员权限设备

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public List<TNcDevice> getOperatorDevByType(String type,String regionid);

 

     //根据设备类型获取楼栋管理员权限设备

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public List<TNcDevice> getBuildingOperDevByType(String type,String operid);

 

     //根据设备id获取设备

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public TNcDevice findDevById(int id);

 

     //验证设备名称

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public TNcDevice validDevName(int devid,String devname);

 

     //验证设备物理编号

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public TNcDevice validDevPhyid(int devid,String devPhyid);

 

     //验证读头号

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public TNcDevice validDevNo(int fdevid,int devno,int devid);

 

     //修改设备

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public boolean updateDevice(TNcDevice bean);

 

     //获取设备最大主键

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public int getMaxId();

 

     //保存设备

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public boolean saveDevice(TNcDevice bean);

 

     //根据设备编号获取设备及父设备信息

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public TNcDevice getDevInfoByDevid(int devid);

 

     //根据控制器设备编号获取其读头设备列表

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public List<TNcDevice> getDevListByfDevid(int devid);

 

     //根据设备编号删除设备

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public void delDevById(int devid);

 

     //根据设备编号查询是否绑定时间周

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public boolean getDevWeekByDevid(int devid);

 

     //设备名单清空(获取清空所用名单)

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public TNcCardlist getCleanList(int devid);

 

     //保存同步名单信息

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public boolean saveCardlist(TNcCardlist bean);

 

     //设备名单重下(修改该设备已同步名单为未同步)

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public void updateForListReload(int devid);

 

     //根据楼栋id获取设备

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public TNcDevice getDevByBuildingid(String buildingid);

 

     //获取系统管理员权限下所有可以分配的设备

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public List<TDoordevInfo> getSystemDevList(String devname,String regionid,String buildingid);

 

     //获取区域管理员权限下所有可以分配的设备

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public List<TDoordevInfo> getOperatorDevList(String devname,String regionid,String buildingid,String operRegionid);

 

     //获取楼栋管理员权限下所有可以分配的设备

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public List<TDoordevInfo> getBuildingOperDevList(String devname,String regionid,String buildingid,String operid);

 

     //根据查询条件分页获取所有时间段信息

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public Pagination getNcTimeWithPage(String time,int pageNo, int pageSize,Map map);

 

     //根据时间段

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public List<String> getTimegrpIdById(int id);

 

     //根据时间段id删除时间段

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public boolean delTimeByTimeId(int id);

 

     //DevWeek数据所有版本号+1

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public boolean updListVersion();

 

     //根据时间段id获取时间段信息

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public TNcTime findByTimeId(int id);

 

     //根据时间段名称获取时间段信息

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public TNcTime findByTimeName(String name);

 

     //获取时间段最大主键

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public int getMaxTimeId();

 

     //保存时间段

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public boolean saveTime(TNcTime bean);

 

     //根据id和名称获取时间段信息

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public TNcTime findByIdAndName(int id, String name);

 

     //修改时间段

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public boolean updateTime(TNcTime bean);

 

     //根据查询条件分页获取时间组

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public Pagination getNcTimeGrpWithPage(String time,int pageNo, int pageSize,Map map);

 

     //获取所有时间段

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public List<TNcTime> findAllNcTime();

 

     //根据id获取时间组信息

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public TNcTimegrp findByTimeGrpId(int id);

 

     //根据时间组名称获取时间组信息

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public TNcTimegrp findByTimeGrpName(String name);

 

     //获取时间组最大id主键

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public int getMaxTimeGrpId();

 

     //保存时间组

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public boolean saveTimegrp(TNcTimegrp bean);

 

     //根据id和名称查询时间组是否存在

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public TNcTimegrp findByGrpIdAndName(int id,String name);

 

     //修改时间组

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public boolean updateTimegrp(TNcTimegrp bean);

 

     //根据时间组id查询此时间组是否被时间周使用

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public List<String> getWeekTimeById(int id);

 

     //根据id删除时间组

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public boolean delByGrpId(int id);

 

     //根据查询条件分页获取时间周

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public Pagination getNcWeekTimeWithPage(String time,int pageNo, int pageSize,Map map);

 

     //获取所有时间组

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public List<TNcTimegrp> findAllNcTimeGrp();

 

     //根据id获取时间周信息

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public TNcWeektime findByWeekTimeId(int id);

 

     //根据名称获取时间周信息

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public TNcWeektime findByWeekTimeName(String name);

 

     //获取最大时间周id 只支持3-15

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public int getMaxWeekId();

 

     //保存时间周

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public boolean saveWeektime(TNcWeektime bean);

 

     //根据id和名称查询时间周是否存在

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public TNcWeektime findByWeekIdAndName(int id,String name);

 

     //修改时间周

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public boolean updateWeektime(TNcWeektime bean);

 

     //根据时间周id查询设备绑定时间周情况

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public List getDevWeekByWeekid(int id);

 

     //根据id删除时间周

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public boolean delByWeekId(int id);

 

     //根据查询条件分页获取设备绑定时间周信息

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public Pagination getNcDevWeekWithPage(int weekid,String devname,int pageNo, int pageSize,Map map);

 

     //获取所有时间周

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public List<TNcWeektime> findAllNcWeekTime();

 

     //根据设备编号和时间周id删除对应设备时间周

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public void delDevWeekById(int devid,int weekid);

 

     //获取最大设备时间周版本

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public int findMaxDevWeekVersion();

 

     //根据时间周id删除设备绑定的时间周

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public void deleteDevWeekByWeekId(int weekId);

 

     //保存设备时间周

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public boolean saveDevWeek(TNcDevweek devweek);

 

     //根据id查询已选取此时间周的设备

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public List<TNcDevweek> findChosenDev(int weekId);

 

     //获取所有设备

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public List<TNcDevice> findAllNcDevices();

 

     //获取管理员权限下的设备

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public List<TNcDevice> findOperatorDevices(String operRegionid);

 }

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 4655310..87c8077 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
@@ -6,6 +6,7 @@
 import com.supwisdom.dlpay.system.domain.TDictionaryId;

 import com.supwisdom.dlpay.system.page.Pagination;

 import org.hibernate.transform.Transformers;

+import org.springframework.cache.annotation.CacheEvict;

 import org.springframework.cache.annotation.Cacheable;

 import org.springframework.data.jpa.repository.JpaRepository;

 import org.springframework.stereotype.Repository;

@@ -120,7 +121,6 @@
 

     @Transactional

     @Override

-    //@Cacheable(cacheNames = "dicationary_cache", key = "#p0")

     public List<TDictionaryId> findTDictionaryByType(int type) {

         String sql = "select bean.id from TDictionary bean where bean.id.dicttype=?1";

         Query query = entityManager.createQuery(sql,TDictionaryId.class);

diff --git a/src/main/java/com/supwisdom/dlpay/system/domain/TRegion.java b/src/main/java/com/supwisdom/dlpay/system/domain/TRegion.java
index 7513f94..449e79e 100644
--- a/src/main/java/com/supwisdom/dlpay/system/domain/TRegion.java
+++ b/src/main/java/com/supwisdom/dlpay/system/domain/TRegion.java
@@ -1,12 +1,10 @@
 package com.supwisdom.dlpay.system.domain;

 

-import javax.persistence.Column;

-import javax.persistence.Entity;

-import javax.persistence.Id;

-import javax.persistence.Table;

+import javax.persistence.*;

 

 @Entity

-@Table(name = "TB_REGION")

+@Table(name = "TB_REGION",

+    indexes = {@Index(name = "idx_region_id",columnList = "regionid",unique = true)})

 public class TRegion {

     private String regionid;

     private String address;

diff --git a/src/main/java/com/supwisdom/dlpay/system/service/SystemService.java b/src/main/java/com/supwisdom/dlpay/system/service/SystemService.java
index ff84e30..d486fbd 100644
--- a/src/main/java/com/supwisdom/dlpay/system/service/SystemService.java
+++ b/src/main/java/com/supwisdom/dlpay/system/service/SystemService.java
@@ -6,133 +6,176 @@
 import com.supwisdom.dlpay.system.bean.RegionZTreeNodes;

 import com.supwisdom.dlpay.system.domain.*;

 import com.supwisdom.dlpay.system.page.Pagination;

+import org.springframework.transaction.annotation.Propagation;

+import org.springframework.transaction.annotation.Transactional;

 

 import java.util.List;

 

 public interface SystemService {

 

     //根据查询条件分页查询字典

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public Pagination findDictionary(String dicttype, String dictcaption, Integer pageNo, Integer pageSize);

 

     //获取所有字典类型

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public List<DictionaryType> findDictionaryType();

 

     //保存字典值

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public boolean saveDictionary(String dicttype, String dicttypename, String dictval, String dictcaption);

 

     //根据类型获取字典值

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public List<TDictionaryId> findTDictionaryByType(int type);

 

     //根据管理员属性获取其能分配的管理员属性 sql中字典type固定为1

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public List<TDictionaryId> findOpertypes(String opertype);

 

     //根据类型和值获取字典值

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public List<TDictionaryId> findByType(int type, String dicVal);

 

     //修改字典值

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public TDictionary updateDictionary(String dicttype, String dicttypename, String dictval, String dictcaption, String oriengaltype, String oriengalval);

 

 

     //根据查询条件分页获取所有区域

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public Pagination getSystemRegionList(String regionname,int pageNo,int pageSize);

 

     //根据查询条件以及管理员区域分页获取区域

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public Pagination getOperatorRegionList(String regionname,String regionid,int pageNo,int pageSize);

 

     //根据区域id查询楼栋

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public List<TBuilding> getBuildingByRegionId(String regionid);

 

     //根据区域id查询楼栋管理员权限下楼栋

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public List<TBuilding> getBuildingOperBuildingByRegionId(String regionid,String operid);

 

     //根据id删除区域--修改状态flag为0

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public boolean deleteRegionById(String regionid);

 

     //根据id获取区域

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public TRegion getRegionById(String regionid);

 

     //根据id获取所有状态的区域---查重使用

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public TRegion getRegionAllFlagById(String regionid);

 

     //根据区域id获取其权限下所有区域

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public List<TRegion> getRegionListById(String regionid);

 

     //根据区域id获取其下级所有区域

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public List<TRegion> getLowRegionListById(String regionid);

 

     //根据区域级别获取其上一级级别的所有区域

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public List<TRegion> getRegionListByLevel(int level);

 

     //根据区域级别获取其权限下上一级级别的区域

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public List<TRegion> getOperRegionListByLevel(int level,String regionid);

 

     //获取所有区域

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public List<TRegion> getAllRegions();

 

     //根据名称获取区域

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public TRegion getRegionByName(String regionname);

 

     //保存区域

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public boolean saveRegion(TRegion bean);

 

     //根据id和名称获取非本id的相同名称区域

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public TRegion getRegionByNameAndId(String regionname,String regionid);

 

     //修改区域

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public boolean updateRegion(TRegion bean);

 

     //获取区域树形数据

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public List<RegionZTreeNodes> getAllRegionTreeList();

 

 

     //根据查询条件分页获取所有楼栋

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public Pagination getSystemBuildingList(String regionid,String buildingname,int pageNo,int pageSize);

 

     //根据查询条件分页获取区域管理员权限下所有楼栋

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public Pagination getOperatorBuildingList(String operRegionid,String regionid,String buildingname,int pageNo,int pageSize);

 

     //分页获取楼栋管理员权限内楼栋

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public Pagination getBuildingOperBuildingList(String regionid,String buildingname,String operid,int pageNo,int pageSize);

 

     //根据id获取楼栋信息

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public TBuilding getBuildingById(String buildingid);

 

     //根据名称获取楼栋信息

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public TBuilding getBuildingByName(String buildingname);

 

     //保存楼栋

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public boolean saveBuilding(TBuilding bean);

 

     //根据id和名称获取非本id的相同名称楼栋

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public TBuilding getBuildingByNameAndId(String buildingname,String buildingid);

 

     //修改楼栋

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public boolean updateBuilding(TBuilding bean);

 

     //根据id删除楼栋---修改flag为D

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public boolean delBuilding(String buildingid);

 

     //获取所有要分配的楼栋

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public List<AllotBuildingBean> findSystemAllotBuildingList();

 

     //获取操作员权限下要分配的楼栋

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public List<AllotBuildingBean> findOperatorAllotBuildingList(String operRegionid);

 

     //获取已经分配过的楼栋

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public List<AllotBuildingBean> findBuildingInOper(String operid);

 

     //根据操作员id删除所有分配的楼栋

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public boolean deleteOperBuildingByOperid(String operid);

 

     //保存操作员分配的楼栋

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public boolean saveOperBuilding(TOperbuilding bean);

 

     //获取所有楼栋信息

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public List<TBuilding> getAllBuildings();

 

     //获取区域管理员权限下的所有楼栋信息

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public List<TBuilding> getOperatorBuildings(String regionid);

 

     //获取楼栋管理员权限下的楼栋

+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     public List<TBuilding> getBuildingOperBuildings(String operid);

 }

diff --git a/src/main/java/com/supwisdom/dlpay/system/service/impl/SystemServiceImpl.java b/src/main/java/com/supwisdom/dlpay/system/service/impl/SystemServiceImpl.java
index 3cbe761..e6f818e 100644
--- a/src/main/java/com/supwisdom/dlpay/system/service/impl/SystemServiceImpl.java
+++ b/src/main/java/com/supwisdom/dlpay/system/service/impl/SystemServiceImpl.java
@@ -11,6 +11,8 @@
 import com.supwisdom.dlpay.system.page.Pagination;

 import com.supwisdom.dlpay.system.service.SystemService;

 import org.springframework.beans.factory.annotation.Autowired;

+import org.springframework.cache.annotation.CacheEvict;

+import org.springframework.cache.annotation.Cacheable;

 import org.springframework.stereotype.Service;

 

 import java.util.ArrayList;

@@ -38,6 +40,7 @@
     }

 

     @Override

+    @CacheEvict(cacheNames = "dicationary_cache", key = "#p0")

     public boolean saveDictionary(String dicttype, String dicttypename, String dictval, String dictcaption) {

         TDictionary tDictionary = new TDictionary();

         TDictionaryId tDictionaryId = new TDictionaryId();

@@ -51,11 +54,13 @@
     }

 

     @Override

+    @Cacheable(cacheNames = "dicationary_cache", key = "#p0")

     public List<TDictionaryId> findTDictionaryByType(int type) {

         return dictionaryDao.findTDictionaryByType(type);

     }

 

     @Override

+    @Cacheable(cacheNames = "opertypes_cache", key = "#p0")

     public List<TDictionaryId> findOpertypes(String opertype) {

         return dictionaryDao.findOpertypes(opertype);

     }

@@ -66,6 +71,7 @@
     }

 

     @Override

+    @CacheEvict(cacheNames = "dicationary_cache", key = "#p0")

     public TDictionary updateDictionary(String dicttype, String dicttypename, String dictval, String dictcaption, String oriengaltype, String oriengalval) {

         return dictionaryDao.updateDictionary(dicttype, dicttypename, dictval, dictcaption, oriengaltype, oriengalval);

     }

diff --git a/src/main/resources/templates/system/role/func.html b/src/main/resources/templates/system/role/func.html
index fff2149..48d6dff 100755
--- a/src/main/resources/templates/system/role/func.html
+++ b/src/main/resources/templates/system/role/func.html
@@ -34,7 +34,6 @@
         admin.dgo('[[@{/role/func}]]', {

             roleId: func,

         }, function (data) {

-            debugger

             layer.closeAll('loading');

             if (data.code == 200) {

                 initTree(data.node);