Commit 8f5caf75 by wutong

自动周转新增30天平均历史销量, 且修改对JIT的判定

parent 7608bd55
......@@ -442,6 +442,15 @@ public class DcAutoTurnover {
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_auto_turnover.history_thirtyday_sales
*
* @mbg.generated
*/
private BigDecimal historyThirtydaySales;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_auto_turnover.sales_explain_details
*
* @mbg.generated
......@@ -553,6 +562,7 @@ public class DcAutoTurnover {
sb.append(", turnoverInbound=").append(turnoverInbound);
sb.append(", historySevendaySales=").append(historySevendaySales);
sb.append(", historyFourteendaySales=").append(historyFourteendaySales);
sb.append(", historyThirtydaySales=").append(historyThirtydaySales);
sb.append(", salesExplainDetails=").append(salesExplainDetails);
sb.append(", forecastTurnoverdaySales=").append(forecastTurnoverdaySales);
sb.append(", stockUpSales=").append(stockUpSales);
......@@ -629,6 +639,7 @@ public class DcAutoTurnover {
&& (this.getTurnoverInbound() == null ? other.getTurnoverInbound() == null : this.getTurnoverInbound().equals(other.getTurnoverInbound()))
&& (this.getHistorySevendaySales() == null ? other.getHistorySevendaySales() == null : this.getHistorySevendaySales().equals(other.getHistorySevendaySales()))
&& (this.getHistoryFourteendaySales() == null ? other.getHistoryFourteendaySales() == null : this.getHistoryFourteendaySales().equals(other.getHistoryFourteendaySales()))
&& (this.getHistoryThirtydaySales() == null ? other.getHistoryThirtydaySales() == null : this.getHistoryThirtydaySales().equals(other.getHistoryThirtydaySales()))
&& (this.getSalesExplainDetails() == null ? other.getSalesExplainDetails() == null : this.getSalesExplainDetails().equals(other.getSalesExplainDetails()))
&& (this.getForecastTurnoverdaySales() == null ? other.getForecastTurnoverdaySales() == null : this.getForecastTurnoverdaySales().equals(other.getForecastTurnoverdaySales()))
&& (this.getStockUpSales() == null ? other.getStockUpSales() == null : this.getStockUpSales().equals(other.getStockUpSales()))
......@@ -695,6 +706,7 @@ public class DcAutoTurnover {
result = prime * result + ((getTurnoverInbound() == null) ? 0 : getTurnoverInbound().hashCode());
result = prime * result + ((getHistorySevendaySales() == null) ? 0 : getHistorySevendaySales().hashCode());
result = prime * result + ((getHistoryFourteendaySales() == null) ? 0 : getHistoryFourteendaySales().hashCode());
result = prime * result + ((getHistoryThirtydaySales() == null) ? 0 : getHistoryThirtydaySales().hashCode());
result = prime * result + ((getSalesExplainDetails() == null) ? 0 : getSalesExplainDetails().hashCode());
result = prime * result + ((getForecastTurnoverdaySales() == null) ? 0 : getForecastTurnoverdaySales().hashCode());
result = prime * result + ((getStockUpSales() == null) ? 0 : getStockUpSales().hashCode());
......
......@@ -3371,6 +3371,66 @@ public class DcAutoTurnoverExample {
return (Criteria) this;
}
public Criteria andHistoryThirtydaySalesIsNull() {
addCriterion("history_thirtyday_sales is null");
return (Criteria) this;
}
public Criteria andHistoryThirtydaySalesIsNotNull() {
addCriterion("history_thirtyday_sales is not null");
return (Criteria) this;
}
public Criteria andHistoryThirtydaySalesEqualTo(BigDecimal value) {
addCriterion("history_thirtyday_sales =", value, "historyThirtydaySales");
return (Criteria) this;
}
public Criteria andHistoryThirtydaySalesNotEqualTo(BigDecimal value) {
addCriterion("history_thirtyday_sales <>", value, "historyThirtydaySales");
return (Criteria) this;
}
public Criteria andHistoryThirtydaySalesGreaterThan(BigDecimal value) {
addCriterion("history_thirtyday_sales >", value, "historyThirtydaySales");
return (Criteria) this;
}
public Criteria andHistoryThirtydaySalesGreaterThanOrEqualTo(BigDecimal value) {
addCriterion("history_thirtyday_sales >=", value, "historyThirtydaySales");
return (Criteria) this;
}
public Criteria andHistoryThirtydaySalesLessThan(BigDecimal value) {
addCriterion("history_thirtyday_sales <", value, "historyThirtydaySales");
return (Criteria) this;
}
public Criteria andHistoryThirtydaySalesLessThanOrEqualTo(BigDecimal value) {
addCriterion("history_thirtyday_sales <=", value, "historyThirtydaySales");
return (Criteria) this;
}
public Criteria andHistoryThirtydaySalesIn(List<BigDecimal> values) {
addCriterion("history_thirtyday_sales in", values, "historyThirtydaySales");
return (Criteria) this;
}
public Criteria andHistoryThirtydaySalesNotIn(List<BigDecimal> values) {
addCriterion("history_thirtyday_sales not in", values, "historyThirtydaySales");
return (Criteria) this;
}
public Criteria andHistoryThirtydaySalesBetween(BigDecimal value1, BigDecimal value2) {
addCriterion("history_thirtyday_sales between", value1, value2, "historyThirtydaySales");
return (Criteria) this;
}
public Criteria andHistoryThirtydaySalesNotBetween(BigDecimal value1, BigDecimal value2) {
addCriterion("history_thirtyday_sales not between", value1, value2, "historyThirtydaySales");
return (Criteria) this;
}
public Criteria andSalesExplainDetailsIsNull() {
addCriterion("sales_explain_details is null");
return (Criteria) this;
......
......@@ -16,6 +16,8 @@ public interface Constant {
String BUYER_JIT_1 = "张莹霞";
String BUYER_JIT_2 = "张莹霞1";
String BUYER_JIT_3 = "冯兆欣";
String WAREHOUSE_JIT = "GZBLWH";
BigDecimal BIGDECIMAL_THIRTY = BigDecimal.valueOf(30);
BigDecimal BIGDECIMAL_FOURTEEN = BigDecimal.valueOf(14);
BigDecimal BIGDECIMAL_SEVEN = BigDecimal.valueOf(7);
BigDecimal BIGDECIMAL_THREE = BigDecimal.valueOf(3);
......
......@@ -330,17 +330,23 @@ public class AutoTurnoverJob extends PointJob {
Integer historyFourteenSales = 0;
Integer historySevenSales = 0;
Integer historyThreeSales = 0;
for (int i = 0; i < 14; i++) {
Integer historyThirtySales = 0;
for (int i = 0; i < 30; i++) {
if (i < 3) {
historyThreeSales += historySalesList.get(27 + i);
}
if (i < 7) {
historySevenSales += historySalesList.get(23 + i);
}
historyFourteenSales += historySalesList.get(16 + i);
if (i < 14) {
historyFourteenSales += historySalesList.get(16 + i);
}
historyThirtySales += historySalesList.get(i);
}
BigDecimal avgHistoryFourteendaySales = BigDecimal.valueOf(historyFourteenSales.longValue()).divide(Constant.BIGDECIMAL_FOURTEEN, 3, RoundingMode.HALF_EVEN);
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 avgHistoryFourteendaySales = BigDecimal.valueOf(historyFourteenSales.longValue()).divide(Constant.BIGDECIMAL_FOURTEEN, 3, RoundingMode.HALF_EVEN);
BigDecimal avgHistoryThirtydaySales = BigDecimal.valueOf(historyFourteenSales.longValue()).divide(Constant.BIGDECIMAL_THIRTY, 3, RoundingMode.HALF_EVEN);
/*
* forecastFluctuationList 用于存放预计缺货 实际缺货 预计冗余 实际冗余的数据
* dcAutoConfigSkuWarehouse 看是否监控状态
......@@ -435,8 +441,9 @@ public class AutoTurnoverJob extends PointJob {
dcAutoTurnover.setQuantityBeginAdvise(forecastPurchaseAdvisedList.get(0));
dcAutoTurnover.setForecastTurnoverdaySales(avgForecastFourteendaySales.divide(BigDecimal.valueOf(turnoverDays), 3, RoundingMode.HALF_EVEN));
dcAutoTurnover.setSalesExplainDetails(forecastSalesExplainList.toString());
dcAutoTurnover.setHistorySevendaySales(BigDecimal.valueOf(historySevenSales.doubleValue()).divide(Constant.BIGDECIMAL_SEVEN, 3, RoundingMode.HALF_EVEN));
dcAutoTurnover.setHistorySevendaySales(avgHistorySevendaySales);
dcAutoTurnover.setHistoryFourteendaySales(avgHistoryFourteendaySales);
dcAutoTurnover.setHistoryThirtydaySales(avgHistoryThirtydaySales);
dcAutoTurnover.setSupplementarySales(forecastSalesList.get(turnoverDays));
dcAutoTurnover.setAverageSupplierDelivery(dcAutoTurnover.getSupplierDelivery());
dcAutoTurnover.setSalesUpperLimit(salesUpperLimit);
......@@ -546,7 +553,8 @@ public class AutoTurnoverJob extends PointJob {
try {
DcAutoForecastFluctuationMapper mapper = SessionUtil.getSession().getMapper(DcAutoForecastFluctuationMapper.class);
//JIT的 可以不做 冗余 和 缺货预测 实际冗余和实际缺货也不用提醒
if ( !turnoverSku.getBuyerName().equals(Constant.BUYER_JIT_1) && !turnoverSku.getBuyerName().equals(Constant.BUYER_JIT_2) && !turnoverSku.getBuyerName().equals(Constant.BUYER_JIT_3)) {
//如果仓库是广州01 且 是这三个销售员, 就不提醒
if (!warehouseCode.equals(Constant.WAREHOUSE_JIT) && !turnoverSku.getBuyerName().equals(Constant.BUYER_JIT_1) && !turnoverSku.getBuyerName().equals(Constant.BUYER_JIT_2) && !turnoverSku.getBuyerName().equals(Constant.BUYER_JIT_3)) {
if (dcAutoConfigSkuWarehouse == null || dcAutoConfigSkuWarehouse.getStatus().equals(0)) {
if (forecastFluctuationList != null && forecastFluctuationList.size() > 0) {
//拿最早的时间 + 最晚的时间, SKU-仓库维度只放一条
......
table-name=dc_mid_cost_first_order
table-name=dc_auto_turnover
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