Browse Source

添加公司寄售搜索功能

huxz 8 years ago
parent
commit
37153f6e21

+ 4 - 2
src/main/java/com/uas/platform/b2c/prod/store/controller/ConsignmentAgreeRecordController.java

@@ -13,6 +13,7 @@ import org.springframework.data.domain.Pageable;
 import org.springframework.data.web.PageableDefault;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
 /**
@@ -72,9 +73,10 @@ public class ConsignmentAgreeRecordController {
 	 * when admin show operation record logs.
 	 *
 	 * @param pageable	page parameter
+	 * @param keyword 	search keyword
 	 */
 	@RequestMapping(method = RequestMethod.GET, value = "/pageEnterprise")
-	public Page<Enterprise> pageEnterpriseWhenAdminQueryRecord(@PageableDefault Pageable pageable) {
-		return recordService.pageEnterpriseWhenAdminQueryRecord(pageable);
+	public Page<Enterprise> pageEnterpriseWhenAdminQueryRecord(@PageableDefault Pageable pageable, @RequestParam(required = false) String keyword) {
+		return recordService.pageEnterpriseWhenAdminQueryRecord(pageable, keyword);
 	}
 }

+ 14 - 2
src/main/java/com/uas/platform/b2c/prod/store/dao/ConsignmentAgreeRecordDao.java

@@ -6,6 +6,7 @@ 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.data.repository.query.Param;
 import org.springframework.stereotype.Repository;
 
 import java.util.List;
@@ -25,7 +26,7 @@ public interface ConsignmentAgreeRecordDao extends JpaSpecificationExecutor<Cons
 	 * @param enUU		企业UU
 	 * @param userUU	用户UU
 	 */
-	List<ConsignmentAgreeRecord> findByEnUUAndUserUU(Long enUU, Long userUU);
+	List<ConsignmentAgreeRecord> findByEnUUAndUserUU(String enUU, Long userUU);
 
 	/**
 	 * Page distinct enterprise uu of Entity ConsignmentAgreeRecord.
@@ -34,5 +35,16 @@ public interface ConsignmentAgreeRecordDao extends JpaSpecificationExecutor<Cons
 	 */
 	@Query(value = "select distinct r.enUU from ConsignmentAgreeRecord r",
 		countQuery = "select count(distinct r.enUU) from ConsignmentAgreeRecord r")
-	Page<Long> findOrderByEnUUDesc(Pageable pageable);
+	Page<String> findOrderByEnUUDesc(Pageable pageable);
+
+	/**
+	 * Page distinct enterprise uu of Entity ConsignmentAgreeRecord according to keyword
+	 * and page parameters.
+	 *
+	 * @param keyword	search keyword
+	 * @param page		page parameters
+	 */
+	@Query(value = "select distinct r.enUU from ConsignmentAgreeRecord r where r.enUU like %:keyword% or r.enterpriseName like %:keyword%",
+			countQuery = "select count(distinct r.enUU) from ConsignmentAgreeRecord r where r.enUU like %:keyword% or r.enterpriseName like %:keyword%")
+	Page<String> findEnUUByKeywordAndPage(@Param("keyword") String keyword, Pageable page);
 }

+ 3 - 3
src/main/java/com/uas/platform/b2c/prod/store/model/ConsignmentAgreeRecord.java

@@ -33,7 +33,7 @@ public class ConsignmentAgreeRecord {
 	 * 企业UU
 	 */
 	@Column(name = "con_en_uu")
-	private Long enUU;
+	private String enUU;
 
 	/**
 	 * 企业名称
@@ -80,11 +80,11 @@ public class ConsignmentAgreeRecord {
 		this.id = id;
 	}
 
-	public Long getEnUU() {
+	public String getEnUU() {
 		return enUU;
 	}
 
-	public void setEnUU(Long enUU) {
+	public void setEnUU(String enUU) {
 		this.enUU = enUU;
 	}
 

+ 3 - 2
src/main/java/com/uas/platform/b2c/prod/store/service/ConsignmentAgreeRecordService.java

@@ -39,7 +39,8 @@ public interface ConsignmentAgreeRecordService {
 	 * Page Enterprise information by consignment agreement record,
 	 * when admin show operation record logs.
 	 *
-	 * @param page	page parameter
+	 * @param page    	page parameter
+	 * @param keyword	search keyword
 	 */
-	Page<Enterprise> pageEnterpriseWhenAdminQueryRecord(Pageable page);
+	Page<Enterprise> pageEnterpriseWhenAdminQueryRecord(Pageable page, String keyword);
 }

