|
|
@ -24,9 +24,7 @@ import org.springframework.transaction.annotation.Propagation; |
|
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
|
|
|
|
|
import javax.annotation.Resource; |
|
|
|
import java.io.File; |
|
|
|
import java.io.FileOutputStream; |
|
|
|
import java.io.OutputStream; |
|
|
|
import java.io.*; |
|
|
|
import java.util.*; |
|
|
|
import java.util.concurrent.atomic.AtomicReference; |
|
|
|
|
|
|
@ -280,63 +278,100 @@ public class TaskPluginService implements ITaskPluginService{ |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public List<PluginVo.MinutesInfo> saveMinutes(Long currentUserId, String domainName,Long projectId, Long taskId,String token) throws Exception { |
|
|
|
public List<PluginVo.MinutesInfo> saveMinutes(Long currentUserId,PluginDto.GetMinutes getMinutes,String token) throws Exception { |
|
|
|
log.info("生成会议记录,项目id:{}",getMinutes.toString()); |
|
|
|
//根据域名查找公司logo
|
|
|
|
String logo = "/home/staticrec/logo.png"; |
|
|
|
if(StrUtil.isNotEmpty(domainName)) { |
|
|
|
if(StrUtil.isNotEmpty(getMinutes.getDomainName())) { |
|
|
|
SysDomainExample domainExample = new SysDomainExample(); |
|
|
|
domainExample.createCriteria().andDomainNameEqualTo(domainName); |
|
|
|
domainExample.createCriteria().andDomainNameEqualTo(getMinutes.getDomainName()); |
|
|
|
List<SysDomain> sysDomainList = sysDomainDao.selectByExample(domainExample); |
|
|
|
if (CollectionUtil.isNotEmpty(sysDomainList)) { |
|
|
|
logo = sysDomainList.get(0).getLogo(); |
|
|
|
} |
|
|
|
} |
|
|
|
//查找该任务的会议记录文件,有则直接返回
|
|
|
|
List<PluginVo.MinutesInfo> minutesInfoList = new ArrayList<>(); |
|
|
|
Map<String,String> params = new HashMap<>(); |
|
|
|
params.put(WebConstant.Wps._W_URL,PropUtil.domain + "debug"); |
|
|
|
List<String> wpsPath = wpsService.queryVisitUrls(taskId,(byte) 2,token,params); |
|
|
|
List<String> wpsPath = wpsService.queryVisitUrls(getMinutes.getTaskId(),(byte) 2,token,null); |
|
|
|
if(CollectionUtil.isNotEmpty(wpsPath)){ |
|
|
|
wpsPath.forEach(wps->{ |
|
|
|
PluginVo.MinutesInfo minutesInfo = new PluginVo.MinutesInfo(); |
|
|
|
minutesInfo.setWpsPath(wps); |
|
|
|
//获取下载路径
|
|
|
|
ProProjectFileExample projectFileExample = new ProProjectFileExample(); |
|
|
|
projectFileExample.createCriteria().andBusinessIdEqualTo(taskId).andBusinessTypeEqualTo((byte) 2); |
|
|
|
projectFileExample.createCriteria().andBusinessIdEqualTo(getMinutes.getTaskId()).andBusinessTypeEqualTo((byte) 2); |
|
|
|
List<ProProjectFile> projectFileList = proProjectFileDao.selectByExample(projectFileExample); |
|
|
|
if(CollectionUtil.isNotEmpty(projectFileList)){ |
|
|
|
WpsFile wpsFile = wpsFileDao.selectByPrimaryKey(projectFileList.get(0).getWpsFileId()); |
|
|
|
minutesInfo.setDownloadPath(wpsFile.getDownloadUrl()); |
|
|
|
minutesInfo.setWpsFileId(wpsFile.getId()); |
|
|
|
} |
|
|
|
minutesInfoList.add(minutesInfo); |
|
|
|
|
|
|
|
}); |
|
|
|
return minutesInfoList; |
|
|
|
} |
|
|
|
log.info("生成会议记录,项目id:{}",projectId); |
|
|
|
SysProject sysProject = sysProjectDao.selectByPrimaryKey(projectId); |
|
|
|
if(ObjectUtil.isNull(sysProject)){ |
|
|
|
throw new BaseException(CodeEnum.NOT_PROJECT); |
|
|
|
} |
|
|
|
//获取本周和上周的时间
|
|
|
|
//获取本周和上周的开始和结束时间
|
|
|
|
long thisWeekStartTime = DateUtil.beginOfWeek(new Date()).getTime(); |
|
|
|
long thisWeekEndTime = DateUtil.endOfWeek(new Date()).getTime(); |
|
|
|
long lastWeekStartTime = DateUtil.beginOfWeek(new Date(thisWeekStartTime - 1)).getTime(); |
|
|
|
long lastWeekEndTime = DateUtil.endOfWeek(new Date(thisWeekStartTime - 1)).getTime(); |
|
|
|
//查找上周任务
|
|
|
|
List<TaskVo.TaskMinutesWps> lastWeekTask = taskSubTimeDao.queryMinutesTaskByTime(projectId,lastWeekStartTime,lastWeekEndTime); |
|
|
|
//查找本周任务
|
|
|
|
List<TaskVo.TaskMinutesWps> thisWeekTask = taskSubTimeDao.queryMinutesTaskByTime(projectId,thisWeekStartTime,thisWeekEndTime); |
|
|
|
//生成excel写入的数据
|
|
|
|
List<List<PoiUtil.PoiUtilCell>> minutes = writeMinutes(lastWeekTask,thisWeekTask,sysProject.getName()); |
|
|
|
//之前没有会议记录则重新生成
|
|
|
|
Workbook wb = new XSSFWorkbook(); |
|
|
|
//excel第一个sheet项目概览
|
|
|
|
List<List<PoiUtil.PoiUtilCell>> overviewMinutes = writeOverviewMinutes(getMinutes.getProjectIdList()); |
|
|
|
PoiUtil.exportWB("会议记录", overviewMinutes, wb); |
|
|
|
PoiUtil.setImg(wb,"会议记录", logo,0,1,0,1); |
|
|
|
|
|
|
|
if(CollectionUtil.isNotEmpty(getMinutes.getProjectIdList())){ |
|
|
|
//每个项目一个sheet,循环添加进excel
|
|
|
|
String finalLogo = logo; |
|
|
|
getMinutes.getProjectIdList().forEach(projectId ->{ |
|
|
|
SysProject sysProject = sysProjectDao.selectByPrimaryKey(projectId); |
|
|
|
if(ObjectUtil.isNotNull(sysProject)){ |
|
|
|
//查找上周任务
|
|
|
|
List<TaskVo.TaskMinutesWps> lastWeekTask = taskSubTimeDao.queryMinutesTaskByTime(projectId,lastWeekStartTime,lastWeekEndTime); |
|
|
|
//查找本周任务
|
|
|
|
List<TaskVo.TaskMinutesWps> thisWeekTask = taskSubTimeDao.queryMinutesTaskByTime(projectId,thisWeekStartTime,thisWeekEndTime); |
|
|
|
//查找项目经理名字和项目成员的名字
|
|
|
|
String pmName = roleDao.getMemberNameByProjectId(projectId,"PM"); |
|
|
|
//查找项目内的成员名用“,”分隔
|
|
|
|
String memberName = roleDao.getMemberNameByProjectId(projectId,"Member"); |
|
|
|
//生成excel写入的数据
|
|
|
|
List<List<PoiUtil.PoiUtilCell>> minutes = writeMinutes(lastWeekTask,thisWeekTask,sysProject.getName(),pmName,memberName); |
|
|
|
PoiUtil.exportWB(sysProject.getName(), minutes, wb); |
|
|
|
try { |
|
|
|
PoiUtil.setImg(wb,sysProject.getName(), finalLogo,0,1,0,1); |
|
|
|
} catch (IOException e) { |
|
|
|
e.printStackTrace(); |
|
|
|
} |
|
|
|
} |
|
|
|
}); |
|
|
|
} |
|
|
|
// SysProject sysProject = sysProjectDao.selectByPrimaryKey(projectId);
|
|
|
|
// if(ObjectUtil.isNull(sysProject)){
|
|
|
|
// throw new BaseException(CodeEnum.NOT_PROJECT);
|
|
|
|
// }
|
|
|
|
// //获取本周和上周的时间
|
|
|
|
// long thisWeekStartTime = DateUtil.beginOfWeek(new Date()).getTime();
|
|
|
|
// long thisWeekEndTime = DateUtil.endOfWeek(new Date()).getTime();
|
|
|
|
// long lastWeekStartTime = DateUtil.beginOfWeek(new Date(thisWeekStartTime - 1)).getTime();
|
|
|
|
// long lastWeekEndTime = DateUtil.endOfWeek(new Date(thisWeekStartTime - 1)).getTime();
|
|
|
|
// //查找上周任务
|
|
|
|
// List<TaskVo.TaskMinutesWps> lastWeekTask = taskSubTimeDao.queryMinutesTaskByTime(projectId,lastWeekStartTime,lastWeekEndTime);
|
|
|
|
// //查找本周任务
|
|
|
|
// List<TaskVo.TaskMinutesWps> thisWeekTask = taskSubTimeDao.queryMinutesTaskByTime(projectId,thisWeekStartTime,thisWeekEndTime);
|
|
|
|
// //生成excel写入的数据
|
|
|
|
// List<List<PoiUtil.PoiUtilCell>> minutes = writeMinutes(lastWeekTask,thisWeekTask,sysProject.getName());
|
|
|
|
//写入WBS
|
|
|
|
// ResourceLoader resourceLoader = new DefaultResourceLoader();
|
|
|
|
// InputStream is = resourceLoader.getResource("classpath:template/regularMeetingTemplate.xlsx").getInputStream();
|
|
|
|
// XSSFWorkbook wb = new XSSFWorkbook(is);
|
|
|
|
Workbook wb = new XSSFWorkbook(); |
|
|
|
PoiUtil.exportWB("会议记录", minutes, wb); |
|
|
|
PoiUtil.setImg(wb,"会议记录",logo,0,1,0,1); |
|
|
|
|
|
|
|
// PoiUtil.exportWB("会议记录", minutes, wb);
|
|
|
|
// PoiUtil.setImg(wb,"会议记录",logo,0,1,0,1);
|
|
|
|
|
|
|
|
//生成文件
|
|
|
|
String name = sysProject.getName() + "会议记录.xlsx"; |
|
|
|
String name = "会议记录"+DateUtil.today() + ".xlsx"; |
|
|
|
String fileName = "minutes/" + DateUtil.today() + "/" + System.currentTimeMillis() + ".xlsx"; |
|
|
|
String path = WebConstant.UPLOAD_PATH_BASE + File.separator + fileName; |
|
|
|
File tmpFile = new File(path); |
|
|
@ -348,28 +383,30 @@ public class TaskPluginService implements ITaskPluginService{ |
|
|
|
stream.close(); |
|
|
|
//关联wps
|
|
|
|
WpsDto.Business business = new WpsDto.Business(); |
|
|
|
business.setBusinessId(taskId); |
|
|
|
business.setBusinessId(getMinutes.getTaskId()); |
|
|
|
business.setBusinessType((byte) 2); |
|
|
|
business.setUserId(currentUserId); |
|
|
|
business.setFileName(name); |
|
|
|
business.setFilePath(fileName); |
|
|
|
business.setFileSize(tmpFile.length()); |
|
|
|
business.setOperation(WebConstant.Wps.USER_OPERATION_NEW); |
|
|
|
business.setPrivilege(WebConstant.Wps.PROJECT_PRIVILEGE_WRITE); |
|
|
|
business.setPrivilege(WebConstant.Wps.PROJECT_PRIVILEGE_QUERY); |
|
|
|
business.setPrivilegeQueryUrl(PropUtil.domain + "v1/3rd/wpsPower"); |
|
|
|
wpsService.saveFile(business); |
|
|
|
//获取wps文件的路径并返回
|
|
|
|
wpsPath = wpsService.queryVisitUrls(taskId,(byte) 2,token,params); |
|
|
|
wpsPath = wpsService.queryVisitUrls(getMinutes.getTaskId(),(byte) 2,token,null); |
|
|
|
if(CollectionUtil.isNotEmpty(wpsPath)){ |
|
|
|
wpsPath.forEach(wps->{ |
|
|
|
PluginVo.MinutesInfo minutesInfo = new PluginVo.MinutesInfo(); |
|
|
|
minutesInfo.setWpsPath(wps); |
|
|
|
//获取下载路径
|
|
|
|
ProProjectFileExample projectFileExample = new ProProjectFileExample(); |
|
|
|
projectFileExample.createCriteria().andBusinessIdEqualTo(taskId).andBusinessTypeEqualTo((byte) 2); |
|
|
|
projectFileExample.createCriteria().andBusinessIdEqualTo(getMinutes.getTaskId()).andBusinessTypeEqualTo((byte) 2); |
|
|
|
List<ProProjectFile> projectFileList = proProjectFileDao.selectByExample(projectFileExample); |
|
|
|
if(CollectionUtil.isNotEmpty(projectFileList)){ |
|
|
|
WpsFile wpsFile = wpsFileDao.selectByPrimaryKey(projectFileList.get(0).getWpsFileId()); |
|
|
|
minutesInfo.setDownloadPath(wpsFile.getDownloadUrl()); |
|
|
|
minutesInfo.setWpsFileId(wpsFile.getId()); |
|
|
|
} |
|
|
|
minutesInfoList.add(minutesInfo); |
|
|
|
}); |
|
|
@ -377,18 +414,98 @@ public class TaskPluginService implements ITaskPluginService{ |
|
|
|
return minutesInfoList; |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public List<PluginVo.MinutesInfo> updateMinutesProject(Long currentUserId, PluginDto.UpdateMinutes updateMinutes, String token) throws Exception { |
|
|
|
//根据域名差logo
|
|
|
|
String logo = "/home/staticrec/logo.png"; |
|
|
|
if(StrUtil.isNotEmpty(updateMinutes.getDomainName())) { |
|
|
|
SysDomainExample domainExample = new SysDomainExample(); |
|
|
|
domainExample.createCriteria().andDomainNameEqualTo(updateMinutes.getDomainName()); |
|
|
|
List<SysDomain> sysDomainList = sysDomainDao.selectByExample(domainExample); |
|
|
|
if (CollectionUtil.isNotEmpty(sysDomainList)) { |
|
|
|
logo = sysDomainList.get(0).getLogo(); |
|
|
|
} |
|
|
|
} |
|
|
|
//查找到文件信息
|
|
|
|
WpsFile wpsFile = wpsFileDao.selectByPrimaryKey(updateMinutes.getWpsFileId()); |
|
|
|
//返回的文件路径信息
|
|
|
|
List<PluginVo.MinutesInfo> minutesInfoList = new ArrayList<>(); |
|
|
|
List<String> wpsPath = wpsService.queryVisitUrls(updateMinutes.getTaskId(),(byte) 2,token,null); |
|
|
|
if(CollectionUtil.isNotEmpty(wpsPath)){ |
|
|
|
wpsPath.forEach(wps->{ |
|
|
|
PluginVo.MinutesInfo minutesInfo = new PluginVo.MinutesInfo(); |
|
|
|
minutesInfo.setWpsPath(wps); |
|
|
|
minutesInfo.setDownloadPath(wpsFile.getDownloadUrl()); |
|
|
|
minutesInfo.setWpsFileId(wpsFile.getId()); |
|
|
|
minutesInfoList.add(minutesInfo); |
|
|
|
}); |
|
|
|
} |
|
|
|
// WpsFile wpsFile = new WpsFile();
|
|
|
|
// wpsFile.setSaveUrl("F:\\home\\cloud\\tall\\uploads\\minutes\\2020-08-11\\1597117206328.xlsx");
|
|
|
|
//获取本周和上周的开始和结束时间
|
|
|
|
long thisWeekStartTime = DateUtil.beginOfWeek(new Date()).getTime(); |
|
|
|
long thisWeekEndTime = DateUtil.endOfWeek(new Date()).getTime(); |
|
|
|
long lastWeekStartTime = DateUtil.beginOfWeek(new Date(thisWeekStartTime - 1)).getTime(); |
|
|
|
long lastWeekEndTime = DateUtil.endOfWeek(new Date(thisWeekStartTime - 1)).getTime(); |
|
|
|
//修改文件
|
|
|
|
if(ObjectUtil.isNotNull(wpsFile)){ |
|
|
|
InputStream is = new FileInputStream(wpsFile.getSaveUrl()); |
|
|
|
Workbook wb = new XSSFWorkbook(is); |
|
|
|
if(ObjectUtil.isNotNull(wb)){ |
|
|
|
if(CollectionUtil.isNotEmpty(updateMinutes.getProjectList())){ |
|
|
|
String finalLogo = logo; |
|
|
|
updateMinutes.getProjectList().forEach(project ->{ |
|
|
|
SysProject sysProject = sysProjectDao.selectByPrimaryKey(project.getProjectId()); |
|
|
|
if(ObjectUtil.isNotNull(sysProject)) { |
|
|
|
if (project.getType() == 1) { |
|
|
|
//删除sheet
|
|
|
|
if(wb.getSheetIndex(sysProject.getName()) != -1){ |
|
|
|
wb.removeSheetAt(wb.getSheetIndex(sysProject.getName())); |
|
|
|
} |
|
|
|
}else { |
|
|
|
//添加sheet
|
|
|
|
if(wb.getSheetIndex(sysProject.getName()) == -1){ |
|
|
|
//查找上周任务
|
|
|
|
List<TaskVo.TaskMinutesWps> lastWeekTask = taskSubTimeDao.queryMinutesTaskByTime(project.getProjectId(),lastWeekStartTime,lastWeekEndTime); |
|
|
|
//查找本周任务
|
|
|
|
List<TaskVo.TaskMinutesWps> thisWeekTask = taskSubTimeDao.queryMinutesTaskByTime(project.getProjectId(),thisWeekStartTime,thisWeekEndTime); |
|
|
|
//查找项目经理名字和项目成员的名字
|
|
|
|
String pmName = roleDao.getMemberNameByProjectId(project.getProjectId(),"PM"); |
|
|
|
//查找项目内的成员名用“,”分隔
|
|
|
|
String memberName = roleDao.getMemberNameByProjectId(project.getProjectId(),"Member"); |
|
|
|
//生成excel写入的数据
|
|
|
|
List<List<PoiUtil.PoiUtilCell>> minutes = writeMinutes(lastWeekTask,thisWeekTask,sysProject.getName(),pmName,memberName); |
|
|
|
PoiUtil.exportWB(sysProject.getName(), minutes, wb); |
|
|
|
try { |
|
|
|
PoiUtil.setImg(wb,sysProject.getName(), finalLogo,0,1,0,1); |
|
|
|
} catch (IOException e) { |
|
|
|
e.printStackTrace(); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
}); |
|
|
|
} |
|
|
|
} |
|
|
|
OutputStream stream = new FileOutputStream(wpsFile.getSaveUrl()); |
|
|
|
wb.write(stream); |
|
|
|
stream.close(); |
|
|
|
} |
|
|
|
|
|
|
|
return minutesInfoList; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 生成写入的数据格式 |
|
|
|
* @param lastWeekTaskList 上周的任务 |
|
|
|
* @param thisWeekTaskList 本周的任务 |
|
|
|
* @return 返回写入excel的数据 |
|
|
|
* 生成excel的首页信息 |
|
|
|
* @param projectIdList 项目id的集合 |
|
|
|
* @return 范湖写入的数据 |
|
|
|
*/ |
|
|
|
private List<List<PoiUtil.PoiUtilCell>> writeMinutes(List<TaskVo.TaskMinutesWps> lastWeekTaskList, List<TaskVo.TaskMinutesWps> thisWeekTaskList,String name) { |
|
|
|
private List<List<PoiUtil.PoiUtilCell>> writeOverviewMinutes(List<Long> projectIdList) { |
|
|
|
List<List<PoiUtil.PoiUtilCell>> sheet = new ArrayList<>(); |
|
|
|
//logo 和标题
|
|
|
|
List<PoiUtil.PoiUtilCell> headerTitle = new ArrayList<>(); |
|
|
|
headerTitle.add(new PoiUtil.PoiUtilCell("",1,1,1650,18)); |
|
|
|
headerTitle.add(new PoiUtil.PoiUtilCell(name+"周例会",7,1)); |
|
|
|
headerTitle.add(new PoiUtil.PoiUtilCell("周例会",7,1)); |
|
|
|
sheet.add(headerTitle); |
|
|
|
//会议时间和主持人
|
|
|
|
List<PoiUtil.PoiUtilCell> header1 = new ArrayList<>(); |
|
|
@ -417,20 +534,86 @@ public class TaskPluginService implements ITaskPluginService{ |
|
|
|
List<PoiUtil.PoiUtilCell> minutesValue = new ArrayList<>(); |
|
|
|
minutesValue.add(new PoiUtil.PoiUtilCell("会议记录内容",8,1)); |
|
|
|
sheet.add(minutesValue); |
|
|
|
//上周任务表头
|
|
|
|
List<PoiUtil.PoiUtilCell> projectTitle = new ArrayList<>(); |
|
|
|
projectTitle.add(new PoiUtil.PoiUtilCell("项目名",1,1)); |
|
|
|
projectTitle.add(new PoiUtil.PoiUtilCell("关键结果",1,1)); |
|
|
|
projectTitle.add(new PoiUtil.PoiUtilCell("计划开始时间",1,1)); |
|
|
|
projectTitle.add(new PoiUtil.PoiUtilCell("计划结束时间",1,1)); |
|
|
|
projectTitle.add(new PoiUtil.PoiUtilCell("实际开始时间",1,1)); |
|
|
|
projectTitle.add(new PoiUtil.PoiUtilCell("实际结束时间",1,1)); |
|
|
|
projectTitle.add(new PoiUtil.PoiUtilCell("PM",1,1)); |
|
|
|
projectTitle.add(new PoiUtil.PoiUtilCell("进度",1,1)); |
|
|
|
sheet.add(projectTitle); |
|
|
|
if(CollectionUtil.isNotEmpty(projectIdList)){ |
|
|
|
projectIdList.forEach(projectId ->{ |
|
|
|
SysProject sysProject = sysProjectDao.selectByPrimaryKey(projectId); |
|
|
|
if(ObjectUtil.isNotNull(sysProject)){ |
|
|
|
List<PoiUtil.PoiUtilCell> project = new ArrayList<>(); |
|
|
|
project.add(new PoiUtil.PoiUtilCell(sysProject.getName())); |
|
|
|
sheet.add(project); |
|
|
|
} |
|
|
|
}); |
|
|
|
} |
|
|
|
//会议记录人和领导签字
|
|
|
|
List<PoiUtil.PoiUtilCell> end = new ArrayList<>(); |
|
|
|
end.add(new PoiUtil.PoiUtilCell("会议记录人",1,1)); |
|
|
|
end.add(new PoiUtil.PoiUtilCell("",3,1)); |
|
|
|
end.add(new PoiUtil.PoiUtilCell()); |
|
|
|
end.add(new PoiUtil.PoiUtilCell()); |
|
|
|
end.add(new PoiUtil.PoiUtilCell("负责人签字",1,1)); |
|
|
|
end.add(new PoiUtil.PoiUtilCell("",3,1)); |
|
|
|
sheet.add(end); |
|
|
|
//备注留白
|
|
|
|
List<PoiUtil.PoiUtilCell> remark = new ArrayList<>(); |
|
|
|
remark.add(new PoiUtil.PoiUtilCell("",8,8)); |
|
|
|
sheet.add(remark); |
|
|
|
return sheet; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 生成写入的数据格式 |
|
|
|
* @param lastWeekTaskList 上周的任务 |
|
|
|
* @param thisWeekTaskList 本周的任务 |
|
|
|
* @return 返回写入excel的数据 |
|
|
|
*/ |
|
|
|
private List<List<PoiUtil.PoiUtilCell>> writeMinutes(List<TaskVo.TaskMinutesWps> lastWeekTaskList, |
|
|
|
List<TaskVo.TaskMinutesWps> thisWeekTaskList, |
|
|
|
String name,String pmName,String memberName) { |
|
|
|
List<List<PoiUtil.PoiUtilCell>> sheet = new ArrayList<>(); |
|
|
|
//logo 和标题
|
|
|
|
List<PoiUtil.PoiUtilCell> headerTitle = new ArrayList<>(); |
|
|
|
headerTitle.add(new PoiUtil.PoiUtilCell("",1,1,1650,18)); |
|
|
|
headerTitle.add(new PoiUtil.PoiUtilCell(name+"周例会",7,1)); |
|
|
|
sheet.add(headerTitle); |
|
|
|
//会议时间和主持人
|
|
|
|
List<PoiUtil.PoiUtilCell> header1 = new ArrayList<>(); |
|
|
|
header1.add(new PoiUtil.PoiUtilCell("会议时间")); |
|
|
|
header1.add(new PoiUtil.PoiUtilCell("",3,1)); |
|
|
|
header1.add(new PoiUtil.PoiUtilCell()); |
|
|
|
header1.add(new PoiUtil.PoiUtilCell()); |
|
|
|
header1.add(new PoiUtil.PoiUtilCell("PM")); |
|
|
|
header1.add(new PoiUtil.PoiUtilCell(pmName,3,1)); |
|
|
|
sheet.add(header1); |
|
|
|
//参会人员
|
|
|
|
List<PoiUtil.PoiUtilCell> header2 = new ArrayList<>(); |
|
|
|
header2.add(new PoiUtil.PoiUtilCell("项目成员",1,1)); |
|
|
|
header2.add(new PoiUtil.PoiUtilCell(memberName,7,1)); |
|
|
|
sheet.add(header2); |
|
|
|
//主题议题
|
|
|
|
List<PoiUtil.PoiUtilCell> header3 = new ArrayList<>(); |
|
|
|
header3.add(new PoiUtil.PoiUtilCell("关键结果KR",1,1)); |
|
|
|
header3.add(new PoiUtil.PoiUtilCell("",7,1)); |
|
|
|
sheet.add(header3); |
|
|
|
//再空一行
|
|
|
|
List<PoiUtil.PoiUtilCell> header4 = new ArrayList<>(); |
|
|
|
header4.add(new PoiUtil.PoiUtilCell("",8,1)); |
|
|
|
sheet.add(header4); |
|
|
|
//会议记录内容
|
|
|
|
List<PoiUtil.PoiUtilCell> minutesValue = new ArrayList<>(); |
|
|
|
minutesValue.add(new PoiUtil.PoiUtilCell("会议记录内容",8,1)); |
|
|
|
sheet.add(minutesValue); |
|
|
|
|
|
|
|
// List<PoiUtil.PoiUtilCell> header1 = new ArrayList<>();
|
|
|
|
// sheet.add(header1);
|
|
|
|
// List<PoiUtil.PoiUtilCell> header2 = new ArrayList<>();
|
|
|
|
// sheet.add(header2);
|
|
|
|
// List<PoiUtil.PoiUtilCell> header3 = new ArrayList<>();
|
|
|
|
// sheet.add(header3);
|
|
|
|
// List<PoiUtil.PoiUtilCell> header4 = new ArrayList<>();
|
|
|
|
// sheet.add(header4);
|
|
|
|
// List<PoiUtil.PoiUtilCell> header5 = new ArrayList<>();
|
|
|
|
// sheet.add(header5);
|
|
|
|
// List<PoiUtil.PoiUtilCell> header6 = new ArrayList<>();
|
|
|
|
// sheet.add(header6);
|
|
|
|
//上周任务
|
|
|
|
List<PoiUtil.PoiUtilCell> lastWeek = new ArrayList<>(); |
|
|
|
lastWeek.add(new PoiUtil.PoiUtilCell("上周任务",8,1)); |
|
|
@ -449,7 +632,7 @@ public class TaskPluginService implements ITaskPluginService{ |
|
|
|
end.add(new PoiUtil.PoiUtilCell("",3,1)); |
|
|
|
end.add(new PoiUtil.PoiUtilCell()); |
|
|
|
end.add(new PoiUtil.PoiUtilCell()); |
|
|
|
end.add(new PoiUtil.PoiUtilCell("领导签字",1,1)); |
|
|
|
end.add(new PoiUtil.PoiUtilCell("负责人签字",1,1)); |
|
|
|
end.add(new PoiUtil.PoiUtilCell("",3,1)); |
|
|
|
sheet.add(end); |
|
|
|
//备注留白
|
|
|
|