Browse Source

客户资料列表

git-svn-id: svn+ssh://10.10.101.21/source/platform/platform-b2b@713 f3bf4e98-0cf0-11e4-a00c-a99a8b9d557d
suntg 11 years ago
parent
commit
cf1680b4d7

+ 6 - 3
src/main/java/com/uas/platform/b2b/controller/ReportController.java

@@ -33,9 +33,12 @@ public class ReportController {
 			String pagename) {
 		HttpHeaders headers = new HttpHeaders();
 		headers.add("Content-Type", "application/text; charset=utf-8");
-		return new ResponseEntity<String>(
-				reportConfigService.getReportNameByEnuuAndPageName(enuu,
-						pagename), headers, HttpStatus.OK);
+		String reportName = reportConfigService.getReportNameByEnuuAndPageName(enuu,
+				pagename);
+		if(reportName == null) {
+			return new ResponseEntity<String>("未找到报表文件", headers, HttpStatus.EXPECTATION_FAILED);
+		}
+		return new ResponseEntity<String>(reportName, headers, HttpStatus.OK);
 	}
 
 }

+ 0 - 1
src/main/java/com/uas/platform/b2b/controller/SaleSampleController.java

@@ -107,7 +107,6 @@ public class SaleSampleController {
 			return null;
 		}
 	}
-	
 
 	/**
 	 * 作为卖家,分页获取客户的打样申请单

+ 92 - 0
src/main/java/com/uas/platform/b2b/controller/VendorController.java

@@ -0,0 +1,92 @@
+package com.uas.platform.b2b.controller;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.Sort.Direction;
+import org.springframework.http.HttpStatus;
+import org.springframework.ui.ModelMap;
+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.ResponseStatus;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.servlet.ModelAndView;
+
+import com.uas.platform.b2b.model.Vendor;
+import com.uas.platform.b2b.service.VendorService;
+import com.uas.platform.b2b.support.JxlsExcelView;
+import com.uas.platform.b2b.support.SystemSession;
+import com.uas.platform.core.model.PageInfo;
+import com.uas.platform.core.model.PageParams;
+
+/**
+ * 供应商、客户
+ * 
+ * @author suntg
+ *
+ */
+@RestController
+@RequestMapping("/vendor")
+public class VendorController {
+
+	@Autowired
+	private VendorService vendorService;
+
+	/**
+	 * 获取供应商
+	 */
+	@RequestMapping(method = RequestMethod.GET)
+	@ResponseBody
+	public Page<Vendor> getVendors(PageParams params){
+		PageInfo info = new PageInfo(params);
+		info.filter("myEnUU", SystemSession.getUser().getEnterprise().getUu());
+		return vendorService.findAllByPageInfo(info);
+	}
+	
+	/**
+	 * 获取客户
+	 */
+	@RequestMapping(value = "/customer", method = RequestMethod.GET)
+	@ResponseBody
+	public Page<Vendor> getCustomers(PageParams params){
+		PageInfo info = new PageInfo(params);
+		info.filter("vendEnUU", SystemSession.getUser().getEnterprise().getUu());
+		return vendorService.findAllByPageInfo(info);
+	}
+	
+
+	/**
+	 * 分页查找平台使用日志
+	 * 
+	 * @param params
+	 * @return
+	 */
+	@RequestMapping(value = "/customer/xls", method = RequestMethod.GET)
+	public ModelAndView exportUsageLogs() {
+		Map<String, Object> map = new HashMap<String, Object>();
+		PageInfo pageInfo = new PageInfo(1, JxlsExcelView.MAX_SIZE, 0);
+		pageInfo.sorting("myEnUU", Direction.ASC);
+		pageInfo.filter("vendEnUU", SystemSession.getUser().getEnterprise().getUu());
+		map.put("data", vendorService.findAllByPageInfo(pageInfo).getContent());
+		return new ModelAndView(new JxlsExcelView("classpath:jxls-tpl/Customer", "客户列表"), map);
+	}
+	
+	/**
+	 * 供应商个数和客户个数
+	 * 
+	 * @return
+	 */
+	@RequestMapping(value = "/count", method = RequestMethod.GET, headers = "Accept=application/json")
+	@ResponseBody
+	@ResponseStatus(value = HttpStatus.OK)
+	public ModelMap getTodo() {
+		ModelMap modelMap = new ModelMap();
+		modelMap.put("vendor", vendorService.findMyVendors().size());
+		modelMap.put("customer", vendorService.findMyCustomers().size());
+		return modelMap;
+	}
+
+}

