Просмотр исходного кода

增加平台询价单的索引(查询公共接口)

hejq 9 лет назад
Родитель
Сommit
4460064b18

+ 11 - 0
search-console-b2b/src/main/java/com/uas/search/console/b2b/dao/PurcInquirySimpleInfoDao.java

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

+ 148 - 0
search-console-b2b/src/main/java/com/uas/search/console/b2b/model/PurcInquiryItemSimpleInfo.java

@@ -0,0 +1,148 @@
+package com.uas.search.console.b2b.model;
+
+import javax.persistence.CascadeType;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.ManyToOne;
+import javax.persistence.OneToOne;
+import javax.persistence.Table;
+
+/**
+ * 平台新增询价单明细
+ * 
+ * @author hejq
+ * @time 创建时间:2017年4月17日
+ */
+@Entity
+@Table(name = "purc$puinquirytimes")
+public class PurcInquiryItemSimpleInfo {
+
+	@Id
+	@Column(name = "id_id")
+	private Long id;
+
+	/**
+	 * 序号
+	 */
+	@Column(name = "id_number")
+	private Short number;
+
+	/**
+	 * 询价单
+	 */
+	@ManyToOne(cascade = CascadeType.ALL, optional = true)
+	@JoinColumn(name = "id_inid", nullable = false)
+	private PurcInquirySimpleInfo inquiry;
+
+	/**
+	 * 买家采购员UU
+	 */
+	@Column(name = "id_useruu")
+	private Long userUU;
+
+	/**
+	 * 产品
+	 */
+	@OneToOne(cascade = { CascadeType.REFRESH })
+	@JoinColumn(name = "id_prid", insertable = false, updatable = false)
+	private ProductSimpleInfo product;
+
+	@Column(name = "id_prid")
+	private Long productId;
+
+	/**
+	 * (卖家报的)物料品牌
+	 */
+	@Column(name = "id_brand")
+	private String brand;
+
+	/**
+	 * (卖家报的)供应商物料编号
+	 */
+	@Column(name = "id_vendorprodcode")
+	private String vendorprodcode;
+
+	/**
+	 * search项目进行是否已过期时实际根据主表中enddate与当前时间的比较获取,但是数据库无字段会报“标识符无效”的错误
+	 * 所以建立此字段,但是此字段不会赋值。
+	 * 
+	 * @return
+	 */
+	@Column(name = "id_overdue")
+	private Short overdue;
+
+	public Long getId() {
+		return id;
+	}
+
+	public void setId(Long id) {
+		this.id = id;
+	}
+
+	public Short getNumber() {
+		return number;
+	}
+
+	public void setNumber(Short number) {
+		this.number = number;
+	}
+
+	public PurcInquirySimpleInfo getInquiry() {
+		return inquiry;
+	}
+
+	public void setInquiry(PurcInquirySimpleInfo inquiry) {
+		this.inquiry = inquiry;
+	}
+
+	public Long getUserUU() {
+		return userUU;
+	}
+
+	public void setUserUU(Long userUU) {
+		this.userUU = userUU;
+	}
+
+	public ProductSimpleInfo getProduct() {
+		return product;
+	}
+
+	public void setProduct(ProductSimpleInfo product) {
+		this.product = product;
+	}
+
+	public Long getProductId() {
+		return productId;
+	}
+
+	public void setProductId(Long productId) {
+		this.productId = productId;
+	}
+
+	public String getBrand() {
+		return brand;
+	}
+
+	public void setBrand(String brand) {
+		this.brand = brand;
+	}
+
+	public String getVendorprodcode() {
+		return vendorprodcode;
+	}
+
+	public void setVendorprodcode(String vendorprodcode) {
+		this.vendorprodcode = vendorprodcode;
+	}
+
+	public Short getOverdue() {
+		return overdue;
+	}
+
+	public void setOverdue(Short overdue) {
+		this.overdue = overdue;
+	}
+
+}

+ 235 - 0
search-console-b2b/src/main/java/com/uas/search/console/b2b/model/PurcInquirySimpleInfo.java

