设备管理,时间段时间组时间周管理页面功能实现
diff --git a/build.gradle b/build.gradle
index c97349e..e073b25 100644
--- a/build.gradle
+++ b/build.gradle
@@ -56,6 +56,9 @@
     implementation group: 'commons-codec', name: 'commons-codec', version: '1.6'
     implementation files('libs/ojdbc6.jar')
 
+    implementation 'cn.afterturn:easypoi-web:3.0.3'
+    implementation 'cn.afterturn:easypoi-base:3.0.3'
+
 
     annotationProcessor "org.springframework.boot:spring-boot-configuration-processor"
 
diff --git a/src/main/java/com/supwisdom/dlpay/ncmgr/bean/NcDevBean.java b/src/main/java/com/supwisdom/dlpay/ncmgr/bean/NcDevBean.java
new file mode 100644
index 0000000..107133c
--- /dev/null
+++ b/src/main/java/com/supwisdom/dlpay/ncmgr/bean/NcDevBean.java
@@ -0,0 +1,85 @@
+package com.supwisdom.dlpay.ncmgr.bean;

+

+public class NcDevBean {

+    private int deviceid;

+    private String devname;

+    private String devphyid;

+    private String ip;

+    private int fdevid;

+    private String devtype;

+    private int devno;

+    private String usetype;

+    private String buildingid;

+

+    public int getDeviceid() {

+        return deviceid;

+    }

+

+    public void setDeviceid(int deviceid) {

+        this.deviceid = deviceid;

+    }

+

+    public String getDevname() {

+        return devname;

+    }

+

+    public void setDevname(String devname) {

+        this.devname = devname;

+    }

+

+    public String getDevphyid() {

+        return devphyid;

+    }

+

+    public void setDevphyid(String devphyid) {

+        this.devphyid = devphyid;

+    }

+

+    public String getIp() {

+        return ip;

+    }

+

+    public void setIp(String ip) {

+        this.ip = ip;

+    }

+

+    public int getFdevid() {

+        return fdevid;

+    }

+

+    public void setFdevid(int fdevid) {

+        this.fdevid = fdevid;

+    }

+

+    public String getDevtype() {

+        return devtype;

+    }

+

+    public void setDevtype(String devtype) {

+        this.devtype = devtype;

+    }

+

+    public int getDevno() {

+        return devno;

+    }

+

+    public void setDevno(int devno) {

+        this.devno = devno;

+    }

+

+    public String getBuildingid() {

+        return buildingid;

+    }

+

+    public void setBuildingid(String buildingid) {

+        this.buildingid = buildingid;

+    }

+

+    public String getUsetype() {

+        return usetype;

+    }

+

+    public void setUsetype(String usetype) {

+        this.usetype = usetype;

+    }

+}

diff --git a/src/main/java/com/supwisdom/dlpay/ncmgr/bean/NcTimeBean.java b/src/main/java/com/supwisdom/dlpay/ncmgr/bean/NcTimeBean.java
new file mode 100644
index 0000000..cc51b13
--- /dev/null
+++ b/src/main/java/com/supwisdom/dlpay/ncmgr/bean/NcTimeBean.java
@@ -0,0 +1,33 @@
+package com.supwisdom.dlpay.ncmgr.bean;
+
+public class NcTimeBean {
+	private int timeid;
+	private String timename;
+	private String btime;
+	private String etime;
+	public String getTimename() {
+		return timename;
+	}
+	public void setTimename(String timename) {
+		this.timename = timename;
+	}
+	public int getTimeid() {
+		return timeid;
+	}
+	public void setTimeid(int timeid) {
+		this.timeid = timeid;
+	}
+	public String getBtime() {
+		return btime;
+	}
+	public void setBtime(String btime) {
+		this.btime = btime;
+	}
+	public String getEtime() {
+		return etime;
+	}
+	public void setEtime(String etime) {
+		this.etime = etime;
+	}
+}
+
diff --git a/src/main/java/com/supwisdom/dlpay/ncmgr/controller/NcMgrController.java b/src/main/java/com/supwisdom/dlpay/ncmgr/controller/NcMgrController.java
new file mode 100644
index 0000000..c052817
--- /dev/null
+++ b/src/main/java/com/supwisdom/dlpay/ncmgr/controller/NcMgrController.java
@@ -0,0 +1,880 @@
+package com.supwisdom.dlpay.ncmgr.controller;

+

+import com.supwisdom.dlpay.framework.util.DateUtil;

+import com.supwisdom.dlpay.ncmgr.bean.NcDevBean;

+import com.supwisdom.dlpay.ncmgr.bean.NcTimeBean;

+import com.supwisdom.dlpay.ncmgr.domain.*;

+import com.supwisdom.dlpay.ncmgr.service.NcService;

+import com.supwisdom.dlpay.system.domain.TDictionaryId;

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

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

+import com.supwisdom.dlpay.util.RedisUtil;

+import org.apache.log4j.Logger;

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

+import org.springframework.stereotype.Controller;

+import org.springframework.ui.ModelMap;

+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;

+

+@Controller

+@RequestMapping("/ncmgr")

