| | |
| | | import io.swagger.annotations.ApiImplicitParams; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.apache.commons.lang3.ObjectUtils; |
| | | import org.apache.poi.ss.formula.functions.Now; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.io.*; |
| | | import java.nio.charset.StandardCharsets; |
| | | import java.nio.file.Files; |
| | | import java.nio.file.Path; |
| | | import java.nio.file.Paths; |
| | | import java.util.*; |
| | | |
| | |
| | | */ |
| | | @ApiOperation("遗体器官获取伦理审查表") |
| | | @GetMapping(value = "/download") |
| | | public Result downloadInfo(String nitiateId) throws IOException { |
| | | if(ObjectUtils.isEmpty(nitiateId)){ |
| | | public Result downloadInfo(String initiateId) throws IOException { |
| | | if(ObjectUtils.isEmpty(initiateId)){ |
| | | return Result.error("nitiateId伦理审查id不能为空"); |
| | | } |
| | | EthicalReviewVO reviewVO =new EthicalReviewVO(); |
| | | reviewVO.setNitiateId(nitiateId); |
| | | reviewVO.setNitiateId(initiateId); |
| | | List<EthicalReviewVO> list = serviceEthicalreviewopinionsService.selectVOList(reviewVO); |
| | | if(list.size()==0){ |
| | | return Result.error("伦理审查id无相关数据"); |
| | | } |
| | | EthicalreviewopinionsStateTotalVO stateTotalVO=serviceEthicalreviewopinionsService.stateTotalAll(initiateId); |
| | | String filePath = getClass().getResource("/template/").getPath(); |
| | | if(filePath.substring(0,1).equals("/")) |
| | | filePath=filePath.substring(1); |
| | | String content =""; |
| | | Template t = null; |
| | | try { |
| | | content = Files.readString(Paths.get(filePath+"遗体器官获取伦理审查表首页.xml"), StandardCharsets.UTF_8); |
| | | // content = Files.readString(Paths.get(filePath+"遗体器官获取伦理审查表首页.xml"), StandardCharsets.UTF_8); |
| | | Path path = Paths.get(filePath + "遗体器官获取伦理审查表首页.xml"); |
| | | byte[] bytes = Files.readAllBytes(path); |
| | | content = new String(bytes, StandardCharsets.UTF_8); |
| | | String name=list.get(0).getName()+"(住院号:"+list.get(0).getInpatientno()+")"; |
| | | content=content.replace("$name",name);//项目名称 |
| | | content=content.replace("$inCount","16");//到会委员 |
| | | |
| | | content=content.replace("$inCount",stateTotalVO.getInCount());//到会委员 |
| | | content=content.replace("$avoidCount","0");//回避委员 |
| | | content=content.replace("$agreeCount","15");//同意 |
| | | content=content.replace("$updateAgreeCount","2");//修改后同意 |
| | | content=content.replace("$disagreeCount","3");//不同意 |
| | | content=content.replace("$abstentionCount","4");//弃权 |
| | | content=content.replace("$agreeCount",stateTotalVO.getAgreeCount());//同意 |
| | | content=content.replace("$updateAgreeCount",stateTotalVO.getRejectCount());//修改后同意 |
| | | content=content.replace("$disagreeCount",stateTotalVO.getDisagreeCount());//不同意 |
| | | content=content.replace("$abstentionCount",stateTotalVO.getWaiveCount());//弃权 |
| | | String committeeOpinion=""; |
| | | for (EthicalReviewVO row:list) { |
| | | String State="",sgin="",id=row.getId()+"",expName=row.getExpertname(); |
| | |
| | | " </w:tr>"; |
| | | } |
| | | content=content.replace("$committeeOpinion",committeeOpinion);//委员会意见 |
| | | content=content.replace("$dateContent",DateUtils.parseDateToStr("yyyy年MM月dd日",new Date()));//日期 |
| | | |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | String newTime = String.valueOf(Calendar.getInstance().getTimeInMillis()); |
| | | String name = "遗体器官获取伦理审查表_"+nitiateId+"_" + newTime; |
| | | String name = "遗体器官获取伦理审查表_"+initiateId+"_" + newTime; |
| | | |
| | | String filePathData =RuoYiConfig.getProfile() + "/download/wordtemplate"; |
| | | //创建文件夹 |
| | |
| | | if (!folderPath.exists()) { |
| | | folderPath.mkdirs(); |
| | | } |
| | | |
| | | /* |
| | | try { |
| | | Files.writeString(Paths.get(filePathData+ "/" + name + ".doc"),content); |
| | | } catch (Exception e1) { |
| | | e1.printStackTrace(); |
| | | } |
| | | */ |
| | | try { |
| | | Path path = Paths.get(filePathData + "/" + name + ".doc"); |
| | | Files.write(path, content.getBytes(StandardCharsets.UTF_8)); |
| | | } catch (Exception e1) { |
| | | e1.printStackTrace(); |
| | | } |
| | | |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("downloadUrl", "/download/wordtemplate/" + name + ".doc"); |