|
@@ -10,10 +10,14 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.cyksj.common.exception.BusinessRuntimeException;
|
|
import com.cyksj.common.exception.BusinessRuntimeException;
|
|
|
import com.cyksj.mapper.manage.form.*;
|
|
import com.cyksj.mapper.manage.form.*;
|
|
|
import com.cyksj.model.dto.FormTemplateDataDto;
|
|
import com.cyksj.model.dto.FormTemplateDataDto;
|
|
|
-import com.cyksj.model.entity.*;
|
|
|
|
|
|
|
+import com.cyksj.model.entity.FormFields;
|
|
|
|
|
+import com.cyksj.model.entity.FormFieldsDefault;
|
|
|
|
|
+import com.cyksj.model.entity.FormTemplate;
|
|
|
|
|
+import com.cyksj.model.entity.QuestionnairePromotion;
|
|
|
import com.cyksj.model.views.FormSubmitDataView;
|
|
import com.cyksj.model.views.FormSubmitDataView;
|
|
|
import com.cyksj.service.mange.form.FormService;
|
|
import com.cyksj.service.mange.form.FormService;
|
|
|
import com.ejlchina.searcher.BeanSearcher;
|
|
import com.ejlchina.searcher.BeanSearcher;
|
|
|
|
|
+import com.ejlchina.searcher.util.MapBuilder;
|
|
|
import com.ejlchina.searcher.util.MapUtils;
|
|
import com.ejlchina.searcher.util.MapUtils;
|
|
|
import com.google.common.collect.Lists;
|
|
import com.google.common.collect.Lists;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
import lombok.RequiredArgsConstructor;
|
|
@@ -23,6 +27,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
|
|
|
+import java.util.Date;
|
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
@@ -58,7 +63,7 @@ public class FormServiceImpl implements FormService {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
- public void exportQuestionInfo(Long promotionId, String start, String end, HttpServletResponse response) throws Exception {
|
|
|
|
|
|
|
+ public void exportQuestionInfo(Long promotionId, Date start, Date end, HttpServletResponse response) throws Exception {
|
|
|
QuestionnairePromotion promotion = questionnairePromotionMapper.selectById(promotionId);
|
|
QuestionnairePromotion promotion = questionnairePromotionMapper.selectById(promotionId);
|
|
|
if (promotion == null) throw BusinessRuntimeException.getInstance("问卷活动不存在");
|
|
if (promotion == null) throw BusinessRuntimeException.getInstance("问卷活动不存在");
|
|
|
String fileName = promotion.getName();
|
|
String fileName = promotion.getName();
|
|
@@ -68,11 +73,12 @@ public class FormServiceImpl implements FormService {
|
|
|
response.setHeader("Content-disposition",
|
|
response.setHeader("Content-disposition",
|
|
|
"attachment;filename=" + new String(fileName.getBytes("utf-8"), "ISO-8859-1") + ExcelTypeEnum.XLS.getValue());
|
|
"attachment;filename=" + new String(fileName.getBytes("utf-8"), "ISO-8859-1") + ExcelTypeEnum.XLS.getValue());
|
|
|
List<FormFields> formFields = formFieldsMapper.selectList(new LambdaQueryWrapper<FormFields>().eq(FormFields::getTemplateId, promotion.getTemplateId()).orderByAsc(FormFields::getSorted));
|
|
List<FormFields> formFields = formFieldsMapper.selectList(new LambdaQueryWrapper<FormFields>().eq(FormFields::getTemplateId, promotion.getTemplateId()).orderByAsc(FormFields::getSorted));
|
|
|
|
|
+ List<List<String>> data = data(promotionId, formFields, start, end);
|
|
|
EasyExcel.write(response.getOutputStream())
|
|
EasyExcel.write(response.getOutputStream())
|
|
|
// 这里放入动态头
|
|
// 这里放入动态头
|
|
|
.head(head(formFields)).sheet("问卷信息")
|
|
.head(head(formFields)).sheet("问卷信息")
|
|
|
// 当然这里数据也可以用 List<List<String>> 去传入
|
|
// 当然这里数据也可以用 List<List<String>> 去传入
|
|
|
- .doWrite(data(promotionId, formFields));
|
|
|
|
|
|
|
+ .doWrite(data);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -133,9 +139,22 @@ public class FormServiceImpl implements FormService {
|
|
|
return headTitles;
|
|
return headTitles;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- private List<List<String>> data(Long promotionId, List<FormFields> formFields) {
|
|
|
|
|
|
|
+ private List<List<String>> data(Long promotionId, List<FormFields> formFields, Date start, Date end) {
|
|
|
// List<FormFieldsData> fieldsDataList = formFieldsDataMapper.selectList(new LambdaQueryWrapper<FormFieldsData>().eq(FormFieldsData::getPromotionId, promotionId).eq(FormFieldsData::getDeleted, true).orderByAsc(FormFieldsData::getSorted));
|
|
// List<FormFieldsData> fieldsDataList = formFieldsDataMapper.selectList(new LambdaQueryWrapper<FormFieldsData>().eq(FormFieldsData::getPromotionId, promotionId).eq(FormFieldsData::getDeleted, true).orderByAsc(FormFieldsData::getSorted));
|
|
|
- List<FormSubmitDataView> formSubmitDataViews = beanSearcher.searchAll(FormSubmitDataView.class, MapUtils.builder().field(FormSubmitDataView::getPromotionId, promotionId).orderBy(FormSubmitDataView::getSorted).asc().build());
|
|
|
|
|
|
|
+ String timeSql = StrUtil.EMPTY;
|
|
|
|
|
+ if (start != null) {
|
|
|
|
|
+ timeSql += String.format(" and fd.created_time >= '%s'", start);
|
|
|
|
|
+ }
|
|
|
|
|
+ if (end != null) {
|
|
|
|
|
+ timeSql += String.format(" and fd.created_time < '%s'", end);
|
|
|
|
|
+ }
|
|
|
|
|
+ MapBuilder builder = MapUtils.builder()
|
|
|
|
|
+ .field(FormSubmitDataView::getPromotionId, promotionId)
|
|
|
|
|
+ .orderBy(FormSubmitDataView::getSorted).asc();
|
|
|
|
|
+ if (StrUtil.isNotBlank(timeSql)) {
|
|
|
|
|
+ builder.put("time_sql", timeSql);
|
|
|
|
|
+ }
|
|
|
|
|
+ List<FormSubmitDataView> formSubmitDataViews = beanSearcher.searchAll(FormSubmitDataView.class, builder.build());
|
|
|
if (formSubmitDataViews.isEmpty()) {
|
|
if (formSubmitDataViews.isEmpty()) {
|
|
|
throw BusinessRuntimeException.getInstance("暂无数据");
|
|
throw BusinessRuntimeException.getInstance("暂无数据");
|
|
|
}
|
|
}
|