会议签到报表
diff --git a/src/main/java/com/supwisdom/dlpay/conference/controller/ConfReportController.java b/src/main/java/com/supwisdom/dlpay/conference/controller/ConfReportController.java
index a77c228..b93540b 100644
--- a/src/main/java/com/supwisdom/dlpay/conference/controller/ConfReportController.java
+++ b/src/main/java/com/supwisdom/dlpay/conference/controller/ConfReportController.java
@@ -120,7 +120,7 @@
}
}
- @GetMapping("/confreport/print")
+ @GetMapping("/confreport/print/print")
public String printReport( @RequestParam(value = "confname", required = false) String confname,
@RequestParam(value = "conftype", required = false) String conftype,
@RequestParam(value = "startdate", required = false) String startdate,
@@ -151,4 +151,29 @@
return "confreport/print/printindex";
}
+ @GetMapping("/confreport/print/printatt")
+ public String printunatt( @RequestParam(value = "actualcnt", required = false) String actualcnt,
+ @RequestParam(value = "attendrate", required = false) String attendrate,
+ @RequestParam(value = "totcnt", required = false) String totcnt,
+ @RequestParam(value = "confid", required = false) Integer confid,
+ @RequestParam(value = "confdate", required = false) String confdate,
+ @RequestParam(value = "confname", required = false) String confname,
+ @RequestParam(value = "opercode",required = false) String opercode,
+ ModelMap model) {
+ TOperator oper=managerService.getOperatorByOpercode(opercode);
+ // String deptcode = oper.getDeptcode();
+ PageResult<ConfpeopleReportBean> bean=conferenceService.getConfPeopleReportForPrint(confid);
+
+ model.addAttribute("confdate", confdate);
+ model.addAttribute("confname", confname);
+ model.addAttribute("actualcnt", actualcnt);
+ model.addAttribute("attendrate", attendrate);
+ model.addAttribute("totcnt",totcnt);
+ model.addAttribute("showlist",bean.getData());
+ model.addAttribute("opername", oper == null ? "unknow" : oper.getOpername());
+ model.addAttribute("printdatetime",DateUtil.reformatDatetime(systemUtilService.getSysdatetime().getHostdatetime(),DateUtil.DATETIME_FMT,"yyyy-MM-dd HH:mm:ss"));
+
+ return "confreport/print/attindex";
+ }
+
}
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 73cd92f..e2b54aa 100644
--- a/src/main/java/com/supwisdom/dlpay/conference/service/ConferenceService.java
+++ b/src/main/java/com/supwisdom/dlpay/conference/service/ConferenceService.java
@@ -91,6 +91,9 @@
PageResult<ConfpeopleReportBean> getConfPeopleReport(Integer confid, String searchkey,String attstatus, String deptcode,String attflag);
@Transactional(rollbackFor = Exception.class, readOnly = true)
+ PageResult<ConfpeopleReportBean> getConfPeopleReportForPrint(Integer confid);
+
+ @Transactional(rollbackFor = Exception.class, readOnly = true)
TConfPeople getTConfPeopleByConfidAndCustid(Integer confid,String custid) ;
@Transactional(rollbackFor = Exception.class, readOnly = true)
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 82df227..b27841b 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
@@ -74,21 +74,21 @@
private EntityManager entityManager;
@Override
- public PageResult<ConferenceShowBean> getConferenceInfos(String confname, String conftype,String deptcode,String confdate, int pageNo, int pageSize) {
- Page<TConference> page = getConferencePage(confname, conftype, deptcode, "","","", pageNo, pageSize);
+ public PageResult<ConferenceShowBean> getConferenceInfos(String confname, String conftype, String deptcode, String confdate, int pageNo, int pageSize) {
+ Page<TConference> page = getConferencePage(confname, conftype, deptcode, "", "", "", pageNo, pageSize);
List<ConferenceShowBean> result = new ArrayList<>(0);
if (null != page && page.getTotalElements() > 0) {
for (TConference conf : page.getContent()) {
ConferenceShowBean bean = new ConferenceShowBean();
bean.setConfname(conf.getConfname());
- bean.setConfdate(DateUtil.reformatDatetime(conf.getConfdate(),"yyyyMMdd","yyyy-MM-dd"));
+ bean.setConfdate(DateUtil.reformatDatetime(conf.getConfdate(), "yyyyMMdd", "yyyy-MM-dd"));
bean.setConftype(conf.getConftype());
bean.setStatus(conf.getStatus());
bean.setConfid(conf.getConfid());
bean.setRemark(conf.getRemark());
bean.setStarttime(conf.getStarttime().substring(0, 2) + ":" + conf.getStarttime().substring(2));
bean.setEndtime(conf.getEndtime().substring(0, 2) + ":" + conf.getEndtime().substring(2));
- bean.setTimeperoid(bean.getStarttime()+"~"+bean.getEndtime());
+ bean.setTimeperoid(bean.getStarttime() + "~" + bean.getEndtime());
bean.setAttendtime(conf.getAttendtime().substring(0, 2) + ":" + conf.getAttendtime().substring(2));
result.add(bean);
}
@@ -97,43 +97,43 @@
}
@Override
- public PageResult<ConfReportShowBean> getConfReportPage(String confname, String conftype, String deptcode, String startdate,String enddate,String status, int pageNo, int pageSize) {
- Page<TConference> page = getConferencePage(confname, conftype, deptcode, startdate,enddate,status, pageNo, pageSize);
+ public PageResult<ConfReportShowBean> getConfReportPage(String confname, String conftype, String deptcode, String startdate, String enddate, String status, int pageNo, int pageSize) {
+ Page<TConference> page = getConferencePage(confname, conftype, deptcode, startdate, enddate, status, pageNo, pageSize);
List<ConfReportShowBean> result = new ArrayList<>(0);
- DecimalFormat format=new DecimalFormat("0.00");
+ DecimalFormat format = new DecimalFormat("0.00");
if (null != page && page.getTotalElements() > 0) {
for (TConference conf : page.getContent()) {
- ConfReportShowBean bean=new ConfReportShowBean();
+ ConfReportShowBean bean = new ConfReportShowBean();
bean.setConfname(conf.getConfname());
- bean.setConfdate(DateUtil.reformatDatetime(conf.getConfdate(),"yyyyMMdd","yyyy-MM-dd"));
+ bean.setConfdate(DateUtil.reformatDatetime(conf.getConfdate(), "yyyyMMdd", "yyyy-MM-dd"));
bean.setConftype(conf.getConftype());
bean.setConfid(conf.getConfid());
- String starttime=conf.getStarttime().substring(0, 2) + ":" + conf.getStarttime().substring(2);
- String endtime=conf.getEndtime().substring(0, 2) + ":" + conf.getEndtime().substring(2);
- bean.setTimeperoid(starttime+"~"+endtime);
+ String starttime = conf.getStarttime().substring(0, 2) + ":" + conf.getStarttime().substring(2);
+ String endtime = conf.getEndtime().substring(0, 2) + ":" + conf.getEndtime().substring(2);
+ bean.setTimeperoid(starttime + "~" + endtime);
bean.setAttendtime(conf.getAttendtime().substring(0, 2) + ":" + conf.getAttendtime().substring(2));
- if(ConferenceConstant.CONFTYPE_NOLIST.equals(conf.getConftype())){
- Integer totcnt=getNoListConfPeopleTotalCount(conf.getConfid());
- Integer actualcnt=nolistConfPeopleDao.countByConfid(conf.getConfid());
- Float rate=0f;
- if(0!=totcnt){
- rate=actualcnt*100f/totcnt;
+ if (ConferenceConstant.CONFTYPE_NOLIST.equals(conf.getConftype())) {
+ Integer totcnt = getNoListConfPeopleTotalCount(conf.getConfid());
+ Integer actualcnt = nolistConfPeopleDao.countByConfid(conf.getConfid());
+ Float rate = 0f;
+ if (0 != totcnt) {
+ rate = actualcnt * 100f / totcnt;
}
- bean.setActualcnt(actualcnt+"");
- bean.setTotcnt(totcnt+"");
- bean.setAttendrate(format.format(rate)+"%");
+ bean.setActualcnt(actualcnt + "");
+ bean.setTotcnt(totcnt + "");
+ bean.setAttendrate(format.format(rate) + "%");
- }else if(ConferenceConstant.CONFTYPE_LIST.equals(conf.getConftype())){
+ } else if (ConferenceConstant.CONFTYPE_LIST.equals(conf.getConftype())) {
Integer totcnt = getListConfPeopleTotalCount(conf.getConfid());
- Integer actualcnt=getConfPeopleActualCount(conf.getConfid());
- Float rate=0f;
- if(0!=totcnt){
- rate=actualcnt*100f/totcnt;
- bean.setAttendrate(format.format(rate)+"%");
+ Integer actualcnt = getConfPeopleActualCount(conf.getConfid());
+ Float rate = 0f;
+ if (0 != totcnt) {
+ rate = actualcnt * 100f / totcnt;
+ bean.setAttendrate(format.format(rate) + "%");
}
- bean.setActualcnt(actualcnt+"");
- bean.setTotcnt(totcnt+"");
- bean.setAttendrate(format.format(rate)+"%");
+ bean.setActualcnt(actualcnt + "");
+ bean.setTotcnt(totcnt + "");
+ bean.setAttendrate(format.format(rate) + "%");
}
result.add(bean);
@@ -143,13 +143,13 @@
}
@NotNull
- private Page<TConference> getConferencePage(String confname, String conftype, String deptcode, String startdate,String enddate,String status, int pageNo, int pageSize) {
- Sort.Order order1=new Sort.Order(Sort.Direction.DESC, "confdate");
- Sort.Order order2=new Sort.Order(Sort.Direction.DESC, "confid");
+ private Page<TConference> getConferencePage(String confname, String conftype, String deptcode, String startdate, String enddate, String status, int pageNo, int pageSize) {
+ Sort.Order order1 = new Sort.Order(Sort.Direction.DESC, "confdate");
+ Sort.Order order2 = new Sort.Order(Sort.Direction.DESC, "confid");
List<Sort.Order> list = new ArrayList<>();
list.add(order1);
list.add(order2);
- Sort sort =Sort.by(list);
+ Sort sort = Sort.by(list);
Pageable pageable = PageRequest.of(pageNo - 1, pageSize, sort);
@@ -163,9 +163,9 @@
if (!StringUtil.isEmpty(conftype)) {
predicates.add(criteriaBuilder.equal(root.get("conftype").as(String.class), conftype));
}
- List<String> childdplist=null;
- if(!StringUtil.isEmpty(deptcode)){
- childdplist = customerDao.getChildDeptlist( deptcode);
+ List<String> childdplist = null;
+ if (!StringUtil.isEmpty(deptcode)) {
+ childdplist = customerDao.getChildDeptlist(deptcode);
}
if (!StringUtil.isEmpty(childdplist)) {
predicates.add(root.get("deptcode").in(childdplist));
@@ -186,7 +186,7 @@
}
@Override
- public boolean deleteConference(int confid) throws Exception{
+ public boolean deleteConference(int confid) throws Exception {
TConference conf = conferenceDao.findByConfid(confid);
if (null == conf) {
throw new WebCheckException("餐补规则不存在!");
@@ -202,8 +202,8 @@
@Override
public boolean deleteConfPeople(String pid) throws Exception {
- TConfPeople people=confPeopleDao.getOne(pid);
- if(null == people){
+ TConfPeople people = confPeopleDao.getOne(pid);
+ if (null == people) {
throw new WebCheckException("会议人员不存在");
}
confPeopleDao.delete(people);
@@ -212,11 +212,11 @@
@Override
public List<TNcDevice> getBindedDevices(int confid) {
- List<TConferenceDevbind> bind=conferenceDevbindDao.findAllByConfid(confid);
- List<TNcDevice> list=new ArrayList<>();
- if(!StringUtil.isEmpty(bind)){
- for(TConferenceDevbind b:bind){
- TNcDevice dev=deviceDao.findDevById(b.getDeviceid());
+ List<TConferenceDevbind> bind = conferenceDevbindDao.findAllByConfid(confid);
+ List<TNcDevice> list = new ArrayList<>();
+ if (!StringUtil.isEmpty(bind)) {
+ for (TConferenceDevbind b : bind) {
+ TNcDevice dev = deviceDao.findDevById(b.getDeviceid());
list.add(dev);
}
return list;
@@ -226,24 +226,24 @@
@Override
public boolean checkDevBindRelationship(int confid, int deviceid) {
- TConferenceDevbind bind = conferenceDevbindDao.findByConfidAndDeviceid(confid,deviceid);
- if(null!=bind){
+ TConferenceDevbind bind = conferenceDevbindDao.findByConfidAndDeviceid(confid, deviceid);
+ if (null != bind) {
return true;
}
return false;
}
@Override
- public List<TConference> getConferenceByDateAndStatus(String confdate,String status) {
+ public List<TConference> getConferenceByDateAndStatus(String confdate, String status) {
List<TConference> conflist;
- if(!StringUtil.isEmpty(status)){
- conflist=conferenceDao.findByConfdateAndStatus(confdate,status);
- }else{
- conflist=conferenceDao.findByConfdate(confdate);
+ if (!StringUtil.isEmpty(status)) {
+ conflist = conferenceDao.findByConfdateAndStatus(confdate, status);
+ } else {
+ conflist = conferenceDao.findByConfdate(confdate);
}
- if(StringUtil.isEmpty(conflist)){
+ if (StringUtil.isEmpty(conflist)) {
return null;
}
return conflist;
@@ -251,7 +251,7 @@
@Override
public List<TConference> getAllConference(String deptcode) {
- if(!StringUtil.isEmpty(deptcode)){
+ if (!StringUtil.isEmpty(deptcode)) {
return conferenceDao.findAllByDeptcodeOrderByConfdate(deptcode);
}
return conferenceDao.findAllOrderByConfdate();
@@ -274,12 +274,12 @@
}*/
@Override
- public boolean saveNewConference(String confname,String confdate, String conftype, String starttime, String endtime,String attendtime, TOperator oper, List<Integer> deviceid,String remark) throws Exception {
+ public boolean saveNewConference(String confname, String confdate, String conftype, String starttime, String endtime, String attendtime, TOperator oper, List<Integer> deviceid, String remark) throws Exception {
- for(Integer i : deviceid){
- String errdevname=checkTimeErrorDevice(attendtime,endtime,confdate,i);
- if(!StringUtil.isEmpty(errdevname)){
- throw new WebCheckException("设备《"+ errdevname+"》存在时间冲突,请重新选择设备");
+ for (Integer i : deviceid) {
+ String errdevname = checkTimeErrorDevice(attendtime, endtime, confdate, i);
+ if (!StringUtil.isEmpty(errdevname)) {
+ throw new WebCheckException("设备《" + errdevname + "》存在时间冲突,请重新选择设备");
}
}
@@ -304,8 +304,8 @@
conf.setRemark(remark);
conf = conferenceDao.save(conf);
- for(Integer i : deviceid){
- TConferenceDevbind bind=new TConferenceDevbind();
+ for (Integer i : deviceid) {
+ TConferenceDevbind bind = new TConferenceDevbind();
bind.setConfid(conf.getConfid());
bind.setCreateOperid(oper.getOperid());
bind.setCreatetime(systime);
@@ -317,8 +317,8 @@
@Override
public boolean saveConferencePeopleByExcel(Integer confid, String fpath) throws Exception {
- TConference conference=conferenceDao.findByConfid(confid);
- if(null==conference){
+ TConference conference = conferenceDao.findByConfid(confid);
+ if (null == conference) {
throw new WebCheckException("会议不存在");
}
List<String> successCardnos = new ArrayList<>(0);
@@ -334,7 +334,7 @@
try {
for (int n = 0; n < peoplelist.size(); n++) {
String msg = "";
- String cardno =peoplelist.get(n).getCardno().trim();
+ String cardno = peoplelist.get(n).getCardno().trim();
String name = peoplelist.get(n).getCustname().trim();
if (StringUtil.isEmpty(cardno)) {
msg += ",市民卡号为空";
@@ -342,10 +342,10 @@
if (StringUtil.isEmpty(name)) {
msg += ",姓名为空";
}
- TCustomerInfo customer=null;
- List<TCustomerInfo> customerlist = webInterfaceService.getAllTCustomerList(null,cardno,null);
- if(customerlist.size()>0){
- customer=customerlist.get(0);
+ TCustomerInfo customer = null;
+ List<TCustomerInfo> customerlist = webInterfaceService.getAllTCustomerList(null, cardno, null);
+ if (customerlist.size() > 0) {
+ customer = customerlist.get(0);
}
if (!customer.getCustname().equals(name)) {
msg += ",市民卡号与姓名不匹配!";
@@ -353,16 +353,16 @@
if (!StringUtil.isEmpty(cardno) && successCardnos.contains(cardno)) {
msg += ",市民卡号重复!";
}
- String errconfname=checkConfTimeError(conference.getAttendtime(),conference.getEndtime(),conference.getConfdate(),cardno);
- if(!StringUtil.isEmpty(errconfname)){
- msg += ",市民卡号[" + cardno + "]在会议:"+errconfname+"中已存在!";
+ String errconfname = checkConfTimeError(conference.getAttendtime(), conference.getEndtime(), conference.getConfdate(), cardno);
+ if (!StringUtil.isEmpty(errconfname)) {
+ msg += ",市民卡号[" + cardno + "]在会议:" + errconfname + "中已存在!";
}
if (!StringUtil.isEmpty(msg)) {
errmsgList.add("第" + (n + 1) + "行数据错误" + msg);
} else {
- String atttype=ConferenceConstant.ATTTYPE_SELF;
- String custid=customer.getCustid();
+ String atttype = ConferenceConstant.ATTTYPE_SELF;
+ String custid = customer.getCustid();
saveNewConfPeople(confid, cardno, name, atttype, custid);
successCardnos.add(cardno);
@@ -393,31 +393,31 @@
List<String> successCardnos = new ArrayList<>(0);
List<String> errmsgList = new ArrayList<>(0);
- for (String card :cardnos) {
+ for (String card : cardnos) {
String msg = "";
- TCustomerInfo customer=new TCustomerInfo();
- List<TCustomerInfo> customerlist = webInterfaceService.getAllTCustomerList(null,card,null);
+ TCustomerInfo customer = new TCustomerInfo();
+ List<TCustomerInfo> customerlist = webInterfaceService.getAllTCustomerList(null, card, null);
- if(customerlist.size()>0){
- customer=customerlist.get(0);
- }else{
- msg+=",对应用户不存在";
+ if (customerlist.size() > 0) {
+ customer = customerlist.get(0);
+ } else {
+ msg += ",对应用户不存在";
}
- TConference conference=conferenceDao.findByConfid(confid);
- if(null==conference){
- msg+=",会议不存在";
+ TConference conference = conferenceDao.findByConfid(confid);
+ if (null == conference) {
+ msg += ",会议不存在";
}
- String errconfname=checkConfTimeError(conference.getAttendtime(),conference.getEndtime(),conference.getConfdate(),card);
- if(!StringUtil.isEmpty(errconfname)){
- msg += ",市民卡号[" + card + "]在会议:"+errconfname+"中已存在!";
+ String errconfname = checkConfTimeError(conference.getAttendtime(), conference.getEndtime(), conference.getConfdate(), card);
+ if (!StringUtil.isEmpty(errconfname)) {
+ msg += ",市民卡号[" + card + "]在会议:" + errconfname + "中已存在!";
}
if (!StringUtil.isEmpty(msg)) {
errmsgList.add(",市民卡号[" + card + "]错误" + msg);
- } else{
- String atttype=ConferenceConstant.ATTTYPE_SELF;
- String custid=customer.getCustid();
- saveNewConfPeople(confid,customer.getCardno(),customer.getCustname(),atttype,custid);
+ } else {
+ String atttype = ConferenceConstant.ATTTYPE_SELF;
+ String custid = customer.getCustid();
+ saveNewConfPeople(confid, customer.getCardno(), customer.getCustname(), atttype, custid);
}
@@ -474,24 +474,24 @@
@Override
public List<TConfDtl> getUnupdateConfDtl() {
- List<TConfDtl> dtl=confDtlDao.findByUpdateflag(ConferenceConstant.CONFDTL_STATUS_UNUPDATE);
- if(!StringUtil.isEmpty(dtl)){
+ List<TConfDtl> dtl = confDtlDao.findByUpdateflag(ConferenceConstant.CONFDTL_STATUS_UNUPDATE);
+ if (!StringUtil.isEmpty(dtl)) {
return dtl;
}
return null;
}
@Override
- public List<ConferenceApiBean> getConferneceForDevice(String confdate,Integer deviceid) {
- StringBuffer querySql=new StringBuffer("select a.confid,a.confname,a.conftype," +
+ public List<ConferenceApiBean> getConferneceForDevice(String confdate, Integer deviceid) {
+ StringBuffer querySql = new StringBuffer("select a.confid,a.confname,a.conftype," +
"a.confdate,a.status,a.starttime,a.endtime,a.attendtime,c.devname as confarea from tb_conference a " +
"left join tb_conference_devbind b on a.confid=b.confid " +
"left join t_nc_device c on b.deviceid=c.deviceid " +
"where a.confdate=:confdate and c.deviceid=:deviceid");
Query query = entityManager.createNativeQuery(querySql.toString());
- query.setParameter("confdate",confdate);
- query.setParameter("deviceid",deviceid);
+ query.setParameter("confdate", confdate);
+ query.setParameter("deviceid", deviceid);
query.unwrap(NativeQueryImpl.class).setResultTransformer(Transformers.aliasToBean(ConferenceApiBean.class));
List<ConferenceApiBean> list = query.getResultList();
return list;
@@ -499,7 +499,7 @@
@Override
public TNolistConfPeople saveNolistConfPeople(TNolistConfPeople people) {
- return nolistConfPeopleDao.save(people) ;
+ return nolistConfPeopleDao.save(people);
}
@Override
@@ -515,13 +515,13 @@
@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){
+ if (ConferenceConstant.CONFTYPE_NOLIST.equals(conftype)) {
+ TNolistConfPeople people = nolistConfPeopleDao.getOne(pid);
+ if (null == people) {
return JsonResult.error("修改失败,未查询到该用户");
}
- TConference conf=conferenceDao.findByConfid(people.getConfid());
- if(null==conf){
+ TConference conf = conferenceDao.findByConfid(people.getConfid());
+ if (null == conf) {
return JsonResult.error("修改失败,会议不存在");
}
@@ -530,35 +530,35 @@
people.setRemark(remark);
nolistConfPeopleDao.save(people);
- }else{
- TConfPeople people=confPeopleDao.getOne(pid);
- if(null==people){
+ } else {
+ TConfPeople people = confPeopleDao.getOne(pid);
+ if (null == people) {
return JsonResult.error("修改失败,未查询到该用户");
}
- TConference conf=conferenceDao.findByConfid(people.getConfid());
- if(null==conf){
+ TConference conf = conferenceDao.findByConfid(people.getConfid());
+ if (null == conf) {
return JsonResult.error("修改失败,会议不存在");
}
- if(null!=people.getAtttime()){
+ if (null != people.getAtttime()) {
return JsonResult.error("已签到人员不可修改状态");
}
- if(ConferenceConstant.ATTENDSTATUS_INSTEAD.equals(attstatus)){
- if(ConferenceConstant.CONFSTATUS_OVER.equals(conf.getStatus())||ConferenceConstant.CONFSTATUS_START.equals(conf.getStatus())){
+ if (ConferenceConstant.ATTENDSTATUS_INSTEAD.equals(attstatus)) {
+ if (ConferenceConstant.CONFSTATUS_OVER.equals(conf.getStatus()) || ConferenceConstant.CONFSTATUS_START.equals(conf.getStatus())) {
return JsonResult.error("已开始或结束的会议不能代签");
}
- List<TCustomerInfo> clist=customerDao.getAllTCustomerList("","","",insteadcustid);
- if(clist.size()<=0){
+ List<TCustomerInfo> clist = customerDao.getAllTCustomerList("", "", "", insteadcustid);
+ if (clist.size() <= 0) {
return JsonResult.error("代签人员不存在");
}
- TCustomerInfo cust=clist.get(0);
- saveNewConfPeople(conf.getConfid(),cust.getCardno(),cust.getCustname(),ConferenceConstant.ATTTYPE_INSTEAD,insteadcustid);
+ TCustomerInfo cust = clist.get(0);
+ saveNewConfPeople(conf.getConfid(), cust.getCardno(), cust.getCustname(), ConferenceConstant.ATTTYPE_INSTEAD, insteadcustid);
}
people.setInsteadcustid(insteadcustid);
people.setAttstatus(attstatus);
people.setRemark(remark);
- if(ConferenceConstant.ATTENDSTATUS_HANDCHECK.equals(attstatus)){
+ if (ConferenceConstant.ATTENDSTATUS_HANDCHECK.equals(attstatus)) {
people.setAtttime("----");
}
confPeopleDao.save(people);
@@ -569,29 +569,29 @@
}
@Override
- public PageResult<ConfpeopleShowBean> getConfPeoplePage(Integer confid, String attstatus,String atttype, int pageNo, int pageSize) {
- TConference conf=conferenceDao.findByConfid(confid);
- if(null==conf){
+ public PageResult<ConfpeopleShowBean> getConfPeoplePage(Integer confid, String attstatus, String atttype, int pageNo, int pageSize) {
+ TConference conf = conferenceDao.findByConfid(confid);
+ if (null == conf) {
return new PageResult<>(99, "会议不存在");
}
- String table="tb_conf_people";
+ String table = "tb_conf_people";
- if(ConferenceConstant.CONFTYPE_NOLIST.equals(conf.getConftype())){
- table="tb_nolist_conf_people";
+ if (ConferenceConstant.CONFTYPE_NOLIST.equals(conf.getConftype())) {
+ 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,e.custname as insteadcustname,b.atttype from "+table+" b " +
+ 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,e.custname as insteadcustname,b.atttype 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 " +
"left join t_customer e on b.insteadcustid=e.custid " +
"where b.confid=:confid and b.atttype!='temp' " +
"union " +
- "select a.confid,a.confname,b.custname,b.cardno,b.remark as deptname,b.attstatus,b.atttime,b.custid,b.pid,'临时人员' as remark,'' as insteadcustid,a.conftype,'' as insteadcustname,b.atttype from "+table+" b " +
+ "select a.confid,a.confname,b.custname,b.cardno,b.remark as deptname,b.attstatus,b.atttime,b.custid,b.pid,'临时人员' as remark,'' as insteadcustid,a.conftype,'' as insteadcustname,b.atttype from " + table + " b " +
"left join tb_conference a on a.confid=b.confid " +
- "where b.confid=:confid and b.atttype='temp' " );
+ "where b.confid=:confid and b.atttype='temp' ");
- StringBuffer countSql = new StringBuffer("select count(*) from "+table+" b " +
+ 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 " +
@@ -611,8 +611,8 @@
Query query = entityManager.createNativeQuery(querySql.toString());
Query countQuery = entityManager.createNativeQuery(countSql.toString());
- query.setParameter("confid",confid);
- countQuery.setParameter("confid",confid);
+ query.setParameter("confid", confid);
+ countQuery.setParameter("confid", confid);
if (!StringUtil.isEmpty(attstatus)) {
query.setParameter("attstatus", attstatus);
countQuery.setParameter("attstatus", attstatus);
@@ -626,67 +626,101 @@
}
@Override
- public PageResult<ConfpeopleReportBean> getConfPeopleReport(Integer confid,String searchkey, String attstatus, String deptcode,String attflag) {
- TConference conf=conferenceDao.findByConfid(confid);
- if(null==conf){
+ public PageResult<ConfpeopleReportBean> getConfPeopleReport(Integer confid, String searchkey, String attstatus, String deptcode, String attflag) {
+ TConference conf = conferenceDao.findByConfid(confid);
+ if (null == conf) {
return null;
}
- String table="tb_conf_people";
+ String table = "tb_conf_people";
- if(ConferenceConstant.CONFTYPE_NOLIST.equals(conf.getConftype())){
- table="tb_nolist_conf_people";
+ if (ConferenceConstant.CONFTYPE_NOLIST.equals(conf.getConftype())) {
+ table = "tb_nolist_conf_people";
}
- StringBuffer querySql=new StringBuffer("select b.custname,d.deptname,b.attstatus,b.atttime,b.remark,e.custname as insteadcustname,b.atttype from "+table+" b " +
+ StringBuffer querySql = new StringBuffer("select b.custname,d.deptname,b.attstatus,b.atttime,b.remark,e.custname as insteadcustname,b.atttype 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 " +
"left join t_customer e on b.insteadcustid=e.custid " +
- "where b.confid=:confid and b.atttime is "+attflag +" null and b.atttype !='temp' " );
- if(!StringUtil.isEmpty(attflag)){
+ "where b.confid=:confid and b.atttime is " + attflag + " null and b.atttype !='temp' ");
+ if (!StringUtil.isEmpty(attflag)) {
querySql.append("union " +
- "select b.custname,b.remark as deptname,b.attstatus,b.atttime,'' as remark,'' as insteadcustname,b.atttype from "+table+" b " +
+ "select b.custname,b.remark as deptname,b.attstatus,b.atttime,'' as remark,'' as insteadcustname,b.atttype from " + table + " b " +
"where b.confid=:confid and b.atttype ='temp' ");
}
if (!StringUtil.isEmpty(attstatus)) {
querySql.append(" and b.attstatus=:attstatus ");
}
- if(!StringUtil.isEmpty(deptcode)){
- List<String> deptlist=customerDao.getChildDeptlist(deptcode);
- if(!StringUtil.isEmpty(deptlist)){
- querySql.append(" and d.deptcode in ('"+ StringUtils.join(deptlist.toArray(),"','")+"') ");
+
+ if (!StringUtil.isEmpty(deptcode)) {
+ List<String> deptlist = customerDao.getChildDeptlist(deptcode);
+ if (!StringUtil.isEmpty(deptlist)) {
+ querySql.append(" and d.deptcode in ('" + StringUtils.join(deptlist.toArray(), "','") + "') ");
}
}
- if(!StringUtil.isEmpty(searchkey)){
+ if (!StringUtil.isEmpty(searchkey)) {
querySql.append("and b.custname=:searchkey");
}
- querySql.append(" order by atttime ");
+ querySql.append(" order by deptname");
-
+ System.out.println(querySql.toString());
Query query = entityManager.createNativeQuery(querySql.toString());
- query.setParameter("confid",confid);
- if(!StringUtil.isEmpty(searchkey)){
+ query.setParameter("confid", confid);
+ if (!StringUtil.isEmpty(searchkey)) {
query.setParameter("searchkey", searchkey);
}
- if(!StringUtil.isEmpty(attstatus)){
+ if (!StringUtil.isEmpty(attstatus)) {
query.setParameter("attstatus", attstatus);
}
query.unwrap(NativeQueryImpl.class).setResultTransformer(Transformers.aliasToBean(ConfpeopleReportBean.class));
List<ConfpeopleReportBean> list = query.getResultList();
- return new PageResult<>(list);
+ return new PageResult<>(list);
}
+ @Override
+ public PageResult<ConfpeopleReportBean> getConfPeopleReportForPrint(Integer confid) {
+ TConference conf = conferenceDao.findByConfid(confid);
+ if (null == conf) {
+ return null;
+ }
+ String table = "tb_conf_people";
+
+ if (ConferenceConstant.CONFTYPE_NOLIST.equals(conf.getConftype())) {
+ table = "tb_nolist_conf_people";
+ }
+
+ StringBuffer querySql = new StringBuffer("select b.custname,d.deptname,b.attstatus,b.atttime,b.remark,e.custname as insteadcustname,b.atttype 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 " +
+ "left join t_customer e on b.insteadcustid=e.custid " +
+ "where b.confid=:confid and b.atttype !='temp' ");
+ querySql.append("union " +
+ "select b.custname,b.remark as deptname,b.attstatus,b.atttime,'' as remark,'' as insteadcustname,b.atttype from " + table + " b " +
+ "where b.confid=:confid and b.atttype ='temp' ");
+
+ querySql.append(" order by deptname");
+
+ System.out.println(querySql.toString());
+
+ Query query = entityManager.createNativeQuery(querySql.toString());
+ query.setParameter("confid", confid);
+
+ query.unwrap(NativeQueryImpl.class).setResultTransformer(Transformers.aliasToBean(ConfpeopleReportBean.class));
+ List<ConfpeopleReportBean> list = query.getResultList();
+ return new PageResult<>(list);
+ }
@Override
public TConfPeople getTConfPeopleByConfidAndCustid(Integer confid, String custid) {
- return confPeopleDao.findByConfidAndCustid(confid,custid);
+ return confPeopleDao.findByConfidAndCustid(confid, custid);
}
@Override
public TNolistConfPeople getNolistConfPeopleByConfidAndCustid(Integer confid, String custid) {
- return nolistConfPeopleDao.findByConfidAndCustid(confid,custid);
+ return nolistConfPeopleDao.findByConfidAndCustid(confid, custid);
}
@@ -696,7 +730,7 @@
list.add(ConferenceConstant.ATTENDSTATUS_CHECKED);
list.add(ConferenceConstant.ATTENDSTATUS_HANDCHECK);
list.add(ConferenceConstant.ATTENDSTATUS_LATE);
- return confPeopleDao.countByConfidAndAttstatusInAndAtttypeNot(confid,list,ConferenceConstant.ATTTYPE_TEMP);
+ return confPeopleDao.countByConfidAndAttstatusInAndAtttypeNot(confid, list, ConferenceConstant.ATTTYPE_TEMP);
}
@Override
@@ -705,7 +739,7 @@
list.add(ConferenceConstant.ATTENDSTATUS_INSTEAD);
list.add(ConferenceConstant.ATTENDSTATUS_CLOSED);
- return confPeopleDao.countByConfidAndAttstatusNotInAndAtttypeNot(confid,list,ConferenceConstant.ATTTYPE_TEMP);
+ return confPeopleDao.countByConfidAndAttstatusNotInAndAtttypeNot(confid, list, ConferenceConstant.ATTTYPE_TEMP);
}
@Override
@@ -715,7 +749,7 @@
@Override
public List<ConfPeopleApiBean> getConfPeopleListByDevphyid(String devphyid, String confdate) {
- StringBuffer querySql=new StringBuffer("select a.custname,a.attstatus,a.atttime from tb_conf_people a " +
+ StringBuffer querySql = new StringBuffer("select a.custname,a.attstatus,a.atttime from tb_conf_people a " +
"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 " +
@@ -729,8 +763,8 @@
Query query = entityManager.createNativeQuery(querySql.toString());
- query.setParameter("devphyid",devphyid);
- query.setParameter("confdate",confdate);
+ query.setParameter("devphyid", devphyid);
+ query.setParameter("confdate", confdate);
query.unwrap(NativeQueryImpl.class).setResultTransformer(Transformers.aliasToBean(ConfPeopleApiBean.class));
List<ConfPeopleApiBean> list = query.getResultList();
return list;
@@ -738,21 +772,21 @@
@Override
public List<ConfPeopleApiBean> getConfPeopleListByConfid(Integer confid, String conftype) {
- String table="tb_conf_people";
- if(ConferenceConstant.CONFTYPE_NOLIST.equals(conftype)){
- table="tb_nolist_conf_people";
+ String table = "tb_conf_people";
+ if (ConferenceConstant.CONFTYPE_NOLIST.equals(conftype)) {
+ table = "tb_nolist_conf_people";
}
- StringBuffer querySql=new StringBuffer("select a.custname,a.attstatus,a.atttime,c.deptname,d.custtypename from "+table+" a " +
+ StringBuffer querySql = new StringBuffer("select a.custname,a.attstatus,a.atttime,c.deptname,d.custtypename from " + table + " a " +
"left join t_customer b on a.custid=b.custid " +
"left join tb_dept c on b.deptcode=c.deptcode " +
- "left join tb_custtype d on b.custtypeid=d.custtypeid "+
- "where a.atttime is not null and a.atttype != 'temp' and a.confid=:confid " +
- "UNION "+
+ "left join tb_custtype d on b.custtypeid=d.custtypeid " +
+ "where a.atttime is not null and a.atttype != 'temp' and a.confid=:confid " +
+ "UNION " +
"select a.custname,a.attstatus,a.atttime,a.remark as deptname," +
- "'临时人员' as custtypename from "+table+" a "+
+ "'临时人员' as custtypename from " + table + " a " +
"where confid=:confid and a.atttype='temp'");
Query query = entityManager.createNativeQuery(querySql.toString());
- query.setParameter("confid",confid);
+ query.setParameter("confid", confid);
query.unwrap(NativeQueryImpl.class).setResultTransformer(Transformers.aliasToBean(ConfPeopleApiBean.class));
List<ConfPeopleApiBean> list = query.getResultList();
return list;
@@ -760,7 +794,7 @@
}
- private String checkConfTimeError(String attendtime, String endtime,String confdate,String cardno) {
+ 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 " +
"and (a.status='unstart' or a.status='start') " +
"and b.cardno=:cardno " +
@@ -771,13 +805,13 @@
query.setParameter("attendtime", attendtime);
query.setParameter("endtime", endtime);
List<String> confname = query.getResultList();
- if(!StringUtil.isEmpty(confname)){
+ if (!StringUtil.isEmpty(confname)) {
return confname.get(0);
}
return null;
}
- private String checkTimeErrorDevice(String attendtime, String endtime,String confdate,Integer deviceid) {
+ private String checkTimeErrorDevice(String attendtime, String endtime, String confdate, Integer deviceid) {
Query query = entityManager.createNativeQuery("select c.devname from tb_conference a " +
"left join tb_conference_devbind b on a.confid=b.confid " +
"left join t_nc_device c on b.deviceid=c.deviceid " +
@@ -790,7 +824,7 @@
query.setParameter("attendtime", attendtime);
query.setParameter("endtime", endtime);
List<String> confname = query.getResultList();
- if(!StringUtil.isEmpty(confname)){
+ if (!StringUtil.isEmpty(confname)) {
return confname.get(0);
}
return null;
@@ -802,7 +836,7 @@
"on p.custid=t.custid left join tb_dept d on d.deptcode=t.deptcode where confid=:confid)");
query.setParameter("confid", confid);
BigInteger cnt = (BigInteger) query.getSingleResult();
- System.out.println("cnt:::"+cnt);
+ System.out.println("cnt:::" + cnt);
return cnt.intValue();
}
diff --git a/src/main/kotlin/com/supwisdom/dlpay/security.kt b/src/main/kotlin/com/supwisdom/dlpay/security.kt
index b823768..9b5eaa6 100644
--- a/src/main/kotlin/com/supwisdom/dlpay/security.kt
+++ b/src/main/kotlin/com/supwisdom/dlpay/security.kt
@@ -203,7 +203,7 @@
.antMatchers("/login", "/login/form","/app/**").permitAll()
.antMatchers("/static/**").permitAll()
.antMatchers("/code/image").permitAll()
- .antMatchers("/confreport/print").permitAll()
+ .antMatchers("/confreport/print/**").permitAll()
.antMatchers("/atte/print/**").permitAll()
.antMatchers("/**").hasAnyRole("USER", "ADMIN")
.anyRequest().authenticated()
diff --git a/src/main/resources/templates/confreport/detail.html b/src/main/resources/templates/confreport/detail.html
index 7d94f42..0663470 100644
--- a/src/main/resources/templates/confreport/detail.html
+++ b/src/main/resources/templates/confreport/detail.html
@@ -19,10 +19,13 @@
</div>
姓名:
<input id="search-confreport-searchkey" type="text" class="layui-input search-input"
- maxlength="20" style="width: 200px;" placeholder="输入姓名"/> 
+ maxlength="20" style="width: 100px;" placeholder="输入姓名"/> 
<button id="btn-search-confreport-att" class="layui-btn icon-btn"><i
class="layui-icon"></i>搜索
</button>
+ <button id="btn-print-confreport-att" class="layui-btn icon-btn"><i
+ class="layui-icon"></i>打印
+ </button>
<table class="layui-table" id="confreport-table"
lay-filter="confreport-table-filter"></table>
</div>
@@ -41,11 +44,10 @@
</div>
姓名:
<input id="search-confreport-searchkey-unatt" type="text" class="layui-input search-input"
- maxlength="20" style="width: 200px;" placeholder="输入姓名"/> 
+ maxlength="20" style="width: 100px;" placeholder="输入姓名"/> 
<button id="btn-search-confreport-unatt" class="layui-btn icon-btn"><i
class="layui-icon"></i>搜索
</button>
-
<table class="layui-table" id="confreport-table-unatt"
lay-filter="confreport-table-filter"></table>
</div>
@@ -259,6 +261,33 @@
}
});
});
+ $('#btn-print-confreport-att').click(function () {
+ var data = admin.getTempData('confdetail');
+
+
+ var actualcnt = data.actualcnt;
+ var totcnt = data.totcnt;
+ var attendrate = data.attendrate;
+ var confid=data.confid;
+ var confdate=data.confdate;
+ var confname=data.confname;
+ var opercode=admin.getTempData('opercode');
+
+ var url = '/confreport/print/printatt?confid=' + confid + '&attendrate=' + attendrate +
+ '&totcnt=' + totcnt + '&actualcnt=' + actualcnt+'&confdate=' + confdate+'&confname=' + confname+'&opercode=' + opercode;
+
+ LODOP = getLodop();
+ LODOP.PRINT_INIT("会议报表");
+ LODOP.SET_PRINT_PAGESIZE(2, 0, 0,"A4");
+ LODOP.ADD_PRINT_URL(30, 20, "95%", "90%", encodeURI(url));
+ LODOP.ADD_PRINT_HTM("95%", "48%", 150, 50, "<font style='font-size:12px'><span tdata='pageNO'>##</span>/<span tdata='pageCount'> ##</span></font>");
+ LODOP.SET_PRINT_STYLEA(0, "ItemType", 1);
+ LODOP.SET_PRINT_STYLEA(0, "HOrient", 3);
+ LODOP.SET_PRINT_STYLEA(0, "VOrient", 3);
+ LODOP.SET_SHOW_MODE("NP_NO_RESULT", true);
+ LODOP.SET_PRINT_MODE("FULL_WIDTH_FOR_OVERFLOW",true);
+ LODOP.PREVIEW();
+ });
});
</script>
\ No newline at end of file
diff --git a/src/main/resources/templates/confreport/index.html b/src/main/resources/templates/confreport/index.html
index 5da8028..8470a3c 100644
--- a/src/main/resources/templates/confreport/index.html
+++ b/src/main/resources/templates/confreport/index.html
@@ -151,10 +151,10 @@
var confname = $("#search-confreport-confname").val();
var startdate = $("#search-confreport-startdate").val();
var enddate = $("#search-confreport-enddate").val();
- var url = '/confreport/print?startdate=' + startdate + '&enddate=' + enddate + '&conftype=' + conftype + '&confname=' + confname+ '&opercode=' + opercode;
+ var url = '/confreport/print/print?startdate=' + startdate + '&enddate=' + enddate + '&conftype=' + conftype + '&confname=' + confname+ '&opercode=' + opercode;
LODOP = getLodop();
- LODOP.PRINT_INIT("考勤报表");
+ LODOP.PRINT_INIT("会议报表");
LODOP.SET_PRINT_PAGESIZE(2, 0, 0,"A4");
LODOP.ADD_PRINT_URL(30, 20, "95%", "90%", encodeURI(url));
LODOP.ADD_PRINT_HTM("95%", "48%", 150, 50, "<font style='font-size:12px'><span tdata='pageNO'>##</span>/<span tdata='pageCount'> ##</span></font>");
@@ -171,7 +171,10 @@
//监听单元格
table.on('tool(confreportTable-filter)', function (obj) {
var data = obj.data;
+ var opercode = $("#confreport-opercode").val();
if ('detail' == obj.event) {
+ admin.putTempData('confdetail', data);
+ admin.putTempData('opercode',opercode)
admin.popupCenter({
title: data.confname,
path: '[[@{/confreport/load4detail}]]?confid=' + data.confid,
diff --git a/src/main/resources/templates/confreport/print/attindex.html b/src/main/resources/templates/confreport/print/attindex.html
new file mode 100644
index 0000000..6529dfd
--- /dev/null
+++ b/src/main/resources/templates/confreport/print/attindex.html
@@ -0,0 +1,129 @@
+<!DOCTYPE html>
+<html xmlns:th="http://www.thymeleaf.org" xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity4">
+<head>
+ <meta charset="UTF-8">
+ <title>会议签到报表</title>
+
+ <link rel="stylesheet" th:href="@{/static/libs/layui/css/layui.css}"/>
+ <link rel="stylesheet" th:href="@{/static/custom/css/custom.css}"/>
+</head>
+<body>
+<div class="layui-card">
+ <div class="layui-card-header" style="text-align: center;">
+ <h1 th:text="${confname+'签到人员表'}"></h1>
+ </div>
+ <div class="layui-card-body">
+ <div class="layui-form toolbar">
+ <div style="float: left;padding-left: 10px;font-size:16px" th:text="${'日期:'+ confdate }"></div>
+ <span style="float: left;padding-left: 10px;font-size:16px" th:text="${'名单人数:'+totcnt}"></span>
+ <span style="float: left;padding-left: 10px;font-size:16px" th:text="${'参会人数:'+actualcnt }"></span>
+ <span style="float: left;padding-left: 10px;font-size:16px" th:text="${'参会率:'+attendrate }"></span>
+ </div>
+ <table class="layui-table sw-table sw-print">
+ <thead>
+ <tr>
+ <th style="text-align: center;">姓名</th>
+ <th style="text-align: center;">部门</th>
+ <th style="text-align: center;">签到时间</th>
+ <th style="text-align: center;">签到方式</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr th:if="${null==showlist || showlist.size()==0}">
+ <td colspan="13">无数据</td>
+ </tr>
+ <div th:remove="tag" th:if="${null!=showlist && showlist.size()>0}" th:each="data:${showlist}"
+ >
+ <tr>
+ <td th:text="${data.custname}"></td>
+ <td th:text="${data.deptname}"></td>
+ <div th:switch="${data.attstatus}">
+ <div th:case="'uncheck'">
+ <td>未签到</td>
+ </div>
+ <div th:case="'checked'">
+ <td>已签到</td>
+ </div>
+ <div th:case="'handcheck'">
+ <td>手工签到</td>
+ </div>
+ <div th:case="'closed'">
+ <td>关闭</td>
+ </div>
+ <div th:case="'late'">
+ <td>迟到</td>
+ </div>
+ <div th:case="'instead'">
+ <td>被代签</td>
+ </div>
+ </div>
+
+ <div th:switch="${data.atttype}">
+ <div th:case="'instead'">
+ <td>代签</td>
+ </div>
+ <div th:case="'self'">
+ <td>实签</td>
+ </div>
+ <div th:case="'temp'">
+ <td>临时</td>
+ </div>
+ </div>
+
+ </tr>
+
+ </div>
+ <!--<div th:if="${null!=sum}">
+ <tr>
+ <td colspan="4" >合计:</td>
+ <td th:text="${sum.cnt1}"></td>
+ <td th:text="${sum.cnt2}"></td>
+ <td th:text="${sum.cnt3}"></td>
+ <td th:text="${sum.cnt4}"></td>
+ <td th:text="${sum.cnts}"></td>
+ </tr>
+ </div>-->
+ </tbody>
+ </table>
+ <!--<div class="layui-form toolbar">-->
+ <!--<div style="float: left;padding-left: 3px;" th:text="${'制表人:'+opername+' '+ printdatetime}"></div>-->
+ <!--</div>-->
+ </div>
+ <div class="layui-card-body" style="margin-top: 25px;">
+ <div class="col-sm-12">
+ <table width="100%">
+ <tr style="height: 25px;">
+ <td width="12%" style="text-align: right;padding-right: 5px;"></td>
+ <td width="18%"
+ style="text-align: left;" ></td>
+ <td width="5%"> </td>
+ <td width="12%" style="text-align: right;padding-right: 5px;">制表人:</td>
+ <td width="18%"
+ style="text-align: left;border-bottom: 1px solid #666;" th:text="${opername}"></td>
+ <td width="5%"> </td>
+ <td width="12%" style="text-align: right;padding-right: 5px;">制表日期:</td>
+ <td width="18%"
+ style="text-align: left;border-bottom: 1px solid #666;" th:text="${printdatetime}">
+ </td>
+ </tr>
+ <tr style="height: 25px;"></tr>
+ <tr style="height: 25px;">
+ <td width="12%" style="text-align: right;padding-right: 5px;"></td>
+ <td width="18%"
+ style="text-align: left;" ></td>
+ <td width="5%"> </td>
+ <td width="12%" style="text-align: right;padding-right: 5px;">审核人签字:</td>
+ <td width="18%"
+ style="text-align: left;border-bottom: 1px solid #666;"></td>
+ <td width="5%"> </td>
+ <td width="12%" style="text-align: right;padding-right: 5px;">盖章:</td>
+ <td width="18%"
+ style="text-align: left;border-bottom: 1px solid #666;">
+ </td>
+ </tr>
+ </table>
+ </div>
+ </div>
+</div>
+</body>
+</html>
\ No newline at end of file