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
4236061d
Commit
4236061d
authored
Sep 02, 2019
by
yinyong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
实时缺货计算更改-JIT保底库存,INSET SELECT拆分
parent
bd98e7a0
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
42 additions
and
10 deletions
+42
-10
CrmRefundSyncJob.java
...und/src/main/java/com/bailuntec/job/CrmRefundSyncJob.java
+1
-0
OutStockQuantity.java
.../main/java/com/bailuntec/domain/dto/OutStockQuantity.java
+14
-0
DcMidTransitMapper.java
...rc/main/java/com/bailuntec/mapper/DcMidTransitMapper.java
+5
-1
DcMidTransitMapper.xml
...src/main/java/com/bailuntec/mapper/DcMidTransitMapper.xml
+14
-8
CalculateOutStockJob.java
...src/main/java/com/bailuntec/job/CalculateOutStockJob.java
+8
-1
No files found.
data-base/base-sync-crm-refund/src/main/java/com/bailuntec/job/CrmRefundSyncJob.java
View file @
4236061d
...
...
@@ -104,6 +104,7 @@ public class CrmRefundSyncJob extends PointJob {
}
if
(
dcBaseOmsOrder
!=
null
)
{
dcBaseCrmRefund
.
setOrderStatus
(
dcBaseOmsOrder
.
getBailunOrderStatus
());
dcBaseCrmRefund
.
setShippingStatus
(
dcBaseOmsOrder
.
getBailunShippingStatus
());
if
(
"FBA"
.
equals
(
dcBaseCrmRefund
.
getPlatformType
().
toUpperCase
()))
{
dcBaseCrmRefund
.
setShippingStatus
(
"TotalShipping"
);
}
...
...
data-common/src/main/java/com/bailuntec/domain/dto/OutStockQuantity.java
0 → 100644
View file @
4236061d
package
com
.
bailuntec
.
domain
.
dto
;
import
lombok.Data
;
import
java.time.LocalDateTime
;
@Data
public
class
OutStockQuantity
{
private
String
bailunSku
;
private
String
warehouseCode
;
private
Integer
quantityOutStock
;
private
LocalDateTime
gmtOutStockModified
;
}
data-common/src/main/java/com/bailuntec/mapper/DcMidTransitMapper.java
View file @
4236061d
package
com
.
bailuntec
.
mapper
;
import
com.bailuntec.domain.dto.OutStockQuantity
;
import
com.bailuntec.domain.entity.DcMidTransit
;
import
com.bailuntec.domain.example.DcMidTransitExample
;
import
org.apache.ibatis.annotations.Param
;
...
...
@@ -7,6 +8,7 @@ import org.apache.ibatis.annotations.Select;
import
java.time.LocalDateTime
;
import
java.util.List
;
import
java.util.Map
;
public
interface
DcMidTransitMapper
{
/**
...
...
@@ -130,7 +132,9 @@ public interface DcMidTransitMapper {
void
insertMidDailyTransit
();
void
calculateOutStock
();
List
<
OutStockQuantity
>
selectQuantityOutStock
();
void
calculateOutStock
(
OutStockQuantity
outStockQuantity
);
@Select
(
"select @@tx_isolation;"
)
String
printTransactionLevel
();
...
...
data-common/src/main/java/com/bailuntec/mapper/DcMidTransitMapper.xml
View file @
4236061d
...
...
@@ -754,13 +754,11 @@
update dc_daily_transit t1, dc_base_sku t2 set t1.unit_price = t2.unit_price WHERE t1.record_time = DATE_SUB( CURDATE( ), INTERVAL 1 DAY ) and t1.bailun_sku=t2.bailun_sku
</update>
<insert
id=
"calculateOutStock"
>
insert into dc_mid_transit(bailun_sku, warehouse_code, quantity_out_stock,gmt_out_stock_modified)
<select
id=
"selectQuantityOutStock"
resultType=
"com.bailuntec.domain.dto.OutStockQuantity"
>
SELECT
t1.bailun_sku,
t1.warehouse_code,
t1.bailun_sku_quantity_ordered - t1.bailun_sku_quantity_pushed - t2.usable_stock - t2.occupy_stock,
CURRENT_TIMESTAMP
t1.bailun_sku as bailunSku,
t1.warehouse_code as warehouseCode,
t1.bailun_sku_quantity_ordered - t1.bailun_sku_quantity_pushed - t2.usable_stock - t2.occupy_stock + ifnull(t3.safe_stock, 0) as quantityOutStock
FROM
(
SELECT
...
...
@@ -782,8 +780,16 @@
bailun_sku,
warehouse_code
) t1 INNER JOIN dc_base_stock t2 ON t1.bailun_sku=t2.bailun_sku and t1.warehouse_code=t2.warehouse_code
WHERE (t1.bailun_sku_quantity_ordered - t1.bailun_sku_quantity_pushed - t2.usable_stock - t2.occupy_stock) >= 0
ON DUPLICATE KEY UPDATE quantity_out_stock = VALUES(quantity_out_stock),gmt_out_stock_modified = VALUES(gmt_out_stock_modified)
LEFT JOIN dc_auto_jit_inventory t3 ON t1.bailun_sku=t3.bailun_sku and t1.warehouse_code=t3.warehouse_code
WHERE (t1.bailun_sku_quantity_ordered - t1.bailun_sku_quantity_pushed - t2.usable_stock - t2.occupy_stock + ifnull(t3.safe_stock, 0)) >= 0
</select>
<insert
id=
"calculateOutStock"
>
insert into dc_mid_transit(bailun_sku, warehouse_code, quantity_out_stock,gmt_out_stock_modified)
values(
#{bailunSku,jdbcType=VARCHAR}, #{warehouseCode,jdbcType=VARCHAR}, #{quantityOutStock,jdbcType=INTEGER}, #{gmtOutStockModified,jdbcType=TIMESTAMP}
)
ON DUPLICATE KEY UPDATE quantity_out_stock = #{quantityOutStock,jdbcType=INTEGER},gmt_out_stock_modified = #{gmtOutStockModified,jdbcType=TIMESTAMP}
</insert>
<update
id=
"updateOldOutStockToZero"
>
update dc_mid_transit set quantity_out_stock =0 where gmt_out_stock_modified
<
#{outStockModified,jdbcType=TIMESTAMP}
...
...
data-mid/mid-calculate-transit/src/main/java/com/bailuntec/job/CalculateOutStockJob.java
View file @
4236061d
package
com
.
bailuntec
.
job
;
import
com.bailuntec.domain.dto.OutStockQuantity
;
import
com.bailuntec.mapper.DcMidTransitMapper
;
import
com.bailuntec.utils.SessionUtil
;
import
com.dangdang.ddframe.job.api.ShardingContext
;
...
...
@@ -9,6 +10,7 @@ import org.apache.ibatis.session.SqlSession;
import
org.apache.ibatis.session.TransactionIsolationLevel
;
import
java.time.LocalDateTime
;
import
java.util.List
;
@Slf4j
public
class
CalculateOutStockJob
implements
SimpleJob
{
...
...
@@ -18,7 +20,12 @@ public class CalculateOutStockJob implements SimpleJob {
SqlSession
sqlSession
=
SessionUtil
.
getFactory
().
openSession
(
TransactionIsolationLevel
.
READ_UNCOMMITTED
);
try
{
DcMidTransitMapper
mapper
=
sqlSession
.
getMapper
(
DcMidTransitMapper
.
class
);
mapper
.
calculateOutStock
();
List
<
OutStockQuantity
>
listQuantityOutStock
=
mapper
.
selectQuantityOutStock
();
LocalDateTime
localDateTime
=
LocalDateTime
.
now
();
for
(
OutStockQuantity
outStockQuantity:
listQuantityOutStock
)
{
outStockQuantity
.
setGmtOutStockModified
(
localDateTime
);
mapper
.
calculateOutStock
(
outStockQuantity
);
}
sqlSession
.
commit
();
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
...
...
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