Browse Source

采购模块-主动报价单--客户权限分配

git-svn-id: svn+ssh://10.10.101.21/source/platform/platform-b2b@2423 f3bf4e98-0cf0-11e4-a00c-a99a8b9d557d
aof 10 years ago
parent
commit
00458ef0db

+ 26 - 6
src/main/java/com/uas/platform/b2b/controller/SaleQuotationController.java

@@ -17,7 +17,9 @@ import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.servlet.ModelAndView;
 
 import com.uas.platform.b2b.model.SaleQuotationItem;
+import com.uas.platform.b2b.model.SearchFilter;
 import com.uas.platform.b2b.service.SaleQuotationService;
+import com.uas.platform.b2b.service.UserService;
 import com.uas.platform.b2b.support.JxlsExcelView;
 import com.uas.platform.b2b.support.SystemSession;
 import com.uas.platform.b2b.support.UsageBufferedLogger;
@@ -40,6 +42,9 @@ public class SaleQuotationController {
 
 	@Autowired
 	private SaleQuotationService saleQuotationService;
+	
+	@Autowired
+	private UserService userService;
 
 	private final static UsageBufferedLogger logger = BufferedLoggerManager.getLogger(UsageBufferedLogger.class);
 
@@ -55,7 +60,12 @@ public class SaleQuotationController {
 		logger.log("主动报价单", "查看主动报价单-全部");
 		PageInfo info = new PageInfo(params);
 		info.filter("quotation.enUU", SystemSession.getUser().getEnterprise().getUu());
-		return saleQuotationService.findAllDetailByPageInfo(info, keyword);
+		//判断当前用户是否被客户分配
+		SearchFilter filter = userService.distribute();
+		if(filter != null && filter.getDistribute() == null) {
+			return null;
+		}
+		return saleQuotationService.findAllDetailByPageInfo(info, keyword, filter);
 	}
 	
 	/**
@@ -72,7 +82,12 @@ public class SaleQuotationController {
 		// 已提交
 		info.filter("quotation.enUU", SystemSession.getUser().getEnterprise().getUu());
 		info.filter("quotation.status", Status.SUBMITTED.value());
-		return saleQuotationService.findAllDetailByPageInfo(info, keyword);
+		//判断当前用户是否被客户分配
+		SearchFilter filter = userService.distribute();
+		if(filter != null && filter.getDistribute() == null) {
+			return null;
+		}
+		return saleQuotationService.findAllDetailByPageInfo(info, keyword, filter);
 	}
 	
 	/**
@@ -89,7 +104,12 @@ public class SaleQuotationController {
 		// 未提交
 		info.filter("quotation.enUU", SystemSession.getUser().getEnterprise().getUu());
 		info.filter("quotation.status", Status.INPUTTING.value());
-		return saleQuotationService.findAllDetailByPageInfo(info, keyword);
+		//判断当前用户是否被客户分配
+		SearchFilter filter = userService.distribute();
+		if(filter != null && filter.getDistribute() == null) {
+			return null;
+		}
+		return saleQuotationService.findAllDetailByPageInfo(info, keyword, filter);
 	}
 
 	/**
@@ -138,7 +158,7 @@ public class SaleQuotationController {
 		ModelAndView modelAndView = new ModelAndView();
 		modelAndView.addObject("state", "全部");
 		modelAndView.addObject("dateFormat", dateFormat);
-		modelAndView.addObject("data", saleQuotationService.findAllDetailByPageInfo(pageInfo, keyword).getContent());
+		modelAndView.addObject("data", saleQuotationService.findAllDetailByPageInfo(pageInfo, keyword, null).getContent());
 		modelAndView.setView(new JxlsExcelView("classpath:jxls-tpl/sale/saleQuotation", "主动报价单列表_全部"));
 		logger.log("主动报价单", "导出Excel列表", "导出全部Excel列表");
 		return modelAndView;
@@ -160,7 +180,7 @@ public class SaleQuotationController {
 		ModelAndView modelAndView = new ModelAndView();
 		modelAndView.addObject("state", "未提交");
 		modelAndView.addObject("dateFormat", dateFormat);
-		modelAndView.addObject("data", saleQuotationService.findAllDetailByPageInfo(pageInfo, keyword).getContent());
+		modelAndView.addObject("data", saleQuotationService.findAllDetailByPageInfo(pageInfo, keyword, null).getContent());
 		modelAndView.setView(new JxlsExcelView("classpath:jxls-tpl/sale/saleQuotation", "主动报价单列表_未提交"));
 		logger.log("主动报价单", "导出Excel列表", "导出未提交Excel列表");
 		return modelAndView;
@@ -182,7 +202,7 @@ public class SaleQuotationController {
 		ModelAndView modelAndView = new ModelAndView();
 		modelAndView.addObject("state", "已提交");
 		modelAndView.addObject("dateFormat", dateFormat);
-		modelAndView.addObject("data", saleQuotationService.findAllDetailByPageInfo(pageInfo, keyword).getContent());
+		modelAndView.addObject("data", saleQuotationService.findAllDetailByPageInfo(pageInfo, keyword, null).getContent());
 		modelAndView.setView(new JxlsExcelView("classpath:jxls-tpl/sale/saleQuotation", "主动报价单列表_已提交"));
 		logger.log("主动报价单", "导出Excel列表", "导出已提交Excel列表");
 		return modelAndView;

+ 2 - 1
src/main/java/com/uas/platform/b2b/service/SaleQuotationService.java

@@ -6,6 +6,7 @@ import org.springframework.data.domain.Page;
 
 import com.uas.platform.b2b.model.SaleQuotation;
 import com.uas.platform.b2b.model.SaleQuotationItem;
+import com.uas.platform.b2b.model.SearchFilter;
 import com.uas.platform.core.model.PageInfo;
 
 public interface SaleQuotationService {
@@ -87,6 +88,6 @@ public interface SaleQuotationService {
 	 * @param keyword
 	 * @return
 	 */
-	public Page<SaleQuotationItem> findAllDetailByPageInfo(PageInfo pageInfo, String keyword);
+	public Page<SaleQuotationItem> findAllDetailByPageInfo(PageInfo pageInfo, String keyword, SearchFilter filter);
 
 }

