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
9c91d5fc
Commit
9c91d5fc
authored
Sep 16, 2019
by
yinyong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
普货sku 如果首单(oms单)至今低于7天的,取3天日均,高于7天的取7天日均
parent
ccf07eb9
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
40 additions
and
6 deletions
+40
-6
OrderSyncJob.java
...s-order/src/main/java/com/bailuntec/job/OrderSyncJob.java
+2
-1
DcBaseOmsSkuMapper.java
...rc/main/java/com/bailuntec/mapper/DcBaseOmsSkuMapper.java
+3
-0
DcBaseOmsSkuMapper.xml
...src/main/java/com/bailuntec/mapper/DcBaseOmsSkuMapper.xml
+5
-0
AutoTurnoverJob.java
...over/src/main/java/com/bailuntec/job/AutoTurnoverJob.java
+30
-5
No files found.
data-base/base-sync-oms-order/src/main/java/com/bailuntec/job/OrderSyncJob.java
View file @
9c91d5fc
...
@@ -193,7 +193,8 @@ public class OrderSyncJob extends PointJob {
...
@@ -193,7 +193,8 @@ public class OrderSyncJob extends PointJob {
assignmentSkuInfo
(
omsResult
,
dcBaseOmsOrder
,
dcBaseOmsSku
,
bailunSkuObj
,
dcBaseWarehouse
,
logisticsHashMap
,
bailunSkuStructure
);
assignmentSkuInfo
(
omsResult
,
dcBaseOmsOrder
,
dcBaseOmsSku
,
bailunSkuObj
,
dcBaseWarehouse
,
logisticsHashMap
,
bailunSkuStructure
);
if
(
PlatformType
.
FBA
.
value
().
equals
(
omsResult
.
getPlatformType
().
toUpperCase
()))
{
if
(
PlatformType
.
FBA
.
value
().
equals
(
omsResult
.
getPlatformType
().
toUpperCase
()))
{
//FBA费用
//FBA费用
if
((
dcBaseOmsOrder
.
getCostFbaFee
().
compareTo
(
BigDecimal
.
valueOf
(
0
))
==
1
)
||
(
dcBaseOmsOrder
.
getAmountTotal
().
compareTo
(
BigDecimal
.
valueOf
(
0
))
==
0
))
{
BigDecimal
initTotalCost
=
(
omsResult
.
getOrderCharge
()
==
null
?
BigDecimal
.
ZERO
:
omsResult
.
getOrderCharge
().
getCostTotal
().
getAmount
());
if
((
dcBaseOmsOrder
.
getCostFbaFee
().
compareTo
(
BigDecimal
.
valueOf
(
0
))
==
1
)
||
(
initTotalCost
.
compareTo
(
BigDecimal
.
valueOf
(
0
))
==
0
))
{
BigDecimal
skuCostFbaFee
=
bailunSkuStructure
.
getSkuWeightRatio
().
multiply
(
dcBaseOmsOrder
.
getCostFbaFee
()).
setScale
(
5
,
RoundingMode
.
HALF_EVEN
);
BigDecimal
skuCostFbaFee
=
bailunSkuStructure
.
getSkuWeightRatio
().
multiply
(
dcBaseOmsOrder
.
getCostFbaFee
()).
setScale
(
5
,
RoundingMode
.
HALF_EVEN
);
dcBaseOmsSku
.
setCostFbaFee
(
skuCostFbaFee
);
dcBaseOmsSku
.
setCostFbaFee
(
skuCostFbaFee
);
dcBaseOmsOrder
.
setHasFbaFee
(
true
);
dcBaseOmsOrder
.
setHasFbaFee
(
true
);
...
...
data-common/src/main/java/com/bailuntec/mapper/DcBaseOmsSkuMapper.java
View file @
9c91d5fc
...
@@ -131,4 +131,6 @@ public interface DcBaseOmsSkuMapper {
...
@@ -131,4 +131,6 @@ public interface DcBaseOmsSkuMapper {
List
<
Double
>
listFbaFee
(
@Param
(
"bailunSku"
)
String
bailunSku
,
@Param
(
"website"
)
String
website
,
@Param
(
"timeInterval"
)
int
timeInterval
);
List
<
Double
>
listFbaFee
(
@Param
(
"bailunSku"
)
String
bailunSku
,
@Param
(
"website"
)
String
website
,
@Param
(
"timeInterval"
)
int
timeInterval
);
BigDecimal
selectFBAFee
(
@Param
(
"bailunSku"
)
String
bailunSku
,
@Param
(
"webSite"
)
String
webSite
,
@Param
(
"paidTime"
)
LocalDateTime
paidTime
);
BigDecimal
selectFBAFee
(
@Param
(
"bailunSku"
)
String
bailunSku
,
@Param
(
"webSite"
)
String
webSite
,
@Param
(
"paidTime"
)
LocalDateTime
paidTime
);
DcBaseOmsSku
selectOneByCreateTime
(
@Param
(
"bailunSku"
)
String
bailunSku
);
}
}
\ No newline at end of file
data-common/src/main/java/com/bailuntec/mapper/DcBaseOmsSkuMapper.xml
View file @
9c91d5fc
...
@@ -3193,4 +3193,8 @@
...
@@ -3193,4 +3193,8 @@
SELECT cost_fba_fee FROM dc_base_oms_sku WHERE platform_type='FBA' AND bailun_sku=#{bailunSku} AND website=#{webSite} AND cost_fba_fee
>
0 limit 1
SELECT cost_fba_fee FROM dc_base_oms_sku WHERE platform_type='FBA' AND bailun_sku=#{bailunSku} AND website=#{webSite} AND cost_fba_fee
>
0 limit 1
</select>
</select>
<select
id=
"selectOneByCreateTime"
resultType=
"com.bailuntec.domain.entity.DcBaseOmsSku"
>
SELECT bailun_sku, create_time FROM dc_base_oms_sku WHERE bailun_sku = #{bailunSku} order by create_time asc limit 1
</select>
</mapper>
</mapper>
\ No newline at end of file
data-show/show-auto-turnover/src/main/java/com/bailuntec/job/AutoTurnoverJob.java
View file @
9c91d5fc
...
@@ -282,7 +282,7 @@ public class AutoTurnoverJob extends PointJob {
...
@@ -282,7 +282,7 @@ public class AutoTurnoverJob extends PointJob {
* 均值, 配置安全库存法: 销量上下限 根据过去30天销量,计算出合理的销量封顶值和销量最低值
* 均值, 配置安全库存法: 销量上下限 根据过去30天销量,计算出合理的销量封顶值和销量最低值
* 曲线拟合 :销量预测, 根据销量走势和上下限,计算出销量预测曲线, 如果历史销量包含0, 无法使用指数函数拟合
* 曲线拟合 :销量预测, 根据销量走势和上下限,计算出销量预测曲线, 如果历史销量包含0, 无法使用指数函数拟合
*/
*/
calculateForecastSales
(
salesUpperLimit
,
autoForecastDay
,
dcAutoSales
,
forecastSalesList
,
turnoverSku
);
calculateForecastSales
(
salesUpperLimit
,
autoForecastDay
,
dcAutoSales
,
forecastSalesList
,
turnoverSku
,
recordTime
,
bailunSku
);
/*
/*
* 处理矫正信息
* 处理矫正信息
...
@@ -987,12 +987,37 @@ public class AutoTurnoverJob extends PointJob {
...
@@ -987,12 +987,37 @@ public class AutoTurnoverJob extends PointJob {
* @param forecastSalesList
* @param forecastSalesList
*/
*/
private
void
calculateForecastSales
(
BigDecimal
salesUpperLimit
,
Integer
autoForecastDay
,
DcAutoSales
private
void
calculateForecastSales
(
BigDecimal
salesUpperLimit
,
Integer
autoForecastDay
,
DcAutoSales
dcAutoSales
,
List
<
BigDecimal
>
forecastSalesList
,
DcBaseSku
turnoverSku
)
{
dcAutoSales
,
List
<
BigDecimal
>
forecastSalesList
,
DcBaseSku
turnoverSku
,
LocalDate
recordTime
,
String
bailunSku
)
{
if
(
LocalDateTime
.
now
().
minusDays
(
21L
).
isBefore
(
turnoverSku
.
getPushTime
())
&&
!(
turnoverSku
.
getBuyerName
().
equals
(
Constant
.
BUYER_JIT_1
))
&&
!(
turnoverSku
.
getBuyerName
().
equals
(
Constant
.
BUYER_JIT_2
))
&&
!(
turnoverSku
.
getBuyerName
().
equals
(
Constant
.
BUYER_JIT_4
)))
{
if
(
recordTime
.
minusDays
(
21L
).
isBefore
(
turnoverSku
.
getPushTime
().
toLocalDate
())
&&
!(
turnoverSku
.
getBuyerName
().
equals
(
Constant
.
BUYER_JIT_1
))
&&
!(
turnoverSku
.
getBuyerName
().
equals
(
Constant
.
BUYER_JIT_2
))
&&
!(
turnoverSku
.
getBuyerName
().
equals
(
Constant
.
BUYER_JIT_4
)))
{
for
(
int
j
=
0
;
j
<
autoForecastDay
;
j
++)
{
DcBaseOmsSkuMapper
dcBaseOmsSkuMapper
=
SessionUtil
.
getSession
().
getMapper
(
DcBaseOmsSkuMapper
.
class
);
forecastSalesList
.
set
(
j
,
BigDecimal
.
valueOf
(
dcAutoSales
.
getOnedaySales
()));
DcBaseOmsSku
dcBaseOmsSku
=
dcBaseOmsSkuMapper
.
selectOneByCreateTime
(
bailunSku
);
List
<
Integer
>
historySalesList
=
JSON
.
parseObject
(
dcAutoSales
.
getHistorySalesDetails
(),
new
TypeReference
<
List
<
Integer
>>()
{
});
Integer
historySevenSales
=
0
;
Integer
historyThreeSales
=
0
;
for
(
int
i
=
0
;
i
<
30
;
i
++)
{
if
(
i
<
3
)
{
historyThreeSales
+=
historySalesList
.
get
(
27
+
i
);
}
if
(
i
<
7
)
{
historySevenSales
+=
historySalesList
.
get
(
23
+
i
);
}
}
}
BigDecimal
avgHistoryThreedaySales
=
BigDecimal
.
valueOf
(
historyThreeSales
.
longValue
()).
divide
(
Constant
.
BIGDECIMAL_THREE
,
3
,
RoundingMode
.
HALF_EVEN
);
BigDecimal
avgHistorySevendaySales
=
BigDecimal
.
valueOf
(
historySevenSales
.
longValue
()).
divide
(
Constant
.
BIGDECIMAL_SEVEN
,
3
,
RoundingMode
.
HALF_EVEN
);
if
(
dcBaseOmsSku
!=
null
&&
recordTime
.
minusDays
(
7L
).
isBefore
(
dcBaseOmsSku
.
getCreateTime
().
toLocalDate
()))
{
for
(
int
j
=
0
;
j
<
autoForecastDay
;
j
++)
{
forecastSalesList
.
set
(
j
,
avgHistoryThreedaySales
);
}
}
else
{
for
(
int
j
=
0
;
j
<
autoForecastDay
;
j
++)
{
forecastSalesList
.
set
(
j
,
avgHistorySevendaySales
);
}
}
}
else
{
}
else
{
// y = ae^bx
// y = ae^bx
for
(
int
j
=
0
;
j
<
autoForecastDay
;
j
++)
{
for
(
int
j
=
0
;
j
<
autoForecastDay
;
j
++)
{
...
...
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