添加人员签到接口
diff --git a/config/application-devel-pg.properties b/config/application-devel-pg.properties
index af555b9..3202dda 100644
--- a/config/application-devel-pg.properties
+++ b/config/application-devel-pg.properties
@@ -3,7 +3,10 @@
 spring.jpa.hibernate.ddl-auto=update
 spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
 spring.jpa.properties.hibernate.temp.use_jdbc_metadata_defaults=false
+spring.jpa.properties.hibernate.show_sql=false
 # Postgresql settings
+
+
 spring.datasource.platform=postgresql
 spring.datasource.url=jdbc:postgresql://172.28.201.70:15432/door
 spring.datasource.username=payapi
diff --git a/libs/httpclient-4.5.9-sources.jar b/libs/httpclient-4.5.9-sources.jar
new file mode 100644
index 0000000..84fdc2b
--- /dev/null
+++ b/libs/httpclient-4.5.9-sources.jar
Binary files differ
diff --git a/src/main/java/com/supwisdom/dlpay/conference/api/bean/ConfAttendReq.java b/src/main/java/com/supwisdom/dlpay/conference/api/bean/ConfAttendReq.java
new file mode 100644
index 0000000..aac731a
--- /dev/null
+++ b/src/main/java/com/supwisdom/dlpay/conference/api/bean/ConfAttendReq.java
@@ -0,0 +1,41 @@
+package com.supwisdom.dlpay.conference.api.bean;
+
+
+public class ConfAttendReq {
+    private Integer confid;
+    private String userid;
+    private String timestamp;
+    private String devphyid;
+
+    public Integer getConfid() {
+        return confid;
+    }
+
+    public void setConfid(Integer confid) {
+        this.confid = confid;
+    }
+
+    public String getUserid() {
+        return userid;
+    }
+
+    public void setUserid(String userid) {
+        this.userid = userid;
+    }
+
+    public String getTimestamp() {
+        return timestamp;
+    }
+
+    public void setTimestamp(String timestamp) {
+        this.timestamp = timestamp;
+    }
+
+    public String getDevphyid() {
+        return devphyid;
+    }
+
+    public void setDevphyid(String devphyid) {
+        this.devphyid = devphyid;
+    }
+}
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 4942238..86e1299 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
@@ -3,13 +3,15 @@
 import com.supwisdom.dlpay.api.bean.ApiResponse;
 import com.supwisdom.dlpay.conference.api.bean.*;
 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.*;
 import com.supwisdom.dlpay.conference.service.ConferenceService;
 import com.supwisdom.dlpay.conference.util.ConferenceConstant;
 import com.supwisdom.dlpay.framework.data.SystemDateTime;
 import com.supwisdom.dlpay.framework.service.SystemUtilService;
+import com.supwisdom.dlpay.framework.util.DateUtil;
 import com.supwisdom.dlpay.framework.util.StringUtil;
+import com.supwisdom.dlpay.mainservice.domain.TCustomer;
+import com.supwisdom.dlpay.mainservice.service.WebInterfaceService;
 import com.supwisdom.dlpay.ncmgr.domain.TNcDevice;
 import com.supwisdom.dlpay.ncmgr.service.NcService;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -26,7 +28,7 @@
 @RequestMapping("/api/conference")
 public class ConerenceApiController {
   @Autowired
-  private SystemUtilService systemUtilService;
+  private WebInterfaceService webInterfaceService;
   @Autowired
   private ConferenceService conferenceService;
   @Autowired
@@ -98,16 +100,18 @@
       resp.setTotcnt(totcnt);
     }else{
       totcnt=conferenceService.getNolistConfPeopleCount(confid);
+      resp.setActualcnt(0);
       resp.setTotcnt(totcnt);
-
     }
+    resp.setRetcode(0);
+    resp.setRetmsg("ok");
     return  resp;
   }
 
 
   @RequestMapping(value = "/getconfpeople", method = RequestMethod.POST)
   @ResponseBody