+ 13 - 7
src/main/java/com/uas/platform/b2c/prod/store/service/impl/ConsignmentAgreeRecordServiceImpl.java

@@ -21,6 +21,7 @@ import org.springframework.data.domain.Pageable;
 import org.springframework.data.jpa.domain.Specification;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
+import org.springframework.util.StringUtils;
 
 import javax.persistence.criteria.CriteriaBuilder;
 import javax.persistence.criteria.CriteriaQuery;
@@ -63,7 +64,7 @@ public class ConsignmentAgreeRecordServiceImpl implements ConsignmentAgreeRecord
 			throw new IllegalStatusException("用户企业信息不存在");
 		}
 
-		List<ConsignmentAgreeRecord> records = recordDao.findByEnUUAndUserUU(enterprise.getUu(), user.getUserUU());
+		List<ConsignmentAgreeRecord> records = recordDao.findByEnUUAndUserUU(enterprise.getUu().toString(), user.getUserUU());
 		if (CollectionUtils.isEmpty(records)) {
 			return null;
 		} else {
@@ -84,7 +85,7 @@ public class ConsignmentAgreeRecordServiceImpl implements ConsignmentAgreeRecord
 
 		Date operateTime = new Date();
 
-		record.setEnUU(enterprise.getUu());
+		record.setEnUU(enterprise.getUu().toString());
 		record.setEnterpriseName(enterprise.getEnName());
 		record.setUserUU(user.getUserUU());
 		record.setUserName(user.getUserName());
@@ -120,7 +121,7 @@ public class ConsignmentAgreeRecordServiceImpl implements ConsignmentAgreeRecord
 					record.setUserName(user.getUserName());
 				}
 
-				Enterprise enterprise = enterpriseDao.findByUu(record.getEnUU());
+				Enterprise enterprise = enterpriseDao.findByUu(Long.valueOf(record.getEnUU()));
 				if (enterprise != null) {
 					record.setEnterpriseName(enterprise.getEnName());
 				}
@@ -132,19 +133,24 @@ public class ConsignmentAgreeRecordServiceImpl implements ConsignmentAgreeRecord
 	}
 
 	@Override
