using dccdc.BLL;
using dccdc.Models;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using Spire.Pdf;
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using System.Web;
using System.Web.Mvc;
namespace dccdc.Controllers
{
///
/// 肺功能
///
public class pftController : Controller
{
///
/// 获取人员信息
///
///
public JsonResult getPeopleInfo(string physicalNum)
{
BLL.ProfessionalExamRegisterBll bll = new BLL.ProfessionalExamRegisterBll();
BLL.professionalExam_project_resultBll pr = new BLL.professionalExam_project_resultBll();
// 查询登记信息
Models.ProfessionalExamRegisterModel pe = bll.getModel(physicalNum);
// 查询体检人员体检项目
System.Collections.Generic.List lists = pr.getPersonResult(pe.id, null);
string height = "";
string weight = "";
lists.ForEach(item =>
{
if (item.project_name.Contains("身高"))
{
height = item.project_result;
}
if (item.project_name.Contains("体重"))
{
weight = item.project_result;
}
});
FileStream fsw = new FileStream("C:/进行了获取.txt", FileMode.OpenOrCreate);
//字符串转byte[]
byte[] writeBytes = Encoding.UTF8.GetBytes(DateTime.Now.ToString());
//写入
//fsw.Write(null, 0, 0);
fsw.Write(writeBytes, 0, writeBytes.Length);
//关闭文件流
fsw.Close();
return new JsonResult()
{
Data = new
{
physicalNum = pe.physical_num,
sex = pe.sex,
age = pe.person_age,
birthday = pe.birth,
address = pe.home_address,
height,
weight,
name = pe.person_name,
phone = pe.phone
},
JsonRequestBehavior = JsonRequestBehavior.AllowGet
};
}
///
/// 上传结果报告
///
/// 体检编号
/// 检查结果
/// 文件base64
///
public string putReport(string physicalNum, string resultValue)
{
var fs = HttpContext.Request.Files;
string path = "file/pft/" + DateTime.Now.ToString("yyMMdd") + "/";
if (!Directory.Exists(Server.MapPath("~/" + path)))
{
Directory.CreateDirectory(Server.MapPath("~/" + path));
}
StringBuilder retmsg = new StringBuilder();
retmsg.Append("\r\n -------physicalNum:").Append(physicalNum);
retmsg.Append("\r\n -------resultValue:").Append(resultValue);
//retmsg.Append("\r\n -------file:").Append(file);
FileStream fsw = new FileStream("C:/参数查看.txt", FileMode.OpenOrCreate);
//字符串转byte[]
byte[] writeBytes = Encoding.UTF8.GetBytes(retmsg.ToString());
//写入
fsw.Write(writeBytes, 0, writeBytes.Length);
//关闭文件流
fsw.Close();
BLL.ProfessionalExamRegisterBll bll = new BLL.ProfessionalExamRegisterBll();
BLL.professionalExam_project_resultBll pr = new BLL.professionalExam_project_resultBll();
// 查询登记信息
Models.ProfessionalExamRegisterModel pe = bll.getModel(physicalNum);
if (null == pe)
{
return "failed:无此条码";
}
// 查询体检人员体检项目
//List lists = pr.getPersonResult(pe.id, null);
List lists = new BLL.ProfessionalExamRegisterBll().getResult(physicalNum);
JObject v = (JObject)JsonConvert.DeserializeObject(resultValue);
int projectId = 0;
int projectResultId = 0;
//bool FEV1, FVC, FEV1_FVC;
// 获取相对应的数据
lists.ForEach(item =>
{
//FEV1 = item.project_name == "FEV1%" && jp.Name == "FEV_1";
//FVC = item.project_name == "FVC%" && jp.Name == "FVC";
//FEV1_FVC = item.project_name == "FEV1/FVC%" && jp.Name == "FEV_1_100";
//if (FEV1 || FVC || FEV1_FVC)
//{
// item.project_result = jp.Value.ToString();
// pr.updatePft(item);
// if (FVC)
// {
// projectId = int.Parse(item.project_id);
// projectResultId = item.id;
// }
// return;
//}
foreach (var jp in v.Properties())
{
if (item.special_conf == jp.Name)
{
item.project_result = jp.Value.ToString();
pr.updatePft(item);
if (item.special_conf == "FVC")
{
projectId = int.Parse(item.project_id);
projectResultId = item.id;
}
break;
}
}
});
if (fs.Count > 0)
{
path += physicalNum + ".jpg";
//Aspose.Pdf.License l = new Aspose.Pdf.License();
//string licenseName = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Aspose.Total.Product.Family.lic");
//l.SetLicense("");
//Aspose.Pdf.Document document = new Aspose.Pdf.Document(fs[0].InputStream);
//var device = new Aspose.Pdf.Devices.JpegDevice();
//for (var i = 1; i <= document.Pages.Count; i++)
//{
// FileStream fsJpg = new FileStream(Server.MapPath("~/" + path), FileMode.OpenOrCreate);
// try
// {
// device.Process(document.Pages[i], fsJpg);
// fsJpg.Close();
// }
// catch (Exception ex)
// {
// fsJpg.Close();
// System.IO.File.Delete(Server.MapPath("~/" + path));
// }
//}
//初始化一个PdfDocument类实例,并加载PDF文档
PdfDocument doc = new PdfDocument();
doc.LoadFromStream(fs[0].InputStream);
//遍历PDF每一页
for (int i = 0; i < doc.Pages.Count; i++)
{
//将PDF页转换成Bitmap图形
System.Drawing.Image bmp = doc.SaveAsImage(i);
//将Bitmap图形保存为Png格式的图片
//string fileName = string.Format("Page-{0}.png", i + 1);
bmp.Save(Server.MapPath("~/" + path), System.Drawing.Imaging.ImageFormat.Jpeg);
}
//fs[0].SaveAs(Server.MapPath("~/" + path));
// 将文件插入到result_img表
List list = new List();
ProfessionalExamProjectResultImgsModel resImg = new ProfessionalExamProjectResultImgsModel();
resImg.img_path = path;
resImg.img_type = "肺功能图片";
resImg.person_id = int.Parse(pe.id);
resImg.project_id = projectId;
resImg.project_result_id = projectResultId;
list.Add(resImg);
new professionalExamProjectResultImgsBll().saveResultImgs(list);
}
return "ok";
}
}
}