Commit fb1d81e7 by yinyong

自动周转--销量计算突增更改

parent 35b8d15c
...@@ -134,7 +134,7 @@ public interface DcAutoSalesMapper { ...@@ -134,7 +134,7 @@ public interface DcAutoSalesMapper {
SalesVolumeWeekDTO getSalesVolumeWeekDTO(@Param("bailunSku") String bailunSku, @Param("warehouseCode") String warehouseCode); SalesVolumeWeekDTO getSalesVolumeWeekDTO(@Param("bailunSku") String bailunSku, @Param("warehouseCode") String warehouseCode);
SalesVolumeDTO getSalesVolumeDTO(@Param("queryTime") String queryTime, @Param("bailunSku") String bailunSku, @Param("warehouseCode") String warehouseCode, @Param("compareSales") int compareSales); SalesVolumeDTO getSalesVolumeDTO(@Param("queryTime") String queryTime, @Param("bailunSku") String bailunSku, @Param("warehouseCode") String warehouseCode, @Param("compareSales") BigDecimal compareSales);
SalesVolumeAvgDTO getPlatformHistorySales( @Param("bailunSku") String bailunSku,@Param("warehouseCode") String warehouseCode,@Param("platform") String platform); SalesVolumeAvgDTO getPlatformHistorySales( @Param("bailunSku") String bailunSku,@Param("warehouseCode") String warehouseCode,@Param("platform") String platform);
} }
\ No newline at end of file
...@@ -20,4 +20,4 @@ RUN cd /usr/app/data-parent && mvn -T 1C install -pl ../data-mid/mid-daily-stoc ...@@ -20,4 +20,4 @@ RUN cd /usr/app/data-parent && mvn -T 1C install -pl ../data-mid/mid-daily-stoc
#指定容器启动程序及参数 <ENTRYPOINT> "<CMD>" #指定容器启动程序及参数 <ENTRYPOINT> "<CMD>"
EXPOSE 8080 EXPOSE 8080
ENTRYPOINT ["java","-Xms30m","-Xmx80m","-jar","/usr/app/data-mid/mid-daily-stock/target/mid-daily-stock-1.0-SNAPSHOT.jar"] ENTRYPOINT ["java","-Xms100m","-Xmx180m","-jar","/usr/app/data-mid/mid-daily-stock/target/mid-daily-stock-1.0-SNAPSHOT.jar"]
\ No newline at end of file \ No newline at end of file
...@@ -20,4 +20,4 @@ RUN cd /usr/app/data-parent && mvn -T 1C install -pl ../data-show/show-auto-tur ...@@ -20,4 +20,4 @@ RUN cd /usr/app/data-parent && mvn -T 1C install -pl ../data-show/show-auto-tur
#指定容器启动程序及参数 <ENTRYPOINT> "<CMD>" #指定容器启动程序及参数 <ENTRYPOINT> "<CMD>"
EXPOSE 8080 EXPOSE 8080
ENTRYPOINT ["java","-Xms80m","-Xmx225m","-jar","/usr/app/data-show/show-auto-turnover/target/show-auto-turnover-1.0-SNAPSHOT.jar"] ENTRYPOINT ["java","-Xms150m","-Xmx350m","-jar","/usr/app/data-show/show-auto-turnover/target/show-auto-turnover-1.0-SNAPSHOT.jar"]
\ No newline at end of file \ No newline at end of file
...@@ -155,22 +155,26 @@ public class AutoTurnoverJob extends PointJob { ...@@ -155,22 +155,26 @@ public class AutoTurnoverJob extends PointJob {
DcBaseWarehouseMapper baseWarehouseMapper = SessionUtil.getSession().getMapper(DcBaseWarehouseMapper.class); DcBaseWarehouseMapper baseWarehouseMapper = SessionUtil.getSession().getMapper(DcBaseWarehouseMapper.class);
dcBaseWarehouse = baseWarehouseMapper.selectOneByExample(DcBaseWarehouseExample.newAndCreateCriteria().andWarehouseCodeEqualTo(warehouseCode).example()); dcBaseWarehouse = baseWarehouseMapper.selectOneByExample(DcBaseWarehouseExample.newAndCreateCriteria().andWarehouseCodeEqualTo(warehouseCode).example());
BigDecimal incrementalRatio = BigDecimal.ONE; BigDecimal incrementalRatio = BigDecimal.ONE;
int compareSales = 0; BigDecimal compareSales = BigDecimal.ZERO;
DcAutoSalesMapper autoSalesMapper = null; DcAutoSalesMapper autoSalesMapper = null;
SalesVolumeDTO salesVolumeDTO = null; SalesVolumeDTO salesVolumeDTO = null;
autoSalesMapper = SessionUtil.getSession().getMapper(DcAutoSalesMapper.class); autoSalesMapper = SessionUtil.getSession().getMapper(DcAutoSalesMapper.class);
// 获取7、14日均销量
Map<String, BigDecimal> map = autoSalesMapper.getSalesAvg(queryTime, bailunSku, warehouseCode); Map<String, BigDecimal> map = autoSalesMapper.getSalesAvg(queryTime, bailunSku, warehouseCode);
DcAutoUprushConfigMapper dcAutoUprushConfigMapper = SessionUtil.getSession().getMapper(DcAutoUprushConfigMapper.class); DcAutoUprushConfigMapper dcAutoUprushConfigMapper = SessionUtil.getSession().getMapper(DcAutoUprushConfigMapper.class);
// 获取仓库突增配置
DcAutoUprushConfig dcAutoUprushConfig = dcAutoUprushConfigMapper.selectOneByExample(DcAutoUprushConfigExample.newAndCreateCriteria().andWarehouseCodeEqualTo(warehouseCode).example()); DcAutoUprushConfig dcAutoUprushConfig = dcAutoUprushConfigMapper.selectOneByExample(DcAutoUprushConfigExample.newAndCreateCriteria().andWarehouseCodeEqualTo(warehouseCode).example());
if(dcAutoUprushConfig == null && dcBaseWarehouse != null) { if(dcAutoUprushConfig == null && dcBaseWarehouse != null) {
// 获取仓库类型突增配置
dcAutoUprushConfig = dcAutoUprushConfigMapper.selectOneByExample(DcAutoUprushConfigExample.newAndCreateCriteria().andHqTypeEqualTo(dcBaseWarehouse.getHqType()).example()); dcAutoUprushConfig = dcAutoUprushConfigMapper.selectOneByExample(DcAutoUprushConfigExample.newAndCreateCriteria().andHqTypeEqualTo(dcBaseWarehouse.getHqType()).example());
} }
if(dcAutoUprushConfig != null && map != null) { if(dcAutoUprushConfig != null && map != null) {
// 突增销量 = (7+14日均销量)/2 * 突增率
incrementalRatio = incrementalRatio.add(dcAutoUprushConfig.getPercentage()); incrementalRatio = incrementalRatio.add(dcAutoUprushConfig.getPercentage());
compareSales = (map.get("seven_sales").add(map.get("fourteen_sales"))).divide(BigDecimal.valueOf(2), RoundingMode.HALF_EVEN).multiply(incrementalRatio).intValue(); compareSales = (map.get("sevenSales").add(map.get("fourteenSales"))).divide(BigDecimal.valueOf(2), RoundingMode.HALF_EVEN).multiply(incrementalRatio);
} }
autoSalesMapper = SessionUtil.getSession().getMapper(DcAutoSalesMapper.class); autoSalesMapper = SessionUtil.getSession().getMapper(DcAutoSalesMapper.class);
if(compareSales == 0) { if(compareSales.compareTo(BigDecimal.ZERO) == 0) {
salesVolumeDTO = autoSalesMapper.getSalesVolumeDTONoCompare(queryTime, bailunSku, warehouseCode); salesVolumeDTO = autoSalesMapper.getSalesVolumeDTONoCompare(queryTime, bailunSku, warehouseCode);
}else { }else {
salesVolumeDTO = autoSalesMapper.getSalesVolumeDTO(queryTime, bailunSku, warehouseCode, compareSales); salesVolumeDTO = autoSalesMapper.getSalesVolumeDTO(queryTime, bailunSku, warehouseCode, compareSales);
...@@ -264,6 +268,7 @@ public class AutoTurnoverJob extends PointJob { ...@@ -264,6 +268,7 @@ public class AutoTurnoverJob extends PointJob {
if(saveDays.compareTo(new BigDecimal(4)) > -1) { if(saveDays.compareTo(new BigDecimal(4)) > -1) {
saveDays = BigDecimal.valueOf(4); saveDays = BigDecimal.valueOf(4);
}*/ }*/
// JIT 周转天数默认为2、4天
if(turnoverSku.getBuyerName().equals(Constant.BUYER_JIT_2)) { if(turnoverSku.getBuyerName().equals(Constant.BUYER_JIT_2)) {
turnoverDays = 2; turnoverDays = 2;
}else { }else {
...@@ -1033,6 +1038,7 @@ public class AutoTurnoverJob extends PointJob { ...@@ -1033,6 +1038,7 @@ public class AutoTurnoverJob extends PointJob {
dcBasePurchase = dcBasePurchaseMapper.selectOneByExample(DcBasePurchaseExample.newAndCreateCriteria().andBailunSkuEqualTo(bailunSku).andWarehouseCodeEqualTo(warehouseCode).example()); dcBasePurchase = dcBasePurchaseMapper.selectOneByExample(DcBasePurchaseExample.newAndCreateCriteria().andBailunSkuEqualTo(bailunSku).andWarehouseCodeEqualTo(warehouseCode).example());
}*/ }*/
// JIT 推送时间21天之内的sku 预测销量为最近7天均值
if(turnoverSku.getPushTime() != null && recordTime.minusDays(21L).isBefore(turnoverSku.getPushTime().toLocalDate()) && !(turnoverSku.getBuyerName().equals(Constant.BUYER_JIT_1)) && !(turnoverSku.getBuyerName().equals(Constant.BUYER_JIT_2)) && !(turnoverSku.getBuyerName().equals(Constant.BUYER_JIT_4))) { if(turnoverSku.getPushTime() != null && recordTime.minusDays(21L).isBefore(turnoverSku.getPushTime().toLocalDate()) && !(turnoverSku.getBuyerName().equals(Constant.BUYER_JIT_1)) && !(turnoverSku.getBuyerName().equals(Constant.BUYER_JIT_2)) && !(turnoverSku.getBuyerName().equals(Constant.BUYER_JIT_4))) {
/*DcBaseOmsSkuMapper dcBaseOmsSkuMapper = SessionUtil.getSession().getMapper(DcBaseOmsSkuMapper.class); /*DcBaseOmsSkuMapper dcBaseOmsSkuMapper = SessionUtil.getSession().getMapper(DcBaseOmsSkuMapper.class);
DcBaseOmsSku dcBaseOmsSku = dcBaseOmsSkuMapper.selectOneByCreateTime(bailunSku);*/ DcBaseOmsSku dcBaseOmsSku = dcBaseOmsSkuMapper.selectOneByCreateTime(bailunSku);*/
...@@ -1042,24 +1048,12 @@ public class AutoTurnoverJob extends PointJob { ...@@ -1042,24 +1048,12 @@ public class AutoTurnoverJob extends PointJob {
Integer historySevenSales = 0; Integer historySevenSales = 0;
Integer historyThreeSales = 0; Integer historyThreeSales = 0;
for (int i = 0; i < 7; i++) { for (int i = 0; i < 7; i++) {
/*if (i < 3) {
historyThreeSales += historySalesList.get(27 + i);
}*/
// if (i < 7) {
historySevenSales += historySalesList.get(23 + i); historySevenSales += historySalesList.get(23 + i);
// }
} }
// BigDecimal avgHistoryThreedaySales = BigDecimal.valueOf(historyThreeSales.longValue()).divide(Constant.BIGDECIMAL_THREE, 3, RoundingMode.HALF_EVEN);
BigDecimal avgHistorySevendaySales = BigDecimal.valueOf(historySevenSales.longValue()).divide(Constant.BIGDECIMAL_SEVEN, 3, RoundingMode.HALF_EVEN); BigDecimal avgHistorySevendaySales = BigDecimal.valueOf(historySevenSales.longValue()).divide(Constant.BIGDECIMAL_SEVEN, 3, RoundingMode.HALF_EVEN);
/*if(dcBaseOmsSku != null && recordTime.minusDays(7L).isBefore(dcBaseOmsSku.getCreateTime().toLocalDate())) { for(int j = 0; j < autoForecastDay; j++) {
for(int j = 0; j < autoForecastDay; j++) {
forecastSalesList.set(j, avgHistoryThreedaySales);
}
}else{*/
for(int j = 0; j < autoForecastDay; j++) {
forecastSalesList.set(j, avgHistorySevendaySales); forecastSalesList.set(j, avgHistorySevendaySales);
} }
/*}*/
}else{ }else{
BigDecimal forecastSales = BigDecimal.ZERO; BigDecimal forecastSales = BigDecimal.ZERO;
......
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