+public class NcMgrController {

+    protected static Logger logger = Logger.getLogger(NcMgrController.class);

+

+    @Autowired

+    private NcService ncService;

+    @Autowired

+    private SystemService systemService;

+

+    @RequestMapping("/devindex")

+    public String devindex(ModelMap model) {

+        return "ncmgr/nc_dev";

+    }

+

+    @GetMapping("/timeindex")

+    public String timeindex() {

+        return "ncmgr/nc_time";

+    }

+

+    @GetMapping("/timegrpindex")

+    public String timegrpdex() {

+        return "ncmgr/nc_timegrp";

+    }

+

+    @GetMapping("/weektimeindex")

+    public String weektimeindex() {

+        return "ncmgr/nc_weektime";

+    }

+

+    @RequestMapping("/devweek")

+    public String devweek(ModelMap model){

+        return "ncmgr/nc_devweek";

+    }

+

+    /**

+     * 查询设备信息

+     * @param request

+     * @param response

+     * @param pageNo

+     * @param pageSize

+     * @param devname

+     * @param buildingid

+     * @param devtype

+     * @return

+     */

+    @RequestMapping("/loadDevList")

+    @ResponseBody

+    public Map loadDevList(HttpServletRequest request,

+                           HttpServletResponse response,

+                           @RequestParam(value = "pageNo", required = false, defaultValue = "1") int pageNo,

+                           @RequestParam(value = "pageSize", required = false, defaultValue = "10") int pageSize,

+                           @RequestParam(value = "devname", required = false, defaultValue = "") String devname,

+                           @RequestParam(value = "buildingid", required = false, defaultValue = "") String buildingid,

+                           @RequestParam(value = "devtype", required = false, defaultValue = "") String devtype){

+        Map map = new HashMap();

+        try{

+            Pagination page = null;

+            page = ncService.getNcDeviceWithPage(devname, pageNo, pageSize, map, buildingid, devtype);

+            map.put("PageResult", page);

+            List<TDictionaryId> dicts = systemService.findTDictionaryByType(8);

+            map.put("dicts", dicts);

+            List<TBuilding> buildings = ncService.getAllBuilding();

+            map.put("buildings", buildings);

+            List<TNcDevice> devices = ncService.getDevByType("C");

+            map.put("devices", devices);

+        }catch (Exception e){

+            e.printStackTrace();

+            logger.error("查询设备失败:" + e.getMessage());

+        }

+        return map;

+    }

+

+    /**

+     * 获取设备信息

+     * @param deviceid

+     * @return

+     */

+    @RequestMapping("/loadNcDevForUpdate")

+    @ResponseBody

+    public Map loadNcDevForUpdate(@RequestParam(value = "deviceid") int deviceid){

+        Map map = new HashMap();

+        try {

+            TNcDevice device = ncService.findDevById(deviceid);

+            map.put("device", device);

+            List<TDictionaryId> dicts = systemService.findTDictionaryByType(8);//设备类型  C:控制器  R:读头

+            map.put("dicts", dicts);

+            List<TBuilding> buildings = ncService.getAllBuilding();

+            map.put("buildings", buildings);

+            List<TNcDevice> devices = ncService.getDevByType("C");//根据设备类型获取设备

+            map.put("devices", devices);

+            List<TDictionaryId> devUseType = systemService.findTDictionaryByType(16);//获取设备使用类别

+            map.put("devUseType", devUseType);

+        } catch (Exception e) {

+            e.printStackTrace();

+        }

+        return map;

+    }

+

+    /**

+     * 添加或修改设备

+     * @param postData

+     * @param request

+     * @param response

+     * @return

+     */

+    @PostMapping("/saveNcDev")

+    @ResponseBody

+    public Map saveNcDev(@RequestBody NcDevBean postData,

+                         HttpServletRequest request, HttpServletResponse response){

+        Map map = new HashMap();

+        try {

+            //需要校验名称,读头编号,物理编号是否重复

+            //大于0则更新,否则为新加记录

+            TNcDevice device;

+            if (postData.getDeviceid()>0) {

+                device = ncService.validDevName(postData.getDeviceid(), postData.getDevname());

+                if (device != null && device.getDeviceid() > 0) {

+                    map.put("errStr", "设备名称已经存在!");

+                    return map;

+                }

+                device = ncService.validDevPhyid(postData.getDeviceid(),postData.getDevphyid());

+                if (device !=null && device.getDeviceid()>0){

+                    map.put("errStr", "设备物理编号已经存在!");

+                    return map;

+                }

+                if(postData.getDevtype().equals("R")){

+                    device = ncService.validDevNo(postData.getFdevid(),postData.getDevno(),postData.getDeviceid());

+                    if (device !=null && device.getDeviceid()>0){

+                        map.put("errStr", "该控制器下读头号已经存在!");

+                        return map;

+                    }

+                    TNcDevice fDev = ncService.findDevById(postData.getFdevid());

+                    TBuilding buidingF = ncService.getBuidingById(fDev.getBuildingid());

+                    if (!postData.getBuildingid().equals(buidingF.getBuildingid())){

+                        map.put("errStr", "该读头和其控制器读头楼栋不一致!");

+                        return map;

+                    }

+                }

+

+                TNcDevice devUpdate = ncService.findDevById(postData.getDeviceid());

+                devUpdate.setDevname(postData.getDevname());

+                devUpdate.setDevphyid(postData.getDevphyid());

+                devUpdate.setDevtype(postData.getDevtype());

+                devUpdate.setFdevid(postData.getFdevid());

+                devUpdate.setDevno(postData.getDevno());

+                devUpdate.setIp(postData.getIp());

+                devUpdate.setOperflag("A");

+                devUpdate.setSyncfalg("S");

+                devUpdate.setUpdtime(DateUtil.getNow());

+                devUpdate.setSynctime(DateUtil.getNow());

+                devUpdate.setBuildingid(postData.getBuildingid());

+                TBuilding buiding = ncService.getBuidingById(postData.getBuildingid());

+                devUpdate.setBuildingname(buiding.getBuildingname());

+

+                ncService.updateDevice(devUpdate);

+

+                map.put("errStr", "");

+            }else {

+                //添加设备

+                device = ncService.validDevName(0,postData.getDevname());

+                if (device !=null && device.getDeviceid()>0){

+                    map.put("errStr", "设备名称已经存在!");

+                    return map;

+                }

+                device = ncService.validDevPhyid(0,postData.getDevphyid());

+                if (device !=null && device.getDeviceid()>0){

+                    map.put("errStr", "设备物理编号已经存在!");

+                    return map;

+                }

+                if(postData.getDevtype().equals("R")){

+                    device = ncService.validDevNo(postData.getFdevid(),postData.getDevno(),0);

+                    if (device !=null && device.getDeviceid()>0){

+                        map.put("errStr", "该控制器下读头号已经存在!");

+                        return map;

+                    }

+                    TNcDevice fDev = ncService.findDevById(postData.getFdevid());

+                    TBuilding buidingF = ncService.getBuidingById(fDev.getBuildingid());

+                    if (!postData.getBuildingid().equals(buidingF.getBuildingid())){

+                        map.put("errStr", "该读头和其控制器读头楼栋不一致!");

+                        return map;

+                    }

+                }

+                if(postData.getDevtype().equals("R")){

+                    RedisUtil.del("ncdev_" + postData.getDevphyid() + "_" + postData.getDevno());

+                    RedisUtil.set("ncdev_" + postData.getDevphyid() + "_" + postData.getDevno(),String.valueOf(postData.getDeviceid()));

+                }

+

+                int maxId = ncService.getMaxId();

+                TNcDevice devAdd = new TNcDevice();

+                devAdd.setDeviceid(maxId+1);

+                devAdd.setDevname(postData.getDevname());

+                devAdd.setDevphyid(postData.getDevphyid().toUpperCase());

+                devAdd.setDevtype(postData.getDevtype());

+                devAdd.setFdevid(postData.getFdevid());

+                devAdd.setDevno(postData.getDevno());

+                devAdd.setIp(postData.getIp());

+                devAdd.setBuildingid(postData.getBuildingid());

+                TBuilding buiding = ncService.getBuidingById(postData.getBuildingid());

+                devAdd.setBuildingname(buiding.getBuildingname());

+                devAdd.setOperflag("A");

+                devAdd.setSyncfalg("S");

+                devAdd.setUpdtime(DateUtil.getNow());

+                devAdd.setSynctime(DateUtil.getNow());

+                devAdd.setUsetype(postData.getUsetype());

+                TNcDevice fdev = ncService.findDevById(postData.getFdevid());

+                if(postData.getDevtype().equals("R")){

+                    RedisUtil.set("ncdev_" + fdev.getDevphyid() + "_" + postData.getDevno(),String.valueOf(maxId+1));

+                }

+                ncService.saveDevice(devAdd);

+                map.put("errStr", "");

+            }

+        }catch (Exception e){

+            e.printStackTrace();

+            map.put("errStr", "添加设备失败!");

+            logger.error("添加设备失败:" + e.getMessage());

+        }

+        return map;

+    }

+

+    /**

+     * 设备删除

+     * @param devid

+     * @param request

+     * @param response

+     * @return

+     */

+    @RequestMapping(value = "/deleteNcDev", method = {RequestMethod.GET})

+    @ResponseBody

+    public Map deleteNcDev(@RequestParam(value = "devid") int devid,

+                              HttpServletRequest request, HttpServletResponse response) {

+        Map map = new HashMap();

+        String message = "";

+        try {

+            TNcDevice dev = ncService.getDevInfoByDevid(devid);

+            if(dev!=null){

+                RedisUtil.del("ncdev_" + dev.getDevphyid() + "_" + dev.getDevno());

+            }

+

+            ncService.delDevById(devid);

+            RedisUtil.incr("zcard_max_version");

+

+        } catch (Exception e) {

+            e.printStackTrace();

+            message = "删除设备出现异常!";

+            logger.error("删除设备失败:" + e.getMessage());

+        }

+        map.put("message", message);

+        return map;

+

+    }

+

+    /**

+     * 清除设备名单

+     * @param devid

+     * @param request

+     * @param response

+     * @return

+     */

+    @RequestMapping(value = "/listClean", method = {RequestMethod.GET})

+    @ResponseBody

+    public Map listClean(@RequestParam(value = "devid") int devid,

+                         HttpServletRequest request, HttpServletResponse response){

+        Map map = new HashMap();

+        String message="";

+        try{

+            TNcCardlist cleanList = ncService.getCleanList(devid + "");

+            if (cleanList==null) {

+                //如果该设备没有清空专用名单则添加一个(直接添加到同步表里)

+                TNcCardlist tNcCardlist = new TNcCardlist();

+                long listid = RedisUtil.incr("seq_door");

+                tNcCardlist.setListid(listid + "");

+                tNcCardlist.setCustid(0);

+                tNcCardlist.setStuempno("");

+                tNcCardlist.setCustname(devid + "设备清除名单");

+                tNcCardlist.setCardno(0);

+                tNcCardlist.setCardphyid("FFFFFFFF");

+                tNcCardlist.setDeptcode("");

+                tNcCardlist.setDeptname("");

+                tNcCardlist.setClosedate("20991231");

+                tNcCardlist.setDeviceid(devid + "");

+                //清除名单专用标志

+                tNcCardlist.setOperflag("C");

+                tNcCardlist.setRectime(DateUtil.getNow());

+                tNcCardlist.setSynctime("");

+                tNcCardlist.setSyncflag("N");

+                tNcCardlist.setRtnflag("N");

+                tNcCardlist.setRtntime("");

+                ncService.saveCardlist(tNcCardlist);

+            }

+        }catch (Exception e){

+            e.printStackTrace();

+            message = "设备名单清空异常!";

+            logger.error("设备名单清空失败:"+e.getMessage());

+        }

+        map.put("message", message);

+        return map;

+    }

+

+    /**

+     * 设备名单重下

+     * @param devid

+     * @param request

+     * @param response

+     * @return

+     */

+    @RequestMapping(value = "/listReload", method = {RequestMethod.GET})

+    @ResponseBody

+    public Map listReload(@RequestParam(value = "devid") int devid,

+                          HttpServletRequest request, HttpServletResponse response){

+        Map map = new HashMap();

+        String message="";

+        try{

+            //修改该设备名单同步标志为未同步

+            ncService.updateForListReload(devid+"");

+        }catch (Exception e){

+            e.printStackTrace();

+            message = "设备名单重下异常!";

+            logger.error("设备名单重下失败"+e.getMessage());

+        }

+        map.put("message", message);

+        return map;

+    }

+

+    /**

+     * 获取时间段

+     * @param request

+     * @param response

+     * @param pageNo

+     * @param pageSize

+     * @param timename

+     * @return

+     */

+    @RequestMapping(value = "/loadTimeList")

+    @ResponseBody

+    public Map loadTimeList(HttpServletRequest request,

+                            HttpServletResponse response,

+                            @RequestParam(value = "pageNo", required = false, defaultValue = "1") int pageNo,

+                            @RequestParam(value = "pageSize", required = false, defaultValue = "10") int pageSize,

+                            @RequestParam(value = "timename", required = true, defaultValue = "") String timename){

+        Map map = new HashMap();

+        try {

+            Pagination page = null;

+            page = ncService.getNcTimeWithPage(timename, pageNo, pageSize, map);

+            map.put("PageResult", page);

+        }catch (Exception e){

+            e.printStackTrace();

+            logger.error("查询设备失败:" + e.getMessage());

+        }

+        return map;

+    }

+

+    /**

+     * 删除时间段

+     * @param timeid

+     * @param request

+     * @param response

+     * @return

+     */

+    @RequestMapping(value = "/deleteNcTime", method = {RequestMethod.GET})

+    @ResponseBody

+    public Map deleteNcTime(@RequestParam(value = "timeid") int timeid,

+                            HttpServletRequest request, HttpServletResponse response){

+        Map map = new HashMap();

+        String message = "";

+        int flag=0;

+        try {

+            List<String> timegrpIdById = ncService.getTimegrpIdById(timeid);

+            if(timegrpIdById.size()>0){

+                message = "时间段已被应用于时间组,删除失败!";

+                flag=1;

+            }else {

+                ncService.delTimeByTimeId(timeid);

+                ncService.updListVersion();

+            }

+        } catch (Exception e) {

+            e.printStackTrace();

+            message = "删除时间段出现异常!";

+            logger.error("删除时间段失败:" + e.getMessage());

+        }

+        map.put("flag",flag);

+        map.put("message", message);

+        return map;

+    }

+

+    /**

+     * 获取时间段信息

+     * @param timeid

+     * @return

+     */

+    @RequestMapping("/loadNcTimeForUpdate")

+    @ResponseBody

+    public Map loadNcTimeForUpdate(@RequestParam(value = "timeid") int timeid) {

+        Map map = new HashMap();

+        try {

+            TNcTime time = ncService.findByTimeId(timeid);

+            map.put("time", time);

+        } catch (Exception e) {

+            e.printStackTrace();

+        }

+        return map;

+    }

+

+    /**

+     * 添加时间段

+     * @param postData

+     * @param request

+     * @param response

+     * @return

+     */

+    @RequestMapping(value = "/addNcTime", method = {RequestMethod.POST})

+    @ResponseBody

+    public Map addNcTime(@RequestBody NcTimeBean postData,

+                              HttpServletRequest request, HttpServletResponse response) {

+        Map map = new HashMap();

+        try {

+            TNcTime time = ncService.findByTimeName(postData.getTimename());

+            TNcTime ts = null;

+            if (time == null) {

+                int timeid = ncService.getMaxTimeId();

+                ts = new TNcTime();

+                ts.setTimeid(timeid+1);

+                ts.setTimename(postData.getTimename());

+                ts.setBtime(postData.getBtime());

+                ts.setEtime(postData.getEtime());

+                ts.setOperflag("A");

+                ts.setSyncflag("");

+                ts.setUpdtime(DateUtil.getNow());

+

+                ncService.saveTime(ts);

+                map.put("errStr", "");

+            } else {

+                map.put("errStr", "时间段名称已经存在,请修改!");

+                return map;

+            }

+        } catch (Exception e) {

+            e.printStackTrace();

+            map.put("errStr", "添加时间段失败!");

+            logger.error("添加时间段失败:" + e.getMessage());

+        }

+        return map;

+    }

+

+    /**

+     * 修改时间段信息

+     * @param bean

+     * @param request

+     * @return

+     */

+    @RequestMapping(value = "/updateNcTime", method = {RequestMethod.POST})

+    @ResponseBody

+    public Map updateNcTime(@RequestBody NcTimeBean bean,

+                                 HttpServletRequest request) {

+        Map map = new HashMap();

+        try {

+            if (bean == null) {

+                map.put("errStr", "请先选择时间段,然后再修改!");

+                return map;

+            }

+            TNcTime temp = ncService.findByIdAndName(bean.getTimeid(), bean.getTimename());

+            if (temp != null) {

+                map.put("errStr", "该时间段名称已存在,请重新修改!");

+                return map;

+            }

+

+            TNcTime time = ncService.findByTimeId(bean.getTimeid());

+            time.setTimename(bean.getTimename());

+            time.setBtime(bean.getBtime());

+            time.setEtime(bean.getEtime());

+            time.setOperflag("A");//操作标记  A:添加   D:删除

+            time.setSyncflag("");

+            time.setUpdtime(DateUtil.getNow());

+            ncService.updateTime(time);

+            ncService.updListVersion();

+            RedisUtil.incr("zcard_max_version");

+            map.put("errStr", "");

+        } catch (Exception e) {

+            e.printStackTrace();

+            map.put("errStr", "修改时间段信息失败!");

+            logger.error("时间段信息修改:" + e.getMessage());

+        }

+        return map;

+    }

+

+    /**

+     * 分页获取所有时间组信息

+     *

+     * @param request

+     * @param response

+     * @param pageNo

+     * @param pageSize

+     * @param timegrpname 时间组名称

+     * @return

+     */

+    @RequestMapping(value = "/loadTimegrpList")

+    @ResponseBody

+    public Map loadTimegrpList(

+            HttpServletRequest request,

+            HttpServletResponse response,

+            @RequestParam(value = "pageNo", required = false, defaultValue = "1") int pageNo,

+            @RequestParam(value = "pageSize", required = false, defaultValue = "10") int pageSize,

+            @RequestParam(value = "timegrpname", required = true, defaultValue = "") String timegrpname) {

+        Map map = new HashMap();

+        try {

+            Pagination page = null;

+            page = ncService.getNcTimeGrpWithPage(timegrpname, pageNo, pageSize, map);

+            List<TNcTime> timelist = ncService.findAllNcTime();

+            map.put("PageResult", page);

+            map.put("timelist", timelist);

+        } catch (Exception e) {

+            e.printStackTrace();

+            logger.error("查询时间组失败:" + e.getMessage());

+        }

+        return map;

+    }

+

+    /**

+     * 获取时间组信息

+     *

+     * @param timegrpid 时间组编号

+     * @return

+     */

+    @RequestMapping("/loadNcTimeGrpForUpdate")

+    @ResponseBody

+    public Map loadNcTimeGrpForUpdate(

+                                        @RequestParam(value = "timegrpid") int timegrpid) {

+        Map map = new HashMap();

+        try {

+            TNcTimegrp timegrp = ncService.findByTimeGrpId(timegrpid);

+            map.put("timegrp", timegrp);

+            List<TNcTime> timelist = ncService.findAllNcTime();

+            map.put("timelist", timelist);

+        } catch (Exception e) {

+            e.printStackTrace();

+            logger.error("获取时间组信息失败:" + e.getMessage());

+        }

+        return map;

+    }

+

+

+    /**

+     * 添加时间组

+     *

+     * @param postData 时间组信息

+     * @param request

+     * @param response

+     * @return

+     */

+    @RequestMapping(value = "/addNcTimegrp", method = {RequestMethod.POST})

+    @ResponseBody

+    public Map addNcTime(@RequestBody TNcTimegrp postData,

+                              HttpServletRequest request, HttpServletResponse response) {

+        Map map = new HashMap();

+        try {

+            TNcTimegrp timegrp = ncService.findByTimeGrpName(postData.getTimegrpname());

+

+            TNcTimegrp ts = null;

+            if (timegrp == null) {

+                int timegrpid = ncService.getMaxTimeGrpId();

+                ts = new TNcTimegrp();

+                ts.setTimegrpid(timegrpid+1);

+                ts.setTimegrpname(postData.getTimegrpname());

+                ts.setTimeid1(postData.getTimeid1());

+                ts.setTimeid2(postData.getTimeid2());

+                ts.setTimeid3(postData.getTimeid3());

+                ts.setTimeid4(postData.getTimeid4());

+                ts.setTimeid5(postData.getTimeid5());

+                ts.setTimeid6(postData.getTimeid6());

+                ts.setAdddelflag(1);

+                ts.setDownstatus(0);

+                ts.setUpdatetime(DateUtil.getNow());

+

+                ncService.saveTimegrp(ts);

+                map.put("errStr", "");

+            } else {

+                map.put("errStr", "时间组名称已经存在,请修改!");

+                return map;

+            }

+        } catch (Exception e) {

+            e.printStackTrace();

+            map.put("errStr", "添加时间组失败!");

+            logger.error("添加时间组失败:" + e.getMessage());

+        }

+        return map;

+    }

+

+    /**

+     * 修改时间组信息

+     * @param bean

+     * @param request

+     * @return

+     */

+    @ResponseBody

+    @RequestMapping(value = "/updateNcTimegrp", method = {RequestMethod.POST})

+    public Map updateNcTimegrp(@RequestBody TNcTimegrp bean,

+                                    HttpServletRequest request) {

+        Map map = new HashMap();

+        try {

+            if (bean == null) {

+                map.put("errStr", "请先选择时间组,然后再修改!");

+                return map;

+            }

+            TNcTimegrp temp = ncService.findByGrpIdAndName(bean.getTimegrpid(), bean.getTimegrpname());

+            if (temp != null) {

+                map.put("errStr", "该时间组名称已存在,请重新修改!");

+                return map;

+            }

+

+            TNcTimegrp timegrp = ncService.findByTimeGrpId(bean.getTimegrpid());

+            timegrp.setTimegrpname(bean.getTimegrpname());

+            timegrp.setTimeid1(bean.getTimeid1());

+            timegrp.setTimeid2(bean.getTimeid2());

+            timegrp.setTimeid3(bean.getTimeid3());

+            timegrp.setTimeid4(bean.getTimeid4());

+            timegrp.setTimeid5(bean.getTimeid5());

+            timegrp.setTimeid6(bean.getTimeid6());

+            timegrp.setAdddelflag(1);

+            timegrp.setDownstatus(0);

+            timegrp.setUpdatetime(DateUtil.getNow());

+            ncService.updateTimegrp(timegrp);

+            ncService.updListVersion();

+            RedisUtil.incr("zcard_max_version");

+            map.put("errStr", "");

+        } catch (Exception e) {

+            e.printStackTrace();

+            map.put("errStr", "修改时间组信息失败!");

+            logger.error("时间组信息修改:" + e.getMessage());

+        }

+        return map;

+    }

+

+    /**

+     * 删除时间组

+     * @param timegrpid

+     * @param request

+     * @param response

+     * @return

+     */

+    @ResponseBody

+    @RequestMapping(value = "/deleteNcTimegrp", method = {RequestMethod.GET})

+    public Map deleteNcTimegrp(@RequestParam(value = "timegrpid") int timegrpid,

+                                  HttpServletRequest request, HttpServletResponse response) {

+        Map map = new HashMap();

+        String message = "";

+        int flag = 0;

+            try {

+                List<String> weekTimeById = ncService.getWeekTimeById(timegrpid);

+                if(weekTimeById.size()>0){

+                    message="时间组已应用于时间周,删除失败!";

+                    flag=1;

+                }else {

+                    ncService.delByGrpId(timegrpid);

+                    ncService.updListVersion();

+                }

+            } catch (Exception e) {

+                e.printStackTrace();

+                message = "删除时间组出现异常!";

+                logger.error("删除时间组失败:" + e.getMessage());

+            }

+        map.put("flag",flag);

+        map.put("message", message);

+        return map;

+    }

+

+    /**

+     * 查询获取时间周信息列表

+     * @param request

+     * @param response

+     * @param pageNo

+     * @param pageSize

+     * @param weektimename

+     * @return

+     */

+    @ResponseBody

+    @RequestMapping(value = "/loadweektimeList")

+    public Map loadweektimeList(

+            HttpServletRequest request,

+            HttpServletResponse response,

+            @RequestParam(value = "pageNo", required = false, defaultValue = "1") int pageNo,

+            @RequestParam(value = "pageSize", required = false, defaultValue = "10") int pageSize,

+            @RequestParam(value = "weektimename", required = true, defaultValue = "") String weektimename) {

+        Map map = new HashMap();

+        try {

+            Pagination page = null;

+            page = ncService.getNcWeekTimeWithPage(weektimename, pageNo, pageSize, map);

+            List<TNcTimegrp> timegrp = ncService.findAllNcTimeGrp();

+            map.put("PageResult", page);

+            map.put("timegrp", timegrp);

+        } catch (Exception e) {

+            e.printStackTrace();

+            logger.error("查询时间组失败:" + e.getMessage());

+        }

+        return map;

+    }

+

+

+    /**

+     * 获取时间周信息

+     *

+     * @param weektimeid 时间周编号

+     * @return

+     */

+    @ResponseBody

+    @RequestMapping("/loadNcweektimeForUpdate")

+    public Map loadNcweektimeForUpdate(

+                                          @RequestParam(value = "weektimeid") int weektimeid) {

+        Map map = new HashMap();

+        try {

+            TNcWeektime weektime = ncService.findByWeekTimeId(weektimeid);

+            map.put("weektime", weektime);//时间周

+            List<TNcTimegrp> timegrp = ncService.findAllNcTimeGrp();

+            map.put("timegrp", timegrp);//时间组信息

+        } catch (Exception e) {

+            e.printStackTrace();

+        }

+        return map;

+    }

+

+    /**

+     * 添加时间周

+     * @param postData

+     * @param request

+     * @param response

+     * @return

+     */

+    @ResponseBody

+    @RequestMapping(value = "/addNcweektime", method = {RequestMethod.POST})

+    public Map addNcweektime(@RequestBody TNcWeektime postData,

+                                  HttpServletRequest request, HttpServletResponse response) {

+        Map map = new HashMap();

+        try {

+            TNcWeektime weektime = ncService.findByWeekTimeName(postData.getWeekname());

+

+            TNcWeektime ts = null;

+            int weektimeid=ncService.getMaxWeekId();//weekid最小值3,最大值15

+            if (weektimeid==0){

+                weektimeid=3;

+            }else{

+                weektimeid= weektimeid+1;

+            }

+

+            if(weektimeid>=15){

+                map.put("errStr","时间周数量超限!");

+            }

+            if (weektime == null) {

+                ts = new TNcWeektime();

+                ts.setWeekid(weektimeid);

+                ts.setWeekname(postData.getWeekname());

+                ts.setDay1grpid(postData.getDay1grpid());

+                ts.setDay2grpid(postData.getDay2grpid());

+                ts.setDay3grpid(postData.getDay3grpid());

+                ts.setDay4grpid(postData.getDay4grpid());

+                ts.setDay5grpid(postData.getDay5grpid());

+                ts.setDay6grpid(postData.getDay6grpid());

+                ts.setDay7grpid(postData.getDay7grpid());

+                ts.setAdddelflag(1);

+                ts.setDownstatus(0);

+                ts.setUpdatetime(DateUtil.getNow());

+

+                ncService.saveWeektime(ts);

+                map.put("errStr", "");

+            } else {

+                map.put("errStr", "时间周名称已经存在,请修改!");

+                return map;

+            }

+        } catch (Exception e) {

+            e.printStackTrace();

+            map.put("errStr", "添加时间周失败!");

+            logger.error("添加时间周失败:" + e.getMessage());

+        }

+        return map;

+    }

+

+    /**

+     * 修改时间周信息

+     * @param bean

+     * @param request

+     * @return

+     */

+    @ResponseBody

+    @RequestMapping(value = "/updateNcweektime", method = {RequestMethod.POST})

+    public Map updateNcweektime(@RequestBody TNcWeektime bean,

+                                     HttpServletRequest request) {

+        Map map = new HashMap();

+        try {

+            if (bean == null) {

+                map.put("errStr", "请先选择时间周,然后再修改!");

+                return map;

+            }

+            TNcWeektime temp = ncService.findByWeekIdAndName(bean.getWeekid(), bean.getWeekname());

+            if (temp != null) {

+                map.put("errStr", "该时间周名称已存在,请重新修改!");

+                return map;

+            }

+

+            TNcWeektime weektime = ncService.findByWeekTimeId(bean.getWeekid());

+            weektime.setWeekname(bean.getWeekname());

+            weektime.setDay1grpid(bean.getDay1grpid());

+            weektime.setDay2grpid(bean.getDay2grpid());

+            weektime.setDay3grpid(bean.getDay3grpid());

+            weektime.setDay4grpid(bean.getDay4grpid());

+            weektime.setDay5grpid(bean.getDay5grpid());

+            weektime.setDay6grpid(bean.getDay6grpid());

+            weektime.setDay7grpid(bean.getDay7grpid());

+            weektime.setAdddelflag(1);

+            weektime.setDownstatus(0);

+            weektime.setUpdatetime(DateUtil.getNow());

+            ncService.updateWeektime(weektime);

+            ncService.updListVersion();

+            RedisUtil.incr("zcard_max_version");

+            map.put("errStr", "");

+        } catch (Exception e) {

+            e.printStackTrace();

+            map.put("errStr", "修改时间周信息失败!");

+            logger.error("时间周信息修改:" + e.getMessage());

+        }

+        return map;

+    }

+

+    /**

+     * 删除时间周

+     * @param weektimeid

+     * @param request

+     * @param response

+     * @return

+     */

+    @ResponseBody

+    @RequestMapping(value = "/deleteNcweektime", method = {RequestMethod.GET})

+    public Map deleteNcweektime(@RequestParam(value = "weektimeid") int weektimeid,

+                                   HttpServletRequest request, HttpServletResponse response) {

+        Map map = new HashMap();

+        int flag=0;

+        String message="";

+        try {

+            List devWeekByWeekid = ncService.getDevWeekByWeekid(weektimeid);

+            if(devWeekByWeekid.size()>0){

+                message = "时间周已绑定设备,删除失败!";

+                flag=1;

+            }else {

+                ncService.delByWeekId(weektimeid);

+                ncService.updListVersion();

+                /*//删除doortime表中的时间周

+                webInterfaceService.delDoorTime("XKP_"+weektimeid);*/

+            }

+        } catch (Exception e) {

+            e.printStackTrace();

+            message = "删除时间周出现异常!";

+            logger.error("删除时间周失败:" + e.getMessage());

+        }

+

+        map.put("flag",flag);

+        map.put("message", message);

+        return map;

+    }

+

+

+}