-	public Page<Enterprise> pageEnterpriseWhenAdminQueryRecord(Pageable page) {
+	public Page<Enterprise> pageEnterpriseWhenAdminQueryRecord(Pageable page, String keyword) {
 		if (page == null) {
 			throw new EmptyParameterException("Parameters about page can't be empty");
 		}
 
-		Page<Long> pageUU = recordDao.findOrderByEnUUDesc(page);
+		Page<String> pageUU;
+		if (StringUtils.isEmpty(keyword)) {
+			pageUU = recordDao.findOrderByEnUUDesc(page);
+		} else {
+			pageUU = recordDao.findEnUUByKeywordAndPage(keyword, page);
+		}
 
 		List<Enterprise> enterpriseList = new ArrayList<>();
 		if (!CollectionUtils.isEmpty(pageUU.getContent())) {
 			System.out.println(JacksonUtils.toJson(pageUU.getContent()));
 
-			for (Long record : pageUU.getContent()) {
-				Enterprise enterprise = enterpriseDao.findByUu(record);
+			for (String record : pageUU.getContent()) {
+				Enterprise enterprise = enterpriseDao.findByUu(Long.valueOf(record));
 				enterpriseList.add(enterprise);
 			}
 		}

+ 7 - 3
src/main/webapp/resources/js/admin/controllers/store/StoreCompanyDetailCtrl.js

@@ -9,6 +9,8 @@ define([ 'app/app' ], function(app) {
 
 		$scope.enUU = $stateParams.enUU || 0;
 
+		$scope.totalPages = 0;
+
 		$scope.isShow = 'ALL';
 
 		// 执行初始化操作
@@ -31,13 +33,15 @@ define([ 'app/app' ], function(app) {
 					var param = BaseService.parseParams(params.url());
 					param.enUU = $scope.enUU;
 
-					ConsignmentAgreementRecord.pageRecordWhenAdminQueryInfo(param, {}, function (data) {
-						$defer.resolve(data.content || []);
-						params.total(data.numberOfElements);
+					ConsignmentAgreementRecord.pageRecordWhenAdminQueryInfo(param, {}, function (page) {
+						$defer.resolve(page.content || []);
+						params.total(page.numberOfElements);
+						$scope.totalPages = page.totalPages;
 					}, function (error) {
 						console.log(error);
 						$defer.resolve([]);
 						params.total(0);
+						$scope.totalPages = 0;
 						toaster.pop('error', '数据获取失败,请重新刷新页面');
 					});
 				}

+ 7 - 0
src/main/webapp/resources/js/admin/controllers/store/StoreCompanyListCtrl.js

@@ -9,6 +9,7 @@ define([ 'app/app' ], function(app) {
 
 		$scope.keyword = "";
 		$scope.refreshTableData = refreshTableData;
+		$scope.totalPages = 0;
 
 		$scope.goDetailPage = goDetailPage;
 
@@ -39,12 +40,15 @@ define([ 'app/app' ], function(app) {
 					}
 
 					ConsignmentAgreementRecord.pageEnterpriseWhenAdminQueryRecord(param, {}, function (page) {
+						console.log(page);
 						$defer.resolve(page.content || []);
 						params.total(page.totalElements);
+						$scope.totalPages = page.totalPages;
 					}, function (error) {
 						console.log(error);
 						$defer.resolve([]);
 						params.total(0);
+						$scope.totalPages = 0;
 						toaster.pop('error', '数据获取失败,请重新刷新页面!');
 					});
 				}
@@ -56,6 +60,9 @@ define([ 'app/app' ], function(app) {
 		 */
 		function refreshTableData() {
 			console.log($scope.keyword);
+			$scope.recordsTableParams.page(1);
+			$scope.recordsTableParams.reload();
+			console.log($scope.recordsTableParams);
 		}
 
 		/**

+ 1 - 1
src/main/webapp/resources/view/admin/store/store_company_detail.html

@@ -169,7 +169,7 @@
     </div>
     <div class="row">
         <div class="text-rt col-sm-12">
-            <p class="record-stort">显示 <em style="color: #000000;" ng-bind="(recordsTableParams.page() - 1) * 10 + 1">1</em>-<em style="color: #000000;" ng-bind="recordsTableParams.page() * 10">10</em> 条记录,&nbsp;&nbsp;共 <em ng-bind="recordsTableParams.total()">1000</em> 条</p>
+            <p class="record-stort">显示 <em style="color: #000000;" ng-bind="(recordsTableParams.page() - 1) * 10 + 1">1</em>-<em style="color: #000000;" ng-if="recordsTableParams.page() !== totalPages" ng-bind="recordsTableParams.page() * 10">10</em><em style="color: #000000;" ng-if="recordsTableParams.page() === totalPages" ng-bind="recordsTableParams.total()">10</em> 条记录,&nbsp;&nbsp;共 <em ng-bind="recordsTableParams.total()">1000</em> 条</p>
         </div>
     </div>
     <!--公司自营表格-->

+ 1 - 1
src/main/webapp/resources/view/admin/store/store_company_list.html

@@ -145,7 +145,7 @@
     </div>
     <div class="row">
         <div class="text-rt col-sm-12">
-            <p class="record-stort">显示 <em style="color: #000000;" ng-bind="(recordsTableParams.page() - 1) * 10 + 1">1</em>-<em style="color: #000000;" ng-bind="recordsTableParams.page() * 10">10</em> 条记录,&nbsp;&nbsp;共 <em ng-bind="recordsTableParams.total()">1000</em> 条</p>
+            <p class="record-stort">显示 <em style="color: #000000;" ng-bind="(recordsTableParams.page() - 1) * 10 + 1">1</em>-<em style="color: #000000;" ng-if="recordsTableParams.page() !== totalPages" ng-bind="recordsTableParams.page() * 10">10</em><em style="color: #000000;" ng-if="recordsTableParams.page() === totalPages" ng-bind="recordsTableParams.total()">10</em> 条记录,&nbsp;&nbsp;共 <em ng-bind="recordsTableParams.total()">1000</em> 条</p>
         </div>
     </div>
     <!--公司自营表格-->