package com.mes.largenscreen.service.impl;
|
|
import com.alibaba.excel.EasyExcel;
|
import com.alibaba.excel.support.ExcelTypeEnum;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.mes.largenscreen.entity.DailyProductionData;
|
import com.mes.largenscreen.entity.DailyProductionVO;
|
import com.mes.largenscreen.entity.DateRequest;
|
import com.mes.largenscreen.mapper.LargenScreenMapper;
|
import com.mes.largenscreen.service.LargenScreenService;
|
import com.mes.tools.PageUtil;
|
import com.mes.utils.excel.ExcelMergeStrategy;
|
import com.mes.utils.excel.ExcelUtil;
|
import org.springframework.stereotype.Service;
|
import org.springframework.util.StringUtils;
|
|
import javax.annotation.Resource;
|
import javax.servlet.http.HttpServletResponse;
|
import java.io.IOException;
|
import java.text.SimpleDateFormat;
|
import java.util.Calendar;
|
import java.util.Date;
|
import java.util.List;
|
|
/**
|
* @Author : zhoush
|
* @Date: 2025/3/12 14:28
|
* @Description:
|
*/
|
@Service
|
public class LargenScreenServiceImpl implements LargenScreenService {
|
|
@Resource
|
private LargenScreenMapper largenScreenMapper;
|
@Resource
|
private HttpServletResponse response;
|
|
@Override
|
public Page<DailyProductionVO> queryDailyProduction(DateRequest query) {
|
if (StringUtils.isEmpty(query.getBeginDate())) {
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
query.setBeginDate(sdf.format(new Date()));
|
query.setEndDate(sdf.format(new Date()));
|
}
|
List<DailyProductionVO> list = largenScreenMapper.queryDailyProduction(query.getBeginDate(), query.getEndDate());
|
return (Page<DailyProductionVO>) PageUtil.listToPage(list, query.getPageNo(), query.getPageSize());
|
}
|
|
@Override
|
public List<DailyProductionVO> querySameDayProduction(DateRequest query) {
|
if (StringUtils.isEmpty(query.getBeginDate())) {
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
Calendar calendar = Calendar.getInstance();
|
calendar.add(Calendar.DAY_OF_MONTH, -6);
|
query.setBeginDate(sdf.format(calendar.getTime()));
|
query.setEndDate(sdf.format(new Date()));
|
}
|
List<DailyProductionVO> list = largenScreenMapper.queryDailyProduction(query.getBeginDate(), query.getEndDate());
|
return list;
|
}
|
|
@Override
|
public void exportDailyProduction(DateRequest query) {
|
try {
|
if (StringUtils.isEmpty(query.getBeginDate())) {
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
Calendar calendar = Calendar.getInstance();
|
calendar.add(Calendar.DAY_OF_MONTH, -6);
|
query.setBeginDate(sdf.format(calendar.getTime()));
|
query.setEndDate(sdf.format(new Date()));
|
}
|
ExcelUtil.setExcelResponseProp(response, "供应商列表-合并");
|
List<DailyProductionData> providerList = largenScreenMapper.exportDailyProduction(query.getBeginDate(), query.getEndDate());
|
EasyExcel.write(response.getOutputStream())
|
.head(DailyProductionData.class)
|
.registerWriteHandler(new ExcelMergeStrategy(DailyProductionData.class))
|
.excelType(ExcelTypeEnum.XLSX).sheet().doWrite(providerList);
|
} catch (IOException e) {
|
throw new RuntimeException(e);
|
}
|
}
|
|
@Override
|
public List<DailyProductionData> queryProduction(DateRequest query) {
|
if (StringUtils.isEmpty(query.getBeginDate())) {
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
Calendar calendar = Calendar.getInstance();
|
calendar.add(Calendar.DAY_OF_MONTH, -6);
|
query.setBeginDate(sdf.format(calendar.getTime()));
|
query.setEndDate(sdf.format(new Date()));
|
}
|
return largenScreenMapper.exportDailyProduction(query.getBeginDate(), query.getEndDate());
|
|
|
}
|
|
|
}
|