diff --git a/src/main/java/com/supwisdom/dlpay/ncmgr/dao/NcCardListDao.java b/src/main/java/com/supwisdom/dlpay/ncmgr/dao/NcCardListDao.java
new file mode 100644
index 0000000..b739b5d
--- /dev/null
+++ b/src/main/java/com/supwisdom/dlpay/ncmgr/dao/NcCardListDao.java
@@ -0,0 +1,12 @@
+package com.supwisdom.dlpay.ncmgr.dao;

+

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

+

+public interface NcCardListDao {

+

+    public TNcCardlist getCleanList(String devid);

+

+    public boolean saveCardlist(TNcCardlist bean);

+

+    public void updateForListReload(String devid);

+}

diff --git a/src/main/java/com/supwisdom/dlpay/ncmgr/dao/NcDevWeekDao.java b/src/main/java/com/supwisdom/dlpay/ncmgr/dao/NcDevWeekDao.java
new file mode 100644
index 0000000..8624521
--- /dev/null
+++ b/src/main/java/com/supwisdom/dlpay/ncmgr/dao/NcDevWeekDao.java
@@ -0,0 +1,5 @@
+package com.supwisdom.dlpay.ncmgr.dao;

+

+public interface NcDevWeekDao {

+    public boolean updListVersion();

+}

diff --git a/src/main/java/com/supwisdom/dlpay/ncmgr/dao/NcDeviceDao.java b/src/main/java/com/supwisdom/dlpay/ncmgr/dao/NcDeviceDao.java
new file mode 100644
index 0000000..908aa52
--- /dev/null
+++ b/src/main/java/com/supwisdom/dlpay/ncmgr/dao/NcDeviceDao.java
@@ -0,0 +1,36 @@
+package com.supwisdom.dlpay.ncmgr.dao;

+

+import com.supwisdom.dlpay.ncmgr.domain.TBuilding;

+import com.supwisdom.dlpay.ncmgr.domain.TNcDevice;

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

+

+import java.util.List;

+import java.util.Map;

+

+public interface NcDeviceDao {

+    public Pagination getNcDeviceWithPage(String devname, int pageNo, int pageSize, String buildingid, String devtype);

+

+    public List<TBuilding> getAllBuilding();

+

+    public TBuilding getBuidingById(String id);

+

+    public List<TNcDevice> getDevByType(String type);

+

+    public TNcDevice findDevById(int id);

+

+    public TNcDevice validDevName(int devid,String devname);

+

+    public TNcDevice validDevPhyid(int devid,String devPhyid);

+

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

+

+    public boolean updateDevice(TNcDevice bean);

+

+    public int getMaxId();

+

+    public boolean saveDevice(TNcDevice bean);

+

+    public TNcDevice getDevInfoByDevid(int devid);

+

+    public boolean delDevById(int devid);

+}

diff --git a/src/main/java/com/supwisdom/dlpay/ncmgr/dao/NcTimeDao.java b/src/main/java/com/supwisdom/dlpay/ncmgr/dao/NcTimeDao.java
new file mode 100644
index 0000000..00b5f39
--- /dev/null
+++ b/src/main/java/com/supwisdom/dlpay/ncmgr/dao/NcTimeDao.java
@@ -0,0 +1,29 @@
+package com.supwisdom.dlpay.ncmgr.dao;

+

+import com.supwisdom.dlpay.ncmgr.domain.TNcTime;

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

+

+import java.util.List;

+

+public interface NcTimeDao {

+

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

+

+    public List<String> getTimegrpIdById(int id);

+

+    public boolean delTimeByTimeId(int id);

+

+    public TNcTime findByTimeId(int id);

+

+    public TNcTime findByTimeName(String name);

+

+    public int getMaxTimeId();

+

+    public boolean saveTime(TNcTime bean);

+

+    public TNcTime findByIdAndName(int id, String name);

+

+    public boolean updateTime(TNcTime bean);

+

+    public List<TNcTime> findAllNcTime();

+}

diff --git a/src/main/java/com/supwisdom/dlpay/ncmgr/dao/NcTimeGrpDao.java b/src/main/java/com/supwisdom/dlpay/ncmgr/dao/NcTimeGrpDao.java
new file mode 100644
index 0000000..b7f2885
--- /dev/null
+++ b/src/main/java/com/supwisdom/dlpay/ncmgr/dao/NcTimeGrpDao.java
@@ -0,0 +1,30 @@
+package com.supwisdom.dlpay.ncmgr.dao;

+

+import com.supwisdom.dlpay.ncmgr.domain.TNcTimegrp;

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

+

+import java.util.List;

+

+public interface NcTimeGrpDao {

+

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

+

+    public TNcTimegrp findByTimeGrpId(int id);

+

+    public TNcTimegrp findByTimeGrpName(String name);

+

+    public int getMaxTimeGrpId();

+

+    public boolean saveTimegrp(TNcTimegrp bean);

+

+    public TNcTimegrp findByGrpIdAndName(int id,String name);

+

+    public boolean updateTimegrp(TNcTimegrp bean);

+

+    public List<String> getWeekTimeById(int id);

+

+    public boolean delByGrpId(int id);

+

+    public List<TNcTimegrp> findAllNcTimeGrp();

+

+}

diff --git a/src/main/java/com/supwisdom/dlpay/ncmgr/dao/NcWeekTimeDao.java b/src/main/java/com/supwisdom/dlpay/ncmgr/dao/NcWeekTimeDao.java
new file mode 100644
index 0000000..a6a0515
--- /dev/null
+++ b/src/main/java/com/supwisdom/dlpay/ncmgr/dao/NcWeekTimeDao.java
@@ -0,0 +1,27 @@
+package com.supwisdom.dlpay.ncmgr.dao;

+

+import com.supwisdom.dlpay.ncmgr.domain.TNcWeektime;

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

+

+import java.util.List;

+

+public interface NcWeekTimeDao {

+

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

+

+    public TNcWeektime findByWeekTimeId(int id);

+

+    public TNcWeektime findByWeekTimeName(String name);

+

+    public int getMaxWeekId();

+

+    public boolean saveWeektime(TNcWeektime bean);

+

+    public TNcWeektime findByWeekIdAndName(int id,String name);

+

+    public boolean updateWeektime(TNcWeektime bean);

+

+    public List getDevWeekByWeekid(int id);

+

+    public boolean delByWeekId(int id);

+}

diff --git a/src/main/java/com/supwisdom/dlpay/ncmgr/dao/impl/NcCardListDaoImpl.java b/src/main/java/com/supwisdom/dlpay/ncmgr/dao/impl/NcCardListDaoImpl.java
new file mode 100644
index 0000000..96d22b3
--- /dev/null
+++ b/src/main/java/com/supwisdom/dlpay/ncmgr/dao/impl/NcCardListDaoImpl.java
@@ -0,0 +1,51 @@
+package com.supwisdom.dlpay.ncmgr.dao.impl;

+

+import com.supwisdom.dlpay.ncmgr.dao.NcCardListDao;

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

+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;

+

+@Repository

+public class NcCardListDaoImpl implements NcCardListDao {

+

+    @PersistenceContext

+    EntityManager entityManager;

+

+    @Transactional

+    @Override

+    public TNcCardlist getCleanList(String devid) {

+        String sql = "select t from TNcCardlist t where t.deviceid=:devid and t.operflag = 'C'";

+        TypedQuery<TNcCardlist> query = entityManager.createQuery(sql, TNcCardlist.class);

+        query.setParameter(devid, devid);

+        TNcCardlist result = query.getSingleResult();

+        return result;

+    }

+

+    @Transactional

+    @Override

+    public boolean saveCardlist(TNcCardlist bean) {

+        boolean flag=false;

+        try {

+            entityManager.persist(bean);

+            flag=true;

+        }catch (Exception e){

+            e.printStackTrace();

+        }

+        return flag;

+    }

+

+    @Transactional

+    @Override

+    public void updateForListReload(String devid) {

+        String sql = "update T_NC_CARDLIST set syncflag='N' ,synctime='' "+

+                " where deviceid=?1 and operflag != 'C'";

+        Query query = entityManager.createNativeQuery(sql);

+        query.setParameter(1, devid);

+        query.executeUpdate();

+    }

+}

diff --git a/src/main/java/com/supwisdom/dlpay/ncmgr/dao/impl/NcDevWeekDaoImpl.java b/src/main/java/com/supwisdom/dlpay/ncmgr/dao/impl/NcDevWeekDaoImpl.java
new file mode 100644
index 0000000..566c33c
--- /dev/null
+++ b/src/main/java/com/supwisdom/dlpay/ncmgr/dao/impl/NcDevWeekDaoImpl.java
@@ -0,0 +1,30 @@
+package com.supwisdom.dlpay.ncmgr.dao.impl;

+

+import com.supwisdom.dlpay.ncmgr.dao.NcDevWeekDao;

+import org.springframework.stereotype.Repository;

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

+

+import javax.persistence.EntityManager;

+import javax.persistence.PersistenceContext;

+import javax.persistence.Query;

+

+@Repository

+public class NcDevWeekDaoImpl implements NcDevWeekDao {

+    @PersistenceContext

+    EntityManager entityManager;

+

+    @Transactional

+    @Override

+    public boolean updListVersion() {

+        boolean flag=false;

+        try {

+            String sql = "update T_NC_DEVWEEK set version=version+1";

+            Query query = entityManager.createNativeQuery(sql);

+            query.executeUpdate();

+            flag=true;

+        } catch (Exception e) {

+            e.printStackTrace();

+        }

+        return flag;

+    }

+}

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
new file mode 100644
index 0000000..ac6e59a
--- /dev/null
+++ b/src/main/java/com/supwisdom/dlpay/ncmgr/dao/impl/NcDeviceDaoImpl.java
@@ -0,0 +1,239 @@
+package com.supwisdom.dlpay.ncmgr.dao.impl;

+

+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.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;

+import java.util.Map;

+

+@Repository

