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
15936b73
Commit
15936b73
authored
Aug 15, 2020
by
huluobin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
周转波动预测修改
parent
36818628
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
178 additions
and
23 deletions
+178
-23
DcAutoForecastFluctuation.java
...om/bailuntec/domain/entity/DcAutoForecastFluctuation.java
+0
-17
DcAutoConfigSalesUpperLimitMapperTest.java
...iluntec/mapper/DcAutoConfigSalesUpperLimitMapperTest.java
+24
-0
pom.xml
data-show/show-auto-turnover/pom.xml
+6
-0
DcAutoTurnoverExcel.java
...rc/main/java/com/bailuntec/excel/DcAutoTurnoverExcel.java
+29
-0
ExcelListener.java
...over/src/main/java/com/bailuntec/excel/ExcelListener.java
+82
-0
AutoTurnoverJob.java
...over/src/main/java/com/bailuntec/job/AutoTurnoverJob.java
+0
-0
AutoTurnoverService.java
.../main/java/com/bailuntec/service/AutoTurnoverService.java
+15
-1
AutoTurnoverServiceImpl.java
...a/com/bailuntec/service/impl/AutoTurnoverServiceImpl.java
+0
-0
AutoTurnoverTest.java
...ow/show-auto-turnover/src/test/java/AutoTurnoverTest.java
+21
-4
AutoTurnoverServiceImplTest.java
...m/bailuntec/service/impl/AutoTurnoverServiceImplTest.java
+1
-1
No files found.
data-common/src/main/java/com/bailuntec/domain/entity/DcAutoForecastFluctuation.java
View file @
15936b73
...
...
@@ -9,7 +9,6 @@ import java.time.LocalDateTime;
@Data
public
class
DcAutoForecastFluctuation
{
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_auto_forecast_fluctuation.id
*
...
...
@@ -18,7 +17,6 @@ public class DcAutoForecastFluctuation {
private
Integer
id
;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_auto_forecast_fluctuation.gmt_create
*
...
...
@@ -27,7 +25,6 @@ public class DcAutoForecastFluctuation {
private
LocalDateTime
gmtCreate
;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_auto_forecast_fluctuation.gmt_modified
*
...
...
@@ -36,7 +33,6 @@ public class DcAutoForecastFluctuation {
private
LocalDateTime
gmtModified
;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_auto_forecast_fluctuation.bailun_sku
*
...
...
@@ -45,7 +41,6 @@ public class DcAutoForecastFluctuation {
private
String
bailunSku
;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_auto_forecast_fluctuation.warehouse_code
*
...
...
@@ -54,7 +49,6 @@ public class DcAutoForecastFluctuation {
private
String
warehouseCode
;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_auto_forecast_fluctuation.warehouse_name
*
...
...
@@ -63,7 +57,6 @@ public class DcAutoForecastFluctuation {
private
String
warehouseName
;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_auto_forecast_fluctuation.start_time
*
...
...
@@ -72,7 +65,6 @@ public class DcAutoForecastFluctuation {
private
LocalDate
startTime
;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_auto_forecast_fluctuation.end_time
*
...
...
@@ -81,7 +73,6 @@ public class DcAutoForecastFluctuation {
private
LocalDate
endTime
;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_auto_forecast_fluctuation.bl_operator
*
...
...
@@ -90,7 +81,6 @@ public class DcAutoForecastFluctuation {
private
String
blOperator
;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_auto_forecast_fluctuation.remark
*
...
...
@@ -99,7 +89,6 @@ public class DcAutoForecastFluctuation {
private
String
remark
;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_auto_forecast_fluctuation.has_solve
*
...
...
@@ -108,7 +97,6 @@ public class DcAutoForecastFluctuation {
private
Boolean
hasSolve
;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_auto_forecast_fluctuation.forecast_solve_time
*
...
...
@@ -117,7 +105,6 @@ public class DcAutoForecastFluctuation {
private
LocalDateTime
forecastSolveTime
;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_auto_forecast_fluctuation.has_confirm
*
...
...
@@ -126,7 +113,6 @@ public class DcAutoForecastFluctuation {
private
Boolean
hasConfirm
;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_auto_forecast_fluctuation.confirm_time
*
...
...
@@ -135,7 +121,6 @@ public class DcAutoForecastFluctuation {
private
LocalDateTime
confirmTime
;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_auto_forecast_fluctuation.type
*
...
...
@@ -144,7 +129,6 @@ public class DcAutoForecastFluctuation {
private
Integer
type
;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_auto_forecast_fluctuation.avg_sales_three
*
...
...
@@ -153,7 +137,6 @@ public class DcAutoForecastFluctuation {
private
BigDecimal
avgSalesThree
;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_auto_forecast_fluctuation.quantity
*
...
...
data-common/src/test/java/com/bailuntec/mapper/DcAutoConfigSalesUpperLimitMapperTest.java
0 → 100644
View file @
15936b73
package
com
.
bailuntec
.
mapper
;
import
com.bailuntec.domain.example.DcAutoConfigSalesUpperLimitExample
;
import
com.bailuntec.utils.SessionUtil
;
import
org.junit.jupiter.api.Test
;
/**
* <p>
*
* </p>
*
* @author robbendev
* @since 2020/8/15 2:13 下午
*/
class
DcAutoConfigSalesUpperLimitMapperTest
{
@Test
void
selectByExample
()
{
DcAutoConfigSalesUpperLimitMapper
dcAutoConfigSalesUpperLimitMapper
=
SessionUtil
.
getSession
().
getMapper
(
DcAutoConfigSalesUpperLimitMapper
.
class
);
dcAutoConfigSalesUpperLimitMapper
.
selectByExample
(
DcAutoConfigSalesUpperLimitExample
.
newAndCreateCriteria
()
.
andBlOperatorEqualTo
(
"xadasdadsadsadafdafd"
)
.
example
());
}
}
data-show/show-auto-turnover/pom.xml
View file @
15936b73
...
...
@@ -23,6 +23,12 @@
</exclusions>
</dependency>
<dependency>
<groupId>
com.alibaba
</groupId>
<artifactId>
easyexcel
</artifactId>
<version>
2.1.1
</version>
</dependency>
<dependency>
<groupId>
org.projectlombok
</groupId>
...
...
data-show/show-auto-turnover/src/main/java/com/bailuntec/excel/DcAutoTurnoverExcel.java
0 → 100644
View file @
15936b73
package
com
.
bailuntec
.
excel
;
import
com.alibaba.excel.annotation.ExcelProperty
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
/**
* <p>
*
* </p>
*
* @author robbendev
* @since 2020/6/12 5:55 下午
*/
@Data
public
class
DcAutoTurnoverExcel
implements
Serializable
{
@ExcelProperty
(
"Sku"
)
private
String
sku
;
@ExcelProperty
(
"仓库编码"
)
private
String
warehouseCode
;
@ExcelProperty
(
"开始时间"
)
private
String
status
;
}
data-show/show-auto-turnover/src/main/java/com/bailuntec/excel/ExcelListener.java
0 → 100644
View file @
15936b73
package
com
.
bailuntec
.
excel
;
import
com.alibaba.excel.context.AnalysisContext
;
import
com.alibaba.excel.event.AnalysisEventListener
;
import
com.alibaba.fastjson.JSON
;
import
com.bailuntec.domain.constant.CommonConstant
;
import
com.bailuntec.domain.entity.DcBaseStock
;
import
com.bailuntec.domain.example.DcBaseStockExample
;
import
com.bailuntec.job.AutoTurnoverJob
;
import
com.bailuntec.mapper.DcBaseStockMapper
;
import
com.bailuntec.utils.SessionUtil
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
java.time.LocalDate
;
import
java.time.format.DateTimeFormatter
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* <p>
* 有个很重要的点 DemoDataListener 不能被spring管理,要每次读取excel都要new,然后里面用到spring可以构造方法传进去
* </p>
*
* @author robbendev
* @since 2020/6/6 5:29 下午
*/
public
class
ExcelListener
extends
AnalysisEventListener
<
DcAutoTurnoverExcel
>
{
private
static
final
Logger
LOGGER
=
LoggerFactory
.
getLogger
(
DcAutoTurnoverExcel
.
class
);
/**
* 每隔5条存储数据库,实际使用中可以3000条,然后清理list ,方便内存回收
*/
private
static
final
int
BATCH_COUNT
=
5
;
private
AutoTurnoverJob
autoTurnoverJob
;
public
ExcelListener
()
{
autoTurnoverJob
=
new
AutoTurnoverJob
();
}
List
<
DcAutoTurnoverExcel
>
list
=
new
ArrayList
<>();
@Override
public
void
invoke
(
DcAutoTurnoverExcel
data
,
AnalysisContext
context
)
{
LOGGER
.
info
(
"解析到一条数据:{}"
,
JSON
.
toJSONString
(
data
));
list
.
add
(
data
);
if
(
list
.
size
()
>=
BATCH_COUNT
)
{
syncData
();
list
.
clear
();
}
}
@Override
public
void
doAfterAllAnalysed
(
AnalysisContext
context
)
{
syncData
();
LOGGER
.
info
(
"所有数据解析完成!"
);
}
/**
* 加上存储数据库
*/
private
void
syncData
()
{
LOGGER
.
info
(
"{}条数据,开始存储数据库!"
,
list
.
size
());
list
.
forEach
(
dcAutoTurnoverExcel
->
{
DcBaseStock
dcBaseStock
=
SessionUtil
.
getSession
().
getMapper
(
DcBaseStockMapper
.
class
)
.
selectOneByExample
(
DcBaseStockExample
.
newAndCreateCriteria
()
.
andBailunSkuEqualTo
(
dcAutoTurnoverExcel
.
getSku
())
.
andWarehouseCodeEqualTo
(
dcAutoTurnoverExcel
.
getWarehouseCode
())
.
example
());
try
{
autoTurnoverJob
.
autoTurnoverFromStock
(
DateTimeFormatter
.
ofPattern
(
CommonConstant
.
DATE_FORMAT
).
format
(
LocalDate
.
now
()),
dcBaseStock
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
});
LOGGER
.
info
(
"存储数据库成功!"
);
}
}
data-show/show-auto-turnover/src/main/java/com/bailuntec/job/AutoTurnoverJob.java
View file @
15936b73
This diff is collapsed.
Click to expand it.
data-show/show-auto-turnover/src/main/java/com/bailuntec/service/AutoTurnoverService.java
View file @
15936b73
...
...
@@ -2,6 +2,9 @@ package com.bailuntec.service;
import
com.bailuntec.domain.entity.DcAutoTurnover
;
import
java.math.BigDecimal
;
import
java.util.List
;
/**
* <p>
*
...
...
@@ -12,6 +15,7 @@ import com.bailuntec.domain.entity.DcAutoTurnover;
*/
public
interface
AutoTurnoverService
{
/**
* <p>
* 计算设置autoTurnover销售预测
...
...
@@ -19,6 +23,16 @@ public interface AutoTurnoverService {
*
* @param dcAutoTurnover
*/
void
setAutoTurnoverSaleDetails
(
DcAutoTurnover
dcAutoTurnover
);
List
<
BigDecimal
>
getAutoTurnoverSaleDetails
(
DcAutoTurnover
dcAutoTurnover
,
int
turnoverDays
,
int
autoForecastDay
);
/**
* <p>
* 获取设置autoTurnover销售预测
* </p>
*
* @param dcAutoTurnover
*/
List
<
String
>
getAutoTurnoverSaleDetailsFormula
(
DcAutoTurnover
dcAutoTurnover
,
int
turnoverDays
,
int
autoForecastDay
);
}
data-show/show-auto-turnover/src/main/java/com/bailuntec/service/impl/AutoTurnoverServiceImpl.java
View file @
15936b73
This diff is collapsed.
Click to expand it.
data-show/show-auto-turnover/src/test/java/AutoTurnoverTest.java
View file @
15936b73
import
com.alibaba.excel.EasyExcel
;
import
com.bailuntec.domain.constant.CommonConstant
;
import
com.bailuntec.domain.entity.DcBaseStock
;
import
com.bailuntec.domain.entity.JobPointLog
;
import
com.bailuntec.domain.example.DcBaseStockExample
;
import
com.bailuntec.excel.DcAutoTurnoverExcel
;
import
com.bailuntec.excel.ExcelListener
;
import
com.bailuntec.job.AutoTurnoverJob
;
import
com.bailuntec.listener.AutoTurnoverJobListener
;
import
com.bailuntec.mapper.DcBaseStockMapper
;
...
...
@@ -18,7 +21,7 @@ import java.util.HashMap;
import
java.util.List
;
public
class
AutoTurnoverTest
{
// @Test
// @Test
public
void
test1
()
throws
Exception
{
LocalDate
parse
=
LocalDate
.
parse
(
"2018-01-01"
,
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd"
));
LocalDate
parse1
=
LocalDate
.
parse
(
"2018-01-02"
,
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd"
));
...
...
@@ -29,10 +32,12 @@ public class AutoTurnoverTest {
System
.
out
.
println
(
parse
.
compareTo
(
parse1
));
}
}
@Test
public
void
test12
()
throws
Exception
{
System
.
out
.
println
(
LocalDateTime
.
of
(
1990
,
1
,
1
,
0
,
0
));
System
.
out
.
println
(
LocalDateTime
.
of
(
1990
,
1
,
1
,
0
,
0
));
}
@Test
public
void
test10
()
throws
Exception
{
int
interval
=
Period
.
between
(
LocalDate
.
now
().
minusDays
(
1
),
LocalDate
.
now
()).
getDays
();
...
...
@@ -42,6 +47,7 @@ public class AutoTurnoverTest {
System
.
out
.
println
(
interval1
);
System
.
out
.
println
(
interval2
);
}
@Test
public
void
test
()
throws
Exception
{
// 生成周转
...
...
@@ -76,6 +82,7 @@ public class AutoTurnoverTest {
autoTurnoverJob
.
autoTurnoverFromStock
(
queryTime
,
dcBaseStock
);
}
}
@Test
public
void
test3
()
throws
Exception
{
String
queryTime
=
DateTimeFormatter
.
ofPattern
(
CommonConstant
.
DATE_FORMAT
).
format
(
LocalDate
.
now
());
...
...
@@ -93,12 +100,13 @@ public class AutoTurnoverTest {
autoTurnoverJob
.
autoTurnoverFromStock
(
queryTime
,
dcBaseStock
);
}
}
@Test
public
void
test4
()
{
AutoTurnoverJob
autoTurnoverJob
=
new
AutoTurnoverJob
();
HashMap
<
Integer
,
String
>
map
=
new
HashMap
<>();
map
.
put
(
1
,
""
);
ShardingContext
shardingContext
=
new
ShardingContext
(
new
ShardingContexts
(
""
,
""
,
1
,
"INCREMENT"
,
map
),
0
);
map
.
put
(
1
,
""
);
ShardingContext
shardingContext
=
new
ShardingContext
(
new
ShardingContexts
(
""
,
""
,
1
,
"INCREMENT"
,
map
),
0
);
JobPointLog
jobPointLog
=
new
JobPointLog
(
""
,
1
,
400
,
1
,
1
,
LocalDateTime
.
now
().
minusSeconds
(
1
),
LocalDateTime
.
now
());
autoTurnoverJob
.
executeJob
(
shardingContext
,
jobPointLog
);
}
...
...
@@ -108,6 +116,7 @@ public class AutoTurnoverTest {
AutoTurnoverJobListener
autoTurnoverJobListener
=
new
AutoTurnoverJobListener
();
autoTurnoverJobListener
.
afterJobExecuted
(
null
);
}
@Test
public
void
test55
()
{
LocalDateTime
recordTime
=
LocalDateTime
.
now
();
...
...
@@ -115,9 +124,17 @@ public class AutoTurnoverTest {
int
interval
=
Period
.
between
(
recordTime
.
toLocalDate
(),
finalEstimatedArrivalTime
.
toLocalDate
()).
getDays
();
System
.
out
.
println
(
interval
);
}
@Test
public
void
test66
()
{
}
@Test
public
void
testDcAutoTurnover
()
{
String
filePath
=
"/Users/huluobin/Library/Containers/com.tencent.WeWorkMac/Data/Library/Application Support/WXWork/Data/1688853793439460/Cache/File/2020-08/实际冗余测试815.xlsx"
;
EasyExcel
.
read
(
filePath
,
DcAutoTurnoverExcel
.
class
,
new
ExcelListener
()).
sheet
().
doRead
();
}
}
data-show/show-auto-turnover/src/test/java/com/bailuntec/service/impl/AutoTurnoverServiceImplTest.java
View file @
15936b73
...
...
@@ -27,7 +27,7 @@ class AutoTurnoverServiceImplTest {
AutoTurnoverService
autoTurnoverService
=
new
AutoTurnoverServiceImpl
();
DcAutoTurnover
dcAutoTurnover
=
dcAutoTurnoverMapper
.
selectByPrimaryKey
(
58845
);
autoTurnoverService
.
setAutoTurnoverSaleDetails
(
dcAutoTurnover
);
// autoTurnoverService.setAutoTurnoverSaleDetails(dcAutoTurnover,dcAutoTurnover.getTurnoverDays(),dcAutoTurnover.getTurnoverDays()
);
System
.
out
.
println
(
dcAutoTurnover
.
getSalesDetails
());
System
.
out
.
println
(
dcAutoTurnover
.
getSalesDetailsFormula
());
}
finally
{
...
...
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