@@ -0,0 +1,235 @@
+package com.uas.search.console.b2b.model;
+
+import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.Date;
+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.OneToOne;
+import javax.persistence.Table;
+
+@Entity
+@Table(name = PurcInquirySimpleInfo.TABLE_NAME)
+public class PurcInquirySimpleInfo {
+
+	/**
+	 * 表名
+	 */
+	public static final String TABLE_NAME = "PURC$PUINQUIRY";
+
+	public static final String ID_FIELD = "in_id";
+
+	public static final String RECORDERUU_FIELD = "in_recorderuu";
+
+	public static final String CODE_FIELD = "in_code";
+
+	public static final String DATE_FIELD = "in_date";
+
+	public static final String RECORDER_FIELD = "in_recorder";
+
+	public static final String ENDDATE_FIELD = "in_enddate";
+
+	public static final String ENTERYSTATUS_FIELD = "in_enterystatus";
+
+	public static final String ISOPEN_FIELD = "in_isopen";
+
+	public static final String ITEMS_FIELD = "id_inid";
+
+	public static final String ENTERPRISE_FIELD = "in_enuu";
+	@Id
+	@Column(name = ID_FIELD)
+	private Long id;
+
+	/**
+	 * 询价单所属用户UU
+	 */
+	@Column(name = RECORDERUU_FIELD)
+	private Long recorderUU;
+
+	/**
+	 * 询价企业
+	 */
+	@OneToOne(cascade = { CascadeType.MERGE, CascadeType.REFRESH })
+	@JoinColumn(name = ENTERPRISE_FIELD, insertable = false, updatable = false)
+	private EnterpriseSimpleInfo enterprise;
+
+	/**
+	 * 流水号
+	 */
+	@Column(name = CODE_FIELD)
+	private String code;
+
+	/**
+	 * 单据归属日期
+	 */
+	@Column(name = DATE_FIELD)
+	private Date date;
+
+	/**
+	 * 录入人
+	 */
+	@Column(name = RECORDER_FIELD)
+	private String recorder;
+
+	/**
+	 * 报价截止日期
+	 */
+	@Column(name = ENDDATE_FIELD)
+	private Date endDate;
+
+	/**
+	 * 询价明细
+	 */
+	@OneToMany(cascade = { CascadeType.ALL }, fetch = FetchType.EAGER)
+	@JoinColumn(name = ITEMS_FIELD, updatable = false, insertable = false)
+	private Set<PurcInquiryItemSimpleInfo> inquiryItems;
+
+	/**
+	 * 单据状态(已提交、在录入)
+	 */
+	@Column(name = ENTERYSTATUS_FIELD)
+	private Integer enteryStatus;
+
+	/**
+	 * 是否过期
+	 */
+	@SuppressWarnings("unused")
+	private Short overdue;
+
+	/**
+	 * 是否公开
+	 */
+	@Column(name = "in_isopen")
+	private Short isOpen;
+
+	public Long getId() {
+		return id;
+	}
+
+	public void setId(Long id) {
+		this.id = id;
+	}
+
+	public Long getRecorderUU() {
+		return recorderUU;
+	}
+
+	public void setRecorderUU(Long recorderUU) {
+		this.recorderUU = recorderUU;
+	}
+
+	public EnterpriseSimpleInfo getEnterprise() {
+		return enterprise;
+	}
+
+	public void setEnterprise(EnterpriseSimpleInfo enterprise) {
+		this.enterprise = enterprise;
+	}
+
+	public String getCode() {
+		return code;
+	}
+
+	public void setCode(String code) {
+		this.code = code;
+	}
+
+	public Date getDate() {
+		return date;
+	}
+
+	public void setDate(Date date) {
+		this.date = date;
+	}
+
+	public String getRecorder() {
+		return recorder;
+	}
+
+	public void setRecorder(String recorder) {
+		this.recorder = recorder;
+	}
+
+	public Date getEndDate() {
+		return endDate;
+	}
+
+	public void setEndDate(Date endDate) {
+		this.endDate = endDate;
+	}
+
+	public Set<PurcInquiryItemSimpleInfo> getInquiryItems() {
+		return inquiryItems;
+	}
+
+	public void setInquiryItems(Set<PurcInquiryItemSimpleInfo> inquiryItems) {
+		this.inquiryItems = inquiryItems;
+	}
+
+	public Integer getEnteryStatus() {
+		return enteryStatus;
+	}
+
+	public void setEnteryStatus(Integer enteryStatus) {
+		this.enteryStatus = enteryStatus;
+	}
+
+	@SuppressWarnings("deprecation")
+	public Short getOverdue() {
+		if (this.getEndDate() == null) {
+			return null;
+		}
+		Date date = new Date();
+		Calendar now = Calendar.getInstance();
+		now.set(Calendar.YEAR, date.getYear());
+		now.set(Calendar.MONTH, date.getMonth());
+		now.set(Calendar.DAY_OF_MONTH, date.getDate());
+		Calendar end = Calendar.getInstance();
+		end.set(Calendar.YEAR, this.getEndDate().getYear());
+		end.set(Calendar.MONTH, this.getEndDate().getMonth());
+		end.set(Calendar.DAY_OF_MONTH, this.getEndDate().getDate());
+		if (now.compareTo(end) > 0) {
+			return 1;
+		} else {
+			return 0;
+		}
+	}
+
+	public void setOverdue(Short overdue) {
+		this.overdue = overdue;
+	}
+
+	public Short getIsOpen() {
+		return isOpen;
+	}
+
+	public void setIsOpen(Short isOpen) {
+		this.isOpen = isOpen;
+	}
+
+	public static List<String> getKeywordFields() {
+		List<String> fields = new ArrayList<>();
+		fields.add(CODE_FIELD);
+		fields.add(RECORDER_FIELD);
+		fields.add(RECORDERUU_FIELD);
+		fields.add(ENTERPRISE_FIELD);
+		return fields;
+	}
+
+	@Override
+	public String toString() {
+		return "PurcInquirySimpleInfo [id=" + id + ", recorderUU=" + recorderUU + ", enterprise=" + enterprise
+				+ ", code=" + code + ", date=" + date + ", recorder=" + recorder + ", endDate=" + endDate
+				+ ", inquiryItems=" + inquiryItems + ", enteryStatus=" + enteryStatus + ", overdue=" + overdue
+				+ ", isOpen=" + isOpen + "]";
+	}
+
+}

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