+public class NcDeviceDaoImpl implements NcDeviceDao {

+

+    @PersistenceContext

+    EntityManager entityManager;

+

+    @Transactional

+    @Override

+    public Pagination getNcDeviceWithPage(String devname, int pageNo, int pageSize, String buildingid, String devtype) {

+        String sql ="select * from T_Nc_Device bean where 1>0 and operflag='A'";

+        if(!devname.equals("")){

+            sql+="and devname like :devname ";

+        }

+        if(!buildingid.equals("")){

+            sql+="and  buildingid = :buildingid ";

+        }

+        if(!devtype.equals("")){

+            sql+="and  devtype = :devtype ";

+        }

+        sql+="order by devtype";

+        Query query = entityManager.createNativeQuery(sql,TNcDevice.class);

+

+        if(!devname.equals("")){

+            query.setParameter("devname", "%"+devname+"%");

+        }

+        if(!buildingid.equals("")){

+            query.setParameter("buildingid", buildingid);

+        }

+        if(!devtype.equals("")){

+            query.setParameter("devtype", devtype);

+        }

+        List<TNcDevice> list = query.getResultList();

+        pageNo = pageNo <= 0 ? 1 : pageNo;

+        query.setFirstResult((pageNo - 1) * pageSize);

+        query.setMaxResults(pageSize);

+        Pagination page = new Pagination();

+        page.setPageNo(pageNo);

+        page.setPageSize(pageSize);

+        page.setList(list);

+        int totalCount = list.size();

+        page.setTotalCount(totalCount);

+        return page;

+    }

+

+    @Transactional

+    @Override

+    public List<TBuilding> getAllBuilding() {

+        String sql = " select b FROM TBuilding b WHERE b.flag='A' ";

+        TypedQuery<TBuilding> query = entityManager.createQuery(sql, TBuilding.class);

+        List<TBuilding> list = query.getResultList();

+        return list;

+    }

+

+    @Override

+    public TBuilding getBuidingById(String id) {

+        String sql = "select b from TBuilding b where b.flag='A' and b.buildingid=:buildingid";

+        TypedQuery<TBuilding> query = entityManager.createQuery(sql, TBuilding.class);

+        query.setParameter("buildingid", id);

+        List<TBuilding> list = query.getResultList();

+        if (list.size()>0){

+            return list.get(0);

+        }

+        return null;

+    }

+

+    @Transactional

+    @Override

+    public List<TNcDevice> getDevByType(String type) {

+        String sql = "select r from TNcDevice r where r.devtype=?1 and r.operflag='A' order by r.devname";

+        Query query = entityManager.createQuery(sql);

+        query.setParameter(1, type);

+        List<TNcDevice> list = query.getResultList();

+        return list;

+    }

+

+    @Transactional

+    @Override

+    public TNcDevice findDevById(int id) {

+        String sql = " select r from TNcDevice r where  r.deviceid=:deviceid";

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

+        query.setParameter("deviceid", id);

+        List<TNcDevice> list = query.getResultList();

+        if (list.size()>0) {

+            TNcDevice device = list.get(0);

+            return device;

+        }else {

+            return null;

+        }

+    }

+

+    @Transactional

+    @Override

+    public TNcDevice validDevName(int devid, String devname) {

+        String sql="";

+        if (devid==0){

+            sql="select d from TNcDevice d where d.devname=:devname";

+        }else {

+            sql="select d from TNcDevice d where d.deviceid != :devid  and d.devname=:devname";

+        }

+        TypedQuery<TNcDevice> query = entityManager.createQuery(sql, TNcDevice.class);

+        if (devid>0){

+            query.setParameter("devid", devid);

+        }

+        query.setParameter("devname", devname);

+        List<TNcDevice> list = query.getResultList();

+        if (list.size()>0){

+            return list.get(0);

+        }

+        return null;

+    }

+

+    @Transactional

+    @Override

+    public TNcDevice validDevPhyid(int devid, String devPhyid) {

+        String sql="";

+        if (devid==0){

+            sql="select d from TNcDevice d where d.devphyid=:devphyid";

+        }else {

+            sql="select d from TNcDevice d where d.deviceid!=:devid and d.devphyid=:devphyid";

+        }

+        TypedQuery<TNcDevice> query = entityManager.createQuery(sql, TNcDevice.class);

+        if (devid>0){

+            query.setParameter("devid", devid);

+        }

+        query.setParameter("devphyid", devPhyid);

+        List<TNcDevice> list = query.getResultList();

+        if (list.size()>0){

+            return list.get(0);

+        }

+        return null;

+    }

+

+    @Transactional

+    @Override

+    public TNcDevice validDevNo(int fdevid, int devno, int devid) {

+        String sql="";

+        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 ";

+        }

+        TypedQuery<TNcDevice> query = entityManager.createQuery(sql, TNcDevice.class);

+        if (devid>0){

+            query.setParameter("devid", devid);

+        }

+        query.setParameter("fdevid", fdevid);

+        query.setParameter("devno", devno);

+        List<TNcDevice> list = query.getResultList();

+        if (list.size()>0){

+            return list.get(0);

+        }

+        return null;

+    }

+

+    @Transactional

+    @Override

+    public boolean updateDevice(TNcDevice bean) {

+        boolean flag = false;

+        try {

+            entityManager.merge(bean);

+            flag = true;

+        } catch (Exception e) {

+            e.printStackTrace();

+        }

+        return flag;

+    }

+

+    @Transactional

+    @Override

+    public int getMaxId() {

+        String sql = " select Max(deviceid) from t_nc_device";

+        Query query = entityManager.createNativeQuery(sql);

+        Object result = query.getSingleResult();

+        if (result!=null){

+            return (int)result;

+        }

+        return 1;

+    }

+

+    @Transactional

+    @Override

+    public boolean saveDevice(TNcDevice bean) {

+        boolean flag=false;

+        try {

+            entityManager.persist(bean);

+            flag=true;

+        }catch (Exception e){

+            e.printStackTrace();

+        }

+        return flag;

+    }

+

+    @Transactional

+    @Override

+    public TNcDevice getDevInfoByDevid(int devid) {

+        String sql = "select t.deviceid,t.devno,t.devname,t.fdevid,t.devtype," +

+                " t.usetype,dev.devphyid from t_nc_device t left join t_nc_device" +

+                " dev on t.fdevid=dev.deviceid where t.deviceid=?1";

+        Query query = entityManager.createNativeQuery(sql, TNcDevice.class);

+        query.setParameter(1,devid);

+        List list = query.getResultList();

+        if (list.size()>0){

+            return (TNcDevice) list.get(0);

+        }

+        return null;

+    }

+

+    @Transactional

+    @Override

+    public boolean delDevById(int devid) {

+        boolean flag=false;

+        try {

+            String sql = "delete T_Nc_Device where deviceid=?1";

+            Query query = entityManager.createNativeQuery(sql);

+            query.setParameter(1, devid);

+            query.executeUpdate();

+            flag=true;

+        }catch (Exception e){

+            e.printStackTrace();

+        }

+        return flag;

+    }

+}

diff --git a/src/main/java/com/supwisdom/dlpay/ncmgr/dao/impl/NcTimeDaoImpl.java b/src/main/java/com/supwisdom/dlpay/ncmgr/dao/impl/NcTimeDaoImpl.java
new file mode 100644
index 0000000..e276015
--- /dev/null
+++ b/src/main/java/com/supwisdom/dlpay/ncmgr/dao/impl/NcTimeDaoImpl.java
@@ -0,0 +1,171 @@
+package com.supwisdom.dlpay.ncmgr.dao.impl;

+

+import com.supwisdom.dlpay.framework.util.StringUtil;

+import com.supwisdom.dlpay.ncmgr.dao.NcTimeDao;

+import com.supwisdom.dlpay.ncmgr.domain.TNcTime;

+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 NcTimeDaoImpl implements NcTimeDao {

+    @PersistenceContext

+    EntityManager entityManager;

+

+    @Transactional

+    @Override

+    public Pagination getNcTimeWithPage(String timename, int pageNo, int pageSize) {

+        String sql = " select bean from TNcTime bean where 1>0 ";

+        if (!timename.equals("")) {

+            sql+=(" and bean.timename like :timename ");

+        }

+        TypedQuery<TNcTime> query = entityManager.createQuery(sql, TNcTime.class);

+        if (!timename.equals("")){

+            query.setParameter("timename", "%"+timename+"%");

+        }

+        List<TNcTime> list = query.getResultList();

+        pageNo = pageNo <= 0 ? 1 : pageNo;

+        query.setFirstResult((pageNo - 1) * pageSize);

+        query.setMaxResults(pageSize);

+        Pagination page = new Pagination();

+        page.setPageNo(pageNo);

+        page.setPageSize(pageSize);

+        page.setList(list);

+        int totalCount = list.size();

+        page.setTotalCount(totalCount);

+        return page;

+

+    }

+

+    @Transactional

+    @Override

+    public List<String> getTimegrpIdById(int id) {

+        String sql = "select timegrpid from t_nc_timegrp where " +

+                " timeid1=?1 or timeid2=?2 or timeid3=?3 or timeid4=?4 " +

+                " or timeid5=?5 or timeid6=?6 ";

+        Query query = entityManager.createNativeQuery(sql);

+        query.setParameter(1, id);

+        query.setParameter(2, id);

+        query.setParameter(3, id);

+        query.setParameter(4, id);

+        query.setParameter(5, id);

+        query.setParameter(6, id);

+        List<String> list = query.getResultList();

+

+        return list;

+    }

+

+    @Transactional

+    @Override

+    public boolean delTimeByTimeId(int id) {

+        boolean flag = false;

+        try {

+            String sql = "delete from TNcTime t where t.timeid=?1";

+            Query query = entityManager.createQuery(sql);

+            query.setParameter(1, id);

+            query.executeUpdate();

+            flag=true;

+        }catch (Exception e){

+            e.printStackTrace();

+        }

+        return flag;

+    }

+

+    @Transactional

+    @Override

+    public TNcTime findByTimeId(int id) {

+        String sql = "select r from TNcTime r where r.timeid=:id";

+        TypedQuery<TNcTime> query = entityManager.createQuery(sql, TNcTime.class);

+        query.setParameter("id", id);

+        List<TNcTime> list = query.getResultList();

+        if (list.size()>0){

+            return list.get(0);

+        }

+        return null;

+    }

+

+    @Transactional

+    @Override

+    public TNcTime findByTimeName(String name) {

+        String sql = "select r from TNcTime r where r.timename=:timename";

+        TypedQuery<TNcTime> query = entityManager.createQuery(sql, TNcTime.class);

+        query.setParameter("timename", name);

+        List<TNcTime> list = query.getResultList();

+        if (list.size()>0){

+            return list.get(0);

+        }

+        return null;

+    }

+

+    @Transactional

+    @Override

+    public int getMaxTimeId() {

+        String sql = " select Max(timeid) from t_nc_time";

+        Query query = entityManager.createNativeQuery(sql);

+        Object result = query.getSingleResult();

+        if (result!=null){

+            return (int)result;

+        }

+        return 0;

+    }

+

+    @Transactional

+    @Override

+    public boolean saveTime(TNcTime bean) {

+        boolean flag=false;

+        try {

+            entityManager.persist(bean);

+            flag=true;

+        }catch (Exception e){

+            e.printStackTrace();

+        }

+        return flag;

+    }

+

+    @Transactional

+    @Override

+    public TNcTime findByIdAndName(int id, String name) {

+        String sql = "select bean from TNcTime bean where bean.timename=?1 ";

+        if (id!=0) {

+            sql += " and bean.timeid<>:timeid ";

+        }

+        TypedQuery<TNcTime> query = entityManager.createQuery(sql, TNcTime.class);

+        query.setParameter(1, name);

+        if (id!=0) {

+            query.setParameter("timeid", id);

+        }

+        List<TNcTime> list = query.getResultList();

+        if (list.size()>0){

+            return list.get(0);

+        }

+        return null;

+    }

+

+    @Transactional

+    @Override

+    public boolean updateTime(TNcTime bean) {

+        boolean flag = false;

+        try {

+            entityManager.merge(bean);

+            flag = true;

+        } catch (Exception e) {

+            e.printStackTrace();

+        }

+        return flag;

+    }

+

+    @Transactional

+    @Override

+    public List<TNcTime> findAllNcTime() {

+        String sql = " select r from TNcTime r order by r.timeid";

+        TypedQuery<TNcTime> query = entityManager.createQuery(sql, TNcTime.class);

+        List<TNcTime> list = query.getResultList();

+        return list;

+    }

+}

diff --git a/src/main/java/com/supwisdom/dlpay/ncmgr/dao/impl/NcTimeGrpDaoImpl.java b/src/main/java/com/supwisdom/dlpay/ncmgr/dao/impl/NcTimeGrpDaoImpl.java
new file mode 100644
index 0000000..3d9e931
--- /dev/null
+++ b/src/main/java/com/supwisdom/dlpay/ncmgr/dao/impl/NcTimeGrpDaoImpl.java
@@ -0,0 +1,167 @@
+package com.supwisdom.dlpay.ncmgr.dao.impl;

+

+import com.supwisdom.dlpay.framework.util.StringUtil;

+import com.supwisdom.dlpay.ncmgr.dao.NcTimeGrpDao;

+import com.supwisdom.dlpay.ncmgr.domain.TNcTimegrp;

+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 NcTimeGrpDaoImpl implements NcTimeGrpDao {

+    @PersistenceContext

+    EntityManager entityManager;

+

+    @Transactional

+    @Override

+    public Pagination getNcTimeGrpWithPage(String timename, int pageNo, int pageSize) {

+        String sql = "select bean from TNcTimegrp bean where 1>0 ";

+        if (!timename.isEmpty()){

+            sql+= " and bean.timegrpname like :timename ";

+        }

+        TypedQuery<TNcTimegrp> query = entityManager.createQuery(sql, TNcTimegrp.class);

+        if (!timename.isEmpty()){

+            query.setParameter("timename", "%"+timename+"%");

+        }

+        List<TNcTimegrp> list = query.getResultList();

+        pageNo = pageNo <= 0 ? 1 : pageNo;

+        query.setFirstResult((pageNo - 1) * pageSize);

+        query.setMaxResults(pageSize);

+        Pagination page = new Pagination();

+        page.setPageNo(pageNo);

+        page.setPageSize(pageSize);

+        page.setList(list);

+        int totalCount = list.size();

+        page.setTotalCount(totalCount);

+        return page;

+    }

+

+    @Transactional

+    @Override

+    public TNcTimegrp findByTimeGrpId(int id) {

+        String sql = "select r from TNcTimegrp r where r.timegrpid=:id";

+        TypedQuery<TNcTimegrp> query = entityManager.createQuery(sql, TNcTimegrp.class);

+        query.setParameter("id", id);

+        List<TNcTimegrp> list = query.getResultList();

+        if (list!=null && list.size()>0){

+            return list.get(0);

+        }

+        return null;

+    }

+

+    @Transactional

+    @Override

+    public TNcTimegrp findByTimeGrpName(String name) {

+        String sql = " select r from TNcTimegrp r where r.timegrpname=:name";

+        TypedQuery<TNcTimegrp> query = entityManager.createQuery(sql, TNcTimegrp.class);

+        query.setParameter("name", name);

+        List<TNcTimegrp> list = query.getResultList();

+        if (list!=null && list.size()>0){

+            return list.get(0);

+        }

+        return null;

+    }

+

+    @Transactional

+    @Override

+    public int getMaxTimeGrpId() {

+        String sql = "select Max(timegrpid) from t_nc_timegrp";

+        Query query = entityManager.createNativeQuery(sql);

+        Object result = query.getSingleResult();

+        if (result!=null){

+            return (int)result;

+        }

+        return 0;

+    }

+

+    @Transactional

+    @Override

+    public boolean saveTimegrp(TNcTimegrp bean) {

+        boolean flag=false;

+        try {

+            entityManager.persist(bean);

+            flag=true;

+        }catch (Exception e){

+            e.printStackTrace();

+        }

+        return flag;

+    }

+

+    @Transactional

+    @Override

+    public TNcTimegrp findByGrpIdAndName(int id, String name) {

+        String sql = "select bean from TNcTimegrp bean where bean.timegrpname=?1 ";

+        if (!StringUtil.isEmpty(name)) {

+            sql += " and bean.timegrpid<>:timeid ";

+        }

+        TypedQuery<TNcTimegrp> query = entityManager.createQuery(sql, TNcTimegrp.class);

+        query.setParameter(1, name);

+        if (id!=0){

+            query.setParameter("timeid", id);

+        }

+        List<TNcTimegrp> list = query.getResultList();

+        if (list!=null && list.size()>0){

+            return list.get(0);

+        }

+        return null;

+    }

+

+    @Transactional

+    @Override

+    public boolean updateTimegrp(TNcTimegrp bean) {

+        boolean flag = false;

+        try {

+            entityManager.merge(bean);

+            flag = true;

+        } catch (Exception e) {

+            e.printStackTrace();

+        }

+        return flag;

+    }

+

+    @Transactional

+    @Override

+    public List<String> getWeekTimeById(int id) {

+        try{

+            String sql = "select t.weekid from TNcWeektime t where (t.day1grpid=:id or t.day2grpid=:id " +

+                    " or t.day3grpid=:id or t.day4grpid=:id or t.day5grpid=:id or t.day6grpid=:id " +

+                    " or t.day7grpid=:id) and t.adddelflag='1'";

+            Query query = entityManager.createQuery(sql);

+            query.setParameter("id",id);

+            List list = query.getResultList();

+            return list;

+        }catch (Exception e){

+            e.printStackTrace();

+        }

+        return null;

+    }

+

+    @Transactional

+    @Override

+    public boolean delByGrpId(int id) {

+        boolean flag = false;

+        try {

+            String sql = "delete from TNcTimegrp t where t.timegrpid=?1";

+            Query query = entityManager.createQuery(sql);

+            query.setParameter(1, id);

+            query.executeUpdate();

+            flag=true;

+        }catch (Exception e){

+            e.printStackTrace();

+        }

+        return flag;

+    }

+

+    @Override

+    public List<TNcTimegrp> findAllNcTimeGrp() {

+        String sql = " select r from TNcTimegrp r order by r.timegrpid";

+        TypedQuery<TNcTimegrp> query = entityManager.createQuery(sql, TNcTimegrp.class);

+        return query.getResultList();

+    }

+}

