Commit d22cdb2b by huluobin

记录周转命中规则id

parent bd39692c
...@@ -21,6 +21,7 @@ import com.bailuntec.utils.OkHttpUtil; ...@@ -21,6 +21,7 @@ import com.bailuntec.utils.OkHttpUtil;
import com.bailuntec.utils.PropertiesUtil; import com.bailuntec.utils.PropertiesUtil;
import com.bailuntec.utils.SessionUtil; import com.bailuntec.utils.SessionUtil;
import com.dangdang.ddframe.job.api.ShardingContext; import com.dangdang.ddframe.job.api.ShardingContext;
import com.google.gson.Gson;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import okhttp3.OkHttpClient; import okhttp3.OkHttpClient;
import okhttp3.Request; import okhttp3.Request;
...@@ -407,10 +408,10 @@ public class AutoTurnoverJob extends PointJob { ...@@ -407,10 +408,10 @@ public class AutoTurnoverJob extends PointJob {
* 均值, 配置安全库存法: 销量上下限 根据过去30天销量,计算出合理的销量封顶值和销量最低值 * 均值, 配置安全库存法: 销量上下限 根据过去30天销量,计算出合理的销量封顶值和销量最低值
* 曲线拟合 :销量预测, 根据销量走势和上下限,计算出销量预测曲线, 如果历史销量包含0, 无法使用指数函数拟合 * 曲线拟合 :销量预测, 根据销量走势和上下限,计算出销量预测曲线, 如果历史销量包含0, 无法使用指数函数拟合
*/ */
// forecastSalesList = autoTurnoverService.getAutoTurnoverSaleDetails(dcAutoTurnover, turnoverDays, autoForecastDay); forecastSalesList = autoTurnoverService.getAutoTurnoverSaleDetails(dcAutoTurnover, turnoverDays, autoForecastDay);
calculateForecastSales(salesUpperLimit, autoForecastDay, dcAutoSales, forecastSalesList, turnoverSku, recordTime, bailunSku, warehouseCode, dcAutoWarehouseweekSales); // calculateForecastSales(salesUpperLimit, autoForecastDay, dcAutoSales, forecastSalesList, turnoverSku, recordTime, bailunSku, warehouseCode, dcAutoWarehouseweekSales);
// List<String> forecastSalesListFormula = autoTurnoverService.getAutoTurnoverSaleDetailsFormula(dcAutoTurnover, turnoverDays, autoForecastDay); List<String> forecastSalesListFormula = autoTurnoverService.getAutoTurnoverSaleDetailsFormula(dcAutoTurnover, turnoverDays, autoForecastDay);
/* /*
* 处理矫正信息 * 处理矫正信息
...@@ -684,7 +685,7 @@ public class AutoTurnoverJob extends PointJob { ...@@ -684,7 +685,7 @@ public class AutoTurnoverJob extends PointJob {
if (i < 7) { if (i < 7) {
avgForecastSevendaySales = avgForecastSevendaySales.add(forecastSalesList.get(i)); avgForecastSevendaySales = avgForecastSevendaySales.add(forecastSalesList.get(i));
forecastSalesList.add(i, BigDecimal.valueOf(historySalesList.get(23 + i))); forecastSalesList.add(i, BigDecimal.valueOf(historySalesList.get(23 + i)));
// forecastSalesListFormula.add(i, StringUtils.SPACE); forecastSalesListFormula.add(i, StringUtils.SPACE);
forecastSalesExplainList.add(i, "历史销量"); forecastSalesExplainList.add(i, "历史销量");
forecastInboundList.add(i, 0); forecastInboundList.add(i, 0);
forecastInventoryList.add(i, BigDecimal.ZERO); forecastInventoryList.add(i, BigDecimal.ZERO);
...@@ -760,7 +761,7 @@ public class AutoTurnoverJob extends PointJob { ...@@ -760,7 +761,7 @@ public class AutoTurnoverJob extends PointJob {
dcAutoTurnover.setTurnoverDays(turnoverDays); dcAutoTurnover.setTurnoverDays(turnoverDays);
dcAutoTurnover.setQuantitySafeInventory(totalSafeInventory); dcAutoTurnover.setQuantitySafeInventory(totalSafeInventory);
dcAutoTurnover.setHqType(dcBaseWarehouse.getHqType()); dcAutoTurnover.setHqType(dcBaseWarehouse.getHqType());
// dcAutoTurnover.setSalesDetailsFormula(new Gson().toJson(forecastSalesListFormula)); dcAutoTurnover.setSalesDetailsFormula(new Gson().toJson(forecastSalesListFormula));
/*dcBaseStock.setSkuTitleCn(turnoverSku.getSkuTitleCn()); /*dcBaseStock.setSkuTitleCn(turnoverSku.getSkuTitleCn());
dcBaseStock.setProductInnerCode(turnoverSku.getProductInnerCode()); dcBaseStock.setProductInnerCode(turnoverSku.getProductInnerCode());
......
...@@ -38,12 +38,13 @@ public class AutoTurnoverServiceImpl implements AutoTurnoverService { ...@@ -38,12 +38,13 @@ public class AutoTurnoverServiceImpl implements AutoTurnoverService {
for (int j = 0; j < new BigDecimal(autoForecastDay).divide(new BigDecimal(turnoverDays), 0, BigDecimal.ROUND_UP).intValue(); j++) { for (int j = 0; j < new BigDecimal(autoForecastDay).divide(new BigDecimal(turnoverDays), 0, BigDecimal.ROUND_UP).intValue(); j++) {
DcAutoSalesForecastStageConfigMapper dcAutoSalesForecastStageConfigMapper = session.getMapper(DcAutoSalesForecastStageConfigMapper.class); DcAutoSalesForecastStageConfigMapper dcAutoSalesForecastStageConfigMapper = session.getMapper(DcAutoSalesForecastStageConfigMapper.class);
DcBaseOmsSkuMapper dcBaseOmsSkuMapper = session.getMapper(DcBaseOmsSkuMapper.class); DcBaseOmsSkuMapper dcBaseOmsSkuMapper = session.getMapper(DcBaseOmsSkuMapper.class);
//命中的预测规则 //命中的预测规则
DcAutoSalesForecastStageConfig dcAutoSalesForecastStageConfig = dcAutoSalesForecastStageConfigMapper.selectMatchStage(dcAutoTurnover.getBailunSku(), dcAutoTurnover.getWarehouseCode()); DcAutoSalesForecastStageConfig dcAutoSalesForecastStageConfig = dcAutoSalesForecastStageConfigMapper.selectMatchStage(dcAutoTurnover.getBailunSku(), dcAutoTurnover.getWarehouseCode());
dcAutoTurnover.setDcAutoSalesForecastConfigId(dcAutoSalesForecastStageConfig.getConfigId());
//周转天数 //周转天数
/* /*
* 每个时间段的销量预测是dcAutoSalesForecastStageConfig对应时间段的三个参数对应的过去时间段的销量的加权平均*/ * 每个时间段的销量预测是dcAutoSalesForecastStageConfig对应时间段的三个参数对应的过去时间段的销量的加权平均*/
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment