Explorar o código

更新物料查询方法,匹配两边的数据字段一致

hejq %!s(int64=7) %!d(string=hai) anos
pai
achega
6dc399109a

+ 13 - 2
src/main/java/com/uas/ps/product/controller/ProductGetController.java

@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON;
 import com.uas.ps.core.page.PageInfo;
 import com.uas.ps.entity.Product;
 import com.uas.ps.entity.ProductUsers;
+import com.uas.ps.product.entity.ProductPrivateView;
 import com.uas.ps.product.search.model.PageParams;
 import com.uas.ps.product.service.ProductService;
 import com.uas.ps.product.search.model.SPage;
@@ -85,7 +86,7 @@ public class ProductGetController {
      * @return  物料
      */
     @RequestMapping(value = "/findByPageInfo", method = RequestMethod.GET)
-    public Page<Product> findByPageInfo(int pageNumber, int pageSize, String filters, Sort sort, String keyword) {
+    public Page<ProductPrivateView> findByPageInfo(int pageNumber, int pageSize, String filters, Sort sort, String keyword) {
         PageInfo pageInfo = new PageInfo(pageNumber, pageSize);
         Map<String, Object> map = JSON.parseObject(filters);
         pageInfo.setFilters(map);
@@ -93,8 +94,18 @@ public class ProductGetController {
         return productService.findByPageInfo(pageInfo, keyword);
     }
 
+    /**
+     * 物料搜索接口
+     *
+     * @param page 页码
+     * @param size 大小
+     * @param filters 过滤条件(包含)
+     * @param notEqualFilters 过滤条件(不包含)
+     * @param keyword 关键字
+     * @return
+     */
     @RequestMapping(value = "/searchProducts", method = RequestMethod.GET)
-    public SPage<Product> searchProducts(int page, int size, String filters, String notEqualFilters, Sort sort, String keyword) {
+    public SPage<Product> searchProducts(int page, int size, String filters, String notEqualFilters, String keyword) {
         Map<String, Object> equalMap = JSON.parseObject(filters);
         Map<String, Object> notEqualMap = JSON.parseObject(notEqualFilters);
         PageParams pageParams = new PageParams(page, size, equalMap, notEqualMap);

+ 17 - 0
src/main/java/com/uas/ps/product/dao/ProductPrivateViewDao.java

@@ -0,0 +1,17 @@
+package com.uas.ps.product.dao;
+
+import com.uas.ps.product.entity.ProductPrivateView;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.stereotype.Repository;
+
+/**
+ * 物料信息
+ *  与搜索用表“v$product$private”对应
+ *
+ * @author hejq
+ * @date 2018-08-02 19:41
+ */
+@Repository
+public interface ProductPrivateViewDao extends JpaSpecificationExecutor<ProductPrivateView>, JpaRepository<ProductPrivateView, Long> {
+}

+ 393 - 0
src/main/java/com/uas/ps/product/entity/ProductPrivateView.java

@@ -0,0 +1,393 @@
+package com.uas.ps.product.entity;
+
+import javax.persistence.*;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 物料信息
+ *  与搜索用表“v$product$private”对应
+ *
+ * @author hejq
+ * @date 2018-08-02 19:32
+ */
+@Entity
+@Table(name = "v$product$private")
+public class ProductPrivateView implements Serializable {
+
+    @Id
+    @Column(name = "pr_id")
+    private Long id;
+
+    /**
+     * 商品信息标题
+     */
+    @Column(name = "pr_title")
+    private String title;
+
+    /**
+     * 产品编号
+     */
+    @Column(name = "pr_code")
+    private String code;
+
+    /**
+     * 产品规格
+     */
+    @Column(name = "pr_spec")
+    private String spec;
+
+    /**
+     * 单位
+     */
+    @Column(name = "pr_unit")
+    private String unit;
+
+    /**
+     * 所属企业UU
+     */
+    @Column(name = "pr_enuu")
+    private Long enUU;
+
+    /**
+     * 个人UU 上传人的UU
+     */
+    @Column(name = "pr_useruu")
+    private Long userUU;
+
+    /**
+     * 价格
+     */
+    @Column(name = "pr_price")
+    private Double price;
+
+    /**
+     * 品牌(ERP) 上传时的品牌
+     */
+    @Column(name = "pr_brand")
+    private String brand;
+
+    /**
+     * 原厂型号(erp) 用户上传的型号
+     */
+    @Column(name = "pr_cmpcode")
+    private String cmpCode;
+
+    /**
+     * 买方ERP物料ID
+     */
+    @Column(name = "pr_sourceid")
+    private Long sourceId;
+
+    /**
+     * 保存erp传入数据的时间
+     */
+    @Column(name = "pr_erpdate")
+    private Date erpDate;
+
+    /**
+     * UUID 标准料号
+     */
+    @Column(name = "pr_cmpuuid")
+    private String cmpUuid;
+
+    /**
+     * 应用来源<br>
+     * 平台上传的为可以销售的
+     */
+    @Column(name = "pr_sourceapp")
+    private String sourceApp;
+
+    /**
+     * 类目(平台)(中文)
+     */
+    @Column(name = "pr_kind")
+    private String kind;
+
+    /**
+     * 类目(平台)(英文)
+     */
+    @Column(name = "pr_kinden")
+    private String kindEn;
+
+    /**
+     * 品牌(平台)(中文)
+     */
+    @Column(name = "pr_pbrand")
+    private String pBrand;
+
+    /**
+     * 品牌(平台)(英文)
+     */
+    @Column(name = "pr_pbranden")
+    private String pBrandEn;
+
+    /**
+     * 品牌(平台)(uuid)
+     */
+    @Column(name = "pr_pbranduuid")
+    private String pBrandUuid;
+
+    /**
+     * 型号(平台)
+     */
+    @Column(name = "pr_pcmpcode", length = 800)
+    private String pCmpCode;
+
+    /**
+     * 是否可卖<br>
+     * 1. 可以卖 <br>
+     * 0. 不可
+     */
+    @Column(name = "pr_issale")
+    private Short isSale;
+
+    /**
+     * 是否可买<br>
+     * 1. 可以买<br>
+     * 0. 不可
+     */
+    @Column(name = "pr_ispurchase")
+    private Short isPurchase;
+
+    /**
+     * 公开展示<br>
+     * <p>
+     * 1. 是<br>
+     * 0. 否
+     */
+    @Column(name = "pr_isshow")
+    private Short isShow;
+
+    /**
+     * 公开销售 <br>
+     * 1. 是<br>
+     * 0. 否
+     */
+    @Column(name = "pr_ispubsale")
+    private Short isPubsale;
+
+    /**
+     * 是否是标准物料<br>
+     * 1.YES<br>
+     * 0.NO
+     */
+    @Column(name = "pr_standard")
+    private Short standard;
+
+    /**
+     * 启用状态
+     *  1: 启用
+     *  0: 禁用
+     */
+    @Column(name = "pr_b2cenabled")
+    private Short b2cEnabled;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public String getTitle() {
+        return title;
+    }
+
+    public void setTitle(String title) {
+        this.title = title;
+    }
+
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code;
+    }
+
+    public String getSpec() {
+        return spec;
+    }
+
+    public void setSpec(String spec) {
+        this.spec = spec;
+    }
+
+    public String getUnit() {
+        return unit;
+    }
+
+    public void setUnit(String unit) {
+        this.unit = unit;
+    }
+
+    public Long getEnUU() {
+        return enUU;
+    }
+
+    public void setEnUU(Long enUU) {
+        this.enUU = enUU;
+    }
+
+    public Long getUserUU() {
+        return userUU;
+    }
+
+    public void setUserUU(Long userUU) {
+        this.userUU = userUU;
+    }
+
+    public Double getPrice() {
+        return price;
+    }
+
+    public void setPrice(Double price) {
+        this.price = price;
+    }
+
+    public String getBrand() {
+        return brand;
+    }
+
+    public void setBrand(String brand) {
+        this.brand = brand;
+    }
+
+    public String getCmpCode() {
+        return cmpCode;
+    }
+
+    public void setCmpCode(String cmpCode) {
+        this.cmpCode = cmpCode;
+    }
+
+    public Long getSourceId() {
+        return sourceId;
+    }
+
+    public void setSourceId(Long sourceId) {
+        this.sourceId = sourceId;
+    }
+
+    public Date getErpDate() {
+        return erpDate;
+    }
+
+    public void setErpDate(Date erpDate) {
+        this.erpDate = erpDate;
+    }
+
+    public String getCmpUuid() {
+        return cmpUuid;
+    }
+
+    public void setCmpUuid(String cmpUuid) {
+        this.cmpUuid = cmpUuid;
+    }
+
+    public String getSourceApp() {
+        return sourceApp;
+    }
+
+    public void setSourceApp(String sourceApp) {
+        this.sourceApp = sourceApp;
+    }
+
+    public String getKind() {
+        return kind;
+    }
+
+    public void setKind(String kind) {
+        this.kind = kind;
+    }
+
+    public String getKindEn() {
+        return kindEn;
+    }
+
+    public void setKindEn(String kindEn) {
+        this.kindEn = kindEn;
+    }
+
+    public String getpBrand() {
+        return pBrand;
+    }
+
+    public void setpBrand(String pBrand) {
+        this.pBrand = pBrand;
+    }
+
+    public String getpBrandEn() {
+        return pBrandEn;
+    }
+
+    public void setpBrandEn(String pBrandEn) {
+        this.pBrandEn = pBrandEn;
+    }
+
+    public String getpBrandUuid() {
+        return pBrandUuid;
+    }
+
+    public void setpBrandUuid(String pBrandUuid) {
+        this.pBrandUuid = pBrandUuid;
+    }
+
+    public String getpCmpCode() {
+        return pCmpCode;
+    }
+
+    public void setpCmpCode(String pCmpCode) {
+        this.pCmpCode = pCmpCode;
+    }
+
+    public Short getIsSale() {
+        return isSale;
+    }
+
+    public void setIsSale(Short isSale) {
+        this.isSale = isSale;
+    }
+
+    public Short getIsPurchase() {
+        return isPurchase;
+    }
+
+    public void setIsPurchase(Short isPurchase) {
+        this.isPurchase = isPurchase;
+    }
+
+    public Short getIsShow() {
+        return isShow;
+    }
+
+    public void setIsShow(Short isShow) {
+        this.isShow = isShow;
+    }
+
+    public Short getIsPubsale() {
+        return isPubsale;
+    }
+
+    public void setIsPubsale(Short isPubsale) {
+        this.isPubsale = isPubsale;
+    }
+
+    public Short getStandard() {
+        return standard;
+    }
+
+    public void setStandard(Short standard) {
+        this.standard = standard;
+    }
+
+    public Short getB2cEnabled() {
+        return b2cEnabled;
+    }
+
+    public void setB2cEnabled(Short b2cEnabled) {
+        this.b2cEnabled = b2cEnabled;
+    }
+}

+ 2 - 1
src/main/java/com/uas/ps/product/service/ProductService.java

@@ -3,6 +3,7 @@ package com.uas.ps.product.service;
 import com.uas.ps.core.page.PageInfo;
 import com.uas.ps.entity.Product;
 import com.uas.ps.product.entity.Prod;
+import com.uas.ps.product.entity.ProductPrivateView;
 import com.uas.ps.product.entity.ProductSaler;
 import com.uas.ps.support.ResultMap;
 import org.springframework.data.domain.Page;
@@ -377,5 +378,5 @@ public interface ProductService {
      * @param keyword 关键词
      * @return 物料page
      */
-    Page<Product> findByPageInfo(PageInfo pageInfo, String keyword);
+    Page<ProductPrivateView> findByPageInfo(PageInfo pageInfo, String keyword);
 }

+ 8 - 19
src/main/java/com/uas/ps/product/service/impl/ProductServiceImpl.java

@@ -12,11 +12,9 @@ import com.uas.ps.core.page.criteria.SimpleExpression;
 import com.uas.ps.core.util.StringUtils;
 import com.uas.ps.entity.*;
 import com.uas.ps.product.ProductConstant;
+import com.uas.ps.product.dao.ProductPrivateViewDao;
 import com.uas.ps.product.data.MyJdbcTemplate;
-import com.uas.ps.product.entity.Constant;
-import com.uas.ps.product.entity.Prod;
-import com.uas.ps.product.entity.ProductReplace;
-import com.uas.ps.product.entity.ProductSaler;
+import com.uas.ps.product.entity.*;
 import com.uas.ps.product.repository.*;
 import com.uas.ps.product.service.ProductService;
 import com.uas.ps.product.sync.WaitSyncHelper;
@@ -73,9 +71,6 @@ public class ProductServiceImpl implements ProductService {
     @Autowired
     private MyJdbcTemplate jdbcTemplate;
 
-    @Autowired
-    private WaitSyncHelper waitSyncHelper;
-
     @Autowired
     private ProductPrivateDao productPrivateDao;
 
@@ -85,6 +80,9 @@ public class ProductServiceImpl implements ProductService {
     @Autowired
     private SyncMessageDao syncMessageDao;
 
+    @Autowired
+    private ProductPrivateViewDao privateViewDao;
+
     /**
      * B2C物料可用属性
      */
@@ -1146,7 +1144,7 @@ public class ProductServiceImpl implements ProductService {
      * @return 物料page
      */
     @Override
-    public Page<Product> findByPageInfo(final PageInfo pageInfo, String keyword) {
+    public Page<ProductPrivateView> findByPageInfo(final PageInfo pageInfo, String keyword) {
         if (null == pageInfo) {
             return null;
         }
@@ -1154,18 +1152,9 @@ public class ProductServiceImpl implements ProductService {
             Sort sort = new Sort(Sort.Direction.DESC, "id");
             pageInfo.setSort(sort);
         }
-        if (!StringUtils.isEmpty(keyword)) {
-            SimpleExpression pBrandEn = new SimpleExpression("pBrandEn", keyword, CriterionExpression.Operator.LIKE);
-            SimpleExpression title = new SimpleExpression("title", keyword, CriterionExpression.Operator.LIKE);
-            SimpleExpression pCmpCode = new SimpleExpression("pCmpCode", keyword, CriterionExpression.Operator.LIKE);
-            SimpleExpression spec = new SimpleExpression("spec", keyword, CriterionExpression.Operator.LIKE);
-            SimpleExpression[] simpleExpressions = new SimpleExpression[]{pBrandEn, title, pCmpCode, spec};
-            LogicalExpression logicalExpression = PredicateUtils.or(simpleExpressions);
-            pageInfo.expression(logicalExpression);
-        }
-        return productDao.findAll(new Specification<Product>() {
+        return privateViewDao.findAll(new Specification<ProductPrivateView>() {
             @Override
-            public Predicate toPredicate(Root<Product> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
+            public Predicate toPredicate(Root<ProductPrivateView> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
                 query.where(pageInfo.getPredicates(root, query, cb));
                 return null;
             }

+ 1 - 1
src/main/java/com/uas/ps/product/service/impl/ProductUsersServiceImpl.java

@@ -39,7 +39,7 @@ import java.util.Set;
  * 个人物料
  * 
  * @author hejq
- * @date 2018-08-02 18:05
+ * @date 2018-08-02 19:32
  */
 @Service
 public class ProductUsersServiceImpl implements ProductUsersService {