diff --git a/src/main/java/com/supwisdom/dlpay/ncmgr/dao/impl/NcWeekTimeDaoImpl.java b/src/main/java/com/supwisdom/dlpay/ncmgr/dao/impl/NcWeekTimeDaoImpl.java
new file mode 100644
index 0000000..1d4a67a
--- /dev/null
+++ b/src/main/java/com/supwisdom/dlpay/ncmgr/dao/impl/NcWeekTimeDaoImpl.java
@@ -0,0 +1,158 @@
+package com.supwisdom.dlpay.ncmgr.dao.impl;

+

+import com.supwisdom.dlpay.framework.util.StringUtil;

+import com.supwisdom.dlpay.ncmgr.dao.NcWeekTimeDao;

+import com.supwisdom.dlpay.ncmgr.domain.TNcWeektime;

+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 NcWeekTimeDaoImpl implements NcWeekTimeDao {

+    @PersistenceContext

+    EntityManager entityManager;

+

+    @Transactional

+    @Override

+    public Pagination getNcWeekTimeWithPage(String time, int pageNo, int pageSize) {

+        String sql = " select bean from TNcWeektime bean where 1>0 and bean.adddelflag=1 ";

+        if (!StringUtil.isEmpty(time)){

+            sql +=" and bean.weekname like :timename ";

+        }

+        TypedQuery<TNcWeektime> query = entityManager.createQuery(sql, TNcWeektime.class);

+        if (!StringUtil.isEmpty(time)){

+            query.setParameter("timename", "%"+time+"%");

+        }

+        List<TNcWeektime> list = query.getResultList();

+        pageNo = pageNo <= 0 ? 1 : pageNo;

+        query.setFirstResult((pageNo - 1) * pageSize);

+        query.setMaxResults(pageSize);

+        Pagination page = new Pagination();

+        page.setPageNo(pageNo);

+        page.setPageSize(pageSize);

+        page.setList(list);

+        int totalCount = list.size();

+        page.setTotalCount(totalCount);

+        return page;

+    }

+

+    @Transactional

+    @Override

+    public TNcWeektime findByWeekTimeId(int id) {

+        String sql = "select r from TNcWeektime r where r.weekid=:id";

+        TypedQuery<TNcWeektime> query = entityManager.createQuery(sql, TNcWeektime.class);

+        query.setParameter("id", id);

+        List<TNcWeektime> list = query.getResultList();

+        if (list!=null && list.size()>0){

+            return list.get(0);

+        }

+        return null;

+    }

+

+    @Transactional

+    @Override

+    public TNcWeektime findByWeekTimeName(String name) {

+        String sql = " select r from TNcWeektime r where r.weekname=:name";

+        TypedQuery<TNcWeektime> query = entityManager.createQuery(sql, TNcWeektime.class);

+        query.setParameter("name", name);

+        List<TNcWeektime> list = query.getResultList();

+        if (list!=null && list.size()>0){

+            return list.get(0);

+        }

+        return null;

+    }

+

+    @Transactional

+    @Override

+    public int getMaxWeekId() {

+        String sql = "select max(r.weekid) from TNcWeektime r ";

+        Query query = entityManager.createQuery(sql);

+        Object result = query.getSingleResult();

+        if (result!=null){

+            return (int)result;

+        }

+        return 0;

+    }

+

+    @Transactional

+    @Override

+    public boolean saveWeektime(TNcWeektime bean) {

+        boolean flag=false;

+        try {

+            entityManager.persist(bean);

+            flag=true;

+        }catch (Exception e){

+            e.printStackTrace();

+        }

+        return flag;

+    }

+

+    @Transactional

+    @Override

+    public TNcWeektime findByWeekIdAndName(int id, String name) {

+        String sql = "select bean from TNcWeektime bean where bean.weekname=?1 ";

+        if (!StringUtil.isEmpty(name)) {

+            sql += " and bean.weekid<>:timeid ";

+        }

+        TypedQuery<TNcWeektime> query = entityManager.createQuery(sql, TNcWeektime.class);

+        query.setParameter(1, name);

+        if (id!=0) {

+            query.setParameter("timeid", id);

+        }

+        List<TNcWeektime> list = query.getResultList();

+        if (list!=null && list.size()>0){

+            return list.get(0);

+        }

+        return null;

+    }

+

+    @Transactional

+    @Override

+    public boolean updateWeektime(TNcWeektime bean) {

+        boolean flag = false;

+        try {

+            entityManager.merge(bean);

+            flag = true;

+        } catch (Exception e) {

+            e.printStackTrace();

+        }

+        return flag;

+    }

+

+    @Transactional

+    @Override

+    public List getDevWeekByWeekid(int id) {

+        try{

+            String sql = "select DEVID from T_NC_DEVWEEK t where weekid=?1";

+            Query query = entityManager.createNativeQuery(sql);

+            query.setParameter(1,id);

+            List list = query.getResultList();

+            return list;

+        }catch (Exception e){

+            e.printStackTrace();

+        }

+        return null;

+    }

+

+    @Transactional

+    @Override

+    public boolean delByWeekId(int id) {

+        boolean flag = false;

+        try {

+            String sql = "UPDATE T_NC_WEEKTIME SET ADDDELFLAG=0 where weekid=?1 ";

+            Query query = entityManager.createNativeQuery(sql);

+            query.setParameter(1, id);

+            query.executeUpdate();

+            flag = true;

+        } catch (Exception e) {

+            e.printStackTrace();

+        }

+        return flag;

+    }

+}