-  public ConfPeopleResp getConferenceAttendRate(@ModelAttribute ConfPeopleReq req) {
+  public ConfPeopleResp getConfPeoples(@ModelAttribute ConfPeopleReq req) {
     ConfPeopleResp resp=new ConfPeopleResp();
     String confdate=req.getConfdate();
     if(StringUtil.isEmpty(confdate)){
@@ -131,6 +135,104 @@
   }
 
 
+  @RequestMapping(value = "/doattend", method = RequestMethod.POST)
+  @ResponseBody
+  public ApiResponse doAttend(@ModelAttribute ConfAttendReq req) {
+    ApiResponse resp=new ApiResponse();
+    String userid=req.getUserid();
+    Integer confid=req.getConfid();
+    String timestamp=req.getTimestamp();
+    String devphyid=req.getDevphyid();
+    if(StringUtil.isEmpty(userid)||null==confid||StringUtil.isEmpty(timestamp)||StringUtil.isEmpty(devphyid)){
+      resp.setRetcode(99);
+      resp.setRetmsg("参数传递错误");
+      return resp;
+    }
+    TCustomer customer=webInterfaceService.findCustomerById(userid);
+    if(null==customer){
+      resp.setRetcode(99);
+      resp.setRetmsg("客户不存在");
+      return resp;
+    }
+
+    TConference conference=conferenceService.getConferenceById(confid);
+    if(null==conference){
+      resp.setRetcode(99);
+      resp.setRetmsg("会议不存在");
+      return resp;
+    }
+
+    TNcDevice device=conferenceService.getBindedDevice(confid);
+    if(null==device){
+      resp.setRetcode(99);
+      resp.setRetmsg("请在会议绑定的设备上打卡");
+      return resp;
+    }
+
+    String now= DateUtil.getNow("yyyyMMddHHmmss");
+    String downcheck=DateUtil.getNewTime(now,-60*5);
+    String upcheck=DateUtil.getNewTime(now,60*5);
+
+    if (DateUtil.compareDatetime(timestamp, downcheck) < 0||DateUtil.compareDatetime(timestamp, upcheck)>0) {
+      resp.setRetcode(5);
+      resp.setRetmsg("时间误差过大");
+      return resp;
+    }
+
+    String attdate=DateUtil.getNow("yyyyMMdd");
+    String atttime=DateUtil.getNow("HHmm");
+
+    int compareAttend=DateUtil.compareDatetime(atttime,conference.getAttendtime(),"HHmm");
+    int compareStart=DateUtil.compareDatetime(atttime,conference.getStarttime(),"HHmm");
+
+    if(-1==compareAttend){
+      resp.setRetcode(6);
+      resp.setRetmsg("会议签到时间尚未开始,请在签到时间之后再打卡");
+      return resp;
+    }
+    String attstatus;
+    if(-1==compareStart){
+      attstatus= ConferenceConstant.ATTENDSTATUS_CHECKED;
+    }else{
+      attstatus=ConferenceConstant.ATTENDSTATUS_LATE;
+    }
+    if(ConferenceConstant.CONFTYPE_NOLIST.equals(conference.getConftype())){
+      TNolistConfPeople people=new TNolistConfPeople();
+
+      people.setAttstatus(attstatus);
+   //   people.setCardno(dtl.getCardno());
+      people.setConfid(conference.getConfid());
+      people.setCustid(customer.getCustid());
+      people.setAtttime(atttime);
+      people.setCustname(customer.getCustname());
+      people.setAtttype(ConferenceConstant.ATTTYPE_SELF);
+      people.setLastsaved(DateUtil.getNow());
+      conferenceService.saveNolistConfPeople(people);
+    }else{
+      TConfPeople people=conferenceService.getTConfPeopleByConfidAndCustid(conference.getConfid(),customer.getCustid());
+      if(null==people){
+        resp.setRetcode(7);
+        resp.setRetmsg("打卡人员不在会议名单中");
+        return resp;
+      }
+      people.setAttstatus(attstatus);
+      people.setAtttime(atttime);
+      conferenceService.saveConfPeople(people);
+    }
+   /* TConfDtl dtl=new TConfDtl();
+    dtl.setUpdateflag(0);
+    dtl.setAttdate();
+    dtl.setAtttime();
+    dtl.setCardno();*/
+  /*  resp.setCount(lst.size());
+    resp.setPeoplelist(lst);
+    resp.setRetcode(0);
+    resp.setRetmsg("ok");*/
+    resp.setRetcode(0);
+    resp.setRetmsg("打卡成功");
+    return resp;
+  }
+
     @RequestMapping(value = "/test", method = RequestMethod.POST)
   @ResponseBody
   public ApiResponse test() {
diff --git a/src/main/java/com/supwisdom/dlpay/conference/domain/TConfDtl.java b/src/main/java/com/supwisdom/dlpay/conference/domain/TConfDtl.java
index a6b8d11..c2d4209 100644
--- a/src/main/java/com/supwisdom/dlpay/conference/domain/TConfDtl.java
+++ b/src/main/java/com/supwisdom/dlpay/conference/domain/TConfDtl.java
@@ -23,7 +23,7 @@
   @Column(name="CUSTID", length = 32)
   private String custid;
 
-    @Column(name="CARDNO", length = 8)
+  @Column(name="CARDNO", length = 8)
     private String cardno;
 
   @Column(name="ATTDATE", length = 8)
@@ -38,6 +38,9 @@
   @Column(name="UPDATEFLAG", length = 1)
   private Integer updateflag;
 
+  @Column(name="DEVPHYID", length = 20)
+  private String devphyid;
+
 
   public String getId() {
     return id;
@@ -110,4 +113,12 @@
     public void setCardno(String cardno) {
         this.cardno = cardno;
     }
+
+  public String getDevphyid() {
+    return devphyid;
+  }
+
+  public void setDevphyid(String devphyid) {
+    this.devphyid = devphyid;
+  }
 }
diff --git a/src/main/java/com/supwisdom/dlpay/conference/service/ConferenceService.java b/src/main/java/com/supwisdom/dlpay/conference/service/ConferenceService.java
index 12b0334..a25b7bc 100644
--- a/src/main/java/com/supwisdom/dlpay/conference/service/ConferenceService.java
+++ b/src/main/java/com/supwisdom/dlpay/conference/service/ConferenceService.java
@@ -92,4 +92,6 @@
 
     @Transactional(rollbackFor = Exception.class, readOnly = true)
     List<ConfPeopleApiBean> getConfPeopleListByDevphyid(String devphyid, String confdate) ;
+
+
 }
diff --git a/src/main/java/com/supwisdom/dlpay/conference/service/impl/ConferenceServiceImpl.java b/src/main/java/com/supwisdom/dlpay/conference/service/impl/ConferenceServiceImpl.java
index 1f65ba8..d765a28 100644
--- a/src/main/java/com/supwisdom/dlpay/conference/service/impl/ConferenceServiceImpl.java
+++ b/src/main/java/com/supwisdom/dlpay/conference/service/impl/ConferenceServiceImpl.java
@@ -147,7 +147,8 @@
 
     @NotNull
     private Page<TConference> getConferencePage(String confname, String conftype, String deptcode, String confdate,String status, int pageNo, int pageSize) {
-        Pageable pageable = PageRequest.of(pageNo - 1, pageSize, Sort.by("confdate"));
+        Sort.Order order=new Sort.Order(Sort.Direction.DESC, "confdate");
+        Pageable pageable = PageRequest.of(pageNo - 1, pageSize, Sort.by(order));
 
 
         return conferenceDao.findAll(new Specification<TConference>() {
@@ -613,7 +614,7 @@
                 "left join tb_conference b on a.confid=b.confid  " +
                 "left join tb_conference_devbind c on b.confid=c.confid " +
                 "left join t_nc_device d on c.deviceid=d.deviceid " +
-                "where b.confdate=:confdate and d.devphyid=:devphyid" +
+                "where b.confdate=:confdate and d.devphyid=:devphyid " +
                 "UNION  " +
                 "select a.custname,a.attstatus,a.atttime from tb_nolist_conf_people a " +
                 "left join tb_conference b on a.confid=b.confid  " +
diff --git a/src/main/java/com/supwisdom/dlpay/conference/task/ConferenceTask.java b/src/main/java/com/supwisdom/dlpay/conference/task/ConferenceTask.java
index 02eec78..15e68b6 100644
--- a/src/main/java/com/supwisdom/dlpay/conference/task/ConferenceTask.java
+++ b/src/main/java/com/supwisdom/dlpay/conference/task/ConferenceTask.java
@@ -76,7 +76,7 @@
         }
     }
 
-    @Scheduled(cron = "${conference.uploaddtl.cron}")//每10秒执行一次
+  /*  @Scheduled(cron = "${conference.uploaddtl.cron}")//每10秒执行一次
     private void uploadConfDtl(){
         List<TConfDtl> dtllist=conferenceService.getUnupdateConfDtl();
         if(!StringUtil.isEmpty(dtllist)){
@@ -142,6 +142,6 @@
             }
         }
 
-    }
+    }*/
 
 }
diff --git a/src/main/java/com/supwisdom/dlpay/conference/util/ConferenceConstant.java b/src/main/java/com/supwisdom/dlpay/conference/util/ConferenceConstant.java
index dface1d..d967edf 100644
--- a/src/main/java/com/supwisdom/dlpay/conference/util/ConferenceConstant.java
+++ b/src/main/java/com/supwisdom/dlpay/conference/util/ConferenceConstant.java
@@ -1,6 +1,7 @@
 package com.supwisdom.dlpay.conference.util;
 
 
+import com.supwisdom.dlpay.framework.util.DateUtil;
 
 public class ConferenceConstant {
     //会议类型
diff --git a/src/main/resources/data.sql b/src/main/resources/data.sql
index 0748c4f..51867d3 100644
--- a/src/main/resources/data.sql
+++ b/src/main/resources/data.sql
@@ -198,112 +198,6 @@
 INSERT INTO tb_systemparam(param_key,param_value,param_desc,param_flag) VALUES ('PAYAPI_SECRET','b32309b244904e1789b055eb1da51db1','登录核心平台secret','1');

 

 

-/**

-访客登记相关表sql

- */

- /**

- 访客登记表

-  */

-CREATE TABLE e_visitor_check_dtl (

-id int4 NOT NULL,

-visitorname varchar(40) COLLATE default,

-phone varchar(20) COLLATE default,

-time varchar(14) COLLATE default,

-deptcode varchar(32) COLLATE default,

-custid varchar(32) COLLATE default,

-company varchar(255) COLLATE default,

-remarks varchar(255) COLLATE default,

-sex varchar(1) COLLATE default,

-status int4,

-CONSTRAINT e_visitor_check_dtl_pkey PRIMARY KEY (id)

-)

-WITH (OIDS=FALSE)

-;

-

-ALTER TABLE e_visitor_check_dtl OWNER TO payapi;

-

-/**

-访客扫码登记表

- */

- CREATE TABLE e_visitor_dtl (

-openid varchar(40) COLLATE default,

-nickname varchar(40) COLLATE default,

-sex varchar(40) COLLATE default,

-province varchar(40) COLLATE default,

-city varchar(40) COLLATE default,

-country varchar(40) COLLATE default,

-headimgurl varchar(255) COLLATE default,

-unionid varchar(40) COLLATE default,

-inoutflag int4,

-transdate varchar(8) COLLATE default,

-transtime varchar(6) COLLATE default,

-status int4,

-privilege varchar(40) COLLATE default,

-binddate varchar(14) COLLATE default,

-id int4 NOT NULL,

-trandtime varchar(6) COLLATE default,

-CONSTRAINT e_visitor_dtl_pkey PRIMARY KEY (id)

-)

-WITH (OIDS=FALSE)

-;

-

-ALTER TABLE e_visitor_dtl OWNER TO payapi;

-

-COMMENT ON COLUMN e_visitor_dtl.inoutflag IS '出入标记 进门-1 出门-2';

-

-COMMENT ON COLUMN e_visitor_dtl.status IS '状态';

-

-/**

-微信扫码登记信息表

- */

-CREATE TABLE e_wechat_account (

-wxid varchar(32) COLLATE default NOT NULL,

-userid varchar(32) COLLATE default,

-appkey int4,

-openid varchar(128) COLLATE default,

-stuempno varchar(40) COLLATE default,

-status varchar(1) COLLATE default,

-binddate varchar(14) COLLATE default,

-nickname varchar(100) COLLATE default,

-sex varchar(1) COLLATE default,

-province varchar(60) COLLATE default,

-country varchar(60) COLLATE default,

-headimgurl varchar(200) COLLATE default,

-privilege varchar(40) COLLATE default,

-unionid varchar(128) COLLATE default,

-cardcode varchar(40) COLLATE default,

-city varchar(60) COLLATE default,

-CONSTRAINT e_wechat_account_pkey PRIMARY KEY (wxid)

-)

-WITH (OIDS=FALSE)

-;

-

-ALTER TABLE e_wechat_account OWNER TO payapi;

-

-

-CREATE TABLE e_wechat_config (

-id varchar(40) COLLATE default NOT NULL,

-appid varchar(40) COLLATE default,

-secret varchar(200) COLLATE default,

-shopid varchar(32) COLLATE default,

-shopkey varchar(200) COLLATE default,

-cardid varchar(40) COLLATE default,

-accesstoken varchar(200) COLLATE default,

-refreshtoken varchar(200) COLLATE default,

-tokentime int4,

-domain varchar(200) COLLATE default,

-CONSTRAINT e_wechat_config_pkey PRIMARY KEY (id)

-)

-WITH (OIDS=FALSE)

-;

-

-ALTER TABLE e_wechat_config OWNER TO payapi;

-

-

-

-

-

-

 INSERT INTO "t_dictionary"("dicttype", "dicttypename", "dictval", "dictcaption") VALUES (8, '设备类型', 'H', '会议平板');

 INSERT INTO "t_dictionary"("dicttype", "dicttypename", "dictval", "dictcaption") VALUES (16, '设备使用类别', 'HY', '会议签到');

 

@@ -330,4 +224,4 @@
 INSERT INTO "tb_function"("id", "createtime", "isleaf", "lastsaved", "menuicon", "menuurl", "name", "ordernum", "parentid", "grade") VALUES (31, NULL, 1, NULL, '', '/system/custtypeindex', '客户类别管理', 9, 3, NULL);

 INSERT INTO "tb_function"("id", "createtime", "isleaf", "lastsaved", "menuicon", "menuurl", "name", "ordernum", "parentid", "grade") VALUES (29, NULL, 0, NULL, 'layui-icon-app', '#', '会议签到', 8, -1, NULL);

 

-

+INSERT INTO "tb_dept"("deptcode", "deptname", "deptno", "ename", "fdeptcode", "lastsaved", "status") VALUES ('0', '根部门', 'root', NULL, '-1', NULL, 'normal');