+ 5 - 1
src/main/java/com/uas/platform/b2b/dao/ReportConfigDao.java

@@ -1,5 +1,7 @@
 package com.uas.platform.b2b.dao;
 
+import java.util.List;
+
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.stereotype.Repository;
 
@@ -8,5 +10,7 @@ import com.uas.platform.b2b.model.ReportConfig;
 @Repository
 public interface ReportConfigDao extends JpaRepository<ReportConfig, Long> {
 
-	public ReportConfig findReportConfigByEnuuAndPagename(Long enuu, String pagename);
+	public List<ReportConfig> findByEnuuAndPagename(Long enuu, String pagename);
+	
+	public List<ReportConfig> findByPagename(String pagename);
 }

+ 4 - 0
src/main/java/com/uas/platform/b2b/dao/VendorDao.java

@@ -22,5 +22,9 @@ public interface VendorDao extends JpaSpecificationExecutor<Vendor>, GenericRepo
 	 */
 	@Query("from Vendor v where v.myEnUU = :myEnUU and v.vendorEnterprise.uu = :vendUU")
 	public List<Vendor> findByMyEnUUAndVendUU(@Param("myEnUU") long myEnUU, @Param("vendUU") long vendUU);
+	
+	public List<Vendor> findByMyEnUU(Long myEnUU);
+	
+	public List<Vendor> findByVendEnUU(Long vendUU);
 
 }

+ 36 - 0
src/main/java/com/uas/platform/b2b/model/Vendor.java

@@ -13,6 +13,8 @@ import javax.persistence.OneToOne;
 import javax.persistence.SequenceGenerator;
 import javax.persistence.Table;
 
+import org.codehaus.jackson.annotate.JsonIgnore;
+
 import com.uas.platform.core.persistence.Logger;
 import com.uas.platform.core.persistence.OtherUserUU;
 import com.uas.platform.core.persistence.StatusColumn;