diff --git a/src/main/java/com/supwisdom/dlpay/ncmgr/domain/TBuilding.java b/src/main/java/com/supwisdom/dlpay/ncmgr/domain/TBuilding.java
new file mode 100644
index 0000000..41ee916
--- /dev/null
+++ b/src/main/java/com/supwisdom/dlpay/ncmgr/domain/TBuilding.java
@@ -0,0 +1,102 @@
+package com.supwisdom.dlpay.ncmgr.domain;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.Table;
+
+/**
+ * TBuilding entity. @author MyEclipse Persistence Tools
+ */
+@Entity
+@Table(name = "T_BUILDING")
+public class TBuilding implements java.io.Serializable {
+
+	// Fields
+
+	private String buildingid;
+	private String buildingname;
+	private String synctime;
+	private String updtime;
+	private String flag;
+	private String buildingdesc;
+
+	// Constructors
+
+	/** default constructor */
+	public TBuilding() {
+	}
+
+	/** minimal constructor */
+	public TBuilding(String buildingid) {
+		this.buildingid = buildingid;
+	}
+
+	/** full constructor */
+	public TBuilding(String buildingid, String buildingname, String synctime,
+                     String updtime, String flag, String buildingdesc) {
+		this.buildingid = buildingid;
+		this.buildingname = buildingname;
+		this.synctime = synctime;
+		this.updtime = updtime;
+		this.flag = flag;
+		this.buildingdesc = buildingdesc;
+	}
+
+	// Property accessors
+	@Id
+	@Column(name = "BUILDINGID", unique = true, nullable = false, length = 32)
+	public String getBuildingid() {
+		return this.buildingid;
+	}
+
+	public void setBuildingid(String buildingid) {
+		this.buildingid = buildingid;
+	}
+
+	@Column(name = "BUILDINGNAME", length = 300)
+	public String getBuildingname() {
+		return this.buildingname;
+	}
+
+	public void setBuildingname(String buildingname) {
+		this.buildingname = buildingname;
+	}
+
+	@Column(name = "SYNCTIME", length = 20)
+	public String getSynctime() {
+		return this.synctime;
+	}
+
+	public void setSynctime(String synctime) {
+		this.synctime = synctime;
+	}
+
+	@Column(name = "UPDTIME", length = 14)
+	public String getUpdtime() {
+		return this.updtime;
+	}
+
+	public void setUpdtime(String updtime) {
+		this.updtime = updtime;
+	}
+
+	@Column(name = "FLAG", length = 1)
+	public String getFlag() {
+		return this.flag;
+	}
+
+	public void setFlag(String flag) {
+		this.flag = flag;
+	}
+
+	@Column(name = "BUILDINGDESC", length = 300)
+	public String getBuildingdesc() {
+		return this.buildingdesc;
+	}
+
+	public void setBuildingdesc(String buildingdesc) {
+		this.buildingdesc = buildingdesc;
+	}
+
+}
\ No newline at end of file
diff --git a/src/main/java/com/supwisdom/dlpay/ncmgr/domain/TNcCardlist.java b/src/main/java/com/supwisdom/dlpay/ncmgr/domain/TNcCardlist.java
new file mode 100644
index 0000000..1206a42
--- /dev/null
+++ b/src/main/java/com/supwisdom/dlpay/ncmgr/domain/TNcCardlist.java
@@ -0,0 +1,224 @@
+package com.supwisdom.dlpay.ncmgr.domain;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.Table;
+
+/**
+ * TNcCardlist entity. @author MyEclipse Persistence Tools
+ */
+@Entity
+@Table(name = "T_NC_CARDLIST")
+public class TNcCardlist implements java.io.Serializable {
+
+	// Fields
+
+	private String listid;
+	private Integer custid;
+	private String stuempno;
+	private String custname;
+	private Integer cardno;
+	private String cardphyid;
+	private String deptcode;
+	private String deptname;
+	private String closedate;
+	private String deviceid;
+	private String operflag;
+	private String rectime;
+	private String synctime;
+	private String syncflag;
+	private String rtnflag;
+	private String rtntime;
+	private Integer conferenceid;
+
+	@Column(name = "conferenceid", length=8)
+	public Integer getConferenceid() {
+		return conferenceid;
+	}
+
+	public void setConferenceid(Integer conferenceid) {
+		this.conferenceid = conferenceid;
+	}
+	// Constructors
+
+	/** default constructor */
+	public TNcCardlist() {
+	}
+
+	/** minimal constructor */
+	public TNcCardlist(String listid) {
+		this.listid = listid;
+	}
+
+	/** full constructor */
+	public TNcCardlist(String listid, Integer custid, String stuempno,
+                       String custname, Integer cardno, String cardphyid, String deptcode,
+                       String deptname, String closedate, String deviceid,
+                       String operflag, String rectime, String synctime, String syncflag,
+                       String rtnflag, String rtntime) {
+		this.listid = listid;
+		this.custid = custid;
+		this.stuempno = stuempno;
+		this.custname = custname;
+		this.cardno = cardno;
+		this.cardphyid = cardphyid;
+		this.deptcode = deptcode;
+		this.deptname = deptname;
+		this.closedate = closedate;
+		this.deviceid = deviceid;
+		this.operflag = operflag;
+		this.rectime = rectime;
+		this.synctime = synctime;
+		this.syncflag = syncflag;
+		this.rtnflag = rtnflag;
+		this.rtntime = rtntime;
+	}
+
+	// Property accessors
+	@Id
+	@Column(name = "LISTID", unique = true, nullable = false, length = 32)
+	public String getListid() {
+		return this.listid;
+	}
+
+	public void setListid(String listid) {
+		this.listid = listid;
+	}
+
+	@Column(name = "CUSTID", precision = 9, scale = 0)
+	public Integer getCustid() {
+		return this.custid;
+	}
+
+	public void setCustid(Integer custid) {
+		this.custid = custid;
+	}
+
+	@Column(name = "STUEMPNO", length = 20)
+	public String getStuempno() {
+		return this.stuempno;
+	}
+
+	public void setStuempno(String stuempno) {
+		this.stuempno = stuempno;
+	}
+
+	@Column(name = "CUSTNAME", length = 60)
+	public String getCustname() {
+		return this.custname;
+	}
+
+	public void setCustname(String custname) {
+		this.custname = custname;
+	}
+
+	@Column(name = "CARDNO", precision = 9, scale = 0)
+	public Integer getCardno() {
+		return this.cardno;
+	}
+
+	public void setCardno(Integer cardno) {
+		this.cardno = cardno;
+	}
+
+	@Column(name = "CARDPHYID", length = 20)
+	public String getCardphyid() {
+		return this.cardphyid;
+	}
+
+	public void setCardphyid(String cardphyid) {
+		this.cardphyid = cardphyid;
+	}
+
+	@Column(name = "DEPTCODE", length = 20)
+	public String getDeptcode() {
+		return this.deptcode;
+	}
+
+	public void setDeptcode(String deptcode) {
+		this.deptcode = deptcode;
+	}
+
+	@Column(name = "DEPTNAME", length = 60)
+	public String getDeptname() {
+		return this.deptname;
+	}
+
+	public void setDeptname(String deptname) {
+		this.deptname = deptname;
+	}
+
+	@Column(name = "CLOSEDATE", length = 14)
+	public String getClosedate() {
+		return this.closedate;
+	}
+
+	public void setClosedate(String closedate) {
+		this.closedate = closedate;
+	}
+
+	@Column(name = "DEVICEID", length = 32)
+	public String getDeviceid() {
+		return this.deviceid;
+	}
+
+	public void setDeviceid(String deviceid) {
+		this.deviceid = deviceid;
+	}
+
+	@Column(name = "OPERFLAG", length = 3)
+	public String getOperflag() {
+		return this.operflag;
+	}
+
+	public void setOperflag(String operflag) {
+		this.operflag = operflag;
+	}
+
+	@Column(name = "RECTIME", length = 14)
+	public String getRectime() {
+		return this.rectime;
+	}
+
+	public void setRectime(String rectime) {
+		this.rectime = rectime;
+	}
+
+	@Column(name = "SYNCTIME", length = 14)
+	public String getSynctime() {
+		return this.synctime;
+	}
+
+	public void setSynctime(String synctime) {
+		this.synctime = synctime;
+	}
+
+	@Column(name = "SYNCFLAG", length = 3)
+	public String getSyncflag() {
+		return this.syncflag;
+	}
+
+	public void setSyncflag(String syncflag) {
+		this.syncflag = syncflag;
+	}
+
+	@Column(name = "RTNFLAG", length = 3)
+	public String getRtnflag() {
+		return this.rtnflag;
+	}
+
+	public void setRtnflag(String rtnflag) {
+		this.rtnflag = rtnflag;
+	}
+
+	@Column(name = "RTNTIME", length = 14)
+	public String getRtntime() {
+		return this.rtntime;
+	}
+
+	public void setRtntime(String rtntime) {
+		this.rtntime = rtntime;
+	}
+
+}
\ No newline at end of file
diff --git a/src/main/java/com/supwisdom/dlpay/ncmgr/domain/TNcDevice.java b/src/main/java/com/supwisdom/dlpay/ncmgr/domain/TNcDevice.java
new file mode 100644
index 0000000..e2ceb63
--- /dev/null
+++ b/src/main/java/com/supwisdom/dlpay/ncmgr/domain/TNcDevice.java
@@ -0,0 +1,198 @@
+package com.supwisdom.dlpay.ncmgr.domain;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.Table;
+
+/**
+ * TNcDevice entity. @author MyEclipse Persistence Tools
+ */
+@Entity
+@Table(name = "T_NC_DEVICE")
+public class TNcDevice implements java.io.Serializable {
+
+	// Fields
+	private Integer deviceid;
+	@Excel(name = "终端物理编号")
+	private String devphyid;
+	@Excel(name = "设备名称")
+	private String devname;
+	@Excel(name = "IP地址")
+	private String ip;
+	private String operflag;
+	private String syncfalg;
+	private String synctime;
+	private String updtime;
+	@Excel(name = "上级设备编号")
+	private Integer fdevid;
+	@Excel(name = "设备类型")
+	private String devtype;
+	@Excel(name = "读头号")
+	private Integer devno;
+	@Excel(name = "设备使用类型")
+	private String usetype;
+	@Excel(name="设备所在楼栋编号")
+	private String buildingid;
+	@Excel(name = "设备所在楼栋名称")
+	private String buildingname;
+
+	// Constructors
+
+	/** default constructor */
+	public TNcDevice() {
+	}
+
+	/** minimal constructor */
+	public TNcDevice(Integer deviceid) {
+		this.deviceid = deviceid;
+	}
+
+	/** full constructor */
+	public TNcDevice(Integer deviceid, String devphyid, String devname,
+                     String ip, String operflag, String syncfalg, String synctime,
+                     String updtime, Integer fdevid, String devtype, Integer devno, String usetype) {
+		this.deviceid = deviceid;
+		this.devphyid = devphyid;
+		this.devname = devname;
+		this.ip = ip;
+		this.operflag = operflag;
+		this.syncfalg = syncfalg;
+		this.synctime = synctime;
+		this.updtime = updtime;
+		this.fdevid = fdevid;
+		this.devtype = devtype;
+		this.devno = devno;
+		this.usetype = usetype;
+	}
+
+	// Property accessors
+	@Id
+	@Column(name = "DEVICEID", unique = true, nullable = false, precision = 9, scale = 0)
+	public Integer getDeviceid() {
+		return this.deviceid;
+	}
+
+	public void setDeviceid(Integer deviceid) {
+		this.deviceid = deviceid;
+	}
+
+	@Column(name = "DEVPHYID", length = 32)
+	public String getDevphyid() {
+		return this.devphyid;
+	}
+
+	public void setDevphyid(String devphyid) {
+		this.devphyid = devphyid;
+	}
+
+	@Column(name = "DEVNAME", length = 120)
+	public String getDevname() {
+		return this.devname;
+	}
+
+	public void setDevname(String devname) {
+		this.devname = devname;
+	}
+
+	@Column(name = "IP", length = 32)
+	public String getIp() {
+		return this.ip;
+	}
+
+	public void setIp(String ip) {
+		this.ip = ip;
+	}
+
+	@Column(name = "OPERFLAG", length = 3)
+	public String getOperflag() {
+		return this.operflag;
+	}
+
+	public void setOperflag(String operflag) {
+		this.operflag = operflag;
+	}
+
+	@Column(name = "SYNCFALG", length = 3)
+	public String getSyncfalg() {
+		return this.syncfalg;
+	}
+
+	public void setSyncfalg(String syncfalg) {
+		this.syncfalg = syncfalg;
+	}
+
+	@Column(name = "SYNCTIME", length = 20)
+	public String getSynctime() {
+		return this.synctime;
+	}
+
+	public void setSynctime(String synctime) {
+		this.synctime = synctime;
+	}
+
+	@Column(name = "UPDTIME", length = 20)
+	public String getUpdtime() {
+		return this.updtime;
+	}
+
+	public void setUpdtime(String updtime) {
+		this.updtime = updtime;
+	}
+
+	@Column(name = "FDEVID", precision = 9, scale = 0)
+	public Integer getFdevid() {
+		return this.fdevid;
+	}
+
+	public void setFdevid(Integer fdevid) {
+		this.fdevid = fdevid;
+	}
+
+	@Column(name = "DEVTYPE", length = 6)
+	public String getDevtype() {
+		return this.devtype;
+	}
+
+	public void setDevtype(String devtype) {
+		this.devtype = devtype;
+	}
+
+	@Column(name = "DEVNO", precision = 4, scale = 0)
+	public Integer getDevno() {
+		return this.devno;
+	}
+
+	public void setDevno(Integer devno) {
+		this.devno = devno;
+	}
+
+	@Column(name = "USETYPE", length = 20)
+	public String getUsetype() {
+		return this.usetype;
+	}
+
+	public void setUsetype(String usetype) {
+		this.usetype = usetype;
+	}
+
+	@Column(name = "BUILDINGID",length = 32)
+	public String getBuildingid() {
+		return buildingid;
+	}
+
+	public void setBuildingid(String buildingid) {
+		this.buildingid = buildingid;
+	}
+
+	@Column(name = "BUILDINGNAME",length = 255)
+	public String getBuildingname() {
+		return buildingname;
+	}
+
+	public void setBuildingname(String buildingname) {
+		this.buildingname = buildingname;
+	}
+}
\ No newline at end of file
diff --git a/src/main/java/com/supwisdom/dlpay/ncmgr/domain/TNcTime.java b/src/main/java/com/supwisdom/dlpay/ncmgr/domain/TNcTime.java
new file mode 100644
index 0000000..12bb210
--- /dev/null
+++ b/src/main/java/com/supwisdom/dlpay/ncmgr/domain/TNcTime.java
@@ -0,0 +1,124 @@
+package com.supwisdom.dlpay.ncmgr.domain;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.Table;
+
+/**
+ * TNcTime entity. @author MyEclipse Persistence Tools
+ */
+@Entity
+@Table(name = "T_NC_TIME")
+public class TNcTime implements java.io.Serializable {
+
+	// Fields
+
+	private Integer timeid;
+	private String timename;
+	private String btime;
+	private String etime;
+	private String operflag;
+	private String syncflag;
+	private String synctime;
+	private String updtime;
+
+	// Constructors
+
+	/** default constructor */
+	public TNcTime() {
+	}
+
+	/** minimal constructor */
+	public TNcTime(Integer timeid) {
+		this.timeid = timeid;
+	}
+
+	/** full constructor */
+	public TNcTime(Integer timeid, String timename, String btime, String etime,
+                   String operflag, String syncflag, String synctime, String updtime) {
+		this.timeid = timeid;
+		this.timename = timename;
+		this.btime = btime;
+		this.etime = etime;
+		this.operflag = operflag;
+		this.syncflag = syncflag;
+		this.synctime = synctime;
+		this.updtime = updtime;
+	}
+
+	// Property accessors
+	@Id
+	@Column(name = "TIMEID", unique = true, nullable = false, precision = 9, scale = 0)
+	public Integer getTimeid() {
+		return this.timeid;
+	}
+
+	public void setTimeid(Integer timeid) {
+		this.timeid = timeid;
+	}
+
+	@Column(name = "TIMENAME", length = 120)
+	public String getTimename() {
+		return this.timename;
+	}
+
+	public void setTimename(String timename) {
+		this.timename = timename;
+	}
+
+	@Column(name = "BTIME", length = 6)
+	public String getBtime() {
+		return this.btime;
+	}
+
+	public void setBtime(String btime) {
+		this.btime = btime;
+	}
+
+	@Column(name = "ETIME", length = 6)
+	public String getEtime() {
+		return this.etime;
+	}
+
+	public void setEtime(String etime) {
+		this.etime = etime;
+	}
+
+	@Column(name = "OPERFLAG", length = 3)
+	public String getOperflag() {
+		return this.operflag;
+	}
+
+	public void setOperflag(String operflag) {
+		this.operflag = operflag;
+	}
+
+	@Column(name = "SYNCFLAG", length = 3)
+	public String getSyncflag() {
+		return this.syncflag;
+	}
+
+	public void setSyncflag(String syncflag) {
+		this.syncflag = syncflag;
+	}
+
+	@Column(name = "SYNCTIME", length = 20)
+	public String getSynctime() {
+		return this.synctime;
+	}
+
+	public void setSynctime(String synctime) {
+		this.synctime = synctime;
+	}
+
+	@Column(name = "UPDTIME", length = 20)
+	public String getUpdtime() {
+		return this.updtime;
+	}
+
+	public void setUpdtime(String updtime) {
+		this.updtime = updtime;
+	}
+
+}
\ No newline at end of file
diff --git a/src/main/java/com/supwisdom/dlpay/ncmgr/domain/TNcTimegrp.java b/src/main/java/com/supwisdom/dlpay/ncmgr/domain/TNcTimegrp.java
new file mode 100644
index 0000000..f630aeb
--- /dev/null
+++ b/src/main/java/com/supwisdom/dlpay/ncmgr/domain/TNcTimegrp.java
@@ -0,0 +1,227 @@
+package com.supwisdom.dlpay.ncmgr.domain;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.Table;
+
+/**
+ * TNcTimegrp entity. @author MyEclipse Persistence Tools
+ */
+@Entity
+@Table(name = "T_NC_TIMEGRP")
+public class TNcTimegrp implements java.io.Serializable {
+
+	// Fields
+
+	private Integer timegrpid;
+	private String timegrpname;
+	private Integer timeid1;
+	private Integer timeid2;
+	private Integer timeid3;
+	private Integer timeid4;
+	private Integer timeid5;
+	private Integer timeid6;
+	private Integer timeid7;
+	private Integer timeid8;
+	private Integer adddelflag;
+	private Integer downstatus;
+	private String updatetime;
+	private Integer timeid9;
+	private Integer timeid10;
+	private Integer timeid11;
+	private Integer timeid12;
+
+	// Constructors
+
+	/** default constructor */
+	public TNcTimegrp() {
+	}
+
+	/** minimal constructor */
+	public TNcTimegrp(Integer timegrpid) {
+		this.timegrpid = timegrpid;
+	}
+
+	/** full constructor */
+	public TNcTimegrp(Integer timegrpid, String timegrpname, Integer timeid1,
+                      Integer timeid2, Integer timeid3, Integer timeid4, Integer timeid5,
+                      Integer timeid6, Integer timeid7, Integer timeid8,
+					  Integer adddelflag, Integer downstatus, String updatetime,
+                      Integer timeid9, Integer timeid10, Integer timeid11,
+                      Integer timeid12) {
+		this.timegrpid = timegrpid;
+		this.timegrpname = timegrpname;
+		this.timeid1 = timeid1;
+		this.timeid2 = timeid2;
+		this.timeid3 = timeid3;
+		this.timeid4 = timeid4;
+		this.timeid5 = timeid5;
+		this.timeid6 = timeid6;
+		this.timeid7 = timeid7;
+		this.timeid8 = timeid8;
+		this.adddelflag = adddelflag;
+		this.downstatus = downstatus;
+		this.updatetime = updatetime;
+		this.timeid9 = timeid9;
+		this.timeid10 = timeid10;
+		this.timeid11 = timeid11;
+		this.timeid12 = timeid12;
+	}
+
+	// Property accessors
+	@Id
+	@Column(name = "TIMEGRPID", unique = true, nullable = false, precision = 9, scale = 0)
+	public Integer getTimegrpid() {
+		return this.timegrpid;
+	}
+
+	public void setTimegrpid(Integer timegrpid) {
+		this.timegrpid = timegrpid;
+	}
+
+	@Column(name = "TIMEGRPNAME", length = 60)
+	public String getTimegrpname() {
+		return this.timegrpname;
+	}
+
+	public void setTimegrpname(String timegrpname) {
+		this.timegrpname = timegrpname;
+	}
+
+	@Column(name = "TIMEID1", precision = 9, scale = 0)
+	public Integer getTimeid1() {
+		return this.timeid1;
+	}
+
+	public void setTimeid1(Integer timeid1) {
+		this.timeid1 = timeid1;
+	}
+
+	@Column(name = "TIMEID2", precision = 9, scale = 0)
+	public Integer getTimeid2() {
+		return this.timeid2;
+	}
+
+	public void setTimeid2(Integer timeid2) {
+		this.timeid2 = timeid2;
+	}
+
+	@Column(name = "TIMEID3", precision = 9, scale = 0)
+	public Integer getTimeid3() {
+		return this.timeid3;
+	}
+
+	public void setTimeid3(Integer timeid3) {
+		this.timeid3 = timeid3;
+	}
+
+	@Column(name = "TIMEID4", precision = 9, scale = 0)
+	public Integer getTimeid4() {
+		return this.timeid4;
+	}
+
+	public void setTimeid4(Integer timeid4) {
+		this.timeid4 = timeid4;
+	}
+
+	@Column(name = "TIMEID5", precision = 9, scale = 0)
+	public Integer getTimeid5() {
+		return this.timeid5;
+	}
+
+	public void setTimeid5(Integer timeid5) {
+		this.timeid5 = timeid5;
+	}
+
+	@Column(name = "TIMEID6", precision = 9, scale = 0)
+	public Integer getTimeid6() {
+		return this.timeid6;
+	}
+
+	public void setTimeid6(Integer timeid6) {
+		this.timeid6 = timeid6;
+	}
+
+	@Column(name = "TIMEID7", precision = 9, scale = 0)
+	public Integer getTimeid7() {
+		return this.timeid7;
+	}
+
+	public void setTimeid7(Integer timeid7) {
+		this.timeid7 = timeid7;
+	}
+
+	@Column(name = "TIMEID8", precision = 9, scale = 0)
+	public Integer getTimeid8() {
+		return this.timeid8;
+	}
+
+	public void setTimeid8(Integer timeid8) {
+		this.timeid8 = timeid8;
+	}
+
+	@Column(name = "ADDDELFLAG", precision = 1, scale = 0)
+	public Integer getAdddelflag() {
+		return this.adddelflag;
+	}
+
+	public void setAdddelflag(Integer adddelflag) {
+		this.adddelflag = adddelflag;
+	}
+
+	@Column(name = "DOWNSTATUS", precision = 9, scale = 0)
+	public Integer getDownstatus() {
+		return this.downstatus;
+	}
+
+	public void setDownstatus(Integer downstatus) {
+		this.downstatus = downstatus;
+	}
+
+	@Column(name = "UPDATETIME", length = 30)
+	public String getUpdatetime() {
+		return this.updatetime;
+	}
+
+	public void setUpdatetime(String updatetime) {
+		this.updatetime = updatetime;
+	}
+
+	@Column(name = "TIMEID9", precision = 9, scale = 0)
+	public Integer getTimeid9() {
+		return this.timeid9;
+	}
+
+	public void setTimeid9(Integer timeid9) {
+		this.timeid9 = timeid9;
+	}
+
+	@Column(name = "TIMEID10", precision = 9, scale = 0)
+	public Integer getTimeid10() {
+		return this.timeid10;
+	}
+
+	public void setTimeid10(Integer timeid10) {
+		this.timeid10 = timeid10;
+	}
+
+	@Column(name = "TIMEID11", precision = 9, scale = 0)
+	public Integer getTimeid11() {
+		return this.timeid11;
+	}
+
+	public void setTimeid11(Integer timeid11) {
+		this.timeid11 = timeid11;
+	}
+
+	@Column(name = "TIMEID12", precision = 9, scale = 0)
+	public Integer getTimeid12() {
+		return this.timeid12;
+	}
+
+	public void setTimeid12(Integer timeid12) {
+		this.timeid12 = timeid12;
+	}
+
+}
\ No newline at end of file
diff --git a/src/main/java/com/supwisdom/dlpay/ncmgr/domain/TNcWeektime.java b/src/main/java/com/supwisdom/dlpay/ncmgr/domain/TNcWeektime.java
new file mode 100644
index 0000000..347a894
--- /dev/null
+++ b/src/main/java/com/supwisdom/dlpay/ncmgr/domain/TNcWeektime.java
@@ -0,0 +1,170 @@
+package com.supwisdom.dlpay.ncmgr.domain;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.Table;
+
+/**
+ * TNcWeektime entity. @author MyEclipse Persistence Tools
+ */
+@Entity
+@Table(name = "T_NC_WEEKTIME")
+public class TNcWeektime implements java.io.Serializable {
+
+	// Fields
+
+	private Integer weekid;
+	private String weekname;
+	private Integer day1grpid;
+	private Integer day2grpid;
+	private Integer day3grpid;
+	private Integer day4grpid;
+	private Integer day5grpid;
+	private Integer day6grpid;
+	private Integer day7grpid;
+	private Integer adddelflag;
+	private Integer downstatus;
+	private String updatetime;
+
+	// Constructors
+
+	/** default constructor */
+	public TNcWeektime() {
+	}
+
+	/** minimal constructor */
+	public TNcWeektime(Integer weekid) {
+		this.weekid = weekid;
+	}
+
+	/** full constructor */
+	public TNcWeektime(Integer weekid, String weekname, Integer day1grpid,
+                       Integer day2grpid, Integer day3grpid, Integer day4grpid,
+                       Integer day5grpid, Integer day6grpid, Integer day7grpid,
+					   Integer adddelflag, Integer downstatus, String updatetime) {
+		this.weekid = weekid;
+		this.weekname = weekname;
+		this.day1grpid = day1grpid;
+		this.day2grpid = day2grpid;
+		this.day3grpid = day3grpid;
+		this.day4grpid = day4grpid;
+		this.day5grpid = day5grpid;
+		this.day6grpid = day6grpid;
+		this.day7grpid = day7grpid;
+		this.adddelflag = adddelflag;
+		this.downstatus = downstatus;
+		this.updatetime = updatetime;
+	}
+
+	// Property accessors
+	@Id
+	@Column(name = "WEEKID", unique = true, nullable = false, precision = 9, scale = 0)
+	public Integer getWeekid() {
+		return this.weekid;
+	}
+
+	public void setWeekid(Integer weekid) {
+		this.weekid = weekid;
+	}
+
+	@Column(name = "WEEKNAME", length = 60)
+	public String getWeekname() {
+		return this.weekname;
+	}
+
+	public void setWeekname(String weekname) {
+		this.weekname = weekname;
+	}
+
+	@Column(name = "DAY1GRPID", precision = 9, scale = 0)
+	public Integer getDay1grpid() {
+		return this.day1grpid;
+	}
+
+	public void setDay1grpid(Integer day1grpid) {
+		this.day1grpid = day1grpid;
+	}
+
+	@Column(name = "DAY2GRPID", precision = 9, scale = 0)
+	public Integer getDay2grpid() {
+		return this.day2grpid;
+	}
+
+	public void setDay2grpid(Integer day2grpid) {
+		this.day2grpid = day2grpid;
+	}
+
+	@Column(name = "DAY3GRPID", precision = 9, scale = 0)
+	public Integer getDay3grpid() {
+		return this.day3grpid;
+	}
+
+	public void setDay3grpid(Integer day3grpid) {
+		this.day3grpid = day3grpid;
+	}
+
+	@Column(name = "DAY4GRPID", precision = 9, scale = 0)
+	public Integer getDay4grpid() {
+		return this.day4grpid;
+	}
+
+	public void setDay4grpid(Integer day4grpid) {
+		this.day4grpid = day4grpid;
+	}
+
+	@Column(name = "DAY5GRPID", precision = 9, scale = 0)
+	public Integer getDay5grpid() {
+		return this.day5grpid;
+	}
+
+	public void setDay5grpid(Integer day5grpid) {
+		this.day5grpid = day5grpid;
+	}
+
+	@Column(name = "DAY6GRPID", precision = 9, scale = 0)
+	public Integer getDay6grpid() {
+		return this.day6grpid;
+	}
+
+	public void setDay6grpid(Integer day6grpid) {
+		this.day6grpid = day6grpid;
+	}
+
+	@Column(name = "DAY7GRPID", precision = 9, scale = 0)
+	public Integer getDay7grpid() {
+		return this.day7grpid;
+	}
+
+	public void setDay7grpid(Integer day7grpid) {
+		this.day7grpid = day7grpid;
+	}
+
+	@Column(name = "ADDDELFLAG", precision = 1, scale = 0)
+	public Integer getAdddelflag() {
+		return this.adddelflag;
+	}
+
+	public void setAdddelflag(Integer adddelflag) {
+		this.adddelflag = adddelflag;
+	}
+
+	@Column(name = "DOWNSTATUS", precision = 9, scale = 0)
+	public Integer getDownstatus() {
+		return this.downstatus;
+	}
+
+	public void setDownstatus(Integer downstatus) {
+		this.downstatus = downstatus;
+	}
+
+	@Column(name = "UPDATETIME", length = 30)
+	public String getUpdatetime() {
+		return this.updatetime;
+	}
+
+	public void setUpdatetime(String updatetime) {
+		this.updatetime = updatetime;
+	}
+
+}
\ No newline at end of file
diff --git a/src/main/java/com/supwisdom/dlpay/ncmgr/service/NcService.java b/src/main/java/com/supwisdom/dlpay/ncmgr/service/NcService.java
new file mode 100644
index 0000000..0a729cc
--- /dev/null
+++ b/src/main/java/com/supwisdom/dlpay/ncmgr/service/NcService.java
@@ -0,0 +1,147 @@
+package com.supwisdom.dlpay.ncmgr.service;

