Commit fb1d81e7 by yinyong

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

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