yeawood_consts 1.0.16 → 1.0.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +14 -16
- package/package.json +1 -1
package/index.js
CHANGED
|
@@ -79,42 +79,40 @@ exports.TENDER_CEE_ORDER_STATES = [
|
|
|
79
79
|
}
|
|
80
80
|
]
|
|
81
81
|
|
|
82
|
-
exports.TENDER_CEE_ORDER_SORT_CALCULATOR = (state,
|
|
82
|
+
exports.TENDER_CEE_ORDER_SORT_CALCULATOR = (state, time) => {
|
|
83
83
|
const INFINITY = '9999999999999'
|
|
84
84
|
|
|
85
|
-
|
|
86
|
-
let quotingAtString
|
|
87
|
-
let quotedAtString
|
|
85
|
+
const sort = []
|
|
88
86
|
|
|
89
87
|
// 第一步:根据标的状态排序(升序)
|
|
90
|
-
// 投标开始(
|
|
88
|
+
// 投标开始(N0)> 预览结束(N1)> 预览开始(P0)投标结束(P3)
|
|
91
89
|
switch (state) {
|
|
92
90
|
case exports.TENDER_CEE_ORDER_STATE_PREVIEWED:
|
|
93
91
|
case exports.TENDER_CEE_ORDER_STATE_QUOTING:
|
|
94
|
-
|
|
92
|
+
sort.push(sprintf('N%d', 2 - state))
|
|
95
93
|
break
|
|
96
94
|
default:
|
|
97
|
-
|
|
95
|
+
sort.push(sprintf('P%d', 0 + state))
|
|
98
96
|
break
|
|
99
97
|
}
|
|
100
|
-
//
|
|
101
|
-
// 未结束的标的,
|
|
102
|
-
// 已结束的标的,
|
|
98
|
+
// 第二步:根据投标结束的时间排序(升序)
|
|
99
|
+
// 未结束的标的,quoted_at为实际值,因此先截标的放前面,后截标的放后面
|
|
100
|
+
// 已结束的标的,quoted_at为相同值,没有顺序可言,等于没排序,但因为是一个比较大的时间,因此更靠后
|
|
103
101
|
if (state === exports.TENDER_CEE_ORDER_STATE_QUOTED) {
|
|
104
|
-
|
|
102
|
+
sort.push(INFINITY)
|
|
105
103
|
} else {
|
|
106
|
-
|
|
104
|
+
sort.push(sprintf('%13d', time))
|
|
107
105
|
}
|
|
108
|
-
//
|
|
106
|
+
// 第三步:根据结束投标的时间排序(降序)
|
|
109
107
|
// 未结束的标的,quoted_at为正整数,意味着越晚完结的标的越靠后
|
|
110
108
|
// 已结束的标的,quoted_at为负整数,同时作为INFINITY的被减数(为了实现降序),意味着越晚完结的标的越靠前
|
|
111
109
|
if (state === exports.TENDER_CEE_ORDER_STATE_QUOTED) {
|
|
112
|
-
|
|
110
|
+
sort.push(sprintf('N%13d', new big(INFINITY).minus(time).toString()))
|
|
113
111
|
} else {
|
|
114
|
-
|
|
112
|
+
sort.push(sprintf('P%13d', time))
|
|
115
113
|
}
|
|
116
114
|
|
|
117
|
-
return
|
|
115
|
+
return sort.join('-')
|
|
118
116
|
}
|
|
119
117
|
|
|
120
118
|
exports.TENDER_CEE_ORDER_STATE_CALCULATOR = (
|