|
@@ -114,6 +114,8 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
|
@Resource
|
|
|
private ReportLogDetailMapper reportLogDetailMapper;
|
|
|
@Resource
|
|
|
+ private FinanceFixedcolnameService financeFixedcolnameService;
|
|
|
+ @Resource
|
|
|
private CompanyDingdingService companyDingdingService;
|
|
|
@Resource
|
|
|
private ReportBatchMapper reportBatchMapper;
|
|
@@ -134,6 +136,8 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
|
@Resource
|
|
|
private ReportLogService reportLogService;
|
|
|
@Resource
|
|
|
+ private FinanceTblcuscolMapper financeTblcuscolMapper;
|
|
|
+ @Resource
|
|
|
ReportExtraDegreeMapper reportExtraDegreeMapper;
|
|
|
@Resource
|
|
|
WxCorpInfoService wxCorpInfoService;
|
|
@@ -241,14 +245,13 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
|
@Value(value = "${upload.path}")
|
|
|
private String path;
|
|
|
@Autowired
|
|
|
- private BusinessTripMapper businessTripMapper;
|
|
|
- @Autowired
|
|
|
private BustripProjectMapper bustripProjectMapper;
|
|
|
@Resource
|
|
|
private CompanyDingdingMapper companyDingdingMapper;
|
|
|
@Resource
|
|
|
private SysRoleFunctionService sysRoleFunctionService;
|
|
|
- private DingDingService dingDingService;
|
|
|
+ @Resource
|
|
|
+ private FinanceMapper financeMapper;
|
|
|
|
|
|
|
|
|
//获取报告列表
|
|
@@ -5802,7 +5805,6 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
|
if (company.getId() == 469) {
|
|
|
report.setState(0);//待审核员审核
|
|
|
//赛元都是非项目,直接取员工所属部门的主要负责人来审核,如果设置了非项目审核人,优先用非项目审核人
|
|
|
- int mode = 0;
|
|
|
String superiorId = user.getSuperiorId();
|
|
|
if (superiorId == null) {
|
|
|
Department department = departmentMapper.selectById(reportCreator.getDepartmentId());
|
|
@@ -5817,6 +5819,21 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
|
new QueryWrapper<AuditWorkflowTimeSetting>().eq("dept_id", reportCreator.getDepartmentId()).orderByAsc("seq"));
|
|
|
List<Department> allDeptList = departmentMapper.selectList(new QueryWrapper<Department>().eq("company_id", reportCreator.getCompanyId()));
|
|
|
setReportWorkflowAuditor(auditWorkflowList, allDeptList, report,timeType);
|
|
|
+ } if (company.getId() == 7544){
|
|
|
+ //加力,按照设置的审核模式审核:普通员工到项目经理,项目经理到指定审核人
|
|
|
+ report.setState(0);//待审核员审核
|
|
|
+ String projectAuditorId;
|
|
|
+ if (company.getNonProjectSimple() == 1 && project.getIsPublic() == 1) {
|
|
|
+ //非项目,由公司副总审核
|
|
|
+ projectAuditorId = timeType.getThirdAuditor();
|
|
|
+ } else {
|
|
|
+ projectAuditorId = project.getInchargerId();
|
|
|
+ if (report.getCreatorId().equals(projectAuditorId)) {
|
|
|
+ //自己担任项目经理的情况下,由公司副总审核
|
|
|
+ projectAuditorId = timeType.getThirdAuditor();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ report.setProjectAuditorId(projectAuditorId);
|
|
|
} else {
|
|
|
if (timeType.getNeedDeptAudit() == 0) {
|
|
|
report.setState(1);//导入的直接算审核通过
|
|
@@ -5825,7 +5842,6 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
|
report.setDepartmentAuditState(1);//部门已审核,到上层领导审核
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
report.setCreateDate(LocalDate.parse(reportDate, dtf));
|
|
|
report.setCost(reportCreator.getCost()==null?new BigDecimal(0) : reportCreator.getCost().multiply(new BigDecimal(time)));
|
|
|
if (notAllowedOnNonWorkday == 1 && WorkDayCalculateUtils.isWorkDay(report.getCreateDate()) == false) {
|
|
@@ -6550,18 +6566,17 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
|
titles.add(MessageUtils.message("excel.auditTime"));
|
|
|
titles.add(MessageUtils.message("excel.auditProcess"));
|
|
|
}else {
|
|
|
- titles.add(MessageUtils.message("excel.fillTime"));
|
|
|
titles.add("项目经理");
|
|
|
}
|
|
|
|
|
|
|
|
|
// logDetails = reportLogDetailMapper.selectList(new QueryWrapper<ReportLogDetail>().select("report_id, msg, operator_id, operate_date").eq("company_id", company.getId()).between("work_date", startDate, endDate));
|
|
|
}
|
|
|
- if (exportType==0) {
|
|
|
+ if (exportType==0 || companyId == 1071) {//物奇需要工作事项
|
|
|
//titles.add("工作事项");
|
|
|
titles.add(MessageUtils.message("excel.workItems"));
|
|
|
}
|
|
|
- if(stateKey==1 || stateKey==0 || stateKey==2){
|
|
|
+ if(exportType==0 && (stateKey==1 || stateKey==0 || stateKey==2)){
|
|
|
//titles.add("审核状态");
|
|
|
titles.add(MessageUtils.message("excel.auditStatus"));
|
|
|
}
|
|
@@ -6574,7 +6589,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
|
titles.add(MessageUtils.message("excel.reviewProcessStatus"));
|
|
|
}
|
|
|
//新版按周填报增加周总结
|
|
|
- if (timeType.getEnableNewWeeklyfill() == 1) {
|
|
|
+ if (timeType.getEnableNewWeeklyfill() == 1 && exportType==0) {
|
|
|
//titles.add("周总结");
|
|
|
titles.add(MessageUtils.message("excel.weekSummary"));
|
|
|
}
|
|
@@ -6947,8 +6962,8 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
|
item.add(map.get("stage") != null?map.get("stage").toString():"");
|
|
|
}
|
|
|
if (timeType.getShowFillauditTime() == 1) {
|
|
|
- item.add(sdf.format((Date)map.get("time")));
|
|
|
if (exportType==0){
|
|
|
+ item.add(sdf.format((Date)map.get("time")));
|
|
|
if(needCorpWxTranslate){
|
|
|
String projectAuditorName ="$userName="+String.valueOf(map.get("projectAuditorCorpwxUserId"))+"$";
|
|
|
item.add(projectAuditorName);
|
|
@@ -7079,10 +7094,10 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
|
item.add(sb.toString());
|
|
|
}
|
|
|
}
|
|
|
- if (exportType==0) {
|
|
|
+ if (exportType==0 || companyId == 1071) {
|
|
|
item.add((String) map.get("content"));
|
|
|
}
|
|
|
- if(stateKey==1 || stateKey ==0 || stateKey==2){
|
|
|
+ if(exportType==0 && (stateKey==1 || stateKey ==0 || stateKey==2)){
|
|
|
Integer state = (Integer) map.get("state");
|
|
|
switch (state){
|
|
|
//case 0:row.createCell(index).setCellValue("待审核");
|
|
@@ -7242,7 +7257,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- if (timeType.getEnableNewWeeklyfill() == 1) {
|
|
|
+ if (timeType.getEnableNewWeeklyfill() == 1 && exportType==0) {
|
|
|
ReportBatch batchItem = reportBatchMapper.selectOne(new QueryWrapper<ReportBatch>().eq("creator_id", map.get("creatorId")).eq("start_date", createDate).last("limit 1"));
|
|
|
if (batchItem != null) {
|
|
|
item.add(batchItem.getSummary());
|
|
@@ -7419,7 +7434,6 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
|
List<User> allRangeUserList = new ArrayList<>();
|
|
|
Integer companyId = user.getCompanyId();
|
|
|
TimeType timeType = timeTypeMapper.selectById(companyId);
|
|
|
- WxCorpInfo wxCorpInfo = wxCorpInfoMapper.selectOne(new QueryWrapper<WxCorpInfo>().eq("company_id", companyId));
|
|
|
//获取部门的所有子部门
|
|
|
List<Department> departments = departmentMapper.selectList(new QueryWrapper<Department>().eq("company_id",companyId));
|
|
|
List<Integer> branchDepartment = null;
|
|
@@ -7429,7 +7443,6 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
|
List<Map<String, Object>> list = null;
|
|
|
//分角色权限:管理员看全部的,部门负责人看自己部门的,个人只能看自己的。
|
|
|
List<SysRichFunction> functionList = sysFunctionMapper.getRoleFunctions(user.getRoleId(), "查看全公司工时");
|
|
|
- boolean hasDeptWorktimePriv = sysFunctionMapper.getRoleFunctions(user.getRoleId(), "查看本部门工时").size() > 0;
|
|
|
if (functionList.size() == 0) {
|
|
|
List<Integer> allVisibleDeptIdList = getAllVisibleDeptIdList(user, null);
|
|
|
//检查是不是部门负责人
|
|
@@ -7521,7 +7534,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
|
continue;
|
|
|
}
|
|
|
final String dateStr = dtf.format(date);
|
|
|
- if (!list.stream().anyMatch(item->item.get("id").equals(curUser.getId())&&sdf.format((java.sql.Date)item.get("createDate")).equals(dateStr))) {
|
|
|
+ if (!list.stream().anyMatch(item->((Integer)item.get("state") == 0 || (Integer)item.get("state") == 1) && item.get("id").equals(curUser.getId())&&sdf.format((java.sql.Date)item.get("createDate")).equals(dateStr))) {
|
|
|
UserDailyWorkItem noRecord = new UserDailyWorkItem();
|
|
|
noRecord.userId = curUser.getId();
|
|
|
noRecord.departmentId = curUser.getDepartmentId();
|
|
@@ -12117,15 +12130,17 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public HttpRespMsg getProduceTimeReport(Integer companyId, Integer projectId, String startDate, String endDate) {
|
|
|
+ public HttpRespMsg getProduceTimeReport(Integer companyId, Integer projectId, String ymonth) {
|
|
|
HttpRespMsg msg = new HttpRespMsg();
|
|
|
- msg.setData(getProduceTime(companyId, projectId, startDate, endDate));
|
|
|
+ msg.setData(getProduceTime(companyId, projectId, ymonth));
|
|
|
return msg;
|
|
|
}
|
|
|
|
|
|
- private List<ProduceTime> getProduceTime(Integer companyId, Integer projectId, String startDate, String endDate) {
|
|
|
+ private List<ProduceTime> getProduceTime(Integer companyId, Integer projectId, String ymonth) {
|
|
|
Integer leaveProjectId = 80333;//请假项目,排除在外
|
|
|
Integer publicProjectId = 77651;//公共项目
|
|
|
+ String startDate = ymonth + "-01";
|
|
|
+ String endDate = ymonth + "-31";
|
|
|
QueryWrapper<Report> wrapper = new QueryWrapper<Report>().select("id, create_date, creator_id, project_id,dept_id, working_time, group_id, extra_field4").eq("company_id", companyId).ne("project_id", leaveProjectId)
|
|
|
.eq("state", 1).between("create_date", startDate, endDate);
|
|
|
if (projectId != null) {
|
|
@@ -12140,6 +12155,21 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
|
Integer rdDeptId = departmentList.stream().filter(dept->dept.getDepartmentName().equals("研发中心")).findFirst().get().getDepartmentId();
|
|
|
Integer cuServiceDeptId = departmentList.stream().filter(dept->dept.getDepartmentName().equals("售后部")).findFirst().get().getDepartmentId();
|
|
|
List<User> userList = userMapper.selectList(new QueryWrapper<User>().eq("company_id", companyId));
|
|
|
+ //获取薪资数据
|
|
|
+ List<Finance> finances = financeMapper.selectList(new QueryWrapper<Finance>().eq("company_id", companyId).eq("ymonth",ymonth));
|
|
|
+ //按人员分组,获取工时数
|
|
|
+ Map<String, Double> userTime = reportList.stream().collect(Collectors.groupingBy(Report::getCreatorId, Collectors.summingDouble(Report::getWorkingTime)));
|
|
|
+ finances.forEach(f->{
|
|
|
+ String uid = f.getUserId();
|
|
|
+ Double b = userTime.get(uid);
|
|
|
+ if (b != null) {
|
|
|
+ BigDecimal avgHourCost = f.getTotalCost().divide(new BigDecimal(b),6, BigDecimal.ROUND_HALF_UP);
|
|
|
+ f.setHourCost(avgHourCost);
|
|
|
+ //同步设置人员的时薪
|
|
|
+ userList.stream().filter(u->u.getId().equals(f.getUserId())).findFirst().ifPresent(u->u.setCost(avgHourCost));
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
List<ProduceTime> result = new ArrayList<>();
|
|
|
if (reportList.size() > 0) {
|
|
|
//按照项目和人员进行分组统计
|
|
@@ -12160,8 +12190,15 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
|
Map<String, List<Report>> membReportList = reports.stream().collect(Collectors.groupingBy(Report::getCreatorId));
|
|
|
|
|
|
membReportList.forEach((membId, oneMembList )-> {
|
|
|
- User user = userList.stream().filter(u->u.getId().equals(membId)).findFirst().get();
|
|
|
ProduceTime produceTimeItem = new ProduceTime();
|
|
|
+ produceTimeItem.setUserTotalTime(userTime.get(membId));
|
|
|
+ User user = userList.stream().filter(u->u.getId().equals(membId)).findFirst().get();
|
|
|
+ Optional<Finance> f = finances.stream().filter(finance -> finance.getUserId().equals(membId)).findFirst();
|
|
|
+ if (f.isPresent()) {
|
|
|
+ Finance userFinance = f.get();
|
|
|
+ produceTimeItem.setUserFinance(userFinance);
|
|
|
+ }
|
|
|
+
|
|
|
produceTimeItem.setProjectId(p.getId());
|
|
|
produceTimeItem.setProjectCode(p.getProjectCode());
|
|
|
produceTimeItem.setProjectName(projectName);
|
|
@@ -12210,7 +12247,6 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
|
produceTimeItem.setManufactureCost(user.getCost().multiply(new BigDecimal(manufactureTime)).setScale(2, RoundingMode.HALF_UP));
|
|
|
produceTimeItem.setRdCost(user.getCost().multiply(new BigDecimal(rdTime)).setScale(2, RoundingMode.HALF_UP));
|
|
|
produceTimeItem.setSalesCost(user.getCost().multiply(new BigDecimal(cusTime)).setScale(2, RoundingMode.HALF_UP));
|
|
|
-
|
|
|
result.add(produceTimeItem);
|
|
|
});
|
|
|
});
|
|
@@ -12220,8 +12256,42 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public HttpRespMsg exportProduceTimeReport(Integer companyId, Integer projectId, String startDate, String endDate) {
|
|
|
+ public HttpRespMsg exportProduceTimeReport(Integer companyId, Integer projectId, String ymonth) {
|
|
|
HttpRespMsg msg = new HttpRespMsg();
|
|
|
+ //准备多张sheet
|
|
|
+ final List<FinanceTblcuscol> cusColList = financeTblcuscolMapper.selectList(new QueryWrapper<FinanceTblcuscol>().eq("company_id", companyId));
|
|
|
+ List<String> sheetNameList = new ArrayList<String>();
|
|
|
+ sheetNameList.add("财务数据分摊总表");
|
|
|
+ FinanceFixedcolname fixedItem = financeFixedcolnameService.getFixed(companyId);
|
|
|
+ if(!StringUtils.isEmpty(fixedItem.getMonthCost())){
|
|
|
+ sheetNameList.add(fixedItem.getMonthCost()+"分摊表");
|
|
|
+ }
|
|
|
+ if(!StringUtils.isEmpty(fixedItem.getBonus())){
|
|
|
+ sheetNameList.add(fixedItem.getBonus()+"分摊表");
|
|
|
+ }
|
|
|
+ if(!StringUtils.isEmpty(fixedItem.getAllowance())){
|
|
|
+ sheetNameList.add(fixedItem.getAllowance()+"分摊表");
|
|
|
+ }
|
|
|
+ if(!StringUtils.isEmpty(fixedItem.getInsuranceOld())){
|
|
|
+ sheetNameList.add(fixedItem.getInsuranceOld()+"分摊表");
|
|
|
+ }
|
|
|
+ if(!StringUtils.isEmpty(fixedItem.getInsuranceMedical())){
|
|
|
+ sheetNameList.add(fixedItem.getInsuranceMedical()+"分摊表");
|
|
|
+ }
|
|
|
+
|
|
|
+ if(!StringUtils.isEmpty(fixedItem.getInsuranceLosejob())){
|
|
|
+ sheetNameList.add(fixedItem.getInsuranceLosejob()+"分摊表");
|
|
|
+ }
|
|
|
+ if(!StringUtils.isEmpty(fixedItem.getInsuranceInjury())){
|
|
|
+ sheetNameList.add(fixedItem.getInsuranceInjury()+"分摊表");
|
|
|
+ }
|
|
|
+ if(!StringUtils.isEmpty(fixedItem.getHouseFund())){
|
|
|
+ sheetNameList.add(fixedItem.getHouseFund()+"分摊表");
|
|
|
+ }
|
|
|
+ for (FinanceTblcuscol col : cusColList) {
|
|
|
+ sheetNameList.add(col.getFieldName()+"分摊表");
|
|
|
+ }
|
|
|
+
|
|
|
List<List<String>> dataList = new ArrayList<>();
|
|
|
List<String> headList = new ArrayList<>();
|
|
|
headList.add("项目编号");
|
|
@@ -12237,7 +12307,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
|
headList.add("研发支出-工资");
|
|
|
headList.add("销售费用-工资");
|
|
|
dataList.add(headList);
|
|
|
- List<ProduceTime> produceTimeList = getProduceTime(companyId, projectId, startDate, endDate);
|
|
|
+ List<ProduceTime> produceTimeList = getProduceTime(companyId, projectId, ymonth);
|
|
|
for (ProduceTime produceTime : produceTimeList) {
|
|
|
List<String> list = new ArrayList<>();
|
|
|
list.add(produceTime.getProjectCode());
|
|
@@ -12256,9 +12326,60 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
|
}
|
|
|
//生成excel文件导出
|
|
|
//String fileName = "人员每日工时统计_"+startDate+"至"+endDate+"_"+System.currentTimeMillis();
|
|
|
- String fileName = "生产制造工时费用统计_"+ startDate+"至"+endDate+"_"+System.currentTimeMillis();
|
|
|
+ String fileName = "生产制造工时费用统计_"+ ymonth+"_"+System.currentTimeMillis();
|
|
|
try {
|
|
|
- return excelExportService.exportGeneralExcelByTitleAndList(null,null, fileName, dataList, path);
|
|
|
+ List[] multiSheetDataList = new ArrayList[sheetNameList.size()];
|
|
|
+ multiSheetDataList[0] = dataList;
|
|
|
+ for (int i = 1; i < sheetNameList.size(); i++) {
|
|
|
+ String sheetName = sheetNameList.get(i);
|
|
|
+ multiSheetDataList[i] = new ArrayList();
|
|
|
+ multiSheetDataList[i].add(headList);//每个表单的头都一样,数据不一样而已
|
|
|
+ for (ProduceTime produceTime : produceTimeList) {
|
|
|
+ List<String> list = new ArrayList<String>();
|
|
|
+ list.add(produceTime.getProjectCode());
|
|
|
+ list.add(produceTime.getProjectName());
|
|
|
+ list.add(produceTime.getUserName());
|
|
|
+ list.add(produceTime.getDepartmentName());
|
|
|
+ list.add(""+produceTime.getTotalTime());
|
|
|
+ list.add(produceTime.getProduceTime()+"");
|
|
|
+ list.add(produceTime.getWorksheetDeptName());
|
|
|
+ //取费用成本项的值,按比例计算
|
|
|
+ Finance userFinance = produceTime.getUserFinance();
|
|
|
+ BigDecimal cost = new BigDecimal(0);
|
|
|
+ if (userFinance != null) {
|
|
|
+ if (sheetName.equals(fixedItem.getMonthCost()+"分摊表")){
|
|
|
+ cost = userFinance.getMonthCost();
|
|
|
+ } else if (sheetName.equals(fixedItem.getAllowance()+"分摊表")) {
|
|
|
+ cost = userFinance.getAllowance();
|
|
|
+ } else if (sheetName.equals(fixedItem.getInsuranceOld()+"分摊表")) {
|
|
|
+ cost = userFinance.getInsuranceOld();
|
|
|
+ } else if (sheetName.equals(fixedItem.getInsuranceMedical()+"分摊表")) {
|
|
|
+ cost = userFinance.getInsuranceMedical();
|
|
|
+ } else if (sheetName.equals(fixedItem.getInsuranceLosejob()+"分摊表")) {
|
|
|
+ cost = userFinance.getInsuranceLosejob();
|
|
|
+ } else if (sheetName.equals(fixedItem.getInsuranceInjury()+"分摊表")) {
|
|
|
+ cost = userFinance.getInsuranceInjury();
|
|
|
+ } else if (sheetName.equals(fixedItem.getHouseFund()+"分摊表")) {
|
|
|
+ cost = userFinance.getHouseFund();
|
|
|
+ } else if (sheetName.equals(fixedItem.getBonus()+"分摊表")) {
|
|
|
+ cost = userFinance.getBonus();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ BigDecimal produceCost = new BigDecimal(produceTime.getProduceTime()/produceTime.getUserTotalTime()).multiply(cost).setScale(2,BigDecimal.ROUND_HALF_UP);
|
|
|
+ list.add(produceCost.toString());
|
|
|
+ list.add(produceTime.getProjectTime()+"");
|
|
|
+ BigDecimal manufactureCost = new BigDecimal(produceTime.getManufactureTime()/produceTime.getUserTotalTime()).multiply(cost).setScale(2,BigDecimal.ROUND_HALF_UP);
|
|
|
+ list.add(manufactureCost.toString());
|
|
|
+ BigDecimal rdCost = new BigDecimal(produceTime.getRdTime()/produceTime.getUserTotalTime()).multiply(cost).setScale(2,BigDecimal.ROUND_HALF_UP);
|
|
|
+ list.add(rdCost.toString());
|
|
|
+ BigDecimal salesCost = new BigDecimal(produceTime.getSalesTime()/produceTime.getUserTotalTime()).multiply(cost).setScale(2,BigDecimal.ROUND_HALF_UP);
|
|
|
+ list.add(salesCost.toString());
|
|
|
+ multiSheetDataList[i].add(list);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return excelExportService.exportMultiSheetGeneralExcelByTitleAndList(null,null,fileName , multiSheetDataList, path, sheetNameList.toArray(new String[0]));
|
|
|
+// return excelExportService.exportGeneralExcelByTitleAndList(null,null, fileName, dataList, path);
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
}
|