Browse Source

公共询价转成询价报价时增加对应物料编号同步

hejq 8 years ago
parent
commit
6c0b1970ff

+ 1 - 1
src/main/java/com/uas/ps/inquiry/dao/PublicInquiryItemDao.java

@@ -29,7 +29,7 @@ public interface PublicInquiryItemDao extends JpaRepository<PublicInquiryItem, L
      * @date 2018-01-14 11:49
      * @return
      */
-    @Query("from PublicInquiryItem d where d.inquiry.enUU = :enUU and d.backStatus = :backStatus and ifnull(d.sourceApp, ' ') <> 'B2B'")
+    @Query("from PublicInquiryItem d where d.inquiry.enUU = :enUU and d.backStatus = :backStatus and ifnull(d.source, ' ') = 'ERP'")
     List<PublicInquiryItem> findByEnUUAndBackStatus(@Param("enUU") Long enUU, @Param("backStatus") short backStatus);
 
     /**

+ 14 - 12
src/main/java/com/uas/ps/inquiry/model/PublicInquiryItem.java

@@ -93,7 +93,7 @@ public class PublicInquiryItem implements Serializable {
      * 物料编号,物料表加载不出来,这里用code去处理
      */
     @Column(name = "id_prcode")
-    private String prcode;
+    private String prodCode;
 
 	/**
 	 * 币种
@@ -289,7 +289,7 @@ public class PublicInquiryItem implements Serializable {
 	 * 保存询价的应用
 	 */
 	@Column(name = "id_sourceapp")
-	private String sourceApp;
+	private String source;
 
     /**
      * 报价的应用
@@ -398,12 +398,12 @@ public class PublicInquiryItem implements Serializable {
 		this.product = product;
 	}
 
-	public String getPrcode() {
-        return prcode;
+    public String getProdCode() {
+        return prodCode;
     }
 
-    public void setPrcode(String prcode) {
-        this.prcode = prcode;
+    public void setProdCode(String prodCode) {
+        this.prodCode = prodCode;
     }
 
     public String getCurrency() {
@@ -646,13 +646,13 @@ public class PublicInquiryItem implements Serializable {
 		this.date = date;
 	}
 
-	public String getSourceApp() {
-		return sourceApp;
-	}
+    public String getSource() {
+        return source;
+    }
 
-	public void setSourceApp(String sourceApp) {
-		this.sourceApp = sourceApp;
-	}
+    public void setSource(String source) {
+        this.source = source;
+    }
 
     public String getQutoApp() {
         return qutoApp;
@@ -766,6 +766,8 @@ public class PublicInquiryItem implements Serializable {
 		this.userName = item.getUserName();
 		this.userCode = item.getUserCode();
 		this.userTel = item.getUserTel();
+		this.prodCode = item.getProdCode();
+		this.source = item.getSource();
 	}
 
 	public PublicInquiryItem() {

+ 15 - 15
src/main/java/com/uas/ps/inquiry/model/PublicInquiryItemInfo.java

@@ -68,7 +68,7 @@ public class PublicInquiryItemInfo implements Serializable {
      * 物料编号,物料表加载不出来,这里用code去处理
      */
     @Column(name = "id_prcode")
-    private String prcode;
+    private String prodCode;
 
 	/**
 	 * 币种
@@ -249,7 +249,7 @@ public class PublicInquiryItemInfo implements Serializable {
 	 * 应用来源ERP、B2B
 	 */
 	@Column(name = "id_sourceapp")
