Commit bbde01f7 by yinyong

修改销量sql

parent 660b428e
...@@ -23,18 +23,21 @@ import java.util.List; ...@@ -23,18 +23,21 @@ import java.util.List;
public class CalculateWeekJob extends PointJob { public class CalculateWeekJob extends PointJob {
/*public void autoTurnoverFromStock() { @Override
public void executeJob(ShardingContext shardingContext, JobPointLog jobPointLog) {
try{ try{
int pageSize = 1000;
DcBaseStockMapper baseStockMapper = SessionUtil.getSession().getMapper(DcBaseStockMapper.class); DcBaseStockMapper baseStockMapper = SessionUtil.getSession().getMapper(DcBaseStockMapper.class);
long count = baseStockMapper.countByExample(DcBaseStockExample.newAndCreateCriteria().andWarehouseCodeEqualTo("GZBLWH").example()); long count = baseStockMapper.countByExample(DcBaseStockExample.newAndCreateCriteria().andWarehouseCodeEqualTo("GZBLWH").example());
int totalPage = (int)(count % pageSize == 0 ? count/pageSize : count/pageSize + 1); int totalPage = (int)(count % jobPointLog.getPageSize() == 0 ? count/jobPointLog.getPageSize() : count/jobPointLog.getPageSize() + 1);
int page = 0;
do{ do{
List<DcBaseStock> dcBaseStockList = null;//分页查SKU_仓库 List<DcBaseStock> dcBaseStockList = null;//分页查SKU_仓库
if (jobPointLog.getPageIndex().equals(0)) {
jobPointLog.setPageIndex(totalPage);
}
try { try {
DcBaseStockMapper baseStockMapperFor = SessionUtil.getSession().getMapper(DcBaseStockMapper.class); DcBaseStockMapper baseStockMapperFor = SessionUtil.getSession().getMapper(DcBaseStockMapper.class);
dcBaseStockList = baseStockMapperFor.listStockById(page*pageSize, pageSize); dcBaseStockList = baseStockMapperFor.listStockById(jobPointLog.getPageIndex()*jobPointLog.getPageSize(), jobPointLog.getPageSize());
DcAutoSalesMapper autoSalesMapper = null; DcAutoSalesMapper autoSalesMapper = null;
if (dcBaseStockList != null && dcBaseStockList.size() > 0) { if (dcBaseStockList != null && dcBaseStockList.size() > 0) {
for (DcBaseStock dcBaseStock : dcBaseStockList) { for (DcBaseStock dcBaseStock : dcBaseStockList) {
...@@ -50,14 +53,26 @@ public class CalculateWeekJob extends PointJob { ...@@ -50,14 +53,26 @@ public class CalculateWeekJob extends PointJob {
}finally { }finally {
SessionUtil.closeSession(); SessionUtil.closeSession();
} }
page++; if (jobPointLog.getPageIndex() % 10 == 0) {
}while(page <= totalPage); try {
JobPointLogMapper mapper = SessionUtil.getSession().getMapper(JobPointLogMapper.class);
mapper.upsertSelective(jobPointLog);
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException(ExceptionUtil.transform(e), e);
} finally {
SessionUtil.closeSession();
}
}
jobPointLog.setPageIndex(jobPointLog.getPageIndex() - 1);
}while(0 < jobPointLog.getPageIndex());
jobPointLog.setPageIndex(0);
}catch (Exception e){ }catch (Exception e){
e.printStackTrace(); e.printStackTrace();
}finally { }finally {
SessionUtil.closeSession(); SessionUtil.closeSession();
} }
}*/ }
public void calculateWeekRate(SalesVolumeWeekDTO salesVolumeWeekDTO) { public void calculateWeekRate(SalesVolumeWeekDTO salesVolumeWeekDTO) {
try{ try{
...@@ -98,56 +113,5 @@ public class CalculateWeekJob extends PointJob { ...@@ -98,56 +113,5 @@ public class CalculateWeekJob extends PointJob {
} }
@Override
public void executeJob(ShardingContext shardingContext, JobPointLog jobPointLog) {
try{
int pageSize = 1000;
DcBaseStockMapper baseStockMapper = SessionUtil.getSession().getMapper(DcBaseStockMapper.class);
long count = baseStockMapper.countByExample(DcBaseStockExample.newAndCreateCriteria().andWarehouseCodeEqualTo("GZBLWH").example());
int totalPage = (int)(count % jobPointLog.getPageSize() == 0 ? count/jobPointLog.getPageSize() : count/jobPointLog.getPageSize() + 1);
int page = 0;
do{
List<DcBaseStock> dcBaseStockList = null;//分页查SKU_仓库
if (jobPointLog.getPageIndex().equals(0)) {
jobPointLog.setPageIndex(totalPage);
}
try {
DcBaseStockMapper baseStockMapperFor = SessionUtil.getSession().getMapper(DcBaseStockMapper.class);
dcBaseStockList = baseStockMapperFor.listStockById(page*pageSize, pageSize);
DcAutoSalesMapper autoSalesMapper = null;
if (dcBaseStockList != null && dcBaseStockList.size() > 0) {
for (DcBaseStock dcBaseStock : dcBaseStockList) {
autoSalesMapper = SessionUtil.getSession().getMapper(DcAutoSalesMapper.class);
SalesVolumeWeekDTO salesVolumeWeekDTO = autoSalesMapper.getSalesVolumeWeekDTO(dcBaseStock.getBailunSku(), dcBaseStock.getWarehouseCode());
if(StringUtils.isNotEmpty(salesVolumeWeekDTO.getSalesDetail().trim())) {
calculateWeekRate(salesVolumeWeekDTO);
}
}
}
}catch (Exception e){
e.printStackTrace();
}finally {
SessionUtil.closeSession();
}
if (jobPointLog.getPageIndex() % 10 == 0) {
try {
JobPointLogMapper mapper = SessionUtil.getSession().getMapper(JobPointLogMapper.class);
mapper.upsertSelective(jobPointLog);
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException(ExceptionUtil.transform(e), e);
} finally {
SessionUtil.closeSession();
}
}
jobPointLog.setPageIndex(jobPointLog.getPageIndex() - 1);
}while(0 < jobPointLog.getPageIndex());
jobPointLog.setPageIndex(0);
}catch (Exception e){
e.printStackTrace();
}finally {
SessionUtil.closeSession();
}
}
} }
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