Commit 0299e65c by yinyong

自动周转--仓库周销量、系数计算,仓库-sku销量计算

parent 535d4b14
......@@ -70,4 +70,5 @@ public class SalesVolumeWeekDTO {
private BigDecimal fiftyTwoWeekRate;
private String salesDetail;
private String rateDetail;
}
......@@ -2681,7 +2681,69 @@
</select>-->
<select id="getSalesVolumeWeekDTO" resultType="com.bailuntec.domain.dto.SalesVolumeWeekDTO">
SELECT bailun_sku,
select
bailun_sku,
warehouse_code,oneWeekRate,twoWeekRate,threeWeekRate,fourthWeekRate,fiveWeekRate,sixWeekRate,sevenWeekRate,eightWeekRate,nineWeekRate,tenWeekRate,elevenWeekRate,twelveWeekRate, thridteenWeekRate, fourteenWeekRate,fifteenWeekRate,
sixteenWeekRate,seventeenWeekRate,eighteenWeekRate, nineteenWeekRate, twentyWeekRate, twentyOneWeekRate,twentyTwoWeekRate, twentyThreeWeekRate,twentyFourthWeekRate,twentyFiveWeekRate, twentySixWeekRate,twentySeveneWeekRate,
twentyEightWeekRate, twentyNineWeekRate,thirtyWeekRate,thirtyOneWeekRate,thirtyTwoWeekRate,thirtyThreeWeekRate, thirtyFourthWeekRate, thirtyFiveWeekRate, thirtySixWeekRate,thirtySeveneWeekRate, thirtyEightWeekRate, thirtyNineWeekRate, fortyWeekRate,
fortyOneWeekRate,fortyTwoWeekRate,fortyThreeWeekRate, fortyFourthWeekRate, fortyFiveWeekRate, fortySixWeekRate, fortySeveneWeekRate,fortyEightWeekRate, fortyNineWeekRate, fiftyWeekRate,fiftyOneWeekRate,
fiftyTwoWeekRate,salesDetail,
CONCAT_WS(
',',
oneWeekRate,
twoWeekRate,
threeWeekRate,
fourthWeekRate,
fiveWeekRate,
sixWeekRate,
sevenWeekRate,
eightWeekRate,
nineWeekRate,
tenWeekRate,
elevenWeekRate,
twelveWeekRate,
thridteenWeekRate,
fourteenWeekRate,
fifteenWeekRate,
sixteenWeekRate,
seventeenWeekRate,
eighteenWeekRate,
nineteenWeekRate,
twentyWeekRate,
twentyOneWeekRate,
twentyTwoWeekRate,
twentyThreeWeekRate,
twentyFourthWeekRate,
twentyFiveWeekRate,
twentySixWeekRate,
twentySeveneWeekRate,
twentyEightWeekRate,
twentyNineWeekRate,
thirtyWeekRate,
thirtyOneWeekRate,
thirtyTwoWeekRate,
thirtyThreeWeekRate,
thirtyFourthWeekRate,
thirtyFiveWeekRate,
thirtySixWeekRate,
thirtySeveneWeekRate,
thirtyEightWeekRate,
thirtyNineWeekRate,
fortyWeekRate,
fortyOneWeekRate,
fortyTwoWeekRate,
fortyThreeWeekRate,
fortyFourthWeekRate,
fortyFiveWeekRate,
fortySixWeekRate,
fortySeveneWeekRate,
fortyEightWeekRate,
fortyNineWeekRate,
fiftyWeekRate,
fiftyOneWeekRate,
fiftyTwoWeekRate
) AS 'rateDetail'
from (SELECT bailun_sku,
warehouse_code,
case when oneWeekSales = 0 then 0 else 1 end as oneWeekRate,
case when (oneWeekSales = 0 and twoWeekSales = 0) then 0 when (oneWeekSales = 0 and twoWeekSales != 0) then 1 else twoWeekSales/oneWeekSales end as twoWeekRate,
......@@ -2855,7 +2917,7 @@
<if test="bailunSku != null and bailunSku != ''">
and bailun_sku = #{bailunSku}
</if>
and warehouse_code = #{warehouseCode})sales_table
and warehouse_code = #{warehouseCode})sales_table)sales_table1
</select>
<select id="getPlatformHistorySales" resultType="com.bailuntec.domain.dto.SalesVolumeAvgDTO">
......
......@@ -121,4 +121,6 @@ public interface DcAutoWeekSalesMapper {
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
int upsertSelective(DcAutoWeekSales record);
int warehouseUpsertSelective(DcAutoWeekSales record);
}
\ No newline at end of file
......@@ -1735,6 +1735,564 @@
</if>
</trim>
</insert>
<insert id="warehouseUpsertSelective" parameterType="com.bailuntec.domain.entity.DcAutoWeekSales">
<!--
WARNING - @mbg.generated
This element is automatically generated by MyBatis Generator, do not modify.
@project https://github.com/itfsw/mybatis-generator-plugin
-->
insert into dc_auto_warehouseweek_sales
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">
id,
</if>
<if test="warehouseCode != null">
warehouse_code,
</if>
<if test="reportDate != null">
report_date,
</if>
<if test="weekTime != null">
week_time,
</if>
<if test="bjCreate != null">
bj_create,
</if>
<if test="bjModified != null">
bj_modified,
</if>
<if test="oneWeekRate != null">
one_week_rate,
</if>
<if test="twoWeekRate != null">
two_week_rate,
</if>
<if test="threeWeekRate != null">
three_week_rate,
</if>
<if test="fourthWeekRate != null">
fourth_week_rate,
</if>
<if test="fiveWeekRate != null">
five_week_rate,
</if>
<if test="sixWeekRate != null">
six_week_rate,
</if>
<if test="sevenWeekRate != null">
seven_week_rate,
</if>
<if test="eightWeekRate != null">
eight_week_rate,
</if>
<if test="nineWeekRate != null">
nine_week_rate,
</if>
<if test="tenWeekRate != null">
ten_week_rate,
</if>
<if test="elevenWeekRate != null">
eleven_week_rate,
</if>
<if test="twelveWeekRate != null">
twelve_week_rate,
</if>
<if test="thridteenWeekRate != null">
thridteen_week_rate,
</if>
<if test="fourteenWeekRate != null">
fourteen_week_rate,
</if>
<if test="fifteenWeekRate != null">
fifteen_week_rate,
</if>
<if test="sixteenWeekRate != null">
sixteen_week_rate,
</if>
<if test="seventeenWeekRate != null">
seventeen_week_rate,
</if>
<if test="eighteenWeekRate != null">
eighteen_week_rate,
</if>
<if test="nineteenWeekRate != null">
nineteen_week_rate,
</if>
<if test="twentyWeekRate != null">
twenty_week_rate,
</if>
<if test="twentyOneWeekRate != null">
twenty_one_week_rate,
</if>
<if test="twentyTwoWeekRate != null">
twenty_two_week_rate,
</if>
<if test="twentyThreeWeekRate != null">
twenty_three_week_rate,
</if>
<if test="twentyFourthWeekRate != null">
twenty_fourth_week_rate,
</if>
<if test="twentyFiveWeekRate != null">
twenty_five_week_rate,
</if>
<if test="twentySixWeekRate != null">
twenty_six_week_rate,
</if>
<if test="twentySeveneWeekRate != null">
twenty_sevene_week_rate,
</if>
<if test="twentyEightWeekRate != null">
twenty_eight_week_rate,
</if>
<if test="twentyNineWeekRate != null">
twenty_nine_week_rate,
</if>
<if test="thirtyWeekRate != null">
thirty_week_rate,
</if>
<if test="thirtyOneWeekRate != null">
thirty_one_week_rate,
</if>
<if test="thirtyTwoWeekRate != null">
thirty_two_week_rate,
</if>
<if test="thirtyThreeWeekRate != null">
thirty_three_week_rate,
</if>
<if test="thirtyFourthWeekRate != null">
thirty_fourth_week_rate,
</if>
<if test="thirtyFiveWeekRate != null">
thirty_five_week_rate,
</if>
<if test="thirtySixWeekRate != null">
thirty_six_week_rate,
</if>
<if test="thirtySeveneWeekRate != null">
thirty_sevene_week_rate,
</if>
<if test="thirtyEightWeekRate != null">
thirty_eight_week_rate,
</if>
<if test="thirtyNineWeekRate != null">
thirty_nine_week_rate,
</if>
<if test="fortyWeekRate != null">
forty_week_rate,
</if>
<if test="fortyOneWeekRate != null">
forty_one_week_rate,
</if>
<if test="fortyTwoWeekRate != null">
forty_two_week_rate,
</if>
<if test="fortyThreeWeekRate != null">
forty_three_week_rate,
</if>
<if test="fortyFourthWeekRate != null">
forty_fourth_week_rate,
</if>
<if test="fortyFiveWeekRate != null">
forty_five_week_rate,
</if>
<if test="fortySixWeekRate != null">
forty_six_week_rate,
</if>
<if test="fortySeveneWeekRate != null">
forty_sevene_week_rate,
</if>
<if test="fortyEightWeekRate != null">
forty_eight_week_rate,
</if>
<if test="fortyNineWeekRate != null">
forty_nine_week_rate,
</if>
<if test="fiftyWeekRate != null">
fifty_week_rate,
</if>
<if test="fiftyOneWeekRate != null">
fifty_one_week_rate,
</if>
<if test="fiftyTwoWeekRate != null">
fifty_two_week_rate,
</if>
<if test="saleDetail != null">
sale_detail,
</if>
<if test="rateDetail != null">
rate_detail,
</if>
</trim>
values
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">
#{id,jdbcType=INTEGER},
</if>
<if test="warehouseCode != null">
#{warehouseCode,jdbcType=VARCHAR},
</if>
<if test="reportDate != null">
#{reportDate,jdbcType=INTEGER},
</if>
<if test="weekTime != null">
#{weekTime,jdbcType=VARCHAR},
</if>
<if test="bjCreate != null">
#{bjCreate,jdbcType=TIMESTAMP},
</if>
<if test="bjModified != null">
#{bjModified,jdbcType=TIMESTAMP},
</if>
<if test="oneWeekRate != null">
#{oneWeekRate,jdbcType=DECIMAL},
</if>
<if test="twoWeekRate != null">
#{twoWeekRate,jdbcType=DECIMAL},
</if>
<if test="threeWeekRate != null">
#{threeWeekRate,jdbcType=DECIMAL},
</if>
<if test="fourthWeekRate != null">
#{fourthWeekRate,jdbcType=DECIMAL},
</if>
<if test="fiveWeekRate != null">
#{fiveWeekRate,jdbcType=DECIMAL},
</if>
<if test="sixWeekRate != null">
#{sixWeekRate,jdbcType=DECIMAL},
</if>
<if test="sevenWeekRate != null">
#{sevenWeekRate,jdbcType=DECIMAL},
</if>
<if test="eightWeekRate != null">
#{eightWeekRate,jdbcType=DECIMAL},
</if>
<if test="nineWeekRate != null">
#{nineWeekRate,jdbcType=DECIMAL},
</if>
<if test="tenWeekRate != null">
#{tenWeekRate,jdbcType=DECIMAL},
</if>
<if test="elevenWeekRate != null">
#{elevenWeekRate,jdbcType=DECIMAL},
</if>
<if test="twelveWeekRate != null">
#{twelveWeekRate,jdbcType=DECIMAL},
</if>
<if test="thridteenWeekRate != null">
#{thridteenWeekRate,jdbcType=DECIMAL},
</if>
<if test="fourteenWeekRate != null">
#{fourteenWeekRate,jdbcType=DECIMAL},
</if>
<if test="fifteenWeekRate != null">
#{fifteenWeekRate,jdbcType=DECIMAL},
</if>
<if test="sixteenWeekRate != null">
#{sixteenWeekRate,jdbcType=DECIMAL},
</if>
<if test="seventeenWeekRate != null">
#{seventeenWeekRate,jdbcType=DECIMAL},
</if>
<if test="eighteenWeekRate != null">
#{eighteenWeekRate,jdbcType=DECIMAL},
</if>
<if test="nineteenWeekRate != null">
#{nineteenWeekRate,jdbcType=DECIMAL},
</if>
<if test="twentyWeekRate != null">
#{twentyWeekRate,jdbcType=DECIMAL},
</if>
<if test="twentyOneWeekRate != null">
#{twentyOneWeekRate,jdbcType=DECIMAL},
</if>
<if test="twentyTwoWeekRate != null">
#{twentyTwoWeekRate,jdbcType=DECIMAL},
</if>
<if test="twentyThreeWeekRate != null">
#{twentyThreeWeekRate,jdbcType=DECIMAL},
</if>
<if test="twentyFourthWeekRate != null">
#{twentyFourthWeekRate,jdbcType=DECIMAL},
</if>
<if test="twentyFiveWeekRate != null">
#{twentyFiveWeekRate,jdbcType=DECIMAL},
</if>
<if test="twentySixWeekRate != null">
#{twentySixWeekRate,jdbcType=DECIMAL},
</if>
<if test="twentySeveneWeekRate != null">
#{twentySeveneWeekRate,jdbcType=DECIMAL},
</if>
<if test="twentyEightWeekRate != null">
#{twentyEightWeekRate,jdbcType=DECIMAL},
</if>
<if test="twentyNineWeekRate != null">
#{twentyNineWeekRate,jdbcType=DECIMAL},
</if>
<if test="thirtyWeekRate != null">
#{thirtyWeekRate,jdbcType=DECIMAL},
</if>
<if test="thirtyOneWeekRate != null">
#{thirtyOneWeekRate,jdbcType=DECIMAL},
</if>
<if test="thirtyTwoWeekRate != null">
#{thirtyTwoWeekRate,jdbcType=DECIMAL},
</if>
<if test="thirtyThreeWeekRate != null">
#{thirtyThreeWeekRate,jdbcType=DECIMAL},
</if>
<if test="thirtyFourthWeekRate != null">
#{thirtyFourthWeekRate,jdbcType=DECIMAL},
</if>
<if test="thirtyFiveWeekRate != null">
#{thirtyFiveWeekRate,jdbcType=DECIMAL},
</if>
<if test="thirtySixWeekRate != null">
#{thirtySixWeekRate,jdbcType=DECIMAL},
</if>
<if test="thirtySeveneWeekRate != null">
#{thirtySeveneWeekRate,jdbcType=DECIMAL},
</if>
<if test="thirtyEightWeekRate != null">
#{thirtyEightWeekRate,jdbcType=DECIMAL},
</if>
<if test="thirtyNineWeekRate != null">
#{thirtyNineWeekRate,jdbcType=DECIMAL},
</if>
<if test="fortyWeekRate != null">
#{fortyWeekRate,jdbcType=DECIMAL},
</if>
<if test="fortyOneWeekRate != null">
#{fortyOneWeekRate,jdbcType=DECIMAL},
</if>
<if test="fortyTwoWeekRate != null">
#{fortyTwoWeekRate,jdbcType=DECIMAL},
</if>
<if test="fortyThreeWeekRate != null">
#{fortyThreeWeekRate,jdbcType=DECIMAL},
</if>
<if test="fortyFourthWeekRate != null">
#{fortyFourthWeekRate,jdbcType=DECIMAL},
</if>
<if test="fortyFiveWeekRate != null">
#{fortyFiveWeekRate,jdbcType=DECIMAL},
</if>
<if test="fortySixWeekRate != null">
#{fortySixWeekRate,jdbcType=DECIMAL},
</if>
<if test="fortySeveneWeekRate != null">
#{fortySeveneWeekRate,jdbcType=DECIMAL},
</if>
<if test="fortyEightWeekRate != null">
#{fortyEightWeekRate,jdbcType=DECIMAL},
</if>
<if test="fortyNineWeekRate != null">
#{fortyNineWeekRate,jdbcType=DECIMAL},
</if>
<if test="fiftyWeekRate != null">
#{fiftyWeekRate,jdbcType=DECIMAL},
</if>
<if test="fiftyOneWeekRate != null">
#{fiftyOneWeekRate,jdbcType=DECIMAL},
</if>
<if test="fiftyTwoWeekRate != null">
#{fiftyTwoWeekRate,jdbcType=DECIMAL},
</if>
<if test="saleDetail != null">
#{saleDetail,jdbcType=VARCHAR},
</if>
<if test="rateDetail != null">
#{rateDetail,jdbcType=VARCHAR},
</if>
</trim>
on duplicate key update
<trim suffixOverrides=",">
<if test="id != null">
id = #{id,jdbcType=INTEGER},
</if>
<if test="warehouseCode != null">
warehouse_code = #{warehouseCode,jdbcType=VARCHAR},
</if>
<if test="reportDate != null">
report_date = #{reportDate,jdbcType=INTEGER},
</if>
<if test="weekTime != null">
week_time = #{weekTime,jdbcType=VARCHAR},
</if>
<if test="bjCreate != null">
bj_create = #{bjCreate,jdbcType=TIMESTAMP},
</if>
<if test="bjModified != null">
bj_modified = #{bjModified,jdbcType=TIMESTAMP},
</if>
<if test="oneWeekRate != null">
one_week_rate = #{oneWeekRate,jdbcType=DECIMAL},
</if>
<if test="twoWeekRate != null">
two_week_rate = #{twoWeekRate,jdbcType=DECIMAL},
</if>
<if test="threeWeekRate != null">
three_week_rate = #{threeWeekRate,jdbcType=DECIMAL},
</if>
<if test="fourthWeekRate != null">
fourth_week_rate = #{fourthWeekRate,jdbcType=DECIMAL},
</if>
<if test="fiveWeekRate != null">
five_week_rate = #{fiveWeekRate,jdbcType=DECIMAL},
</if>
<if test="sixWeekRate != null">
six_week_rate = #{sixWeekRate,jdbcType=DECIMAL},
</if>
<if test="sevenWeekRate != null">
seven_week_rate = #{sevenWeekRate,jdbcType=DECIMAL},
</if>
<if test="eightWeekRate != null">
eight_week_rate = #{eightWeekRate,jdbcType=DECIMAL},
</if>
<if test="nineWeekRate != null">
nine_week_rate = #{nineWeekRate,jdbcType=DECIMAL},
</if>
<if test="tenWeekRate != null">
ten_week_rate = #{tenWeekRate,jdbcType=DECIMAL},
</if>
<if test="elevenWeekRate != null">
eleven_week_rate = #{elevenWeekRate,jdbcType=DECIMAL},
</if>
<if test="twelveWeekRate != null">
twelve_week_rate = #{twelveWeekRate,jdbcType=DECIMAL},
</if>
<if test="thridteenWeekRate != null">
thridteen_week_rate = #{thridteenWeekRate,jdbcType=DECIMAL},
</if>
<if test="fourteenWeekRate != null">
fourteen_week_rate = #{fourteenWeekRate,jdbcType=DECIMAL},
</if>
<if test="fifteenWeekRate != null">
fifteen_week_rate = #{fifteenWeekRate,jdbcType=DECIMAL},
</if>
<if test="sixteenWeekRate != null">
sixteen_week_rate = #{sixteenWeekRate,jdbcType=DECIMAL},
</if>
<if test="seventeenWeekRate != null">
seventeen_week_rate = #{seventeenWeekRate,jdbcType=DECIMAL},
</if>
<if test="eighteenWeekRate != null">
eighteen_week_rate = #{eighteenWeekRate,jdbcType=DECIMAL},
</if>
<if test="nineteenWeekRate != null">
nineteen_week_rate = #{nineteenWeekRate,jdbcType=DECIMAL},
</if>
<if test="twentyWeekRate != null">
twenty_week_rate = #{twentyWeekRate,jdbcType=DECIMAL},
</if>
<if test="twentyOneWeekRate != null">
twenty_one_week_rate = #{twentyOneWeekRate,jdbcType=DECIMAL},
</if>
<if test="twentyTwoWeekRate != null">
twenty_two_week_rate = #{twentyTwoWeekRate,jdbcType=DECIMAL},
</if>
<if test="twentyThreeWeekRate != null">
twenty_three_week_rate = #{twentyThreeWeekRate,jdbcType=DECIMAL},
</if>
<if test="twentyFourthWeekRate != null">
twenty_fourth_week_rate = #{twentyFourthWeekRate,jdbcType=DECIMAL},
</if>
<if test="twentyFiveWeekRate != null">
twenty_five_week_rate = #{twentyFiveWeekRate,jdbcType=DECIMAL},
</if>
<if test="twentySixWeekRate != null">
twenty_six_week_rate = #{twentySixWeekRate,jdbcType=DECIMAL},
</if>
<if test="twentySeveneWeekRate != null">
twenty_sevene_week_rate = #{twentySeveneWeekRate,jdbcType=DECIMAL},
</if>
<if test="twentyEightWeekRate != null">
twenty_eight_week_rate = #{twentyEightWeekRate,jdbcType=DECIMAL},
</if>
<if test="twentyNineWeekRate != null">
twenty_nine_week_rate = #{twentyNineWeekRate,jdbcType=DECIMAL},
</if>
<if test="thirtyWeekRate != null">
thirty_week_rate = #{thirtyWeekRate,jdbcType=DECIMAL},
</if>
<if test="thirtyOneWeekRate != null">
thirty_one_week_rate = #{thirtyOneWeekRate,jdbcType=DECIMAL},
</if>
<if test="thirtyTwoWeekRate != null">
thirty_two_week_rate = #{thirtyTwoWeekRate,jdbcType=DECIMAL},
</if>
<if test="thirtyThreeWeekRate != null">
thirty_three_week_rate = #{thirtyThreeWeekRate,jdbcType=DECIMAL},
</if>
<if test="thirtyFourthWeekRate != null">
thirty_fourth_week_rate = #{thirtyFourthWeekRate,jdbcType=DECIMAL},
</if>
<if test="thirtyFiveWeekRate != null">
thirty_five_week_rate = #{thirtyFiveWeekRate,jdbcType=DECIMAL},
</if>
<if test="thirtySixWeekRate != null">
thirty_six_week_rate = #{thirtySixWeekRate,jdbcType=DECIMAL},
</if>
<if test="thirtySeveneWeekRate != null">
thirty_sevene_week_rate = #{thirtySeveneWeekRate,jdbcType=DECIMAL},
</if>
<if test="thirtyEightWeekRate != null">
thirty_eight_week_rate = #{thirtyEightWeekRate,jdbcType=DECIMAL},
</if>
<if test="thirtyNineWeekRate != null">
thirty_nine_week_rate = #{thirtyNineWeekRate,jdbcType=DECIMAL},
</if>
<if test="fortyWeekRate != null">
forty_week_rate = #{fortyWeekRate,jdbcType=DECIMAL},
</if>
<if test="fortyOneWeekRate != null">
forty_one_week_rate = #{fortyOneWeekRate,jdbcType=DECIMAL},
</if>
<if test="fortyTwoWeekRate != null">
forty_two_week_rate = #{fortyTwoWeekRate,jdbcType=DECIMAL},
</if>
<if test="fortyThreeWeekRate != null">
forty_three_week_rate = #{fortyThreeWeekRate,jdbcType=DECIMAL},
</if>
<if test="fortyFourthWeekRate != null">
forty_fourth_week_rate = #{fortyFourthWeekRate,jdbcType=DECIMAL},
</if>
<if test="fortyFiveWeekRate != null">
forty_five_week_rate = #{fortyFiveWeekRate,jdbcType=DECIMAL},
</if>
<if test="fortySixWeekRate != null">
forty_six_week_rate = #{fortySixWeekRate,jdbcType=DECIMAL},
</if>
<if test="fortySeveneWeekRate != null">
forty_sevene_week_rate = #{fortySeveneWeekRate,jdbcType=DECIMAL},
</if>
<if test="fortyEightWeekRate != null">
forty_eight_week_rate = #{fortyEightWeekRate,jdbcType=DECIMAL},
</if>
<if test="fortyNineWeekRate != null">
forty_nine_week_rate = #{fortyNineWeekRate,jdbcType=DECIMAL},
</if>
<if test="fiftyWeekRate != null">
fifty_week_rate = #{fiftyWeekRate,jdbcType=DECIMAL},
</if>
<if test="fiftyOneWeekRate != null">
fifty_one_week_rate = #{fiftyOneWeekRate,jdbcType=DECIMAL},
</if>
<if test="fiftyTwoWeekRate != null">
fifty_two_week_rate = #{fiftyTwoWeekRate,jdbcType=DECIMAL},
</if>
<if test="saleDetail != null">
sale_detail = #{saleDetail,jdbcType=VARCHAR},
</if>
<if test="rateDetail != null">
rate_detail = #{rateDetail,jdbcType=VARCHAR},
</if>
</trim>
</insert>
<insert id="upsert" parameterType="com.bailuntec.domain.entity.DcAutoWeekSales">
<!--
WARNING - @mbg.generated
......
package com.bailuntec.job;
import com.bailuntec.domain.dto.SalesVolumeWeekDTO;
import com.bailuntec.domain.entity.DcAutoWeekSales;
import com.bailuntec.domain.entity.DcBaseWarehouse;
import com.bailuntec.domain.entity.JobPointLog;
import com.bailuntec.domain.example.DcBaseWarehouseExample;
import com.bailuntec.mapper.*;
import com.bailuntec.support.PointJob;
import com.bailuntec.utils.ExceptionUtil;
import com.bailuntec.utils.SessionUtil;
import com.dangdang.ddframe.job.api.ShardingContext;
import com.sun.org.apache.regexp.internal.RE;
import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.lang3.StringUtils;
import java.text.MessageFormat;
import java.util.List;
public class CalculateWarehouseWeekJob extends PointJob {
@Override
public void executeJob(ShardingContext shardingContext, JobPointLog jobPointLog) {
try{
long count = 0;
DcBaseWarehouseMapper dcBaseWarehouseMapper = SessionUtil.getSession().getMapper(DcBaseWarehouseMapper.class);
count = dcBaseWarehouseMapper.countByExample(DcBaseWarehouseExample.newAndCreateCriteria().example());
/*if (StringUtils.isBlank(shardingContext.getJobParameter())) {
count = dcBaseWarehouseMapper.countByExample(DcBaseWarehouseExample.newAndCreateCriteria().example());
} else {
count = dcBaseWarehouseMapper.countByExample(DcBaseWarehouseExample.newAndCreateCriteria().andHqTypeEqualTo(shardingContext.getJobParameter()).example());
}*/
int totalPage = (int)(count % jobPointLog.getPageSize() == 0 ? count/jobPointLog.getPageSize() : count/jobPointLog.getPageSize() + 1);
do{
List<DcBaseWarehouse> dcBaseWarehouses = null;//分页查SKU_仓库
if (jobPointLog.getPageIndex().equals(0)) {
jobPointLog.setPageIndex(totalPage);
}
try {
dcBaseWarehouseMapper = SessionUtil.getSession().getMapper(DcBaseWarehouseMapper.class);
/*if (StringUtils.isBlank(shardingContext.getJobParameter())) {
dcBaseWarehouses = dcBaseWarehouseMapper.selectByExample(DcBaseWarehouseExample.newAndCreateCriteria().example().page(jobPointLog.getPageIndex()*jobPointLog.getPageSize(), jobPointLog.getPageSize()));
}else{
dcBaseWarehouses = dcBaseWarehouseMapper.selectByExample(DcBaseWarehouseExample.newAndCreateCriteria().andHqTypeEqualTo(shardingContext.getJobParameter()).example().page(jobPointLog.getPageIndex()*jobPointLog.getPageSize(), jobPointLog.getPageSize()));
}*/
dcBaseWarehouses = dcBaseWarehouseMapper.selectByExample(DcBaseWarehouseExample.newAndCreateCriteria().example().page(jobPointLog.getPageIndex() - 1, jobPointLog.getPageSize()));
DcAutoSalesMapper autoSalesMapper = null;
if (dcBaseWarehouses != null && dcBaseWarehouses.size() > 0) {
for (DcBaseWarehouse dcBaseWarehouse : dcBaseWarehouses) {
autoSalesMapper = SessionUtil.getSession().getMapper(DcAutoSalesMapper.class);
SalesVolumeWeekDTO salesVolumeWeekDTO = autoSalesMapper.getSalesVolumeWeekDTO("", dcBaseWarehouse.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();
}
}
public void calculateWeekRate(SalesVolumeWeekDTO salesVolumeWeekDTO) {
try{
DcAutoWeekSales dcAutoWeekSales = new DcAutoWeekSales();
DcAutoWeekSalesMapper dcAutoWeekSalesMapper = SessionUtil.getSession().getMapper(DcAutoWeekSalesMapper.class);
BeanUtils.copyProperties(dcAutoWeekSales, salesVolumeWeekDTO);
dcAutoWeekSales.setSaleDetail(salesVolumeWeekDTO.getSalesDetail());
dcAutoWeekSales.setRateDetail(salesVolumeWeekDTO.getRateDetail());
dcAutoWeekSalesMapper.warehouseUpsertSelective(dcAutoWeekSales);
}catch (Exception e){
e.printStackTrace();
}finally {
SessionUtil.closeSession();
}
}
}
......@@ -45,7 +45,7 @@ public class CalculateWeekJob extends PointJob {
if (StringUtils.isBlank(shardingContext.getJobParameter())) {
dcBaseStockList = baseStockMapperFor.listStockById(jobPointLog.getPageIndex()*jobPointLog.getPageSize(), jobPointLog.getPageSize());
}else{
dcBaseStockList = baseStockMapperFor.listStockWarehouseById(jobPointLog.getPageIndex()*jobPointLog.getPageSize(), jobPointLog.getPageSize(), shardingContext.getJobParameter());
dcBaseStockList = baseStockMapperFor.listStockWarehouseById((jobPointLog.getPageIndex() - 1)*jobPointLog.getPageSize(), jobPointLog.getPageSize(), shardingContext.getJobParameter());
}
DcAutoSalesMapper autoSalesMapper = null;
if (dcBaseStockList != null && dcBaseStockList.size() > 0) {
......
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