会议获取开门码
diff --git a/src/main/java/com/supwisdom/dlpay/conference/api/controller/ConerenceApiController.java b/src/main/java/com/supwisdom/dlpay/conference/api/controller/ConerenceApiController.java
index b987adf..3eabbbe 100644
--- a/src/main/java/com/supwisdom/dlpay/conference/api/controller/ConerenceApiController.java
+++ b/src/main/java/com/supwisdom/dlpay/conference/api/controller/ConerenceApiController.java
@@ -114,7 +114,9 @@
Integer confid = req.getConfid();
TConference conference = conferenceService.getConferenceById(confid);
if (null == conference) {
- resp.setRetmsg("");
+ resp.setRetmsg("暂无会议");
+ resp.setRetcode(0);
+ return resp;
}
List<ConfPeopleApiBean> lst = conferenceService.getConfPeopleListByConfid(confid, conference.getConftype());
@@ -134,7 +136,7 @@
Integer confid = req.getConfid();
String timestamp = req.getTimestamp();
String devphyid = req.getDevphyid();
- /*if (null == confid || StringUtil.isEmpty(timestamp) || StringUtil.isEmpty(devphyid)) {
+ if (null == confid || StringUtil.isEmpty(timestamp) || StringUtil.isEmpty(devphyid)) {
mov.addObject("msg", "签到失败");
mov.addObject("errorMsg", "参数传递错误");
mov.setViewName("apph5/confresult");
@@ -168,7 +170,7 @@
mov.addObject("errorMsg", "时间误差过大");
mov.setViewName("apph5/confresult");
return mov;
- }*/
+ }
if(StringUtil.isEmpty(userid)){
mov.addObject("confid",confid);
@@ -183,7 +185,7 @@
return mov;
}
- /*String atttime = DateUtil.getNow("HHmm");
+ String atttime = DateUtil.getNow("HHmm");
int compareAttend = DateUtil.compareDatetime(atttime, conference.getAttendtime(), "HHmm");
int compareStart = DateUtil.compareDatetime(atttime, conference.getStarttime(), "HHmm");
@@ -245,7 +247,7 @@
mov.addObject("msg", "签到成功");
mov.addObject("remarkTitle", "会议概要");
- mov.addObject("remark", conference.getRemark());*/
+ mov.addObject("remark", conference.getRemark());
mov.setViewName("apph5/confresult");
return mov;
}
diff --git a/src/main/java/com/supwisdom/dlpay/conference/controller/ConferenceController.java b/src/main/java/com/supwisdom/dlpay/conference/controller/ConferenceController.java
index dc52c3b..51841ee 100644
--- a/src/main/java/com/supwisdom/dlpay/conference/controller/ConferenceController.java
+++ b/src/main/java/com/supwisdom/dlpay/conference/controller/ConferenceController.java
@@ -8,6 +8,7 @@
import com.supwisdom.dlpay.api.bean.JsonResult;
import com.supwisdom.dlpay.conference.bean.ConferenceShowBean;
import com.supwisdom.dlpay.conference.domain.TConfPeople;
+import com.supwisdom.dlpay.conference.domain.TConference;
import com.supwisdom.dlpay.conference.domain.TConferenceDevbind;
import com.supwisdom.dlpay.conference.service.ConferenceService;
import com.supwisdom.dlpay.conference.util.ConferenceConstant;
@@ -15,12 +16,20 @@
import com.supwisdom.dlpay.customer.bean.CustomerSearchBean;
import com.supwisdom.dlpay.doorlist.bean.TCustomerImportBean;
import com.supwisdom.dlpay.doorlist.bean.TCustomerInfo;
+import com.supwisdom.dlpay.doorlist.service.DoorlistMgrService;
import com.supwisdom.dlpay.framework.domain.TOperator;
+import com.supwisdom.dlpay.framework.service.SystemUtilService;
import com.supwisdom.dlpay.framework.util.*;
import com.supwisdom.dlpay.mainservice.service.WebInterfaceService;
+import com.supwisdom.dlpay.ncmgr.domain.TNcAllottime;
+import com.supwisdom.dlpay.ncmgr.domain.TNcAllottimeId;
+import com.supwisdom.dlpay.ncmgr.domain.TNcCardlist;
import com.supwisdom.dlpay.ncmgr.domain.TNcDevice;
import com.supwisdom.dlpay.ncmgr.service.NcService;
+import com.supwisdom.dlpay.util.RedisUtil;
import com.supwisdom.dlpay.util.WebCheckException;
+import com.supwisdom.dlpay.visitormanage.domain.EVisitorConfDtl;
+import com.supwisdom.dlpay.visitormanage.service.VisitormanageService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.core.annotation.AuthenticationPrincipal;
import org.springframework.security.core.userdetails.UserDetails;
@@ -34,7 +43,9 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
+import java.text.SimpleDateFormat;
import java.util.ArrayList;
+import java.util.Date;
import java.util.List;
import java.util.Map;
@@ -46,7 +57,12 @@
private NcService ncService;
@Autowired
private WebInterfaceService webInterfaceService;
-
+ @Autowired
+ private SystemUtilService systemUtilService;
+ @Autowired
+ private VisitormanageService visitormanageService;
+ @Autowired
+ DoorlistMgrService doorlistMgrService;
@GetMapping("/conference/index")
public String ConferenceView() {
@@ -65,7 +81,7 @@
if (null == pageSize || pageSize < 1) pageSize = WebConstant.PAGESIZE_DEFAULT;
TOperator oper = (TOperator) operUser;
String deptcode = oper.getDeptcode();
- return conferenceService.getConferenceInfos(confname, conftype, deptcode,"", pageNo, pageSize);
+ return conferenceService.getConferenceInfos(confname, conftype, deptcode, "", pageNo, pageSize);
} catch (Exception e) {
e.printStackTrace();
return new PageResult<>(99, "系统查询错误");
@@ -80,6 +96,12 @@
return JsonResult.error("参数传递错误");
}
if (conferenceService.deleteConference(id)) {
+
+ EVisitorConfDtl dtl = visitormanageService.getVisitorConfByConfid(id);
+ if(null!=dtl){
+ dtl.setStatus("closed");
+ visitormanageService.saveVisitorConf(dtl);
+ }
return JsonResult.ok("删除成功!");
} else {
return JsonResult.error("删除失败!");
@@ -154,7 +176,7 @@
return JsonResult.error("登录过期,请重新登录");
}
- if (conferenceService.saveNewConference(confname.trim(), DateUtil.unParseToDateFormat(confdate), conftype, DateUtil.unParseToDateFormat(starttime), DateUtil.unParseToDateFormat(endtime), DateUtil.unParseToDateFormat(attendtime), oper, deviceid,remark)) {
+ if (conferenceService.saveNewConference(confname.trim(), DateUtil.unParseToDateFormat(confdate), conftype, DateUtil.unParseToDateFormat(starttime), DateUtil.unParseToDateFormat(endtime), DateUtil.unParseToDateFormat(attendtime), oper, deviceid, remark)) {
return JsonResult.ok("新增成功");
} else {
return JsonResult.error("新增失败");
@@ -209,6 +231,122 @@
return "conference/confdetail";
}
+ @GetMapping("/conference/load4qrcode")
+ public String load4QRcode(@RequestParam("confid") Integer confid, Model model) {
+ TConference conf = conferenceService.getConferenceById(confid);
+ if (null == conf) {
+ return null;
+ }
+ model.addAttribute("confid", confid);
+ /* model.addAttribute("starttime",conf.getAttendtime());
+ model.addAttribute("endtime",conf.getEndtime());*/
+ EVisitorConfDtl dtl = visitormanageService.getVisitorConfByConfid(confid);
+ if (null != dtl) {
+ model.addAttribute("qrcode", dtl.getQrcode());
+ }
+
+ return "conference/confqrcode";
+ }
+
+
+ @PostMapping("/conference/getqrcode")
+ @ResponseBody
+ public JsonResult getQRcode(@RequestParam("confid") Integer confid,
+ @RequestParam("starttime") String starttime,
+ @RequestParam("endtime") String endtime, Model model) {
+
+ TConference conf = conferenceService.getConferenceById(confid);
+ if (null == conf) {
+ JsonResult.error("会议不存在");
+ }
+ starttime = DateUtil.reformatDatetime(starttime, "HH:mm", "HHmm");
+ endtime = DateUtil.reformatDatetime(endtime, "HH:mm", "HHmm");
+
+ if (DateUtil.compareDatetime(endtime, starttime, "HHmm") <= 0) {
+ return JsonResult.error("时间范围错误,结束时间必须比起始时间大");
+ } /*else if (DateUtil.compareDatetime(starttime, conf.getAttendtime(), "HHmm") <= 0) {
+ return JsonResult.error("时间范围错误,有效时间必须比签到时间早");
+ } else if (DateUtil.compareDatetime(conf.getEndtime(), endtime, "HHmm") <= 0) {
+ return JsonResult.error("时间范围错误,有效时间必须比结束时间晚");
+ }*/
+ /* Integer delay=0;
+
+ String delaypara=systemUtilService.getBusinessValue("conference.opendoor.delay");
+ if(!StringUtil.isEmpty(delaypara)){
+ delay=Integer.parseInt(delaypara);
+ }*/
+
+
+
+ EVisitorConfDtl dtl = visitormanageService.getVisitorConfByConfid(confid);
+ if (null == dtl) {
+
+ dtl = new EVisitorConfDtl();
+ // String starttime=DateUtil.getCaculatedTime(conf.getAttendtime(),delay*-1);
+ // String endtime=DateUtil.getCaculatedTime(conf.getEndtime(),delay);
+ dtl.setConfid(confid);
+ dtl.setStatus("normal");
+ String time = DateUtil.getNow("yyyyMMddHHmmss");
+ String s = StringUtil.getRandomString(18);
+ s += time;
+ String sign = "SIGNFORCONFERS" + s;
+ dtl.setSign(s);
+ dtl.setQrcode(sign);
+
+ List<TNcCardlist> tNcCardlists = new ArrayList<TNcCardlist>();
+ List<TNcAllottime> tNcAllottimes = new ArrayList<TNcAllottime>();
+
+ //long listid = webInterfaceService.getNextSeqTDoorcardlst();
+ //从缓存读取列表值并加1
+ long listid = RedisUtil.incr("seq_cardlist");
+ TNcCardlist tmpCardlist = new TNcCardlist();
+ tmpCardlist.setListid("100"+listid );
+ tmpCardlist.setCustid(s);
+ tmpCardlist.setCustname(conf.getConfname());
+ tmpCardlist.setCardno(s);
+ tmpCardlist.setBankcardno("");
+ tmpCardlist.setCardphyid("");
+ tmpCardlist.setClosedate("");
+ tmpCardlist.setDeviceid(3);
+ tmpCardlist.setOperflag("A");
+ tmpCardlist.setRectime(time);
+ tmpCardlist.setSynctime("");
+ tmpCardlist.setSyncflag("Y");
+ tmpCardlist.setRtnflag("Y");
+ tmpCardlist.setRtntime(time);
+ tmpCardlist.setVersion(1);
+ tmpCardlist.setOperid("");
+ tmpCardlist.setReason("内部人员访客app申请");
+
+ tNcCardlists.add(tmpCardlist);
+
+ //webInterfaceService.saveTDoorcardlst(tDoorcardlst);
+ TNcAllottimeId tNcAllottimeId = new TNcAllottimeId();
+ tNcAllottimeId.setListid("100"+listid );
+ tNcAllottimeId.setTimeid("1");
+ TNcAllottime tNcAllottime = new TNcAllottime();
+ tNcAllottime.setDeviceid(3);
+ tNcAllottime.setId(tNcAllottimeId);
+
+ tNcAllottimes.add(tNcAllottime);
+ //long end1=System.currentTimeMillis(); //获取结束时间
+ //System.out.println("程序运行时间: "+(end1-start1)+"ms");
+
+ doorlistMgrService.batchSaveCardList(tNcCardlists);
+ doorlistMgrService.batchSaveAllotTime(tNcAllottimes);
+ tNcCardlists.clear();
+ tNcAllottimes.clear();
+ RedisUtil.incr("zcard_max_version");
+ tNcCardlists.clear();
+ }
+ dtl.setEndtime(endtime);
+ dtl.setStarttime(starttime);
+ visitormanageService.saveVisitorConf(dtl);
+
+ String qrcode=dtl.getQrcode();
+ return JsonResult.ok(qrcode);
+ }
+
@GetMapping("/conference/load4detaillist")
@ResponseBody
public PageResult<TConfPeople> searchConfPeople(@RequestParam("page") Integer pageNo,
@@ -226,7 +364,7 @@
}
}
- @RequestMapping("/conference/getQRCode")
+ @RequestMapping("/conference/getQRCode2")
@ResponseBody
public void getQRCode(@RequestParam("confid") String id, HttpServletResponse httpServletResponse) throws Exception {
// QRCodeUtil.createQrCode(new FileOutputStream(new File("d:\\qrcode\\qrcode.jpg")),"confid="+id,800,"JPEG");
@@ -244,7 +382,7 @@
@GetMapping("/conference/loadimport")
public String loadimport(@RequestParam("confid") Integer confid,
- @RequestParam("confname") String confname,Model model) {
+ @RequestParam("confname") String confname, Model model) {
model.addAttribute("detailConfid", confid);
model.addAttribute("confName", confname);
@@ -271,7 +409,7 @@
fpath = path + "/" + fileName;
}
- if (conferenceService.saveConferencePeopleByExcel(confid,fpath)) {
+ if (conferenceService.saveConferencePeopleByExcel(confid, fpath)) {
return JsonResult.ok("新增成功");
} else {
return JsonResult.error("新增失败");
@@ -312,9 +450,9 @@
@RequestMapping("/conference/listpeopleforimport")
@ResponseBody
public PageResult<TCustomerImportBean> listConfpeople(
- @RequestParam(value = "custname", required = false) String custname,
- @RequestParam(value = "deptcode", required = false) String deptcode,
- @AuthenticationPrincipal TOperator operUser) {
+ @RequestParam(value = "custname", required = false) String custname,
+ @RequestParam(value = "deptcode", required = false) String deptcode,
+ @AuthenticationPrincipal TOperator operUser) {
try {
CustomerSearchBean searchBean = new CustomerSearchBean();
searchBean.setCustname(custname);
diff --git a/src/main/java/com/supwisdom/dlpay/customer/controller/CustomerController.java b/src/main/java/com/supwisdom/dlpay/customer/controller/CustomerController.java
index b58c106..ae32c0e 100644
--- a/src/main/java/com/supwisdom/dlpay/customer/controller/CustomerController.java
+++ b/src/main/java/com/supwisdom/dlpay/customer/controller/CustomerController.java
@@ -62,7 +62,7 @@
model.put("custtypelist", typeString);
List<TCustType> list = systemService.findAllCusttype();
TCustType type=new TCustType();
- type.setCusttypeid(0);
+ type.setCusttypeid(-1);
type.setCusttypename("全部");
list.add(0,type);
model.addAttribute("typelist", list);
@@ -89,6 +89,7 @@
deptcode = operUser.getDeptcode();
}
searchBean.setDeptcode(deptcode);
+
searchBean.setCusttypeid(custtypeid);
PageResult<TCustomerInfo> bean = webInterfaceService.getCustomerInfoPage(searchBean);
@@ -105,7 +106,8 @@
List<TDept> deptlist = systemService.findAllDept();
model.addAttribute("deptlist", deptlist);
-
+ List<TCustType> list = systemService.findAllCusttype();
+ model.addAttribute("typelst", list);
return "doorlist/customer/form";
}
diff --git a/src/main/java/com/supwisdom/dlpay/framework/util/DateUtil.java b/src/main/java/com/supwisdom/dlpay/framework/util/DateUtil.java
index 3a7e013..df6d311 100644
--- a/src/main/java/com/supwisdom/dlpay/framework/util/DateUtil.java
+++ b/src/main/java/com/supwisdom/dlpay/framework/util/DateUtil.java
@@ -324,4 +324,19 @@
public static String getUTCTime() {
return getUTCTime(System.currentTimeMillis());
}
+
+
+
+ public static String getCaculatedTime(String time,int minute) {
+ SimpleDateFormat sdf=new SimpleDateFormat("HHmm");
+ String newtime="";
+ try{
+ Date d=sdf.parse(time);
+ Date newd=setMinutes(d,minute);
+ newtime=sdf.format(newd);
+ }catch (Exception e){
+ e.printStackTrace();
+ }
+ return newtime;
+ }
}
diff --git a/src/main/java/com/supwisdom/dlpay/mainservice/dao/impl/CustomerDaoImpl.java b/src/main/java/com/supwisdom/dlpay/mainservice/dao/impl/CustomerDaoImpl.java
index af0f85f..828f894 100644
--- a/src/main/java/com/supwisdom/dlpay/mainservice/dao/impl/CustomerDaoImpl.java
+++ b/src/main/java/com/supwisdom/dlpay/mainservice/dao/impl/CustomerDaoImpl.java
@@ -115,7 +115,8 @@
String countSql = "select count(*) as cnt from T_Customer a left join t_card b on a.custid = b.custid " +
" where a.status='1' and b.status='normal' and b.transtatus='normal' ";
- if (null!=param.getCusttypeid()){
+ Integer i=param.getCusttypeid();
+ if (null!=i&&-1!=i){
sql += " and a.custtypeid = :custtypeid ";
countSql += " and a.custtypeid = :custtypeid ";
}
@@ -140,7 +141,7 @@
query.setParameter("perName", "%"+perName.trim()+"%");
countQuery.setParameter("perName", "%"+perName.trim()+"%");
}
- if (null!=param.getCusttypeid()){
+ if (null!=i&&-1!=i){
query.setParameter("custtypeid", param.getCusttypeid());
countQuery.setParameter("custtypeid", param.getCusttypeid());
}
diff --git a/src/main/java/com/supwisdom/dlpay/visitormanage/dao/VisitorDao.java b/src/main/java/com/supwisdom/dlpay/visitormanage/dao/VisitorDao.java
index f506fe9..4bff0c8 100644
--- a/src/main/java/com/supwisdom/dlpay/visitormanage/dao/VisitorDao.java
+++ b/src/main/java/com/supwisdom/dlpay/visitormanage/dao/VisitorDao.java
@@ -19,6 +19,8 @@
public PageResult<EVisitorDtl> getVisitorInfoPage(VisitorSearchBean param);
public PageResult<VisitorShowBean> getCheckInfoPage(VisitorCheckSearchBean param);
public boolean saveVisitorCheck(EVisitorCheckDtl bean);
+ public boolean saveVisitorConf(EVisitorConfDtl bean);
public EVisitorCheckDtl getVisitorCheckById(int id);
+ public EVisitorConfDtl getVisitorConfByConfid(int id);
public EVisitorCheckDtl getVisitorCheckBySign(String sign);
}
diff --git a/src/main/java/com/supwisdom/dlpay/visitormanage/dao/impl/VisitorDaoImpl.java b/src/main/java/com/supwisdom/dlpay/visitormanage/dao/impl/VisitorDaoImpl.java
index ad5b2dd..039ca1e 100644
--- a/src/main/java/com/supwisdom/dlpay/visitormanage/dao/impl/VisitorDaoImpl.java
+++ b/src/main/java/com/supwisdom/dlpay/visitormanage/dao/impl/VisitorDaoImpl.java
@@ -161,6 +161,19 @@
@Transactional
@Override
+ public boolean saveVisitorConf(EVisitorConfDtl bean) {
+ boolean flag = false;
+ try {
+ entityManager.persist(bean);
+ flag = true;
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return flag;
+ }
+
+ @Transactional
+ @Override
public EVisitorCheckDtl getVisitorCheckById(int id) {
String sql = "select a.* from E_VISITOR_CHECK_DTL a " +
@@ -175,6 +188,20 @@
}
@Transactional
@Override
+ public EVisitorConfDtl getVisitorConfByConfid(int id) {
+ String sql = "select a.* from E_VISITOR_CONF_DTL a " +
+ " where a.confid = ? ";
+ Query query = entityManager.createNativeQuery(sql, EVisitorConfDtl.class);
+ query.setParameter(1, id);
+ List<EVisitorConfDtl> list = query.getResultList();
+ if (list != null && list.size() > 0) {
+ return list.get(0);
+ }
+ return null;
+ }
+
+ @Transactional
+ @Override
public EVisitorCheckDtl getVisitorCheckBySign(String sign) {
String sql = "select a.* from E_VISITOR_CHECK_DTL a " +
diff --git a/src/main/java/com/supwisdom/dlpay/visitormanage/domain/EVisitorConfDtl.java b/src/main/java/com/supwisdom/dlpay/visitormanage/domain/EVisitorConfDtl.java
new file mode 100644
index 0000000..743687e
--- /dev/null
+++ b/src/main/java/com/supwisdom/dlpay/visitormanage/domain/EVisitorConfDtl.java
@@ -0,0 +1,87 @@
+package com.supwisdom.dlpay.visitormanage.domain;
+
+import javax.persistence.*;
+
+/**
+ * Created by shuwei on 17/6/12.
+ */
+@Entity
+@Table(name = "E_VISITOR_CONF_DTL")
+public class EVisitorConfDtl {
+
+ private int id;
+ //访客身份证号
+ private Integer confid;
+ private String starttime;
+ private String endtime;
+ private String status;
+ private String qrcode;
+ private String sign;
+
+
+ @Id
+ @Column(name = "ID", unique = true, nullable = false, length = 32)
+ @GeneratedValue(strategy = GenerationType.AUTO)
+ public int getId() {
+ return id;
+ }
+
+ public void setId(int id) {
+ this.id = id;
+ }
+
+ @Column(name = "CONFID", length = 9)
+ public Integer getConfid() {
+ return confid;
+ }
+
+ public void setConfid(Integer confid) {
+ this.confid = confid;
+ }
+
+ @Column(name = "starttime", length = 4)
+ public String getStarttime() {
+ return starttime;
+ }
+
+ public void setStarttime(String starttime) {
+ this.starttime = starttime;
+ }
+
+ @Column(name = "endtime", length = 4)
+ public String getEndtime() {
+ return endtime;
+ }
+
+ public void setEndtime(String endtime) {
+ this.endtime = endtime;
+ }
+
+
+ @Column(name = "QRCODE", length = 255)
+ public String getQrcode() {
+ return qrcode;
+ }
+
+ public void setQrcode(String qrcode) {
+ this.qrcode = qrcode;
+ }
+
+ @Column(name = "SIGN", length = 32)
+ public String getSign() {
+ return sign;
+ }
+
+ public void setSign(String sign) {
+ this.sign = sign;
+ }
+
+ @Column(name = "STATUS", length = 32)
+ public String getStatus() {
+ return status;
+ }
+
+ public void setStatus(String status) {
+ this.status = status;
+ }
+}
diff --git a/src/main/java/com/supwisdom/dlpay/visitormanage/domain/VisitorCheckBean.java b/src/main/java/com/supwisdom/dlpay/visitormanage/domain/VisitorCheckBean.java
index 88c2247..968d8bc 100644
--- a/src/main/java/com/supwisdom/dlpay/visitormanage/domain/VisitorCheckBean.java
+++ b/src/main/java/com/supwisdom/dlpay/visitormanage/domain/VisitorCheckBean.java
@@ -18,6 +18,8 @@
private String company;
private String remarks;
private String sign;
+ //申请码模式(conf 为时间模式)
+ private String checkmode;
public String getVisitorname() {
return visitorname;
@@ -98,4 +100,12 @@
public void setSign(String sign) {
this.sign = sign;
}
+
+ public String getCheckmode() {
+ return checkmode;
+ }
+
+ public void setCheckmode(String checkmode) {
+ this.checkmode = checkmode;
+ }
}
diff --git a/src/main/java/com/supwisdom/dlpay/visitormanage/service/VisitormanageService.java b/src/main/java/com/supwisdom/dlpay/visitormanage/service/VisitormanageService.java
index 793d5ba..609ed6b 100644
--- a/src/main/java/com/supwisdom/dlpay/visitormanage/service/VisitormanageService.java
+++ b/src/main/java/com/supwisdom/dlpay/visitormanage/service/VisitormanageService.java
@@ -28,7 +28,10 @@
@Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})
public boolean saveVisitorCheck(EVisitorCheckDtl bean);
@Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})
+ public boolean saveVisitorConf(EVisitorConfDtl bean);
+ @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})
public EVisitorCheckDtl getVisitorCheckById(int id);
+ public EVisitorConfDtl getVisitorConfByConfid(int id);
public EVisitorCheckDtl getVisitorCheckBySign(String sign);
diff --git a/src/main/java/com/supwisdom/dlpay/visitormanage/service/impl/VisitormanageServiceImpl.java b/src/main/java/com/supwisdom/dlpay/visitormanage/service/impl/VisitormanageServiceImpl.java
index 4374629..5b1268a 100644
--- a/src/main/java/com/supwisdom/dlpay/visitormanage/service/impl/VisitormanageServiceImpl.java
+++ b/src/main/java/com/supwisdom/dlpay/visitormanage/service/impl/VisitormanageServiceImpl.java
@@ -55,9 +55,20 @@
}
@Override
+ public boolean saveVisitorConf(EVisitorConfDtl bean) {
+ return visitorDao.saveVisitorConf(bean);
+ }
+
+ @Override
public EVisitorCheckDtl getVisitorCheckById(int id) {
return visitorDao.getVisitorCheckById(id);
}
+
+ @Override
+ public EVisitorConfDtl getVisitorConfByConfid(int id) {
+ return visitorDao.getVisitorConfByConfid(id);
+ }
+
@Override
public EVisitorCheckDtl getVisitorCheckBySign(String sign) {
return visitorDao.getVisitorCheckBySign(sign);
diff --git a/src/main/resources/templates/conference/conflist.html b/src/main/resources/templates/conference/conflist.html
index 202e880..1306d07 100644
--- a/src/main/resources/templates/conference/conflist.html
+++ b/src/main/resources/templates/conference/conflist.html
@@ -33,10 +33,10 @@
{{# if(d.status=='unstart'&&d.conftype=='list'){ }}
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
<a class="layui-btn layui-btn layui-btn-xs" lay-event="people">分配人员</a>
- <!-- <a class="layui-btn layui-btn layui-btn-xs" lay-event="detail">查看明细</a>-->
+ <a class="layui-btn layui-btn layui-btn-xs" lay-event="qrcode">申请开门码</a>
{{# } else if(d.status=='unstart'&&d.conftype=='nolist'){ }}
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
- <!-- <a class="layui-btn layui-btn layui-btn-xs" lay-event="detail">查看明细</a>-->
+ <a class="layui-btn layui-btn layui-btn-xs" lay-event="qrcode">申请开门码</a>
{{# } }}
</script>
@@ -172,10 +172,11 @@
layer.msg('请求失败了,请稍后再试', {icon: 2});
});
});*/
- } else if ('detail' == obj.event) {
+ } else if ('qrcode' == obj.event) {
+ var conftime=data.starttime+'~'+data.endtime;
admin.popupCenter({
- title: "查看名单",
- path: '[[@{/conference/load4detail}]]?confid=' + data.confid,
+ title: "申请开门码("+conftime+")",
+ path: '[[@{/conference/load4qrcode}]]?confid=' + data.confid,
area: '600px',
finish: function () {
table.reload('conferenceTable');
diff --git a/src/main/resources/templates/conference/confqrcode.html b/src/main/resources/templates/conference/confqrcode.html
new file mode 100644
index 0000000..3edf132
--- /dev/null
+++ b/src/main/resources/templates/conference/confqrcode.html
@@ -0,0 +1,136 @@
+
+<div id="qrcode-form" lay-filter="qrcode-form-filter" class="layui-form model-form" style="padding: 10px 25px;">
+ <div class="layui-form-item">
+ <input type="hidden" id="qrcode-confid" th:value="${confid}"/>
+ <input type="hidden" id="myText" th:value="${qrcode}"/>
+ <div id="qrcode" class="qrcode-cc layui-input-inline" style="width: auto;margin-left: 150px" ></div>
+ </div>
+
+ <div class="layui-form-item">
+ <label class="confinput-label layui-form-label" style="width: 150px;"><span style="color: red" >* </span>有效时间段</label>
+ <div class="layui-input-inline" style="width: 100px;">
+ <input type="text" name="starttime" placeholder="9:00" id="form-qrcode-starttime" autocomplete="off"
+ maxlength="5"
+ class="layui-input" lay-verify="required"/>
+ </div>
+ <div class="layui-form-mid">-</div>
+ <div class="layui-input-inline" style="width: 100px;">
+ <input type="text" name="endtime" placeholder="12:00" id="form-qrcode-endtime" autocomplete="off"
+ maxlength="5"
+ class="layui-input" lay-verify="required"/>
+ </div>
+ </div>
+
+ <div class="layui-form-item model-form-footer">
+ <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">取消</button>
+ <button class="layui-btn" lay-filter="qrcode-form-submit" lay-submit id="submitbtn">申请</button>
+ </div>
+</div>
+
+<script>
+
+ layui.use(['layer', 'admin', 'form', 'laydate', 'upload'], function () {
+ var layer = layui.layer;
+ var admin = layui.admin;
+ var form = layui.form;
+ var laydate = layui.laydate;
+
+
+ form.render("select");
+ laydate.render({
+ elem: '#form-qrcode-starttime',
+ type: 'time',
+ format: 'HH:mm',
+ trigger: 'click'
+ });
+ laydate.render({
+ elem: '#form-qrcode-endtime',
+ type: 'time',
+ format: 'HH:mm',
+ trigger: 'click'
+ });
+ var qcode = $("#myText").val();
+ createQrcode(qcode);
+
+ form.on('submit(qrcode-form-submit)', function (data) {
+ var token = $("meta[name='_csrf_token']").attr("value");
+ var vdata = data.field;
+
+ if (null == vdata.starttime || null == vdata.endtime) {
+ layer.msg("请选择时间段", {icon: 2, time: 1500});
+ return;
+ } else if (vdata.endtime <= vdata.starttime) {
+ layer.msg("请正确选择时间段", {icon: 2, time: 1500});
+ return;
+ }
+ var formData = new FormData();
+ var confid=$("#qrcode-confid").val();
+ formData.append("starttime", vdata.starttime);
+ formData.append("endtime", vdata.endtime);
+ formData.append("confid", confid);
+
+ layer.load(2);
+ $.ajax({
+ type: "POST",
+ url: '[[@{/conference/getqrcode}]]',
+ dataType: 'json',
+ processData: false,
+ contentType: false,
+ data: formData,
+ headers: {
+ 'Accept': 'application/json',
+ 'X-CSRF-TOKEN': token,
+ },
+
+ success: function (result) {
+ layer.closeAll('loading');
+ if (result.code == 200) {
+
+ createQrcode(result.msg);
+ layer.msg("成功", {icon: 1, time: 1500});
+
+
+ } else if (result.code == 401) {
+ layer.msg(result.msg, {icon: 2, time: 1500}, function () {
+ location.replace('[[@{/login}]]');
+ }, 1000);
+ return;
+ } else if (result.code == 599) {
+ //自定义错误
+ layer.open({
+ type: 0,
+ title: "错误信息",
+ icon: 2,
+ area: ['600px', '400px'],
+ content: result.msg
+ });
+
+ } else {
+ layer.msg(result.msg, {icon: 2, time: 1500});
+ }
+ },
+ error: function (err) {
+ layer.msg("error", {icon: 2, time: 1500});
+ }
+ });
+
+ });
+
+
+ });
+
+ function createQrcode(qcode) {
+
+ if (undefined != qcode && null != qcode && "" != qcode) {
+ var qrcode = new QRCode(document.getElementById("qrcode"), {
+ render : "canvas",
+ text: qcode,
+ width: 220,
+ height: 220,
+ colorDark: "#000000",
+ colorLight: "#ffffff",
+ correctLevel: QRCode.CorrectLevel.H
+ });
+ }
+ }
+</script>
\ No newline at end of file
diff --git a/src/main/resources/templates/doorlist/customer/form.html b/src/main/resources/templates/doorlist/customer/form.html
index 7e3c7e0..bde6e88 100644
--- a/src/main/resources/templates/doorlist/customer/form.html
+++ b/src/main/resources/templates/doorlist/customer/form.html
@@ -22,7 +22,7 @@
<label class="layui-form-label">人员类别</label>
<div class="layui-input-block">
<select name="custtypeid" id="customer-custtype" lay-verify="required">
- <option th:each="type : ${typelist}" th:value="${type.custtypeid}">[[${type.custtypename}]]</option>
+ <option th:each="type : ${typelst}" th:value="${type.custtypeid}">[[${type.custtypename}]]</option>
</select>
</div>
</div>
diff --git a/src/main/resources/templates/index.html b/src/main/resources/templates/index.html
index 8b34989..709d288 100755
--- a/src/main/resources/templates/index.html
+++ b/src/main/resources/templates/index.html
@@ -43,6 +43,7 @@
<script type="text/javascript" th:src="@{/static/res/assets/plugins/element-ui/index.js}"></script>
<script type="text/javascript" th:src="@{/static/res/assets/plugins/echarts/echarts.min.js}"></script>
<script type="text/javascript" th:src="@{/static/res/assets/plugins/moment/moment.js}"></script>
+ <script type="text/javascript" th:src="@{/static/res/assets/js/qrcode.min.js}"></script>
</head>
<body class="layui-layout-body">