+

+import com.supwisdom.dlpay.ncmgr.domain.*;

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

+

+import java.util.List;

+import java.util.Map;

+

+public interface NcService {

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

+    public Pagination getNcDeviceWithPage(String devname, int pageNo, int pageSize, Map map, String buildingid, String devtype);

+

+    //获取所有楼栋信息

+    public List<TBuilding> getAllBuilding();

+

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

+    public TBuilding getBuidingById(String id);

+

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

+    public List<TNcDevice> getDevByType(String type);

+

+    //根据设备id获取设备

+    public TNcDevice findDevById(int id);

+

+    //验证设备名称

+    public TNcDevice validDevName(int devid,String devname);

+

+    //验证设备物理编号

+    public TNcDevice validDevPhyid(int devid,String devPhyid);

+

+    //验证读头号

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

+

+    //修改设备

+    public boolean updateDevice(TNcDevice bean);

+

+    //获取设备最大主键

+    public int getMaxId();

+

+    //保存设备

+    public boolean saveDevice(TNcDevice bean);

+

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

+    public TNcDevice getDevInfoByDevid(int devid);

+

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

+    public void delDevById(int devid);

+

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

+    public TNcCardlist getCleanList(String devid);

+

+    //保存同步名单信息

+    public boolean saveCardlist(TNcCardlist bean);

+

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

+    public void updateForListReload(String devid);

+

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

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

+

+    //根据时间段

+    public List<String> getTimegrpIdById(int id);

+

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

+    public boolean delTimeByTimeId(int id);

+

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

+    public boolean updListVersion();

+

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

+    public TNcTime findByTimeId(int id);

+

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

+    public TNcTime findByTimeName(String name);

+

+    //获取时间段最大主键

+    public int getMaxTimeId();

+

+    //保存时间段

+    public boolean saveTime(TNcTime bean);

+

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

+    public TNcTime findByIdAndName(int id, String name);

+

+    //修改时间段

+    public boolean updateTime(TNcTime bean);

+

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

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

+

+    //获取所有时间段

+    public List<TNcTime> findAllNcTime();

+

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

+    public TNcTimegrp findByTimeGrpId(int id);

+

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

+    public TNcTimegrp findByTimeGrpName(String name);

+

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

+    public int getMaxTimeGrpId();

+

+    //保存时间组

+    public boolean saveTimegrp(TNcTimegrp bean);

+

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

+    public TNcTimegrp findByGrpIdAndName(int id,String name);

+

+    //修改时间组

+    public boolean updateTimegrp(TNcTimegrp bean);

+

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

+    public List<String> getWeekTimeById(int id);

+

+    //根据id删除时间组

+    public boolean delByGrpId(int id);

+

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

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

+

+    //获取所有时间组

+    public List<TNcTimegrp> findAllNcTimeGrp();

+

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

+    public TNcWeektime findByWeekTimeId(int id);

+

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

+    public TNcWeektime findByWeekTimeName(String name);

+

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

+    public int getMaxWeekId();

+

+    //保存时间周

+    public boolean saveWeektime(TNcWeektime bean);

+

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

+    public TNcWeektime findByWeekIdAndName(int id,String name);

+

+    //修改时间周

+    public boolean updateWeektime(TNcWeektime bean);

+

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

+    public List getDevWeekByWeekid(int id);

+

+    //根据id删除时间周

+    public boolean delByWeekId(int id);

+}

diff --git a/src/main/java/com/supwisdom/dlpay/ncmgr/service/impl/NcServiceImpl.java b/src/main/java/com/supwisdom/dlpay/ncmgr/service/impl/NcServiceImpl.java
new file mode 100644
index 0000000..4063309
--- /dev/null
+++ b/src/main/java/com/supwisdom/dlpay/ncmgr/service/impl/NcServiceImpl.java
@@ -0,0 +1,266 @@
+package com.supwisdom.dlpay.ncmgr.service.impl;

+

+import com.supwisdom.dlpay.ncmgr.dao.*;

+import com.supwisdom.dlpay.ncmgr.domain.*;

+import com.supwisdom.dlpay.ncmgr.service.NcService;

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

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

+import org.springframework.stereotype.Service;

+

+import java.util.List;

+import java.util.Map;

+

+@Service

+public class NcServiceImpl implements NcService {

+    @Autowired

+    private NcDeviceDao ncDeviceDao;

+    @Autowired

+    private NcCardListDao ncCardListDao;

+    @Autowired

+    private NcTimeDao ncTimeDao;

+    @Autowired

+    private NcDevWeekDao ncDevWeekDao;

+    @Autowired

+    private NcTimeGrpDao ncTimeGrpDao;

+    @Autowired

+    private NcWeekTimeDao ncWeekTimeDao;

+

+

+    @Override

+    public Pagination getNcDeviceWithPage(String devname, int pageNo, int pageSize, Map map, String buildingid, String devtype) {

+        Pagination page = ncDeviceDao.getNcDeviceWithPage(devname, pageNo, pageSize, buildingid, devtype);

+        map.put("devPage", page);

+        return page;

+    }

+

+    @Override

+    public List<TBuilding> getAllBuilding() {

+        return ncDeviceDao.getAllBuilding();

+    }

+

+    @Override

+    public TBuilding getBuidingById(String id) {

+        return ncDeviceDao.getBuidingById(id);

+    }

+

+    @Override

+    public List<TNcDevice> getDevByType(String type) {

+        return ncDeviceDao.getDevByType(type);

+    }

+

+    @Override

+    public TNcDevice findDevById(int id) {

+        return ncDeviceDao.findDevById(id);

+    }

+

+    @Override

+    public TNcDevice validDevName(int devid, String devname) {

+        return ncDeviceDao.validDevName(devid, devname);

+    }

+

+    @Override

+    public TNcDevice validDevPhyid(int devid, String devPhyid) {

+        return ncDeviceDao.validDevPhyid(devid, devPhyid);

+    }

+

+    @Override

+    public TNcDevice validDevNo(int fdevid, int devno, int devid) {

+        return ncDeviceDao.validDevNo(fdevid, devno, devid);

+    }

+

+    @Override

+    public boolean updateDevice(TNcDevice bean) {

+        return ncDeviceDao.updateDevice(bean);

+    }

+

+    @Override

+    public int getMaxId() {

+        return ncDeviceDao.getMaxId();

+    }

+

+    @Override

+    public boolean saveDevice(TNcDevice bean) {

+        return ncDeviceDao.saveDevice(bean);

+    }

+

+    @Override

+    public TNcDevice getDevInfoByDevid(int devid) {

+        return ncDeviceDao.getDevInfoByDevid(devid);

+    }

+

+    @Override

+    public void delDevById(int devid) {

+        ncDeviceDao.delDevById(devid);

+    }

+

+    @Override

+    public TNcCardlist getCleanList(String devid) {

+        return ncCardListDao.getCleanList(devid);

+    }

+

+    @Override

+    public boolean saveCardlist(TNcCardlist bean) {

+        return ncCardListDao.saveCardlist(bean);

+    }

+

+    @Override

+    public void updateForListReload(String devid) {

+

+    }

+

+    @Override

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

+        Pagination page = ncTimeDao.getNcTimeWithPage(time, pageNo, pageSize);

+        map.put("timePage", page);

+        return page;

+    }

+

+    @Override

+    public List<String> getTimegrpIdById(int id) {

+        return ncTimeDao.getTimegrpIdById(id);

+    }

+

+    @Override

+    public boolean delTimeByTimeId(int id) {

+        return ncTimeDao.delTimeByTimeId(id);

+    }

+

+    @Override

+    public boolean updListVersion() {

+        return ncDevWeekDao.updListVersion();

+    }

+

+    @Override

+    public TNcTime findByTimeId(int id) {

+        return ncTimeDao.findByTimeId(id);

+    }

+

+    @Override

+    public TNcTime findByTimeName(String name) {

+        return ncTimeDao.findByTimeName(name);

+    }

+

+    @Override

+    public int getMaxTimeId() {

+        return ncTimeDao.getMaxTimeId();

+    }

+

+    @Override

+    public boolean saveTime(TNcTime bean) {

+        return ncTimeDao.saveTime(bean);

+    }

+

+    @Override

+    public TNcTime findByIdAndName(int id, String name) {

+        return ncTimeDao.findByIdAndName(id, name);

+    }

+

+    @Override

+    public boolean updateTime(TNcTime bean) {

+        return ncTimeDao.updateTime(bean);

+    }

+

+    @Override

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

+        Pagination page = ncTimeGrpDao.getNcTimeGrpWithPage(time, pageNo, pageSize);

+        map.put("timeGrpPage", page);

+        return page;

+    }

+

+    @Override