@@ -24,6 +24,7 @@ import com.uas.search.console.b2b.dao.PagingReleaseDetailSimpleInfoDao;
 import com.uas.search.console.b2b.dao.ProdSimpleInfoDao;
 import com.uas.search.console.b2b.dao.ProductBrandSimpleInfoDao;
 import com.uas.search.console.b2b.dao.ProductComponentSimpleInfoDao;
+import com.uas.search.console.b2b.dao.PurcInquirySimpleInfoDao;
 import com.uas.search.console.b2b.dao.PurcProofingapprovalSimpleInfoDao;
 import com.uas.search.console.b2b.dao.PurcProofingsendSimpleInfoDao;
 import com.uas.search.console.b2b.dao.PurchaseAcceptSimpleInfoDao;
@@ -55,6 +56,7 @@ import com.uas.search.console.b2b.model.PagingReleaseDetailSimpleInfo;
 import com.uas.search.console.b2b.model.ProdSimpleInfo;
 import com.uas.search.console.b2b.model.ProductBrandSimpleInfo;
 import com.uas.search.console.b2b.model.ProductComponentSimpleInfo;
+import com.uas.search.console.b2b.model.PurcInquirySimpleInfo;
 import com.uas.search.console.b2b.model.PurcProofingapprovalSimpleInfo;
 import com.uas.search.console.b2b.model.PurcProofingsendSimpleInfo;
 import com.uas.search.console.b2b.model.PurchaseAcceptSimpleInfo;
@@ -133,6 +135,7 @@ public class ClassAndTableNameUtils {
 		entityClasses.add(VendorSimpleInfo.class);
 		entityClasses.add(ProductBrandSimpleInfo.class);
 		entityClasses.add(UserSpaceDetailSimpleInfo.class);
+		entityClasses.add(PurcInquirySimpleInfo.class);
 		// TODO 其他表
 
 		// entityClasses和entityDaoClasses对于表的添加顺序必须一致
@@ -169,6 +172,7 @@ public class ClassAndTableNameUtils {
 		entityDaoClasses.add(VendorSimpleInfoDao.class);
 		entityDaoClasses.add(ProductBrandSimpleInfoDao.class);
 		entityDaoClasses.add(UserSpaceDetailSimpleInfoDao.class);
+		entityDaoClasses.add(PurcInquirySimpleInfoDao.class);
 		// TODO 其他表的Dao
 	}
 

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

@@ -27,6 +27,8 @@ import com.uas.search.console.b2b.model.ProdSimpleInfo;
 import com.uas.search.console.b2b.model.ProductBrandSimpleInfo;
 import com.uas.search.console.b2b.model.ProductComponentSimpleInfo;
 import com.uas.search.console.b2b.model.ProductSimpleInfo;
+import com.uas.search.console.b2b.model.PurcInquiryItemSimpleInfo;
+import com.uas.search.console.b2b.model.PurcInquirySimpleInfo;
 import com.uas.search.console.b2b.model.PurcProofingapprovalSimpleInfo;
 import com.uas.search.console.b2b.model.PurcProofingsendSimpleInfo;
 import com.uas.search.console.b2b.model.PurchaseAcceptItemSimpleInfo;
@@ -153,6 +155,8 @@ public class DocumentToObjectUtils {
 			return (T) toProductBrandSimpleInfo(document);
 		} else if (clazz == UserSpaceDetailSimpleInfo.class) {
 			return (T) toUserSpaceDetail(document);
+		} else if (clazz == PurcInquirySimpleInfo.class) {
+			return (T) toPurcInquiry(document);
 		}
 
 
@@ -162,6 +166,56 @@ public class DocumentToObjectUtils {
 		}
 	}
 
