Commit 9ccc5edd by huluobin

update

parent 2806c3a3
...@@ -132,7 +132,9 @@ public interface DcBaseStockMapper { ...@@ -132,7 +132,9 @@ public interface DcBaseStockMapper {
void insertDailyStock(); void insertDailyStock();
List<DcBaseStock> listStockById(ShardingContext shardingContext, @Param("v1") int v1, @Param("v2") int v2); List<DcBaseStock> listStockById(@Param("v1") int v1, @Param("v2") int v2);
List<DcBaseStock> listStockByIdPart(@Param("shardingContext") ShardingContext shardingContext, @Param("v1") int v1, @Param("v2") int v2);
List<DcBaseStock> listStockWarehouseById(@Param("v1") int v1, @Param("v2") int v2, @Param("warehouseCode") String warehouseCode); List<DcBaseStock> listStockWarehouseById(@Param("v1") int v1, @Param("v2") int v2, @Param("warehouseCode") String warehouseCode);
......
...@@ -1269,6 +1269,13 @@ ...@@ -1269,6 +1269,13 @@
limit #{v1}, #{v2} limit #{v1}, #{v2}
</select> </select>
<select id="listStockByIdPart" resultType="com.bailuntec.domain.entity.DcBaseStock">
SELECT *
FROM dc_base_stock tb1
where tb1.id % #{shardingContext.shardingTotalCount} = #{shardingContext.shardingItem}
limit #{v1}, #{v2}
</select>
<select id="listStockWarehouseById" resultType="com.bailuntec.domain.entity.DcBaseStock"> <select id="listStockWarehouseById" resultType="com.bailuntec.domain.entity.DcBaseStock">
SELECT * SELECT *
FROM dc_base_stock FROM dc_base_stock
...@@ -1301,6 +1308,7 @@ ...@@ -1301,6 +1308,7 @@
limit #{v1}, #{v2} limit #{v1}, #{v2}
</select> </select>
<select id="listWarehouseStockById" resultType="com.bailuntec.domain.entity.DcBaseStock"> <select id="listWarehouseStockById" resultType="com.bailuntec.domain.entity.DcBaseStock">
select * select *
from dc_base_stock tb1 from dc_base_stock tb1
...@@ -1407,4 +1415,5 @@ ...@@ -1407,4 +1415,5 @@
limit #{pageStart}, #{pageOffset}; limit #{pageStart}, #{pageOffset};
</select> </select>
</mapper> </mapper>
...@@ -14,7 +14,6 @@ import com.bailuntec.support.PointJob; ...@@ -14,7 +14,6 @@ import com.bailuntec.support.PointJob;
import com.bailuntec.utils.ExceptionUtil; import com.bailuntec.utils.ExceptionUtil;
import com.bailuntec.utils.SessionUtil; import com.bailuntec.utils.SessionUtil;
import com.dangdang.ddframe.job.api.ShardingContext; import com.dangdang.ddframe.job.api.ShardingContext;
import com.dangdang.ddframe.job.api.simple.SimpleJob;
import org.apache.commons.beanutils.BeanUtils; import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
...@@ -26,7 +25,7 @@ public class CalculateWeekJob extends PointJob { ...@@ -26,7 +25,7 @@ public class CalculateWeekJob extends PointJob {
@Override @Override
public void executeJob(ShardingContext shardingContext, JobPointLog jobPointLog) { public void executeJob(ShardingContext shardingContext, JobPointLog jobPointLog) {
try{ try {
long count = 0; long count = 0;
DcBaseStockMapper baseStockMapper = SessionUtil.getSession().getMapper(DcBaseStockMapper.class); DcBaseStockMapper baseStockMapper = SessionUtil.getSession().getMapper(DcBaseStockMapper.class);
if (StringUtils.isBlank(shardingContext.getJobParameter())) { if (StringUtils.isBlank(shardingContext.getJobParameter())) {
...@@ -34,8 +33,8 @@ public class CalculateWeekJob extends PointJob { ...@@ -34,8 +33,8 @@ public class CalculateWeekJob extends PointJob {
} else { } else {
count = baseStockMapper.countByExample(DcBaseStockExample.newAndCreateCriteria().andWarehouseCodeEqualTo(shardingContext.getJobParameter()).example()); count = baseStockMapper.countByExample(DcBaseStockExample.newAndCreateCriteria().andWarehouseCodeEqualTo(shardingContext.getJobParameter()).example());
} }
int totalPage = (int)(count % jobPointLog.getPageSize() == 0 ? count/jobPointLog.getPageSize() : count/jobPointLog.getPageSize() + 1); int totalPage = (int) (count % jobPointLog.getPageSize() == 0 ? count / jobPointLog.getPageSize() : count / jobPointLog.getPageSize() + 1);
do{ do {
List<DcBaseStock> dcBaseStockList = null;//分页查SKU_仓库 List<DcBaseStock> dcBaseStockList = null;//分页查SKU_仓库
if (jobPointLog.getPageIndex().equals(0)) { if (jobPointLog.getPageIndex().equals(0)) {
jobPointLog.setPageIndex(totalPage); jobPointLog.setPageIndex(totalPage);
...@@ -43,23 +42,23 @@ public class CalculateWeekJob extends PointJob { ...@@ -43,23 +42,23 @@ public class CalculateWeekJob extends PointJob {
try { try {
DcBaseStockMapper baseStockMapperFor = SessionUtil.getSession().getMapper(DcBaseStockMapper.class); DcBaseStockMapper baseStockMapperFor = SessionUtil.getSession().getMapper(DcBaseStockMapper.class);
if (StringUtils.isBlank(shardingContext.getJobParameter())) { if (StringUtils.isBlank(shardingContext.getJobParameter())) {
dcBaseStockList = baseStockMapperFor.listStockById(jobPointLog.getPageIndex()*jobPointLog.getPageSize(), jobPointLog.getPageSize()); dcBaseStockList = baseStockMapperFor.listStockById(jobPointLog.getPageIndex() * jobPointLog.getPageSize(), jobPointLog.getPageSize());
}else{ } else {
dcBaseStockList = baseStockMapperFor.listStockWarehouseById((jobPointLog.getPageIndex() - 1)*jobPointLog.getPageSize(), jobPointLog.getPageSize(), shardingContext.getJobParameter()); dcBaseStockList = baseStockMapperFor.listStockWarehouseById((jobPointLog.getPageIndex() - 1) * jobPointLog.getPageSize(), jobPointLog.getPageSize(), shardingContext.getJobParameter());
} }
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) {
autoSalesMapper = SessionUtil.getSession().getMapper(DcAutoSalesMapper.class); autoSalesMapper = SessionUtil.getSession().getMapper(DcAutoSalesMapper.class);
SalesVolumeWeekDTO salesVolumeWeekDTO = autoSalesMapper.getSalesVolumeWeekDTO(dcBaseStock.getBailunSku(), dcBaseStock.getWarehouseCode()); SalesVolumeWeekDTO salesVolumeWeekDTO = autoSalesMapper.getSalesVolumeWeekDTO(dcBaseStock.getBailunSku(), dcBaseStock.getWarehouseCode());
if(StringUtils.isNotEmpty(salesVolumeWeekDTO.getSalesDetail().trim())) { if (StringUtils.isNotEmpty(salesVolumeWeekDTO.getSalesDetail().trim())) {
calculateWeekRate(salesVolumeWeekDTO); calculateWeekRate(salesVolumeWeekDTO);
} }
} }
} }
}catch (Exception e){ } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
}finally { } finally {
SessionUtil.closeSession(); SessionUtil.closeSession();
} }
if (jobPointLog.getPageIndex() % 10 == 0) { if (jobPointLog.getPageIndex() % 10 == 0) {
...@@ -74,39 +73,39 @@ public class CalculateWeekJob extends PointJob { ...@@ -74,39 +73,39 @@ public class CalculateWeekJob extends PointJob {
} }
} }
jobPointLog.setPageIndex(jobPointLog.getPageIndex() - 1); jobPointLog.setPageIndex(jobPointLog.getPageIndex() - 1);
}while(0 < jobPointLog.getPageIndex()); } while (0 < jobPointLog.getPageIndex());
jobPointLog.setPageIndex(0); 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 {
DcAutoWeekSales dcAutoWeekSales = new DcAutoWeekSales(); DcAutoWeekSales dcAutoWeekSales = new DcAutoWeekSales();
DcAutoWeekSalesMapper dcAutoWeekSalesMapper = SessionUtil.getSession().getMapper(DcAutoWeekSalesMapper.class); DcAutoWeekSalesMapper dcAutoWeekSalesMapper = SessionUtil.getSession().getMapper(DcAutoWeekSalesMapper.class);
BeanUtils.copyProperties(dcAutoWeekSales, salesVolumeWeekDTO); BeanUtils.copyProperties(dcAutoWeekSales, salesVolumeWeekDTO);
dcAutoWeekSales.setSaleDetail(salesVolumeWeekDTO.getSalesDetail()); dcAutoWeekSales.setSaleDetail(salesVolumeWeekDTO.getSalesDetail());
// dcAutoWeekSales.setRateDetail(salesVolumeWeekDTO.getSalesDetail()); // dcAutoWeekSales.setRateDetail(salesVolumeWeekDTO.getSalesDetail());
dcAutoWeekSalesMapper.upsertSelective(dcAutoWeekSales); dcAutoWeekSalesMapper.upsertSelective(dcAutoWeekSales);
}catch (Exception e){ } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
}finally { } finally {
SessionUtil.closeSession(); SessionUtil.closeSession();
} }
} }
private Calendar getCalendarFormYear(int year){ private Calendar getCalendarFormYear(int year) {
Calendar cal = Calendar.getInstance(); Calendar cal = Calendar.getInstance();
cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY); cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
cal.set(Calendar.YEAR, year); cal.set(Calendar.YEAR, year);
return cal; return cal;
} }
public String getEndDayOfWeekNo(int year,int weekNo){ public String getEndDayOfWeekNo(int year, int weekNo) {
Calendar cal = getCalendarFormYear(year); Calendar cal = getCalendarFormYear(year);
cal.set(Calendar.WEEK_OF_YEAR, weekNo); cal.set(Calendar.WEEK_OF_YEAR, weekNo);
cal.add(Calendar.DAY_OF_WEEK, 6); cal.add(Calendar.DAY_OF_WEEK, 6);
...@@ -114,7 +113,7 @@ public class CalculateWeekJob extends PointJob { ...@@ -114,7 +113,7 @@ public class CalculateWeekJob extends PointJob {
cal.get(Calendar.DAY_OF_MONTH); cal.get(Calendar.DAY_OF_MONTH);
} }
public String getStartDayOfWeekNo(int year,int weekNo){ public String getStartDayOfWeekNo(int year, int weekNo) {
Calendar cal = getCalendarFormYear(year); Calendar cal = getCalendarFormYear(year);
cal.set(Calendar.WEEK_OF_YEAR, weekNo); cal.set(Calendar.WEEK_OF_YEAR, weekNo);
return cal.get(Calendar.YEAR) + "-" + (cal.get(Calendar.MONTH) + 1) + "-" + return cal.get(Calendar.YEAR) + "-" + (cal.get(Calendar.MONTH) + 1) + "-" +
......
...@@ -72,7 +72,7 @@ public class AutoTurnoverJob extends PointJob { ...@@ -72,7 +72,7 @@ public class AutoTurnoverJob extends PointJob {
DcBaseStockMapper baseStockMapperFor = SessionUtil.getSession().getMapper(DcBaseStockMapper.class); DcBaseStockMapper baseStockMapperFor = SessionUtil.getSession().getMapper(DcBaseStockMapper.class);
//这里是根据id排序,方法名没改了 //这里是根据id排序,方法名没改了
if (StringUtils.isBlank(shardingContext.getJobParameter())) { if (StringUtils.isBlank(shardingContext.getJobParameter())) {
dcBaseStockList = baseStockMapperFor.listStockById(shardingContext, (page - 1) * jobPointLog.getPageSize(), jobPointLog.getPageSize()); dcBaseStockList = baseStockMapperFor.listStockByIdPart(shardingContext, (page - 1) * jobPointLog.getPageSize(), jobPointLog.getPageSize());
} else { } else {
switch (shardingContext.getJobParameter()) { switch (shardingContext.getJobParameter()) {
case "国内仓": case "国内仓":
......
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