+    public List<TNcTime> findAllNcTime() {

+        return ncTimeDao.findAllNcTime();

+    }

+

+    @Override

+    public TNcTimegrp findByTimeGrpId(int id) {

+        return ncTimeGrpDao.findByTimeGrpId(id);

+    }

+

+    @Override

+    public TNcTimegrp findByTimeGrpName(String name) {

+        return ncTimeGrpDao.findByTimeGrpName(name);

+    }

+

+    @Override

+    public int getMaxTimeGrpId() {

+        return ncTimeGrpDao.getMaxTimeGrpId();

+    }

+

+    @Override

+    public boolean saveTimegrp(TNcTimegrp bean) {

+        return ncTimeGrpDao.saveTimegrp(bean);

+    }

+

+    @Override

+    public TNcTimegrp findByGrpIdAndName(int id, String name) {

+        return ncTimeGrpDao.findByGrpIdAndName(id, name);

+    }

+

+    @Override

+    public boolean updateTimegrp(TNcTimegrp bean) {

+        return ncTimeGrpDao.updateTimegrp(bean);

+    }

+

+    @Override

+    public List<String> getWeekTimeById(int id) {

+        return ncTimeGrpDao.getWeekTimeById(id);

+    }

+

+    @Override

+    public boolean delByGrpId(int id) {

+        return ncTimeGrpDao.delByGrpId(id);

+    }

+

+    @Override

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

+        Pagination page = ncWeekTimeDao.getNcWeekTimeWithPage(time, pageNo, pageSize);

+        map.put("weekTimePage", page);

+        return page;

+    }

+

+    @Override

+    public List<TNcTimegrp> findAllNcTimeGrp() {

+        return ncTimeGrpDao.findAllNcTimeGrp();

+    }

+

+    @Override

+    public TNcWeektime findByWeekTimeId(int id) {

+        return ncWeekTimeDao.findByWeekTimeId(id);

+    }

+

+    @Override

+    public TNcWeektime findByWeekTimeName(String name) {

+        return ncWeekTimeDao.findByWeekTimeName(name);

+    }

+

+    @Override

+    public int getMaxWeekId() {

+        return ncWeekTimeDao.getMaxWeekId();

+    }

+

+    @Override

+    public boolean saveWeektime(TNcWeektime bean) {

+        return ncWeekTimeDao.saveWeektime(bean);

+    }

+

+    @Override

+    public TNcWeektime findByWeekIdAndName(int id, String name) {

+        return ncWeekTimeDao.findByWeekIdAndName(id, name);

+    }

+

+    @Override

+    public boolean updateWeektime(TNcWeektime bean) {

+        return ncWeekTimeDao.updateWeektime(bean);

+    }

+

+    @Override

+    public List getDevWeekByWeekid(int id) {

+        return ncWeekTimeDao.getDevWeekByWeekid(id);

+    }

+

+    @Override

+    public boolean delByWeekId(int id) {

+        return ncWeekTimeDao.delByWeekId(id);

+    }

+}

diff --git a/src/main/java/com/supwisdom/dlpay/system/controller/RoleController.java b/src/main/java/com/supwisdom/dlpay/system/controller/RoleController.java
index 53f8e03..48d2bfc 100644
--- a/src/main/java/com/supwisdom/dlpay/system/controller/RoleController.java
+++ b/src/main/java/com/supwisdom/dlpay/system/controller/RoleController.java
@@ -29,31 +29,6 @@
         return "system/role/index";
     }
 
-    @RequestMapping("/ncmgr/devindex")
-    public String devindex(ModelMap model) {
-        return "ncmgr/nc_dev";
-    }
-
-    @GetMapping("/ncmgr/timeindex")
-    public String timeindex() {
-        return "ncmgr/nc_time";
-    }
-
-    @GetMapping("/ncmgr/timegrpindex")
-    public String timegrpdex() {
-        return "ncmgr/nc_timegrp";
-    }
-
-    @GetMapping("/ncmgr/weektimeindex")
-    public String weektimeindex() {
-        return "ncmgr/nc_weektime";
-    }
-
-    @RequestMapping("/ncmgr/devweek")
-    public String devweek(ModelMap model){
-        return "ncmgr/nc_devweek";
-    }
-
     @RequestMapping("/doorlistMgr/downDoorList")
     public String downDoorList(ModelMap model){
         return "doorlist/addDoorlist";
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 fa5f3c5..de3ec24 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
@@ -102,6 +102,7 @@
         return list;

     }

 

+    @Transactional

     @Override

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

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

diff --git a/src/main/kotlin/com/supwisdom/dlpay/ncmgr/ncmgr_controller.kt b/src/main/kotlin/com/supwisdom/dlpay/ncmgr/ncmgr_controller.kt
deleted file mode 100644
index e68cf6b..0000000
--- a/src/main/kotlin/com/supwisdom/dlpay/ncmgr/ncmgr_controller.kt
+++ /dev/null
@@ -1,5 +0,0 @@
-package com.supwisdom.dlpay.ncmgr

-

-class NcMgrController{

-

-}
\ No newline at end of file
diff --git a/src/main/resources/templates/ncmgr/nc_dev.html b/src/main/resources/templates/ncmgr/nc_dev.html
index 6e53085..f4983e2 100644
--- a/src/main/resources/templates/ncmgr/nc_dev.html
+++ b/src/main/resources/templates/ncmgr/nc_dev.html
@@ -41,15 +41,15 @@
                 </div>
                 <div class="col-md-3" >
                     <div class="form-group">
-                        <label class="control-label col-md-6 col-sm-12 col-xs-12" style="font-size: 14px;">设备使用类型:</span>
+                        <label class="control-label col-md-6 col-sm-12 col-xs-12" style="font-size: 14px;">设备所在楼栋:</span>
                         </label>
                         <div class="col-md-6 col-sm-12 col-xs-12">
-                            <el-select v-model="devform.usetype" style="width: 140px" filterable placeholder="请选择">
+                            <el-select v-model="devform.buildingname" style="width: 140px" filterable placeholder="请选择">
                                 <el-option
-                                        v-for="usetype in usetypes"
-                                        :key="usetype.value"
-                                        :label="usetype.label"
-                                        :value="usetype.value">
+                                        v-for="building in buildings"
+                                        :key="building.value"
+                                        :label="building.label"
+                                        :value="building.value">
                                 </el-option>
                             </el-select>
                         </div>
@@ -103,10 +103,9 @@
                             :formatter="typeform">
                     </el-table-column>
                     <el-table-column
-                            prop="devtype"
-                            label="设备使用类型"
-                            width="140"
-                            :formatter="usetypeform">
+                            prop="buildingname"
+                            label="设备所在楼栋"
+                            width="140">
                     </el-table-column>
                     <el-table-column
                             prop="ip"
@@ -239,6 +238,23 @@
                             </el-input>
                         </el-col>
                     </el-form-item>
+                    <el-form-item label="所在楼栋:" prop="buildingid">
+                        <el-col :span="18">
+                            <el-select v-model="devUpform.buildingid"
+                                       style="width: 187px;" clearable
+                                       filterable
+                                       :disabled="buildingDis"
+                                       placeholder="请选择">
+                                <el-option
+                                        v-for="buildingid in buildings"
+                                        :key="buildingid.value"
+                                        :label="buildingid.label"
+                                        :value="buildingid.value">
+                                </el-option>
+                            </el-select>
+                        </el-col>
+                    </el-form-item>
+
                     <el-form-item label="继续添加:" prop="continueadd" v-show="checkvisible === true">
                         <el-col :span="18">
                             <el-checkbox v-model="continueadd">选中后保存不会退出窗口</el-checkbox>
@@ -287,16 +303,18 @@
             currentRow: null,
             devnoDis: false,
             fdevDis: false,
+            buildingDis:false,
             phyDis: false,
             devform: {
                 devname: '',
-                usetype: '',
+                buildingname: '',
                 devtype: ''
             },
             checkvisible: true,
             continueadd: true,
             devtypes: [],
             fdevs: [],
+            buildings:[],
             devusetypes: [],
             dialogFormVisible: false,
             dlgAllotDevVisible: false,
@@ -310,9 +328,9 @@
                 devphyid: '',
                 devno: '',
                 ip: '',
+                buildingid:'',
             },
 
-            usetypes: [],
             rules: {
                 devname: [
                     {required: true, message: '请输入设备名', trigger: 'blur'},
@@ -373,6 +391,7 @@
                 this.dialogFormVisible = false;
             },
             saveDev: function (formName) {
+
                 var _that = this;
                 var vali = false;
                 if (this.devUpform.devtype == "C") {
@@ -474,7 +493,7 @@
                     //console.log(ret);
                     _self.totSize = ret.PageResult.totalCount;
                     _self.tableData = ret.PageResult.list;
-                    var ut = ret.usetypes;
+                    var ut = ret.buildings;
                     var rows = [];
                     rows.push({
                         value: '',
@@ -482,17 +501,11 @@
                     });
                     for (var i = 0; i < ut.length; i++) {
                         rows.push({
-                            value: ut[i].dictval,
-                            label: ut[i].dictcaption
+                            value: ut[i].buildingid,
+                            label: ut[i].buildingname
                         });
                     }
-                    var devUseTypeVal = [];
-                    var devusetypeName = [];
-                    var useTypes = ret.usetypes;
-                    for (var i = 0; i < useTypes.length; i++) {
-                        devUseTypeVal.push(useTypes[i]["dictval"]);
-                        devusetypeName.push(useTypes[i]["dictcaption"]);
-                    }
+
 
                     var dictlist = [];
                     var dict = ret.dicts;
@@ -508,10 +521,8 @@
                         });
                     }
                     vue.devtypes = dictlist;
-                    vue.usetypeVals = devUseTypeVal;
-                    vue.usetypeNames = devusetypeName;
-                    vue.usetypes = rows;
-                    vue.devform.usetype = '';
+                    vue.buildings = rows;
+                    vue.devform.builddingname = '';
                 }
             })
         }
@@ -529,7 +540,7 @@
         $.ajax({
             type: "get",
             dataType: "json",
-            url: encodeURI("/ncmgr/loadDevList?devname=" + rolename.devname + "&pageNo=" + pageno + "&pageSize=" + pagesize + "&usetype=" + rolename.usetype + "&devtype=" + rolename.devtype),
+            url: encodeURI("/ncmgr/loadDevList?devname=" + rolename.devname + "&pageNo=" + pageno + "&pageSize=" + pagesize + "&buildingid=" + rolename.buildingname + "&devtype=" + rolename.devtype),
             success: function (ret) {
                 _self.totSize = ret.PageResult.totalCount;
                 _self.tableData = ret.PageResult.list;
@@ -572,6 +583,14 @@
                         value: dev[i].deviceid
                     });
                 }
+                var buildinglist=[];
+                var buildingdata = ret.buildings;
+                for (var i = 0; i < buildingdata.length; i++) {
+                    buildinglist.push({
+                        label: buildingdata[i].buildingname,
+                        value: buildingdata[i].buildingid
+                    });
+                }
                 if (ret.device != null) {
                     //console.log(ret.oper);
                     _self.devUpform.deviceid = ret.device.deviceid;
@@ -593,6 +612,7 @@
                 }
                 _self.devtypes = dictlist;
                 _self.fdevs = devlist;
+                _self.buildings = buildinglist;
                 _self.devusetypes = devUseType;
             }
         })
@@ -607,11 +627,17 @@
             layer.msg('需要选择上级设备', {icon: 2, time: 1000});
             return;
         }
+        var token=$("meta[name='_csrf_token']").attr("value");
         $.ajax({
-            type: "POST",
+            type: "post",
             url: encodeURI("/ncmgr/saveNcDev"),
             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 == undefined) {
diff --git a/src/main/resources/templates/ncmgr/nc_time.html b/src/main/resources/templates/ncmgr/nc_time.html
index ae43cb1..422e01c 100644
--- a/src/main/resources/templates/ncmgr/nc_time.html
+++ b/src/main/resources/templates/ncmgr/nc_time.html
@@ -324,12 +324,17 @@
         if(vue.timetitile == "修改时间段"){
             url = encodeURI("/ncmgr/updateNcTime")
         }
-
+        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 == undefined){
diff --git a/src/main/resources/templates/ncmgr/nc_timegrp.html b/src/main/resources/templates/ncmgr/nc_timegrp.html
index e49f7b7..43f42eb 100644
--- a/src/main/resources/templates/ncmgr/nc_timegrp.html
+++ b/src/main/resources/templates/ncmgr/nc_timegrp.html
@@ -414,11 +414,17 @@
             layer.msg('至少选择一个时间段!', {icon: 2,time:1000});
             return '';
         }else {
+            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 == undefined){
diff --git a/src/main/resources/templates/ncmgr/nc_weektime.html b/src/main/resources/templates/ncmgr/nc_weektime.html
index 28c3084..01490cb 100644
--- a/src/main/resources/templates/ncmgr/nc_weektime.html
+++ b/src/main/resources/templates/ncmgr/nc_weektime.html
@@ -229,7 +229,6 @@
             pageSize:10,
             totSize:0,
             currentRow: null,
-            cxt:'${pageContext.request.contextPath}',
             weektimeform:{
                 weektimename:'',
             },
@@ -333,7 +332,7 @@
             $.ajax({
                 type:"get",
                 dataType:"json",
-                url:this.cxt+"/ncmgr/loadweektimeList?weektimename=",
+                url:"/ncmgr/loadweektimeList?weektimename=",
                 success:function(ret){
                     //console.log(ret);
                     _self.totSize=ret.PageResult.totalCount;
@@ -369,7 +368,7 @@
         $.ajax({
             type:"get",
             dataType:"json",
-            url:encodeURI(vue.cxt+"/ncmgr/loadweektimeList?weektimename="+weektimename+"&pageNo="+pageno+"&pageSize="+pagesize),
+            url:encodeURI("/ncmgr/loadweektimeList?weektimename="+weektimename+"&pageNo="+pageno+"&pageSize="+pagesize),
             success:function(ret){
                 _self.totSize=ret.PageResult.totalCount;
                 _self.tableData=ret.PageResult.list;
@@ -384,7 +383,7 @@
         $.ajax({
             type:"get",
             dataType:"json",
-            url:encodeURI(vue.cxt+"/ncmgr/loadNcweektimeForUpdate?weektimeid="+id),
+            url:encodeURI("/ncmgr/loadNcweektimeForUpdate?weektimeid="+id),
             success:function(ret){
                 var timelist = [];
                 var times=ret.timegrp;
@@ -408,10 +407,10 @@
     function saveData(_that,formdata,formName) {
         var url;
         if(vue.weektimetitle == "添加时间周"){
-            url = encodeURI(vue.cxt+"/ncmgr/addNcweektime");
+            url = encodeURI("/ncmgr/addNcweektime");
         }
         if(vue.weektimetitle == "修改时间周"){
-            url = encodeURI(vue.cxt+"/ncmgr/updateNcweektime");
+            url = encodeURI("/ncmgr/updateNcweektime");
         }
         var timeid1=formdata.day1grpid;
         var timeid2=formdata.day2grpid;
@@ -424,11 +423,17 @@
             layer.msg('至少选择一天!', {icon: 2,time:1000});
             return '';
         }else {
+            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 == undefined) {
@@ -458,7 +463,7 @@
             $.ajax({
                 type:"get",
                 dataType:"json",
-                url:vue.cxt+"/ncmgr/deleteNcweektime?weektimeid="+id,
+                url:"/ncmgr/deleteNcweektime?weektimeid="+id,
                 success:function(ret){
                     //console.log(ret);
                     if(ret.message == undefined){