15 changed files with 464 additions and 4 deletions
@ -0,0 +1,30 @@ |
|||||
|
package com.yxt.supervise.report.api.dailysalesreport; |
||||
|
|
||||
|
import com.baomidou.mybatisplus.annotation.TableName; |
||||
|
import io.swagger.annotations.ApiModel; |
||||
|
import lombok.Data; |
||||
|
|
||||
|
/** |
||||
|
* @author wangpengfei |
||||
|
* @date 2023/9/6 11:35 |
||||
|
*/ |
||||
|
@ApiModel(value = "每日销售日报表", description = "每日销售日报表") |
||||
|
@TableName("daily_sales_report") |
||||
|
@Data |
||||
|
public class DailySalesReport { |
||||
|
private String id; |
||||
|
private String sid; |
||||
|
//联网连锁店销售总额
|
||||
|
private double lwlsdTotalSales; |
||||
|
//连锁内加盟
|
||||
|
private double lsnjnTotalSales; |
||||
|
//配送中心
|
||||
|
private double pszxTotalSales; |
||||
|
//连锁外加盟
|
||||
|
private double lswjmTotalSales; |
||||
|
//36524集团报烟门店仓
|
||||
|
private double bymdcTotalSales; |
||||
|
//烟草连锁外加盟
|
||||
|
private double yclswjmTotalSales; |
||||
|
private String orderDate; |
||||
|
} |
@ -0,0 +1,21 @@ |
|||||
|
package com.yxt.supervise.report.api.dailysalesreport; |
||||
|
|
||||
|
import com.yxt.common.core.dto.Dto; |
||||
|
import lombok.Data; |
||||
|
|
||||
|
/** |
||||
|
* @author wangpengfei |
||||
|
* @date 2023/9/6 11:35 |
||||
|
*/ |
||||
|
@Data |
||||
|
public class DailySalesReportDto implements Dto { |
||||
|
private String id; |
||||
|
private String sid; |
||||
|
private double lwlsdTotalSales; |
||||
|
private double lsnjnTotalSales; |
||||
|
private String pszxTotalSales; |
||||
|
private String lswjmTotalSales; |
||||
|
private String bymdcTotalSales; |
||||
|
private String yclswjmTotalSales; |
||||
|
private String orderDate; |
||||
|
} |
@ -0,0 +1,23 @@ |
|||||
|
package com.yxt.supervise.report.api.dailysalesreport; |
||||
|
|
||||
|
import com.yxt.common.core.query.Query; |
||||
|
import lombok.Data; |
||||
|
|
||||
|
/** |
||||
|
* @author wangpengfei |
||||
|
* @date 2023/9/6 11:35 |
||||
|
*/ |
||||
|
@Data |
||||
|
public class DailySalesReportQuery implements Query { |
||||
|
private String id; |
||||
|
private String sid; |
||||
|
private double lwlsdTotalSales; |
||||
|
private double lsnjnTotalSales; |
||||
|
private String pszxTotalSales; |
||||
|
private String lswjmTotalSales; |
||||
|
private String bymdcTotalSales; |
||||
|
private String yclswjmTotalSales; |
||||
|
private String orderDate; |
||||
|
private String endDate; |
||||
|
private String startDate; |
||||
|
} |
@ -0,0 +1,21 @@ |
|||||
|
package com.yxt.supervise.report.api.dailysalesreport; |
||||
|
|
||||
|
import com.yxt.common.core.vo.Vo; |
||||
|
import lombok.Data; |
||||
|
|
||||
|
/** |
||||
|
* @author wangpengfei |
||||
|
* @date 2023/9/6 11:35 |
||||
|
*/ |
||||
|
@Data |
||||
|
public class DailySalesReportVo implements Vo { |
||||
|
private String id; |
||||
|
private String sid; |
||||
|
private double lwlsdTotalSales; |
||||
|
private double lsnjnTotalSales; |
||||
|
private String pszxTotalSales; |
||||
|
private String lswjmTotalSales; |
||||
|
private String bymdcTotalSales; |
||||
|
private String yclswjmTotalSales; |
||||
|
private String orderDate; |
||||
|
} |
@ -0,0 +1,13 @@ |
|||||
|
package com.yxt.supervise.report.api.dailysalesreport; |
||||
|
|
||||
|
import lombok.Data; |
||||
|
|
||||
|
/** |
||||
|
* @author wangpengfei |
||||
|
* @date 2023/9/6 14:36 |
||||
|
*/ |
||||
|
@Data |
||||
|
public class FinancialData { |
||||
|
private String totalPrice; |
||||
|
private String name; |
||||
|
} |
@ -0,0 +1,15 @@ |
|||||
|
package com.yxt.supervise.report.api.dailysalesreport; |
||||
|
|
||||
|
import lombok.Data; |
||||
|
|
||||
|
/** |
||||
|
* @author wangpengfei |
||||
|
* @date 2023/9/6 14:37 |
||||
|
*/ |
||||
|
@Data |
||||
|
public class ListSalesChannelData { |
||||
|
private String deductionAccountsReceivable; |
||||
|
private String salesChannelCategory; |
||||
|
private String totalAmount; |
||||
|
private String accountsReceivable; |
||||
|
} |
@ -0,0 +1,11 @@ |
|||||
|
package com.yxt.supervise.report.api.dailysalesreport; |
||||
|
|
||||
|
import lombok.Data; |
||||
|
|
||||
|
/** |
||||
|
* @author wangpengfei |
||||
|
* @date 2023/9/6 14:39 |
||||
|
*/ |
||||
|
@Data |
||||
|
public class financialAnalysisChartData { |
||||
|
} |
@ -0,0 +1,25 @@ |
|||||
|
package com.yxt.supervise.report.biz.dailysalesreport; |
||||
|
|
||||
|
import com.baomidou.mybatisplus.core.conditions.Wrapper; |
||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||
|
import com.baomidou.mybatisplus.core.toolkit.Constants; |
||||
|
import com.yxt.supervise.report.api.dailysalesreport.DailySalesReport; |
||||
|
import com.yxt.supervise.report.api.dailysalesreport.DailySalesReportVo; |
||||
|
import org.apache.ibatis.annotations.Delete; |
||||
|
import org.apache.ibatis.annotations.Mapper; |
||||
|
import org.apache.ibatis.annotations.Param; |
||||
|
import org.apache.ibatis.annotations.Select; |
||||
|
import org.springframework.stereotype.Service; |
||||
|
|
||||
|
import java.util.List; |
||||
|
import java.util.Map; |
||||
|
|
||||
|
/** |
||||
|
* @author wangpengfei |
||||
|
* @date 2023/9/6 13:40 |
||||
|
*/ |
||||
|
@Mapper |
||||
|
public interface DailySalesReportMapper extends BaseMapper<DailySalesReport> { |
||||
|
@Select("select * from daily_sales_report") |
||||
|
List<DailySalesReport> getSalesByDate(); |
||||
|
} |
@ -0,0 +1,8 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8" ?> |
||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
||||
|
<mapper namespace="com.yxt.supervise.report.biz.dailysalesreport.DailySalesReportMapper"> |
||||
|
<!-- <where> ${ew.sqlSegment} </where>--> |
||||
|
<!-- ${ew.customSqlSegment} --> |
||||
|
|
||||
|
|
||||
|
</mapper> |
@ -0,0 +1,41 @@ |
|||||
|
package com.yxt.supervise.report.biz.dailysalesreport; |
||||
|
|
||||
|
import com.yxt.common.core.query.PagerQuery; |
||||
|
import com.yxt.common.core.result.ResultBean; |
||||
|
import com.yxt.supervise.report.api.dailysalesreport.DailySalesReportDto; |
||||
|
import com.yxt.supervise.report.api.dailysalesreport.DailySalesReportQuery; |
||||
|
import com.yxt.supervise.report.api.dailysalesreport.DailySalesReportVo; |
||||
|
import org.springframework.beans.factory.annotation.Autowired; |
||||
|
import org.springframework.web.bind.annotation.*; |
||||
|
|
||||
|
import java.text.ParseException; |
||||
|
import java.util.List; |
||||
|
|
||||
|
/** |
||||
|
* @author wangpengfei |
||||
|
* @date 2023/4/21 11:18 |
||||
|
*/ |
||||
|
@RestController |
||||
|
@RequestMapping("/DailySalesReport") |
||||
|
public class DailySalesReportRest { |
||||
|
|
||||
|
@Autowired |
||||
|
DailySalesReportService DailySalesReportService; |
||||
|
|
||||
|
@PostMapping("/saveSales") |
||||
|
public ResultBean<DailySalesReportVo> saveSales(@RequestParam("orderDate") String orderDate){ |
||||
|
ResultBean rb = ResultBean.fireFail(); |
||||
|
return DailySalesReportService.saveSales(orderDate); |
||||
|
} |
||||
|
@PostMapping("/getSalesByDate") |
||||
|
public ResultBean<DailySalesReportVo> getSalesByDate(@RequestBody DailySalesReportQuery pq){ |
||||
|
ResultBean rb = ResultBean.fireFail(); |
||||
|
return DailySalesReportService.getSalesByDate(pq); |
||||
|
} |
||||
|
@PostMapping("/test") |
||||
|
public ResultBean test( ) throws ParseException { |
||||
|
ResultBean rb = ResultBean.fireFail(); |
||||
|
DailySalesReportService.test(); |
||||
|
return rb; |
||||
|
} |
||||
|
} |
@ -0,0 +1,164 @@ |
|||||
|
package com.yxt.supervise.report.biz.dailysalesreport; |
||||
|
|
||||
|
import cn.hutool.core.date.DateUtil; |
||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
||||
|
import com.yxt.common.base.service.MybatisBaseService; |
||||
|
import com.yxt.common.core.result.ResultBean; |
||||
|
import com.yxt.supervise.report.api.dailysalesreport.DailySalesReport; |
||||
|
import com.yxt.supervise.report.api.dailysalesreport.DailySalesReportQuery; |
||||
|
import com.yxt.supervise.report.api.dailysalesreport.FinancialData; |
||||
|
import com.yxt.supervise.report.api.dailysalesreport.ListSalesChannelData; |
||||
|
import com.yxt.supervise.report.ds.supplychain.SupplyChainMapper; |
||||
|
import org.junit.Test; |
||||
|
import org.springframework.beans.factory.annotation.Autowired; |
||||
|
import org.springframework.stereotype.Service; |
||||
|
|
||||
|
import javax.annotation.PostConstruct; |
||||
|
import java.text.ParseException; |
||||
|
import java.text.SimpleDateFormat; |
||||
|
import java.util.*; |
||||
|
|
||||
|
/** |
||||
|
* @author wangpengfei |
||||
|
* @date 2023/4/21 11:18 |
||||
|
*/ |
||||
|
@Service |
||||
|
public class DailySalesReportService extends MybatisBaseService<DailySalesReportMapper, DailySalesReport> { |
||||
|
@Autowired |
||||
|
SupplyChainMapper supplyChainMapper; |
||||
|
|
||||
|
|
||||
|
public ResultBean saveSales(String orderDate) { |
||||
|
ResultBean rb=new ResultBean(); |
||||
|
DailySalesReport dailySalesReport=new DailySalesReport(); |
||||
|
dailySalesReport.setSid(UUID.randomUUID().toString()); |
||||
|
double lwlsd=supplyChainMapper.amountOfLsdOnDay(orderDate); |
||||
|
dailySalesReport.setLwlsdTotalSales(lwlsd); |
||||
|
|
||||
|
double lsnjn=supplyChainMapper.amountOfLsnjmOnDay(orderDate); |
||||
|
dailySalesReport.setLsnjnTotalSales(lsnjn); |
||||
|
|
||||
|
double pszx=supplyChainMapper.amountOfPszxDay(orderDate); |
||||
|
dailySalesReport.setPszxTotalSales(pszx); |
||||
|
|
||||
|
double lswjm=supplyChainMapper.amountOfLswjmDay(orderDate); |
||||
|
dailySalesReport.setLswjmTotalSales(lswjm); |
||||
|
|
||||
|
double bymdc=supplyChainMapper.amountOfYcDay(orderDate); |
||||
|
dailySalesReport.setBymdcTotalSales(bymdc); |
||||
|
|
||||
|
double yclsw=supplyChainMapper.amountOfDayJmd(orderDate); |
||||
|
dailySalesReport.setYclswjmTotalSales(yclsw); |
||||
|
dailySalesReport.setOrderDate(orderDate); |
||||
|
baseMapper.insert(dailySalesReport); |
||||
|
return rb; |
||||
|
} |
||||
|
|
||||
|
public ResultBean getSalesByDate(DailySalesReportQuery pq) { |
||||
|
ResultBean rb=new ResultBean<>(); |
||||
|
List<DailySalesReport> dailySalesReports=baseMapper.getSalesByDate(); |
||||
|
List<List<String>> financialAnalysisChartData=convert(dailySalesReports); |
||||
|
Map<String,Object> map=new HashMap<>(); |
||||
|
map.put("financialAnalysisChartData",financialAnalysisChartData); |
||||
|
List<ListSalesChannelData> listSalesChannelData=salesChanne(pq.getOrderDate()); |
||||
|
map.put("listSalesChannelData",listSalesChannelData); |
||||
|
// List<FinancialData> financialData=new ArrayList<>();
|
||||
|
// FinancialData financialData1=new FinancialData();
|
||||
|
// financialData1.setName("销售商品收到的现金(元)");
|
||||
|
// financialData1.setTotalPrice("637774.16");
|
||||
|
// FinancialData financialData2=new FinancialData();
|
||||
|
// financialData2.setName("销售商品收到的现金(元)");
|
||||
|
// financialData2.setTotalPrice("637774.16");
|
||||
|
// financialData.add(financialData1);
|
||||
|
// financialData.add(financialData2);
|
||||
|
// map.put("financialData",financialData);
|
||||
|
return rb.success().setData(map); |
||||
|
} |
||||
|
public List<ListSalesChannelData> salesChanne(String orderDate){ |
||||
|
List<ListSalesChannelData> list=new ArrayList<>(); |
||||
|
double lwlsdTotalSales=baseMapper.selectOne(new QueryWrapper<DailySalesReport>().eq("orderDate",orderDate)).getLwlsdTotalSales(); |
||||
|
ListSalesChannelData lwlsd=new ListSalesChannelData(); |
||||
|
lwlsd.setDeductionAccountsReceivable(String.valueOf(lwlsdTotalSales)); |
||||
|
lwlsd.setSalesChannelCategory("连网连锁店"); |
||||
|
lwlsd.setTotalAmount(String.valueOf(lwlsdTotalSales)); |
||||
|
lwlsd.setAccountsReceivable("0"); |
||||
|
double lsnjnTotalSales=baseMapper.selectOne(new QueryWrapper<DailySalesReport>().eq("orderDate",orderDate)).getLsnjnTotalSales(); |
||||
|
ListSalesChannelData lsnjn=new ListSalesChannelData(); |
||||
|
lsnjn.setDeductionAccountsReceivable(String.valueOf(lsnjnTotalSales)); |
||||
|
lsnjn.setSalesChannelCategory("连锁内加盟"); |
||||
|
lsnjn.setTotalAmount(String.valueOf(lsnjnTotalSales)); |
||||
|
lsnjn.setAccountsReceivable("0"); |
||||
|
double pszxTotalSales=baseMapper.selectOne(new QueryWrapper<DailySalesReport>().eq("orderDate",orderDate)).getPszxTotalSales(); |
||||
|
ListSalesChannelData pszx=new ListSalesChannelData(); |
||||
|
pszx.setDeductionAccountsReceivable(String.valueOf(pszxTotalSales)); |
||||
|
pszx.setSalesChannelCategory("配送中心"); |
||||
|
pszx.setTotalAmount(String.valueOf(pszxTotalSales)); |
||||
|
pszx.setAccountsReceivable("0"); |
||||
|
double lswjmTotalSales=baseMapper.selectOne(new QueryWrapper<DailySalesReport>().eq("orderDate",orderDate)).getLswjmTotalSales(); |
||||
|
ListSalesChannelData lswjm=new ListSalesChannelData(); |
||||
|
lswjm.setDeductionAccountsReceivable(String.valueOf(lswjmTotalSales)); |
||||
|
lswjm.setSalesChannelCategory("连锁外加盟"); |
||||
|
lswjm.setTotalAmount(String.valueOf(lswjmTotalSales)); |
||||
|
lswjm.setAccountsReceivable("0"); |
||||
|
double bymdcTotalSales=baseMapper.selectOne(new QueryWrapper<DailySalesReport>().eq("orderDate",orderDate)).getBymdcTotalSales(); |
||||
|
ListSalesChannelData bymdc=new ListSalesChannelData(); |
||||
|
bymdc.setDeductionAccountsReceivable(String.valueOf(bymdcTotalSales)); |
||||
|
bymdc.setSalesChannelCategory("36524集团报烟门店仓"); |
||||
|
bymdc.setTotalAmount(String.valueOf(bymdcTotalSales)); |
||||
|
bymdc.setAccountsReceivable("0"); |
||||
|
double yclswjmTotalSales=baseMapper.selectOne(new QueryWrapper<DailySalesReport>().eq("orderDate",orderDate)).getYclswjmTotalSales(); |
||||
|
ListSalesChannelData yclswjm=new ListSalesChannelData(); |
||||
|
yclswjm.setDeductionAccountsReceivable(String.valueOf(yclswjmTotalSales)); |
||||
|
yclswjm.setSalesChannelCategory("烟草连锁外加盟"); |
||||
|
yclswjm.setTotalAmount(String.valueOf(yclswjmTotalSales)); |
||||
|
yclswjm.setAccountsReceivable("0"); |
||||
|
list.add(lwlsd); |
||||
|
list.add(lsnjn); |
||||
|
list.add(pszx); |
||||
|
list.add(lswjm); |
||||
|
list.add(bymdc); |
||||
|
list.add(yclswjm); |
||||
|
return list; |
||||
|
} |
||||
|
public List<List<String>> convert(List<DailySalesReport> list){ |
||||
|
List<List<String>> lists=new ArrayList<>(); |
||||
|
List<String> date=new ArrayList<>(); |
||||
|
date.add("日期"); |
||||
|
date.add("连网连锁店"); |
||||
|
date.add("连锁内加盟"); |
||||
|
date.add("配送中心"); |
||||
|
date.add("连锁外加盟"); |
||||
|
date.add("36524集团报烟门店仓"); |
||||
|
date.add("烟草连锁外加盟"); |
||||
|
lists.add(date); |
||||
|
for(DailySalesReport dailySalesReport:list){ |
||||
|
date.add(dailySalesReport.getOrderDate()); |
||||
|
date.add(String.valueOf(dailySalesReport.getLwlsdTotalSales())); |
||||
|
date.add(String.valueOf(dailySalesReport.getLsnjnTotalSales())); |
||||
|
date.add(String.valueOf(dailySalesReport.getPszxTotalSales())); |
||||
|
date.add(String.valueOf(dailySalesReport.getLswjmTotalSales())); |
||||
|
date.add(String.valueOf(dailySalesReport.getBymdcTotalSales())); |
||||
|
date.add(String.valueOf(dailySalesReport.getYclswjmTotalSales())); |
||||
|
} |
||||
|
return lists; |
||||
|
} |
||||
|
|
||||
|
public boolean test() throws ParseException { |
||||
|
SimpleDateFormat ft = new SimpleDateFormat("yyyy-MM-dd"); |
||||
|
//String date=ft.format(new Date()-1);
|
||||
|
//昨天时间
|
||||
|
Date date= DateUtil.yesterday(); |
||||
|
//结束时间
|
||||
|
String d="2023-07-01"; |
||||
|
Date date1=ft.parse(d); |
||||
|
while (date1.before(date)){ |
||||
|
Calendar calendar = Calendar.getInstance(); |
||||
|
calendar.setTime(date); |
||||
|
calendar.add(Calendar.DAY_OF_MONTH, -1); |
||||
|
date = calendar.getTime(); |
||||
|
System.out.println(ft.format(date)); |
||||
|
saveSales(ft.format(date)); |
||||
|
} |
||||
|
return true; |
||||
|
} |
||||
|
} |
@ -0,0 +1,40 @@ |
|||||
|
package com.yxt.supervise.report.ds.supplychain; |
||||
|
|
||||
|
import com.baomidou.dynamic.datasource.annotation.DS; |
||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||
|
import com.yxt.supervise.report.ds.rms.RiskAlarm; |
||||
|
import org.apache.ibatis.annotations.Mapper; |
||||
|
import org.apache.ibatis.annotations.Param; |
||||
|
import org.apache.ibatis.annotations.Select; |
||||
|
|
||||
|
/** |
||||
|
* @author wangpengfei |
||||
|
* @date 2023/9/6 14:05 |
||||
|
*/ |
||||
|
@DS("supplychain") |
||||
|
@Mapper |
||||
|
public interface SupplyChainMapper extends BaseMapper<RiskAlarm> { |
||||
|
@Select("select CONVERT(IFNULL(sum(saleNum*salePrice),0),DECIMAL(12,2)) as amount from ( " + |
||||
|
" select gs.saleNum,gs.salePrice from gd_sales gs left join store_index si on gs.storeCode=si.code " + |
||||
|
" where gs.dataDate=#{dataDate} and si.`type` ='连网连锁店' ) t ") |
||||
|
double amountOfLsdOnDay(@Param("dataDate") String orderDate); |
||||
|
|
||||
|
@Select("select CONVERT(IFNULL(sum(saleNum*salePrice),0),DECIMAL(12,2)) as amount from ( " + |
||||
|
" select gs.saleNum,gs.salePrice from gd_sales gs left join store_index si on gs.storeCode=si.code " + |
||||
|
" where gs.dataDate=#{dataDate} and si.`type` ='连锁内加盟' ) t ") |
||||
|
double amountOfLsnjmOnDay(@Param("dataDate") String orderDate); |
||||
|
|
||||
|
@Select("SELECT CONVERT(IFNULL(sum(saleNum*salePrice),0),DECIMAL(12,2)) as amount FROM gd_wholesale where dataDate=#{dataDate} ") |
||||
|
double amountOfPszxDay(String orderDate); |
||||
|
|
||||
|
@Select("SELECT CONVERT(IFNULL(sum(colq16),0),DECIMAL(12,2)) as amount FROM gd_instorage_jmd where orderDate=#{orderDate} ") |
||||
|
double amountOfLswjmDay(@Param("orderDate") String orderDate); |
||||
|
|
||||
|
@Select("SELECT CONVERT(IFNULL(sum(saleNum*salePrice),0),DECIMAL(12,2)) as amount FROM gd_sales_yc where dataDate=#{dataDate}") |
||||
|
double amountOfYcDay(@Param("dataDate") String orderDate); |
||||
|
|
||||
|
@Select("select CONVERT(IFNULL(sum(t.colq16),0),DECIMAL(12,2)) as amount from ( " + |
||||
|
" select gig.* from gd_instorage_yc gig left join store_index si on gig.colb1=si.code " + |
||||
|
" where gig.orderDate=#{orderDate} and (si.`type` ='连锁外加盟(销配结算)' OR si.`type` ='连锁外加盟(销配结算)' ) ) t ") |
||||
|
double amountOfDayJmd(@Param("orderDate") String orderDate); |
||||
|
} |
@ -0,0 +1,51 @@ |
|||||
|
package com.yxt.supervise.report.biz.dailysalesreport; |
||||
|
|
||||
|
import cn.hutool.Hutool; |
||||
|
import cn.hutool.core.date.DateUtil; |
||||
|
import com.yxt.supervise.report.biz.messagepushlog.MessagePushLogService; |
||||
|
import com.yxt.supervise.report.wx.SuperviseWxMessSender; |
||||
|
import junit.framework.TestCase; |
||||
|
import org.springframework.beans.factory.annotation.Autowired; |
||||
|
import org.springframework.stereotype.Component; |
||||
|
|
||||
|
import javax.annotation.PostConstruct; |
||||
|
import java.text.ParseException; |
||||
|
import java.text.SimpleDateFormat; |
||||
|
import java.util.Calendar; |
||||
|
import java.util.Date; |
||||
|
|
||||
|
/** |
||||
|
* @author wangpengfei |
||||
|
* @date 2023/9/6 15:18 |
||||
|
*/ |
||||
|
@Component |
||||
|
public class DailySalesReportServiceTest extends TestCase { |
||||
|
@Autowired |
||||
|
private DailySalesReportService dailySalesReportService; |
||||
|
|
||||
|
public static DailySalesReportServiceTest dailySalesReportServiceTest; |
||||
|
@PostConstruct // 初始化
|
||||
|
public void init(){ |
||||
|
dailySalesReportServiceTest= this; |
||||
|
dailySalesReportServiceTest.dailySalesReportService= this.dailySalesReportService; |
||||
|
} |
||||
|
|
||||
|
public void test() throws ParseException { |
||||
|
SimpleDateFormat ft = new SimpleDateFormat("yyyy-MM-dd"); |
||||
|
//String date=ft.format(new Date()-1);
|
||||
|
//昨天时间
|
||||
|
Date date= DateUtil.yesterday(); |
||||
|
//结束时间
|
||||
|
String d="2023-07-01"; |
||||
|
Date date1=ft.parse(d); |
||||
|
while (date1.before(date)){ |
||||
|
Calendar calendar = Calendar.getInstance(); |
||||
|
calendar.setTime(date); |
||||
|
calendar.add(Calendar.DAY_OF_MONTH, -1); |
||||
|
date = calendar.getTime(); |
||||
|
System.out.println(ft.format(date)); |
||||
|
dailySalesReportService.saveSales(ft.format(date)); |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
} |
Loading…
Reference in new issue