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
cc51a019
Commit
cc51a019
authored
May 14, 2019
by
wutong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修复自动周转持续冗余或缺货, 未记录的问题
parent
252f5ec1
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
38 additions
and
30 deletions
+38
-30
AutoTurnoverJob.java
...over/src/main/java/com/bailuntec/job/AutoTurnoverJob.java
+37
-29
AutoTurnoverTest.java
...ow/show-auto-turnover/src/test/java/AutoTurnoverTest.java
+1
-1
No files found.
data-show/show-auto-turnover/src/main/java/com/bailuntec/job/AutoTurnoverJob.java
View file @
cc51a019
...
...
@@ -51,7 +51,7 @@ public class AutoTurnoverJob extends PointJob {
* 根据不同分片
* 再分页去处理数据
*/
int
shardingSize
=
totalPage
%
shardingContext
.
getShardingTotalCount
()
==
0
?
totalPage
/
shardingContext
.
getShardingTotalCount
()
:
totalPage
/
shardingContext
.
getShardingTotalCount
()
+
1
;
int
shardingSize
=
totalPage
%
shardingContext
.
getShardingTotalCount
()
==
0
?
totalPage
/
shardingContext
.
getShardingTotalCount
()
:
totalPage
/
shardingContext
.
getShardingTotalCount
()
+
1
;
if
(
shardingContext
.
getShardingItem
()
+
1
<
shardingContext
.
getShardingTotalCount
())
{
totalPage
=
shardingSize
*
(
shardingContext
.
getShardingItem
()
+
1
);
}
...
...
@@ -81,10 +81,10 @@ public class AutoTurnoverJob extends PointJob {
//错误记录到日志表, 任务跑完了再跑一次错误SKU
try
{
DcAutoExceptionMapper
dcAutoExceptionMapper
=
SessionUtil
.
getSession
().
getMapper
(
DcAutoExceptionMapper
.
class
);
DcAutoException
dcAutoException
=
new
DcAutoException
(
dcBaseStock
.
getBailunSku
(),
dcBaseStock
.
getWarehouseCode
(),
e
.
toString
());
DcAutoException
dcAutoException
=
new
DcAutoException
(
dcBaseStock
.
getBailunSku
(),
dcBaseStock
.
getWarehouseCode
(),
e
.
toString
());
dcAutoExceptionMapper
.
insertSelective
(
dcAutoException
);
}
catch
(
Exception
ex
)
{
log
.
error
(
"保存错误SKU失败,sku="
+
dcBaseStock
.
getBailunSku
()
+
",仓库="
+
dcBaseStock
.
getWarehouseCode
());
log
.
error
(
"保存错误SKU失败,sku="
+
dcBaseStock
.
getBailunSku
()
+
",仓库="
+
dcBaseStock
.
getWarehouseCode
());
}
finally
{
SessionUtil
.
closeSession
();
}
...
...
@@ -191,9 +191,9 @@ public class AutoTurnoverJob extends PointJob {
}
Integer
bailunFirstLevelCatagoryId
=
getBailunCatagoryId
(
turnoverSku
);
//百伦第一级分类Id, 可以为null
// 获取调拨头程 + 调拨打包 + 海外仓入库天数 的配置
DcAutoConfigDelivery
dcAutoConfigDelivery
=
getDcAutoConfigDelivery
(
bailunSku
,
warehouseCode
,
dcBaseWarehouse
,
bailunFirstLevelCatagoryId
);
DcAutoConfigDelivery
dcAutoConfigDelivery
=
getDcAutoConfigDelivery
(
bailunSku
,
warehouseCode
,
dcBaseWarehouse
,
bailunFirstLevelCatagoryId
);
//获取周转天数计算配置, 数据来源于.net同事计算的均值
Integer
turnoverDays
=
getTurnoverDelivery
(
turnoverSku
,
dcBaseWarehouse
,
dcAutoTurnover
,
dcAutoConfigDelivery
,
dcAveragePurchase
,
dcAverageWarehouse
);
Integer
turnoverDays
=
getTurnoverDelivery
(
turnoverSku
,
dcBaseWarehouse
,
dcAutoTurnover
,
dcAutoConfigDelivery
,
dcAveragePurchase
,
dcAverageWarehouse
);
if
(
paymentBeforeDelivery
!=
null
)
{
turnoverDays
+=
paymentBeforeDelivery
;
}
...
...
@@ -261,7 +261,7 @@ public class AutoTurnoverJob extends PointJob {
Integer
purchase
=
0
;
//采购在途
Integer
transfer
=
0
;
//调拨在途
Integer
outStock
=
0
;
//缺货数
Integer
outStock
=
0
;
//缺货数
DcMidTransit
dcMidTransit
=
null
;
try
{
DcMidTransitMapper
midTransitMapper
=
SessionUtil
.
getSession
().
getMapper
(
DcMidTransitMapper
.
class
);
...
...
@@ -284,7 +284,7 @@ public class AutoTurnoverJob extends PointJob {
* 还需要加上入库时长,
* 且不同交通方式的入库时长不一致
*/
ExpectedStorage
(
dcAutoConfigDelivery
,
forecastInboundRelationList
,
purchase
,
transfer
,
recordTime
,
dcAutoTurnover
,
forecastPurchaseInboundList
,
forecastTransferInboundList
,
forecastInboundList
);
ExpectedStorage
(
dcAutoConfigDelivery
,
forecastInboundRelationList
,
purchase
,
transfer
,
recordTime
,
dcAutoTurnover
,
forecastPurchaseInboundList
,
forecastTransferInboundList
,
forecastInboundList
);
//通过SKU和仓库拿到实际库存
Integer
realInventory
=
(
dcBaseStock
!=
null
&&
dcBaseStock
.
getUsableStock
()
!=
null
)
?
dcBaseStock
.
getUsableStock
()
:
0
;
...
...
@@ -350,7 +350,7 @@ public class AutoTurnoverJob extends PointJob {
*/
List
<
DcAutoForecastFluctuation
>
forecastFluctuationList
=
new
ArrayList
<>(
turnoverDays
);
DcAutoConfigSkuWarehouse
dcAutoConfigSkuWarehouse
=
getAutoConfigSkuWarehouse
(
bailunSku
,
warehouseCode
);
boolean
hasMonitorFluctuation
=
actualForecastFluctuations
(
dcAutoTurnover
,
recordTime
,
forecastSalesList
,
realInventory
,
totalSafeInventory
,
outStock
,
dcAutoConfigSkuWarehouse
,
avgHistoryFourteendaySales
,
avgHistoryThreedaySales
,
forecastFluctuationList
);
boolean
hasMonitorFluctuation
=
actualForecastFluctuations
(
dcAutoTurnover
,
recordTime
,
forecastSalesList
,
realInventory
,
totalSafeInventory
,
outStock
,
dcAutoConfigSkuWarehouse
,
avgHistoryFourteendaySales
,
avgHistoryThreedaySales
,
forecastFluctuationList
);
/*
* 获取采购建议-FBA仓库
...
...
@@ -377,7 +377,7 @@ public class AutoTurnoverJob extends PointJob {
* 自动下单管理的冗余-缺货等异常提醒
*/
if
(
hasMonitorFluctuation
)
{
unusualFluctuation
(
totalSafeInventory
,
turnoverDays
,
recordTime
,
dcAutoConfigSkuWarehouse
,
turnoverSku
,
warehouseCode
,
dcAutoTurnover
,
avgHistoryThreedaySales
,
forecastFluctuationList
,
forecastShortSupplyList
,
forecastInventoryList
);
unusualFluctuation
(
totalSafeInventory
,
turnoverDays
,
recordTime
,
dcAutoConfigSkuWarehouse
,
turnoverSku
,
warehouseCode
,
dcAutoTurnover
,
avgHistoryThreedaySales
,
forecastFluctuationList
,
forecastShortSupplyList
,
forecastInventoryList
);
}
//拿一下2倍周转期内的入库总数
...
...
@@ -412,7 +412,7 @@ public class AutoTurnoverJob extends PointJob {
BigDecimal
avgForecastFourteendaySales
=
BigDecimal
.
ZERO
;
BigDecimal
avgForecastTurnoverDaySales
=
BigDecimal
.
ZERO
;
BigDecimal
stockUpSales
=
BigDecimal
.
ZERO
;
int
forturnoverDays
=
turnoverDays
<
14
?
14
:
turnoverDays
;
int
forturnoverDays
=
turnoverDays
<
14
?
14
:
turnoverDays
;
for
(
int
i
=
0
;
i
<
forturnoverDays
;
i
++)
{
if
(
i
<
7
)
{
avgForecastSevendaySales
=
avgForecastSevendaySales
.
add
(
forecastSalesList
.
get
(
i
));
...
...
@@ -422,7 +422,7 @@ public class AutoTurnoverJob extends PointJob {
forecastInventoryList
.
add
(
i
,
BigDecimal
.
ZERO
);
forecastShortSupplyList
.
add
(
i
,
BigDecimal
.
ZERO
);
}
if
(
i
<
14
)
{
if
(
i
<
14
)
{
avgForecastFourteendaySales
=
avgForecastFourteendaySales
.
add
(
forecastSalesList
.
get
(
i
));
}
if
(
i
<
turnoverDays
)
{
...
...
@@ -506,7 +506,7 @@ public class AutoTurnoverJob extends PointJob {
private
void
caculatePlatformAvgSales
(
DcAutoTurnover
dcAutoTurnover
)
{
try
{
DcAutoSalesMapper
mapper
=
SessionUtil
.
getSession
().
getMapper
(
DcAutoSalesMapper
.
class
);
SalesVolumeAvgDTO
ebayAvgSales
=
mapper
.
getPlatformHistorySales
(
dcAutoTurnover
.
getBailunSku
(),
dcAutoTurnover
.
getWarehouseCode
(),
PlatformType
.
Ebay
.
value
());
SalesVolumeAvgDTO
ebayAvgSales
=
mapper
.
getPlatformHistorySales
(
dcAutoTurnover
.
getBailunSku
(),
dcAutoTurnover
.
getWarehouseCode
(),
PlatformType
.
Ebay
.
value
());
dcAutoTurnover
.
setHistorySevendaySalesEbay
(
BigDecimal
.
ZERO
);
dcAutoTurnover
.
setHistoryFourteendaySalesEbay
(
BigDecimal
.
ZERO
);
dcAutoTurnover
.
setHistoryThirtydaySalesEbay
(
BigDecimal
.
ZERO
);
...
...
@@ -544,7 +544,7 @@ public class AutoTurnoverJob extends PointJob {
}
}
private
boolean
actualForecastFluctuations
(
DcAutoTurnover
dcAutoTurnover
,
LocalDate
recordTime
,
List
<
BigDecimal
>
forecastSalesList
,
Integer
realInventory
,
BigDecimal
totalSafeInventory
,
Integer
outStock
,
DcAutoConfigSkuWarehouse
dcAutoConfigSkuWarehouse
,
BigDecimal
avgHistoryFourteendaySales
,
BigDecimal
avgHistoryThreedaySales
,
List
<
DcAutoForecastFluctuation
>
forecastFluctuationList
)
{
private
boolean
actualForecastFluctuations
(
DcAutoTurnover
dcAutoTurnover
,
LocalDate
recordTime
,
List
<
BigDecimal
>
forecastSalesList
,
Integer
realInventory
,
BigDecimal
totalSafeInventory
,
Integer
outStock
,
DcAutoConfigSkuWarehouse
dcAutoConfigSkuWarehouse
,
BigDecimal
avgHistoryFourteendaySales
,
BigDecimal
avgHistoryThreedaySales
,
List
<
DcAutoForecastFluctuation
>
forecastFluctuationList
)
{
boolean
hasMonitorFluctuation
=
false
;
//默认是停止了监控波动功能的
/*
* 这个if判断单纯是为了判断实际冗余,然后存一个表给别人用
...
...
@@ -559,12 +559,12 @@ public class AutoTurnoverJob extends PointJob {
dcAutoDailyRedundance
.
setRecordTime
(
LocalDate
.
now
().
minusDays
(
1
));
try
{
DcAutoDailyRedundanceMapper
mapper
=
SessionUtil
.
getSession
().
getMapper
(
DcAutoDailyRedundanceMapper
.
class
);
int
i
=
mapper
.
updateByExampleSelective
(
dcAutoDailyRedundance
,
DcAutoDailyRedundanceExample
.
newAndCreateCriteria
().
andBailunSkuEqualTo
(
dcAutoDailyRedundance
.
getBailunSku
()).
andWarehouseCodeEqualTo
(
dcAutoDailyRedundance
.
getWarehouseCode
()).
andRecordTimeEqualTo
(
dcAutoDailyRedundance
.
getRecordTime
()).
example
());
int
i
=
mapper
.
updateByExampleSelective
(
dcAutoDailyRedundance
,
DcAutoDailyRedundanceExample
.
newAndCreateCriteria
().
andBailunSkuEqualTo
(
dcAutoDailyRedundance
.
getBailunSku
()).
andWarehouseCodeEqualTo
(
dcAutoDailyRedundance
.
getWarehouseCode
()).
andRecordTimeEqualTo
(
dcAutoDailyRedundance
.
getRecordTime
()).
example
());
if
(
i
==
0
)
{
mapper
.
insertSelective
(
dcAutoDailyRedundance
);
}
}
catch
(
Exception
e
)
{
throw
new
RuntimeException
(
"MYBATIS操作dcAutoDailyRedundance失败"
,
e
);
throw
new
RuntimeException
(
"MYBATIS操作dcAutoDailyRedundance失败"
,
e
);
}
finally
{
SessionUtil
.
closeSession
();
}
...
...
@@ -608,17 +608,22 @@ public class AutoTurnoverJob extends PointJob {
* 波动提醒优先级 --> 实际缺货-实际冗余-预计缺货-预计冗余
*/
private
void
unusualFluctuation
(
BigDecimal
totalSafeInventory
,
Integer
turnoverDays
,
LocalDate
recordTime
,
DcAutoConfigSkuWarehouse
dcAutoConfigSkuWarehouse
,
DcBaseSku
turnoverSku
,
String
warehouseCode
,
DcAutoTurnover
dcAutoTurnover
,
BigDecimal
avgHistoryThreedaySales
,
List
<
DcAutoForecastFluctuation
>
forecastFluctuationList
,
List
<
BigDecimal
>
forecastShortSupplyList
,
List
<
BigDecimal
>
forecastInventoryList
)
{
int
days
=
0
;
//连续冗余或缺货天数
int
index
=
-
1
;
//冗余或缺货天数索引
int
days
=
0
;
int
index
=
-
1
;
if
(
forecastShortSupplyList
.
get
(
turnoverDays
).
compareTo
(
BigDecimal
.
ZERO
)
==
1
)
{
for
(
int
i
=
0
;
i
<=
turnoverDays
;
i
++)
{
if
(
forecastShortSupplyList
.
get
(
i
).
compareTo
(
BigDecimal
.
ZERO
)
==
1
)
{
if
(
forecastShortSupplyList
.
get
(
i
).
compareTo
(
BigDecimal
.
ZERO
)
==
1
)
{
days
++;
if
(
index
<
0
)
{
index
=
i
;
}
}
else
if
(
index
>
0
)
{
if
(
i
==
turnoverDays
&&
index
>=
0
)
{
//如果是最后一天
handleForecastFluctuation
(
2
,
forecastFluctuationList
,
recordTime
,
days
,
index
);
days
=
0
;
index
=
-
1
;
}
}
else
if
(
index
>=
0
)
{
handleForecastFluctuation
(
2
,
forecastFluctuationList
,
recordTime
,
days
,
index
);
days
=
0
;
index
=
-
1
;
...
...
@@ -627,14 +632,17 @@ public class AutoTurnoverJob extends PointJob {
}
}
if
(
forecastInventoryList
.
get
(
turnoverDays
).
compareTo
(
totalSafeInventory
)
==
1
)
{
for
(
int
i
=
0
;
i
<=
turnoverDays
;
i
++)
{
if
(
forecastInventoryList
.
get
(
i
).
compareTo
(
BigDecimal
.
ZERO
)
==
1
)
{
if
(
i
<
turnoverDays
&&
forecastInventoryList
.
get
(
i
).
compareTo
(
totalSafeInventory
)
==
1
)
{
days
++;
if
(
index
<
0
)
{
index
=
i
;
}
}
else
if
(
index
>
0
)
{
if
(
i
==
turnoverDays
&&
index
>=
0
)
{
//如果是最后一天
handleForecastFluctuation
(
4
,
forecastFluctuationList
,
recordTime
,
days
,
index
);
}
}
else
if
(
index
>=
0
)
{
handleForecastFluctuation
(
4
,
forecastFluctuationList
,
recordTime
,
days
,
index
);
break
;
}
...
...
@@ -672,13 +680,13 @@ public class AutoTurnoverJob extends PointJob {
}
}
private
Integer
getTurnoverDelivery
(
DcBaseSku
turnoverSku
,
DcBaseWarehouse
dcBaseWarehouse
,
DcAutoTurnover
dcAutoTurnover
,
DcAutoConfigDelivery
dcAutoConfigDelivery
,
DcAveragePurchase
dcAveragePurchase
,
DcAverageWarehouse
dcAverageWarehouse
)
{
private
Integer
getTurnoverDelivery
(
DcBaseSku
turnoverSku
,
DcBaseWarehouse
dcBaseWarehouse
,
DcAutoTurnover
dcAutoTurnover
,
DcAutoConfigDelivery
dcAutoConfigDelivery
,
DcAveragePurchase
dcAveragePurchase
,
DcAverageWarehouse
dcAverageWarehouse
)
{
/*
* 供应商交期
* 先取dc_average_purchase,如果平均交期没有
* 再去SKUMS取, 取SKUMS数据的时候如果是国内仓,就还取dc_base_sku原来那个字段,否则就要取dc_base_sku原新字段(调拨交期)
*/
Integer
turnoverSupplierDelivery
=
dcAveragePurchase
!=
null
&&
dcAveragePurchase
.
getDeliveryDays
()
>=
0
?
dcAveragePurchase
.
getDeliveryDays
()
:
-
1
;
Integer
turnoverSupplierDelivery
=
dcAveragePurchase
!=
null
&&
dcAveragePurchase
.
getDeliveryDays
()
>=
0
?
dcAveragePurchase
.
getDeliveryDays
()
:
-
1
;
if
(
turnoverSupplierDelivery
==
null
||
turnoverSupplierDelivery
.
equals
(-
1
))
{
turnoverSupplierDelivery
=
turnoverSku
.
getSupplierDelivery
();
//如果是国内仓,就还取原来那个字段,否则就要取新字段(调拨交期)
...
...
@@ -1037,7 +1045,7 @@ public class AutoTurnoverJob extends PointJob {
}
private
BigDecimal
calculateSafeInventory
(
String
bailunSku
,
String
warehouseCode
,
Integer
bailunFirstLevelCatagoryId
,
DcAutoSales
dcAutoSales
,
String
forecastSalesListJson
,
DcAutoTurnover
dcAutoTurnover
)
{
bailunFirstLevelCatagoryId
,
DcAutoSales
dcAutoSales
,
String
forecastSalesListJson
,
DcAutoTurnover
dcAutoTurnover
)
{
/*
* 手动设置
* 1. 根据仓库 + SKU在表里找dc_auto_config_safe_inventory
...
...
@@ -1095,9 +1103,9 @@ public class AutoTurnoverJob extends PointJob {
dcAutoTurnover
.
setDailyWeightedSales
(
weightingAvgSales
);
//乘倍数后的加权日均销量,小于0.8就置0 0.8-1 之间就置1
weightingAvgSales
=
weightingAvgSales
.
multiply
(
dcAutoConfigSafeInventory
.
getParam
()).
setScale
(
3
,
RoundingMode
.
HALF_EVEN
);
if
(
weightingAvgSales
.
compareTo
(
BigDecimal
.
valueOf
(
0.8
))
==
-
1
)
{
if
(
weightingAvgSales
.
compareTo
(
BigDecimal
.
valueOf
(
0.8
))
==
-
1
)
{
weightingAvgSales
=
BigDecimal
.
ZERO
;
}
else
if
(
weightingAvgSales
.
compareTo
(
BigDecimal
.
ONE
)
<=
0
){
}
else
if
(
weightingAvgSales
.
compareTo
(
BigDecimal
.
ONE
)
<=
0
)
{
weightingAvgSales
=
BigDecimal
.
ONE
;
}
}
else
{
...
...
@@ -1291,7 +1299,7 @@ public class AutoTurnoverJob extends PointJob {
dcAutoTurnover
.
setTurnoverSales
(
totalSales
);
}
//采购建议 = 安全库存缺少值 + 今日的实际缺货 + 本次采购到货日期前一天的累计销量 - 本次采购到货日期累计到货数量 + 预计销量 - 今日的实际库存
BigDecimal
totalAdvised
=
totalSafeInventory
.
subtract
(
forecastInventoryList
.
get
(
j
>
0
?
j
-
1
:
0
))
//安全库存缺少值= 理论安全库存 - 预测库存
BigDecimal
totalAdvised
=
totalSafeInventory
.
subtract
(
forecastInventoryList
.
get
(
j
>
0
?
j
-
1
:
0
))
//安全库存缺少值= 理论安全库存 - 预测库存
.
add
(
BigDecimal
.
valueOf
(
outStock
.
longValue
()))
//今天的实际缺货
.
add
(
totalSales
)
//累计销量
.
subtract
(
BigDecimal
.
valueOf
(
totalInbound
.
doubleValue
()))
//累计到货
...
...
@@ -1428,7 +1436,7 @@ public class AutoTurnoverJob extends PointJob {
dcAutoTurnover
.
setTurnoverSales
(
totalSales
);
}
//采购建议 = 安全库存缺少值 + 今日的实际缺货 + 本次采购到货日期前一天的累计销量 - 本次采购到货日期累计到货数量 + 预计销量
BigDecimal
totalAdvised
=
totalSafeInventory
.
subtract
(
forecastInventoryList
.
get
(
j
>
0
?
j
-
1
:
0
))
//安全库存缺少值= 理论安全库存 - 预测库存
BigDecimal
totalAdvised
=
totalSafeInventory
.
subtract
(
forecastInventoryList
.
get
(
j
>
0
?
j
-
1
:
0
))
//安全库存缺少值= 理论安全库存 - 预测库存
.
add
(
BigDecimal
.
valueOf
(
outStock
.
longValue
()))
//今天的实际缺货
.
add
(
totalSales
)
//累计销量
.
subtract
(
BigDecimal
.
valueOf
(
totalInbound
.
doubleValue
()))
//累计到货
...
...
@@ -1505,7 +1513,7 @@ public class AutoTurnoverJob extends PointJob {
* @param bailunFirstLevelCatagoryId
* @return
*/
private
DcAutoConfigDelivery
getDcAutoConfigDelivery
(
String
bailunSku
,
String
warehouseCode
,
DcBaseWarehouse
dcBaseWarehouse
,
Integer
private
DcAutoConfigDelivery
getDcAutoConfigDelivery
(
String
bailunSku
,
String
warehouseCode
,
DcBaseWarehouse
dcBaseWarehouse
,
Integer
bailunFirstLevelCatagoryId
)
{
DcAutoConfigDelivery
dcAutoConfigDelivery
=
null
;
//如果不是国内仓, 就读配置表
...
...
data-show/show-auto-turnover/src/test/java/AutoTurnoverTest.java
View file @
cc51a019
...
...
@@ -52,7 +52,7 @@ public class AutoTurnoverTest {
// dcBaseStock = mapper.selectOneByExample(DcBaseStockExample.newAndCreateCriteria().andBailunSkuEqualTo("322572421").andWarehouseCodeEqualTo("QYBLZZ").example());
// dcBaseStock = mapper.selectOneByExample(DcBaseStockExample.newAndCreateCriteria().andBailunSkuEqualTo("232232601").andWarehouseCodeEqualTo("CHUKFBA").example());
// dcBaseStock = mapper.selectOneByExample(DcBaseStockExample.newAndCreateCriteria().andBailunSkuEqualTo("213789601").andWarehouseCodeEqualTo("GZBLWH").example());
dcBaseStock
=
mapper
.
selectOneByExample
(
DcBaseStockExample
.
newAndCreateCriteria
().
andBailunSkuEqualTo
(
"
ND016"
).
andWarehouseCodeEqualTo
(
"GZBLWH
"
).
example
());
dcBaseStock
=
mapper
.
selectOneByExample
(
DcBaseStockExample
.
newAndCreateCriteria
().
andBailunSkuEqualTo
(
"
227290301"
).
andWarehouseCodeEqualTo
(
"AUFBACM
"
).
example
());
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
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