区域管理和楼栋管理功能完善
diff --git a/src/main/java/com/supwisdom/dlpay/framework/domain/TOperator.java b/src/main/java/com/supwisdom/dlpay/framework/domain/TOperator.java
index c5c4872..76433cf 100644
--- a/src/main/java/com/supwisdom/dlpay/framework/domain/TOperator.java
+++ b/src/main/java/com/supwisdom/dlpay/framework/domain/TOperator.java
@@ -48,6 +48,9 @@
@Column(name = "CLOSEDATE", length = 8)
private String closedate;
+
+ @Column(name = "REGIONID",length = 32)
+ private String regionid;
@Transient
private String roleids;
@@ -222,4 +225,12 @@
public void setFather(TOperator father) {
this.father = father;
}
+
+ public String getRegionid() {
+ return regionid;
+ }
+
+ public void setRegionid(String regionid) {
+ this.regionid = regionid;
+ }
}
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 f52684a..df099ce 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";
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 ba92967..91196b9 100644
--- a/src/main/java/com/supwisdom/dlpay/ncmgr/dao/NcDeviceDao.java
+++ b/src/main/java/com/supwisdom/dlpay/ncmgr/dao/NcDeviceDao.java
@@ -2,11 +2,10 @@
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.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 buildingname,String regionname, String devtype);
@@ -38,4 +37,6 @@
public boolean delDevById(int devid);
public List<TNcDevice> findAllNcDevices();
+
+ public TNcDevice getDevByBuildingid(String buildingid);
}
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 becafab..5a2f752 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,7 +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.domain.TRegion;
import com.supwisdom.dlpay.system.page.Pagination;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;
@@ -13,7 +13,6 @@
import javax.persistence.Query;
import javax.persistence.TypedQuery;
import java.util.List;
-import java.util.Map;
@Repository
public class NcDeviceDaoImpl implements NcDeviceDao {
@@ -227,7 +226,7 @@
if (devid==0){
sql="select d from TNcDevice d where d.fdevid=:fdevid and d.devno=:devno ";
}else {
- sql="select d from TNcDevice d where d.fdevid=:fdevid and d.devno=:devno and d.deviceid!=:devid ";
+ sql="select d from TNcDevice d where d.fdevid=:fdevid and d.devno=:devno and d.deviceid<>:devid ";
}
TypedQuery<TNcDevice> query = entityManager.createQuery(sql, TNcDevice.class);
if (devid>0){
@@ -319,4 +318,17 @@
List<TNcDevice> list = query.getResultList();
return list;
}
+
+ @Transactional
+ @Override
+ public TNcDevice getDevByBuildingid(String buildingid) {
+ String sql = "select bean from TNcDevice bean where bean.operflag='A' and bean.buildingid=:buildingid";
+ TypedQuery<TNcDevice> query = entityManager.createQuery(sql, TNcDevice.class);
+ query.setParameter("buildingid" , buildingid);
+ List<TNcDevice> list = query.getResultList();
+ if (list!=null && list.size()>0){
+ return list.get(0);
+ }
+ return null;
+ }
}
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 26c89bc..2552c41 100644
--- a/src/main/java/com/supwisdom/dlpay/ncmgr/domain/TBuilding.java
+++ b/src/main/java/com/supwisdom/dlpay/ncmgr/domain/TBuilding.java
@@ -13,7 +13,6 @@
public class TBuilding implements java.io.Serializable {
// Fields
-
private String buildingid;
private String buildingname;
private String synctime;
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 e2ceb63..2df3d9d 100644
--- a/src/main/java/com/supwisdom/dlpay/ncmgr/domain/TNcDevice.java
+++ b/src/main/java/com/supwisdom/dlpay/ncmgr/domain/TNcDevice.java
@@ -23,7 +23,7 @@
@Excel(name = "IP地址")
private String ip;
private String operflag;
- private String syncfalg;
+ private String syncflag;
private String synctime;
private String updtime;
@Excel(name = "上级设备编号")
@@ -59,7 +59,7 @@
this.devname = devname;
this.ip = ip;
this.operflag = operflag;
- this.syncfalg = syncfalg;
+ this.syncflag = syncfalg;
this.synctime = synctime;
this.updtime = updtime;
this.fdevid = fdevid;
@@ -117,11 +117,11 @@
@Column(name = "SYNCFALG", length = 3)
public String getSyncfalg() {
- return this.syncfalg;
+ return this.syncflag;
}
public void setSyncfalg(String syncfalg) {
- this.syncfalg = syncfalg;
+ this.syncflag = syncfalg;
}
@Column(name = "SYNCTIME", length = 20)
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 378138d..6c09ff9 100644
--- a/src/main/java/com/supwisdom/dlpay/ncmgr/service/NcService.java
+++ b/src/main/java/com/supwisdom/dlpay/ncmgr/service/NcService.java
@@ -1,6 +1,7 @@
package com.supwisdom.dlpay.ncmgr.service;
import com.supwisdom.dlpay.ncmgr.domain.*;
+import com.supwisdom.dlpay.system.domain.TRegion;
import com.supwisdom.dlpay.system.page.Pagination;
import java.util.List;
@@ -58,6 +59,9 @@
//设备名单重下(修改该设备已同步名单为未同步)
public void updateForListReload(String devid);
+ //根据楼栋id获取设备
+ public TNcDevice getDevByBuildingid(String buildingid);
+
//根据查询条件分页获取所有时间段信息
public Pagination getNcTimeWithPage(String time,int pageNo, int pageSize,Map map);
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 9aea87b..551fdfb 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
@@ -3,6 +3,7 @@
import com.supwisdom.dlpay.ncmgr.dao.*;
import com.supwisdom.dlpay.ncmgr.domain.*;
import com.supwisdom.dlpay.ncmgr.service.NcService;
+import com.supwisdom.dlpay.system.domain.TRegion;
import com.supwisdom.dlpay.system.page.Pagination;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -110,7 +111,12 @@
@Override
public void updateForListReload(String devid) {
+ ncCardListDao.updateForListReload(devid);
+ }
+ @Override
+ public TNcDevice getDevByBuildingid(String buildingid) {
+ return ncDeviceDao.getDevByBuildingid(buildingid);
}
@Override
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 f152630..1895d87 100644
--- a/src/main/java/com/supwisdom/dlpay/query/controller/QueryController.java
+++ b/src/main/java/com/supwisdom/dlpay/query/controller/QueryController.java
@@ -8,8 +8,6 @@
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;
@@ -131,7 +129,6 @@
/**
* 获取流水信息
- * @param map
* @param request
* @param startTranDate
* @param endTranDate
diff --git a/src/main/java/com/supwisdom/dlpay/system/bean/BuildingBean.java b/src/main/java/com/supwisdom/dlpay/system/bean/BuildingBean.java
new file mode 100644
index 0000000..a5bd29d
--- /dev/null
+++ b/src/main/java/com/supwisdom/dlpay/system/bean/BuildingBean.java
@@ -0,0 +1,40 @@
+package com.supwisdom.dlpay.system.bean;
+
+public class BuildingBean {
+ private String buildingid;
+ private String buildingname;
+ private String buildingdesc;
+ private String regionid;
+
+ public String getBuildingid() {
+ return buildingid;
+ }
+
+ public void setBuildingid(String buildingid) {
+ this.buildingid = buildingid;
+ }
+
+ public String getBuildingname() {
+ return buildingname;
+ }
+
+ public void setBuildingname(String buildingname) {
+ this.buildingname = buildingname;
+ }
+
+ public String getBuildingdesc() {
+ return buildingdesc;
+ }
+
+ public void setBuildingdesc(String buildingdesc) {
+ this.buildingdesc = buildingdesc;
+ }
+
+ public String getRegionid() {
+ return regionid;
+ }
+
+ public void setRegionid(String regionid) {
+ this.regionid = regionid;
+ }
+}
diff --git a/src/main/java/com/supwisdom/dlpay/system/bean/RegionBean.java b/src/main/java/com/supwisdom/dlpay/system/bean/RegionBean.java
new file mode 100644
index 0000000..7b0eabf
--- /dev/null
+++ b/src/main/java/com/supwisdom/dlpay/system/bean/RegionBean.java
@@ -0,0 +1,58 @@
+package com.supwisdom.dlpay.system.bean;
+
+public class RegionBean {
+ private String regionid;
+ private String regionname;
+ private Integer level;
+ private String parentid;
+ private String address;
+ private String remarks;
+
+ public String getRegionid() {
+ return regionid;
+ }
+
+ public void setRegionid(String regionid) {
+ this.regionid = regionid;
+ }
+
+ public String getRegionname() {
+ return regionname;
+ }
+
+ public void setRegionname(String regionname) {
+ this.regionname = regionname;
+ }
+
+ public Integer getLevel() {
+ return level;
+ }
+
+ public void setLevel(Integer level) {
+ this.level = level;
+ }
+
+ public String getParentid() {
+ return parentid;
+ }
+
+ public void setParentid(String parentid) {
+ this.parentid = parentid;
+ }
+
+ public String getAddress() {
+ return address;
+ }
+
+ public void setAddress(String address) {
+ this.address = address;
+ }
+
+ public String getRemarks() {
+ return remarks;
+ }
+
+ public void setRemarks(String remarks) {
+ this.remarks = remarks;
+ }
+}
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 a12b97d..3fa49bf 100644
--- a/src/main/java/com/supwisdom/dlpay/system/controller/SystemController.java
+++ b/src/main/java/com/supwisdom/dlpay/system/controller/SystemController.java
@@ -1,19 +1,28 @@
package com.supwisdom.dlpay.system.controller;
+import com.supwisdom.dlpay.framework.domain.TOperator;
+import com.supwisdom.dlpay.framework.util.DateUtil;
+import com.supwisdom.dlpay.framework.util.StringUtil;
+import com.supwisdom.dlpay.ncmgr.domain.TBuilding;
+import com.supwisdom.dlpay.ncmgr.domain.TNcDevice;
+import com.supwisdom.dlpay.ncmgr.service.NcService;
+import com.supwisdom.dlpay.system.bean.BuildingBean;
+import com.supwisdom.dlpay.system.bean.RegionBean;
import com.supwisdom.dlpay.system.domain.DictionaryType;
import com.supwisdom.dlpay.system.domain.TDictionaryId;
+import com.supwisdom.dlpay.system.domain.TRegion;
import com.supwisdom.dlpay.system.page.Pagination;
import com.supwisdom.dlpay.system.service.SystemService;
import com.supwisdom.dlpay.util.RedisUtil;
import org.apache.log4j.Logger;
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;
+import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -25,6 +34,8 @@
@Autowired
private SystemService systemService;
+ @Autowired
+ private NcService ncService;
@RequestMapping("/dictionary")
public String dictionary(ModelMap model){
@@ -186,4 +197,376 @@
}
return map;
}
+
+ /**
+ * 分页获取区域类别
+ * @param request
+ * @param response
+ * @param pageNo
+ * @param pageSize
+ * @param regionname
+ * @param operUser
+ * @return
+ */
+ @RequestMapping("/loadRegionList")
+ @ResponseBody
+ public Map loadRegionList(HttpServletRequest request,
+ HttpServletResponse response,
+ @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){
+ Map map = new HashMap();
+ try{
+ String opertype = operUser.getOpertype();
+ Pagination page = null;
+ if (!StringUtil.isEmpty(opertype) &&(opertype.equals("S")||opertype.equals("P"))){
+ page = systemService.getSystemRegionList(regionname, pageNo, pageSize);
+ }else {
+ page = systemService.getOperatorRegionList(regionname, operUser.getRegionid(), pageNo, pageSize);
+ }
+ map.put("PageResult", page);
+ }catch (Exception e){
+ e.printStackTrace();
+ }
+ return map;
+ }
+
+
+ /**
+ * 删除区域
+ * @param regionid
+ * @param request
+ * @param response
+ * @return
+ */
+ @RequestMapping("/deleteRegion")
+ @ResponseBody
+ public Map deleteRegion(@RequestParam(value = "regionid") String regionid,
+ HttpServletRequest request, HttpServletResponse response){
+ //TODO 返回无权限删除此区域
+ Map map = new HashMap();
+ String message="";
+ try{
+ List<TBuilding> building = systemService.getBuildingByRegionId(regionid);
+ List<TRegion> regionByParentId = systemService.getRegionByParentId(regionid);
+ if (building!=null && regionByParentId!=null){
+ message="此区域已被绑定!";
+ map.put("message", message);
+ return map;
+ }
+ boolean flag = systemService.deleteRegionById(regionid);
+ if (flag==false){
+ message="删除区域失败!";
+ }
+
+ }catch (Exception e){
+ e.printStackTrace();
+ message="删除区域出错!";
+ }
+ map.put("message", message);
+ return map;
+ }
+
+ /**
+ * 获取指定区域信息
+ * @param regionid
+ * @param operUser
+ * @return
+ */
+ @ResponseBody
+ @RequestMapping("/loadRegionForUpdate")
+ public Map loadRegionForUpdate(@RequestParam(value = "regionid") String regionid,
+ @AuthenticationPrincipal TOperator operUser){
+ Map map = new HashMap();
+ try {
+ TRegion region = systemService.getRegionById(regionid);
+ map.put("region",region);
+ List<TDictionaryId> dicts = systemService.findTDictionaryByType(6);//区域级别
+ map.put("dicts", dicts);
+ if (region!=null) {
+ List<TRegion> fRegion = systemService.getRegionListByLevel(region.getLevel());
+ map.put("fRegion", fRegion);
+ }else {
+ List<TRegion> fRegion = systemService.getAllRegions();
+ map.put("fRegion", fRegion);
+ }
+ }catch (Exception e){
+ e.printStackTrace();
+ }
+ return map;
+ }
+
+ /**
+ * 保存区域
+ * @param postData
+ * @return
+ */
+ @ResponseBody
+ @RequestMapping(value = "/addRegion", method = {RequestMethod.POST})
+ public Map addRegion (@RequestBody RegionBean postData){
+ Map map = new HashMap();
+ try{
+ TRegion regionById = systemService.getRegionById(postData.getRegionid());
+ if (regionById!=null){
+ map.put("errStr", "区域编号已经存在,请修改!");
+ return map;
+ }
+ TRegion regionByName = systemService.getRegionByName(postData.getRegionname());
+ if (regionByName!=null){
+ map.put("errStr", "区域名称已经存在,请修改!");
+ return map;
+ }
+ TRegion region= new TRegion();
+ region.setRegionid(postData.getRegionid());
+ region.setAddress(postData.getAddress());
+ region.setLevel(postData.getLevel());
+ region.setParentid(postData.getParentid());
+ region.setRegionname(postData.getRegionname());
+ region.setRemarks(postData.getRemarks());
+ TRegion tRegion = systemService.getRegionById(postData.getParentid());
+ region.setParentname(tRegion.getRegionname());
+ region.setFlag(1);
+
+ systemService.saveRegion(region);
+ map.put("errStr", "");
+ }catch (Exception e){
+ e.printStackTrace();
+ map.put("errStr", "保存区域失败!"+e.getMessage());
+ }
+ return map;
+ }
+
+ /**
+ * 修改区域
+ * @param postData
+ * @return
+ */
+ @RequestMapping(value = "/updateRegion", method = {RequestMethod.POST})
+ @ResponseBody
+ public Map updateRegion(@RequestBody RegionBean postData){
+ Map map = new HashMap();
+ try {
+ if (postData == null) {
+ map.put("errStr", "请先选择区域,然后再修改!");
+ return map;
+ }
+ TRegion regionByName = systemService.getRegionByNameAndId(postData.getRegionname(), postData.getRegionid());
+ if (regionByName!=null){
+ map.put("errStr", "区域名称已经存在,请修改!");
+ return map;
+ }
+ TRegion region = systemService.getRegionById(postData.getRegionid());
+ region.setAddress(postData.getAddress());
+ region.setLevel(postData.getLevel());
+ region.setParentid(postData.getParentid());
+ region.setRegionname(postData.getRegionname());
+ region.setRemarks(postData.getRemarks());
+ TRegion tRegion = systemService.getRegionById(postData.getParentid());
+ region.setParentname(tRegion.getParentname());
+ region.setFlag(1);
+
+ systemService.updateRegion(region);
+ map.put("errStr", "");
+ }catch (Exception e){
+ e.printStackTrace();
+ map.put("errStr", "区域修改失败!"+e.getMessage());
+ }
+ return map;
+ }
+
+ /**
+ * 获取选取区域等级的所有可选父区域
+ * @param level
+ * @return
+ */
+ @ResponseBody
+ @RequestMapping("/getFregion")
+ public Map getFregion(@RequestParam(value = "level")int level){
+ Map map = new HashMap();
+ try{
+ List<TRegion> parentRegion = systemService.getRegionListByLevel(level);
+ map.put("parentRegion", parentRegion);
+ }catch (Exception e){
+ e.printStackTrace();
+ }
+ return map;
+ }
+
+ /**
+ * 根据查询条件分页获取楼栋
+ * @param request
+ * @param response
+ * @param pageNo
+ * @param pageSize
+ * @param regionid
+ * @param buildingname
+ * @param operUser
+ * @return
+ */
+ @ResponseBody
+ @RequestMapping("/loadBuildingList")
+ public Map loadBuildingList(HttpServletRequest request,
+ HttpServletResponse response,
+ @RequestParam(value = "pageNo", required = false, defaultValue = "1") int pageNo,
+ @RequestParam(value = "pageSize", required = false, defaultValue = "10") int pageSize,
+ @RequestParam(value = "regionid", required = false, defaultValue = "") String regionid,
+ @RequestParam(value = "buildingname",required = false,defaultValue = "")String buildingname,
+ @AuthenticationPrincipal TOperator operUser){
+ Map map = new HashMap();
+ try {
+ String opertype = operUser.getOpertype();
+ Pagination page = null;
+ page = systemService.getSystemBuildingList(regionid, buildingname, pageNo, pageSize);
+ map.put("pageResult", page);
+
+ List<TRegion> regionList = null;
+ if (!StringUtil.isEmpty(opertype) &&(opertype.equals("S")||opertype.equals("P"))){
+ regionList = systemService.getAllRegions();
+ }else if (!StringUtil.isEmpty(operUser.getRegionid())){
+ TRegion region = systemService.getRegionById(operUser.getRegionid());
+ regionList.add(region);
+ }
+ map.put("regionList", regionList);
+
+ }catch (Exception e){
+ e.printStackTrace();
+ }
+ return map;
+ }
+
+ /**
+ * 根据楼栋id获取楼栋信息填充
+ * @param buildingid
+ * @param operUser
+ * @return
+ */
+ @ResponseBody
+ @RequestMapping(value = "/loadBuildingForUpdate" )
+ public Map loadBuildingForUpdate(@RequestParam(value = "buildingid") String buildingid,
+ @AuthenticationPrincipal TOperator operUser){
+ Map map = new HashMap();
+ try{
+ String opertype = operUser.getOpertype();
+ TBuilding building = systemService.getBuildingById(buildingid);
+ map.put("building", building);
+ List<TRegion> regionList = null;
+ if (!StringUtil.isEmpty(opertype) &&(opertype.equals("S")||opertype.equals("P"))){
+ regionList = systemService.getAllRegions();
+ }else if (!StringUtil.isEmpty(operUser.getRegionid())){
+ TRegion region = systemService.getRegionById(operUser.getRegionid());
+ regionList.add(region);
+ }
+ map.put("regionslist", regionList);
+
+ }catch (Exception e){
+ e.printStackTrace();
+ }
+ return map;
+ }
+
+ /**
+ * 保存楼栋
+ * @param postData
+ * @return
+ */
+ @ResponseBody
+ @RequestMapping(value = "/addBuilding",method = RequestMethod.POST)
+ public Map addBuilding(@RequestBody BuildingBean postData){
+ Map map = new HashMap();
+ try {
+ TBuilding buildingById = systemService.getBuildingById(postData.getBuildingid());
+ if (buildingById!=null){
+ map.put("errStr", "楼栋编号已经存在,请修改!");
+ return map;
+ }
+ TBuilding buildingByName = systemService.getBuildingByName(postData.getBuildingname());
+ if (buildingByName!=null){
+ map.put("errStr", "楼栋名称已经存在,请修改!");
+ return map;
+ }
+ String now = DateUtil.getNow();
+ TBuilding tBuilding = new TBuilding();
+ tBuilding.setBuildingid(postData.getBuildingid());
+ tBuilding.setBuildingname(postData.getBuildingname());
+ tBuilding.setBuildingdesc(postData.getBuildingdesc());
+ tBuilding.setRegionid(postData.getRegionid());
+ tBuilding.setSynctime(now);
+ tBuilding.setUpdtime(now);
+ tBuilding.setFlag("A");
+
+ systemService.saveBuilding(tBuilding);
+ map.put("errStr", "");
+ }catch (Exception e){
+ e.printStackTrace();
+ map.put("errStr", "保存楼栋失败");
+ }
+ return map;
+ }
+
+ /**
+ * 修改楼栋
+ * @param postData
+ * @return
+ */
+ @ResponseBody
+ @RequestMapping(value = "/updateBuilding",method = RequestMethod.POST)
+ public Map updateBuilding(@RequestBody BuildingBean postData){
+ Map map = new HashMap();
+ try{
+ if (postData==null){
+ map.put("errStr", "请先选择楼栋再修改!");
+ }
+ TBuilding buildingByNameAndId = systemService.getBuildingByNameAndId(postData.getBuildingname(), postData.getBuildingid());
+ if (buildingByNameAndId!=null){
+ map.put("errStr", "楼栋名称已经存在,请修改!");
+ return map;
+ }
+ String now = DateUtil.getNow();
+ TBuilding building = systemService.getBuildingById(postData.getBuildingid());
+ building.setBuildingname(postData.getBuildingname());
+ building.setBuildingdesc(postData.getBuildingdesc());
+ building.setRegionid(postData.getRegionid());
+ building.setSynctime(now);
+ building.setUpdtime(now);
+ building.setFlag("A");
+
+ systemService.updateBuilding(building);
+ map.put("errStr", "");
+ }catch (Exception e){
+ e.printStackTrace();
+ map.put("errStr", "楼栋修改失败"+e.getMessage());
+ }
+ return map;
+ }
+
+ /**
+ * 删除楼栋
+ * @param buildingid
+ * @return
+ */
+ @ResponseBody
+ @RequestMapping("/deleteBuilding")
+ public Map deleteBuilding(@RequestParam(value = "buildingid") String buildingid){
+ Map map = new HashMap();
+ String message="";
+ try{
+ TNcDevice devByBuildingid = ncService.getDevByBuildingid(buildingid);
+ if (devByBuildingid!=null){
+ message="该楼栋已被绑定!";
+ map.put("message", message);
+ return map;
+ }
+ boolean b = systemService.delBuilding(buildingid);
+ if (b==false){
+ message="删除楼栋失败!";
+ }
+
+ }catch (Exception e){
+ e.printStackTrace();
+ message="删除楼栋错误"+e.getMessage();
+ }
+ map.put("message", message);
+ return map;
+ }
}
diff --git a/src/main/java/com/supwisdom/dlpay/system/dao/BuildingDao.java b/src/main/java/com/supwisdom/dlpay/system/dao/BuildingDao.java
new file mode 100644
index 0000000..ab897e2
--- /dev/null
+++ b/src/main/java/com/supwisdom/dlpay/system/dao/BuildingDao.java
@@ -0,0 +1,24 @@
+package com.supwisdom.dlpay.system.dao;
+
+import com.supwisdom.dlpay.ncmgr.domain.TBuilding;
+import com.supwisdom.dlpay.system.page.Pagination;
+
+import java.util.List;
+
+public interface BuildingDao {
+ public List<TBuilding> getBuildingByRegionId(String regionid);
+
+ public Pagination getSystemBuildingList(String regionid, String buildingname, int pageNo, int pageSize);
+
+ public TBuilding getBuildingById(String buildingid);
+
+ public TBuilding getBuildingByName(String buildingname);
+
+ public boolean saveBuilding(TBuilding bean);
+
+ public TBuilding getBuildingByNameAndId(String buildingname,String buildingid);
+
+ public boolean updateBuilding(TBuilding bean);
+
+ public boolean updateBuildingFlag(String buildingid);
+}
diff --git a/src/main/java/com/supwisdom/dlpay/system/dao/RegionDao.java b/src/main/java/com/supwisdom/dlpay/system/dao/RegionDao.java
new file mode 100644
index 0000000..5c39b62
--- /dev/null
+++ b/src/main/java/com/supwisdom/dlpay/system/dao/RegionDao.java
@@ -0,0 +1,31 @@
+package com.supwisdom.dlpay.system.dao;
+
+import com.supwisdom.dlpay.system.domain.TRegion;
+import com.supwisdom.dlpay.system.page.Pagination;
+
+import java.util.List;
+
+public interface RegionDao {
+ public Pagination getSystemRegionList(String regionname, int pageNo, int pageSize);
+
+ public Pagination getOperatorRegionList(String regionname,String regionid,int pageNo,int pageSize);
+
+ //根据id修改指定区域状态flag为0
+ public boolean updateRegionFlag(String regionid);
+
+ public TRegion getRegionById(String regionid);
+
+ public List<TRegion> getRegionListByLevel(int level);
+
+ public List<TRegion> getAllRegions();
+
+ public TRegion getRegionByName(String regionname);
+
+ public boolean saveRegion(TRegion bean);
+
+ public TRegion getRegionByNameAndId(String regionname,String regionid);
+
+ public boolean updateRegion(TRegion bean);
+
+ public List<TRegion> getRegionByParentId(String parentid);
+}
diff --git a/src/main/java/com/supwisdom/dlpay/system/dao/impl/BuildingDaoImpl.java b/src/main/java/com/supwisdom/dlpay/system/dao/impl/BuildingDaoImpl.java
new file mode 100644
index 0000000..90c93f2
--- /dev/null
+++ b/src/main/java/com/supwisdom/dlpay/system/dao/impl/BuildingDaoImpl.java
@@ -0,0 +1,179 @@
+package com.supwisdom.dlpay.system.dao.impl;
+
+import com.supwisdom.dlpay.framework.util.StringUtil;
+import com.supwisdom.dlpay.ncmgr.domain.TBuilding;
+import com.supwisdom.dlpay.system.dao.BuildingDao;
+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 javax.persistence.TypedQuery;
+import java.util.List;
+@Repository
+public class BuildingDaoImpl implements BuildingDao {
+ @PersistenceContext
+ EntityManager entityManager;
+
+ @Transactional
+ @Override
+ public List<TBuilding> getBuildingByRegionId(String regionid) {
+ String sql = "select bean from TBuilding bean where bean.flag='A' and bean.regionid=:regionid ";
+ TypedQuery<TBuilding> query = entityManager.createQuery(sql, TBuilding.class);
+ query.setParameter("regionid", regionid);
+ List<TBuilding> list = query.getResultList();
+ if (list!=null && list.size()>0){
+ return list;
+ }
+ return null;
+ }
+
+ @Transactional
+ @Override
+ public Pagination getSystemBuildingList(String regionid, String buildingname, int pageNo, int pageSize) {
+ String sql = "select bean.buildingid,bean.buildingname,bean.synctime,bean.updtime,bean.flag,bean.buildingdesc,bean.regionid " +
+ " from T_Building bean where 1>0 and bean.flag='A' ";
+ if (!StringUtil.isEmpty(regionid)){
+ sql += "and bean.regionid in " +
+ "( with recursive tmp as ( select tbr.regionid,tbr.parentid,tbr.regionname from tb_region tbr " +
+ " where regionid= :regionid union all select tbr.regionid,tbr.parentid,tbr.regionname from tb_region tbr inner join tmp t on t.regionid=tbr.parentid ) " +
+ " select regionid from tmp )";
+ }
+
+ if (!StringUtil.isEmpty(buildingname)){
+ sql += " and bean.buildingname like :buildingname";
+ }
+ sql += " order by bean.buildingid";
+
+ Query query = entityManager.createNativeQuery(sql, TBuilding.class);
+ if (!StringUtil.isEmpty(regionid)){
+ query.setParameter("regionid", regionid );
+ }
+ if (!StringUtil.isEmpty(buildingname)){
+ query.setParameter("buildingname", "%"+buildingname+"%");
+ }
+
+ pageNo = pageNo <= 0 ? 1 : pageNo;
+ query.setFirstResult((pageNo - 1) * pageSize);
+ query.setMaxResults(pageSize);
+ Pagination page = new Pagination();
+ page.setPageNo(pageNo);
+ page.setPageSize(pageSize);
+ List<TBuilding> list = query.getResultList();
+ page.setList(list);
+ int totalCount = getSystemBuildingListCount(regionid,buildingname);
+ page.setTotalCount(totalCount);
+ return page;
+ }
+
+ private int getSystemBuildingListCount(String regionid,String buildingname){
+ String sql = "select count(*) from T_Building bean where 1>0 and bean.flag='A' ";
+ if (!StringUtil.isEmpty(regionid)){
+ sql += "and bean.regionid in " +
+ "(with recursive tmp as (select tbr.regionid,tbr.parentid,tbr.regionname from tb_region tbr " +
+ " where regionid= :regionid union all select tbr.regionid,tbr.parentid,tbr.regionname from tb_region tbr inner join tmp t on t.regionid=tbr.parentid " +
+ " ) select regionid from tmp )";
+ }
+
+ if (!StringUtil.isEmpty(buildingname)){
+ sql += " and bean.buildingname like :buildingname";
+ }
+ Query query = entityManager.createNativeQuery(sql);
+ if (!StringUtil.isEmpty(regionid)){
+ query.setParameter("regionid", regionid );
+ }
+ if (!StringUtil.isEmpty(buildingname)){
+ query.setParameter("buildingname", "%"+buildingname+"%");
+ }
+ int cnt=0;
+ List list = query.getResultList();
+ if (list!=null && list.size()>0){
+ cnt = Integer.parseInt(list.get(0).toString());
+ }
+ return cnt;
+ }
+
+ @Transactional
+ @Override
+ public TBuilding getBuildingById(String buildingid) {
+ String sql = "select bean from TBuilding bean where bean.flag='A' and bean.buildingid=:buildingid";
+ TypedQuery<TBuilding> query = entityManager.createQuery(sql, TBuilding.class);
+ query.setParameter("buildingid" , buildingid);
+ List<TBuilding> list = query.getResultList();
+ if (list!=null && list.size()>0){
+ return list.get(0);
+ }
+ return null;
+ }
+
+ @Transactional
+ @Override
+ public TBuilding getBuildingByName(String buildingname) {
+ String sql = "select bean from TBuilding bean where bean.flag='A' and bean.buildingname=:buildingname";
+ TypedQuery<TBuilding> query = entityManager.createQuery(sql, TBuilding.class);
+ query.setParameter("buildingname", buildingname);
+ List<TBuilding> list = query.getResultList();
+ if (list!=null && list.size()>0){
+ return list.get(0);
+ }
+ return null;
+ }
+
+ @Transactional
+ @Override
+ public boolean saveBuilding(TBuilding bean) {
+ boolean flag=false;
+ try {
+ entityManager.persist(bean);
+ flag=true;
+ }catch (Exception e){
+ e.printStackTrace();
+ }
+ return flag;
+ }
+
+ @Transactional
+ @Override
+ public TBuilding getBuildingByNameAndId(String buildingname, String buildingid) {
+ String sql = "select bean from TBuilding bean where bean.flag='A' and bean.buildingname=:buildingname and bean.buildingid <> :buildingid ";
+ TypedQuery<TBuilding> query = entityManager.createQuery(sql, TBuilding.class);
+ query.setParameter("buildingname" ,buildingname );
+ query.setParameter("buildingid" ,buildingid );
+ List<TBuilding> list = query.getResultList();
+ if (list!=null && list.size()>0){
+ return list.get(0);
+ }
+ return null;
+ }
+
+ @Transactional
+ @Override
+ public boolean updateBuilding(TBuilding bean) {
+ boolean flag = false;
+ try {
+ entityManager.merge(bean);
+ flag = true;
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return flag;
+ }
+
+ @Transactional
+ @Override
+ public boolean updateBuildingFlag(String buildingid) {
+ boolean flag = false;
+ try {
+ String sql = "update t_building set flag = 'D' where buildingid = ?1 ";
+ Query query = entityManager.createNativeQuery(sql);
+ query.setParameter(1, buildingid);
+ query.executeUpdate();
+ flag = true;
+ }catch (Exception e){
+ e.printStackTrace();
+ }
+ return flag;
+ }
+}
diff --git a/src/main/java/com/supwisdom/dlpay/system/dao/impl/RegionDaoImpl.java b/src/main/java/com/supwisdom/dlpay/system/dao/impl/RegionDaoImpl.java
new file mode 100644
index 0000000..fe077a8
--- /dev/null
+++ b/src/main/java/com/supwisdom/dlpay/system/dao/impl/RegionDaoImpl.java
@@ -0,0 +1,242 @@
+package com.supwisdom.dlpay.system.dao.impl;
+
+import com.supwisdom.dlpay.framework.util.StringUtil;
+import com.supwisdom.dlpay.system.dao.RegionDao;
+import com.supwisdom.dlpay.system.domain.TRegion;
+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 javax.persistence.TypedQuery;
+import java.util.List;
+
+@Repository
+public class RegionDaoImpl implements RegionDao {
+
+ @PersistenceContext
+ EntityManager entityManager;
+
+ @Transactional
+ @Override
+ public Pagination getSystemRegionList(String regionname, int pageNo, int pageSize) {
+ String sql = "select bean from TRegion bean where 1>0 and bean.flag=1 ";
+ if (!StringUtil.isEmpty(regionname)){
+ sql += " and bean.regionname like :regionname ";
+ }
+
+ sql += " order by bean.level";
+
+ TypedQuery<TRegion> query = entityManager.createQuery(sql, TRegion.class);
+ if(!StringUtil.isEmpty(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<TRegion> list = query.getResultList();
+ page.setList(list);
+ int totalCount = getSystemRegionListCount(regionname);
+ page.setTotalCount(totalCount);
+ return page;
+ }
+
+ private int getSystemRegionListCount(String regionname){
+ String sql = "select count(*) from TB_Region where 1>0 and flag=1 ";
+ if (!StringUtil.isEmpty(regionname)){
+ sql += " and regionname like :regionname ";
+ }
+ Query query = entityManager.createNativeQuery(sql);
+ if(!StringUtil.isEmpty(regionname)){
+ query.setParameter("regionname", "%"+regionname+"%" );
+ }
+ int cnt=0;
+ List list = query.getResultList();
+ if (list!=null && list.size()>0){
+ cnt = Integer.parseInt(list.get(0).toString());
+ }
+ return cnt;
+ }
+
+ @Transactional
+ @Override
+ public Pagination getOperatorRegionList(String regionname, String regionid, int pageNo, int pageSize) {
+ String sql = "select bean.regionid,bean.address,bean.level,bean.parentid,bean.regionname,bean.remarks,bean.parentname,bean.flag" +
+ " from Tb_Region bean where 1>0 and bean.flag=1 ";
+ sql += "and bean.regionid in " +
+ "(with recursive tmp as (select tbr.regionid,tbr.parentid,tbr.regionname from tb_region tbr " +
+ " where regionid= :regionid union all select tbr.regionid,tbr.parentid,tbr.regionname from tb_region tbr inner join tmp t on t.regionid=tbr.parentid " +
+ " ) select regionid from tmp ";
+
+ if (!StringUtil.isEmpty(regionname)){
+ sql += " and tmp.regionname like :regionname ";
+ }
+ sql += ") order by bean.level";
+
+ Query query = entityManager.createNativeQuery(sql, TRegion.class);
+ query.setParameter("regionid" , regionid);
+ if(!StringUtil.isEmpty(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<TRegion> list = query.getResultList();
+ page.setList(list);
+ int totalCount = getOperatorRegionListCount(regionname,regionid);
+ page.setTotalCount(totalCount);
+ return page;
+ }
+
+
+ private int getOperatorRegionListCount(String regionname,String regionid){
+ String sql = "select count(*) from Tb_Region bean where 1>0 and bean.flag=1 ";
+ sql += "and bean.regionid in " +
+ "(with recursive tmp as (select tbr.regionid,tbr.parentid,tbr.regionname from tb_region tbr " +
+ " where regionid= :regionid union all select tbr.regionid,tbr.parentid,tbr.regionname from tb_region tbr inner join tmp t on t.regionid=tbr.parentid " +
+ " ) select regionid from tmp ";
+
+ if (!StringUtil.isEmpty(regionname)){
+ sql += " and tmp.regionname like :regionname";
+ }
+ sql += ") order by level";
+ Query query = entityManager.createNativeQuery(sql);
+ query.setParameter("regionid" , regionid);
+ if(!StringUtil.isEmpty(regionname)){
+ query.setParameter("regionname", "%"+regionname+"%" );
+ }
+ 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 boolean updateRegionFlag(String regionid) {
+ boolean flag = false;
+ try {
+ String sql = "update tb_region set flag = 0 where regionid = ?1 ";
+ Query query = entityManager.createNativeQuery(sql);
+ query.setParameter(1, regionid);
+ query.executeUpdate();
+ flag = true;
+ }catch (Exception e){
+ e.printStackTrace();
+ }
+ return flag;
+ }
+
+ @Transactional
+ @Override
+ public TRegion getRegionById(String regionid) {
+ String sql = "select bean from TRegion bean where bean.regionid = :regionid and bean.flag=1 ";
+ TypedQuery<TRegion> query = entityManager.createQuery(sql, TRegion.class);
+ query.setParameter("regionid", regionid );
+ List<TRegion> list = query.getResultList();
+ if (list!=null && list.size()>0){
+ return list.get(0);
+ }
+ return null;
+ }
+
+ @Transactional
+ @Override
+ public List<TRegion> getRegionListByLevel(int level) {
+ String sql = "select bean from TRegion bean where bean.flag=1 and bean.level=:level";
+ TypedQuery<TRegion> query = entityManager.createQuery(sql, TRegion.class);
+ query.setParameter("level" , level-1);
+ List<TRegion> list = query.getResultList();
+ if (list!=null && list.size()>0){
+ return list;
+ }
+ return null;
+ }
+
+ @Transactional
+ @Override
+ public List<TRegion> getAllRegions() {
+ String sql = "select bean from TRegion bean where bean.flag = 1";
+ TypedQuery<TRegion> query = entityManager.createQuery(sql, TRegion.class);
+ List<TRegion> list = query.getResultList();
+ if (list!=null && list.size()>0){
+ return list;
+ }
+ return null;
+ }
+
+ @Transactional
+ @Override
+ public TRegion getRegionByName(String regionname) {
+ String sql = "select bean from TRegion bean where bean.regionname = :regionname and bean.flag=1 ";
+ TypedQuery<TRegion> query = entityManager.createQuery(sql, TRegion.class);
+ query.setParameter("regionname", regionname );
+ List<TRegion> list = query.getResultList();
+ if (list!=null && list.size()>0){
+ return list.get(0);
+ }
+ return null;
+ }
+
+ @Transactional
+ @Override
+ public boolean saveRegion(TRegion bean) {
+ boolean flag=false;
+ try {
+ entityManager.persist(bean);
+ flag=true;
+ }catch (Exception e){
+ e.printStackTrace();
+ }
+ return flag;
+ }
+
+ @Transactional
+ @Override
+ public TRegion getRegionByNameAndId(String regionname, String regionid) {
+ String sql = "select bean from TRegion bean where bean.regionname = :regionname and bean.flag=1 and bean.regionid <>:regionid";
+ TypedQuery<TRegion> query = entityManager.createQuery(sql, TRegion.class);
+ query.setParameter("regionname", regionname );
+ query.setParameter("regionid", regionid);
+ List<TRegion> list = query.getResultList();
+ if (list!=null && list.size()>0){
+ return list.get(0);
+ }
+ return null;
+ }
+
+ @Transactional
+ @Override
+ public boolean updateRegion(TRegion bean) {
+ boolean flag = false;
+ try {
+ entityManager.merge(bean);
+ flag = true;
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return flag;
+ }
+
+ @Transactional
+ @Override
+ public List<TRegion> getRegionByParentId(String parentid) {
+ String sql = "select bean from TRegion bean where bean.flag=1 and bean.parentid=:parentid";
+ TypedQuery<TRegion> query = entityManager.createQuery(sql, TRegion.class);
+ query.setParameter("parentid", parentid);
+ List<TRegion> list = query.getResultList();
+ return list;
+ }
+
+}
diff --git a/src/main/java/com/supwisdom/dlpay/ncmgr/domain/TRegion.java b/src/main/java/com/supwisdom/dlpay/system/domain/TRegion.java
similarity index 67%
rename from src/main/java/com/supwisdom/dlpay/ncmgr/domain/TRegion.java
rename to src/main/java/com/supwisdom/dlpay/system/domain/TRegion.java
index 66edb0f..7513f94 100644
--- a/src/main/java/com/supwisdom/dlpay/ncmgr/domain/TRegion.java
+++ b/src/main/java/com/supwisdom/dlpay/system/domain/TRegion.java
@@ -1,15 +1,13 @@
-package com.supwisdom.dlpay.ncmgr.domain;
+package com.supwisdom.dlpay.system.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 {
-
+public class TRegion {
private String regionid;
private String address;
private Integer level;
@@ -20,7 +18,7 @@
private Integer flag;
@Id
- @Column(name = "REGIONID", unique = true, nullable = false, length = 32)
+ @Column(name = "REGIONID", unique = true, nullable = false, scale = 0)
public String getRegionid() {
return regionid;
}
@@ -29,7 +27,7 @@
this.regionid = regionid;
}
- @Column(name = "ADDRESS", length = 255)
+ @Column(name = "ADDRESS",length = 255)
public String getAddress() {
return address;
}
@@ -38,7 +36,7 @@
this.address = address;
}
- @Column(name = "LEVEL", length = 32)
+ @Column(name = "LEVEL")
public Integer getLevel() {
return level;
}
@@ -47,7 +45,7 @@
this.level = level;
}
- @Column(name = "PARENTID", length = 32)
+ @Column(name = "PARENTID",length = 32)
public String getParentid() {
return parentid;
}
@@ -56,7 +54,7 @@
this.parentid = parentid;
}
- @Column(name = "REGIONNAME", length = 200)
+ @Column(name = "REGIONNAME",length = 200)
public String getRegionname() {
return regionname;
}
@@ -65,7 +63,7 @@
this.regionname = regionname;
}
- @Column(name = "REMARKS", length = 255)
+ @Column(name = "REMARKS",length = 255)
public String getRemarks() {
return remarks;
}
@@ -74,7 +72,7 @@
this.remarks = remarks;
}
- @Column(name = "PARENTNAME", length = 200)
+ @Column(name = "PARENTNAME",length = 200)
public String getParentname() {
return parentname;
}
@@ -83,7 +81,7 @@
this.parentname = parentname;
}
- @Column(name = "FLAG", length = 32)
+ @Column(name = "FLAG")
public Integer getFlag() {
return flag;
}
@@ -91,4 +89,18 @@
public void setFlag(Integer flag) {
this.flag = flag;
}
+
+ public TRegion(String regionid, String address, Integer level, String parentid, String regionname, String remarks, String parentname, Integer flag) {
+ this.regionid = regionid;
+ this.address = address;
+ this.level = level;
+ this.parentid = parentid;
+ this.regionname = regionname;
+ this.remarks = remarks;
+ this.parentname = parentname;
+ this.flag = flag;
+ }
+
+ public TRegion() {
+ }
}
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 24ec522..8adf9ed 100644
--- a/src/main/java/com/supwisdom/dlpay/system/service/SystemService.java
+++ b/src/main/java/com/supwisdom/dlpay/system/service/SystemService.java
@@ -1,9 +1,11 @@
package com.supwisdom.dlpay.system.service;
+import com.supwisdom.dlpay.ncmgr.domain.TBuilding;
import com.supwisdom.dlpay.system.domain.DictionaryType;
import com.supwisdom.dlpay.system.domain.TDictionary;
import com.supwisdom.dlpay.system.domain.TDictionaryId;
+import com.supwisdom.dlpay.system.domain.TRegion;
import com.supwisdom.dlpay.system.page.Pagination;
import java.util.List;
@@ -31,5 +33,61 @@
//根据操作员id获取有权限的操作员
public List<String> findOperatorsByFopercode(String operid);
+ //根据查询条件分页获取所有区域
+ public Pagination getSystemRegionList(String regionname,int pageNo,int pageSize);
+
+ //根据查询条件以及管理员区域分页获取区域
+ public Pagination getOperatorRegionList(String regionname,String regionid,int pageNo,int pageSize);
+
+ //根据区域id查询楼栋
+ public List<TBuilding> getBuildingByRegionId(String regionid);
+
+ //根据id删除区域--修改状态flag为0
+ public boolean deleteRegionById(String regionid);
+
+ //根据id获取区域
+ public TRegion getRegionById(String regionid);
+
+ //根据区域级别获取其上一级级别的所有区域
+ public List<TRegion> getRegionListByLevel(int level);
+
+ //获取所有区域
+ public List<TRegion> getAllRegions();
+
+ //根据名称获取区域
+ public TRegion getRegionByName(String regionname);
+
+ //保存区域
+ public boolean saveRegion(TRegion bean);
+
+ //根据id和名称获取非本id的相同名称区域
+ public TRegion getRegionByNameAndId(String regionname,String regionid);
+
+ //修改区域
+ public boolean updateRegion(TRegion bean);
+
+ //根据parentid获取区域
+ public List<TRegion> getRegionByParentId(String parentid);
+
+ //根据查询条件分页获取所有楼栋
+ public Pagination getSystemBuildingList(String regionid,String buildingname,int pageNo,int pageSize);
+
+ //根据id获取楼栋信息
+ public TBuilding getBuildingById(String buildingid);
+
+ //根据名称获取楼栋信息
+ public TBuilding getBuildingByName(String buildingname);
+
+ //保存楼栋
+ public boolean saveBuilding(TBuilding bean);
+
+ //根据id和名称获取非本id的相同名称楼栋
+ public TBuilding getBuildingByNameAndId(String buildingname,String buildingid);
+
+ //修改楼栋
+ public boolean updateBuilding(TBuilding bean);
+
+ //根据id删除楼栋---修改flag为D
+ public boolean delBuilding(String buildingid);
}
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 6b47410..1f48e88 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
@@ -1,10 +1,14 @@
package com.supwisdom.dlpay.system.service.impl;
+import com.supwisdom.dlpay.ncmgr.domain.TBuilding;
+import com.supwisdom.dlpay.system.dao.BuildingDao;
import com.supwisdom.dlpay.system.dao.DictionaryDao;
import com.supwisdom.dlpay.system.dao.OperatorDao;
+import com.supwisdom.dlpay.system.dao.RegionDao;
import com.supwisdom.dlpay.system.domain.DictionaryType;
import com.supwisdom.dlpay.system.domain.TDictionary;
import com.supwisdom.dlpay.system.domain.TDictionaryId;
+import com.supwisdom.dlpay.system.domain.TRegion;
import com.supwisdom.dlpay.system.page.Pagination;
import com.supwisdom.dlpay.system.service.SystemService;
import org.springframework.beans.factory.annotation.Autowired;
@@ -18,6 +22,10 @@
private DictionaryDao dictionaryDao;
@Autowired
private OperatorDao operatorDao;
+ @Autowired
+ private RegionDao regionDao;
+ @Autowired
+ private BuildingDao buildingDao;
@Override
public Pagination findDictionary(String dicttype, String dictcaption, Integer pageNo, Integer pageSize) {
@@ -62,4 +70,99 @@
return operatorDao.findOperatorsByFopercode(operid);
}
+ @Override
+ public Pagination getSystemRegionList(String regionname, int pageNo, int pageSize) {
+ return regionDao.getSystemRegionList(regionname, pageNo, pageSize);
+ }
+
+ @Override
+ public Pagination getOperatorRegionList(String regionname, String regionid, int pageNo, int pageSize) {
+ return regionDao.getOperatorRegionList(regionname, regionid, pageNo, pageSize);
+ }
+
+ @Override
+ public List<TBuilding> getBuildingByRegionId(String regionid) {
+ return buildingDao.getBuildingByRegionId(regionid);
+ }
+
+ @Override
+ public boolean deleteRegionById(String regionid) {
+ return regionDao.updateRegionFlag(regionid);
+ }
+
+ @Override
+ public TRegion getRegionById(String regionid) {
+ return regionDao.getRegionById(regionid);
+ }
+
+ @Override
+ public List<TRegion> getRegionListByLevel(int level) {
+ return regionDao.getRegionListByLevel(level);
+ }
+
+ @Override
+ public List<TRegion> getAllRegions() {
+ return regionDao.getAllRegions();
+ }
+
+ @Override
+ public TRegion getRegionByName(String regionname) {
+ return regionDao.getRegionByName(regionname);
+ }
+
+ @Override
+ public boolean saveRegion(TRegion bean) {
+ return regionDao.saveRegion(bean);
+ }
+
+ @Override
+ public TRegion getRegionByNameAndId(String regionname, String regionid) {
+ return regionDao.getRegionByNameAndId(regionname, regionid);
+ }
+
+ @Override
+ public boolean updateRegion(TRegion bean) {
+ return regionDao.updateRegion(bean);
+ }
+
+ @Override
+ public List<TRegion> getRegionByParentId(String parentid) {
+ return regionDao.getRegionByParentId(parentid);
+ }
+
+ @Override
+ public Pagination getSystemBuildingList(String regionid, String buildingname, int pageNo, int pageSize) {
+ return buildingDao.getSystemBuildingList(regionid, buildingname, pageNo, pageSize);
+ }
+
+ @Override
+ public TBuilding getBuildingById(String buildingid) {
+ return buildingDao.getBuildingById(buildingid);
+ }
+
+ @Override
+ public TBuilding getBuildingByName(String buildingname) {
+ return buildingDao.getBuildingByName(buildingname);
+ }
+
+ @Override
+ public boolean saveBuilding(TBuilding bean) {
+ return buildingDao.saveBuilding(bean);
+ }
+
+ @Override
+ public TBuilding getBuildingByNameAndId(String buildingname, String buildingid) {
+ return buildingDao.getBuildingByNameAndId(buildingname, buildingid);
+ }
+
+ @Override
+ public boolean updateBuilding(TBuilding bean) {
+ return buildingDao.updateBuilding(bean);
+ }
+
+ @Override
+ public boolean delBuilding(String buildingid) {
+ return buildingDao.updateBuildingFlag(buildingid);
+ }
+
}
diff --git a/src/main/resources/templates/index.html b/src/main/resources/templates/index.html
index 637e8f2..848e8a7 100755
--- a/src/main/resources/templates/index.html
+++ b/src/main/resources/templates/index.html
@@ -22,11 +22,12 @@
<!--<script type="text/javascript" th:src="@{/static/libs/jquery/jquery-3.2.1.min.js}"></script>-->
+ <script type="text/javascript" th:src="@{/static/res/assets/plugins/jquery/jquery.min.js}"></script>
<script type="text/javascript" th:src="@{/static/libs/q.js}"></script>
<script type="text/javascript" th:src="@{/static/libs/layui/layui.js}"></script>
- <!--<script type="text/javascript" th:src="@{/static/libs/zTree/js/jquery.ztree.all-3.5.min.js}"></script>-->
+ <script type="text/javascript" th:src="@{/static/libs/zTree/js/jquery.ztree.all-3.5.min.js}"></script>
<script type="text/javascript" th:src="@{/static/libs/custom.js}"></script>
- <script type="text/javascript" th:src="@{/static/res/assets/plugins/jquery/jquery.min.js}"></script>
+
<script type="text/javascript" th:src="@{/static/res/assets/plugins/bootstrap/js/bootstrap.min.js}"></script>
<script type="text/javascript" th:src="@{/static/res/assets/plugins/jquery/jquery.form.js}"></script>
<script type="text/javascript" th:src="@{/static/res/assets/plugins/validator/validator.js}"></script>
diff --git a/src/main/resources/templates/system/building.html b/src/main/resources/templates/system/building.html
new file mode 100644
index 0000000..01bdd0f
--- /dev/null
+++ b/src/main/resources/templates/system/building.html
@@ -0,0 +1,380 @@
+<div class="layui-card">
+ <div class="layui-card-header">
+ <h2 class="header-title">楼栋管理</h2>
+ <span class="layui-breadcrumb pull-right">
+ <a href="#">集控中心</a>
+ <a><cite>楼栋管理</cite></a>
+ </span>
+ </div>
+ <div class="layui-card-body">
+ <div id="buildingApp">
+ <el-form :inline="true" ref="buildingform" :model="buildingform" data-parsley-validate class="form-horizontal form-label-left">
+ <div class="col-md-3" >
+ <div class="form-group">
+ <label class="control-label col-md-5 col-sm-12 col-xs-12" style="font-size: 14px;">区域:</label>
+ <div class="col-md-7 col-sm-12 col-xs-12">
+ <el-select style="width:193px"
+ v-model="buildingform.regionid" placeholder="请选择"
+ > <el-option v-for="item in regionlist"
+ :key="item.value" :label="item.label" :value="item.value">
+ </el-option> </el-select>
+ </div>
+ </div>
+ </div>
+
+ <div class="col-md-4">
+ <div class="form-group">
+ <label class="control-label col-md-5 col-sm-12 col-xs-12"
+ style="font-size: 14px;">楼栋名称:</span>
+ </label>
+ <div class="col-md-7 col-sm-12 col-xs-12">
+ <el-input v-model="buildingform.buildingname" id="buildingname"></el-input>
+ </div>
+ </div>
+ </div>
+
+ <div class="col-md-3">
+ <div class="form-group">
+ <button type="button" class="btn btn-info" @click="query" id="qrybtn">查 询</button>
+ <button class="btn btn-primary" type="button" @click="addBuilding">添加楼栋</button>
+ </div>
+ </div>
+ </el-form>
+
+ <template>
+ <el-table
+ ref="singleTable"
+ :data="tableData"
+ highlight-current-row
+ @current-change="currRowChange"
+ stripe
+ max-height="2000"
+ border
+ style="width: 100%;">
+ <el-table-column
+ prop="buildingid"
+ label="楼栋编号"
+ sortable
+ width="120">
+ </el-table-column>
+ <el-table-column
+ prop="buildingname"
+ label="楼栋名称"
+ width="180">
+ </el-table-column>
+ <el-table-column
+ prop="buildingdesc"
+ label="楼栋描述"
+ width="150">
+ </el-table-column>
+ <el-table-column
+ prop="updtime"
+ label="更新时间"
+ min-width="180"
+ :formatter="updform">
+ </el-table-column>
+ <el-table-column
+ prop="regionid"
+ label="区域编号"
+ width="100">
+ </el-table-column>
+ <el-table-column
+ fixed="right"
+ label="操作"
+ width="213">
+ <template scope="scope">
+ <button type="button" class="btn btn-info btn-xs" title="编辑"
+ @click="editBuilding(scope.row.buildingid)">编辑
+ </button>
+ <button type="button" class="btn btn-danger btn-xs" title="删除"
+ @click="delBuilding(scope.row.buildingid)">删除
+ </button>
+ </template>
+ </el-table-column>
+ </el-table>
+ <div class="clearfix"></div>
+ <el-pagination
+ @size-change="handleSizeChange"
+ @current-change="currPageChange"
+ :current-page="currPage"
+ :page-sizes="[10, 20, 50, 100]"
+ :page-size="pageSize"
+ layout="prev, pager, next,sizes, jumper,total"
+ :total="totSize">
+ </el-pagination>
+ </template>
+
+ <el-dialog :title="buildingtitle" :visible.sync="dialogFormVisible" size="tiny">
+ <el-form ref="buildingDiaForm" :model="buildingDiaForm" :rules="rules" label-width="120px">
+ <el-form-item label="楼栋编号:" prop="buildingid">
+ <el-col :span="22">
+ <el-input v-model="buildingDiaForm.buildingid" ></el-input>
+ </el-col>
+ </el-form-item>
+ <el-form-item label="楼栋名称:" prop="buildingname">
+ <el-col :span="22">
+ <el-input v-model="buildingDiaForm.buildingname" ></el-input>
+ </el-col>
+ </el-form-item>
+ <el-form-item label="信息描述:" prop="buildingdesc">
+ <el-col :span="22">
+ <el-input v-model="buildingDiaForm.buildingdesc"></el-input>
+ </el-col>
+ </el-form-item>
+ <el-form-item label="所在区域:" prop="regionid">
+ <el-col :span="22">
+ <el-col :span="18">
+ <el-select v-model="buildingDiaForm.regionid" style="width: 187px;"
+ filterable
+ placeholder="请选择">
+ <el-option
+ v-for="regionid in regions"
+ :key="regionid.value"
+ :label="regionid.label"
+ :value="regionid.value">
+ </el-option>
+ </el-select>
+ </el-col>
+ </el-col>
+ </el-form-item>
+
+
+ </el-form>
+ <div slot="footer" class="dialog-footer">
+ <el-button @click="resetForm('buildingDiaForm') ">取 消</el-button>
+ <el-button type="primary" @click="saveBuilding('buildingDiaForm')">确 定</el-button>
+ </div>
+ </el-dialog>
+ </div>
+ </div>
+</div>
+
+<script>
+ var vue = new Vue({
+ el: '#buildingApp',
+ data:{
+ tableData: [],
+ currPage: 1,
+ pageSize:10,
+ totSize:0,
+ currentRow: null,
+ regionlist:[],
+ regions:[],
+ dialogFormVisible: false,
+ buildingtitle:'',
+ buildingDiaForm:{
+ buildingid:'',
+ buildingname:'',
+ buildingdesc:'',
+ regionid:'',
+ },
+ buildingform:{
+ regionid:'',
+ buildingname:'',
+ },
+
+ rules: {
+ buildingid: [
+ { required: true, message: '楼栋编号不能为空', trigger: 'blur' },
+ ],
+ buildingname:[
+ { required: true, message: '楼栋名称不能为空', trigger: 'blur' },
+ ],
+ regionid:[
+ { required: true, message: '所在区域不能为空', trigger: 'blur' },
+ ]
+ },
+
+ },
+ methods: {
+ handleSizeChange:function(val) {
+ this.pageSize=val;
+ commonQuery(this,this.buildingform.regionid,this.buildingform.buildingname,this.currPage,val);
+ },
+ currPageChange:function(val) {
+ this.currPage=val;
+ commonQuery(this,this.buildingform.regionid,this.buildingform.buildingname,this.currPage,this.pageSize);
+ },
+ currRowChange:function(val) {
+ this.currentRow = val;
+ },
+ query:function () {
+ this.pagesize=10;
+ this.currPage=1;
+ commonQuery(this,this.buildingform.regionid,this.buildingform.buildingname,this.currPage,this.pageSize);
+ },
+ addBuilding:function () {
+ getFillData(this,"-1");
+ this.dialogFormVisible = true;
+ this.buildingtitile="添加楼栋";
+ },
+ resetForm:function() {
+ this.$refs[formName].resetFields();
+ this.dialogFormVisible = false;
+ },
+ saveBuilding:function (formName) {
+ var _that=this;
+ var vali = false;
+ this.$refs[formName].validate(
+ function(valid){
+ if (valid){
+ vali = true;
+ }else{
+ vali=false;
+ }
+ });
+ if (vali==true){
+ saveData(_that,_that.buildingDiaForm,formName);
+ }
+ },
+ delBuilding:function(buildingid){
+ deletedata(buildingid);
+ },
+
+ editBuilding:function (buildingid) {
+ getFillData(this,buildingid);
+ this.dialogFormVisible = true;
+ this.buildingtitile="修改楼栋"
+ },
+ updform: function (row, column, cellValue) {
+ if (row.updtime != null) {
+ return timeformatter(row.updtime);
+ }
+ }
+ },
+ created:function(){
+ var _self=this;
+ $.ajax({
+ type:"get",
+ dataType:"json",
+ url:"/system/loadBuildingList",
+ success:function(ret){
+ _self.totSize=ret.pageResult.totalCount;
+ _self.tableData=ret.pageResult.list;
+
+ if (ret.regionList!=null) {
+ var rlist = ret.regionList;
+ var rows = [];
+ for (var i=0;i<rlist.length;i++){
+ rows.push({
+ value: rlist[i].regionid,
+ label: rlist[i].regionname
+ });
+ }
+ vue.regionlist = rows;
+ }
+ }
+ })
+ }
+ })
+
+ function commonQuery(_self,regionid,buildingname,pageno,pagesize) {
+ $.ajax({
+ type:"get",
+ dataType:"json",
+ url:encodeURI("/system/loadBuildingList?regionid="
+ +regionid+"&buildingname="+buildingname
+ +"&pageNo="+pageno+"&pageSize="+pagesize),
+ success:function(ret){
+ _self.totSize=ret.pageResult.totalCount;
+ _self.tableData=ret.pageResult.list;
+ }
+ })
+ }
+
+ function getFillData(_self, id) {
+ $.ajax({
+ type: "get",
+ dataType: "json",
+ url: encodeURI("/system/loadBuildingForUpdate?buildingid=" + id),
+ success: function (ret) {
+ var regionslist = [];
+ var rl = ret.regionslist;
+ for (var j = 0; j < rl.length; j++) {
+ regionslist.push({
+ value: rl[j]["regionid"],
+ label: rl[j]["regionname"]
+ });
+ }
+
+ if (ret.building != null) {
+ _self.buildingDiaForm.buildingid = ret.building.buildingid;
+ _self.buildingDiaForm.buildingname = ret.building.buildingname;
+ _self.buildingDiaForm.buildingdesc = ret.building.buildingdesc;
+ _self.buildingDiaForm.regionid = ret.region.regionid;
+ }
+
+ _self.regions = regionslist;
+ }
+ })
+ }
+
+ function saveData(_that,formdata,formName) {
+ var url = null;
+ if(vue.buildingtitile == "添加楼栋"){
+ url = encodeURI("/system/addBuilding");
+ }
+ if(vue.buildingtitile == "修改楼栋"){
+ url = encodeURI("/system/updateBuilding")
+ }
+ var token=$("meta[name='_csrf_token']").attr("value");
+ $.ajax({
+ type: "POST",
+ url: url,
+ dataType: "json",
+ contentType: "application/json",
+ headers: {
+ 'Accept': 'application/json',
+ 'Content-Type': 'application/json',
+ 'X-CSRF-TOKEN':token,
+ },
+ data: JSON.stringify(formdata),
+ success: function (data) {
+ if (data.errStr != "") {
+ layer.msg(data.errStr, {icon: 2,time:1000});
+ } else {
+ layer.msg('保存信息成功!', {icon: 1,time:1000});
+ refreshThisTable();
+ _that.$refs[formName].resetFields();
+ _that.dialogFormVisible = false;
+ }
+ }
+ });
+ }
+
+ function deletedata(buildingid){
+ layer.confirm('是否删除该楼栋', {icon: 3, title:'请确认',offset:'30%'},function(index){
+ $.ajax({
+ type:"get",
+ dataType:"json",
+ url:"/system/deleteBuilding?buildingid="+buildingid,
+ success:function(ret){
+ if(ret.message == undefined){
+ layer.msg('用户认证已过期,请重新登录', {icon:2,time:1000});
+ window.location="login";
+ return;
+ }
+ if (ret.message != "") {
+ layer.msg(ret.message, {icon: 2, time: 1000});
+ } else {
+ layer.msg('删除成功', {icon: 1, time: 1000});
+ refreshThisTable();
+ }
+ }
+ })
+ })
+ }
+
+
+ function refreshThisTable(){
+ $("#qrybtn").click();
+ };
+
+ function timeformatter(time) {
+
+ return time.substr(0, 4) + '-' + time.substr(4, 2) + '-' + time.substr(6, 2) + ' '
+ + time.substr(8, 2) + ':' + time.substr(10, 2) + ':' + time.substr(12, 2);
+
+ }
+
+</script>
\ No newline at end of file
diff --git a/src/main/resources/templates/system/dictionary.html b/src/main/resources/templates/system/dictionary.html
index 62fd7ed..9c77518 100644
--- a/src/main/resources/templates/system/dictionary.html
+++ b/src/main/resources/templates/system/dictionary.html
@@ -1,6 +1,6 @@
<div class="layui-card">
<div class="layui-card-header">
- <h2 class="header-title">设备管理</h2>
+ <h2 class="header-title">数据字典管理</h2>
<span class="layui-breadcrumb pull-right">
<a href="#">集控中心</a>
<a><cite>数据字典管理</cite></a>
diff --git a/src/main/resources/templates/system/queue.html b/src/main/resources/templates/system/queue.html
index e07ac0f..59ef6d8 100644
--- a/src/main/resources/templates/system/queue.html
+++ b/src/main/resources/templates/system/queue.html
@@ -1,6 +1,6 @@
<div class="layui-card">
<div class="layui-card-header">
- <h2 class="header-title">设备管理</h2>
+ <h2 class="header-title">任务调度管理</h2>
<span class="layui-breadcrumb pull-right">
<a href="#">集控中心</a>
<a><cite>任务调度管理</cite></a>
diff --git a/src/main/resources/templates/system/region.html b/src/main/resources/templates/system/region.html
new file mode 100644
index 0000000..1588b6f
--- /dev/null
+++ b/src/main/resources/templates/system/region.html
@@ -0,0 +1,445 @@
+<div class="layui-card">
+ <div class="layui-card-header">
+ <h2 class="header-title">区域管理</h2>
+ <span class="layui-breadcrumb pull-right">
+ <a href="#">集控中心</a>
+ <a><cite>区域管理</cite></a>
+ </span>
+ </div>
+ <div class="layui-card-body">
+ <div id="regionapp">
+ <el-form :inline="true" ref="regionform" :model="regionform" data-parsley-validate class="form-horizontal form-label-left">
+
+ <div class="col-md-4">
+ <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="regionform.regionname" id="regionname"></el-input>
+ </div>
+ </div>
+ </div>
+ <div class="col-md-3">
+ <div class="form-group">
+ <button type="button" class="btn btn-info" @click="query" id="qrybtn">查 询</button>
+ <button class="btn btn-primary" type="button" @click="addRegion">添加区域</button>
+ <!--<button class="btn btn-info" type="button" @click="lookTree">查看区域树形图</button>-->
+ </div>
+ </div>
+ </el-form>
+
+ <template>
+ <el-table
+ ref="singletable"
+ :data="tableData"
+ highlight-current-row
+ @current-change="currRowChange"
+ stripe
+ max-height="2000"
+ border
+ style="width: 100%">
+ <el-table-column
+ prop="regionid"
+ label="区域编号"
+ width="140">
+ </el-table-column>
+ <el-table-column
+ prop="regionname"
+ label="区域名称"
+ width="180">
+ </el-table-column>
+ <el-table-column
+ prop="level"
+ label="区域级别"
+ sortable
+ :formatter="levelform"
+ width="120">
+ </el-table-column>
+ <el-table-column
+ prop="parentname"
+ label="父区域"
+ width="180">
+ </el-table-column>
+ <el-table-column
+ prop="address"
+ label="详细地址"
+ width="200">
+ </el-table-column>
+ <el-table-column
+ prop="remarks"
+ label="备注"
+ width="180">
+ </el-table-column>
+ <el-table-column
+ label="操作"
+ width="130">
+ <template scope="scope">
+ <button type="button" class="btn btn-info btn-xs" title="编辑" @click="editRegion(scope.row.regionid)">编辑</button>
+ <button type="button" class="btn btn-danger btn-xs" title="删除" @click="delRegion(scope.row.regionid)">删除</button>
+ </template>
+ </el-table-column>
+ </el-table>
+ <div class="clearfix"></div>
+ <el-pagination
+ @size-change="handleSizeChange"
+ @current-change="currPageChange"
+ :current-page="currPage"
+ :page-sizes="[10, 20, 50, 100]"
+ :page-size="pageSize"
+ layout="prev, pager, next,sizes, jumper,total"
+ :total="totSize">
+ </el-pagination>
+ </template>
+
+ <el-dialog :title="regiontitile" :visible.sync="dialogFormVisible" >
+ <el-form ref="regionDiaForm" :model="regionDiaForm" :rules="rules" label-width="36%" >
+ <el-form-item label="区域编号:" prop="regionid">
+ <div class="el-col el-col-15">
+ <div class="el-input" style="width: 187px;">
+ <el-input v-model="regionDiaForm.regionid">
+ <i class="el-icon-edit el-input__icon" slot="icon" ></i>
+ </el-input>
+ </div>
+ </div>
+ </el-form-item>
+
+ <el-form-item label="区域名称:" prop="regionname">
+ <div class="el-col el-col-18">
+ <div class="el-input" style="width: 187px;">
+ <el-input v-model="regionDiaForm.regionname">
+ <i class="el-icon-edit el-input__icon" slot="icon" ></i>
+ </el-input>
+ </div>
+ </div>
+ </el-form-item>
+
+ <el-form-item label="区域级别:" prop="level">
+ <el-col :span="18">
+ <el-select v-model="regionDiaForm.level" style="width: 187px;"
+ filterable
+ @Change="levelChange"
+ placeholder="请选择">
+ <el-option
+ v-for="level in levels"
+ :key="level.value"
+ :label="level.label"
+ :value="level.value">
+ </el-option>
+ </el-select>
+ </el-col>
+ </el-form-item>
+
+ <el-form-item label="父区域:" prop="parentid">
+ <el-col :span="18">
+ <el-select v-model="regionDiaForm.parentid"
+ style="width: 187px;" clearable
+ filterable
+ :disabled="parentRegionDis"
+ placeholder="请选择">
+ <el-option
+ v-for="parentid in parentRegions"
+ :key="parentid.value"
+ :label="parentid.label"
+ :value="parentid.value">
+ </el-option>
+ </el-select>
+ </el-col>
+ </el-form-item>
+
+ <el-form-item label="详细地址:" prop="address">
+ <el-col :span="18">
+ <el-input v-model.number="regionDiaForm.address" style="width: 187px;">
+ <i class="el-icon-edit el-input__icon" slot="icon" ></i>
+ </el-input>
+ </el-col>
+ </el-form-item>
+
+ <el-form-item label="备注:" prop="remarks">
+ <el-col :span="18">
+ <el-input v-model.number="regionDiaForm.remarks" style="width: 187px;">
+ <i class="el-icon-edit el-input__icon" slot="icon" ></i>
+ </el-input>
+ </el-col>
+ </el-form-item>
+
+ </el-form>
+ <div slot="footer" class="dialog-footer">
+ <el-button @click="resetForm('regionDiaForm') ">取 消</el-button>
+ <el-button type="primary" @click="saveRegion('regionDiaForm')">确 定</el-button>
+ </div>
+ </el-dialog>
+ </div>
+ </div>
+</div>
+
+<script>
+ var vue = new Vue({
+ el:'#regionapp',
+ data:{
+ tableData:[],
+ currPage: 1,
+ pageSize:10,
+ totSize:0,
+ currentRow: null,
+ parentRegionDis:false,
+ regionform:{
+ regionname:''
+ },
+ dialogFormVisible: false,
+ dlgAllotDevVisible:false,
+ parentRegions:[],
+ levels:[],
+ regionDiaForm:{
+ regionid:'',
+ regionname:'',
+ level:'',
+ parentid:'',
+ address:'',
+ remarks:''
+ },
+ rules:{
+ regionid:[
+ {required:true,message:'请输入区域编号',trigger:'blur'},
+ ],
+ regionname:[
+ {required:true,message:'请输入区域名称',trigger:'blur'},
+ ],
+ level: [
+ {required: true, message: '请选择区域级别', trigger: 'blur'}
+ ],
+ parentid: [
+ {required: true, message: '请选择父区域', trigger: 'blur'}
+ ],
+ address: [
+ {required: true, message: '请输入详细地址', trigger: 'blur'}
+ ]
+ },
+ regiontitile:'添加区域',
+ },
+ methods:{
+ handleSizeChange:function(val) {
+ this.pageSize=val;
+ commonQuery(this,this.regionform.regionname,this.currPage,val);
+ //console.log('每页条'+val);
+ },
+ currPageChange:function(val) {
+ this.currPage=val;
+ commonQuery(this,this.regionform.regionname,this.currPage,this.pageSize);
+ //console.log('当前页:'+val);
+ },
+ currRowChange:function(val) {
+ this.currentRow = val;
+ },
+ query:function(){
+ this.pagesize=10;
+ this.currPage=1;
+ commonQuery(this,this.regionform.regionname,this.currPage,this.pageSize);
+ },
+ addRegion:function () {
+ getFillData(this,"-1");
+ this.dialogFormVisible = true;
+ this.regiontitle="添加区域"
+ },
+ delRegion:function(regionid){
+ deletedata(regionid);
+ },
+ editRegion:function(regionid){
+ this.parentRegionDis=false;
+ getFillData(this,regionid);
+ this.dialogFormVisible = true;
+ this.regiontitile="修改区域"
+ },
+ resetForm: function (formName) {
+ this.$refs[formName].resetFields();
+ this.dialogFormVisible = false;
+ },
+ saveRegion:function (formName) {
+ var _that=this;
+ var vali = false;
+ this.$refs[formName].validate(
+ function(valid){
+ if (valid){
+ vali = true;
+ }else{
+ vali=false;
+ }
+ });
+ if (vali==true){
+ saveData(_that,_that.regionDiaForm,formName);
+ }
+ },
+ levelChange: function (value) {
+ if (value == 0) {
+ this.parentRegionDis = true;
+ } else {
+ this.parentRegionDis = false;
+ getFregion(this,value);
+ }
+ },
+ levelform: function (row, column, cellValue) {
+ return row.level+"级";
+ }
+ },
+ created:function(){
+ var _self=this;
+ $.ajax({
+ type:"get",
+ dataType:"json",
+ url:encodeURI("/system/loadRegionList?regionname="),
+ success:function(ret){
+ //console.log(ret);
+ _self.totSize=ret.PageResult.totalCount;
+ _self.tableData=ret.PageResult.list;
+ }
+ })
+ }
+ })
+
+ function refreshThisTable(){
+ $("#qrybtn").click();
+ };
+
+ function commonQuery(_self,regionname,pageno,pagesize){
+ $.ajax({
+ type: "get",
+ dataType: "json",
+ url: encodeURI("/system/loadRegionList?regionname=" + regionname + "&pageNo=" + pageno + "&pageSize=" + pagesize),
+ success: function (ret) {
+ _self.totSize = ret.PageResult.totalCount;
+ _self.tableData = ret.PageResult.list;
+ if (_self.totSize == 0) {
+ layer.msg("暂无数据", {icon: 2, time: 1000});
+ }
+ }
+ })
+ }
+
+ function deletedata(regionid){
+ layer.confirm('是否删除该区域', {icon: 3, title:'请确认',offset:'30%'},function(index){
+ $.ajax({
+ type:"get",
+ dataType:"json",
+ url:"/system/deleteRegion?regionid="+regionid,
+ success:function(ret){
+ if(ret.message == undefined){
+ layer.msg('用户认证已过期,请重新登录', {icon:2,time:1000});
+ window.location="login";
+ return;
+ }
+ if (ret.message != "") {
+ layer.msg(ret.message, {icon: 2, time: 1000});
+ } else {
+ layer.msg('删除成功', {icon: 1, time: 1000});
+ refreshThisTable();
+ }
+ }
+ })
+ })
+ }
+
+
+ function getFillData(_self, id) {
+ $.ajax({
+ type: "get",
+ dataType: "json",
+ url: encodeURI("/system/loadRegionForUpdate?regionid=" + id),
+ success: function (ret) {
+ var dictlist = [];
+ var parentlist = [];
+ var dict = ret.dicts;
+ for (var i = 0; i < dict.length; i++) {
+ dictlist.push({
+ value: dict[i]["dictval"],
+ label: dict[i]["dictcaption"]
+
+ });
+ }
+ _self.levels = dictlist;
+
+ if (ret.region != null) {
+ _self.regionDiaForm.regionid = ret.region.regionid;
+ _self.regionDiaForm.regionname = ret.region.regionname;
+ _self.regionDiaForm.level = ret.region.level;
+ _self.regionDiaForm.parentid = ret.region.parentid;
+ _self.regionDiaForm.address = ret.region.address;
+ if (ret.region.level == 0) {
+ _self.parentRegionDis = true;
+ }
+ _self.regionDiaForm.remarks = ret.region.remarks;
+
+ }
+
+
+ var fRegion = ret.fRegion;
+ for (var j=0;j<fRegion.length;j++){
+ parentlist.push({
+ value:fRegion[j]["regionid"],
+ label:fRegion[j]["regionname"]
+ });
+ }
+
+ _self.parentRegions = parentlist;
+ }
+ })
+ }
+
+ /* function lookTree(){
+ alert(tree);
+ }*/
+
+
+ function saveData(_that,formdata,formName){
+ var url = null;
+ if(vue.regiontitile == "添加区域"){
+ url = encodeURI("/system/addRegion");
+ }
+ if(vue.regiontitile == "修改区域"){
+ url = encodeURI("/system/updateRegion")
+ }
+ var token=$("meta[name='_csrf_token']").attr("value");
+ $.ajax({
+ type: "POST",
+ url: url,
+ dataType: "json",
+ contentType: "application/json",
+ headers: {
+ 'Accept': 'application/json',
+ 'Content-Type': 'application/json',
+ 'X-CSRF-TOKEN':token,
+ },
+ data: JSON.stringify(formdata),
+ success: function (data) {
+ if (data.errStr != "") {
+ layer.msg(data.errStr, {icon: 2,time:1000});
+ } else {
+ layer.msg('保存信息成功!', {icon: 1,time:1000});
+ refreshThisTable();
+ _that.$refs[formName].resetFields();
+ _that.dialogFormVisible = false;
+ }
+ }
+ });
+ }
+
+
+ function getFregion(_self,value){
+ $.ajax({
+ type: "get",
+ dataType: "json",
+ url: encodeURI("/system/getFregion?level=" + value),
+ success: function (ret) {
+ var fList = [];
+ var parentRegion = ret.parentRegion;
+ for (var j=0;j<parentRegion.length;j++){
+ fList.push({
+ value:parentRegion[j]["regionid"],
+ label:parentRegion[j]["regionname"]
+ });
+ }
+
+ _self.parentRegions = fList;
+ }
+ })
+ }
+
+</script>
\ No newline at end of file
diff --git a/src/main/resources/templates/system/role/func.html b/src/main/resources/templates/system/role/func.html
index 61cc1b1..48d1ecc 100755
--- a/src/main/resources/templates/system/role/func.html
+++ b/src/main/resources/templates/system/role/func.html
@@ -34,6 +34,7 @@
admin.dgo('/role/func', {
roleId: func,
}, function (data) {
+ debugger
layer.closeAll('loading');
if (data.code == 200) {
initTree(data.node);