Procházet zdrojové kódy

新增代采订单的搜索

hejq před 8 roky
rodič
revize
1462670a48

+ 8 - 1
search-api-b2b/src/main/java/com/uas/search/b2b/service/SearchService.java

@@ -157,10 +157,17 @@ public interface SearchService {
 		 * 器件信息表
 		 */
 		PRODUCT$COMPONENT("PRODUCT$COMPONENT"),
+
 		/**
 		 * 招标单表
 		 */
-		PURC$TENDER("PURC$TENDER");
+		PURC$TENDER("PURC$TENDER"),
+
+		/**
+		 * 代采订单表
+		 */
+		PURC$DEPUTYORDERS("PURC$DEPUTYORDERS");
+
 		// TODO
 
 		private Table_name(String phrase) {

+ 13 - 0
search-console-b2b/src/main/java/com/uas/search/console/b2b/dao/DeputyOrderSimpleInfoDao.java

@@ -0,0 +1,13 @@
+package com.uas.search.console.b2b.dao;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.stereotype.Repository;
+
+import com.uas.search.console.b2b.model.DeputyOrderSimpleInfo;
+
+@Repository
+public interface DeputyOrderSimpleInfoDao
+		extends JpaRepository<DeputyOrderSimpleInfo, Long>, JpaSpecificationExecutor<DeputyOrderSimpleInfo> {
+
+}

+ 132 - 0
search-console-b2b/src/main/java/com/uas/search/console/b2b/model/DeputyOrderItemSimpleInfo.java

@@ -0,0 +1,132 @@
+package com.uas.search.console.b2b.model;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.Table;
+
+@Entity
+@Table(name = "purc$deputyorderitems")
+public class DeputyOrderItemSimpleInfo {
+
+	/**
+	 * id
+	 */
+	@Id
+	@Column(name = "dei_id")
+	private Long id;
+
+	/**
+	 * 产品名称
+	 */
+	@Column(name = "dei_prodname")
+	private String prodname;
+
+	/**
+	 * 产品型号
+	 */
+	@Column(name = "dei_prodcode")
+	private String prodcode;
+
+	/**
+	 * 产品规格
+	 */
+	@Column(name = "dei_prodspec")
+	private String prodspec;
+
+	/**
+	 * 数量
+	 */
+	@Column(name = "dei_amount")
+	private Integer amount;
+
+	/**
+	 * 单价
+	 */
+	@Column(name = "dei_unitprice")
+	private Double unitprice;
+
+	/**
+	 * 总金额
+	 */
+	@Column(name = "dei_totalprice")
+	private Double totalprice;
+
+	/**
+	 * 备注
+	 */
+	@Column(name = "dei_remark")
+	private String remark;
+
+	public Long getId() {
+		return id;
+	}
+
+	public void setId(Long id) {
+		this.id = id;
+	}
+
+	public String getProdname() {
+		return prodname;
+	}
+
+	public void setProdname(String prodname) {
+		this.prodname = prodname;
+	}
+
+	public String getProdcode() {
+		return prodcode;
+	}
+
+	public void setProdcode(String prodcode) {
+		this.prodcode = prodcode;
+	}
+
+	public String getProdspec() {
+		return prodspec;
+	}
+
+	public void setProdspec(String prodspec) {
+		this.prodspec = prodspec;
+	}
+
+	public Integer getAmount() {
+		return amount;
+	}
+
+	public void setAmount(Integer amount) {
+		this.amount = amount;
+	}
+
+	public Double getUnitprice() {
+		return unitprice;
+	}
+
+	public void setUnitprice(Double unitprice) {
+		this.unitprice = unitprice;
+	}
+
+	public Double getTotalprice() {
+		return totalprice;
+	}
+
+	public void setTotalprice(Double totalprice) {
+		this.totalprice = totalprice;
+	}
+
+	public String getRemark() {
+		return remark;
+	}
+
+	public void setRemark(String remark) {
+		this.remark = remark;
+	}
+
+	@Override
+	public String toString() {
+		return "DeputyOrderItemSimpleInfo [id=" + id + ", prodname=" + prodname + ", prodcode=" + prodcode
+				+ ", prodspec=" + prodspec + ", amount=" + amount + ", unitprice=" + unitprice + ", totalprice="
+				+ totalprice + ", remark=" + remark + "]";
+	}
+
+}

+ 274 - 0
search-console-b2b/src/main/java/com/uas/search/console/b2b/model/DeputyOrderSimpleInfo.java

@@ -0,0 +1,274 @@
+package com.uas.search.console.b2b.model;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Set;
+
+import javax.persistence.CascadeType;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.FetchType;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.OneToMany;
+import javax.persistence.Table;
+
+
+/**
+ * 代采定单
+ * 
+ * @author hejq
+ * @time 创建时间:2017年3月19日
+ */
+@Entity
+@Table(name = DeputyOrderSimpleInfo.TABLE_NAME)
+public class DeputyOrderSimpleInfo {
+
+	public static final String TABLE_NAME = "PURC$DEPUTYORDERS";
+
+	/**
+	 * 各字段名
+	 */
+	public static final String ID_FIELD = "deo_id";
+
+	public static final String CODE_FIELD = "deo_code";
+
+	public static final String STATUSCOE_FIELD = "deo_statuscode";
+
+	public static final String MADEALCODE_FIELD = "deo_madealcode";
+	
+	public static final String TERVENDOR_FIELD = "deo_tervendor";
+	
+	public static final String TERVENDUU_FEILD = "deo_tervenduu";
+
+	public static final String VENDUSER_FIELD = "deo_venduser";
+
+	public static final String VENDUSERUU_FIELD = "deo_venduseruu";
+
+	public static final String ITEMS_FIELD = "dei_deoid";
+
+	public static final String COMPANYNAME_FIELD = "deo_companyname";
+
+	public static final String LEGALREPRESENT_FIELD = "deo_legalrepresent";
+
+	public static final String CUSTOMER_FIELD = "deo_customer";
+
+	public static final String ENUU_FIELD = "deo_enuu";
+
+	/**
+	 * 主键id
+	 */
+	@Id
+	@Column(name = ID_FIELD)
+	private Long id;
+
+	/**
+	 * 流水号
+	 */
+	@Column(name = CODE_FIELD)
+	private String code;
+		
+	/**
+	 * 状态码
+	 */
+	@Column(name = STATUSCOE_FIELD)
+	private Integer statuscode;
+
+
+	/**
+	 * 主协议编号
+	 */
+	@Column(name = MADEALCODE_FIELD)
+	private String madealcode;
+
+	/**
+	 * 终端供应商名称
+	 */
+	@Column(name = TERVENDOR_FIELD)
+	private String tervendor;
+
+	/**
+	 * 终端供应商uu
+	 */
+	@Column(name = TERVENDUU_FEILD)
+	private Long tervenduu;
+
+	/**
+	 * 供应商联系人
+	 */
+	@Column(name = VENDUSER_FIELD)
+	private String venduser;
+		
+	/**
+	 * 联系人uu
+	 */
+	@Column(name = VENDUSERUU_FIELD)
+	private Long venduseruu;
+
+
+	/**
+	 * 采购变更单明细
+	 */
+	@OneToMany(cascade = { CascadeType.ALL }, fetch = FetchType.EAGER)
+	@JoinColumn(name = ITEMS_FIELD, insertable = false, updatable = false)
+	private Set<DeputyOrderItemSimpleInfo> deputyOrderItems;
+
+	/**
+	 * 公司全称
+	 */
+	@Column(name = COMPANYNAME_FIELD)
+	private String companyname;
+
+
+	/**
+	 * 我方法定代表人
+	 */
+	@Column(name = LEGALREPRESENT_FIELD)
+	private String legalrepresent;
+
+	/**
+	 * 客户名称
+	 */
+	@Column(name = CUSTOMER_FIELD)
+	private String customer;
+
+	/**
+	 * 录入企业uu
+	 */
+	@Column(name = ENUU_FIELD)
+	private Long enuu;
+
+	public Long getId() {
+		return id;
+	}
+
+	public void setId(Long id) {
+		this.id = id;
+	}
+
+	public String getCode() {
+		return code;
+	}
+
+	public void setCode(String code) {
+		this.code = code;
+	}
+
+	public Integer getStatuscode() {
+		return statuscode;
+	}
+
+	public void setStatuscode(Integer statuscode) {
+		this.statuscode = statuscode;
+	}
+
+	public String getMadealcode() {
+		return madealcode;
+	}
+
+	public void setMadealcode(String madealcode) {
+		this.madealcode = madealcode;
+	}
+
+	public String getTervendor() {
+		return tervendor;
+	}
+
+	public void setTervendor(String tervendor) {
+		this.tervendor = tervendor;
+	}
+
+	public Long getTervenduu() {
+		return tervenduu;
+	}
+
+	public void setTervenduu(Long tervenduu) {
+		this.tervenduu = tervenduu;
+	}
+
+	public String getVenduser() {
+		return venduser;
+	}
+
+	public void setVenduser(String venduser) {
+		this.venduser = venduser;
+	}
+
+	public Long getVenduseruu() {
+		return venduseruu;
+	}
+
+	public void setVenduseruu(Long venduseruu) {
+		this.venduseruu = venduseruu;
+	}
+
+	public Set<DeputyOrderItemSimpleInfo> getDeputyOrderItems() {
+		return deputyOrderItems;
+	}
+
+	public void setDeputyOrderItems(Set<DeputyOrderItemSimpleInfo> deputyOrderItems) {
+		this.deputyOrderItems = deputyOrderItems;
+	}
+
+	public String getCompanyname() {
+		return companyname;
+	}
+
+	public void setCompanyname(String companyname) {
+		this.companyname = companyname;
+	}
+
+	public String getLegalrepresent() {
+		return legalrepresent;
+	}
+
+	public void setLegalrepresent(String legalrepresent) {
+		this.legalrepresent = legalrepresent;
+	}
+
+	public String getCustomer() {
+		return customer;
+	}
+
+	public void setCustomer(String customer) {
+		this.customer = customer;
+	}
+
+	public Long getEnuu() {
+		return enuu;
+	}
+
+	public void setEnuu(Long enuu) {
+		this.enuu = enuu;
+	}
+
+	@Override
+	public String toString() {
+		return "DeputyOrderSimpleInfo [id=" + id + ", code=" + code + ", statuscode=" + statuscode + ", madealcode="
+				+ madealcode + ", tervendor=" + tervendor + ", tervenduu=" + tervenduu + ", venduser=" + venduser
+				+ ", venduseruu=" + venduseruu + ", deputyOrderItems=" + deputyOrderItems + ", companyname="
+				+ companyname + ", legalrepresent=" + legalrepresent + ", customer=" + customer + ", enuu=" + enuu
+				+ "]";
+	}
+
+	/**
+	 * 获取除了status外的所有字段的列名(field名)
+	 * 
+	 * @return
+	 */
+	public static List<String> getKeywordFields() {
+		List<String> fields = new ArrayList<>();
+		fields.add(CODE_FIELD);
+		fields.add(ITEMS_FIELD);
+		fields.add(COMPANYNAME_FIELD);
+		fields.add(CUSTOMER_FIELD);
+		fields.add(ENUU_FIELD);
+		fields.add(LEGALREPRESENT_FIELD);
+		fields.add(MADEALCODE_FIELD);
+		fields.add(TERVENDOR_FIELD);
+		fields.add(TERVENDUU_FEILD);
+		fields.add(VENDUSERUU_FIELD);
+		return fields;
+	}
+
+}

+ 4 - 0
search-console-b2b/src/main/java/com/uas/search/console/b2b/util/ClassAndTableNameUtils.java

@@ -14,6 +14,7 @@ import org.springframework.data.jpa.repository.JpaRepository;
 import com.uas.search.b2b.exception.SearchException;
 import com.uas.search.b2b.service.SearchService.Table_name;
 import com.uas.search.console.b2b.core.util.ContextUtils;
+import com.uas.search.console.b2b.dao.DeputyOrderSimpleInfoDao;
 import com.uas.search.console.b2b.dao.EnterpriseSearchSimpleInfoDao;
 import com.uas.search.console.b2b.dao.MakeAcceptSimpleInfoDao;
 import com.uas.search.console.b2b.dao.MakeOrderChangeItemSimpleInfoDao;
@@ -41,6 +42,7 @@ import com.uas.search.console.b2b.dao.PurchaseTenderSimpleInfoDao;
 import com.uas.search.console.b2b.dao.SaleArcheckSimpleInfoDao;
 import com.uas.search.console.b2b.dao.SaleQuotationSimpleInfoDao;
 import com.uas.search.console.b2b.dao.SaleSendSimpleInfoDao;
+import com.uas.search.console.b2b.model.DeputyOrderSimpleInfo;
 import com.uas.search.console.b2b.model.EnterpriseSearchSimpleInfo;
 import com.uas.search.console.b2b.model.MakeAcceptSimpleInfo;
 import com.uas.search.console.b2b.model.MakeOrderChangeItemSimpleInfo;
@@ -118,6 +120,7 @@ public class ClassAndTableNameUtils {
 		entityClasses.add(EnterpriseSearchSimpleInfo.class);
 		entityClasses.add(ProductComponentSimpleInfo.class);
 		entityClasses.add(PurchaseTenderSimpleInfo.class);
+		entityClasses.add(DeputyOrderSimpleInfo.class);
 		// TODO 其他表
 
 		// entityClasses和entityDaoClasses对于表的添加顺序必须一致
@@ -149,6 +152,7 @@ public class ClassAndTableNameUtils {
 		entityDaoClasses.add(EnterpriseSearchSimpleInfoDao.class);
 		entityDaoClasses.add(ProductComponentSimpleInfoDao.class);
 		entityDaoClasses.add(PurchaseTenderSimpleInfoDao.class);
+		entityDaoClasses.add(DeputyOrderSimpleInfoDao.class);
 		// TODO 其他表的Dao
 	}
 

+ 38 - 0
search-console-b2b/src/main/java/com/uas/search/console/b2b/util/DocumentToObjectUtils.java

@@ -11,6 +11,8 @@ import com.alibaba.fastjson.JSONObject;
 import com.uas.search.b2b.exception.SearchException;
 import com.uas.search.b2b.service.SearchService.Table_name;
 import com.uas.search.console.b2b.model.BrandSimpleInfo;
+import com.uas.search.console.b2b.model.DeputyOrderItemSimpleInfo;
+import com.uas.search.console.b2b.model.DeputyOrderSimpleInfo;
 import com.uas.search.console.b2b.model.EnterpriseSearchSimpleInfo;
 import com.uas.search.console.b2b.model.EnterpriseSimpleInfo;
 import com.uas.search.console.b2b.model.MakeAcceptItemSimpleInfo;
@@ -134,6 +136,8 @@ public class DocumentToObjectUtils {
 			return (T) toEnterprise(document);
 		} else if (clazz == ProductComponentSimpleInfo.class) {
 			return (T) toProdComponent(document);
+		} else if (clazz == DeputyOrderSimpleInfo.class) {
+			return (T) toDeputyOrder(document);
 		} else if (clazz == PurchaseTenderSimpleInfo.class) {
 			return (T) toPurchaseTenderSimpleInfo(document);
 		}
@@ -144,6 +148,40 @@ public class DocumentToObjectUtils {
 		}
 	}
 
+	private static DeputyOrderSimpleInfo toDeputyOrder(Document document) {
+		if (document == null) {
+			return null;
+		}
+		Table_name tableName = ClassAndTableNameUtils.toTableName(DeputyOrderSimpleInfo.class);
+		DeputyOrderSimpleInfo depOrder = new DeputyOrderSimpleInfo();
+		depOrder.setId(Long
+				.valueOf(document.get(ClassAndTableNameUtils.combineField(tableName, DeputyOrderSimpleInfo.ID_FIELD))));
+		depOrder.setEnuu(Long.valueOf(
+				document.get(ClassAndTableNameUtils.combineField(tableName, DeputyOrderSimpleInfo.ENUU_FIELD))));
+		depOrder.setTervenduu(Long.valueOf(
+				document.get(ClassAndTableNameUtils.combineField(tableName, DeputyOrderSimpleInfo.TERVENDUU_FEILD))));
+		depOrder.setVenduseruu(Long.valueOf(
+				document.get(ClassAndTableNameUtils.combineField(tableName, DeputyOrderSimpleInfo.VENDUSERUU_FIELD))));
+		depOrder.setCode(
+				document.get(ClassAndTableNameUtils.combineField(tableName, DeputyOrderSimpleInfo.CODE_FIELD)));
+		depOrder.setCompanyname(
+				document.get(ClassAndTableNameUtils.combineField(tableName, DeputyOrderSimpleInfo.COMPANYNAME_FIELD)));
+		depOrder.setCustomer(
+				document.get(ClassAndTableNameUtils.combineField(tableName, DeputyOrderSimpleInfo.CUSTOMER_FIELD)));
+		depOrder.setLegalrepresent(document
+				.get(ClassAndTableNameUtils.combineField(tableName, DeputyOrderSimpleInfo.LEGALREPRESENT_FIELD)));
+		depOrder.setTervendor(
+				document.get(ClassAndTableNameUtils.combineField(tableName, DeputyOrderSimpleInfo.TERVENDOR_FIELD)));
+		depOrder.setVenduser(
+				document.get(ClassAndTableNameUtils.combineField(tableName, DeputyOrderSimpleInfo.VENDUSER_FIELD)));
+		if (null != document.get(ClassAndTableNameUtils.combineField(tableName, DeputyOrderSimpleInfo.ITEMS_FIELD))) {
+			depOrder.setDeputyOrderItems(toSet(
+					document.get(ClassAndTableNameUtils.combineField(tableName, DeputyOrderSimpleInfo.ITEMS_FIELD)),
+					DeputyOrderItemSimpleInfo.class));
+		}
+		return depOrder;
+	}
+
 	private static ProductComponentSimpleInfo toProdComponent(Document document) {
 		if (document == null) {
 			return null;

+ 51 - 2
search-console-b2b/src/main/java/com/uas/search/console/b2b/util/ObjectToDocumentUtils.java

@@ -1,7 +1,5 @@
 package com.uas.search.console.b2b.util;
 
-import net.sf.ehcache.search.SearchException;
-
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.lucene.document.Document;
 import org.apache.lucene.document.Field.Store;
@@ -15,6 +13,7 @@ import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.uas.platform.core.model.Constant;
 import com.uas.search.b2b.service.SearchService.Table_name;
+import com.uas.search.console.b2b.model.DeputyOrderSimpleInfo;
 import com.uas.search.console.b2b.model.EnterpriseSearchSimpleInfo;
 import com.uas.search.console.b2b.model.MakeAcceptSimpleInfo;
 import com.uas.search.console.b2b.model.MakeOrderChangeItemSimpleInfo;
@@ -43,6 +42,8 @@ import com.uas.search.console.b2b.model.SaleArcheckSimpleInfo;
 import com.uas.search.console.b2b.model.SaleQuotationSimpleInfo;
 import com.uas.search.console.b2b.model.SaleSendSimpleInfo;
 
+import net.sf.ehcache.search.SearchException;
+
 /**
  * 将对象转换为Document的工具类
  * 
@@ -114,6 +115,8 @@ public class ObjectToDocumentUtils {
 			return toDocument((EnterpriseSearchSimpleInfo) object);
 		} else if (object instanceof ProductComponentSimpleInfo) {
 			return toDocument((ProductComponentSimpleInfo) object);
+		} else if (object instanceof DeputyOrderSimpleInfo) {
+			return toDocument((DeputyOrderSimpleInfo) object);
 		} else if (object instanceof PurchaseTenderSimpleInfo) {
 			return toDocument((PurchaseTenderSimpleInfo) object);
 		}
@@ -1551,6 +1554,52 @@ public class ObjectToDocumentUtils {
 						String.valueOf(prodComp.getKindid()), Store.YES));
 		return document;
 	}
+
+	/**
+	 * 将DeputyOrderSimpleInfo转换为Document
+	 * 
+	 * @param tender
+	 * @return
+	 */
+	public static Document toDocument(DeputyOrderSimpleInfo depOrder) {
+		if (depOrder == null || depOrder.getId() == null) {
+			return null;
+		}
+		Table_name tableName = ClassAndTableNameUtils.toTableName(ProductComponentSimpleInfo.class);
+		Document document = new Document();
+		// 不能用LongField,否则后续实时更新索引时,方法updateDocument(new Term("", ""),
+		// doc)无法根据id进行更新
+		document.add(new StringField(ClassAndTableNameUtils.combineField(tableName, DeputyOrderSimpleInfo.ID_FIELD),
+						String.valueOf(depOrder.getId()), Store.YES));
+		document.add(new StringField(ClassAndTableNameUtils.combineField(tableName, DeputyOrderSimpleInfo.CODE_FIELD),
+				String.valueOf(depOrder.getCode()), Store.YES));
+		document.add(
+				new StringField(ClassAndTableNameUtils.combineField(tableName, DeputyOrderSimpleInfo.CUSTOMER_FIELD),
+						String.valueOf(depOrder.getCustomer()), Store.YES));
+		document.add(new StringField(
+				ClassAndTableNameUtils.combineField(tableName, DeputyOrderSimpleInfo.LEGALREPRESENT_FIELD),
+				String.valueOf(depOrder.getLegalrepresent()), Store.YES));
+		document.add(
+				new StringField(ClassAndTableNameUtils.combineField(tableName, DeputyOrderSimpleInfo.VENDUSER_FIELD),
+						String.valueOf(depOrder.getId()), Store.YES));
+		document.add(
+				new StringField(ClassAndTableNameUtils.combineField(tableName, DeputyOrderSimpleInfo.STATUSCOE_FIELD),
+						String.valueOf(depOrder.getStatuscode()), Store.YES));
+		document.add(new StringField(ClassAndTableNameUtils.combineField(tableName, DeputyOrderSimpleInfo.ENUU_FIELD),
+				String.valueOf(depOrder.getEnuu()), Store.YES));
+		document.add(new TextField(ClassAndTableNameUtils.combineField(tableName, DeputyOrderSimpleInfo.ITEMS_FIELD),
+				String.valueOf(depOrder.getDeputyOrderItems()), Store.YES));
+		document.add(
+				new StringField(ClassAndTableNameUtils.combineField(tableName, DeputyOrderSimpleInfo.TERVENDUU_FEILD),
+						String.valueOf(depOrder.getTervenduu()), Store.YES));
+		document.add(
+				new TextField(ClassAndTableNameUtils.combineField(tableName, DeputyOrderSimpleInfo.COMPANYNAME_FIELD),
+						String.valueOf(depOrder.getCompanyname()), Store.YES));
+		document.add(
+				new StringField(ClassAndTableNameUtils.combineField(tableName, DeputyOrderSimpleInfo.TERVENDOR_FIELD),
+						String.valueOf(depOrder.getTervendor()), Store.YES));
+		return document;
+	}
 	
 	/**
 	 * 将PurcahseTenderSimplInfo转换为Document