You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

425 lines
17 KiB

using Newtonsoft.Json;
using QZWebApi.Bus;
using QZWebApi.Models;
using System;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.Configuration;
using System.Data;
using System.IO;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Text;
using System.Web.Hosting;
using System.Web.Http;
using System.Web.Http.Results;
namespace QZWebApi.Controllers
{
public class ValuesController : ApiController
{
[HttpGet]
public string GetPlanChange(string HospitalId, string year, string AesKey)
{
//获得请求的时间秒数
long timeStamp = TjSignUtil.Get_Timestamp();
//获得请求参数签名
string signature = TjSignUtil.GetSignatureBytoken(AesKey, timeStamp.ToString(), HospitalId + DateTime.Now.Year.ToString());
//定义远程接口参数
NameValueCollection c = new NameValueCollection();
c.Add("hospitalId", HospitalId);
c.Add("year", year);
c.Add("timestamp", timeStamp.ToString());
c.Add("signature", signature);
//获取远程接口返回数据
var url = @"http://qzjk.qztlgs.com/qzjk/planUser/getPlanChange?";
var result = HttpHelper.CreateGetHttpRequest(url, c, "", 10000);
return result;
//PlanChangeModel m = new PlanChangeModel();
//m.status = true;
//m.message = "OK";
//m.size = 3;
//m.ids = new int[] { 123, 1234, 124 };
//string json = JsonConvert.SerializeObject(m);
//return new HttpResponseMessage()
//{
// Content = new StringContent(json, Encoding.UTF8, "application/json"),
//};
//返回给红豚
//return json;
}
[HttpGet]
public PlanModel GetPlan(string HospitalId, string year, string AesKey)
{
//获取远程接口数据返回
//PlanModel m = new PlanModel();
//m.status = true;
//m.message = "OK";
//m.size = 50;
//m.plans = new List<JkPlanUserBean>()
//{
// new JkPlanUserBean()
// {
// id=12345678,year=2019,typeName="全员体检",phase="岗间体检",personName="张小明",cardId="630102197408192921",sex="男",age=24,wedding=2,orgId=146,orgName="西宁工务段-平安车间",workType="干部",tjTab1=0,tjTab2=0,grade="2",mobile="13897066306",ifMain=0,ifGy=1,ifJk=0,ifWh=0,ifCw=0,ifGt=0,ifCy=0,ifFj=0,remarks="需要做心脏彩超"
// },
// new JkPlanUserBean()
// {
// id=12312312,year=2019,typeName="全员体检",phase="岗间体检",personName="刘小花",cardId="630102197408192921",sex="男",age=24,wedding=2,orgId=146,orgName="西宁工务段-平安车间",workType="干部",tjTab1=0,tjTab2=0,grade="2",mobile="13897066306",ifMain=0,ifGy=1,ifJk=0,ifWh=0,ifCw=0,ifGt=0,ifCy=0,ifFj=0,remarks="需要做心脏彩超"
// }
//};
//return m;
//获得请求的时间秒数
long timeStamp = TjSignUtil.Get_Timestamp();
//获得请求参数签名
string signature = TjSignUtil.GetSignatureBytoken(AesKey, timeStamp.ToString(), HospitalId + year);
//定义远程接口参数
NameValueCollection c = new NameValueCollection();
c.Add("hospitalId", HospitalId);
c.Add("year", year);
c.Add("timestamp", timeStamp.ToString());
c.Add("signature", signature);
//获取远程接口返回数据
var url = @"http://qzjk.qztlgs.com/qzjk/planUser/getPlan?";
var model = new PlanModel();
try
{
var result = HttpHelper.CreateGetHttpRequest(url, c, "", 10000);
model = JsonConvert.DeserializeObject<PlanModel>(result);
var plansStr = TjSignUtil.Decrypt(model.plans, ConfigurationManager.AppSettings["AESJavaToNetKey"].ToString());
model.plans = plansStr;
}
catch
{
}
return model;
}
[HttpGet]
public string SetPlanOK(string HospitalId, string AesKey, string ids, string delids)
{
//获得请求的时间秒数
long timeStamp = TjSignUtil.Get_Timestamp();
//获得请求参数签名
string signature = TjSignUtil.GetSignatureBytoken(AesKey, timeStamp.ToString(), HospitalId + ids + delids);
//定义远程接口参数
NameValueCollection c = new NameValueCollection();
c.Add("hospitalId", HospitalId);
c.Add("ids", ids);
c.Add("delids", delids);
c.Add("timestamp", timeStamp.ToString());
c.Add("signature", signature);
//获取远程接口返回数据
var url = @"http://qzjk.qztlgs.com/qzjk/planUser/setPlanOk?";
var result = "";
try
{
result = HttpHelper.CreateGetHttpRequest(url, c, "", 10000);
}
catch
{
}
return result;
}
//[HttpGet]
//public GetTjxxModel getTjxx(string AesKey, string deptId, int planUserId, string timestamp, string signature)
//{
// //获得请求的时间秒数
// long timeStamp = TjSignUtil.Get_Timestamp();
// GetTjxxModel m = new GetTjxxModel();
// //{status:true,message:"OK"
// if (!AesKey.Equals(ConfigurationManager.AppSettings["AESKey"].ToString()))
// {
// m.status = false;
// m.message = "身份密匙错误";
// //return m;
// }
// //else if ((timeStamp - long.Parse(timestamp)) > 10L)
// //{
// // m.status = false;
// // m.message = "时间校验失败";
// // //return m;
// //}
// //else if (!TjSignUtil.GetSignatureBytoken(ConfigurationManager.AppSettings["AESKey"].ToString(), timestamp, deptId + planUserId).Equals(signature))
// //{
// // m.status = false;
// // m.message = "请求参数签名错误";
// // //return m;
// //}
// else
// {
// //获取对应计划的数据
// DataTable data = new DataTable();
// DataBase db = new DataBase();
// try
// {
// data = db.QyeryTJXX(deptId, planUserId);
// if (data.Rows.Count == 0)
// {
// m.status = false;
// m.message = "该体检计划对应的体检项目未全部完成";
// }
// else
// {
// List<JkTjxxBean> items = new List<JkTjxxBean>();
// foreach (DataRow dr in data.Rows)
// {
// items.Add(new JkTjxxBean()
// {
// id = long.Parse(dr["item_id"].ToString()),
// tjxmMc = dr["item_name"].ToString(),
// ysValue = dr["result"].ToString(),
// remark = dr["report_prompt"].ToString(),
// tjUnit = dr["unit"].ToString(),
// price = dr["price"] == DBNull.Value ? 0 : double.Parse(dr["unit"].ToString())
// });
// }
// string itemsStr = JsonConvert.SerializeObject(items);
// m.items = TjSignUtil.AESEncode(itemsStr, ConfigurationManager.AppSettings["AESJavaToNetKey"].ToString());
// m.tjDate = DateTime.Parse(data.Rows[0]["summary_date"].ToString()).ToString("yyyy-MM-dd");
// m.status = true;
// m.message = "OK";
// m.planUserId = Convert.ToInt32(planUserId);
// m.size = data.Rows.Count;
// }
// //string jsonStr = JsonConvert.SerializeObject(m);
// }
// catch (Exception ex)
// {
// m.message = ex.Message;
// m.status = false;
// }
// }
// return m;
//}
///// <summary>
///// 获取体检信息
///// </summary>
///// <param name="deptId"></param>
///// <param name="planUserId"></param>
///// <param name="timestamp"></param>
///// <param name="signature"></param>
///// <returns></returns>
//[HttpGet]
//public GetTjjlModel getTjxx(string deptId, int planUserId, string timestamp, string signature)
//{
// GetTjjlModel m = new GetTjjlModel();
// try
// {
// //获得请求的时间秒数
// long timeStamp = TjSignUtil.Get_Timestamp();
// //获取对应计划的数据
// DataTable data1 = new DataTable();
// DataTable data2 = new DataTable();
// DataTable data3 = new DataTable();
// DataBase db = new DataBase();
// data1 = db.QyeryJL1(deptId, planUserId);
// if (data1.Rows.Count == 0)
// {
// m.status = 1;
// m.errorMsg = "该体检计划对应的体检项目未全部完成";
// }
// else
// {
// data2 = db.QyeryJL2(planUserId);
// data3 = db.QyeryJL3(planUserId);
// m.status = 0;
// m.errorMsg = "OK";
// m.planUserId = Convert.ToInt32(planUserId);
// m.date = DateTime.Parse(data1.Rows[0]["summary_date"].ToString()).ToString("yyyy-MM-dd");
// TjjlDetails d = new TjjlDetails();
// d.summary = data1.Rows[0]["summary"] == DBNull.Value ? "" : data1.Rows[0]["summary"].ToString();
// d.suggestion = data1.Rows[0]["suggestion"] == DBNull.Value ? "" : data1.Rows[0]["suggestion"].ToString();
// d.cardId = data1.Rows[0]["id_card_no"] == DBNull.Value ? "" : data1.Rows[0]["id_card_no"].ToString();
// d.packages = new List<TjjlPackages>();
// foreach (DataRow dr in data2.Rows)
// {
// TjjlPackages p = new TjjlPackages();
// p.packageName = dr["asbitem_name"] == DBNull.Value ? "" : dr["asbitem_name"].ToString();
// p.fee = dr["price"] == DBNull.Value ? 0d : double.Parse(dr["price"].ToString());
// p.summary = dr["summary"] == DBNull.Value ? "" : dr["summary"].ToString();
// p.items = new List<JkTjxxBean>();
// foreach (DataRow dr1 in data3.Rows)
// {
// JkTjxxBean j = new JkTjxxBean();
// if (dr1["asbitem_id"].ToString().Equals(dr["asbitem_id"].ToString()))
// {
// //j.id=dr1["id"]
// j.price = dr1["price"] == DBNull.Value ? 0d : double.Parse(dr1["price"].ToString());
// j.tjxmMc = dr1["item_name"] == DBNull.Value ? "" : dr1["item_name"].ToString();
// j.reference = dr1["reference"] == DBNull.Value ? "" : dr1["reference"].ToString();
// j.remark = dr1["remark"] == DBNull.Value ? "" : dr1["remark"].ToString();
// j.tjUnit = dr1["unit"] == DBNull.Value ? "" : dr1["unit"].ToString();
// j.ysValue = dr1["result"] == DBNull.Value ? "" : dr1["result"].ToString();
// p.items.Add(j);
// }
// }
// d.packages.Add(p);
// }
// string itemsStr = JsonConvert.SerializeObject(d);
// m.data = TjSignUtil.AESEncode(itemsStr, ConfigurationManager.AppSettings["AESJavaToNetKey"].ToString());
// }
// return m;
// }
// catch(Exception ex)
// {
// m.errorMsg = ex.ToString();
// return m;
// }
//}
/// <summary>
/// 获取体检信息
/// </summary>
/// <param name="deptId"></param>
/// <param name="planUserId"></param>
/// <param name="timestamp"></param>
/// <param name="signature"></param>
/// <returns></returns>
[HttpGet]
public GetTjjlModel getTjxx(string deptId, int planUserId, string timestamp, string signature)
{
GetTjjlModel m = new GetTjjlModel();
try
{
//获得请求的时间秒数
long timeStamp = TjSignUtil.Get_Timestamp();
//获取对应计划的数据
DataTable data_peis = new DataTable();
DataTable data2 = new DataTable();
DataTable data3 = new DataTable();
SqlSugarHelper db = new SqlSugarHelper();
data_peis = db.GetPeisInfo(planUserId.ToString());
if (data_peis.Rows.Count == 0)
{
m.status = 1;
m.errorMsg = "该体检计划对应的体检项目未全部完成";
}
else
{
//data2 = db.QyeryJL2(planUserId);
//data3 = db.QyeryJL3(planUserId);
m.status = 0;
m.errorMsg = "OK";
m.planUserId = Convert.ToInt32(planUserId);
m.date = DateTime.Parse(data_peis.Rows[0]["summary_date"].ToString()).ToString("yyyy-MM-dd");
TjjlDetails d = new TjjlDetails();
d.summary = db.GetSumSummary(planUserId.ToString());
d.suggestion = db.GetSumSuggestion(planUserId.ToString());
d.cardId = string.IsNullOrWhiteSpace(data_peis.Rows[0]["id_no"].ToString()) ? "" : data_peis.Rows[0]["id_no"].ToString();
d.packages = db.GetRegisterCheck(planUserId.ToString());
string itemsStr = JsonConvert.SerializeObject(d);
m.data = TjSignUtil.AESEncode(itemsStr, ConfigurationManager.AppSettings["AESJavaToNetKey"].ToString());
}
return m;
}
catch (Exception ex)
{
m.errorMsg = ex.ToString();
return m;
}
}
/// <summary>
/// 获取体检报告
/// </summary>
/// <param name="deptId"></param>
/// <param name="planUserId"></param>
/// <param name="timestamp"></param>
/// <param name="signature"></param>
/// <returns></returns>
[HttpGet]
public TiwdModel getReport(string deptId, int planUserId, string timestamp, string signature)
{
//获得请求的时间秒数
long timeStamp = TjSignUtil.Get_Timestamp();
TiwdModel m = new TiwdModel();
//{
//获取对应计划的数据
DataTable data = new DataTable();
SqlSugarHelper db = new SqlSugarHelper();
data = db.GetPeisReport(planUserId.ToString());
if (data.Rows.Count == 0)
{
m.status = 1;
m.errorMsg = "没有对应的体检报告";
return m;
}
else
{
m.errorMsg = "";
m.IsSec = 0;
m.planUserId = planUserId.ToString();
var str = db.GetImageBase64StringAsync(ConfigurationManager.AppSettings["WebApiUrl"].ToString() + data.Rows[0]["report_file"].ToString());
m.file = str;
m.type = "pdf";
m.status = 0;
return m;
}
}
// GET api/values
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
// GET api/values/5
public string Get(int id)
{
return "value";
}
// POST api/values
public void Post([FromBody] string value)
{
}
// PUT api/values/5
public void Put(int id, [FromBody] string value)
{
}
// DELETE api/values/5
public void Delete(int id)
{
}
}
}