Browse Source

新增邀请注册增加时间筛选,最近物料上传时间

hejq 7 years ago
parent
commit
b7a5435dcd

+ 8 - 8
src/main/java/com/uas/platform/b2bManage/controller/InviteController.java

@@ -3,12 +3,12 @@ package com.uas.platform.b2bManage.controller;
 import com.uas.platform.b2bManage.core.support.SystemSession;
 import com.uas.platform.b2bManage.model.Invite;
 import com.uas.platform.b2bManage.model.UseType;
-import com.uas.platform.b2bManage.page.PageInfo;
-import com.uas.platform.b2bManage.page.PageParams;
 import com.uas.platform.b2bManage.service.InviteService;
 import com.uas.platform.b2bManage.service.UseLogService;
 import com.uas.platform.b2bManage.support.JxlsExcelView;
 import com.uas.platform.b2bManage.web.BaseController;
+import com.uas.platform.core.model.PageInfo;
+import com.uas.platform.core.model.PageParams;
 import com.uas.platform.core.util.AgentUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
@@ -16,11 +16,11 @@ import org.springframework.data.domain.Sort;
 import org.springframework.util.StringUtils;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.servlet.ModelAndView;
 
 import javax.servlet.http.HttpServletRequest;
+import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.Date;
 
@@ -49,15 +49,15 @@ public class InviteController extends BaseController {
      * @return
      */
     @RequestMapping(value = "/list", method = RequestMethod.GET)
-    public Page<Invite> findByPageInfo(PageParams params, String keyword, HttpServletRequest request) {
+    public Page<Invite> findByPageInfo(PageParams params, String keyword, HttpServletRequest request, String fromDate, String endDate) throws ParseException {
         PageInfo info = new PageInfo(params);
-        Sort sort = new Sort(Sort.Direction.DESC, "inviteEnName", "inviteUserName");
+        Sort sort = new Sort(Sort.Direction.DESC, "enDate");
         info.setSort(sort);
         if (!StringUtils.isEmpty(keyword)) {
             keyword = keyword.trim();
         }
         useLogService.appendLog(UseType.UAS_INVITE_SEARCH.code(), keyword, AgentUtils.getIp(request));
-        return inviteService.findInviteByPageInfo(info, keyword);
+        return inviteService.findInviteByPageInfo(info, keyword, fromDate, endDate);
     }
 
     /**
@@ -68,13 +68,13 @@ public class InviteController extends BaseController {
      * @return
      */
     @RequestMapping(value = "/xls", method = RequestMethod.GET )
-    public ModelAndView exportInvites(String keyword, HttpServletRequest request) {
+    public ModelAndView exportInvites(String keyword, HttpServletRequest request, String fromDate, String endDate) throws ParseException {
         PageParams params = new PageParams();
         params.setPage(1);
         params.setCount(JxlsExcelView.MAX_SIZE);
         SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分");
         ModelAndView modelAndView = new ModelAndView();
-        Page<Invite> invites = findByPageInfo(params, keyword, request);
+        Page<Invite> invites = findByPageInfo(params, keyword, request, fromDate, endDate);
         modelAndView.addObject("time", dateFormat.format(new Date(System.currentTimeMillis())));
         modelAndView.addObject("user", SystemSession.getUser().getFullName());
         modelAndView.addObject("count",

+ 13 - 0
src/main/java/com/uas/platform/b2bManage/model/Invite.java

@@ -73,6 +73,12 @@ public class Invite implements Serializable {
     @Transient
     private Integer productCount;
 
+    /**
+     * 最近一次物料上传时间
+     */
+    @Transient
+    private Date lastProductDate;
+
     public Long getUu() {
         return uu;
     }
@@ -145,4 +151,11 @@ public class Invite implements Serializable {
         this.productCount = productCount;
     }
 
+    public Date getLastProductDate() {
+        return lastProductDate;
+    }
+
+    public void setLastProductDate(Date lastProductDate) {
+        this.lastProductDate = lastProductDate;
+    }
 }

+ 7 - 2
src/main/java/com/uas/platform/b2bManage/service/InviteService.java

@@ -1,9 +1,11 @@
 package com.uas.platform.b2bManage.service;
 
 import com.uas.platform.b2bManage.model.Invite;
-import com.uas.platform.b2bManage.page.PageInfo;
+import com.uas.platform.core.model.PageInfo;
 import org.springframework.data.domain.Page;
 
+import java.text.ParseException;
+
 /**
  * 邀请注册
  *
@@ -17,7 +19,10 @@ public interface InviteService {
      *
      * @param info 分页信息
      * @param keyword 关键词
+     * @param fromDate 开始日期
+     * @param endDate 截止日期
      * @return
+     * @throws ParseException
      */
-    Page<Invite> findInviteByPageInfo(PageInfo info, String keyword);
+    Page<Invite> findInviteByPageInfo(PageInfo info, String keyword, String fromDate, String endDate) throws ParseException;
 }

+ 10 - 0
src/main/java/com/uas/platform/b2bManage/service/impl/BaseService.java

@@ -3,6 +3,10 @@ package com.uas.platform.b2bManage.service.impl;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.jdbc.core.JdbcTemplate;
 
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
 /**
  * @author hejq
  * @date 2018-07-10 16:39
@@ -19,4 +23,10 @@ public class BaseService {
      */
     @Autowired
     public JdbcTemplate jdbcTemplate;
+
+    /**
+     * yyyy-mm-dd 日期格式
+     */
+    static final SimpleDateFormat SIMPLE_DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd");
+
 }

+ 0 - 4
src/main/java/com/uas/platform/b2bManage/service/impl/ErrorLogServiceImpl.java

@@ -1,14 +1,11 @@
 package com.uas.platform.b2bManage.service.impl;
 
 import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
 import com.uas.platform.b2bManage.core.util.StringUtils;
 import com.uas.platform.b2bManage.dao.ErrorLogDao;
 import com.uas.platform.b2bManage.dao.NotExistOrdersDao;
 import com.uas.platform.b2bManage.dao.NotExistProductDao;
 import com.uas.platform.b2bManage.model.ErrorLog;
-import com.uas.platform.b2bManage.model.NotExistOrders;
-import com.uas.platform.b2bManage.model.NotExistProduct;
 import com.uas.platform.b2bManage.service.ErrorLogService;
 import com.uas.platform.core.model.PageInfo;
 import com.uas.platform.core.persistence.criteria.CriterionExpression;
@@ -27,7 +24,6 @@ import javax.persistence.criteria.CriteriaQuery;
 import javax.persistence.criteria.Predicate;
 import javax.persistence.criteria.Root;
 import java.util.Date;
-import java.util.List;
 
 /**
  * B2B接口错误日志记录

+ 26 - 7
src/main/java/com/uas/platform/b2bManage/service/impl/InviteServiceImpl.java

@@ -2,13 +2,13 @@ package com.uas.platform.b2bManage.service.impl;
 
 import com.uas.platform.b2bManage.core.util.StringUtils;
 import com.uas.platform.b2bManage.dao.InviteDao;
-import com.uas.platform.b2bManage.model.EnterpriseBaseInfo;
 import com.uas.platform.b2bManage.model.Invite;
-import com.uas.platform.b2bManage.page.PageInfo;
-import com.uas.platform.b2bManage.page.criteria.CriterionExpression;
-import com.uas.platform.b2bManage.page.criteria.LogicalExpression;
-import com.uas.platform.b2bManage.page.criteria.SimpleExpression;
 import com.uas.platform.b2bManage.service.InviteService;
+import com.uas.platform.core.model.PageInfo;
+import com.uas.platform.core.persistence.criteria.CriterionExpression;
+import com.uas.platform.core.persistence.criteria.LogicalExpression;
+import com.uas.platform.core.persistence.criteria.PredicateUtils;
+import com.uas.platform.core.persistence.criteria.SimpleExpression;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
 import org.springframework.data.jpa.domain.Specification;
@@ -18,7 +18,9 @@ import javax.persistence.criteria.CriteriaBuilder;
 import javax.persistence.criteria.CriteriaQuery;
 import javax.persistence.criteria.Predicate;
 import javax.persistence.criteria.Root;
+import java.text.ParseException;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 
 
@@ -37,12 +39,15 @@ public class InviteServiceImpl extends BaseService implements InviteService {
     /**
      * 通过分页信息获取邀请注册记录
      *
-     * @param info    分页信息
+     * @param info 分页信息
      * @param keyword 关键词
+     * @param fromDate 开始日期
+     * @param endDate 截止日期
      * @return
+     * @throws ParseException
      */
     @Override
-    public Page<Invite> findInviteByPageInfo(final PageInfo info, String keyword) {
+    public Page<Invite> findInviteByPageInfo(final PageInfo info, String keyword, String fromDate, String endDate) throws ParseException {
         if (!StringUtils.isEmpty(keyword)) {
             SimpleExpression name = new SimpleExpression("enName", keyword, CriterionExpression.Operator.LIKE, true);
             SimpleExpression enBussinessCode = new SimpleExpression("enBussinessCode", keyword, CriterionExpression.Operator.LIKE, true);
@@ -63,6 +68,12 @@ public class InviteServiceImpl extends BaseService implements InviteService {
             LogicalExpression logical = new LogicalExpression(expressions, CriterionExpression.Operator.OR);
             info.expression(logical);
         }
+        if (!StringUtils.isEmpty(fromDate)) {
+            info.expression(PredicateUtils.gte("enDate", SIMPLE_DATE_FORMAT.parse(fromDate), false));
+        }
+        if (!StringUtils.isEmpty(endDate)) {
+            info.expression(PredicateUtils.lte("enDate", SIMPLE_DATE_FORMAT.parse(endDate), false));
+        }
         Page<Invite> invites = inviteDao.findAll(new Specification<Invite>() {
             @Override
             public Predicate toPredicate(Root<Invite> root, CriteriaQuery<?> query, CriteriaBuilder builder) {
@@ -73,6 +84,14 @@ public class InviteServiceImpl extends BaseService implements InviteService {
         for (Invite invite : invites) {
             Integer count = jdbcTemplate.queryForInt("select count(1) from products where pr_enuu = ?", invite.getUu());
             invite.setProductCount(count);
+            if (count >= 0) {
+                Date date = jdbcTemplate.queryForObject("select max(pr_erpdate) from products where pr_enuu = " + invite.getUu(), Date.class);
+                invite.setLastProductDate(date);
+            }
+            if (null == invite.getLastProductDate()) {
+                Date date = jdbcTemplate.queryForObject("select max(pr_create_time) from products where pr_enuu = " + invite.getUu(), Date.class);
+                invite.setLastProductDate(date);
+            }
         }
         return invites;
     }

BIN
src/main/resources/jxls-tpl/Invite.xls


+ 19 - 2
src/main/webapp/WEB-INF/views/normal/inviteList.html

@@ -67,6 +67,13 @@
     .null { color: magenta; }
     .key { color: green; }
 
+    .input-group {
+        width: 350px;
+        height: 38px;
+        margin-bottom: 10px;
+        float: right;
+        margin-left: 20px;
+    }
 </style>
 <div id="loadingDiv">
 	<div id="loadingImg">
@@ -109,10 +116,19 @@
 			<input id="inviteList-total" style="width: 100px; border:0;outline:0;background: #F7F7F8" readonly>
 		</div>
         <div class="input-group">
-            <input type="text" id="keyword" class="form-control" placeholder="请输入企业名称、邀请企业名称、邀请人、管理员搜索"><span class="input-group-addon" id="p_search">搜索</span>
+            <input type="text" id="keyword" class="form-control" placeholder="请输入企业名称、邀请企业名称、邀请人、管理员搜索">
+            <span class="input-group-addon" id="p_search">搜索</span>
         </div>
         <div class="edit"  style="float: left">
-            <button class="btn btn-success" id="export"><i class="fa fa-excel"></i>导出</button>
+            <button class="btn btn-success" id="export"><i class="fa file-excel-o"></i>导出</button>
+        </div>
+        <div class="input-group">
+           <input type="date" id="endDate" class="form-control">
+            <!--<span class="input-group-addon" id="endDate-btn"><i class="fa fa-calendar"></i></span>-->
+        </div>
+        <div class="input-group">
+            <input type="date" id="fromDate" class="form-control">
+            <!--<span class="input-group-addon" id="fromDate-btn"><i class="fa fa-calendar"></i></span>-->
         </div>
     </div>
 	<table class="table table-striped table-hover" style="overflow: scroll">
@@ -125,6 +141,7 @@
 			<th class="text-center" width="100">注册日期</th>
             <th class="text-center" width="50">联系人</th>
             <th class="text-center" width="50">物料数</th>
+            <th class="text-center" width="100">上传时间</th>
 		</thead>
         <tbody id="inviteList-body">
         </tbody>

+ 14 - 3
src/main/webapp/resources/js/common/invite.js

@@ -25,7 +25,9 @@ function getinviteList(count, page, keyword) {
     $.get('invite/list', {
         count: count,
         page: page,
-        keyword: keyword
+        keyword: keyword,
+        fromDate: $('#fromDate').val(),
+        endDate: $('#endDate').val()
     }, function (data) {
         $('#loadingDiv').hide();
         inviteList = data.content;
@@ -88,9 +90,13 @@ function getinviteList(count, page, keyword) {
     })
 }
 
+/**
+ * 导出数据
+ */
 $('#export').click(function () {
-   window.open("/invite/xls?keyword=" + $('#keyword').val());
+   window.open("/invite/xls?keyword=" + $('#keyword').val() + "&fromDate=" + $('#fromDate').val() + "&endDate=" + $('#endDate').val());
 });
+
 /**
  * 建立表格数据
  *
@@ -147,10 +153,15 @@ function getDataRow(invite, i) {
     // 物料数
     var countCell = document.createElement('td');
     countCell.setAttribute("class", "text-center");
-    countCell.setAttribute("title", "查看参数详情");
     countCell.innerHTML = invite.productCount;
     row.appendChild(countCell);
 
+    // 物料数
+    var prodDateCell = document.createElement('td');
+    prodDateCell.setAttribute("class", "text-center");
+    prodDateCell.innerHTML = invite.lastProductDate == null ? '-' : formatDateTime(invite.lastProductDate);
+    row.appendChild(prodDateCell);
+
     return row;
 }