package com.ruoyi.web.controller.project;
|
|
import java.io.*;
|
import java.text.SimpleDateFormat;
|
import java.util.*;
|
|
import com.ruoyi.common.config.RuoYiConfig;
|
import com.ruoyi.common.enums.OrganEnum;
|
import com.ruoyi.project.domain.ServiceDonateorgan;
|
import com.ruoyi.project.domain.vo.DonationCompletionVO;
|
import com.ruoyi.project.domain.vo.DonationWitnessVO;
|
import com.ruoyi.project.service.IServiceDonateorganService;
|
import freemarker.template.Template;
|
import freemarker.template.TemplateException;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import org.omg.CORBA.INTERNAL;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.PutMapping;
|
import org.springframework.web.bind.annotation.DeleteMapping;
|
import org.springframework.web.bind.annotation.PathVariable;
|
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RestController;
|
import com.ruoyi.common.annotation.Log;
|
import com.ruoyi.common.annotation.RepeatSubmit;
|
import com.ruoyi.common.core.controller.BaseController;
|
import com.ruoyi.common.core.domain.AjaxResult;
|
import com.ruoyi.common.enums.BusinessType;
|
import com.ruoyi.project.domain.ServiceDonatecompletioninfo;
|
import com.ruoyi.project.service.IServiceDonatecompletioninfoService;
|
import com.ruoyi.common.utils.poi.ExcelUtil;
|
import com.ruoyi.common.core.page.TableDataInfo;
|
import freemarker.template.Configuration;
|
|
|
/**
|
* 捐献完成Controller
|
*
|
* @author ruoyi
|
* @date 2021-11-19
|
*/
|
@Api("捐献完成登记管理")
|
@RestController
|
@RequestMapping("/project/donatecompletioninfo")
|
public class ServiceDonatecompletioninfoController extends BaseController
|
{
|
@Autowired
|
private IServiceDonatecompletioninfoService serviceDonatecompletioninfoService;
|
|
@Autowired
|
private IServiceDonateorganService serviceDonateorganService;
|
|
private static Configuration configuration = null;
|
|
public ServiceDonatecompletioninfoController() {
|
configuration = new Configuration();
|
configuration.setDefaultEncoding("utf-8");
|
}
|
|
/**
|
* 查询捐献完成列表
|
*/
|
@ApiOperation("查询捐献完成列表")
|
//@PreAuthorize("@ss.hasPermi('project:donatecompletioninfo:list')")
|
@GetMapping("/list")
|
public TableDataInfo list(ServiceDonatecompletioninfo serviceDonatecompletioninfo)
|
{
|
startPage();
|
List<ServiceDonatecompletioninfo> list = serviceDonatecompletioninfoService.queryList(serviceDonatecompletioninfo);
|
return getDataTable(list);
|
}
|
|
@ApiOperation("查询捐献完成列表(新)")
|
@GetMapping("/listnew")
|
@Log(title = "查询捐献完成列表(新)", businessType = BusinessType.OTHER)
|
public TableDataInfo listnew (DonationCompletionVO donationCompletionVO)
|
{
|
startPage();
|
List<DonationCompletionVO> list = serviceDonatecompletioninfoService.selectVOList(donationCompletionVO);
|
return getDataTable(list);
|
}
|
|
|
/**
|
* 导出捐献完成列表
|
*/
|
@ApiOperation("导出捐献完成列表")
|
//@PreAuthorize("@ss.hasPermi('project:donatecompletioninfo:export')")
|
@Log(title = "捐献完成", businessType = BusinessType.EXPORT)
|
@GetMapping("/export")
|
public AjaxResult export(ServiceDonatecompletioninfo serviceDonatecompletioninfo)
|
{
|
List<ServiceDonatecompletioninfo> list = serviceDonatecompletioninfoService.queryList(serviceDonatecompletioninfo);
|
ExcelUtil<ServiceDonatecompletioninfo> util = new ExcelUtil<ServiceDonatecompletioninfo>(ServiceDonatecompletioninfo.class);
|
return util.exportExcel(list, "捐献完成数据");
|
}
|
|
/**
|
* 获取捐献完成详细信息
|
*/
|
@ApiOperation("通过id获取某一条捐献完成信息")
|
//@PreAuthorize("@ss.hasPermi('project:donatecompletioninfo:query')")
|
@GetMapping(value = "/{id}")
|
public AjaxResult getInfo(@PathVariable("id") Long id)
|
{
|
return AjaxResult.success(serviceDonatecompletioninfoService.getById(id));
|
}
|
|
/**
|
* 新增捐献完成
|
*/
|
@ApiOperation("新增捐献完成")
|
//@PreAuthorize("@ss.hasPermi('project:donatecompletioninfo:add')")
|
@Log(title = "捐献完成", businessType = BusinessType.INSERT)
|
@PostMapping
|
@RepeatSubmit(interval = 5000)
|
public AjaxResult add(@RequestBody ServiceDonatecompletioninfo serviceDonatecompletioninfo)
|
{
|
serviceDonatecompletioninfoService.delDuplicateDonateCompletioninfo(serviceDonatecompletioninfo.getInfoid(),serviceDonatecompletioninfo.getCreateBy());
|
return toAjax(serviceDonatecompletioninfoService.save(serviceDonatecompletioninfo));
|
}
|
|
/**
|
* 修改捐献完成
|
*/
|
@RepeatSubmit
|
@ApiOperation("修改捐献完成")
|
//@PreAuthorize("@ss.hasPermi('project:donatecompletioninfo:edit')")
|
@Log(title = "捐献完成", businessType = BusinessType.UPDATE)
|
@PutMapping
|
public AjaxResult edit(@RequestBody ServiceDonatecompletioninfo serviceDonatecompletioninfo)
|
{
|
return toAjax(serviceDonatecompletioninfoService.updateById(serviceDonatecompletioninfo));
|
}
|
|
/**
|
* 删除捐献完成
|
*/
|
@ApiOperation("删除捐献完成")
|
//@PreAuthorize("@ss.hasPermi('project:donatecompletioninfo:remove')")
|
@Log(title = "捐献完成", businessType = BusinessType.DELETE)
|
@DeleteMapping("/{ids}")
|
public AjaxResult remove(@PathVariable Long[] ids)
|
{
|
return toAjax(serviceDonatecompletioninfoService.removeByIds(Arrays.asList(ids)));
|
}
|
|
/**
|
* 下载人体器官捐献完成结果登记表
|
*/
|
@ApiOperation("通过donorno下载人体器官捐献完成结果登记表")
|
@GetMapping(value = "/download/{id}")
|
public Map downloadInfo(@PathVariable Long id) throws IOException {
|
Map dataMap = new HashMap();
|
getData(dataMap, id);
|
String filePath = getClass().getResource("/template/").getPath();
|
System.out.println(filePath);
|
//设置模本装置方法和路径,FreeMarker支持多种模板装载方法。可以重servlet,classpath,数据库教程装载,
|
configuration.setDirectoryForTemplateLoading(new File(filePath));
|
Template t=null;
|
try {
|
//捐献表.ftl为要装载的模板
|
t = configuration.getTemplate("人体器官捐献完成结果登记表.ftl");
|
} catch (IOException e) {
|
e.printStackTrace();
|
}
|
String newTime = String.valueOf(Calendar.getInstance().getTimeInMillis());
|
String name = "人体器官捐献完成结果登记表_"+dataMap.get("XM")+"_"+ newTime;
|
//输出文档路径及名称
|
File outFile = new File(RuoYiConfig.getProfile()+"/download/wordtemplate/"+name+".doc");
|
Writer out = null;
|
|
try {
|
out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile),"utf-8"));
|
|
} catch (FileNotFoundException e1) {
|
e1.printStackTrace();
|
}
|
try {
|
t.process(dataMap, out);
|
} catch (TemplateException e) {
|
e.printStackTrace();
|
}
|
Map<String ,Object> map = new HashMap<>();
|
map.put("downloadUrl","/profile/download/wordtemplate/"+name+".doc");
|
return map;
|
}
|
/**
|
* 注意dataMap里存放的数据Key值要与模板中的参数相对应
|
* @param dataMap
|
*/
|
private void getData(Map dataMap, Long id){
|
DonationCompletionVO donationCompletionVO = new DonationCompletionVO();
|
//donationCompletionVO.setDonorno(serviceDonatecompletioninfo.getDonorno());
|
List<DonationCompletionVO> list = serviceDonatecompletioninfoService.selectVOList(donationCompletionVO);
|
DonationCompletionVO donationCompletion = new DonationCompletionVO();
|
for(DonationCompletionVO v : list){
|
if(v.getDcid() != null && v.getDcid().longValue() == id){
|
donationCompletion = v;
|
}
|
}
|
|
|
dataMap.put("JXBH",donationCompletion.getDcdonorno());
|
dataMap.put("XM",donationCompletion.getName());
|
dataMap.put("HQZZ",donationCompletion.getTreatmenthospitalname() == null ? "" : donationCompletion.getTreatmenthospitalname());
|
if(donationCompletion.getDonateorgan().contains("C22")){
|
dataMap.put("GZ",(char) 8730);
|
}else{
|
dataMap.put("GZ","□");
|
}
|
if(donationCompletion.getDonateorgan().contains("C64L")){
|
dataMap.put("ZS",(char) 8730);
|
}else{
|
dataMap.put("ZS","□");
|
}
|
if(donationCompletion.getDonateorgan().contains("C64R")){
|
dataMap.put("YS",(char) 8730);
|
}else{
|
dataMap.put("YS","□");
|
}
|
if(donationCompletion.getDonateorgan().contains("C38")){
|
dataMap.put("XZ",(char) 8730);
|
}else{
|
dataMap.put("XZ","□");
|
}
|
if(donationCompletion.getDonateorgan().contains("C34")){
|
dataMap.put("FZ",(char) 8730);
|
}else{
|
dataMap.put("FZ","□");
|
}
|
if(donationCompletion.getDonateorgan().contains("C25")){
|
dataMap.put("YX",(char) 8730);
|
}else{
|
dataMap.put("YX","□");
|
}
|
if(donationCompletion.getDonateorgan().contains("C17")){
|
dataMap.put("XC",(char) 8730);
|
}else{
|
dataMap.put("XC","□");
|
}
|
if(donationCompletion.getDonateorgan().contains("C69L")){
|
dataMap.put("ZYZZ",(char) 8730);
|
}else{
|
dataMap.put("ZYZZ","□");
|
}
|
if(donationCompletion.getDonateorgan().contains("C69R")){
|
dataMap.put("YYZZ",(char) 8730);
|
}else{
|
dataMap.put("YYZZ","□");
|
}
|
ServiceDonateorgan serviceDonateorgan = new ServiceDonateorgan();
|
serviceDonateorgan.setInfoid(donationCompletion.getInfoid());
|
List<ServiceDonateorgan> donateorganList = serviceDonateorganService.queryList(serviceDonateorgan);
|
//List<ServiceDonateorgan> donateorganList = serviceDonateorganService.selectServiceDonateorganListNotAbandon(serviceDonateorgan);
|
|
Boolean xz = false;
|
Boolean qg = false;
|
Boolean zg = false;
|
Boolean yg = false;
|
Boolean zs = false;
|
Boolean ys = false;
|
Boolean zf = false;
|
Boolean yf = false;
|
Boolean qf = false;
|
Boolean yx = false;
|
Boolean xc = false;
|
Boolean zyjm = false;
|
Boolean yyjm = false;
|
|
SimpleDateFormat sformat = new SimpleDateFormat("yyyy-MM-dd");
|
|
if(donateorganList.size() > 0){
|
for(int i = 0; i<donateorganList.size(); i++){
|
if(donateorganList.get(i).getOrganno().equals(OrganEnum.XZ.getCode())){
|
dataMap.put("XZYY",donateorganList.get(i).getTransplanthospitalname() == null ? "" : donateorganList.get(i).getTransplanthospitalname());
|
dataMap.put("XZFZR",donateorganList.get(i).getTransplantdoct() == null ? "" : donateorganList.get(i).getTransplantdoct());
|
if(donateorganList.get(i).getOrganstate().equals("99")){
|
dataMap.put("XZRQ", "弃用");
|
}
|
else {
|
dataMap.put("XZRQ", donateorganList.get(i).getTransplanttime() == null ? "" : sformat.format(donateorganList.get(i).getTransplanttime()));
|
}
|
xz = true;
|
}else if(donateorganList.get(i).getOrganno().equals(OrganEnum.QG.getCode())){
|
dataMap.put("GZYY",donateorganList.get(i).getTransplanthospitalname() == null ? "" : donateorganList.get(i).getTransplanthospitalname());
|
dataMap.put("GZFZR",donateorganList.get(i).getTransplantdoct() == null ? "" : donateorganList.get(i).getTransplantdoct());
|
if(donateorganList.get(i).getOrganstate().equals("99")){
|
dataMap.put("GZRQ", "弃用");
|
}
|
else {
|
dataMap.put("GZRQ", donateorganList.get(i).getTransplanttime() == null ? "" : sformat.format(donateorganList.get(i).getTransplanttime()));
|
}
|
qg = true;
|
}
|
else if(donateorganList.get(i).getOrganno().equals(OrganEnum.ZG.getCode())){
|
dataMap.put("ZGZYY",donateorganList.get(i).getTransplanthospitalname() == null ? "" : donateorganList.get(i).getTransplanthospitalname());
|
dataMap.put("ZGZFZR",donateorganList.get(i).getTransplantdoct() == null ? "" : donateorganList.get(i).getTransplantdoct());
|
if(donateorganList.get(i).getOrganstate().equals("99")){
|
dataMap.put("ZGZRQ", "弃用");
|
}
|
else {
|
dataMap.put("ZGZRQ", donateorganList.get(i).getTransplanttime() == null ? "" : sformat.format(donateorganList.get(i).getTransplanttime()));
|
}
|
zg = true;
|
}
|
else if(donateorganList.get(i).getOrganno().equals(OrganEnum.YG.getCode())){
|
dataMap.put("YGZYY",donateorganList.get(i).getTransplanthospitalname() == null ? "" : donateorganList.get(i).getTransplanthospitalname());
|
dataMap.put("YGZFZR",donateorganList.get(i).getTransplantdoct() == null ? "" : donateorganList.get(i).getTransplantdoct());
|
if(donateorganList.get(i).getOrganstate().equals("99")){
|
dataMap.put("YGZRQ", "弃用");
|
}
|
else {
|
dataMap.put("YGZRQ", donateorganList.get(i).getTransplanttime() == null ? "" : sformat.format(donateorganList.get(i).getTransplanttime()));
|
}
|
yg = true;
|
}
|
else if(donateorganList.get(i).getOrganno().equals(OrganEnum.ZS.getCode())){
|
dataMap.put("ZSYY",donateorganList.get(i).getTransplanthospitalname() == null ? "" : donateorganList.get(i).getTransplanthospitalname());
|
dataMap.put("ZSFZR",donateorganList.get(i).getTransplantdoct() == null ? "" : donateorganList.get(i).getTransplantdoct());
|
if(donateorganList.get(i).getOrganstate().equals("99")){
|
dataMap.put("ZSRQ", "弃用");
|
}
|
else {
|
dataMap.put("ZSRQ", donateorganList.get(i).getTransplanttime() == null ? "" : sformat.format(donateorganList.get(i).getTransplanttime()));
|
}
|
zs = true;
|
}
|
else if(donateorganList.get(i).getOrganno().equals(OrganEnum.YS.getCode())){
|
dataMap.put("YSYY",donateorganList.get(i).getTransplanthospitalname() == null ? "" : donateorganList.get(i).getTransplanthospitalname());
|
dataMap.put("YSFZR",donateorganList.get(i).getTransplantdoct() == null ? "" : donateorganList.get(i).getTransplantdoct());
|
if(donateorganList.get(i).getOrganstate().equals("99")){
|
dataMap.put("YSRQ", "弃用");
|
}
|
else {
|
dataMap.put("YSRQ", donateorganList.get(i).getTransplanttime() == null ? "" : sformat.format(donateorganList.get(i).getTransplanttime()));
|
}
|
ys = true;
|
}
|
else if(donateorganList.get(i).getOrganno().equals(OrganEnum.ZF.getCode())){
|
dataMap.put("ZFYY",donateorganList.get(i).getTransplanthospitalname() == null ? "" : donateorganList.get(i).getTransplanthospitalname());
|
dataMap.put("ZFFZR",donateorganList.get(i).getTransplantdoct() == null ? "" : donateorganList.get(i).getTransplantdoct());
|
if(donateorganList.get(i).getOrganstate().equals("99")){
|
dataMap.put("ZFRQ", "弃用");
|
}
|
else {
|
dataMap.put("ZFRQ", donateorganList.get(i).getTransplanttime() == null ? "" : sformat.format(donateorganList.get(i).getTransplanttime()));
|
}
|
zf = true;
|
}else if(donateorganList.get(i).getOrganno().equals(OrganEnum.YF.getCode())){
|
dataMap.put("YFYY",donateorganList.get(i).getTransplanthospitalname() == null ? "" : donateorganList.get(i).getTransplanthospitalname());
|
dataMap.put("YFFZR",donateorganList.get(i).getTransplantdoct() == null ? "" : donateorganList.get(i).getTransplantdoct());
|
if(donateorganList.get(i).getOrganstate().equals("99")){
|
dataMap.put("YFRQ", "弃用");
|
}
|
else {
|
dataMap.put("YFRQ", donateorganList.get(i).getTransplanttime() == null ? "" : sformat.format(donateorganList.get(i).getTransplanttime()));
|
}
|
yf = true;
|
}else if(donateorganList.get(i).getOrganno().equals(OrganEnum.QF.getCode())){
|
dataMap.put("FZYY",donateorganList.get(i).getTransplanthospitalname() == null ? "" : donateorganList.get(i).getTransplanthospitalname());
|
dataMap.put("FZFZR",donateorganList.get(i).getTransplantdoct() == null ? "" : donateorganList.get(i).getTransplantdoct());
|
if(donateorganList.get(i).getOrganstate().equals("99")){
|
dataMap.put("FZRQ", "弃用");
|
}
|
else {
|
dataMap.put("FZRQ", donateorganList.get(i).getTransplanttime() == null ? "" : sformat.format(donateorganList.get(i).getTransplanttime()));
|
}
|
qf = true;
|
} else if(donateorganList.get(i).getOrganno().equals(OrganEnum.YX.getCode())){
|
dataMap.put("YXYY",donateorganList.get(i).getTransplanthospitalname() == null ? "" : donateorganList.get(i).getTransplanthospitalname());
|
dataMap.put("YXFZR",donateorganList.get(i).getTransplantdoct() == null ? "" : donateorganList.get(i).getTransplantdoct());
|
if(donateorganList.get(i).getOrganstate().equals("99")){
|
dataMap.put("YXRQ", "弃用");
|
}
|
else {
|
dataMap.put("YXRQ", donateorganList.get(i).getTransplanttime() == null ? "" : sformat.format(donateorganList.get(i).getTransplanttime()));
|
}
|
yx = true;
|
}else if(donateorganList.get(i).getOrganno().equals(OrganEnum.XC.getCode())){
|
dataMap.put("XCYY",donateorganList.get(i).getTransplanthospitalname() == null ? "" : donateorganList.get(i).getTransplanthospitalname());
|
dataMap.put("XCYY",donateorganList.get(i).getTransplantdoct() == null ? "" : donateorganList.get(i).getTransplantdoct());
|
if(donateorganList.get(i).getOrganstate().equals("99")){
|
dataMap.put("XCYY", "弃用");
|
}
|
else {
|
dataMap.put("XCYY", donateorganList.get(i).getTransplanttime() == null ? "" : sformat.format(donateorganList.get(i).getTransplanttime()));
|
}
|
xc = true;
|
}else if(donateorganList.get(i).getOrganno().equals(OrganEnum.ZYJM.getCode())){
|
dataMap.put("ZYYY",donateorganList.get(i).getTransplanthospitalname() == null ? "" : donateorganList.get(i).getTransplanthospitalname());
|
dataMap.put("ZYFZR",donateorganList.get(i).getTransplantdoct() == null ? "" : donateorganList.get(i).getTransplantdoct());
|
if(donateorganList.get(i).getOrganstate().equals("99")){
|
dataMap.put("ZYRQ", "弃用");
|
}
|
else {
|
dataMap.put("ZYRQ", donateorganList.get(i).getTransplanttime() == null ? "" : sformat.format(donateorganList.get(i).getTransplanttime()));
|
}
|
zyjm = true;
|
}else if(donateorganList.get(i).getOrganno().equals(OrganEnum.YYJM.getCode())){
|
dataMap.put("YYYY",donateorganList.get(i).getTransplanthospitalname() == null ? "" : donateorganList.get(i).getTransplanthospitalname());
|
dataMap.put("YYFZR",donateorganList.get(i).getTransplantdoct() == null ? "" : donateorganList.get(i).getTransplantdoct());
|
if(donateorganList.get(i).getOrganstate().equals("99")){
|
dataMap.put("YYRQ", "弃用");
|
}
|
else {
|
dataMap.put("YYRQ", donateorganList.get(i).getTransplanttime() == null ? "" : sformat.format(donateorganList.get(i).getTransplanttime()));
|
}
|
yyjm = true;
|
}
|
}
|
if(xz.booleanValue() == false){
|
dataMap.put("XZYY","");
|
dataMap.put("XZFZR","");
|
dataMap.put("XZRQ","");
|
}
|
if(qg.booleanValue() == false){
|
dataMap.put("GZYY","");
|
dataMap.put("GZFZR","");
|
dataMap.put("GZRQ","");
|
}
|
if(zg.booleanValue() == false){
|
dataMap.put("ZGYY","");
|
dataMap.put("ZGFZR","");
|
dataMap.put("ZGRQ","");
|
}
|
if(yg.booleanValue() == false){
|
dataMap.put("YGYY","");
|
dataMap.put("YGFZR","");
|
dataMap.put("YGRQ","");
|
}
|
if(zs.booleanValue() == false){
|
dataMap.put("ZSYY","");
|
dataMap.put("ZSFZR","");
|
dataMap.put("ZSRQ","");
|
}
|
if(ys.booleanValue() == false){
|
dataMap.put("YSYY","");
|
dataMap.put("YSFZR","");
|
dataMap.put("YSRQ","");
|
}
|
if(zf.booleanValue() == false){
|
dataMap.put("ZFYY","");
|
dataMap.put("ZFFZR","");
|
dataMap.put("ZFRQ","");
|
}
|
if(yf.booleanValue() == false){
|
dataMap.put("YFYY","");
|
dataMap.put("YFFZR","");
|
dataMap.put("YFRQ","");
|
}
|
if(qf.booleanValue() == false){
|
dataMap.put("FZYY","");
|
dataMap.put("FZFZR","");
|
dataMap.put("FZRQ","");
|
}
|
if(yx.booleanValue() == false){
|
dataMap.put("YXYY","");
|
dataMap.put("YXFZR","");
|
dataMap.put("YXRQ","");
|
}
|
if(xc.booleanValue() == false){
|
dataMap.put("XCYY","");
|
dataMap.put("XCFZR","");
|
dataMap.put("XCRQ","");
|
}
|
if(zyjm.booleanValue() == false){
|
dataMap.put("ZYYY","");
|
dataMap.put("ZYFZR","");
|
dataMap.put("ZYRQ","");
|
}
|
if(yyjm.booleanValue() == false){
|
dataMap.put("YYYY","");
|
dataMap.put("YYFZR","");
|
dataMap.put("YYRQ","");
|
}
|
}
|
|
dataMap.put("FZR", donationCompletion.getResponsibleusername() == null ? "" : donationCompletion.getResponsibleusername());
|
dataMap.put("XTY1", donationCompletion.getCoordinatedusernameo() == null ? "" : donationCompletion.getCoordinatedusernameo());
|
dataMap.put("XTY2", donationCompletion.getCoordinatedusernamet() == null ? "" : donationCompletion.getCoordinatedusernamet());
|
dataMap.put("WCRQ", sformat.format(donationCompletion.getCompletetime()) == null ? "" : sformat.format(donationCompletion.getCompletetime()));
|
|
}
|
}
|