会议签到人员查询、状态修改
diff --git a/config/application-devel-pg.properties b/config/application-devel-pg.properties
index 73150e5..d17198f 100644
--- a/config/application-devel-pg.properties
+++ b/config/application-devel-pg.properties
@@ -31,4 +31,8 @@
 #payapi.appid=200001
 #payapi.secret=dc1d26c0d43e442588092c8d45c21bce
 
-
+## quartz task scheduler
+#sync.cardStatus.cron=0 0/10 * * * ?
+#apiLogin.refresh.cron=0 0/20 * * * ?
+conference.updatestatus.cron=0 0/1 * * * ? 
+conference.uploaddtl.cron=5/10 * * * * ? 
diff --git a/src/main/java/com/supwisdom/dlpay/conference/bean/ConfpeopleShowBean.java b/src/main/java/com/supwisdom/dlpay/conference/bean/ConfpeopleShowBean.java
new file mode 100644
index 0000000..f314880
--- /dev/null
+++ b/src/main/java/com/supwisdom/dlpay/conference/bean/ConfpeopleShowBean.java
@@ -0,0 +1,112 @@
+package com.supwisdom.dlpay.conference.bean;
+
+public class ConfpeopleShowBean {
+    private String pid;
+    private Integer confid;
+    private String custid;
+    private String custname;
+    private String confname;
+    private String conftype;
+    private String cardno;
+    private String deptname;
+    private String attstatus;
+    private String atttime;
+    private String remark;
+    private String insteadcustid;
+
+    public String getPid() {
+        return pid;
+    }
+
+    public void setPid(String pid) {
+        this.pid = pid;
+    }
+
+    public String getCustid() {
+        return custid;
+    }
+
+    public void setCustid(String custid) {
+        this.custid = custid;
+    }
+
+    public Integer getConfid() {
+        return confid;
+    }
+
+    public void setConfid(Integer confid) {
+        this.confid = confid;
+    }
+
+    public String getCustname() {
+        return custname;
+    }
+
+    public void setCustname(String custname) {
+        this.custname = custname;
+    }
+
+    public String getConfname() {
+        return confname;
+    }
+
+    public void setConfname(String confname) {
+        this.confname = confname;
+    }
+
+    public String getCardno() {
+        return cardno;
+    }
+
+    public void setCardno(String cardno) {
+        this.cardno = cardno;
+    }
+
+    public String getDeptname() {
+        return deptname;
+    }
+
+    public void setDeptname(String deptname) {
+        this.deptname = deptname;
+    }
+
+    public String getAttstatus() {
+        return attstatus;
+    }
+
+    public void setAttstatus(String attstatus) {
+        this.attstatus = attstatus;
+    }
+
+    public String getAtttime() {
+        return atttime;
+    }
+
+    public void setAtttime(String atttime) {
+        this.atttime = atttime;
+    }
+
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
+
+    public String getInsteadcustid() {
+        return insteadcustid;
+    }
+
+    public void setInsteadcustid(String insteadcustid) {
+        this.insteadcustid = insteadcustid;
+    }
+
+    public String getConftype() {
+        return conftype;
+    }
+
+    public void setConftype(String conftype) {
+        this.conftype = conftype;
+    }
+}
diff --git a/src/main/java/com/supwisdom/dlpay/conference/controller/ConfPeopleController.java b/src/main/java/com/supwisdom/dlpay/conference/controller/ConfPeopleController.java
new file mode 100644
index 0000000..4d49878
--- /dev/null
+++ b/src/main/java/com/supwisdom/dlpay/conference/controller/ConfPeopleController.java
@@ -0,0 +1,125 @@
+package com.supwisdom.dlpay.conference.controller;
+
+import com.supwisdom.dlpay.api.bean.JsonResult;
+import com.supwisdom.dlpay.conference.bean.ConferenceShowBean;
+import com.supwisdom.dlpay.conference.bean.ConfpeopleShowBean;
+import com.supwisdom.dlpay.conference.domain.TConference;
+import com.supwisdom.dlpay.conference.service.ConferenceService;
+import com.supwisdom.dlpay.conference.util.ConferenceConstant;
+import com.supwisdom.dlpay.customer.bean.CustomerSearchBean;
+import com.supwisdom.dlpay.doorlist.bean.TCustomerInfo;
+import com.supwisdom.dlpay.framework.domain.TOperator;
+import com.supwisdom.dlpay.framework.util.DateUtil;
+import com.supwisdom.dlpay.framework.util.PageResult;
+import com.supwisdom.dlpay.framework.util.StringUtil;
+import com.supwisdom.dlpay.framework.util.WebConstant;
+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 com.supwisdom.dlpay.util.WebCheckException;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.core.annotation.AuthenticationPrincipal;
+import org.springframework.security.core.userdetails.UserDetails;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import java.util.List;
+
+@Controller
+public class ConfPeopleController {
+    @Autowired
+    private ConferenceService conferenceService;
+    @Autowired
+    private WebInterfaceService webInterfaceService;
+
+
+
+    @GetMapping("/confpeople/index")
+    public String ConferenceView(@AuthenticationPrincipal UserDetails operUser,
+                                 Model model) {
+        TOperator oper = (TOperator) operUser;
+        String deptcode=oper.getDeptcode();
+        List<TConference> conf=conferenceService.getAllConference(deptcode);
+        for(TConference c:conf){
+            String conftype="有名单";
+            if(ConferenceConstant.CONFTYPE_NOLIST.equals(c.getConftype())){
+                conftype="无名单";
+            }
+            String date= DateUtil.reformatDatetime(c.getConfdate(),"yyyyMMdd","yyyy-MM-dd");
+            c.setConfname(c.getConfname()+"  "+date+"  "+conftype);
+        }
+        model.addAttribute("conflist",conf);
+        return "confpeople/index";
+    }
+
+    @GetMapping("/confpeople/peoplelist")
+    @ResponseBody
+    public PageResult<ConfpeopleShowBean> searchConfPeople(@RequestParam("page") Integer pageNo,
+                                                              @RequestParam("limit") Integer pageSize,
+                                                              @RequestParam(value = "confid", required = false) Integer confid,
+                                                              @RequestParam(value = "attstatus", required = false) String attstatus,
+                                                           Model model) {
+        try {
+            if(null==confid){
+                return new PageResult<>(99, "请选择会议");
+            }
+            if (null == pageNo || pageNo < 1) pageNo = WebConstant.PAGENO_DEFAULT;
+            if (null == pageSize || pageSize < 1) pageSize = WebConstant.PAGESIZE_DEFAULT;
+            TConference conf=conferenceService.getConferenceById(confid);
+           /* if(null!=conf){
+                model.addAttribute("conf",conf);
+            }*/
+
+            return conferenceService.getConfPeoplePage(confid, attstatus,conf.getConftype(), pageNo, pageSize);
+        } catch (Exception e) {
+            e.printStackTrace();
+            return new PageResult<>(99, "系统查询错误");
+        }
+    }
+
+    @GetMapping("/confpeople/load4add")
+    public String load4ConfDetails(
+                                   @AuthenticationPrincipal UserDetails operUser,
+                                   Model model) {
+        CustomerSearchBean bean=new CustomerSearchBean();
+        TOperator oper = (TOperator) operUser;
+        String deptcode=oper.getDeptcode();
+        bean.setDeptcode(deptcode);
+        PageResult<TCustomerInfo> infolist=webInterfaceService.getCustomerInfoPage(bean);
+        List<TCustomerInfo> list=infolist.getData();
+        if(!StringUtil.isEmpty(list)){
+            model.addAttribute("custlist", list);
+        }
+
+        return "confpeople/form";
+    }
+
+    @PostMapping("/confpeople/editconfpeople")
+    @ResponseBody
+    public JsonResult editConfpeople(@RequestParam("pid") String pid,
+                                     @RequestParam("conftype") String conftype,
+                                     @RequestParam(value="attstatus") String attstatus,
+                                     @RequestParam(value="insteadcustid", required = false) String insteadcustid,
+                                     @RequestParam(value="remark", required = false) String remark
+                                    ) {
+        try{
+            if(!ConferenceConstant.ATTENDSTATUS_INSTEAD.equals(attstatus)){
+                insteadcustid="";
+                remark="";
+            }
+
+            return conferenceService.updateConfPeople(pid,conftype,insteadcustid,attstatus,remark);
+        }catch (Exception e){
+            e.printStackTrace();
+            return JsonResult.error("修改失败");
+
+        }
+
+    }
+
+}
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 bba9829..aa2e548 100644
--- a/src/main/java/com/supwisdom/dlpay/conference/controller/ConferenceController.java
+++ b/src/main/java/com/supwisdom/dlpay/conference/controller/ConferenceController.java
@@ -48,14 +48,17 @@
 
     @GetMapping("/conference/conflist")
     @ResponseBody