+	private static PurcInquirySimpleInfo toPurcInquiry(Document document) {
+		if (document == null) {
+			return null;
+		}
+		Table_name tableName = ClassAndTableNameUtils.toTableName(PurcInquirySimpleInfo.class);
+		PurcInquirySimpleInfo inquiry = new PurcInquirySimpleInfo();
+		if (null != document.get(ClassAndTableNameUtils.combineField(tableName, PurcInquirySimpleInfo.ID_FIELD))) {
+			inquiry.setId(Long.valueOf(
+					document.get(ClassAndTableNameUtils.combineField(tableName, PurcInquirySimpleInfo.ID_FIELD))));
+		}
+		if (null != document.get(ClassAndTableNameUtils.combineField(tableName, PurcInquirySimpleInfo.CODE_FIELD))) {
+			inquiry.setCode(
+					document.get(ClassAndTableNameUtils.combineField(tableName, PurcInquirySimpleInfo.CODE_FIELD)));
+		}
+
+		if (null != document
+				.get(ClassAndTableNameUtils.combineField(tableName, PurcInquirySimpleInfo.ENTERYSTATUS_FIELD))) {
+			inquiry.setEnteryStatus(Integer.valueOf(document
+					.get(ClassAndTableNameUtils.combineField(tableName, PurcInquirySimpleInfo.ENTERYSTATUS_FIELD))));
+		}
+		if (null != document.get(ClassAndTableNameUtils.combineField(tableName, PurcInquirySimpleInfo.ISOPEN_FIELD))) {
+			inquiry.setIsOpen(Short.valueOf(
+					document.get(ClassAndTableNameUtils.combineField(tableName, PurcInquirySimpleInfo.ISOPEN_FIELD))));
+		}
+		if (null != document
+				.get(ClassAndTableNameUtils.combineField(tableName, PurcInquirySimpleInfo.RECORDERUU_FIELD))) {
+			inquiry.setRecorderUU(Long.valueOf(document
+					.get(ClassAndTableNameUtils.combineField(tableName, PurcInquirySimpleInfo.RECORDERUU_FIELD))));
+		}
+		if (null != document
+				.get(ClassAndTableNameUtils.combineField(tableName, PurcInquirySimpleInfo.RECORDER_FIELD))) {
+			inquiry.setCode(
+					document.get(ClassAndTableNameUtils.combineField(tableName, PurcInquirySimpleInfo.RECORDER_FIELD)));
+		}
+
+		if (null != document.get(ClassAndTableNameUtils.combineField(tableName, PurcInquirySimpleInfo.ITEMS_FIELD))) {
+			inquiry.setInquiryItems(toSet(
+					document.get(ClassAndTableNameUtils.combineField(tableName, PurcInquirySimpleInfo.ITEMS_FIELD)),
+					PurcInquiryItemSimpleInfo.class));
+		}
+		if (null != document
+				.get(ClassAndTableNameUtils.combineField(tableName, PurcInquirySimpleInfo.ENTERPRISE_FIELD))) {
+			inquiry.setEnterprise(JSONObject.parseObject(
+					document.get(
+							ClassAndTableNameUtils.combineField(tableName, PurcInquirySimpleInfo.ENTERPRISE_FIELD)),
+					EnterpriseSimpleInfo.class));
+		}
+		return inquiry;
+	}
+
 	private static UserSpaceDetailSimpleInfo toUserSpaceDetail(Document document) {
 		if (document == null) {
 			return null;

+ 52 - 0
search-console-b2b/src/main/java/com/uas/search/console/b2b/util/ObjectToDocumentUtils.java

@@ -23,6 +23,7 @@ import com.uas.search.console.b2b.model.PagingReleaseDetailSimpleInfo;
 import com.uas.search.console.b2b.model.ProdSimpleInfo;
 import com.uas.search.console.b2b.model.ProductBrandSimpleInfo;
 import com.uas.search.console.b2b.model.ProductComponentSimpleInfo;
+import com.uas.search.console.b2b.model.PurcInquirySimpleInfo;
 import com.uas.search.console.b2b.model.PurcProofingapprovalSimpleInfo;
 import com.uas.search.console.b2b.model.PurcProofingsendSimpleInfo;
 import com.uas.search.console.b2b.model.PurchaseAcceptSimpleInfo;
@@ -131,6 +132,8 @@ public class ObjectToDocumentUtils {
 			return toDocument((ProductBrandSimpleInfo) object);
 		} else if (object instanceof UserSpaceDetailSimpleInfo) {
 			return toDocument((UserSpaceDetailSimpleInfo) object);
+		} else if (object instanceof PurcInquirySimpleInfo) {
+			return toDocument((PurcInquirySimpleInfo) object);
 		}
 		// TODO 其他表
 		else {
@@ -1989,4 +1992,53 @@ public class ObjectToDocumentUtils {
 
 		return document;
 	}
+
+	/**
+	 * 将purcInquirySimpleInfo转成document
+	 * 
+	 * @param purcInquirySimpleInfo
+	 * @return
+	 */
+	public static Document toDocument(PurcInquirySimpleInfo purcInquirySimpleInfo) {
+		if (purcInquirySimpleInfo == null || purcInquirySimpleInfo.getId() == null) {
+			return null;
+		}
+		Table_name tableName = ClassAndTableNameUtils.toTableName(PurcInquirySimpleInfo.class);
+		Document document = new Document();
+		// 不能用LongField,否则后续实时更新索引时,方法updateDocument(new Term("", ""),
+		// doc)无法根据id进行更新
+		document.add(new StringField(ClassAndTableNameUtils.combineField(tableName, PurcInquirySimpleInfo.ID_FIELD),
+				String.valueOf(purcInquirySimpleInfo.getId()), Store.YES));
+		if (null != purcInquirySimpleInfo.getCode()) {
+			document.add(
+					new StringField(ClassAndTableNameUtils.combineField(tableName, PurcInquirySimpleInfo.CODE_FIELD),
+							String.valueOf(purcInquirySimpleInfo.getCode()), Store.YES));
+		}
+		if (null != purcInquirySimpleInfo.getEnteryStatus()) {
+			document.add(new StringField(
+					ClassAndTableNameUtils.combineField(tableName, PurcInquirySimpleInfo.ENTERYSTATUS_FIELD),
+					String.valueOf(purcInquirySimpleInfo.getEnteryStatus()), Store.YES));
+		}
+		if (null != purcInquirySimpleInfo.getIsOpen()) {
+			document.add(
+					new StringField(ClassAndTableNameUtils.combineField(tableName, PurcInquirySimpleInfo.ISOPEN_FIELD),
+							String.valueOf(purcInquirySimpleInfo.getIsOpen()), Store.YES));
+		}
+		if (null != purcInquirySimpleInfo.getRecorderUU()) {
+			document.add(new StringField(
+					ClassAndTableNameUtils.combineField(tableName, PurcInquirySimpleInfo.RECORDERUU_FIELD),
+					String.valueOf(purcInquirySimpleInfo.getRecorderUU()), Store.YES));
+		}
+		if (null != purcInquirySimpleInfo.getEnterprise()) {
+			document.add(new TextField(
+					ClassAndTableNameUtils.combineField(tableName, PurcInquirySimpleInfo.ENTERPRISE_FIELD),
+					JSONObject.toJSONString(purcInquirySimpleInfo.getEnterprise()), Store.YES));
+		}
+		// 排序字段
+		document.add(new NumericDocValuesField(
+				ClassAndTableNameUtils.combineField(tableName, PurcInquirySimpleInfo.ID_FIELD),
+				purcInquirySimpleInfo.getId()));
+
+		return document;
+	}
 }