+ 7 - 1
src/main/java/com/uas/platform/b2b/service/impl/SaleQuotationServiceImpl.java

@@ -13,6 +13,7 @@ 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 org.springframework.util.CollectionUtils;
 import org.springframework.util.StringUtils;
 
 import com.uas.platform.b2b.core.util.ContextUtils;
@@ -22,6 +23,7 @@ import com.uas.platform.b2b.dao.SaleQuotationItemIndexDao;
 import com.uas.platform.b2b.event.SaleQuotationSaveEvent;
 import com.uas.platform.b2b.model.SaleQuotation;
 import com.uas.platform.b2b.model.SaleQuotationItem;
+import com.uas.platform.b2b.model.SearchFilter;
 import com.uas.platform.b2b.service.SaleQuotationService;
 import com.uas.platform.b2b.support.SystemSession;
 import com.uas.platform.core.exception.NotFoundException;
@@ -125,7 +127,11 @@ public class SaleQuotationServiceImpl implements SaleQuotationService {
 
 	@Override
 	public Page<SaleQuotationItem> findAllDetailByPageInfo(final PageInfo pageInfo,
-			final String keyword) {
+			final String keyword, final SearchFilter filter) {
+		if (filter != null) {
+			if (!CollectionUtils.isEmpty(filter.getDistribute()))
+				pageInfo.expression(PredicateUtils.in("quotation.custUU", filter.getDistribute(), false));
+		}
 		if (StringUtils.hasText(keyword))
 			pageInfo.expression(PredicateUtils.in("id", SaleQuotationItemIndexDao.findByEnUUAndKeyword(
 					SystemSession.getUser().getEnterprise().getUu(), keyword), false));