-    public PageResult<ConferenceShowBean> searchDiscountRules(@RequestParam("page") Integer pageNo,
+    public PageResult<ConferenceShowBean> searchConflist(@RequestParam("page") Integer pageNo,
                                                               @RequestParam("limit") Integer pageSize,
                                                               @RequestParam(value = "confname", required = false) String confname,
-                                                              @RequestParam(value = "conftype", required = false) String conftype) {
+                                                              @RequestParam(value = "conftype", required = false) String conftype,
+                                                         @AuthenticationPrincipal UserDetails operUser) {
         try {
             if (null == pageNo || pageNo < 1) pageNo = WebConstant.PAGENO_DEFAULT;
             if (null == pageSize || pageSize < 1) pageSize = WebConstant.PAGESIZE_DEFAULT;
-            return conferenceService.getConferenceInfos(confname, conftype, pageNo, pageSize);
+            TOperator oper = (TOperator) operUser;
+            String deptcode=oper.getDeptcode();
+            return conferenceService.getConferenceInfos(confname, conftype,deptcode, pageNo, pageSize);
         } catch (Exception e) {
             e.printStackTrace();
             return new PageResult<>(99, "系统查询错误");
@@ -82,27 +85,6 @@
         }
     }
 
-  /*  @PostMapping("/discountconf/closeconf")
-    @PreAuthorize("hasPermission('/discountconf/closeconf','')")
-    @ResponseBody
-    public JsonResult closeDiscountRule(@RequestParam("confid") Integer confid) {
-        try {
-            if (null == confid) {
-                return JsonResult.error("参数传递错误");
-            }
-            if (deviceDiscountRuleService.closeDiscountRule(confid)) {
-                return JsonResult.ok("关闭成功!");
-            } else {
-                return JsonResult.error("关闭失败!");
-            }
-        } catch (WebCheckException ex) {
-            return JsonResult.error(ex.getMessage());
-        } catch (Exception e) {
-            e.printStackTrace();
-            return JsonResult.error("系统处理异常").put("exception", e);
-        }
-    }*/
-
 
     @GetMapping("/conference/load4addconf")
     public String load4addConference(Model model) {
@@ -117,7 +99,7 @@
 
     @PostMapping("/conference/addconf")
     @ResponseBody
-    public JsonResult editDiscountRule(@RequestParam("confname") String confname,
+    public JsonResult editConference(@RequestParam("confname") String confname,
                                        @RequestParam("conftype") String conftype,
                                        @RequestParam("confdate") String confdate,
                                        @RequestParam("starttime") String starttime,
@@ -144,7 +126,6 @@
             if (null == oper || StringUtil.isEmpty(oper.getOperid())) {
                 return JsonResult.error("登录过期,请重新登录");
             }
-            System.out.println("file::"+file);
             String path = request.getSession().getServletContext().getRealPath("upload");
 
             String fpath=null;
@@ -174,7 +155,7 @@
 
     @GetMapping("/conference/downloadexcel")
     @ResponseBody
-    public void downloadDiscountRuleExcel(HttpServletRequest request, HttpServletResponse response, ModelMap map) {
+    public void downloadExcel(HttpServletRequest request, HttpServletResponse response, ModelMap map) {
         try {
             List<ExcelExportEntity> entity = new ArrayList<ExcelExportEntity>();
             /**
@@ -215,7 +196,7 @@
 
     @GetMapping("/conference/load4detaillist")
     @ResponseBody
-    public PageResult<TConfPeople> searchDiscountRules(@RequestParam("page") Integer pageNo,
+    public PageResult<TConfPeople> searchConfPeople(@RequestParam("page") Integer pageNo,
                                                        @RequestParam("limit") Integer pageSize,
                                                        @RequestParam("confid") Integer confid,
                                                        @RequestParam(value = "searchkey", required = false) String searchkey) {
diff --git a/src/main/java/com/supwisdom/dlpay/conference/dao/ConfDtlDao.java b/src/main/java/com/supwisdom/dlpay/conference/dao/ConfDtlDao.java
new file mode 100644
index 0000000..52eaccd
--- /dev/null
+++ b/src/main/java/com/supwisdom/dlpay/conference/dao/ConfDtlDao.java
@@ -0,0 +1,14 @@
+package com.supwisdom.dlpay.conference.dao;
+
+
+import com.supwisdom.dlpay.conference.domain.TConfDtl;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+
+@Repository
+public interface ConfDtlDao extends JpaRepository<TConfDtl, String> {
+    List<TConfDtl> findByUpdateflag(Integer flag);
+}
diff --git a/src/main/java/com/supwisdom/dlpay/conference/dao/ConfPeopleDao.java b/src/main/java/com/supwisdom/dlpay/conference/dao/ConfPeopleDao.java
index 2bb6128..a3d6e27 100644
--- a/src/main/java/com/supwisdom/dlpay/conference/dao/ConfPeopleDao.java
+++ b/src/main/java/com/supwisdom/dlpay/conference/dao/ConfPeopleDao.java
@@ -15,4 +15,5 @@
     @Query("delete from TConfPeople where confid=?1  ")
     void deleteConfPeopleByconfid(int confid);
 
+    TConfPeople findByConfidAndCustid(Integer confid,String custid);
 }
diff --git a/src/main/java/com/supwisdom/dlpay/conference/dao/ConferenceDao.java b/src/main/java/com/supwisdom/dlpay/conference/dao/ConferenceDao.java
index 381688f..d18f7e7 100644
--- a/src/main/java/com/supwisdom/dlpay/conference/dao/ConferenceDao.java
+++ b/src/main/java/com/supwisdom/dlpay/conference/dao/ConferenceDao.java
@@ -4,11 +4,22 @@
 import org.springframework.data.domain.Pageable;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Query;
 import org.springframework.stereotype.Repository;
 import com.supwisdom.dlpay.conference.domain.TConference;
 
+import java.util.List;
+
 @Repository
 public interface ConferenceDao extends JpaRepository<TConference, Integer> , JpaSpecificationExecutor<TConference> {
     TConference findByConfid(Integer confid);
 
+    List<TConference> findByConfdateAndStatus(String confdate, String status);
+
+    @Query("from TConference where deptcode=?1 order by confid desc")
+    List<TConference> findAllByDeptcodeOrderByConfdate(String deptcode);
+
+
+    @Query("from TConference order by confid desc")
+    List<TConference> findAllOrderByConfdate();
 }
diff --git a/src/main/java/com/supwisdom/dlpay/conference/dao/NolistConfPeopleDao.java b/src/main/java/com/supwisdom/dlpay/conference/dao/NolistConfPeopleDao.java
index ec104e4..908ea93 100644
--- a/src/main/java/com/supwisdom/dlpay/conference/dao/NolistConfPeopleDao.java
+++ b/src/main/java/com/supwisdom/dlpay/conference/dao/NolistConfPeopleDao.java
@@ -2,11 +2,12 @@
 
 
 import com.supwisdom.dlpay.conference.domain.TConfPeople;
+import com.supwisdom.dlpay.conference.domain.TNolistConfPeople;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.stereotype.Repository;
 
 @Repository
-public interface NolistConfPeopleDao extends JpaRepository<TConfPeople, String> {
+public interface NolistConfPeopleDao extends JpaRepository<TNolistConfPeople, String> {
 
 
 }
diff --git a/src/main/java/com/supwisdom/dlpay/conference/domain/TConfDtl.java b/src/main/java/com/supwisdom/dlpay/conference/domain/TConfDtl.java
new file mode 100644
index 0000000..a6b8d11
--- /dev/null
+++ b/src/main/java/com/supwisdom/dlpay/conference/domain/TConfDtl.java
@@ -0,0 +1,113 @@
+package com.supwisdom.dlpay.conference.domain;
+
+import org.hibernate.annotations.GenericGenerator;
+
+import javax.persistence.*;
+
+@Entity
+@Table(name = "TB_CONFDTL",
+        indexes = {@Index(name = "TConfDtl_confid_idx", columnList = "confid")})
+public class TConfDtl {
+  @Id
+  @GenericGenerator(name = "idGenerator", strategy = "uuid")
+  @GeneratedValue(generator = "idGenerator")
+  @Column(name = "ID", nullable = false, length = 32)
+  private String id;
+
+  @Column(name="CONFID", length = 9)
+  private Integer confid;
+
+  @Column(name="CUSTNAME", length = 60)
+  private String custname;
+
+  @Column(name="CUSTID", length = 32)
+  private String custid;
+
+    @Column(name="CARDNO", length = 8)
+    private String cardno;
+
+  @Column(name="ATTDATE", length = 8)
+  private String attdate;
+
+  @Column(name="ATTTIME", length = 4)
+  private String atttime;
+
+  @Column(name="REMARK", length = 200)
+  private String remark;
+
+  @Column(name="UPDATEFLAG", length = 1)
+  private Integer updateflag;
+
+
+  public String getId() {
+    return id;
+  }
+
+  public void setId(String id) {
+    this.id = id;
+  }
+
+  public Integer getConfid() {
+    return confid;
+  }
+
+  public void setConfid(Integer confid) {
+    this.confid = confid;
+  }
+
+  public String getCustname() {
+    return custname;
+  }
+
+  public void setCustname(String custname) {
+    this.custname = custname;
+  }
+
+  public String getCustid() {
+    return custid;
+  }
+
+  public void setCustid(String custid) {
+    this.custid = custid;
+  }
+
+  public String getAttdate() {
+    return attdate;
+  }
+
+  public void setAttdate(String attdate) {
+    this.attdate = attdate;
+  }
+
+  public String getAtttime() {
+    return atttime;
+  }
+
+  public void setAtttime(String atttime) {
+    this.atttime = atttime;
+  }
+
+  public String getRemark() {
+    return remark;
+  }
+
+  public void setRemark(String remark) {
+    this.remark = remark;
+  }
+
+  public Integer getUpdateflag() {
+    return updateflag;
+  }
+
+  public void setUpdateflag(Integer updateflag) {
+    this.updateflag = updateflag;
+  }
+
+    public String getCardno() {
+        return cardno;
+    }
+
+    public void setCardno(String cardno) {
+        this.cardno = cardno;
+    }
+}
diff --git a/src/main/java/com/supwisdom/dlpay/conference/domain/TConfPeople.java b/src/main/java/com/supwisdom/dlpay/conference/domain/TConfPeople.java
index 2ef4af9..444b7a9 100644
--- a/src/main/java/com/supwisdom/dlpay/conference/domain/TConfPeople.java
+++ b/src/main/java/com/supwisdom/dlpay/conference/domain/TConfPeople.java
@@ -11,8 +11,8 @@
   @Id
   @GenericGenerator(name = "idGenerator", strategy = "uuid")
   @GeneratedValue(generator = "idGenerator")
-  @Column(name = "ID", nullable = false, length = 32)
-  private String id;
+  @Column(name = "PID", nullable = false, length = 32)
+  private String pid;
 
   @Column(name="CARDNO", length = 8)
   private String cardno;
@@ -26,18 +26,27 @@
   @Column(name="CUSTID", length = 32)
   private String custid;
 
-  @Column(name="ATTSTATUS", nullable = false, length = 12)
+  @Column(name="ATTSTATUS",  length = 12)
   private String attstatus;
 
+  @Column(name="ATTTIME",  length = 4)
+  private String atttime;
+
   @Column(name="LASTSAVED", length = 14)
   private String lastsaved;
 
-  public String getId() {
-    return id;
+  @Column(name="INSTEADCUSTID", length = 32)
+  private String insteadcustid;
+
+  @Column(name="REMARK" , length = 200)
+  private String remark;
+
+  public String getPid() {
+    return pid;
   }
 
-  public void setId(String id) {
-    this.id = id;
+  public void setPid(String pid) {
+    this.pid = pid;
   }
 
   public String getCardno() {
@@ -87,4 +96,28 @@
   public void setLastsaved(String lastsaved) {
     this.lastsaved = lastsaved;
   }
+
+  public String getInsteadcustid() {
+    return insteadcustid;
+  }
+
+  public void setInsteadcustid(String insteadcustid) {
+    this.insteadcustid = insteadcustid;
+  }
+
+  public String getAtttime() {
+    return atttime;
+  }
+
+  public void setAtttime(String atttime) {
+    this.atttime = atttime;
+  }
+
+  public String getRemark() {
+    return remark;
+  }
+
+  public void setRemark(String remark) {
+    this.remark = remark;
+  }
 }
diff --git a/src/main/java/com/supwisdom/dlpay/conference/domain/TConference.java b/src/main/java/com/supwisdom/dlpay/conference/domain/TConference.java
index f477f54..8c99cd8 100644
--- a/src/main/java/com/supwisdom/dlpay/conference/domain/TConference.java
+++ b/src/main/java/com/supwisdom/dlpay/conference/domain/TConference.java
@@ -26,8 +26,8 @@
     @Column(name = "ATTENDTIME", nullable = false, length = 4)
     private String attendtime;
 
-    @Column(name = "DEPARTCODE", length = 32)
-    private String departcode;
+    @Column(name = "DEPTCODE", length = 32)
+    private String deptcode;
 
     @Column(name = "STATUS", nullable = false, length = 10)
     private String status;
@@ -95,12 +95,12 @@
         this.attendtime = attendtime;
     }
 
-    public String getDepartcode() {
-        return departcode;
+    public String getDeptcode() {
+        return deptcode;
     }
 
-    public void setDepartcode(String departcode) {
-        this.departcode = departcode;
+    public void setDeptcode(String deptcode) {
+        this.deptcode = deptcode;
     }
 
     public String getStatus() {
diff --git a/src/main/java/com/supwisdom/dlpay/conference/domain/TNolistConfPeople.java b/src/main/java/com/supwisdom/dlpay/conference/domain/TNolistConfPeople.java
index 1bcad07..a688f5c 100644
--- a/src/main/java/com/supwisdom/dlpay/conference/domain/TNolistConfPeople.java
+++ b/src/main/java/com/supwisdom/dlpay/conference/domain/TNolistConfPeople.java
@@ -11,11 +11,11 @@
   @Id
   @GenericGenerator(name = "idGenerator", strategy = "uuid")
   @GeneratedValue(generator = "idGenerator")
-  @Column(name = "ID", nullable = false, length = 32)
-  private String id;
+  @Column(name = "PID", nullable = false, length = 32)
+  private String pid;
 
   @Column(name="CARDNO", length = 8)
-  private Integer cardno;
+  private String cardno;
 
   @Column(name="CONFID", length = 9)
   private Integer confid;
@@ -26,25 +26,34 @@
   @Column(name="CUSTID", length = 32)
   private String custid;
 
-  @Column(name="ATTSTATUS", nullable = false, length = 12)
+  @Column(name="ATTSTATUS", length = 12)
   private String attstatus;
 
+  @Column(name="ATTTIME", length = 4)
+  private String atttime;
+
   @Column(name="LASTSAVED", length = 14)
   private String lastsaved;
 
-  public String getId() {
-    return id;
+  @Column(name="INSTEADCUSTID", length = 32)
+  private String insteadcustid;
+
+  @Column(name="REMARK" , length = 200)
+  private String remark;
+
+  public String getPid() {
+    return pid;
   }
 
-  public void setId(String id) {
-    this.id = id;
+  public void setPid(String pid) {
+    this.pid = pid;
   }
 
-  public Integer getCardno() {
+  public String getCardno() {
     return cardno;
   }
 
-  public void setCardno(Integer cardno) {
+  public void setCardno(String cardno) {
     this.cardno = cardno;
   }
 
@@ -87,4 +96,28 @@
   public void setLastsaved(String lastsaved) {
     this.lastsaved = lastsaved;
   }
+
+  public String getAtttime() {
+    return atttime;
+  }
+
+  public void setAtttime(String atttime) {
+    this.atttime = atttime;
+  }
+
+  public String getInsteadcustid() {
+    return insteadcustid;
+  }
+
+  public void setInsteadcustid(String insteadcustid) {
+    this.insteadcustid = insteadcustid;
+  }
+
+  public String getRemark() {
+    return remark;
+  }
+
+  public void setRemark(String remark) {
+    this.remark = remark;
+  }
 }
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 b195406..c04be47 100644
--- a/src/main/java/com/supwisdom/dlpay/conference/service/ConferenceService.java
+++ b/src/main/java/com/supwisdom/dlpay/conference/service/ConferenceService.java
@@ -1,8 +1,9 @@
 package com.supwisdom.dlpay.conference.service;
 
+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.TConferenceDevbind;
+import com.supwisdom.dlpay.conference.bean.ConfpeopleShowBean;
+import com.supwisdom.dlpay.conference.domain.*;
 import com.supwisdom.dlpay.framework.domain.TOperator;
 import com.supwisdom.dlpay.framework.util.PageResult;
 import com.supwisdom.dlpay.ncmgr.domain.TNcDevice;
@@ -15,55 +16,52 @@
 public interface ConferenceService {
 
     @Transactional(rollbackFor = Exception.class, readOnly = true)
-    PageResult<ConferenceShowBean> getConferenceInfos(String confname, String conftype, int pageNo, int pageSize);
+    PageResult<ConferenceShowBean> getConferenceInfos(String confname, String conftype,String deptocde, int pageNo, int pageSize);
 
     @Transactional(rollbackFor = Exception.class)
     boolean deleteConference(int confid) throws Exception;
 
     @Transactional(rollbackFor = Exception.class, readOnly = true)
     TNcDevice getBindedDevice(int confid) ;
-/*
-    @Transactional(rollbackFor = Exception.class)
-    boolean closeConference(int confid) ;*/
 
-/*
     @Transactional(rollbackFor = Exception.class, readOnly = true)
-    boolean checkConferencenameExist(String confname,Integer confid);*/
+    List<TConference> getConferenceByDateAndStatus(String confdate,String status);
+
+    @Transactional(rollbackFor = Exception.class, readOnly = true)
+    List<TConference> getAllConference(String deptcode);
+
+    @Transactional(rollbackFor = Exception.class)
+    TConference updateConference(TConference conference);
+
+    @Transactional(rollbackFor = Exception.class)
+    TConference getConferenceById(Integer confid);
 
     @Transactional(rollbackFor = Exception.class)
     boolean saveNewConference(String confname,String confdate, String conftype, String starttime,
                               String endtime, String attendtime, TOperator oper, String filepath,Integer deviceid) throws Exception;
 
-
     @Transactional(rollbackFor = Exception.class, readOnly = true)
     PageResult<TConfPeople> getConferenceDetails(String searchkey, int confid, int pageNo, int pageSize);
-/*
+
     @Transactional(rollbackFor = Exception.class, readOnly = true)
-    PageResult<ConferenceShowBean> getCheckConferenceInfos(String status, int pageNo, int pageSize);
+    List<TConfDtl> getUnupdateConfDtl();
 
     @Transactional(rollbackFor = Exception.class)
-    boolean doCheckConference(int confid, boolean passflag, String reason, TOperator oper) throws Exception;
-
-    @Transactional(rollbackFor = Exception.class, readOnly = true)
-    List<ConferenceSelectBean> getNormalConferences();
-
-    @Transactional(rollbackFor = Exception.class, readOnly = true)
-    PageResult<ConferenceBindShowBean> getConferenceDevBindInfo(String searchkey, int pageNo, int pageSize);
-
-    @Transactional(rollbackFor = Exception.class, readOnly = true)
-    TDiscountDevbind getDiscountDevbindById(String id);
-
-    @Transactional(rollbackFor = Exception.class, readOnly = true)
-    DiscountBean getCustomerDiscount(Integer deviceid, String termtime,String custid);
+    TNolistConfPeople saveNolistConfPeople(TNolistConfPeople people) ;
 
     @Transactional(rollbackFor = Exception.class)
-    boolean deleteDiscountDevbind(TDiscountDevbind bind);
-
-    @Transactional(rollbackFor = Exception.class, readOnly = true)
-    PageResult<DevparaBinddevShowBean> searchRuleBindDevices(Integer devgroupid, String searchkey, int confid);
+    TConfPeople saveConfPeople(TConfPeople people) ;
 
     @Transactional(rollbackFor = Exception.class)
-    boolean saveRuleBindDevices(int confid, List<Integer> deviceIds, TOperator oper)  ;
-*/
+    void saveConfDtl(TConfDtl dtl) ;
 
+    @Transactional(rollbackFor = Exception.class)
+    JsonResult updateConfPeople(String id,String conftype,String insteadcustid,String attstatus,String remark) ;
+
+    @Transactional(rollbackFor = Exception.class, readOnly = true)
+    PageResult<ConfpeopleShowBean> getConfPeoplePage(Integer confid, String attstatus,String conftype, int pageNo, int pageSize);
+
+
+    @Transactional(rollbackFor = Exception.class, readOnly = true)
+    TConfPeople getTConfPeopleByConfidAndCustid(Integer confid,String custid) ;
 }
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 a807f2d..627afba 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
@@ -3,19 +3,18 @@
 
 import cn.afterturn.easypoi.excel.ExcelImportUtil;
 import cn.afterturn.easypoi.excel.entity.ImportParams;
+import com.supwisdom.dlpay.api.bean.JsonResult;
 import com.supwisdom.dlpay.conference.bean.ConfPeopleImportBean;
 import com.supwisdom.dlpay.conference.bean.ConferenceShowBean;
-import com.supwisdom.dlpay.conference.dao.ConfPeopleDao;
-import com.supwisdom.dlpay.conference.dao.ConferenceDao;
-import com.supwisdom.dlpay.conference.dao.ConferenceDevbindDao;
-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.bean.ConfpeopleShowBean;
+import com.supwisdom.dlpay.conference.dao.*;
+import com.supwisdom.dlpay.conference.domain.*;
 import com.supwisdom.dlpay.conference.service.ConferenceService;
 import com.supwisdom.dlpay.conference.util.ConferenceConstant;
 import com.supwisdom.dlpay.doorlist.bean.CustomerListBean;
 import com.supwisdom.dlpay.doorlist.bean.TCustomerInfo;
 import com.supwisdom.dlpay.framework.domain.TOperator;
+import com.supwisdom.dlpay.framework.service.SystemUtilService;
 import com.supwisdom.dlpay.framework.util.DateUtil;
 import com.supwisdom.dlpay.framework.util.PageResult;
 import com.supwisdom.dlpay.framework.util.StringUtil;
@@ -26,6 +25,8 @@
 import com.supwisdom.dlpay.ncmgr.domain.TNcDevice;
 import com.supwisdom.dlpay.util.WebCheckException;
 import org.apache.commons.lang3.StringUtils;
+import org.hibernate.query.internal.NativeQueryImpl;
+import org.hibernate.transform.Transformers;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.PageRequest;
@@ -43,6 +44,7 @@
 import javax.persistence.criteria.Predicate;
 import javax.persistence.criteria.Root;
 import java.io.File;
+import java.math.BigInteger;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -59,12 +61,19 @@
     private ConferenceDevbindDao conferenceDevbindDao;
     @Autowired
     private NcDeviceDao deviceDao;
+    @Autowired
+    private SystemUtilService systemUtilService;
+    @Autowired
+    private ConfDtlDao confDtlDao;
+    @Autowired
+    private NolistConfPeopleDao nolistConfPeopleDao;
+
 
     @PersistenceContext
     private EntityManager entityManager;
 
     @Override
-    public PageResult<ConferenceShowBean> getConferenceInfos(String confname, String conftype, int pageNo, int pageSize) {
+    public PageResult<ConferenceShowBean> getConferenceInfos(String confname, String conftype,String deptcode, int pageNo, int pageSize) {
         Pageable pageable = PageRequest.of(pageNo - 1, pageSize, Sort.by("confdate"));
 
         Page<TConference> page = conferenceDao.findAll(new Specification<TConference>() {
@@ -78,6 +87,10 @@
                     predicates.add(criteriaBuilder.equal(root.get("conftype").as(String.class), conftype));
 
                 }
+                if (!StringUtil.isEmpty(deptcode)) {
+                    predicates.add(criteriaBuilder.equal(root.get("deptcode").as(String.class), deptcode));
+
+                }
               /*  if (!StringUtil.isEmpty(status)) {
                     predicates.add(criteriaBuilder.equal(root.get("status").as(String.class), status));
                 }*/
@@ -128,6 +141,35 @@
         }
         return null;
     }
+
+    @Override
+    public List<TConference> getConferenceByDateAndStatus(String confdate,String status) {
+
+        List<TConference> conflist=conferenceDao.findByConfdateAndStatus(confdate,status);
+        if(StringUtil.isEmpty(conflist)){
+            return null;
+        }
+        return conflist;
+    }
+
+    @Override
+    public List<TConference> getAllConference(String deptcode) {
+        if(!StringUtil.isEmpty(deptcode)){
+            return conferenceDao.findAllByDeptcodeOrderByConfdate(deptcode);
+        }
+        return conferenceDao.findAllOrderByConfdate();
+
+    }
+
+    @Override
+    public TConference updateConference(TConference conference) {
+        return conferenceDao.save(conference);
+    }
+
+    @Override
+    public TConference getConferenceById(Integer confid) {
+        return conferenceDao.findByConfid(confid);
+    }
 /*
     @Override
     public boolean closeConference(int confid) {
@@ -151,7 +193,7 @@
         conf.setCreateOperid(oper.getOperid());
         conf.setStarttime(starttime);
         conf.setEndtime(endtime);
-        conf.setDepartcode(oper.getDeptcode());
+        conf.setDeptcode(oper.getDeptcode());
         String systime = DateUtil.getNow();
         conf.setCreatetime(systime);
         conf.setLastsaved(systime);
@@ -248,7 +290,7 @@
     @Override
     public PageResult<TConfPeople> getConferenceDetails(String searchkey, int confid, int pageNo, int pageSize) {
         StringBuffer querySql = new StringBuffer("from TConfPeople t where t.confid=:confid ");
-        StringBuffer countSql = new StringBuffer("select count(t.id) as cnt from TConfPeople t where t.confid=:confid ");
+        StringBuffer countSql = new StringBuffer("select count(t.pid) as cnt from TConfPeople t where t.confid=:confid ");
         if (!StringUtil.isEmpty(searchkey)) {
             querySql.append(" and (t.cardno like :str or t.username like :str) ");
             countSql.append(" and (t.cardno like :str or t.username like :str) ");
@@ -269,6 +311,102 @@
         return new PageResult<>(count.longValue(), list);
     }
 
+    @Override
+    public List<TConfDtl> getUnupdateConfDtl() {
+        List<TConfDtl> dtl=confDtlDao.findByUpdateflag(ConferenceConstant.CONFDTL_STATUS_UNUPDATE);
+        if(!StringUtil.isEmpty(dtl)){
+            return dtl;
+        }
+        return null;
+    }
+
+    @Override
+    public TNolistConfPeople saveNolistConfPeople(TNolistConfPeople people) {
+        return nolistConfPeopleDao.save(people) ;
+    }
+
+    @Override
+    public TConfPeople saveConfPeople(TConfPeople people) {
+        return confPeopleDao.save(people);
+    }
+
+    @Override
+    public void saveConfDtl(TConfDtl dtl) {
+        confDtlDao.save(dtl);
+    }
+
+    @Override
+    public JsonResult updateConfPeople(String pid, String conftype, String insteadcustid, String attstatus, String remark) {
+        if(ConferenceConstant.CONFTYPE_NOLIST.equals(conftype)){
+            TNolistConfPeople people=nolistConfPeopleDao.getOne(pid);
+            if(null==people){
+                return JsonResult.error("修改失败,未查询到该用户");
+            }
+            people.setInsteadcustid(insteadcustid);
+            people.setAttstatus(attstatus);
+            people.setRemark(remark);
+            nolistConfPeopleDao.save(people);
+        }else{
+            TConfPeople people=confPeopleDao.getOne(pid);
+            if(null==people){
+                return JsonResult.error("修改失败,未查询到该用户");
+            }
+            people.setInsteadcustid(insteadcustid);
+            people.setAttstatus(attstatus);
+            people.setRemark(remark);
+            confPeopleDao.save(people);
+        }
+        return JsonResult.ok();
+    }
+
+    @Override
+    public PageResult<ConfpeopleShowBean> getConfPeoplePage(Integer confid, String attstatus,String conftype, int pageNo, int pageSize) {
+        String table="tb_conf_people";
+
+        if(ConferenceConstant.CONFTYPE_NOLIST.equals(conftype)){
+            table="tb_nolist_conf_people";
+        }
+
+        StringBuffer querySql=new StringBuffer("select a.confid,a.confname,b.custname,b.cardno,d.deptname,b.attstatus,b.atttime,b.custid,b.pid,b.remark,b.insteadcustid,a.conftype from "+table+" b  " +
+                "left join tb_conference a on a.confid=b.confid " +
+                "left join t_customer c on b.custid=c.custid " +
+                "left join tb_dept d on c.deptcode=d.deptcode " +
+                "where b.confid=:confid ");
+
+        StringBuffer countSql = new StringBuffer("select count(*) from "+table+" b  " +
+                "left join tb_conference a on a.confid=b.confid " +
+                "left join t_customer c on b.custid=c.custid " +
+                "left join tb_dept d on c.deptcode=d.deptcode " +
+                "where b.confid=:confid");
+
+
+        if (!StringUtil.isEmpty(attstatus)) {
+            querySql.append("and b.attstatus=:attstatus ");
+            countSql.append("and b.attstatus=:attstatus ");
+        }
+        querySql.append(" order by b.cardno ");
+        Query query = entityManager.createNativeQuery(querySql.toString());
+        Query countQuery = entityManager.createNativeQuery(countSql.toString());
+
+        query.setParameter("confid",confid);
+        countQuery.setParameter("confid",confid);
+        if (!StringUtil.isEmpty(attstatus)) {
+            query.setParameter("attstatus", attstatus);
+            countQuery.setParameter("attstatus", attstatus);
+        }
+        query.unwrap(NativeQueryImpl.class).setResultTransformer(Transformers.aliasToBean(ConfpeopleShowBean.class));
+        query.setFirstResult((pageNo - 1) * pageSize);
+        query.setMaxResults(pageSize); //分页显示
+        List<ConfpeopleShowBean> list = query.getResultList();
+        BigInteger count = (BigInteger) countQuery.getSingleResult();
+        return new PageResult<>(count.longValue(), list);
+    }
+
+    @Override
+    public TConfPeople getTConfPeopleByConfidAndCustid(Integer confid, String custid) {
+        return confPeopleDao.findByConfidAndCustid(confid,custid);
+    }
+
 
     private String checkConfTimeError(String attendtime, String endtime,String confdate,String cardno) {
         Query query = entityManager.createNativeQuery("select a.confname from tb_conference a,TB_Conf_People b where 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
new file mode 100644
index 0000000..a1f566e
--- /dev/null
+++ b/src/main/java/com/supwisdom/dlpay/conference/task/ConferenceTask.java
@@ -0,0 +1,146 @@
+package com.supwisdom.dlpay.conference.task;
+
+import com.supwisdom.dlpay.api.bean.CardsResponse;
+import com.supwisdom.dlpay.api.bean.CitizenCardInfo;
+import com.supwisdom.dlpay.api.bean.QueryCardsParam;
+import com.supwisdom.dlpay.app.bean.CustomerInfo;
+import com.supwisdom.dlpay.conference.domain.TConfDtl;
+import com.supwisdom.dlpay.conference.domain.TConfPeople;
+import com.supwisdom.dlpay.conference.domain.TConference;
+import com.supwisdom.dlpay.conference.domain.TNolistConfPeople;
+import com.supwisdom.dlpay.conference.service.ConferenceService;
+import com.supwisdom.dlpay.conference.util.ConferenceConstant;
+import com.supwisdom.dlpay.doorlist.bean.TCustomerInfo;
+import com.supwisdom.dlpay.doorlist.service.DoorlistMgrService;
+import com.supwisdom.dlpay.framework.util.DateUtil;
+import com.supwisdom.dlpay.framework.util.StringUtil;
+import com.supwisdom.dlpay.mainservice.domain.TCard;
+import com.supwisdom.dlpay.mainservice.service.WebInterfaceService;
+import com.supwisdom.dlpay.paysdk.ApiLoginHelper;
+import com.supwisdom.dlpay.paysdk.proxy.ApiLoginProxy;
+import com.supwisdom.dlpay.paysdk.proxy.UserProxy;
+import com.supwisdom.dlpay.system.domain.TSystemParam;
+import com.supwisdom.dlpay.system.service.SystemService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.ApplicationArguments;
+import org.springframework.boot.ApplicationRunner;
+import org.springframework.cloud.openfeign.EnableFeignClients;
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.scheduling.annotation.EnableScheduling;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+@Component
+@Configuration      //1.主要用于标记配置类,兼备Component的效果。
+@EnableScheduling   // 2.开启定时任务
+public class ConferenceTask {
+
+    protected static Logger logger = LoggerFactory.getLogger(ConferenceTask.class);
+
+
+    @Autowired
+    private ConferenceService conferenceService;
+    @Autowired
+    private WebInterfaceService webInterfaceService;
+
+    @Scheduled(cron = "${conference.updatestatus.cron}")//每分钟执行一次
+    private void UpdateConferenceStatus(){
+        String confdate=DateUtil.getNow("yyyyMMdd");
+        String timenow=DateUtil.getNow("HHmm");
+        List<TConference> unstartconf=conferenceService.getConferenceByDateAndStatus(confdate, ConferenceConstant.CONFSTATUS_UNSTART);
+        if(null!=unstartconf){
+            logger.info("开始更新未开始会议");
+            for(TConference conf:unstartconf){
+                int compare=DateUtil.compareDatetime(timenow,conf.getStarttime(),"HHmm");
+                if(0<=compare){
+                    conf.setStatus(ConferenceConstant.CONFSTATUS_START);
+                    conferenceService.updateConference(conf);
+                }
+            }
+        }
+        List<TConference> startconf=conferenceService.getConferenceByDateAndStatus(confdate, ConferenceConstant.CONFSTATUS_START);
+        if(null!=startconf){
+            logger.info("开始更新已开始会议");
+               for(TConference conf:startconf){
+                   int compare=DateUtil.compareDatetime(timenow,conf.getEndtime(),"HHmm");
+                   if(0<=compare){
+                    conf.setStatus(ConferenceConstant.CONFSTATUS_OVER);
+                    conferenceService.updateConference(conf);
+                }
+            }
+        }
+    }
+
+    @Scheduled(cron = "${conference.uploaddtl.cron}")//每10秒执行一次
+    private void uploadConfDtl(){
+        List<TConfDtl> dtllist=conferenceService.getUnupdateConfDtl();
+        if(!StringUtil.isEmpty(dtllist)){
+            for(TConfDtl dtl:dtllist){
+                TConference conference=conferenceService.getConferenceById(dtl.getConfid());
+                if(null==conference){
+                    logger.error(dtl.getCustname()+"所属会议不存在");
+                    dtl.setUpdateflag(ConferenceConstant.CONFDTL_STATUS_UPDATED);
+                    dtl.setRemark(dtl.getCustname()+"所属会议不存在");
+                    conferenceService.saveConfDtl(dtl);
+                    continue;
+                }
+                TCustomerInfo info=webInterfaceService.getTCustomerByExcel(dtl.getCardno());
+                if(null==info){
+                    logger.error(dtl.getCustname()+"不存在");
+                    dtl.setUpdateflag(ConferenceConstant.CONFDTL_STATUS_UPDATED);
+                    dtl.setRemark(dtl.getCustname()+"不存在");
+                    conferenceService.saveConfDtl(dtl);
+                    continue;
+                }
+
+                String atttime=dtl.getAtttime();
+
+                int compareAttend=DateUtil.compareDatetime(atttime,conference.getAttendtime(),"HHmm");
+                int compareStart=DateUtil.compareDatetime(atttime,conference.getStarttime(),"HHmm");
+
+                if(-1==compareAttend){
+                    continue;
+                }
+                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(dtl.getConfid());
+                    people.setCustid(dtl.getCustid());
+                    people.setAtttime(atttime);
+                    people.setCustname(dtl.getCustname());
+                    people.setLastsaved(DateUtil.getNow());
+                    conferenceService.saveNolistConfPeople(people);
+                }else{
+                    TConfPeople people=conferenceService.getTConfPeopleByConfidAndCustid(dtl.getConfid(),dtl.getCustid());
+                    if(null==people){
+                        logger.error(dtl.getCustname()+"在会议中不存在");
+                        dtl.setUpdateflag(ConferenceConstant.CONFDTL_STATUS_UPDATED);
+                        dtl.setRemark(dtl.getCustname()+"在会议中不存在");
+                        conferenceService.saveConfDtl(dtl);
+                        continue;
+                    }
+                    people.setAttstatus(attstatus);
+                    people.setAtttime(atttime);
+                    conferenceService.saveConfPeople(people);
+                }
+                dtl.setUpdateflag(ConferenceConstant.CONFDTL_STATUS_UPDATED);
+                conferenceService.saveConfDtl(dtl);
+            }
+        }
+
+    }
+
+}
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 c69aa14..ec63725 100644
--- a/src/main/java/com/supwisdom/dlpay/conference/util/ConferenceConstant.java
+++ b/src/main/java/com/supwisdom/dlpay/conference/util/ConferenceConstant.java
@@ -1,5 +1,7 @@
 package com.supwisdom.dlpay.conference.util;
 
+import com.supwisdom.dlpay.framework.util.DateUtil;
+
 public class ConferenceConstant {
     public static final String CONFTYPE_LIST="list";
     public static final String CONFTYPE_NOLIST="nolist";
@@ -13,6 +15,16 @@
     public static final String ATTENDSTATUS_INSTEAD="instead";
     public static final String DEVICETYPE_CONFERENCE="H";
 
+    public static final Integer CONFDTL_STATUS_UPDATED=1;
+    public static final Integer CONFDTL_STATUS_UNUPDATE=0;
+
+
+    public static void main(String[] args) {
+        String i="1100";
+        String l="1200";
+        System.out.println(DateUtil.compareDatetime(l,i,"HHmm"));
+    }
+
 
 
 }
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 3b58f7a..aab4496 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
@@ -147,7 +147,7 @@
     @Transactional

     @Override

     public TCustomerInfo getTCustomerByExcel(String cardno) {

-        String sql = "select a.custid,a.custname,b.cardno,b.bankcardno,b.cardphyid,b.expiredate from t_customer a,t_card b  " +

+        String sql = "select a.custid,a.custname,b.cardno,b.bankcardno,b.cardphyid,b.expiredate,a.deptcode,a.custtypeid from t_customer a,t_card b  " +

                 " where a.custid = b.custid and b.status = 'normal' and b.transtatus='normal' and cardno=?1 ";

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

         query.setParameter(1, cardno);

diff --git a/src/main/java/com/supwisdom/dlpay/mainservice/service/WebInterfaceService.java b/src/main/java/com/supwisdom/dlpay/mainservice/service/WebInterfaceService.java
index 0d16da7..1dc753c 100644
--- a/src/main/java/com/supwisdom/dlpay/mainservice/service/WebInterfaceService.java
+++ b/src/main/java/com/supwisdom/dlpay/mainservice/service/WebInterfaceService.java
@@ -146,4 +146,6 @@
     @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})

     PageResult<TCustomerInfo> getCustomerInfoPage(CustomerSearchBean bean);

 

+

+

     }

diff --git a/src/main/resources/templates/conference/confdetail.html b/src/main/resources/templates/conference/confdetail.html
index 58b8960..fc7afc2 100644
--- a/src/main/resources/templates/conference/confdetail.html
+++ b/src/main/resources/templates/conference/confdetail.html
@@ -1,8 +1,7 @@
 <div class="layui-card">
     <div class="layui-card-body">
         <div class="layui-form">
-            <span>绑定设备:</span>
-            <span th:text="${deviceName}"></span>
+            <span th:text="'绑定设备:'+${deviceName}"></span>
 
         </div>
         <div class="layui-form toolbar">
diff --git a/src/main/resources/templates/conference/confform.html b/src/main/resources/templates/conference/confform.html
index 3b29c0f..2a9b697 100644
--- a/src/main/resources/templates/conference/confform.html
+++ b/src/main/resources/templates/conference/confform.html
@@ -133,7 +133,6 @@
         }
 
         form.on('submit(conference-form-submit)', function (data) {
-            debugger
             var token = $("meta[name='_csrf_token']").attr("value");
             var vdata = data.field;
 
@@ -186,6 +185,7 @@
                     'Accept': 'application/json',
                     'X-CSRF-TOKEN': token,
                 },
+
                 success: function (result) {
                     layer.closeAll('loading');
                     if (result.code == 200) {
diff --git a/src/main/resources/templates/confpeople/form.html b/src/main/resources/templates/confpeople/form.html
new file mode 100644
index 0000000..2ef3aea
--- /dev/null
+++ b/src/main/resources/templates/confpeople/form.html
@@ -0,0 +1,134 @@
+<div id="confpeople-form" lay-filter="confpeople-form" class="layui-form model-form">
+    <input name="pid" id="confpeople-pid" type="hidden"/>
+    <input name="conftype" id="confpeople-conftype" type="hidden"/>
+    <div class="layui-form-item">
+        <label class="layui-form-label">签到状态</label>
+        <div class="layui-input-block">
+            <input type="radio" name="attstatus" id="form-confpeople-attstatus-checked"
+                   lay-filter="confpeople-attstatus-filter" value="checked" title="已签到"/>
+            <input type="radio" name="attstatus" id="form-confpeople-attstatus-uncheck"
+                   lay-filter="confpeople-attstatus-filter" value="uncheck" title="未签到"/>
+            <input type="radio" name="attstatus" id="form-confpeople-attstatus-late"
+                   lay-filter="confpeople-attstatus-filter" value="late" title="迟到"/>
+            <input type="radio" name="attstatus" id="form-confpeople-attstatus-instead"
+                   lay-filter="confpeople-attstatus-filter" value="instead" title="代签"/>
+
+        </div>
+    </div>
+
+    <div class="layui-form-item instead-form">
+        <label class="layui-form-label"><span style="color: red">* </span>代签人</label>
+        <div class="layui-input-block">
+            <select name="insteadcustid" class="layui-select" id="discountrule-form-select-listid" lay-search>
+                <option th:each="lst:${custlist}" th:value="${lst.custid}"
+                        th:text="${lst.custname}"></option>
+            </select>&emsp;
+        </div>
+    </div>
+    <div class="layui-form-item instead-form">
+        <label class="layui-form-label">备注</label>
+        <div class="layui-input-block">
+            <textarea name="remark" placeholder="请输入" class="layui-textarea"></textarea>
+        </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="confpeople-form-submit" lay-submit id="confpeople-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;
+
+        form.render("select");
+        form.render("radio");
+
+        var ct = admin.getTempData('t_people');
+        console.log(ct);
+        if (ct) {
+            form.val('confpeople-form', ct);
+        }
+        var attstatus = ct.attstatus;
+        if('instead'==attstatus){
+            $(".instead-form").show();
+        }
+
+        form.on('radio(confpeople-attstatus-filter)', function (data) {
+            changeconfpeopletype(data.value);
+            attstatus = data.value;
+        });
+
+        var changeconfpeopletype = function (val) {
+            if ('instead' != val) {
+                $(".instead-form").hide();
+            } else {
+                $(".instead-form").show();
+            }
+        }
+
+        form.on('submit(confpeople-form-submit)', function (data) {
+            var token = $("meta[name='_csrf_token']").attr("value");
+            var vdata = data.field;
+
+            var formData = new FormData();
+            formData.append("pid", vdata.pid);
+            formData.append("conftype", vdata.conftype);
+            formData.append("attstatus", vdata.attstatus);
+            formData.append("insteadcustid", vdata.insteadcustid);
+            formData.append("remark", vdata.remark);
+            layer.load(2);
+            debugger
+            $.ajax({
+                type: "POST",
+                url: '[[@{/confpeople/editconfpeople}]]',
+                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) {
+                        layer.msg(result.msg, {icon: 1, time: 1500});
+                        admin.finishPopupCenter();
+                    } 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) {
+                    admin.errorBack(err);
+                }
+            });
+        });
+    });
+</script>
+
+<style>
+    .instead-form{
+        display:none
+    }
+
+</style>
\ No newline at end of file
diff --git a/src/main/resources/templates/confpeople/index.html b/src/main/resources/templates/confpeople/index.html
new file mode 100644
index 0000000..ab22d0a
--- /dev/null
+++ b/src/main/resources/templates/confpeople/index.html
@@ -0,0 +1,118 @@
+<div class="layui-card">
+    <div class="layui-card-header">
+        <h2 class="header-title">参会人员明细</h2>
+        <span class="layui-breadcrumb pull-right">
+          <a href="#">会议管理</a>
+          <a><cite>参会人员明细</cite></a>
+        </span>
+    </div>
+    <div class="layui-card-body">
+        <div class="layui-form toolbar">
+            搜索:
+            <select id="search-confpeople-confid" style="width:280px" lay-search>
+                <option th:each="lst:${conflist}" th:value="${lst.confid}"
+                        th:text="${lst.confname}"></option>
+            </select>&emsp;
+
+            <select id="search-confpeople-attstatus">
+                <option value=""> 选择签到状态</option>
+                <option value="checked"> 已签到</option>
+                <option value="uncheck"> 未签到</option>
+                <option value="late"> 迟到</option>
+                <option value="instead"> 代签</option>
+            </select>&emsp;
+
+            <button id="btn-search-confpeople" class="layui-btn icon-btn" data-type="search"><i class="layui-icon">&#xe615;</i>搜索
+            </button>
+
+        </div>
+        <table class="layui-table" id="confpeopleTable" lay-filter="confpeopleTable-filter"></table>
+    </div>
+
+</div>
+
+
+<!-- 表格操作列 -->
+<script type="text/html" id="confpeople-table-bar">
+    <a class="layui-btn layui-btn layui-btn-xs" lay-event="edit">查看\编辑</a>
+</script>
+
+
+<script>
+    layui.use(['form', 'table', 'layer', 'admin', 'element'], function () {
+        var form = layui.form;
+        var table = layui.table;
+        var admin = layui.admin;
+        var element = layui.element;
+
+        form.render("select");
+        // 渲染表格
+        table.render({
+            elem: '#confpeopleTable',
+            url: '[[@{/confpeople/peoplelist}]]',
+            page: true,
+            cols: [
+                [
+                    {field: 'custname', title: '客户姓名', align: 'center'},
+                    {field: 'cardno', title: '卡号', align: 'center'},
+                    {field: 'deptname', title: '所属部门', align: 'center'},
+                    {field: 'attendtime', title: '签到时间', align: 'center'},
+
+                    {
+                        field: 'attstatus', title: '状态', align: 'center', sort: true, templet: function (d) {
+                            if ('uncheck' == d.attstatus) {
+                                return '<span class="layui-badge layui-bg-orange">未签到</span>'
+                            } else if ('checked' == d.attstatus) {
+                                return '<span class="layui-badge layui-bg-green">已签到</span>';
+                            } else if ('late' == d.attstatus) {
+                                return '<span class="layui-badge layui-bg-gray">迟到</span>';
+                            } else if ('instead' == d.attstatus) {
+                                return '<span class="layui-badge">代签</span>';
+                            } else {
+                                return d.attstatus;
+                            }
+                        }
+                    },
+                    {field: 'id', align: 'center', title: '操作', toolbar: '#confpeople-table-bar', fixed: 'right'}
+                ]
+            ]
+        });
+
+        // 搜索按钮点击事件
+        $('#btn-search-confpeople').click(function () {
+            var confid = $("#search-confpeople-confid").val();
+            var attstatus = $("#search-confpeople-attstatus").val();
+            table.reload('confpeopleTable', {where: {confid: confid, attstatus: attstatus}, page: {curr: 1}});
+
+
+        });
+        let showModel = function (data) {
+            let title = '查看/编辑'
+            admin.putTempData('t_people', data);
+            admin.popupCenter({
+                title: title,
+                path: '[[@{/confpeople/load4add}]]',
+                finish: function () {
+                    var confid=$("#search-confpeople-confid").val();
+                    table.reload('confpeopleTable', confid);
+                }
+            });
+        };
+
+
+        //监听单元格
+        table.on('tool(confpeopleTable-filter)', function (obj) {
+            var data = obj.data;
+            showModel(data);
+
+        });
+
+    });
+</script>
+
+<style>
+    .layui-form.toolbar .layui-form-select input {
+        width: 250px;
+    }
+
+</style>
\ No newline at end of file