@@ -46,6 +48,13 @@ public class Vendor implements Serializable {
 	 */
 	@Column(name = "ve_myenuu")
 	private Long myEnUU;
+	
+	/**
+	 * 我的企业
+	 */
+	@OneToOne(cascade = { CascadeType.REFRESH, CascadeType.MERGE })
+	@JoinColumn(name = "ve_myenuu", insertable = false, updatable = false)
+	private Enterprise myEnterprise;
 
 	/**
 	 * 我的UU
@@ -53,6 +62,13 @@ public class Vendor implements Serializable {
 	@Column(name = "ve_myuseruu")
 	@UserUU
 	private Long myUserUU;
+	
+	/**
+	 * 我方联系人UU
+	 */
+	@OneToOne(cascade = { CascadeType.REFRESH, CascadeType.MERGE })
+	@JoinColumn(name = "ve_myuseruu", insertable = false, updatable = false)
+	private User myUser;
 
 	@Column(name = "ve_vendenuu")
 	private Long vendEnUU;
@@ -91,6 +107,7 @@ public class Vendor implements Serializable {
 		this.status = status;
 	}
 
+	@JsonIgnore
 	public Long getMyEnUU() {
 		return myEnUU;
 	}
@@ -99,6 +116,7 @@ public class Vendor implements Serializable {
 		this.myEnUU = myEnUU;
 	}
 
+	@JsonIgnore
 	public Long getMyUserUU() {
 		return myUserUU;
 	}
@@ -123,6 +141,7 @@ public class Vendor implements Serializable {
 		this.vendorUser = vendorUser;
 	}
 
+	@JsonIgnore
 	public Long getVendEnUU() {
 		return vendEnUU;
 	}
@@ -131,6 +150,7 @@ public class Vendor implements Serializable {
 		this.vendEnUU = vendEnUU;
 	}
 
+	@JsonIgnore
 	public Long getVendUserUU() {
 		return vendUserUU;
 	}
@@ -139,6 +159,22 @@ public class Vendor implements Serializable {
 		this.vendUserUU = vendUserUU;
 	}
 
+	public Enterprise getMyEnterprise() {
+		return myEnterprise;
+	}
+
+	public void setMyEnterprise(Enterprise myEnterprise) {
+		this.myEnterprise = myEnterprise;
+	}
+
+	public User getMyUser() {
+		return myUser;
+	}
+
+	public void setMyUser(User myUser) {
+		this.myUser = myUser;
+	}
+
 	@Override
 	public String toString() {
 		return this.vendorEnterprise.getEnName();

+ 30 - 0
src/main/java/com/uas/platform/b2b/service/VendorService.java

@@ -0,0 +1,30 @@
+package com.uas.platform.b2b.service;
+
+import java.util.List;
+
+import org.springframework.data.domain.Page;
+
+import com.uas.platform.b2b.model.Vendor;
+import com.uas.platform.core.model.PageInfo;
+
+/**
+ * 客户&供应商服务
+ * @author Administrator
+ *
+ */
+public interface VendorService {
+
+	public List<Vendor> findMyVendors();
+	
+	public List<Vendor> findMyCustomers();
+	
+	public Page<Vendor> findAllByPageInfo(PageInfo pageInfo);
+	
+	public Vendor addVendor(Vendor vendor);
+	
+	public List<Vendor> addVendors(List<Vendor> vendors);
+	
+	public Vendor addCustomer(Vendor customer);
+	
+	public List<Vendor> addCustomers(List<Vendor> customers);
+}

+ 14 - 1
src/main/java/com/uas/platform/b2b/service/impl/ReportConfigServiceImpl.java

@@ -1,9 +1,12 @@
 package com.uas.platform.b2b.service.impl;
 
+import java.util.List;
+
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import com.uas.platform.b2b.dao.ReportConfigDao;
+import com.uas.platform.b2b.model.ReportConfig;
 import com.uas.platform.b2b.service.ReportConfigService;
 
 @Service
@@ -14,7 +17,17 @@ public class ReportConfigServiceImpl implements ReportConfigService {
 
 	@Override
 	public String getReportNameByEnuuAndPageName(Long enuu, String pagename) {
-		return reportConfigDao.findReportConfigByEnuuAndPagename(enuu, pagename).getReportname();
+		List<ReportConfig> configs = reportConfigDao.findByEnuuAndPagename(enuu, pagename);
+		if(configs.size() > 0) 
+			return configs.get(0).getReportname();
+		else{
+			configs = reportConfigDao.findByPagename(pagename);
+			if(configs.size() > 0) {
+				return configs.get(0).getReportname();
+			} else {
+				return null;
+			}
+		}
 	}
 
 }

+ 87 - 0
src/main/java/com/uas/platform/b2b/service/impl/VendorsServiceImpl.java

@@ -0,0 +1,87 @@
+package com.uas.platform.b2b.service.impl;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.persistence.criteria.CriteriaBuilder;
+import javax.persistence.criteria.CriteriaQuery;
+import javax.persistence.criteria.Predicate;
+import javax.persistence.criteria.Root;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
+import org.springframework.data.jpa.domain.Specification;
+import org.springframework.stereotype.Service;
+
+import com.uas.platform.b2b.dao.VendorDao;
+import com.uas.platform.b2b.model.Vendor;
+import com.uas.platform.b2b.service.VendorService;
+import com.uas.platform.b2b.support.SystemSession;
+import com.uas.platform.core.model.PageInfo;
+
+@Service
+public class VendorsServiceImpl implements VendorService {
+
+	@Autowired
+	private VendorDao vendorDao;
+
+	@Override
+	public List<Vendor> findMyVendors() {
+		return vendorDao.findByMyEnUU(SystemSession.getUser().getEnterprise().getUu());
+	}
+
+	@Override
+	public List<Vendor> findMyCustomers() {
+		return vendorDao.findByVendEnUU(SystemSession.getUser().getEnterprise().getUu());
+	}
+
+	@Override
+	public Vendor addVendor(Vendor vendor) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public List<Vendor> addVendors(List<Vendor> vendors) {
+		List<Vendor> validVendors = new ArrayList<Vendor>();
+		for(Vendor vendor : vendors) {
+			Vendor vend = addVendor(vendor);
+			if(vend != null) {
+				validVendors.add(vend);
+			}
+		}
+		return validVendors;
+	}
+
+	@Override
+	public Vendor addCustomer(Vendor customer) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public List<Vendor> addCustomers(List<Vendor> customers) {
+		List<Vendor> validVendors = new ArrayList<Vendor>();
+		for(Vendor customer : customers) {
+			Vendor vend = addCustomer(customer);
+			if(vend != null) {
+				validVendors.add(vend);
+			}
+		}
+		return validVendors;
+	}
+
+	@Override
+	public Page<Vendor> findAllByPageInfo(final PageInfo pageInfo) {
+		return vendorDao.findAll(new Specification<Vendor>() {
+
+			public Predicate toPredicate(Root<Vendor> root, CriteriaQuery<?> query, CriteriaBuilder builder) {
+				query.where(pageInfo.getPredicates(root, query, builder));
+				return null;
+			}
+		}, pageInfo);
+	}
+
+	
+
+}