Commit 14ef06f4 by yinyong

自动周转--代码优化

parent e2ef7148
......@@ -2392,9 +2392,9 @@
SELECT
sum(case when paid_time < #{queryTime} and paid_time >= DATE_SUB(#{queryTime}, INTERVAL 7 DAY) then bailun_sku_quantity_ordered else 0 end) as 'seven_sales' ,
sum(case when paid_time < #{queryTime} and paid_time >= DATE_SUB(#{queryTime}, INTERVAL 14 DAY) then bailun_sku_quantity_ordered else 0 end) as 'fourteen_sales'
FROM `dc_base_oms_sku`
where paid_time >= DATE_SUB(#{queryTime}, INTERVAL 14 DAY)
and paid_time < #{queryTime}
FROM dc_base_oms_sku_30
where pay_time >= DATE_SUB(#{queryTime}, INTERVAL 14 DAY)
and pay_time < #{queryTime}
and bailun_order_status != 'Canceled'
and has_fba_s = 0
and has_delete = 0
......@@ -2446,7 +2446,7 @@
if(sum(case when ((platform_type = 'Aliexpress' and ((pay_time >= '2019-11-11 16:00:00' and pay_time <= '2019-11-13 16:00:00') or (pay_time >= '2019-11-29 00:00:00' and pay_time <= '2019-12-04 23:59:59') or (pay_time >= '2019-12-09 00:00:00' and pay_time <= '2019-12-12 23:59:59'))) or (platform_type = 'FBA' and ((pay_time >= '2019-11-29 00:00:00' and pay_time <= '2019-11-30 23:59:59') or (pay_time >= '2019-12-02 00:00:00' and pay_time <= '2019-12-03 23:59:59')))) then 0 when (DATE_SUB(#{queryTime}, INTERVAL 28 DAY) = DATE_FORMAT(pay_time,'%Y-%m-%d')) then bailun_sku_quantity_ordered else 0 end) > #{compareSales}, #{compareSales}, sum(case when ((platform_type = 'Aliexpress' and ((pay_time >= '2019-11-11 16:00:00' and pay_time <= '2019-11-13 16:00:00') or (pay_time >= '2019-11-29 00:00:00' and pay_time <= '2019-12-04 23:59:59') or (pay_time >= '2019-12-09 00:00:00' and pay_time <= '2019-12-12 23:59:59'))) or (platform_type = 'FBA' and ((pay_time >= '2019-11-29 00:00:00' and pay_time <= '2019-11-30 23:59:59') or (pay_time >= '2019-12-02 00:00:00' and pay_time <= '2019-12-03 23:59:59')))) then 0 when (DATE_SUB(#{queryTime}, INTERVAL 28 DAY) = DATE_FORMAT(pay_time,'%Y-%m-%d')) then bailun_sku_quantity_ordered else 0 end)) as 'twenty_eightday_sales' ,
if(sum(case when ((platform_type = 'Aliexpress' and ((pay_time >= '2019-11-11 16:00:00' and pay_time <= '2019-11-13 16:00:00') or (pay_time >= '2019-11-29 00:00:00' and pay_time <= '2019-12-04 23:59:59') or (pay_time >= '2019-12-09 00:00:00' and pay_time <= '2019-12-12 23:59:59'))) or (platform_type = 'FBA' and ((pay_time >= '2019-11-29 00:00:00' and pay_time <= '2019-11-30 23:59:59') or (pay_time >= '2019-12-02 00:00:00' and pay_time <= '2019-12-03 23:59:59')))) then 0 when (DATE_SUB(#{queryTime}, INTERVAL 29 DAY) = DATE_FORMAT(pay_time,'%Y-%m-%d')) then bailun_sku_quantity_ordered else 0 end) > #{compareSales}, #{compareSales}, sum(case when ((platform_type = 'Aliexpress' and ((pay_time >= '2019-11-11 16:00:00' and pay_time <= '2019-11-13 16:00:00') or (pay_time >= '2019-11-29 00:00:00' and pay_time <= '2019-12-04 23:59:59') or (pay_time >= '2019-12-09 00:00:00' and pay_time <= '2019-12-12 23:59:59'))) or (platform_type = 'FBA' and ((pay_time >= '2019-11-29 00:00:00' and pay_time <= '2019-11-30 23:59:59') or (pay_time >= '2019-12-02 00:00:00' and pay_time <= '2019-12-03 23:59:59')))) then 0 when (DATE_SUB(#{queryTime}, INTERVAL 29 DAY) = DATE_FORMAT(pay_time,'%Y-%m-%d')) then bailun_sku_quantity_ordered else 0 end)) as 'twenty_nineday_sales' ,
if(sum(case when ((platform_type = 'Aliexpress' and ((pay_time >= '2019-11-11 16:00:00' and pay_time <= '2019-11-13 16:00:00') or (pay_time >= '2019-11-29 00:00:00' and pay_time <= '2019-12-04 23:59:59') or (pay_time >= '2019-12-09 00:00:00' and pay_time <= '2019-12-12 23:59:59'))) or (platform_type = 'FBA' and ((pay_time >= '2019-11-29 00:00:00' and pay_time <= '2019-11-30 23:59:59') or (pay_time >= '2019-12-02 00:00:00' and pay_time <= '2019-12-03 23:59:59')))) then 0 when (DATE_SUB(#{queryTime}, INTERVAL 30 DAY) = DATE_FORMAT(pay_time,'%Y-%m-%d')) then bailun_sku_quantity_ordered else 0 end) > #{compareSales}, #{compareSales}, sum(case when ((platform_type = 'Aliexpress' and ((pay_time >= '2019-11-11 16:00:00' and pay_time <= '2019-11-13 16:00:00') or (pay_time >= '2019-11-29 00:00:00' and pay_time <= '2019-12-04 23:59:59') or (pay_time >= '2019-12-09 00:00:00' and pay_time <= '2019-12-12 23:59:59'))) or (platform_type = 'FBA' and ((pay_time >= '2019-11-29 00:00:00' and pay_time <= '2019-11-30 23:59:59') or (pay_time >= '2019-12-02 00:00:00' and pay_time <= '2019-12-03 23:59:59')))) then 0 when (DATE_SUB(#{queryTime}, INTERVAL 30 DAY) = DATE_FORMAT(pay_time,'%Y-%m-%d')) then bailun_sku_quantity_ordered else 0 end)) as 'thirtyday_sales'
FROM `dc_base_oms_sku`
FROM dc_base_oms_sku_30
where pay_time >= DATE_SUB(#{queryTime}, INTERVAL 30 DAY)
and pay_time < #{queryTime}
and bailun_order_status != 'Canceled'
......@@ -2500,7 +2500,7 @@
sum(case when ((platform_type = 'Aliexpress' and ((pay_time >= '2019-11-11 16:00:00' and pay_time <= '2019-11-13 16:00:00') or (pay_time >= '2019-11-29 00:00:00' and pay_time <= '2019-12-04 23:59:59') or (pay_time >= '2019-12-09 00:00:00' and pay_time <= '2019-12-12 23:59:59'))) or (platform_type = 'FBA' and ((pay_time >= '2019-11-29 00:00:00' and pay_time <= '2019-11-30 23:59:59') or (pay_time >= '2019-12-02 00:00:00' and pay_time <= '2019-12-03 23:59:59')))) then 0 when (DATE_SUB(#{queryTime}, INTERVAL 28 DAY) = DATE_FORMAT(pay_time,'%Y-%m-%d')) then bailun_sku_quantity_ordered else 0 end) as 'twenty_eightday_sales' ,
sum(case when ((platform_type = 'Aliexpress' and ((pay_time >= '2019-11-11 16:00:00' and pay_time <= '2019-11-13 16:00:00') or (pay_time >= '2019-11-29 00:00:00' and pay_time <= '2019-12-04 23:59:59') or (pay_time >= '2019-12-09 00:00:00' and pay_time <= '2019-12-12 23:59:59'))) or (platform_type = 'FBA' and ((pay_time >= '2019-11-29 00:00:00' and pay_time <= '2019-11-30 23:59:59') or (pay_time >= '2019-12-02 00:00:00' and pay_time <= '2019-12-03 23:59:59')))) then 0 when (DATE_SUB(#{queryTime}, INTERVAL 29 DAY) = DATE_FORMAT(pay_time,'%Y-%m-%d')) then bailun_sku_quantity_ordered else 0 end) as 'twenty_nineday_sales' ,
sum(case when ((platform_type = 'Aliexpress' and ((pay_time >= '2019-11-11 16:00:00' and pay_time <= '2019-11-13 16:00:00') or (pay_time >= '2019-11-29 00:00:00' and pay_time <= '2019-12-04 23:59:59') or (pay_time >= '2019-12-09 00:00:00' and pay_time <= '2019-12-12 23:59:59'))) or (platform_type = 'FBA' and ((pay_time >= '2019-11-29 00:00:00' and pay_time <= '2019-11-30 23:59:59') or (pay_time >= '2019-12-02 00:00:00' and pay_time <= '2019-12-03 23:59:59')))) then 0 when (DATE_SUB(#{queryTime}, INTERVAL 30 DAY) = DATE_FORMAT(pay_time,'%Y-%m-%d')) then bailun_sku_quantity_ordered else 0 end) as 'thirtyday_sales'
FROM `dc_base_oms_sku`
FROM dc_base_oms_sku_30
where pay_time >= DATE_SUB(#{queryTime}, INTERVAL 30 DAY)
and pay_time < #{queryTime}
and bailun_order_status != 'Canceled'
......@@ -2998,13 +2998,13 @@
sum( CASE WHEN ( paid_time >= DATE_SUB( CURDATE( ), INTERVAL 14 DAY ) ) THEN bailun_sku_quantity_ordered ELSE 0 END ) AS 'fourteenday_sales',
sum( CASE WHEN ( paid_time >= DATE_SUB( CURDATE( ), INTERVAL 30 DAY ) ) THEN bailun_sku_quantity_ordered ELSE 0 END ) AS 'thirtyday_sales'
FROM
`dc_base_oms_sku`
dc_base_oms_sku_30
WHERE
platform_type = #{platform}
AND bailun_sku = #{bailunSku,jdbcType=VARCHAR}
AND warehouse_code= #{warehouseCode,jdbcType=VARCHAR}
AND paid_time >= DATE_SUB( CURDATE( ), INTERVAL 30 DAY )
AND paid_time < CURDATE( )
AND pay_time >= DATE_SUB( CURDATE( ), INTERVAL 30 DAY )
AND pay_time < CURDATE( )
AND bailun_order_status != 'Canceled'
AND has_delete = 0
AND has_scalp = 0
......
......@@ -563,17 +563,17 @@ public class AutoTurnoverJob extends PointJob {
dcAutoTurnover.setQuantitySafeInventory(totalSafeInventory);
dcAutoTurnover.setHqType(dcBaseWarehouse.getHqType());
dcBaseStock.setSkuTitleCn(turnoverSku.getSkuTitleCn());
/*dcBaseStock.setSkuTitleCn(turnoverSku.getSkuTitleCn());
dcBaseStock.setProductInnerCode(turnoverSku.getProductInnerCode());
dcBaseStock.setSuppliersName(turnoverSku.getSuppliersName());
dcBaseStock.setSuppliersName(turnoverSku.getSuppliersName());*/
try {
DcAutoTurnoverMapper autoTurnoverMapper = SessionUtil.getSession().getMapper(DcAutoTurnoverMapper.class);
DcBaseStockMapper dcBaseStockMapper = SessionUtil.getSession().getMapper(DcBaseStockMapper.class);
// DcBaseStockMapper dcBaseStockMapper = SessionUtil.getSession().getMapper(DcBaseStockMapper.class);
int i = autoTurnoverMapper.updateByExampleSelective(dcAutoTurnover, DcAutoTurnoverExample.newAndCreateCriteria().andBailunSkuEqualTo(dcAutoTurnover.getBailunSku()).andWarehouseCodeEqualTo(dcAutoTurnover.getWarehouseCode()).example());
if (i == 0) {
autoTurnoverMapper.insertSelective(dcAutoTurnover);
}
dcBaseStockMapper.updateByExampleSelective(dcBaseStock, DcBaseStockExample.newAndCreateCriteria().andBailunSkuEqualTo(dcAutoTurnover.getBailunSku()).andWarehouseCodeEqualTo(dcAutoTurnover.getWarehouseCode()).example());
// dcBaseStockMapper.updateByExampleSelective(dcBaseStock, DcBaseStockExample.newAndCreateCriteria().andBailunSkuEqualTo(dcAutoTurnover.getBailunSku()).andWarehouseCodeEqualTo(dcAutoTurnover.getWarehouseCode()).example());
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException("Mybatis操作DB失败", e);
......@@ -1034,22 +1034,22 @@ public class AutoTurnoverJob extends PointJob {
}*/
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);
/*DcBaseOmsSkuMapper dcBaseOmsSkuMapper = SessionUtil.getSession().getMapper(DcBaseOmsSkuMapper.class);
DcBaseOmsSku dcBaseOmsSku = dcBaseOmsSkuMapper.selectOneByCreateTime(bailunSku);*/
List<Integer> historySalesList = JSON.parseObject(dcAutoSales.getHistorySalesDetails(), new TypeReference<List<Integer>>() {
});
Integer historySevenSales = 0;
Integer historyThreeSales = 0;
for (int i = 0; i < 30; i++) {
if (i < 3) {
for (int i = 0; i < 7; i++) {
/*if (i < 3) {
historyThreeSales += historySalesList.get(27 + i);
}
if (i < 7) {
}*/
// if (i < 7) {
historySevenSales += historySalesList.get(23 + i);
// }
}
}
BigDecimal avgHistoryThreedaySales = BigDecimal.valueOf(historyThreeSales.longValue()).divide(Constant.BIGDECIMAL_THREE, 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);
/*if(dcBaseOmsSku != null && recordTime.minusDays(7L).isBefore(dcBaseOmsSku.getCreateTime().toLocalDate())) {
for(int j = 0; j < autoForecastDay; j++) {
......
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