-	private String sourceApp;
+	private String source;
 
 	/**
 	 * 报价的应用
@@ -357,15 +357,15 @@ public class PublicInquiryItemInfo implements Serializable {
 		this.product = product;
 	}
 
-	public String getPrcode() {
-        return prcode;
-    }
+	public String getProdCode() {
+		return prodCode;
+	}
 
-    public void setPrcode(String prcode) {
-        this.prcode = prcode;
-    }
+	public void setProdCode(String prodCode) {
+		this.prodCode = prodCode;
+	}
 
-    public String getCurrency() {
+	public String getCurrency() {
 		return currency;
 	}
 
@@ -565,12 +565,12 @@ public class PublicInquiryItemInfo implements Serializable {
 		this.date = date;
 	}
 
-	public String getSourceApp() {
-		return sourceApp;
+	public String getSource() {
+		return source;
 	}
 
-	public void setSourceApp(String sourceApp) {
-		this.sourceApp = sourceApp;
+	public void setSource(String source) {
+		this.source = source;
 	}
 
 	public String getQutoApp() {
@@ -672,7 +672,7 @@ public class PublicInquiryItemInfo implements Serializable {
 				", userUU=" + userUU +
 				", productId=" + productId +
 				", product=" + product +
-				", prcode='" + prcode + '\'' +
+				", prodCode='" + prodCode + '\'' +
 				", currency='" + currency + '\'' +
 				", taxrate=" + taxrate +
 				", remark='" + remark + '\'' +
@@ -700,7 +700,7 @@ public class PublicInquiryItemInfo implements Serializable {
 				", date=" + date +
 				", overdue=" + overdue +
 				", invalid=" + invalid +
-				", sourceApp='" + sourceApp + '\'' +
+				", source='" + source + '\'' +
 				", needquantity=" + needquantity +
 				", erpstatus=" + erpstatus +
 				", kind='" + kind + '\'' +

+ 18 - 20
src/main/java/com/uas/ps/inquiry/service/impl/PublicInquiryServiceImpl.java

@@ -606,28 +606,26 @@ public class PublicInquiryServiceImpl implements PublicInquiryService {
      * @return
      */
     @Override
-    public Page<PurcInquiryItemInfo> findTodoByPageInfo(final PageInfo info, SearchFilter filter) {
-        if (null != filter) {
-            int k = 1;
-            SimpleExpression[] simpArrs = new SimpleExpression[5];
-            simpArrs[0] = new SimpleExpression("inquiry.enUU", filter.getEnUU(), CriterionExpression.Operator.NE, true);
-            if (StringUtils.hasText(filter.getKeyword())) {
-                simpArrs[k] = new SimpleExpression("product.title", filter.getKeyword(), CriterionExpression.Operator.LIKE, true);
-                simpArrs[k + 1] = new SimpleExpression("product.code", filter.getKeyword(), CriterionExpression.Operator.LIKE, true);
-                simpArrs[k + 2] = new SimpleExpression("product.spec", filter.getKeyword(), CriterionExpression.Operator.LIKE, true);
-                simpArrs[k + 3] = new SimpleExpression("product.brand", filter.getKeyword(), CriterionExpression.Operator.LIKE, true);
-                LogicalExpression logical = new LogicalExpression(simpArrs, CriterionExpression.Operator.OR);
-                info.expression(logical);
-            }
-            if (filter.getFromDate() != null) {
-                info.expression(PredicateUtils.gte("date", new Date(filter.getFromDate()), false));
-            }
-            if (filter.getEndDate() != null) {
-                info.expression(PredicateUtils.lte("date", new Date(filter.getEndDate()), false));
-            }
-        }
+    public Page<PurcInquiryItemInfo> findTodoByPageInfo(final PageInfo info, final SearchFilter filter) {
         return inquiryItemInfoDao.findAll(new Specification<PurcInquiryItemInfo>() {
             public Predicate toPredicate(Root<PurcInquiryItemInfo> root, CriteriaQuery<?> query, CriteriaBuilder builder) {
+                if (null != filter) {
+                    if (filter.getFromDate() != null) {
+                        info.expression(PredicateUtils.gte("date", new Date(filter.getFromDate()), false));
+                    }
+                    if (filter.getEndDate() != null) {
+                        info.expression(PredicateUtils.lte("date", new Date(filter.getEndDate()), false));
+                    }
+                    if (filter.getEnUU() != null) {
+                        Predicate p = builder.notEqual(root.get("inquiry").get("enUU"), filter.getEnUU());
+                        builder.and(p);
+                    }
+                    if (filter.getKeyword() != null) {
+                        // 现在只用原厂型号搜索or
+                        Predicate p = builder.notEqual(root.get("product").get("cmpCode"), "%" + filter.getKeyword() + "%");
+                        builder.or(p);
+                    }
+                }
                 query.where(info.getPredicates(root, query, builder));
                 return null;
             }