Ver Fonte

有overdue属性的,在实体内比较时间减一天,使到截止日期当天不会被更新为过期;主动报价新增enddate字段和overdue字段重新建索引。

dongbw há 8 anos atrás
pai
commit
dd79cfa73b

+ 2 - 1
search-console-b2b/src/main/java/com/uas/search/console/b2b/model/ErpSaleTenderSimpleInfo.java

@@ -301,7 +301,8 @@ public class ErpSaleTenderSimpleInfo {
 		if (endDate == null) {
 			return null;
 		}
-		Date date = new Date();
+		Date before = new Date();
+		Date date = new Date(before.getTime() - 24 * 60 * 60 * 1000);
 		Calendar now = Calendar.getInstance();
 		now.set(Calendar.YEAR, date.getYear());
 		now.set(Calendar.MONTH, date.getMonth());

+ 2 - 1
search-console-b2b/src/main/java/com/uas/search/console/b2b/model/PurcInquiryItemSimpleInfo2.java

@@ -139,7 +139,8 @@ public class PurcInquiryItemSimpleInfo2 {
 		if (this.getInquiry().getEndDate() == null) {
 			return null;
 		}
-		Date date = new Date();
+		Date before = new Date();
+		Date date = new Date(before.getTime() - 24 * 60 * 60 * 1000);
 		Calendar now = Calendar.getInstance();
 		now.set(Calendar.YEAR, date.getYear());
 		now.set(Calendar.MONTH, date.getMonth());

+ 2 - 1
search-console-b2b/src/main/java/com/uas/search/console/b2b/model/PurchaseInquiryItemSimpleInfo.java

@@ -175,7 +175,8 @@ public class PurchaseInquiryItemSimpleInfo {
 		if (this.getInquiry().getEndDate() == null) {
 			return 0;
 		}
-		Date date = new Date();
+		Date before = new Date();
+		Date date = new Date(before.getTime() - 24 * 60 * 60 * 1000);
 		Calendar now = Calendar.getInstance();
 		now.set(Calendar.YEAR, date.getYear());
 		now.set(Calendar.MONTH, date.getMonth());

+ 2 - 1
search-console-b2b/src/main/java/com/uas/search/console/b2b/model/PurchaseInquiryMouldSimpleInfo.java

@@ -185,7 +185,8 @@ public class PurchaseInquiryMouldSimpleInfo {
 		if (endDate == null) {
 			return null;
 		}
-		Date date = new Date();
+		Date before = new Date();
+		Date date = new Date(before.getTime() - 24 * 60 * 60 * 1000);
 		Calendar now = Calendar.getInstance();
 		now.set(Calendar.YEAR, date.getYear());
 		now.set(Calendar.MONTH, date.getMonth());

+ 2 - 1
search-console-b2b/src/main/java/com/uas/search/console/b2b/model/PurchaseTenderSimpleInfo.java

@@ -345,7 +345,8 @@ public class PurchaseTenderSimpleInfo {
 		if (endDate == null) {
 			return null;
 		}
-		Date date = new Date();
+		Date before = new Date();
+		Date date = new Date(before.getTime() - 24 * 60 * 60 * 1000);
 		Calendar now = Calendar.getInstance();
 		now.set(Calendar.YEAR, date.getYear());
 		now.set(Calendar.MONTH, date.getMonth());

+ 52 - 1
search-console-b2b/src/main/java/com/uas/search/console/b2b/model/SaleQuotationSimpleInfo.java

@@ -1,6 +1,7 @@
 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;
@@ -42,12 +43,16 @@ public class SaleQuotationSimpleInfo {
 
 	public static final String DATE_FIELD = "qu_date";
 
+	public static final String ENDDATE_FIELD = "qu_enddate";
+
 	public static final String ENTERPRISE_FIELD = "qu_enuu";
 
 	public static final String VEND_FIELD = "qu_custuu";
 
 	public static final String ITEMS_FIELD = "qd_quid";
 
+	public static final String OVERDUE_FIELD = "qu_overdue";
+
 	@Id
 	@Column(name = ID_FIELD)
 	private Long id;
@@ -71,6 +76,12 @@ public class SaleQuotationSimpleInfo {
 	@Column(name = DATE_FIELD)
 	private Date date;
 
+	/**
+	 * 有效截止日期
+	 */
+	@Column(name = ENDDATE_FIELD)
+	private Date endDate;
+
 	/**
 	 * 企业UU
 	 */
@@ -92,6 +103,11 @@ public class SaleQuotationSimpleInfo {
 	@JoinColumn(name = ITEMS_FIELD, updatable = false, insertable = false)
 	private Set<SaleQuotationItemSimpleInfo> saleQuotationItems;
 
+	/**
+	 * 是否过期(过了截止日期为1,没过为0)
+	 */
+	private Short qu_overdue;
+
 	public Long getId() {
 		return id;
 	}
@@ -148,6 +164,40 @@ public class SaleQuotationSimpleInfo {
 		this.saleQuotationItems = saleQuotationItems;
 	}
 
+	public Date getEndDate() {
+		return endDate;
+	}
+
+	public void setEndDate(Date endDate) {
+		this.endDate = endDate;
+	}
+
+	@SuppressWarnings("deprecation")
+	public Short getOverdue() {
+		if (endDate == null) {
+			return 0;
+		}
+		Date before = new Date();
+		Date date = new Date(before.getTime() - 24 * 60 * 60 * 1000);
+		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, endDate.getYear());
+		end.set(Calendar.MONTH, endDate.getMonth());
+		end.set(Calendar.DAY_OF_MONTH, endDate.getDate());
+		if (now.compareTo(end) > 0) {
+			return 1;
+		} else {
+			return 0;
+		}
+	}
+
+	public void setOverdue(Short overdue) {
+		this.qu_overdue = overdue;
+	}
+
 	/**
 	 * 获取所有可以搜索的字段列名(索引的field名)
 	 * 
@@ -164,7 +214,8 @@ public class SaleQuotationSimpleInfo {
 	@Override
 	public String toString() {
 		return "SaleQuotationSimpleInfo [id=" + id + ", code=" + code + ", status=" + status + ", date=" + date
-				+ ", enterprise=" + enterprise + ", vend=" + vend + ", saleQuotationItems=" + saleQuotationItems + "]";
+				+ ", endDate=" + endDate + ", enterprise=" + enterprise + ", vend=" + vend + ", saleQuotationItems="
+				+ saleQuotationItems + "]";
 	}
 
 }

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

@@ -571,6 +571,16 @@ public class DocumentToObjectUtils {
 				document.get(ClassAndTableNameUtils.combineField(tableName, SaleQuotationSimpleInfo.STATUS_FIELD))));
 		saleQuotation.setDate(new Date(Long.valueOf(
 				document.get(ClassAndTableNameUtils.combineField(tableName, SaleQuotationSimpleInfo.DATE_FIELD)))));
+		String endDate = document
+				.get(ClassAndTableNameUtils.combineField(tableName, SaleQuotationSimpleInfo.ENDDATE_FIELD));
+		if (null != endDate) {
+			saleQuotation.setEndDate(new Date(Long.valueOf(endDate)));
+		}
+		String overdue = document
+				.get(ClassAndTableNameUtils.combineField(tableName, SaleQuotationSimpleInfo.OVERDUE_FIELD));
+		if (null != overdue) {
+			saleQuotation.setOverdue(Short.valueOf(overdue));
+		}
 		saleQuotation.setEnterprise(JSONObject.parseObject(
 				document.get(ClassAndTableNameUtils.combineField(tableName, SaleQuotationSimpleInfo.ENTERPRISE_FIELD)),
 				EnterpriseSimpleInfo.class));

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

@@ -367,6 +367,16 @@ public class ObjectToDocumentUtils {
 				String.valueOf(saleQuotation.getCode()), Store.YES));
 		document.add(new LongField(ClassAndTableNameUtils.combineField(tableName, SaleQuotationSimpleInfo.DATE_FIELD),
 				saleQuotation.getDate().getTime(), Store.YES));
+		if (!StringUtils.isEmpty(saleQuotation.getEndDate())) {
+			document.add(
+					new LongField(ClassAndTableNameUtils.combineField(tableName, SaleQuotationSimpleInfo.ENDDATE_FIELD),
+							saleQuotation.getEndDate().getTime(), Store.YES));
+		}
+		if (null != saleQuotation.getOverdue()) {
+			document.add(new StringField(
+					ClassAndTableNameUtils.combineField(tableName, SaleQuotationSimpleInfo.OVERDUE_FIELD),
+					String.valueOf(saleQuotation.getOverdue()), Store.YES));
+		}
 		document.add(
 				new StringField(ClassAndTableNameUtils.combineField(tableName, SaleQuotationSimpleInfo.STATUS_FIELD),
 						String.valueOf(saleQuotation.getStatus()), Store.YES));