Przeglądaj źródła

物料导出修改

dongbw 8 lat temu
rodzic
commit
243529deb1

+ 30 - 28
src/main/java/com/uas/platform/b2b/controller/BaseInfoController.java

@@ -300,64 +300,66 @@ public class BaseInfoController {
 
 	/**
 	 * 导出Excel
-	 * 
-	 * @param keyword
+	 *
+	 * @param keyword 关键词
 	 * @return
 	 */
 	@RequestMapping(value = "/xls", method = RequestMethod.GET)
 	public ModelAndView export(String keyword) {
-		com.uas.search.b2b.model.PageParams pageParams = new com.uas.search.b2b.model.PageParams(1, JxlsExcelView.MAX_SIZE, new HashMap<String, Object>());
-		pageParams.getFilters().put("pr_enuu", SystemSession.getUser().getEnterprise().getUu());
-		pageParams.getFilters().put("pr_issale", Constant.YES);
-		List<Sort> sortList = new ArrayList<>();
-		sortList.add(new Sort("pr_id", false, Type.LONG, new Long(1)));
-		pageParams.getFilters().put(SearchConstants.SORT_KEY, sortList);
+		PageInfo pageInfo = new PageInfo(1, JxlsExcelView.MAX_SIZE, 0);
+		pageInfo.sorting("id", org.springframework.data.domain.Sort.Direction.DESC);
+		pageInfo.filter("enUU", SystemSession.getUser().getEnterprise().getUu());
+		pageInfo.filter("isSale", Constant.YES);
 		ModelAndView modelAndView = new ModelAndView();
-		modelAndView.addObject("data", searchService.searchProductsCheckIds(keyword, pageParams).getContent());
+		PageParams params = new PageParams(pageInfo);
+		modelAndView.addObject("data", null == keyword || "".equals(keyword) ? productService.findAllByPageInfo(pageInfo, keyword).getContent()
+				: getAllProductInfo(params, keyword).getContent());
 		modelAndView.setView(new JxlsExcelView("classpath:jxls-tpl/baseInfo/baseInfo", "全部物料资料表"));
-		logger.log("物料资料", "导出Excel列表", "导出全部Excel列表");
+		logger.log("物料资料", "导出Excel列表", "导出全部可卖产品Excel列表");
 		return modelAndView;
 	}
 
 	/**
 	 * 导出Excel - 标准
 	 *
+	 * @param keyword 关键词
 	 * @return
 	 */
 	@RequestMapping(value = "/xls", params = RequestState.STANDARD, method = RequestMethod.GET)
 	public ModelAndView exportStandard(String keyword) {
-		com.uas.search.b2b.model.PageParams pageParams = new com.uas.search.b2b.model.PageParams(1, JxlsExcelView.MAX_SIZE, new HashMap<String, Object>());
-		pageParams.getFilters().put("pr_enuu", SystemSession.getUser().getEnterprise().getUu());
-		pageParams.getFilters().put("pr_issale", Constant.YES);
-		pageParams.getFilters().put("pr_standard", Constant.YES);
-		List<Sort> sortList = new ArrayList<>();
-		sortList.add(new Sort("pr_id", false, Type.LONG, new Long(1)));
-		pageParams.getFilters().put(SearchConstants.SORT_KEY, sortList);
+		PageInfo pageInfo = new PageInfo(1, JxlsExcelView.MAX_SIZE, 0);
+		pageInfo.sorting("id", org.springframework.data.domain.Sort.Direction.DESC);
+		pageInfo.filter("enUU", SystemSession.getUser().getEnterprise().getUu());
+		pageInfo.filter("isSale", Constant.YES);
+		pageInfo.filter("standard", Constant.YES);
 		ModelAndView modelAndView = new ModelAndView();
-		modelAndView.addObject("data", searchService.searchProductsCheckIds(keyword, pageParams).getContent());
+		PageParams params = new PageParams(pageInfo);
+		modelAndView.addObject("data", null == keyword || "".equals(keyword) ? productService.findAllByPageInfo(pageInfo, keyword).getContent()
+				: getStandardProductInfo(params, keyword).getContent());
 		modelAndView.setView(new JxlsExcelView("classpath:jxls-tpl/baseInfo/baseInfo", "标准物料资料表"));
-		logger.log("物料资料", "导出Excel列表", "导出标准Excel列表");
+		logger.log("物料资料", "导出Excel列表", "导出标准可卖产品Excel列表");
 		return modelAndView;
 	}
 
 	/**
 	 * 导出Excel - 非标准
 	 *
+	 * @param keyword 关键词
 	 * @return
 	 */
 	@RequestMapping(value = "/xls", params = RequestState.NONSTANDARD, method = RequestMethod.GET)
 	public ModelAndView exportNonStandard(String keyword) {
-		com.uas.search.b2b.model.PageParams pageParams = new com.uas.search.b2b.model.PageParams(1, JxlsExcelView.MAX_SIZE, new HashMap<String, Object>());
-		pageParams.getFilters().put("pr_enuu", SystemSession.getUser().getEnterprise().getUu());
-		pageParams.getFilters().put("pr_issale", Constant.YES);
-		pageParams.getFilters().put("pr_standard", Constant.NO);
-		List<Sort> sortList = new ArrayList<>();
-		sortList.add(new Sort("pr_id", false, Type.LONG, new Long(1)));
-		pageParams.getFilters().put(SearchConstants.SORT_KEY, sortList);
+		PageInfo pageInfo = new PageInfo(1, JxlsExcelView.MAX_SIZE, 0);
+		pageInfo.sorting("id", org.springframework.data.domain.Sort.Direction.DESC);
+		pageInfo.filter("enUU", SystemSession.getUser().getEnterprise().getUu());
+		pageInfo.filter("isSale", Constant.YES);
+		pageInfo.filter("standard", Constant.NO);
 		ModelAndView modelAndView = new ModelAndView();
-		modelAndView.addObject("data", searchService.searchProductsCheckIds(keyword, pageParams).getContent());
+		PageParams params = new PageParams(pageInfo);
+		modelAndView.addObject("data", null == keyword || "".equals(keyword) ? productService.findAllByPageInfo(pageInfo, keyword).getContent()
+			:getNonStandardProductInfo(params, keyword).getContent());
 		modelAndView.setView(new JxlsExcelView("classpath:jxls-tpl/baseInfo/baseInfo", "非标准物料资料表"));
-		logger.log("物料资料", "导出Excel列表", "导出非标准Excel列表");
+		logger.log("物料资料", "导出Excel列表", "导出非标准可卖产品Excel列表");
 		return modelAndView;
 	}
 

+ 25 - 23
src/main/java/com/uas/platform/b2b/controller/ProductController.java

@@ -279,20 +279,20 @@ public class ProductController {
 
 	/**
 	 * 导出Excel
-	 * 
-	 * @param keyword
+	 *
+	 * @param keyword 关键词
 	 * @return
 	 */
 	@RequestMapping(value = "/xls", method = RequestMethod.GET)
 	public ModelAndView export(String keyword) {
-		com.uas.search.b2b.model.PageParams pageParams = new com.uas.search.b2b.model.PageParams(1, JxlsExcelView.MAX_SIZE, new HashMap<String, Object>());
-		pageParams.getFilters().put("pr_enuu", SystemSession.getUser().getEnterprise().getUu());
-		List<Sort> sortList = new ArrayList<>();
-		sortList.add(new Sort("pr_id", false, Type.LONG, new Long(1)));
-		pageParams.getFilters().put(SearchConstants.SORT_KEY, sortList);
+		PageInfo pageInfo = new PageInfo(1, JxlsExcelView.MAX_SIZE, 0);
+		pageInfo.sorting("id", org.springframework.data.domain.Sort.Direction.DESC);
+		pageInfo.filter("enUU", SystemSession.getUser().getEnterprise().getUu());
 		ModelAndView modelAndView = new ModelAndView();
-		modelAndView.addObject("data", searchService.searchProductsCheckIds(keyword, pageParams).getContent());
-		modelAndView.setView(new JxlsExcelView("classpath:jxls-tpl/baseInfo/baseInfo", "物料资料表"));
+		PageParams params = new PageParams(pageInfo);
+		modelAndView.addObject("data", null == keyword || "".equals(keyword) ? productService.findAllByPageInfo(pageInfo, keyword).getContent()
+				: getAllProductInfo(params, keyword).getContent());
+		modelAndView.setView(new JxlsExcelView("classpath:jxls-tpl/baseInfo/baseInfo", "全部物料资料表"));
 		logger.log("物料资料", "导出Excel列表", "导出全部Excel列表");
 		return modelAndView;
 	}
@@ -300,18 +300,19 @@ public class ProductController {
 	/**
 	 * 导出Excel - 标准
 	 *
+	 * @param keyword 关键词
 	 * @return
 	 */
 	@RequestMapping(value = "/xls", params = RequestState.STANDARD, method = RequestMethod.GET)
 	public ModelAndView exportStandard(String keyword) {
-		com.uas.search.b2b.model.PageParams pageParams = new com.uas.search.b2b.model.PageParams(1, JxlsExcelView.MAX_SIZE, new HashMap<String, Object>());
-		pageParams.getFilters().put("pr_enuu", SystemSession.getUser().getEnterprise().getUu());
-		pageParams.getFilters().put("pr_standard", Constant.YES);
-		List<Sort> sortList = new ArrayList<>();
-		sortList.add(new Sort("pr_id", false, Type.LONG, new Long(1)));
-		pageParams.getFilters().put(SearchConstants.SORT_KEY, sortList);
+		PageInfo pageInfo = new PageInfo(1, JxlsExcelView.MAX_SIZE, 0);
+		pageInfo.sorting("id", org.springframework.data.domain.Sort.Direction.DESC);
+		pageInfo.filter("enUU", SystemSession.getUser().getEnterprise().getUu());
+		pageInfo.filter("standard", Constant.YES);
 		ModelAndView modelAndView = new ModelAndView();
-		modelAndView.addObject("data", searchService.searchProductsCheckIds(keyword, pageParams).getContent());
+		PageParams params = new PageParams(pageInfo);
+		modelAndView.addObject("data", null == keyword || "".equals(keyword) ? productService.findAllByPageInfo(pageInfo, keyword).getContent()
+				: getStandardProductInfo(params, keyword).getContent());
 		modelAndView.setView(new JxlsExcelView("classpath:jxls-tpl/baseInfo/baseInfo", "标准物料资料表"));
 		logger.log("物料资料", "导出Excel列表", "导出标准Excel列表");
 		return modelAndView;
@@ -320,18 +321,19 @@ public class ProductController {
 	/**
 	 * 导出Excel - 非标准
 	 *
+	 * @param keyword 关键词
 	 * @return
 	 */
 	@RequestMapping(value = "/xls", params = RequestState.NONSTANDARD, method = RequestMethod.GET)
 	public ModelAndView exportNonStandard(String keyword) {
-		com.uas.search.b2b.model.PageParams pageParams = new com.uas.search.b2b.model.PageParams(1, JxlsExcelView.MAX_SIZE, new HashMap<String, Object>());
-		pageParams.getFilters().put("pr_enuu", SystemSession.getUser().getEnterprise().getUu());
-		pageParams.getFilters().put("pr_standard", Constant.NO);
-		List<Sort> sortList = new ArrayList<>();
-		sortList.add(new Sort("pr_id", false, Type.LONG, new Long(1)));
-		pageParams.getFilters().put(SearchConstants.SORT_KEY, sortList);
+		PageInfo pageInfo = new PageInfo(1, JxlsExcelView.MAX_SIZE, 0);
+		pageInfo.sorting("id", org.springframework.data.domain.Sort.Direction.DESC);
+		pageInfo.filter("enUU", SystemSession.getUser().getEnterprise().getUu());
+		pageInfo.filter("standard", Constant.NO);
 		ModelAndView modelAndView = new ModelAndView();
-		modelAndView.addObject("data", searchService.searchProductsCheckIds(keyword, pageParams).getContent());
+		PageParams params = new PageParams(pageInfo);
+		modelAndView.addObject("data", null == keyword || "".equals(keyword) ? productService.findAllByPageInfo(pageInfo, keyword).getContent()
+				:getNonStandardProductInfo(params, keyword).getContent());
 		modelAndView.setView(new JxlsExcelView("classpath:jxls-tpl/baseInfo/baseInfo", "非标准物料资料表"));
 		logger.log("物料资料", "导出Excel列表", "导出非标准Excel列表");
 		return modelAndView;

+ 32 - 32
src/main/java/com/uas/platform/b2b/controller/PurcProductController.java

@@ -88,65 +88,65 @@ public class PurcProductController {
 
 	/**
 	 * 导出Excel
-	 * 
-	 * @param keyword
+	 *
+	 * @param keyword 关键词
 	 * @return
 	 */
 	@RequestMapping(value = "/xls", method = RequestMethod.GET)
 	public ModelAndView export(String keyword) {
-		com.uas.search.b2b.model.PageParams pageParams = new com.uas.search.b2b.model.PageParams(1, JxlsExcelView.MAX_SIZE, new HashMap<String, Object>());
-		pageParams.getFilters().put("pr_enuu", SystemSession.getUser().getEnterprise().getUu());
-		pageParams.getFilters().put("pr_ispurchase", Constant.YES);
-		List<Sort> sortList = new ArrayList<>();
-		sortList.add(new Sort("pr_id", false, Type.LONG, new Long(1)));
-		pageParams.getFilters().put(SearchConstants.SORT_KEY, sortList);
+		PageInfo pageInfo = new PageInfo(1, JxlsExcelView.MAX_SIZE, 0);
+		pageInfo.sorting("id", org.springframework.data.domain.Sort.Direction.DESC);
+		pageInfo.filter("enUU", SystemSession.getUser().getEnterprise().getUu());
+		pageInfo.filter("isPurchase", Constant.YES);
 		ModelAndView modelAndView = new ModelAndView();
-		modelAndView.addObject("data", searchService.searchProductsCheckIds(keyword, pageParams).getContent());
-		modelAndView.setView(new JxlsExcelView("classpath:jxls-tpl/baseInfo/baseInfo", "物料资料表"));
+		PageParams params = new PageParams(pageInfo);
+		modelAndView.addObject("data", null == keyword || "".equals(keyword) ? productService.findAllByPageInfo(pageInfo, keyword).getContent()
+				: getAllProductInfo(params, keyword).getContent());
+		modelAndView.setView(new JxlsExcelView("classpath:jxls-tpl/baseInfo/baseInfo", "全部物料资料表"));
 		logger.log("物料资料", "导出Excel列表", "导出可买物料Excel列表");
 		return modelAndView;
 	}
 
 	/**
-	 * 导出 - 标准
+	 * 导出Excel - 标准
 	 *
-	 * @param keyword
+	 * @param keyword 关键词
 	 * @return
 	 */
 	@RequestMapping(value = "/xls", params = RequestState.STANDARD, method = RequestMethod.GET)
 	public ModelAndView exportStandard(String keyword) {
-		com.uas.search.b2b.model.PageParams pageParams = new com.uas.search.b2b.model.PageParams(1, JxlsExcelView.MAX_SIZE, new HashMap<String, Object>());
-		pageParams.getFilters().put("pr_enuu", SystemSession.getUser().getEnterprise().getUu());
-		pageParams.getFilters().put("pr_ispurchase", Constant.YES);
-		pageParams.getFilters().put("pr_standard", Constant.YES);
-		List<Sort> sortList = new ArrayList<>();
-		sortList.add(new Sort("pr_id", false, Type.LONG, new Long(1)));
-		pageParams.getFilters().put(SearchConstants.SORT_KEY, sortList);
+		PageInfo pageInfo = new PageInfo(1, JxlsExcelView.MAX_SIZE, 0);
+		pageInfo.sorting("id", org.springframework.data.domain.Sort.Direction.DESC);
+		pageInfo.filter("enUU", SystemSession.getUser().getEnterprise().getUu());
+		pageInfo.filter("isPurchase", Constant.YES);
+		pageInfo.filter("standard", Constant.YES);
 		ModelAndView modelAndView = new ModelAndView();
-		modelAndView.addObject("data", searchService.searchProductsCheckIds(keyword, pageParams).getContent());
-		modelAndView.setView(new JxlsExcelView("classpath:jxls-tpl/baseInfo/baseInfo", "物料资料表"));
+		PageParams params = new PageParams(pageInfo);
+		modelAndView.addObject("data", null == keyword || "".equals(keyword) ? productService.findAllByPageInfo(pageInfo, keyword).getContent()
+				: getStandardProductInfo(params, keyword).getContent());
+		modelAndView.setView(new JxlsExcelView("classpath:jxls-tpl/baseInfo/baseInfo", "标准物料资料表"));
 		logger.log("物料资料", "导出Excel列表", "导出可买物料Excel列表");
 		return modelAndView;
 	}
 
 	/**
-	 * 导出Excel
+	 * 导出Excel - 非标准
 	 *
-	 * @param keyword
+	 * @param keyword 关键词
 	 * @return
 	 */
 	@RequestMapping(value = "/xls", params = RequestState.NONSTANDARD, method = RequestMethod.GET)
 	public ModelAndView exportNonStandard(String keyword) {
-		com.uas.search.b2b.model.PageParams pageParams = new com.uas.search.b2b.model.PageParams(1, JxlsExcelView.MAX_SIZE, new HashMap<String, Object>());
-		pageParams.getFilters().put("pr_enuu", SystemSession.getUser().getEnterprise().getUu());
-		pageParams.getFilters().put("pr_ispurchase", Constant.YES);
-		pageParams.getFilters().put("pr_standard", Constant.NO);
-		List<Sort> sortList = new ArrayList<>();
-		sortList.add(new Sort("pr_id", false, Type.LONG, new Long(1)));
-		pageParams.getFilters().put(SearchConstants.SORT_KEY, sortList);
+		PageInfo pageInfo = new PageInfo(1, JxlsExcelView.MAX_SIZE, 0);
+		pageInfo.sorting("id", org.springframework.data.domain.Sort.Direction.DESC);
+		pageInfo.filter("enUU", SystemSession.getUser().getEnterprise().getUu());
+		pageInfo.filter("isPurchase", Constant.YES);
+		pageInfo.filter("standard", Constant.NO);
 		ModelAndView modelAndView = new ModelAndView();
-		modelAndView.addObject("data", searchService.searchProductsCheckIds(keyword, pageParams).getContent());
-		modelAndView.setView(new JxlsExcelView("classpath:jxls-tpl/baseInfo/baseInfo", "物料资料表"));
+		PageParams params = new PageParams(pageInfo);
+		modelAndView.addObject("data", null == keyword || "".equals(keyword) ? productService.findAllByPageInfo(pageInfo, keyword).getContent()
+				:getNonStandardProductInfo(params, keyword).getContent());
+		modelAndView.setView(new JxlsExcelView("classpath:jxls-tpl/baseInfo/baseInfo", "非标准物料资料表"));
 		logger.log("物料资料", "导出Excel列表", "导出可买物料Excel列表");
 		return modelAndView;
 	}

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

@@ -21,7 +21,7 @@ public interface ProductStatusDao extends JpaSpecificationExecutor<ProductStatus
      * @param id 物料id
      * @return
      */
-    @Query("select o from ProductStatus o where o.product.id = :prId")
+    @Query("select o from ProductStatus o where o.prId = :prId")
     @OrderBy("id desc")
     List<ProductStatus> findByPrId(@Param("prId") Long id);
 }

+ 17 - 3
src/main/java/com/uas/platform/b2b/model/ProductStatus.java

@@ -34,19 +34,25 @@ public class ProductStatus implements Serializable{
     @Column(name = "prs_b2bdisabled")
     private Short b2bDisabled;
 
+    /**
+     * 物料id
+     */
+    @Column(name = "prs_prid")
+    private Long prId;
+
     /**
      * 关联物料
      */
     @OneToOne(cascade = CascadeType.REFRESH)
-    @JoinColumn(name = "prs_prid")
+    @JoinColumn(name = "prs_prid", insertable = false, updatable = false)
     private Product product;
 
     public ProductStatus() {
 
     }
 
-    public ProductStatus(Product product, Short b2bDisabled) {
-        this.product = product;
+    public ProductStatus(Long prId, Short b2bDisabled) {
+        this.prId = prId;
         this.b2bDisabled = b2bDisabled;
     }
 
@@ -73,4 +79,12 @@ public class ProductStatus implements Serializable{
     public void setProduct(Product product) {
         this.product = product;
     }
+
+    public Long getPrId() {
+        return prId;
+    }
+
+    public void setPrId(Long prId) {
+        this.prId = prId;
+    }
 }

+ 6 - 7
src/main/java/com/uas/platform/b2b/service/impl/BaseInfoServiceImpl.java

@@ -447,14 +447,13 @@ public class BaseInfoServiceImpl implements BaseInfoService {
 		if (null != product) {
 			ProductUtils.deleteMatchResultAndProductUser(id);
 			// 物料禁用
-            List<ProductStatus> existedProdStatus = productStatusDao.findByPrId(id);
+            List<ProductStatus> existedProdStatus = productStatusDao.findByPrId(product.getId());
             if (CollectionUtils.isEmpty(existedProdStatus)) {
-                ProductStatus productStatus = new ProductStatus();
-                productStatus.setProduct(product);
-                productStatus.setB2bDisabled(Constant.YES);
-                productStatusDao.save(productStatus);
-                product.setIsPurchase(Constant.NO);
-                product.setIsSale(Constant.NO);
+				ProductStatus productStatus = new ProductStatus(product.getId(), Constant.YES);
+				productStatusDao.save(productStatus);
+				product.setErpDate(new Date());
+				product.setIsPurchase(Constant.NO);
+				product.setIsSale(Constant.NO);
                 ProductUtils.updateOne(product);
             }
 		}

+ 2 - 5
src/main/java/com/uas/platform/b2b/service/impl/ProductServiceImpl.java

@@ -322,12 +322,9 @@ public class ProductServiceImpl implements ProductService {
 			List<Product> prods = productDao.findByEnUUAndPcmpcodeAndPbrand(
 					SystemSession.getUser().getEnterprise().getUu(), prod.getPcmpcode(), prod.getPbrand());
 			// 新增物料状态
-            ProductStatus productStatus = new ProductStatus();
-            productStatus.setProduct(prod);
+            ProductStatus productStatus = new ProductStatus(prod.getId(), Constant.NO);
 			if (prods.size() == 0) {
                 productStatus.setB2bDisabled(Constant.YES);
-			} else {
-                productStatus.setB2bDisabled(Constant.NO);
 			}
 			try {
 				// 保存物料禁用状态信息
@@ -539,7 +536,7 @@ public class ProductServiceImpl implements ProductService {
                 product.setErpDate(new Date());
                 product.setIsPurchase(Constant.NO);
 				product.setIsSale(Constant.NO);
-                ProductStatus productStatus = new ProductStatus(product, Constant.YES);
+                ProductStatus productStatus = new ProductStatus(product.getId(), b2bDisabled);
                 productStatusDao.save(productStatus);
                 ProductUtils.updateOne(product);
                 return 1;