定时任务逻辑整理
2022-12-12 17:00:20 3 举报
AI智能生成
黄金科主题逻辑梳理
作者其他创作
大纲/内容
夜间定时器任务
每月1日
200-210
定时任务-200
定时任务-201
定时任务-202
定时任务-203
0-19
定时任务-0
zfl.query.controller.ICSDataBranch#getBranchDistributionList
分批从【ICS-BRANCH-API】
/branch/distribution接口获取数据
从接口获得的数据写入到
【ICS_BranchDistribution】分店信息
存储过程【pro_AfterCrawlingICSData】
[ICS_BranchDistribution]
存储过程【pro_dealWithIcs_branchdistribution】
插入分店z_branch
插入仓库表z_wh
更新分店表数据p_branchinfo
插入分店信息表p_branchinfo
插入仓配分店组p_whtobranchgrp
根据【ics_branchdistribution】统计各字段
存储过程【pro_dealWithICSScaleNature】
重新初始化【imp_scaleNature】
存储过程【pro_CenterDBSync】
[p_branchinfo;p_whtobranchgrp;P_BranchNewMouldNo]
存储过程【pro_CenterDBSync0】
[P_WHtoBranchGrp]
根据【sync_table】ces_config_sit 插入到中间库
定时任务-1
zfl.query.controller.ICSDataBranch#getSelfPayment
分批从【ICS-BRANCH-API】
/branch/amount/stock_target接口获取数据
从接口获得的数据写入到
【ICS_SelfBranchTeam】分店存貨指標
存储过程【pro_AfterCrawlingICSData】
[ICS_SelfBranchTeam]
定时任务-2
zfl.query.controller.ICSDataBranch#getWholesalePayment
分批从【ICS-BRANCH-API】
/branch/amount/wholesale接口获取数据
从接口获得的数据写入到
【ICS_Wholesale】批发货款
存储过程【pro_AfterCrawlingICSData】
[ICS_Wholesale]
定时任务-3
zfl.query.controller.ICSDataBranch#getConsignmentPayment
分批从【ICS-BRANCH-API】
/branch/amount/deposit_delivery接口获取数据
从接口获得的数据写入到
【ICS_ConsignmentPayment】保证金放货
【ICS_Consignment】保证金放货
存储过程【pro_AfterCrawlingICSData】
[ICS_Consignment]
定时任务-4
zfl.query.controller.ICSDataBranch#getBranchAvailableAmount
分批从【ICS-BRANCH-API】
/branch/amount/available接口获取数据
从接口获得的数据写入到
【ICS_BranchTeamAvailable】公司可配金额
存储过程【pro_AfterCrawlingICSData】
[ICS_BranchTeamAvailable]
定时任务-5
zfl.query.controller.ICSDataBranch#getBranchBondAmount
分批从【ICS-BRANCH-API】
/branch/amount/deposit接口获取数据
从接口获得的数据写入到
【ICS_BranchTeamBond】公司保证金
存储过程【pro_AfterCrawlingICSData】
[ICS_BranchTeamBond]
定时任务-6
zfl.query.controller.ICSDataBranch#getBranchDepositFloat
分批从【ICS-BRANCH-API】
/branch/amount/deposit_float接口获取数据
从接口获得的数据写入到
【ICS_BranchDepositControl】公司保证金浮动系数
存储过程【pro_AfterCrawlingICSData】
[ICS_BranchDepositControl]
存储过程【pro_Rez_marginfloatingData】
重置M07-03保证金浮动系数z_marginfloating
定时任务-7
zfl.query.controller.ICSDataBranch#getBranchStockScale
分批从【ICS-BRANCH-API】
/branch/amount/stock_scale接口获取数据
从接口获得的数据写入到
【ICS_BranchStockScale】分店存货标准
存储过程【pro_AfterCrawlingICSData】
[ICS_BranchStockScale]
重置 imp_branchstockscale
存储过程【pro_dealWithICSStockScaleStandard】
重置 Z_StockScaleStandard
21-59
定时任务-21
zfl.query.controller.ICSDataExchange#getLogisticsPrice
分批从【ICS-EXCHANGE-API】
/logistics/prices接口获取数据
从接口获得的数据写入到
【ICS_LogisticsCost】仓库物流费用
存储过程【pro_AfterCrawlingICSData】
[ICS_LogisticsCost]
定时任务-30
zfl.query.controller.ICSDataMould#getStockTypeList
分批从【ICS-MOULD-API】
/stock_type接口获取数据
从接口获得的数据写入到
【ICS_StockType】货类基础资料
存储过程【pro_AfterCrawlingICSData】
[ICS_StockType]
定时任务-31
zfl.query.controller.ICSDataMould#getShapeFirstList
分批从【ICS-MOULD-API】
/style/shape_first接口获取数据
从接口获得的数据写入到
【ICS_ShapeFirst】形态甲基础资料
存储过程【pro_AfterCrawlingICSData】
[ICS_ShapeFirst]
定时任务-32
zfl.query.controller.ICSDataMould#getShapeSecondList
分批从【ICS-MOULD-API】
/style/shape_second接口获取数据
从接口获得的数据写入到
【ICS_ShapeSecond】形态乙基础资料
存储过程【pro_AfterCrawlingICSData】
[ICS_ShapeSecond]
定时任务-33
zfl.query.controller.ICSDataMould#getMajorCategoryList
分批从【ICS-MOULD-API】
/style/major_category接口获取数据
从接口获得的数据写入到
【ICS_MajorCategory】货品大类基础资料
存储过程【pro_AfterCrawlingICSData】
[ICS_MajorCategory]
定时任务-34
zfl.query.controller.ICSDataMould#getMinorCategoryList
分批从【ICS-MOULD-API】
/style/minor_category接口获取数据
从接口获得的数据写入到
【ICS_MinorCategory】货品小类基础资料
存储过程【pro_AfterCrawlingICSData】
[ICS_MinorCategory]
定时任务-35
zfl.query.controller.ICSDataMould#getProductSeriesList
分批从【ICS-MOULD-API】
/style/product_series接口获取数据
从接口获得的数据写入到
【ICS_ProductSeries】产品系列基础资料
存储过程【pro_AfterCrawlingICSData】
[ICS_ProductSeries]
定时任务-36
zfl.query.controller.ICSDataMould#getStockNatureSumList
分批从【ICS-MOULD-API】
/stock_nature/stock_nature_sum接口获取数据
从接口获得的数据写入到
【ICS_StockNatureSum】首饰类别基础资料
存储过程【pro_AfterCrawlingICSData】
[ICS_StockNatureSum]
重置 ics_stocknaturesum
定时任务-37
zfl.query.controller.ICSDataMould#getRingSizeList
分批从【ICS-MOULD-API】
/ring_size接口获取数据
从接口获得的数据写入到
【ICS_RingSize】圈口基础资料
存储过程【pro_AfterCrawlingICSData】
[ICS_RingSize]
定时任务-38
zfl.query.controller.ICSDataMould#getStockGroupTypeList
分批从【ICS-MOULD-API】
/stock_nature/stock_group_type接口获取数据
从接口获得的数据写入到
【ICS_StockGroupType】号头基础资料
存储过程【pro_AfterCrawlingICSData】
[ICS_StockGroupType]
定时任务-39
zfl.query.controller.ICSDataMould#getStockNatureList
分批从【ICS-MOULD-API】
/stock_nature/stock_nature接口获取数据
从接口获得的数据写入到
【ICS_StockNature】组别小类(首饰类别)基础资料
存储过程【pro_AfterCrawlingICSData】
[ICS_StockNature]
定时任务-40
zfl.query.controller.ICSDataMould#getMaterialNatureSumList
分批从【ICS-MOULD-API】
/stock_nature/material_nature_sum接口获取数据
从接口获得的数据写入到
【ICS_MaterialNatureSum】业务小类基础资料
存储过程【pro_AfterCrawlingICSData】
[ICS_MaterialNatureSum]
定时任务-41
zfl.query.controller.ICSDataMould#getStockNatureListByStockGroupType
分批从【ICS-MOULD-API】
/stock_nature/stock_group_type/stock_nature接口获取数据
从接口获得的数据写入到
【ICS_StockNatureSumByStockGroupType】通过号头查询组别小类
存储过程【pro_AfterCrawlingICSData】
[ICS_StockNatureSumByStockGroupType]
修改 mouldmaster、ics_stocknaturesumbystockgrouptype
重置 ics_stocknaturesum
定时任务-50
zfl.query.controller.QueryDB#mouldDetail
SQL Server[Mould_Detail] -》
MySQL[mouldDetail]模号时值拆分资料表
定时任务-51
zfl.query.controller.QueryDB#mouldMaster
SQL Server[Mould Master] -》
MySQL[mouldmaster]模号资料表
存储过程【pro_AfterCrawlingMouldMaster】
修改mouldmaster、ics_wholesaleprice
修改mouldmaster、ics_stocknaturesumbystockgrouptype
定时任务-52
zfl.query.controller.QueryDB#branchLocation
SQL Server[Item Master] -》
MySQL[imp_branchlocation]仓库Location
62-63
定时任务-62
zfl.query.controller.QueryDB#stock
SQL Server[Item Master]、[Branch]、[stock nature] -》
MySQL[rev_sdbdata]复核源数据表
定时任务-63
zfl.query.controller.QueryDB#locationStock
SQL Server[Item Master]、[Branch]、[stock nature] -》
MySQL[rev_whlocation]复核仓库库存表
80-89
定时任务-80
zfl.query.controller.QueryDB#unconfirmedGoods
SQL Server扫货未确认数据 导入到
[SDB_ScanStockResult_Unconfirmed]
定时任务-81
zfl.query.controller.QueryDB#sweepConfirmed
SQL Server扫货已确认数据导入到
[SDB_ScanStockResult_Temp]
定时任务-82
zfl.query.controller.QueryDB#purchasedConfirmedAndUnconfirmed
SQL Server扫货已确认+扫货未确认数导入到
[SDB_ScanStockResult_UnconfirmedMoney]
定时任务-83
zfl.query.controller.QueryDB#inventoryData
SQL Server现有存货数据导入到
[SDB_InventoryData]
定时任务-84
zfl.query.controller.QueryDB#syncStoreDate
SQL Server最后一次到店日期导入到
[sdb_reachBranchDate]
91-91
定时任务-91
zfl.query.controller.ResultDB#nonCore
SQL Server DNonCore数据导入到
[D_NonCore]
800-800
定时任务-800
zfl.query.BatchesUtils#syncAfterCrawlingSearchDB
###查询库同步后处理
存储过程【pro_AfterCrawlingSearchDB】
更新 术语 z_term
更新 备注3 imp_remark3
# 扫货处理 - 主流程
存储过程【pro_dealWithScanStock】
根据上次扫货时间,按天循环执行
# 扫货处理 - 分仓&需求对照
存储过程【pro_dealWithScanStockNew_Day】
清空当天扫货历史表
更新 扫货状态、确认时间
删除 alloc_ics
更新 alloc_ics
更新 实际配货量大0的 客单需求
更新 实际配货量大0的 分店需求
更新 实际配货量大0的 策略性需求
更新 实际配货量大0的 新店需求
更新 实际配货量大0的 新品需求
如果今天存在扫货数据,则遍历游标
(扫货数据)
根据扫货记录查分仓记录
如果存在分仓记录
更新分仓记录的,实际配货量、执货时间、确认时间、执货明细单号
当前分仓是客单需求
找回当前分仓对应的需求
存在对应需求
更新需求的实际配货量、配货日期、执货明细单号
当前分仓是分店需求
找回当前分仓对应的需求
存在对应需求
更新需求的实际配货量、配货日期、执货明细单号
当前分仓是策略性需求
找回当前分仓对应的需求
存在对应需求
更新需求的实际配货量、配货日期、执货明细单号
不存在对应需求
查找新店需求
更新需求的实际配货量、配货日期、执货明细单号
不存对应需求
查找新品需求
更新需求的实际配货量、配货日期、执货明细单号
更新扫货源数据 匹配状态、分仓结果ID、配货类型、执货明细单号、分仓日期
插入匹配不到分仓结果的数据 alloc_ics
更新扫货新增分仓记录对应分仓ID
更新分仓数据
写入扫货历史表
把当天扫货增加到累计扫货中
[alloc_ics]
#更新客单需求
[p_customrequirement]
更新分店需求
[z_storerequirementno]
更新策略性需求
[p_strategicplan]
更新新店计划
[p_newbranchplan]
更新新品计划
[z_newprodplan]
更新最后扫货时间
## 同步配货未执表
存储过程
【pro_CenterDBSync_ReviewNotFulfilled】
# 重置 未完成执货单
alloc_ics -》p_unfinishbill_sync
存储过程【pro_CenterDBSync0】
[p_unfinishbill]
根据【sync_table】
p_unfinishbill_sync(工作库)-》p_unfinishbill(中间库)
## 刷新货品配后状态
存储过程【pro_ReGoodsStatus】
# 获取上次刷新货品状态时间
# 重置 货品状态临时表
alloc_ics -》 temp_regoodsstatus_icsid
# 重置部分 货品状态查询
temp_regoodsstatus_icsid -》 z_goodsstatus
zfl.query.BatchesUtils#syncAfterCrawlingResultDB
###中间库同步后处理
存储过程【pro_AfterCrawlingResultDB】
插入[z_expresstoday]
###生成仓库预计量
存储过程【pro_ReAllocIcsQueryWh】
###人效报表复核数据
存储过程【pro_report_p_ReviewMouldHis】
zfl.query.BatchesUtils#calAvailableAmount
存储过程【pro_CalcAvailableBalance】
-- 数据清理
TRUNCATE TABLE `temp_availablebalance2_team`;
TRUNCATE TABLE `temp_availablebalance2_branch`;
TRUNCATE TABLE `temp_availablebalance2_branchdetail`;
TRUNCATE TABLE `z_availablebalance_branchstatus`;
TRUNCATE TABLE `z_stockTypeScaleMaterialNatureSum`;
# 生成分店状态
# 更新分店基本信息 存货标准标识
# 更新分店状态和分店描述
# 校正分店状态描述(状态为正常)
# 校正M07-05的上限状态
# 先把分店+业务小类插入到临时表
存储过程【pro_CalcAvailableBalance_2】
...
zfl.query.BatchesUtils#syncReviewNotFulfilled
## 同步配货未执表
存储过程
【pro_CenterDBSync_ReviewNotFulfilled】
zfl.query.BatchesUtils#syncReviewWHSoh
中间库数据同步 - 可用库存
存储过程【pro_CenterDBSync_ReviewWHSoh】
60-61
定时任务-60
zfl.query.controller.QueryDB#samePeriod30Days
SQL Server[History]、[Item Master] 、[stock nature]、[History Tran Code]-》
MySQL[rev_sdbdata]复核源数据表
定时任务-61
zfl.query.controller.QueryDB#nearly30Days
SQL Server[History]、[Item Master] 、[stock nature]、[History Tran Code]-》
MySQL[rev_sdbdata]复核源数据表
902-904
定时任务-902
zfl.query.controller.QueryDB#hisMouldData
SQL Server[History]、[Item Master] 、[History Tran Code]-》
MySQL[sdb_rep_his_mould] history 模号销售(润乾报表用) 取两年数据。数据取到前一天
定时任务-903
zfl.query.controller.QueryDB#monthlyMouldData
SQL Server[Stock Monthly]、[Item Master]-》
MySQL[sdb_rep_monthly_mould] stockMonthly 模号月结(润乾报表用) 取两年数据。数据取到上一个月
定时任务-904
zfl.query.controller.QueryDB#BrandSalesData
SQL Server[History]、[Item Master] 、[History Tran Code]、[Branch]-》
MySQL[sdb_scanstockresult]从中间库导入的扫货记录
906-907
定时任务-906
zfl.query.BatchesUtils#DayTask
###每日凌晨作业,执行时间点为每天0点左右,主要用于数据清理
存储过程【pro_DayTask】
定时任务-907
zfl.query.BatchesUtils#branchReportDayTask
###分店报表每日作业
存储过程【pro_BranchReportDayTask】
早晨重算可配金额定时器任务
0-4
7
82-83
900
中午重算可配金额定时器任务
0-4
7
82-83
900
中间库黑白名单提早定时器任务
...
复核数据完成(算法)回调:
/AllocTm1
抓取AllocTm1数据
zfl.query.mapper.QueryDBService#getAllocTm1
truncate Alloc_Tm1
zfl.query.mapper.QueryDBService#insertAllocTm1
100-104
定时任务-100
zfl.query.controller.ResultDB#branchWhiteList
结果中间库MySQL[R_BranchWhiteList] -》
MySQL[Z_BranchWhiteList]白名单分店
定时任务-101
zfl.query.controller.ResultDB#strategicPlan
结果中间库MySQL[R_StrategicPlan] -》
MySQL[Z_StrategicPlan]策略性需求
定时任务-102
zfl.query.controller.ResultDB#newProductPlan
结果中间库MySQL[R_NewProductPlan] -》
MySQL[Z_NewProductPlan]常规新品计划
定时任务-103
zfl.query.controller.ResultDB#newBranchPlan
结果中间库MySQL[R_NewBranchPlan] -》
MySQL[Z_NewBranchPlan]新店配货计划
定时任务-104
zfl.query.controller.ResultDB#getCustomRequirement
结果中间库MySQL[R_CustomRequirement] -》
MySQL[Z_CustomRequirement]客单需求
MySQL[Z_CustomRequirement]客单需求
901
定时任务-901
zfl.query.BatchesUtils#generateReviewData
###生成复核数据
存储过程【pro_Review_RefreshStatisticsData】
存储过程【pro_Review_RefreshStatisticsData】
rev_branchinfo -》rev_branchinfo_his 复核分店信息表 转入历史表
rev_reviewsign -》rev_reviewsign_his 复核分店审阅状态 转入历史表
获取常规需求编号
未确认[sdb_scanstockresult_unconfirmed]、配货未执[alloc_ics] -》 rev_sdbdata
# 处理模号数据
mouldmaster.standardWeight
# 全国销售表
rev_sdbdata.dataType=5 -》 rev_allsale
rev_sdbdata.dataType=5 -》 rev_allsale
# 城市&模号表
rev_sdbdata.dataType IN (5, 6, 8, 9),
z_branch -》 rev_citymould
# 区域&模号表
rev_sdbdata.dataType IN (5, 6, 8, 9),
z_branch -》 rev_districtmould
# 全国&模号表
rev_districtmould -》 rev_allmould
# 计算预留货品
# 生成预留货品数据
存储过程【pro_ReReservedGoods】
清空预留货品 z_reservedgoods
# 计算汇总的预留数
(包含M0405+客单+分店+策略性+新店+新品+)
z_reservedgoodsset +
p_customrequirement +
z_storerequirementno + p_strategicplan +
p_newbranchplan + z_newprodplan -》
z_reservedgoods
z_reservedgoods + z_CustomRequirement +
z_branchwhitelist + z_strategicplan +
z_newbranchplan + z_newproductplan -》
rev_branchrequirement
# 中央仓存表
# 生成可用仓库清单
存储过程【pro_tempEfficientWH】
清空 temp_efficientwh
# 已审批的可用仓仓位
p_whandlocation -》 temp_efficientwh
当日有排店的情况下,删除 仓库休假数据
temp_efficientwh -》
rev_wh(生成复核时的中央仓库清单)
# 插入中央仓存
rev_whlocation、rev_wh、rev_sdbdata、mouldmaster -》 rev_itemstock
# 根据其他数据补充中央仓存
rev_sdbdata(type=5, 6, 8, 9) + rev_branchrequirement -》
rev_itemstock
rev_sdbdata(type=5, 6, 8, 9) + rev_branchrequirement -》
rev_itemstock
# 更新预留
UPDATE rev_itemstock
# 配货模码表
rev_itemstock、mouldmaster、
ics_productseries、ics_minorcategory、
ics_stocknaturesum、
ics_stocknaturesumbystockgrouptype -》
rev_distributiondata_mould
# 需求数据统计完成
z_reservedgoods -》 rev_todayrequirement
# 复核分店需求数
rev_todayrequirement + rev_todayrequirement -》
rev_branchneed
# 生成分店复核数据数据(核心)
存储过程【pro_Review_createAllData_New0(0)】
存储过程【pro_Review_createAllData_New0(0)】
执行全部分店?
已经进行过分仓计算时:跳过
转移今天数据到历史表
rev_distributiondata、
rev_distributiondata_branch -》
rev_distributiondata_his
rev_distributiondata_branch -》
rev_distributiondata_branch_his
rev_branchdistributionprice -》
rev_branchdistributionprice_his
删除主管复核中所有未进行分仓计算的结果
(主管复核存储当天和已进行分仓计算的数据,若需其他数据请查询his表)
p_arrangeshopfin、z_branch -》
temp_arrangeshopfin
UPDATE temp_arrangeshopfin
执行单个分店?
...
# 分店、模码表
# rev_sdbdata根据分店号+模码分组查询的结果
rev_sdbdata -》 rev_branchitem
# 配货表
(系统建议,插入当天配货数据)
alloc_tm1、p_arrangeshopfin、z_branch、mouldmaster、ics_productseries、
ics_minorcategory、
ics_stocknaturesum、
ics_stocknaturesumbystockgrouptype、
rev_todayrequirement -》 rev_distributiondata
(配货数据)
rev_itemstock、mouldmaster、
ics_productseries、ics_minorcategory、
ics_stocknaturesum、
ics_stocknaturesumbystockgrouptype、
temp_arrangeshopfin、rev_branchitem、 -》
rev_distributiondata
(系统自动配货)
循环遍历游标
rev_distributiondata、ics_branchdistribution、temp_arrangeshopfin
fetch cur_ph INTO iid, bbCode, phlx, hl, mh, sl, sw, sh, qk, xqs, ly, cs, qy;
# 如果不存在 中央仓存数据,则进行初始化
rev_itemstock
# 如果不存在 分店、模码统计表数据,则初始化
rev_branchitem
# 如果是定制化客单
UPDATE rev_itemstock.todayQty2
# 如果是非定制化客单
UPDATE rev_itemstock.todayQty、
rev_distributiondata.actualQty
# 分店模码
UPDATE rev_branchitem.toDayQty
# 如果不存在 全国、模号统计表,则进行初始化
rev_allmould
# 如果不存在 区域、模码统计表,进行初始化
rev_districtmould
# 如果不存在 城市、模码统计表,进行初始化
rev_citymould
# 分店配货表
rev_distributiondata -》
rev_distributiondata_branch
# 更新复核分店需求
rev_distributiondata -》 rev_branchneed
# 分店信息表
rev_distributiondata、
z_availablebalance_onlybranch -》
rev_branchinfo
# 分店&模号表
rev_sdbdata(type=5, 6, 8, 9)、rev_distributiondata -》
rev_branchmould
rev_branchmould
# 补充
rev_distributiondata -》rev_branchmould
# 分店&小类表
rev_branchmould、mouldmaster -》
rev_s2branch
# 分店&货类表
rev_branchitem -》 rev_branchstocktype
# 分店已配金额(按业务小类)复核 - 刷新汇总数据
存储过程【pro_Review_refreshBranchDistributionPrice】
删除今日 rev_branchdistributionprice
插入 rev_branchdistributionprice
# 更新可配金额
UPDATE rev_branchdistributionprice.availableBalance
# 更新存货标准
rev_branchdistributionprice.scalePrice
# 更新实配金额
rev_branchdistributionprice.price
# 更新可配金重
rev_branchinfo.brancheWeight
# 刷新分店黑名单(M03-01\M03-03)
存储过程【pro_Review_reBranchBlackMould】
# 今天首次执行,清空表
否则仅做删除操作
rev_branchblackmouldnodetail
循环游标
v_logisticsblackwhitelist、v_branchblackList
# 如果是模组级别的黑名单(分店需求才存在)
IF d_mouldNo=0 AND d_dType=2
写入黑名单汇总表
rev_distributiondata_mould -》
rev_branchblackmouldnodetail
# 如果是模组级别的黑名单
(分店需求、M0301均可能存在)
写入黑名单汇总表
rev_distributiondata_mould -》
rev_branchblackmouldnodetail
# 其他情况(如果是模码级别的黑名单)
写入黑名单汇总表
rev_distributiondata_mould -》
rev_branchblackmouldnodetail
# 判断操作前后rev_branchblackmouldnodetail数据量是否有变化
如果存在变化则重置数据
rev_branchblackmouldnodetail -》
rev_branchblackmouldno
# 更新生成时间&完成标识
rev_branchinfo.createTime
# 同步可用库存数据
存储过程【pro_ReAllocIcsQueryWh】仓库预估量
alloc_tm1、z_wh、ics_stocknaturesumbystockgrouptype、mouldmaster -》 z_alloc_ics_querywh
# 生成可线下配货库存
存储过程【pro_createDistributionStock】
# 创建临时表,最终写到真实表(z_distributionstock)
p_whsoh_sync、alloc_tm1 -》 temp_distributionstock
循环遍历游标2 p_customrequirement
# 更新客单总值
UPDATE temp_distributionstock.qtyE
循环将 扣减库存
UPDATE temp_distributionstock.qtyE1
# 扣减新店
循环遍历游标1
p_newbranchplan、z_newbranchquery
# 更新客单总值
UPDATE temp_distributionstock.qtyD
循环将 扣减库存
UPDATE temp_distributionstock.qtyD1
temp_distributionstock -》 z_distributionstock
分仓计算回调
/ReCalcReplenish/{code}/{message}/{dateStr}
/ReCalcReplenish/{code}/{message}/{dateStr}
zfl.ces.middle.mins.MiddleCal#calallocIcsExecute
## 从算法结果库读 分仓结果(CES_RESULT)
zfl.ces.middle.msel.Middle_ALL_CalServieceSel#getAllocIcs
## 页面工作库
truncate table tm1_alloc_ics
## 页面工作库
zfl.ces.middle.mins.Middle_ALL_CalServieceIns#insertAllocIcs
## 分仓结果源数据
insert into tm1_alloc_ics
zfl.ces.qmiddle.Middle_ALL_InserMapper#functionCall("ReCalcReplenish")
存储过程【pro_dealWithAfterTm1Calc】
参数:ReCalcReplenish
# TM1结果处理 - 分仓结果
存储过程【pro_dealWithAfterTm1Calc_ReCalcReplenish】
自增序列值:d_seq
## 获取定制客单排店号起始值
## 重置 当天分店配货序号表
rev_distributiondata_check、
p_customrequirement、
z_customrequirementwh、p_arrangeshopfin、z_offlinedelivery -》rev_branchRefAllocNo
## 需求对照,分仓结果计算
存储过程【pro_AllocIcs_Calc】
## 清空、插入当天的分仓结果
tm1_alloc_ics -》temp_alloc_ics
sourceType=0
tm1_alloc_ics -》temp_alloc_ics
sourceType=0
## 根据定制客单配货生成分仓记录
rev_distributiondata_check、p_customrequirement、mouldmaster -》temp_alloc_ics
sourceType=1
rev_distributiondata_check、p_customrequirement、mouldmaster -》temp_alloc_ics
sourceType=1
## 根据未排店定制客单数据生成分仓记录
p_customrequirement、z_customrequirementwh、mouldmaster -》temp_alloc_ics
sourceType=2
p_customrequirement、z_customrequirementwh、mouldmaster -》temp_alloc_ics
sourceType=2
## 线下配货生成分仓结果
z_offlinedelivery、mouldmaster -》temp_alloc_ics
sourceType=3、requirementType=4
z_offlinedelivery、mouldmaster -》temp_alloc_ics
sourceType=3、requirementType=4
# 遍历游标(客单对照)
(遍历分仓满足下限的结果)
# 客单需求
存储过【pro_AllocIcs_Calc_1】
# 查询当前分仓配货据信息
# 循环把实际配货量匹配完成
# 注入[d_ptID]、[d_ptQty] 的值
# 如果是 排店定制客单、非排店定制客单
sourceType IN (1, 2)
# 定制客单的分仓数据:直接根据来源ID定位
# 非定制客单的分仓数据
# 匹配不到记录时,直接跳出循环
# 写入分仓匹配表
记录分仓数据匹配了哪个需求(或者说分仓数据与需求的对照关系)
# 更新客单需求的以满足件数
# 线下配货
# 当前分仓记录 配货量>0
匹配线下配货客单
生成 线下配货生成分仓
temp_alloc_ics
temp_alloc_ics
修改 客单分仓结果
temp_alloc_ics
修改线下配货 数据 z_offlinedelivery
# 当前分仓记录 配货量 <=0
修改 客单分仓结果
temp_alloc_ics
修改线下配货 数据 z_offlinedelivery
存储过程【pro_AllocIcs_Calc_2_1】
# 查询当前分仓配货据信息 temp_alloc_ics
# 循环把实际配货量匹配完成
# 查询对应的分店需求
注入[d_ptID]、[d_ptQty]
# 匹配不到记录时,直接跳出循环
# 分仓、需求匹配表
# 更新分店需求配货量
z_storerequirementno.icsQty
# 遍历游标(线下对照)
(遍历分仓满足下限的结果)
# 客单需求
存储过【pro_AllocIcs_Calc_1】
# 匹配分店模组需求
存储过程【pro_AllocIcs_Calc_2_1】
# 仓库下限满足计算-未配置仓库下限时
# 仓库下限满足计算-已配置仓库下限时
# 遍历游标(非客单、非线下配货)
(遍历分仓满足下限的结果)
如果是分店需求 requirementType=2
# 处理 分店需求 requirementType=2
存储过【pro_AllocIcs_Calc_2】
# 查询当前分仓数据配货信息
# 循环匹配需求分仓结果,直到(匹配完 || 无可匹配)
# 匹配分店模码 && 注入[d_ptID]、[d_ptQty]
# 不存在匹配, 则匹配分店模号
# 匹配不到记录时,直接跳出循环
# 写入分仓匹配表
记录分仓数据匹配了哪个需求(或者说分仓数据与需求的对照关系)
# 更新客单需求的以满足件数
如果是分店需求 requirementType=3
# 策略性需求 requirementType=3
存储过【pro_AllocIcs_Calc_3】
# 查询当前分仓数据配货信息
# 循环匹配需求分仓结果,直到(匹配完 || 无可匹配)
# 匹配分店模码 && 注入[d_ptID]、[d_ptQty]
# 不存在匹配, 则匹配分店模号
# 匹配不到记录时,直接跳出循环
# 写入分仓匹配表
记录分仓数据匹配了哪个需求(或者说分仓数据与需求的对照关系)
# 更新客单需求的以满足件数
...
# 匹配分店模组需求
存储过程【pro_AllocIcs_Calc_2_1】
# 线下配货分仓数据匹配需求
# 遍历游标(线下配货匹配分店需求)
(遍历分仓满足下限的结果)
# 处理 分店需求 requirementType=2
存储过【pro_AllocIcs_Calc_2】
# 查询当前分仓数据配货信息
# 循环匹配需求分仓结果,直到(匹配完 || 无可匹配)
# 匹配分店模码 && 注入[d_ptID]、[d_ptQty]
# 不存在匹配, 则匹配分店模号
# 匹配不到记录时,直接跳出循环
# 写入分仓匹配表
记录分仓数据匹配了哪个需求(或者说分仓数据与需求的对照关系)
# 更新客单需求的以满足件数
# 匹配分店模组需求
存储过程【pro_AllocIcs_Calc_2_1】
# 遍历游标(线下配货匹配分店需求)
(遍历分仓满足下限的结果)
# 策略性需求 requirementType=3
存储过【pro_AllocIcs_Calc_3】
# 查询当前分仓数据配货信息
# 循环匹配需求分仓结果,直到(匹配完 || 无可匹配)
# 匹配分店模码 && 注入[d_ptID]、[d_ptQty]
# 不存在匹配, 则匹配分店模号
# 匹配不到记录时,直接跳出循环
# 写入分仓匹配表
记录分仓数据匹配了哪个需求(或者说分仓数据与需求的对照关系)
# 更新客单需求的以满足件数
...
# 匹配分店模组需求
存储过程【pro_AllocIcs_Calc_2_1】
# 将计算结果写入分仓表(alloc_ics)
# 将计算结果写入分仓表
(alloc_ics_condition)
(alloc_ics_condition)
# 数据同步
存储过程【pro_CenterDBSync】
[p_customrequirement;
z_storerequirementno;
p_strategicplan;
p_newbranchplan;
z_newprodplan]
## 生成分仓后数据表
## 分仓后数据处理
存储过程【pro_statisticsAllocIcs】NULL
## 重置M11-01分仓结果查询(满足上下限的分仓记录)
alloc_ics + P_WHAlloc + z_branch + ics_stocknaturesumbystockgrouptype -》
z_alloc_ics_query
## 重置M11-02&M11-05分仓与复核差异()
## 重置M11-02分仓与复核差异()
## 重置M11-05分仓与复核差异统计()
## 分仓数据汇总
存储过程【pro_ReAllocIcsGroupby】CURDATE()
## 重置
alloc_ics_groupby
# 重置排店管理
p_arrangeshopfin -》alloc_arrangeshopfin
# 根据线下配货导入排店管理
z_offlinedelivery+ics_branchdistribution+
p_availablebalance_branch -》alloc_arrangeshopfin
# 更新当日邮寄
# 更新配货序号
# 生成分店需求MQ数据
z_storerequirementno -》 alloc_storerequirementno
## 同步配货未执表
存储过程
【pro_CenterDBSync_ReviewNotFulfilled】
## 刷新货品配后状态
存储过程【pro_ReGoodsStatus】
# 获取上次刷新货品状态时间
# 重置 货品状态临时表
alloc_ics -》 temp_regoodsstatus_icsid
# 重置部分 货品状态查询
temp_regoodsstatus_icsid -》 z_goodsstatus
## 页面回传ICS的執貨明細表
DELETE FROM `d_alloc_fin_sync` WHERE `date`>=CURDATE()
# 写入满足配货下限的分仓记录
(d_alloc_fin_sync)
存储过程【pro_CenterDBSync】d_alloc_fin
# 生成预留货品数据
存储过程【pro_ReReservedGoods】
# 配货下限判断
遍历游标
## 判断满足下限情况更新 alloc_ics.isSatisfyMin
# 推送排店清数通知
zfl.ces.amqp.Sender#send_branch_delete
zfl.ces.amqp.Sender#send_branch_delete
exchange:【ICS_AUTO_BRANCH_DATA_DELETE_INPUT】
routingKey:【SMARTICS-ICC-REPLENISH】
routingKey:【SMARTICS-ICC-REPLENISH】
# 推送分仓清数通知
zfl.ces.amqp.Sender#send_warehouse_delete
zfl.ces.amqp.Sender#send_warehouse_delete
exchange:【ICS_AUTO_WAREHOUSE_DATA_DELETE_INPUT】
routingKey:【SMARTICS-ICC-REPLENISH】
routingKey:【SMARTICS-ICC-REPLENISH】
微服务【ics-auto-warehouse-api】
接收消息消费执行删数操作
...
# 发送执行完成通知
exchange:【ICS_AUTO_WAREHOUSE_DATA_NOTICE_OUT】
routingKey:【SMARTICS-ICC-REPLENISH】
queue:【ICS_AUTO_WAREHOUSE_DATA_NOTICE_OUT.ICS_AUTO_WAREHOUSE_DATA_NOTICE_INPUT】
exchange:【ICS_AUTO_WAREHOUSE_DATA_NOTICE_OUT】
routingKey:【SMARTICS-ICC-REPLENISH】
queue:【ICS_AUTO_WAREHOUSE_DATA_NOTICE_OUT.ICS_AUTO_WAREHOUSE_DATA_NOTICE_INPUT】
微服务【ics-ces-adaptor】
# 推送分仓数据
zfl.ces.amqp.Sender#send_warehouse()
zfl.ces.amqp.Sender#send_warehouse()
# 发送执行完成通知
exchange:【ICS_AUTO_WAREHOUSE_DATA_SAVE_OUTPUT】
routingKey:【SMARTICS-ICC-REPLENISH】
queue:【ICS_AUTO_WAREHOUSE_DATA_SAVE_OUTPUT.ICS_AUTO_WAREHOUSE_DATA_SAVE_INPUT】
exchange:【ICS_AUTO_WAREHOUSE_DATA_SAVE_OUTPUT】
routingKey:【SMARTICS-ICC-REPLENISH】
queue:【ICS_AUTO_WAREHOUSE_DATA_SAVE_OUTPUT.ICS_AUTO_WAREHOUSE_DATA_SAVE_INPUT】
# 推送分店订单数据
zfl.ces.amqp.Sender#send_order
zfl.ces.amqp.Sender#send_order
SELECT `orderNo`, `materialTypeC`, `stockType`,
`stockGroup`,`mouldNo`, `style2`, `style5`, `style15`,
`originalSellingPrice`,`ringSize`, `sizeL`, `distributeQty`,
`remark`, `pastState`,`Operator`, `OperationTime` FROM alloc_storerequirementno
遍历数据,推送消息
setUniqueKey(UUID)
exchange:【ICS_AUTO_ORDER_DATA_SAVE_OUTPUT】
routingKey:【SMARTICS-ICC-REPLENISH】
通知分仓计算
/ics-params-check/System/exec?n=TM1Calc
/ics-params-check/System/exec?n=TM1Calc
zfl.exec.TM1Calc#process
定时任务-63
zfl.query.controller.QueryDB#locationStock
SQL Server[Item Master]、[Branch]、[stock nature] -》
MySQL[rev_whlocation]复核仓库库存表
定时任务-81
zfl.query.controller.QueryDB#sweepConfirmed
SQL Server扫货已确认数据导入到
[SDB_ScanStockResult_Temp]
zfl.exec.TM1Calc#calc
# 扫货处理 - 主流程
存储过程【pro_dealWithScanStock】
# 中间库数据同步 - 可用库存
存储过程【pro_CenterDBSync_ReviewWhSoh】
# 生成可用仓库清单
存储过程【pro_tempEfficientWH】
清空 temp_efficientwh
p_whandlocation -》 temp_efficientwh
当日有排店的情况下,删除 仓库休假数据
# 可配货的分仓记录
(已审批可用仓仓位、继续配货、未完成的分仓)
rev_whlocation、alloc_ics、
temp_efficientwh-》p_whsoh_sync
# 遍历游标
已审批的预留库存 z_reservedgoodsset
# 扣减库存
存储过程【pro_dealWithScanStock_kc】
# 遍历游标
可配货的分仓记录 p_whsoh_sync
# 若 当前预留 <= 可配的
更新p_whsoh_sync 的可用库存件数、预留数
# 若 当前预留 > 可配的
更新p_whsoh_sync 的可用库存件数、预留数
# 删除库存相关历史数据(仅保留近2天)
# 保存 可配货的分仓记录
p_whsoh_sync -》 p_whsoh_his
# 保存继续配货、未完成的分仓
alloc_ics -》 p_whsoh_his_ics
# 保存已审批的货品预留
z_reservedgoodsset -》 p_whsoh_his_reserved
# 中间库数据同步 - 分仓计算
存储过程【pro_CenterDBSync_Review】
# 修改明细记录状态
# 重置当日的主管复核数据
rev_distributiondata、
rev_distributiondata_branch、
rev_branchinfo -》 rev_distributiondata_check
# 修改排店
z_expresstoday -》 p_arrangeshopfin
# 更新主管复核数据
p_arrangeshopfin -》
rev_distributiondata_check
存储过程【pro_CenterDBSync】
[p_arrangeshopfin]
存储过程【pro_CenterDBSync0】
[p_arrangeshopfin]
根据【sync_table】ces_config_sit 插入到中间库
# 生成常规需求编号
存储过程【pro_Review_ReReviewCheckSeq】
...
# 复核 - 扣减可配金额
存储过程【pro_Review_UseAvailableBalance】
# 如果上次扣减可配金额时间 不是今天
# 更新 加盟商批发分店指定可配金额(已用)
z_availablebalancefranchiseesetting.usedAvailableBalance
# 更新 加盟商批发分店 可配金额(当天)
# 遍历游标
z_availablebalancefranchiseesetting
#
rev_branchdistributionprice
# 生成线下配货数据
存储过程【pro_offlineDeliveryWhLocation】
...
# 删除当日 配货结果
d_alloc_sync
# 删除当日 线下配货导入结果
d_alloc_add_sync
# 清空 配货结果 - 算法系统分仓使用
alloc_platform_sync
# 插入 配货结果
rev_distributiondata_check、user -》
d_alloc_sync
# 插入 线下配货导入结果
z_offlinedelivery、mouldmaster、user -》
d_alloc_add_sync
# 更新是否当日邮寄
# 插入 配货结果 - 算法系统分仓使用rev_distributiondata_check -》
alloc_platform_sync
存储过程【pro_CenterDBSync】
[d_alloc;d_alloc_add;alloc_platform]
主管复核数据查询
/ics-params-check/Entity/list?c=SupervisorReviewEntity&byName=default&i=1&p=0&l=15
zfl.check.list.SupervisorReviewEntityList#list
存储过程【pro_Review_supervisorRowData】
复核数据区3查询
/ics-params-check/Entity/list?c=GeneralCheckEntity&byName=default&p=0&l=15
zfl.check.list.GeneralCheckEntityList#list
存储过程【pro_Review_reviewRowData】
自由主题
0 条评论
下一页