Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
D
dc-java
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
huluobin
dc-java
Commits
21e7682a
Commit
21e7682a
authored
Feb 06, 2021
by
huluobin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
# 更新
parent
9098d8d9
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
34 additions
and
15 deletions
+34
-15
DcAutoSalesForecastStageConfigMapper.java
...ailuntec/mapper/DcAutoSalesForecastStageConfigMapper.java
+6
-3
DcAutoSalesForecastStageConfigMapper.xml
...bailuntec/mapper/DcAutoSalesForecastStageConfigMapper.xml
+14
-5
AutoTurnoverServiceImpl.java
...a/com/bailuntec/service/impl/AutoTurnoverServiceImpl.java
+12
-5
AutoTurnoverTest.java
...ow/show-auto-turnover/src/test/java/AutoTurnoverTest.java
+2
-2
No files found.
data-common/src/main/java/com/bailuntec/mapper/DcAutoSalesForecastStageConfigMapper.java
View file @
21e7682a
...
...
@@ -31,7 +31,9 @@ public interface DcAutoSalesForecastStageConfigMapper extends BaseMapper<DcAutoS
DcAutoSalesForecastStageConfig
selectMatchStage
(
@Param
(
"bailunSku"
)
String
bailunSku
,
@Param
(
"warehouseCode"
)
String
warehouseCode
,
@Param
(
"firstOrderDays"
)
Long
firstOrderDays
,
@Param
(
"avgOrderCount30"
)
BigDecimal
avgOrderCount30
);
@Param
(
"avgOrderCount30"
)
BigDecimal
avgOrderCount30
,
@Param
(
"avgOrderCount14"
)
BigDecimal
avgOrderCount14
,
@Param
(
"avgOrderCount7"
)
BigDecimal
avgOrderCount7
);
/**
...
...
@@ -46,6 +48,7 @@ public interface DcAutoSalesForecastStageConfigMapper extends BaseMapper<DcAutoS
DcBaseOmsSku
firsOrder
(
@Param
(
"bailunSku"
)
String
bailunSku
,
@Param
(
"warehouseCode"
)
String
warehouseCode
);
BigDecimal
avgOrderCount30
(
@Param
(
"bailunSku"
)
String
bailunSku
,
@Param
(
"warehouseCode"
)
String
warehouseCode
);
BigDecimal
avgOrderCount
(
@Param
(
"bailunSku"
)
String
bailunSku
,
@Param
(
"warehouseCode"
)
String
warehouseCode
,
@Param
(
"days"
)
Integer
days
);
}
data-common/src/main/java/com/bailuntec/mapper/DcAutoSalesForecastStageConfigMapper.xml
View file @
21e7682a
...
...
@@ -28,6 +28,17 @@
<if
test=
"avgOrderCount30!=null "
>
and (t5.orders_avg_min = 0 or t5.orders_avg_min
<
= #{avgOrderCount30})
and (t5.orders_avg_max = 0 or t5.orders_avg_max
>
= #{avgOrderCount30})
and t5.orders_avg_sampling_days = 30
</if>
<if
test=
"avgOrderCount14!=null "
>
and (t5.orders_avg_min = 0 or t5.orders_avg_min
<
= #{avgOrderCount14})
and (t5.orders_avg_max = 0 or t5.orders_avg_max
>
= #{avgOrderCount14})
and t5.orders_avg_sampling_days = 14
</if>
<if
test=
"avgOrderCount7!=null "
>
and (t5.orders_avg_min = 0 or t5.orders_avg_min
<
= #{avgOrderCount7})
and (t5.orders_avg_max = 0 or t5.orders_avg_max
>
= #{avgOrderCount7})
and t5.orders_avg_sampling_days = 7
</if>
LEFT JOIN dc_auto_sales_forecast_stage_config t7 on t7.config_id = t5.id
and (IF(t5.screen_type = 1,
...
...
@@ -81,8 +92,6 @@
t1.daily_weighted_sales
>
= t7.sales_lower_limit or t1.daily_weighted_sales is null or
length(trim(t1.daily_weighted_sales)) = 0))
where t5.id is not null
# and t1.warehouse_code = 'GB4PXBL'
# and t1.bailun_sku = '945104601'
ORDER BY t5.`level` desc) aaa
GROUP BY bailun_sku, warehouse_code;
</select>
...
...
@@ -96,12 +105,12 @@
limit 1;
</select>
<select
id=
"avgOrderCount
30
"
resultType=
"java.math.BigDecimal"
>
select count(DISTINCT bailun_order_id) /
30
<select
id=
"avgOrderCount"
resultType=
"java.math.BigDecimal"
>
select count(DISTINCT bailun_order_id) /
#{days}
from dc_base_oms_sku_30
where bailun_sku = #{bailunSku}
and warehouse_code = #{warehouseCode}
and create_time >= date_sub(now(), interval
3
1 day)
and create_time >= date_sub(now(), interval
#{days} +
1 day)
</select>
</mapper>
data-show/show-auto-turnover/src/main/java/com/bailuntec/service/impl/AutoTurnoverServiceImpl.java
View file @
21e7682a
...
...
@@ -16,7 +16,6 @@ import java.math.BigDecimal;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
import
java.time.LocalTime
;
import
java.time.Period
;
import
java.util.*
;
import
static
java
.
time
.
temporal
.
ChronoUnit
.
DAYS
;
...
...
@@ -51,10 +50,14 @@ public class AutoTurnoverServiceImpl implements AutoTurnoverService {
Long
day
=
Optional
.
ofNullable
(
orderFirstCreateTime
).
map
(
item
->
DAYS
.
between
(
item
.
getCreateTime
().
toLocalDate
(),
LocalDate
.
now
())).
orElse
(
null
);
BigDecimal
avgOrderCount30
=
dcAutoSalesForecastStageConfigMapper
.
avgOrderCount30
(
dcAutoTurnover
.
getBailunSku
(),
dcAutoTurnover
.
getWarehouseCode
());
BigDecimal
avgOrderCount30
=
dcAutoSalesForecastStageConfigMapper
.
avgOrderCount
(
dcAutoTurnover
.
getBailunSku
(),
dcAutoTurnover
.
getWarehouseCode
(),
30
);
BigDecimal
avgOrderCount14
=
dcAutoSalesForecastStageConfigMapper
.
avgOrderCount
(
dcAutoTurnover
.
getBailunSku
(),
dcAutoTurnover
.
getWarehouseCode
(),
14
);
BigDecimal
avgOrderCount7
=
dcAutoSalesForecastStageConfigMapper
.
avgOrderCount
(
dcAutoTurnover
.
getBailunSku
(),
dcAutoTurnover
.
getWarehouseCode
(),
7
);
//命中的预测规则
DcAutoSalesForecastStageConfig
dcAutoSalesForecastStageConfig
=
dcAutoSalesForecastStageConfigMapper
.
selectMatchStage
(
dcAutoTurnover
.
getBailunSku
(),
dcAutoTurnover
.
getWarehouseCode
(),
day
,
avgOrderCount30
);
DcAutoSalesForecastStageConfig
dcAutoSalesForecastStageConfig
=
dcAutoSalesForecastStageConfigMapper
.
selectMatchStage
(
dcAutoTurnover
.
getBailunSku
(),
dcAutoTurnover
.
getWarehouseCode
(),
day
,
avgOrderCount30
,
avgOrderCount14
,
avgOrderCount7
);
//周转天数
//每个时间段的销量预测是dcAutoSalesForecastStageConfig对应时间段的三个参数对应的过去时间段的销量的加权平均*/
...
...
@@ -172,11 +175,15 @@ public class AutoTurnoverServiceImpl implements AutoTurnoverService {
DcBaseOmsSku
orderFirstCreateTime
=
dcAutoSalesForecastStageConfigMapper
.
firsOrder
(
dcAutoTurnover
.
getBailunSku
(),
dcAutoTurnover
.
getWarehouseCode
());
Long
day
=
Optional
.
ofNullable
(
orderFirstCreateTime
).
map
(
item
->
DAYS
.
between
(
item
.
getCreateTime
().
toLocalDate
(),
LocalDate
.
now
())).
orElse
(
null
);
BigDecimal
avgOrderCount30
=
dcAutoSalesForecastStageConfigMapper
.
avgOrderCount30
(
dcAutoTurnover
.
getBailunSku
(),
dcAutoTurnover
.
getWarehouseCode
());
BigDecimal
avgOrderCount30
=
dcAutoSalesForecastStageConfigMapper
.
avgOrderCount
(
dcAutoTurnover
.
getBailunSku
(),
dcAutoTurnover
.
getWarehouseCode
(),
30
);
BigDecimal
avgOrderCount14
=
dcAutoSalesForecastStageConfigMapper
.
avgOrderCount
(
dcAutoTurnover
.
getBailunSku
(),
dcAutoTurnover
.
getWarehouseCode
(),
14
);
BigDecimal
avgOrderCount7
=
dcAutoSalesForecastStageConfigMapper
.
avgOrderCount
(
dcAutoTurnover
.
getBailunSku
(),
dcAutoTurnover
.
getWarehouseCode
(),
7
);
//命中的预测规则
DcAutoSalesForecastStageConfig
dcAutoSalesForecastStageConfig
=
dcAutoSalesForecastStageConfigMapper
.
selectMatchStage
(
dcAutoTurnover
.
getBailunSku
(),
dcAutoTurnover
.
getWarehouseCode
(),
day
,
avgOrderCount30
);
DcAutoSalesForecastStageConfig
dcAutoSalesForecastStageConfig
=
dcAutoSalesForecastStageConfigMapper
.
selectMatchStage
(
dcAutoTurnover
.
getBailunSku
(),
dcAutoTurnover
.
getWarehouseCode
(),
day
,
avgOrderCount30
,
avgOrderCount14
,
avgOrderCount7
);
//今天0点
LocalDateTime
midNight
=
LocalDateTime
.
of
(
LocalDate
.
now
(),
LocalTime
.
MIN
);
...
...
data-show/show-auto-turnover/src/test/java/AutoTurnoverTest.java
View file @
21e7682a
...
...
@@ -258,8 +258,8 @@ public class AutoTurnoverTest {
public
void
testXX2
()
{
DcBaseStock
dcBaseStock
=
SessionUtil
.
getSession
().
getMapper
(
DcBaseStockMapper
.
class
)
.
selectOneByExample
(
DcBaseStockExample
.
newAndCreateCriteria
()
.
andBailunSkuEqualTo
(
"
BLGP-E1549
"
)
.
andWarehouseCodeEqualTo
(
"
BIAT74
"
)
.
andBailunSkuEqualTo
(
"
217632401
"
)
.
andWarehouseCodeEqualTo
(
"
MMDUSFBA
"
)
.
example
());
try
{
AutoTurnoverJob
autoTurnoverJob
=
new
AutoTurnoverJob
();
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment