Commit 278a4a92 by huluobin

# 更新

parent 47faf69b
......@@ -3,7 +3,6 @@ package com.bailuntec.excel;
import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
import com.alibaba.fastjson.JSON;
import com.bailuntec.domain.constant.CommonConstant;
import com.bailuntec.domain.entity.DcBaseStock;
import com.bailuntec.domain.example.DcBaseStockExample;
import com.bailuntec.job.AutoTurnoverJob;
......@@ -12,8 +11,6 @@ import com.bailuntec.utils.SessionUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List;
......@@ -72,7 +69,7 @@ public class ExcelListener extends AnalysisEventListener<DcAutoTurnoverExcel> {
.example());
try {
autoTurnoverJob.autoTurnoverFromStock(DateTimeFormatter.ofPattern(CommonConstant.DATE_FORMAT).format(LocalDate.now()), dcBaseStock);
autoTurnoverJob.autoTurnoverFromStock(dcBaseStock);
} catch (Exception e) {
e.printStackTrace();
}
......
......@@ -46,7 +46,7 @@ public class AutoTurnoverJob extends PointJob {
private AutoSalesService autoSalesService = new AutoSalesServiceImpl();
private AutoTurnoverService autoTurnoverService = new AutoTurnoverServiceImpl();
public static ThreadLocal<ShardingContext> shardingContextThreadLocal = new ThreadLocal<>();
public static ThreadLocal<String> transferStrategy = new ThreadLocal<>();
@Override
public void executeJob(ShardingContext shardingContext, JobPointLog jobPointLog) {
......@@ -128,13 +128,12 @@ public class AutoTurnoverJob extends PointJob {
, countItem.incrementAndGet());
try {
shardingContextThreadLocal.set(shardingContext);
String queryTime = DateTimeFormatter.ofPattern(CommonConstant.DATE_FORMAT).format(LocalDate.now());
dcBaseStock = SessionUtil.getSession().getMapper(DcBaseStockMapper.class).selectOneByExample(DcBaseStockExample.newAndCreateCriteria()
.andBailunSkuEqualTo(dcBaseStock.getBailunSku())
.andWarehouseCodeEqualTo(dcBaseStock.getWarehouseCode())
.example());
this.autoTurnoverFromStock(queryTime, dcBaseStock);
this.autoTurnoverFromStock(dcBaseStock);
} catch (Exception e) {
try {
DcAutoException dcAutoException = new DcAutoException();
......@@ -150,7 +149,6 @@ public class AutoTurnoverJob extends PointJob {
} finally {
SessionUtil.closeSession();
shardingContextThreadLocal.remove();
}
});
}
......@@ -199,6 +197,24 @@ public class AutoTurnoverJob extends PointJob {
}
}
public void autoTurnoverFromStock(DcBaseStock dcBaseStock) {
String queryTime = DateTimeFormatter.ofPattern(CommonConstant.DATE_FORMAT).format(LocalDate.now());
this.autoTurnoverFromStock(queryTime, dcBaseStock);
DcBaseWarehouseMapper dcBaseWarehouseMapper = SessionUtil.getSession().getMapper(DcBaseWarehouseMapper.class);
DcBaseWarehouse dcBaseWarehouse = dcBaseWarehouseMapper.selectByWarehouseCode(dcBaseStock.getWarehouseCode());
if (!"国内仓".equals(dcBaseWarehouse.getHqType())) {
transferStrategy.set(Constant.OCEAN_HEAD);
this.autoTurnoverFromStock(queryTime, dcBaseStock);
transferStrategy.remove();
transferStrategy.set(Constant.AIR_HEAD);
this.autoTurnoverFromStock(queryTime, dcBaseStock);
transferStrategy.remove();
}
}
/**
* <p>
......@@ -209,7 +225,7 @@ public class AutoTurnoverJob extends PointJob {
* @param queryTime 时间
* @param dcBaseStock 库存
*/
public void autoTurnoverFromStock(String queryTime, DcBaseStock dcBaseStock) {
private void autoTurnoverFromStock(String queryTime, DcBaseStock dcBaseStock) {
//sku
String bailunSku = dcBaseStock.getBailunSku();
//仓库编码
......@@ -846,7 +862,7 @@ public class AutoTurnoverJob extends PointJob {
dcAutoTurnover.setIsOutStock(0);
dcAutoTurnover.setGmtModified(LocalDateTime.now());
if (Constant.OCEAN_HEAD.equals(shardingContextThreadLocal.get().getJobParameter())) {
if (Constant.OCEAN_HEAD.equals(transferStrategy.get())) {
DcAutoTurnoverOceanWithBLOBs dcAutoTurnoverOceanWithBLOBs = new DcAutoTurnoverOceanWithBLOBs();
BeanUtils.copyProperties(dcAutoTurnover, dcAutoTurnoverOceanWithBLOBs);
......@@ -854,9 +870,9 @@ public class AutoTurnoverJob extends PointJob {
int i = dcAutoTurnoverOceanMapper.updateByExampleSelective(dcAutoTurnoverOceanWithBLOBs, DcAutoTurnoverOceanExample.newAndCreateCriteria().andBailunSkuEqualTo(dcAutoTurnover.getBailunSku()).andWarehouseCodeEqualTo(dcAutoTurnover.getWarehouseCode()).example());
if (i == 0) {
dcAutoTurnoverOceanMapper.insertSelective(dcAutoTurnoverOceanWithBLOBs);
this.autoTurnoverFromStock(DateTimeFormatter.ofPattern(CommonConstant.DATE_FORMAT).format(LocalDate.now()), dcBaseStock);
this.autoTurnoverFromStock(dcBaseStock);
}
} else if (Constant.AIR_HEAD.equals(shardingContextThreadLocal.get().getJobParameter())) {
} else if (Constant.AIR_HEAD.equals(transferStrategy.get())) {
DcAutoTurnoverAirWithBLOBs dcAutoTurnoverAirWithBLOBs = new DcAutoTurnoverAirWithBLOBs();
BeanUtils.copyProperties(dcAutoTurnover, dcAutoTurnoverAirWithBLOBs);
......@@ -864,13 +880,13 @@ public class AutoTurnoverJob extends PointJob {
int i = dcAutoTurnoverAirMapper.updateByExampleSelective(dcAutoTurnoverAirWithBLOBs, DcAutoTurnoverAirExample.newAndCreateCriteria().andBailunSkuEqualTo(dcAutoTurnover.getBailunSku()).andWarehouseCodeEqualTo(dcAutoTurnover.getWarehouseCode()).example());
if (i == 0) {
dcAutoTurnoverAirMapper.insertSelective(dcAutoTurnoverAirWithBLOBs);
this.autoTurnoverFromStock(DateTimeFormatter.ofPattern(CommonConstant.DATE_FORMAT).format(LocalDate.now()), dcBaseStock);
this.autoTurnoverFromStock(dcBaseStock);
}
} else {
int i = autoTurnoverMapper.updateByExampleSelective(dcAutoTurnover, DcAutoTurnoverExample.newAndCreateCriteria().andBailunSkuEqualTo(dcAutoTurnover.getBailunSku()).andWarehouseCodeEqualTo(dcAutoTurnover.getWarehouseCode()).example());
if (i == 0) {
autoTurnoverMapper.insertSelective(dcAutoTurnover);
this.autoTurnoverFromStock(DateTimeFormatter.ofPattern(CommonConstant.DATE_FORMAT).format(LocalDate.now()), dcBaseStock);
this.autoTurnoverFromStock(dcBaseStock);
}
}
......
......@@ -2,8 +2,6 @@ package com.bailuntec.job;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.annotation.JSONField;
import com.bailuntec.domain.constant.CommonConstant;
import com.bailuntec.domain.constant.Constant;
import com.bailuntec.domain.entity.DcBaseQueue;
import com.bailuntec.domain.entity.DcBaseStock;
import com.bailuntec.domain.example.DcBaseStockExample;
......@@ -12,15 +10,11 @@ import com.bailuntec.mapper.DcBaseStockMapper;
import com.bailuntec.utils.SessionUtil;
import com.dangdang.ddframe.job.api.ShardingContext;
import com.dangdang.ddframe.job.api.simple.SimpleJob;
import com.dangdang.ddframe.job.executor.ShardingContexts;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.apache.ibatis.session.SqlSession;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
/**
......@@ -54,7 +48,6 @@ public class QueueConsumerJob implements SimpleJob {
List<DcBaseQueue> dcBaseQueueList = dcBaseQueueMapper.poll(shardingContext);
dcBaseQueueList.parallelStream().forEach(dcBaseQueue -> {
AutoTurnoverJob.shardingContextThreadLocal.set(shardingContext);
BaseQueueMessage baseQueueMessage = JSON.parseObject(dcBaseQueue.getMessage(), BaseQueueMessage.class);
DcBaseStock dcBaseStock = dcBaseStockMapper.selectOneByExample(DcBaseStockExample.newAndCreateCriteria()
......@@ -62,18 +55,8 @@ public class QueueConsumerJob implements SimpleJob {
.andWarehouseCodeEqualTo(baseQueueMessage.getWarehouseCode())
.example());
try {
AutoTurnoverJob.shardingContextThreadLocal.set(new ShardingContext(new ShardingContexts("x", null, 1, "NORMAL", new HashMap<>(16)), 0));
autoTurnoverJob.autoTurnoverFromStock(DateTimeFormatter.ofPattern(CommonConstant.DATE_FORMAT).format(LocalDate.now()), dcBaseStock);
AutoTurnoverJob.shardingContextThreadLocal.remove();
AutoTurnoverJob.shardingContextThreadLocal.set(new ShardingContext(new ShardingContexts("x", null, 1, Constant.OCEAN_HEAD, new HashMap<>(16)), 0));
autoTurnoverJob.autoTurnoverFromStock(DateTimeFormatter.ofPattern(CommonConstant.DATE_FORMAT).format(LocalDate.now()), dcBaseStock);
AutoTurnoverJob.shardingContextThreadLocal.remove();
AutoTurnoverJob.shardingContextThreadLocal.set(new ShardingContext(new ShardingContexts("x", null, 1, Constant.AIR_HEAD, new HashMap<>(16)), 0));
autoTurnoverJob.autoTurnoverFromStock(DateTimeFormatter.ofPattern(CommonConstant.DATE_FORMAT).format(LocalDate.now()), dcBaseStock);
AutoTurnoverJob.shardingContextThreadLocal.remove();
autoTurnoverJob.autoTurnoverFromStock(dcBaseStock);
dcBaseQueueMapper.deleteByPrimaryKey(dcBaseQueue.getId());
} catch (Exception e) {
try {
......
package com.bailuntec.job;
import com.bailuntec.domain.constant.CommonConstant;
import com.bailuntec.domain.entity.DcAutoReplaceLogisticsTask;
import com.bailuntec.domain.entity.DcBaseStock;
import com.bailuntec.domain.example.DcAutoReplaceLogisticsTaskExample;
......@@ -12,9 +11,7 @@ import com.dangdang.ddframe.job.api.ShardingContext;
import com.dangdang.ddframe.job.api.simple.SimpleJob;
import org.apache.ibatis.session.SqlSession;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.List;
/**
......@@ -52,7 +49,7 @@ public class ReplaceLogisticJob implements SimpleJob {
.andWarehouseCodeEqualTo(dcAutoReplaceLogisticsTask.getWarehouseCode())
.example());
autoTurnoverJob.autoTurnoverFromStock(DateTimeFormatter.ofPattern(CommonConstant.DATE_FORMAT).format(LocalDate.now()), dcBaseStock);
autoTurnoverJob.autoTurnoverFromStock(dcBaseStock);
dcAutoReplaceLogisticsTask.setStatus(1);
// dcAutoReplaceLogisticsTaskMapper.deleteByPrimaryKey(dcAutoReplaceLogisticsTask.getId());
} catch (Exception ex) {
......
......@@ -5,7 +5,6 @@ import com.bailuntec.domain.constant.Constant;
import com.bailuntec.domain.entity.*;
import com.bailuntec.job.AutoTurnoverJob;
import com.bailuntec.job.ReplaceLogisticJob;
import com.dangdang.ddframe.job.api.ShardingContext;
import java.math.BigDecimal;
......@@ -152,14 +151,14 @@ public class TurnoverDaysHandler {
}
//海运的数据
ShardingContext shardingContext = AutoTurnoverJob.shardingContextThreadLocal.get();
if (dcAverageWarehouse != null && Constant.OCEAN_HEAD.equals(shardingContext.getJobParameter())) {
String shardingContext = AutoTurnoverJob.transferStrategy.get();
if (dcAverageWarehouse != null && Constant.OCEAN_HEAD.equals(shardingContext)) {
transferDeliverySource = DcAutoTurnover.SOURCE_LMS;
transferDelivery = dcAverageWarehouse.getTransferDeliveryOcean().intValue();
}
//空运的数据
if (dcAverageWarehouse != null && Constant.AIR_HEAD.equals(shardingContext.getJobParameter())) {
if (dcAverageWarehouse != null && Constant.AIR_HEAD.equals(shardingContext)) {
transferDeliverySource = DcAutoTurnover.SOURCE_LMS;
transferDelivery = dcAverageWarehouse.getTransferDeliveryEmpty().intValue();
}
......@@ -196,14 +195,14 @@ public class TurnoverDaysHandler {
}
//海运的数据
ShardingContext shardingContext = AutoTurnoverJob.shardingContextThreadLocal.get();
if (dcAverageWarehouse != null && Constant.OCEAN_HEAD.equals(shardingContext.getJobParameter())) {
String shardingContext = AutoTurnoverJob.transferStrategy.get();
if (dcAverageWarehouse != null && Constant.OCEAN_HEAD.equals(shardingContext)) {
transferBaleDeliverySource = DcAutoTurnover.SOURCE_LMS;
transferBaleDelivery = dcAverageWarehouse.getTransferBaleDeliveryOcean().intValue();
}
//空运的数据
if (dcAverageWarehouse != null && Constant.AIR_HEAD.equals(shardingContext.getJobParameter())) {
if (dcAverageWarehouse != null && Constant.AIR_HEAD.equals(shardingContext)) {
transferBaleDeliverySource = DcAutoTurnover.SOURCE_LMS;
transferBaleDelivery = dcAverageWarehouse.getTransferBaleDeliveryOcean().intValue();
}
......@@ -238,14 +237,14 @@ public class TurnoverDaysHandler {
}
//海运的数据
ShardingContext shardingContext = AutoTurnoverJob.shardingContextThreadLocal.get();
if (dcAverageWarehouse != null && Constant.OCEAN_HEAD.equals(shardingContext.getJobParameter())) {
String shardingContext = AutoTurnoverJob.transferStrategy.get();
if (dcAverageWarehouse != null && Constant.OCEAN_HEAD.equals(shardingContext)) {
abroadInboundDeliverySource = DcAutoTurnover.SOURCE_LMS;
abroadInboundDelivery = dcAverageWarehouse.getAbroadInboundDeliveryOcean().intValue();
}
//空运的数据
if (dcAverageWarehouse != null && Constant.AIR_HEAD.equals(shardingContext.getJobParameter())) {
if (dcAverageWarehouse != null && Constant.AIR_HEAD.equals(shardingContext)) {
abroadInboundDeliverySource = DcAutoTurnover.SOURCE_LMS;
abroadInboundDelivery = dcAverageWarehouse.getAbroadInboundDeliveryEmpty().intValue();
}
......
......@@ -4,7 +4,6 @@ import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
import com.alibaba.fastjson.JSON;
import com.bailuntec.domain.constant.CommonConstant;
import com.bailuntec.domain.constant.Constant;
import com.bailuntec.domain.entity.DcBaseStock;
import com.bailuntec.domain.entity.JobPointLog;
import com.bailuntec.domain.entity.SalesDayConfig;
......@@ -86,7 +85,7 @@ public class AutoTurnoverTest {
} finally {
SessionUtil.closeSession();
}
autoTurnoverJob.autoTurnoverFromStock(queryTime, dcBaseStock);
autoTurnoverJob.autoTurnoverFromStock(dcBaseStock);
}
@Test
......@@ -103,7 +102,7 @@ public class AutoTurnoverTest {
SessionUtil.closeSession();
}
for (DcBaseStock dcBaseStock : dcBaseStockList) {
autoTurnoverJob.autoTurnoverFromStock(queryTime, dcBaseStock);
autoTurnoverJob.autoTurnoverFromStock(dcBaseStock);
}
}
......@@ -121,7 +120,7 @@ public class AutoTurnoverTest {
SessionUtil.closeSession();
}
for (DcBaseStock dcBaseStock : dcBaseStockList) {
autoTurnoverJob.autoTurnoverFromStock(queryTime, dcBaseStock);
autoTurnoverJob.autoTurnoverFromStock(dcBaseStock);
}
}
......@@ -246,7 +245,7 @@ public class AutoTurnoverTest {
.andWarehouseCodeEqualTo(salesDayConfig.getWarehouseCode())
.example());
try {
autoTurnoverJob.autoTurnoverFromStock(DateTimeFormatter.ofPattern(CommonConstant.DATE_FORMAT).format(LocalDate.now()), dcBaseStock);
autoTurnoverJob.autoTurnoverFromStock(dcBaseStock);
} catch (Exception e) {
e.printStackTrace();
}
......@@ -271,8 +270,7 @@ public class AutoTurnoverTest {
log.info(Long.toString(time));
// AutoTurnoverJob.shardingContextThreadLocal.set(new ShardingContext(new ShardingContexts("x", null, 8, Constant.AIR_HEAD, new HashMap<>()), 0));
AutoTurnoverJob.shardingContextThreadLocal.set(new ShardingContext(new ShardingContexts("x", null, 1, "NORMAL", new HashMap<>(16)), 0));
autoTurnoverJob.autoTurnoverFromStock(DateTimeFormatter.ofPattern(CommonConstant.DATE_FORMAT).format(LocalDate.now()), dcBaseStock);
autoTurnoverJob.autoTurnoverFromStock(dcBaseStock);
log.info(String.valueOf((System.currentTimeMillis() - time)));
} catch (Exception e) {
......
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