using System; using System.Collections.Generic; using System.Linq; using System.Text; using SOH.Entities; using SOH.Data; using EAS.Services; using EAS.Data.ORM; using EAS.Data.Linq; using SOH.Entities.DTO; using EAS.Data.Access; using System.Globalization; using System.IO; using System.Data; using System.Data.SqlClient; namespace SOH.BLL { [ServiceObject("查体项目表")] [ServiceBind(typeof(It_tempdjxm))] public class t_tempdjxmBll : It_tempdjxm { public String getInfo(String tm) { return ""; } public List GetModelBytm(int tm, int ztz) { using (DbEntities db = new DbEntities()) { var data = db.t_tempdjxms.Where(t => t.ztz == ztz && t.tm == tm); return data.ToList(); } } public List GetModelBytm2(int tm) { using (DbEntities db = new DbEntities()) { var data = db.t_tempdjxms.Where(t => t.ztz != 4 && t.tm == tm); return data.ToList(); } } /// /// 根据状态把状态修改成正在检查或待查 /// /// public OperationResult Updatedjxm(int tm, short ztz, short tmztz) { int ztz1 = 0; if (ztz == 3) { ztz1 = 0; } else ztz1 = 3; OperationResult or = new OperationResult(); using (DbEntities db = new DbEntities()) { using (DbTransaction tan = db.DataAccessor.CreateTransaction()) { try { List list = db.t_tempdjxms.Where(t => t.tm == tm && t.ztz == ztz1).ToList(); foreach (t_tempdjxm m in list) { m.ztz = ztz; db.t_tempdjxms.Update(m); } int tm1 = 0; if (Int32.TryParse(tm.ToString(), out tm1)) { bool ifgr = tm.ToString("0000000000").StartsWith("1"); //以0开头的tm是个人的 if (!ifgr) //个人体检 { t_grgzb b = db.t_grgzbs.Where(t => t.tm == tm).FirstOrDefault(); b.tmztz = tmztz; if (b.dyrq == null) { b.dyrq = Convert.ToDateTime("1900-01-01"); } db.t_grgzbs.Update(b); } else { t_ttgzb b = db.t_ttgzbs.Where(t => t.tm == tm).FirstOrDefault(); b.tmztz = tmztz; if (b.dyrq == null) { b.dyrq = Convert.ToDateTime("1900-01-01"); } db.t_ttgzbs.Update(b); } } tan.Commit(); or.State = 1; or.Message = "操作成功!"; } catch (Exception e) { tan.Rollback(); or.State = 2; or.Message = "操作失败!"; } } } return or; } public String getBenKeShi(String tm, string username) { String userId = username; using (DbEntities db = new DbEntities()) { var testdata = db.t_czylrqxs.ToList(); var data = db.t_tempdjxms.Join(db.t_kss, t => t.ksbm, p => p.ksbm, (t, p) => new { ksmc = p.ksmc, ksbm = t.ksbm, tm = t.tm, ztz = t.ztz, lx = p.lx, kszdjg = p.kszdjg, }).Join(db.t_czylrqxs, t => t.ksbm, p => p.ksbm, (t, p) => new { ksmc = t.ksmc, tm = t.tm, bm = p.ksbm, ksbm = t.ksbm, ztz = t.ztz, userId = p.czy, lx = t.lx, kszdjg = t.kszdjg, }).Join(db.t_kss, t => t.ksbm, p => p.ksbm, (t, p) => new { ksmc = t.ksmc, tm = t.tm, bm = t.bm, ksbm = t.ksbm, ztz = t.ztz, userId = t.userId, xssx = p.xssx, lx = t.lx, kszdjg = t.kszdjg, }).Where(t => t.ztz != 2).OrderBy(t => t.xssx).Where(t => t.tm == Convert.ToInt32((tm)) && t.userId == userId); var returnData = data.Select(t => new { ksmc = t.ksmc, ksbm = t.ksbm, ztz = t.ztz, kszdjg = t.kszdjg, }).Distinct(); return Newtonsoft.Json.JsonConvert.SerializeObject(returnData); } } public String getAllKs(String tm, string username) { String userId = username; using (DbEntities db = new DbEntities()) { var testdata = db.t_czylrqxs.ToList(); var data = db.t_tempdjxms.Join(db.t_kss, t => t.ksbm, p => p.ksbm, (t, p) => new { ksmc = p.ksmc, ksbm = t.ksbm, tm = t.tm, ztz = t.ztz, }).Join(db.t_kss, t => t.ksbm, p => p.ksbm, (t, p) => new { ksmc = t.ksmc, tm = t.tm, ksbm = t.ksbm, ztz = t.ztz, xssx = p.xssx }).OrderBy(t => t.xssx).Where(t => t.tm == Convert.ToInt32((tm))); var returnData = data.Select(t => new { ksmc = t.ksmc, ksbm = t.ksbm, ztz = t.ztz }).Distinct(); return Newtonsoft.Json.JsonConvert.SerializeObject(returnData); } } public String getQiTaKeShi(String tm, string username) { String userId = username; using (DbEntities db = new DbEntities()) { //List notinks = db.t_czylrqxs.Where(t => t.czy == userId).Select(t => t.ksbm.ToString()).ToList(); var data = db.t_tempdjxms.Join(db.t_kss, t => t.ksbm, p => p.ksbm, (t, p) => new { ksmc = p.ksmc, ksbm = t.ksbm, tm = t.tm, ztz = t.ztz, lx = p.lx }).Join(db.t_kss, t => t.ksbm, p => p.ksbm, (t, p) => new { ksmc = t.ksmc, tm = t.tm, ksbm = t.ksbm, ztz = t.ztz, xssx = p.xssx, lx = t.lx }).Where(t => t.ztz != 2).OrderBy(t => t.xssx).Where(t => t.tm.ToString().Equals(tm)); //OrderBy(t => t.xssx).Where(t => t.tm.ToString().Equals(tm) && !notinks.Contains(t.ksbm.ToString())); var returnData = data.Select(t => new { ksmc = t.ksmc, ksbm = t.ksbm, ztz = t.ztz }).Distinct(); return Newtonsoft.Json.JsonConvert.SerializeObject(returnData); } } public String getHuaYanQiTaKeShi(String tm, int ksbm, short yydm) { short userId = Convert.ToInt16(yydm); using (DbEntities db = new DbEntities()) { var data = db.t_tempdjxms.Where(t => t.ksbm != ksbm && t.tm == Convert.ToInt32(tm)).Join(db.t_kss, t => t.ksbm, p => p.ksbm, (t, p) => new { ksmc = p.ksmc, ksbm = t.ksbm, tm = t.tm, ztz = t.ztz }); var returnData = data.Select(t => new { ksmc = t.ksmc, ksbm = t.ksbm, ztz = t.ztz }).Distinct(); return Newtonsoft.Json.JsonConvert.SerializeObject(returnData); } } public List getZhxm(int ksbm, String tm, int xb) { using (DbEntities db = new DbEntities()) { var zhxmdata = db.t_tempdjxms.Join(db.t_zhxms, t => t.zhbm, p => p.zhbm, (t, p) => new { zhbm = t.zhbm, zhmc = p.zhmc, tm = t.tm, ksbm = t.ksbm, xssx = p.xssx, cksx = "", ckxx = "", ztz = t.ztz }).Where(t => t.ztz != 2).OrderBy(t => t.xssx).Where(t => t.tm == Convert.ToInt32(tm) && t.ksbm == ksbm && t.ztz != 2).Select(t => new t_jglr { jcbm = t.zhbm, dw = "", xmmc = t.zhmc, flag = 2 }); List zhxmdataArray = zhxmdata.ToList(); List returnData = new List(); var aaa = db.t_tjjgs.Where(j => j.tm == Convert.ToInt32(tm)); for (int i = 0; i < zhxmdataArray.Count; i++) { if (xb == 0) { var data = db.t_tempdjxms.Join(db.t_zhxmmxs, t => t.zhbm, p => p.zhbm, (t, p) => new { xmbm = p.xmbm, zhbm = t.zhbm, ksbm = t.ksbm, tm = t.tm }).Join(db.t_jcxms, t => t.xmbm, p => p.jcxmbm, (t, p) => new { jcxmmc = p.jcxmmc, jcbm = p.jcxmbm, ksbm = t.ksbm, zhbm = t.zhbm, tm = t.tm, zcjg = p.zcjg, dw = p.dw, cksx = p.cksx, ckxx = p.ckxx, xssx = p.xssx }).OrderBy(t => t.xssx).Where(t => t.tm == Convert.ToInt32(tm) && t.ksbm == ksbm && t.zhbm == zhxmdataArray[i].jcbm) .Select(t => new t_jglr { xmmc = t.jcxmmc, zhbm = t.zhbm, jcbm = t.jcbm, zcjg = db.t_tjjgs.Where(p => p.tm == Convert.ToInt32(tm) && p.xmbm == t.jcbm).Count() > 0 ? db.t_tjjgs.Where(p => p.tm == Convert.ToInt32(tm) && p.xmbm == t.jcbm).First().jg : t.zcjg, dw = t.dw, flag = 1, cksx = t.cksx.ToString(), ckxx = t.ckxx.ToString() }).Select(t => new t_jglr { xmmc = t.xmmc, zhbm = t.zhbm, jcbm = t.jcbm, zcjg = t.zcjg, defzcjg = t.zcjg, dw = t.dw, flag = 1, cksx = t.cksx.ToString(), ckxx = t.ckxx.ToString() }); List jglrs = data.ToList(); zhxmdataArray[i].jcbm = -1; returnData.Add(zhxmdataArray[i]); returnData.AddRange(jglrs); //return data.OrderBy(y => y.xssx).ToList(); } else { var data = db.t_tempdjxms.Join(db.t_zhxmmxs, t => t.zhbm, p => p.zhbm, (t, p) => new { xmbm = p.xmbm, zhbm = t.zhbm, ksbm = t.ksbm, tm = t.tm }).Join(db.t_jcxms, t => t.xmbm, p => p.jcxmbm, (t, p) => new { jcxmmc = p.jcxmmc, jcbm = p.jcxmbm, ksbm = t.ksbm, zhbm = t.zhbm, tm = t.tm, zcjg = p.zcjg, dw = p.dw, cksx = p.cksx1, ckxx = p.ckxx1, xssx = p.xssx }).OrderBy(t => t.xssx).Where(t => t.tm == Convert.ToInt32(tm) && t.ksbm == ksbm && t.zhbm == zhxmdataArray[i].jcbm) .Select(t => new t_jglr { xmmc = t.jcxmmc, zhbm = t.zhbm, jcbm = t.jcbm, zcjg = db.t_tjjgs.Where(p => p.tm == Convert.ToInt32(tm) && p.xmbm == t.jcbm).Count() > 0 ? db.t_tjjgs.Where(p => p.tm == Convert.ToInt32(tm) && p.xmbm == t.jcbm).First().jg : t.zcjg, dw = t.dw, flag = 1, cksx = t.cksx.ToString(), ckxx = t.ckxx.ToString() }).Select(t => new t_jglr { xmmc = t.xmmc, zhbm = t.zhbm, jcbm = t.jcbm, zcjg = t.zcjg, defzcjg = t.zcjg, dw = t.dw, flag = 1, cksx = t.cksx.ToString(), ckxx = t.ckxx.ToString() }); List jglrs = data.ToList(); zhxmdataArray[i].jcbm = -1; returnData.Add(zhxmdataArray[i]); returnData.AddRange(jglrs); //return data.OrderBy(y => y.xssx).ToList(); } } return returnData; } } public List getZhxm2(int ksbm, String tm, int xb) { using (DbEntities db = new DbEntities()) { var zhxmdata = db.t_tempdjxms.Join(db.t_zhxms, t => t.zhbm, p => p.zhbm, (t, p) => new { ztz = t.ztz, zhbm = t.zhbm, zhmc = p.zhmc, tm = t.tm, ksbm = t.ksbm, xssx = p.xssx, cksx = "", ckxx = "" }).OrderBy(t => t.xssx).Where(t => t.ztz != 2 && t.tm == Convert.ToInt32(tm) && t.ksbm == ksbm).Select(t => new t_jglr { jcbm = t.zhbm, dw = "", xmmc = t.zhmc, flag = 2 }); List zhxmdataArray = zhxmdata.ToList(); List returnData = new List(); var aaa = db.t_tjjgs.Where(j => j.tm == Convert.ToInt32(tm)); for (int i = 0; i < zhxmdataArray.Count; i++) { if (xb == 0) { var data = db.t_tempdjxms.Join(db.t_zhxmmxs, t => t.zhbm, p => p.zhbm, (t, p) => new { ztz = t.ztz, xmbm = p.xmbm, zhbm = t.zhbm, ksbm = t.ksbm, tm = t.tm }).Join(db.t_jcxms, t => t.xmbm, p => p.jcxmbm, (t, p) => new { ztz = t.ztz, jcxmmc = p.jcxmmc, jcbm = p.jcxmbm, ksbm = t.ksbm, zhbm = t.zhbm, tm = t.tm, zcjg = p.zcjg, dw = p.dw, cksx = p.cksx, ckxx = p.ckxx, xssx = p.xssx }).OrderBy(t => t.xssx).Where(t => t.ztz != 2 && t.tm == Convert.ToInt32(tm) && t.ksbm == ksbm && t.zhbm == zhxmdataArray[i].jcbm) .Select(t => new t_jglr { xmmc = t.jcxmmc, zhbm = t.zhbm, jcbm = t.jcbm, zcjg = db.t_tjjgs.Where(p => p.tm == Convert.ToInt32(tm) && p.xmbm == t.jcbm).Count() > 0 ? db.t_tjjgs.Where(p => p.tm == Convert.ToInt32(tm) && p.xmbm == t.jcbm).First().jg : t.zcjg, dw = t.dw, flag = 1, cksx = t.cksx.ToString(), ckxx = t.ckxx.ToString() }).Select(t => new t_jglr { xmmc = t.xmmc, zhbm = t.zhbm, jcbm = t.jcbm, zcjg = t.zcjg, defzcjg = t.zcjg, dw = t.dw, flag = 1, cksx = t.cksx.ToString(), ckxx = t.ckxx.ToString() }); List jglrs = data.ToList(); zhxmdataArray[i].jcbm = -1; returnData.Add(zhxmdataArray[i]); returnData.AddRange(jglrs); //return data.OrderBy(y => y.xssx).ToList(); } else { var data = db.t_tempdjxms.Join(db.t_zhxmmxs, t => t.zhbm, p => p.zhbm, (t, p) => new { ztz = t.ztz, xmbm = p.xmbm, zhbm = t.zhbm, ksbm = t.ksbm, tm = t.tm }).Join(db.t_jcxms, t => t.xmbm, p => p.jcxmbm, (t, p) => new { ztz = t.ztz, jcxmmc = p.jcxmmc, jcbm = p.jcxmbm, ksbm = t.ksbm, zhbm = t.zhbm, tm = t.tm, zcjg = p.zcjg, dw = p.dw, cksx = p.cksx1, ckxx = p.ckxx1, xssx = p.xssx }).OrderBy(t => t.xssx).Where(t => t.ztz != 2 && t.tm == Convert.ToInt32(tm) && t.ksbm == ksbm && t.zhbm == zhxmdataArray[i].jcbm) .Select(t => new t_jglr { xmmc = t.jcxmmc, zhbm = t.zhbm, jcbm = t.jcbm, zcjg = db.t_tjjgs.Where(p => p.tm == Convert.ToInt32(tm) && p.xmbm == t.jcbm).Count() > 0 ? db.t_tjjgs.Where(p => p.tm == Convert.ToInt32(tm) && p.xmbm == t.jcbm).First().jg : t.zcjg, dw = t.dw, flag = 1, cksx = t.cksx.ToString(), ckxx = t.ckxx.ToString() }).Select(t => new t_jglr { xmmc = t.xmmc, zhbm = t.zhbm, jcbm = t.jcbm, zcjg = t.zcjg, defzcjg = t.zcjg, dw = t.dw, flag = 1, cksx = t.cksx.ToString(), ckxx = t.ckxx.ToString() }); List jglrs = data.ToList(); zhxmdataArray[i].jcbm = -1; returnData.Add(zhxmdataArray[i]); returnData.AddRange(jglrs); //return data.OrderBy(y => y.xssx).ToList(); } } return returnData; } } public Data.OperationResult updateZtz(t_tempdjxm tempdjxm) { OperationResult or = new OperationResult(); using (DbEntities db = new DbEntities()) { t_tempdjxm tempdata = db.t_tempdjxms.Where(t => t.tm == tempdjxm.tm && t.zhbm == tempdjxm.zhbm && t.ksbm == tempdjxm.ksbm).FirstOrDefault(); if (tempdata == null) { or.State = 0; or.Message = "保存失败"; return or; } tempdjxm.djrq = tempdata.djrq; try { db.t_tempdjxms.OrmAccessor.Update(tempdjxm); or.State = 1; or.Message = "保存成功"; } catch (Exception ex) { or.State = 0; or.Message = "保存失败"; } } return or; } public Data.OperationResult updateTjxmZtz(int tmh, int zhbm, short ztz) { OperationResult or = new OperationResult(); using (DbEntities db = new DbEntities()) { t_tempdjxm tempdata = db.t_tempdjxms.Where(t => t.tm == tmh && t.zhbm == zhbm).FirstOrDefault(); if (tempdata == null) { or.State = 0; or.Message = "保存失败"; return or; } t_tempdjxm tempdjxm = new t_tempdjxm(); tempdata.ztz = ztz; if (ztz == 2) { db.t_fqs.Delete(fq => fq.tm == tmh && fq.zhbm == zhbm); t_fq fqm = new t_fq { tm = tmh, czy = "admin", fddm = 1, zhbm = zhbm }; db.t_fqs.Insert(fqm); db.DataAccessor.Execute("insert t_deltjjg select * from t_tjjg where tm='" + tmh + "' and xmbm in (select xmbm from t_zhxmmx where zhbm=" + zhbm + ")"); string sql_del = "delete from t_tjjg where tm=" + tmh + " and xmbm in (select xmbm from t_zhxmmx where zhbm=" + zhbm + ")"; db.DataAccessor.Execute(sql_del); sql_del = "select * from t_tempdjxm where tm=" + tmh + " and ksbm in (select ksbm from t_zhxm where zhbm=" + zhbm + ")"; DataTable dt = db.DataAccessor.QueryDataTable(sql_del); if (dt.Rows.Count == 1) { db.DataAccessor.Execute("insert t_deltjjd select * from t_tjjd where tm='" + tmh + "' and ksbm in (select ksbm from t_zhxm where zhbm=" + zhbm + ")"); sql_del = "delete from t_tjjd where tm=" + tmh + " and ksbm in (select ksbm from t_zhxm where zhbm=" + zhbm + ")"; db.DataAccessor.Execute(sql_del); } } else { db.t_fqs.Delete(fq => fq.tm == tmh && fq.zhbm == zhbm); } try { db.t_tempdjxms.OrmAccessor.Update(tempdata); or.State = 1; or.Message = "保存成功"; } catch (Exception ex) { or.State = 0; or.Message = "保存失败"; } } return or; } public String getXb(int tm) { using (DbEntities db = new DbEntities()) { var ttdata = from j in db.t_ttgzbs where j.tm == tm select new { tm = j.tm, xb = j.xb, xm = j.xm }; var grdata = from g in db.t_grgzbs where g.tm == tm select new { tm = g.tm, xb = g.xb, xm = g.xm }; Array data1A = ttdata.ToArray(); Array data2A = grdata.ToArray(); Array dataArray = Array.CreateInstance(typeof(Object), data1A.Length + data2A.Length); data1A.CopyTo(dataArray, 0); data2A.CopyTo(dataArray, data1A.Length); return Newtonsoft.Json.JsonConvert.SerializeObject(dataArray); } } public String getHuaYanInfo(DateTime startTime, DateTime endTime, int ksbm, int tm) { using (DbEntities db = new DbEntities()) { //var data = db.t_tempdjxms.Where(t => (t.djrq.CompareTo(startTime) >= 0 && t.djrq.CompareTo(endTime) <= 0)).Where(t => t.ksbm == ksbm).Where(t=>t.ztz!=2); var data = db.t_tempdjxms.Join(db.t_zhxms, t => t.zhbm, p => p.zhbm, (t, p) => new { djrq = t.djrq, ksbm = t.ksbm, ztz = t.ztz, tm = t.tm, v_ztz = t.v_ztz, wsbj = p.wsbj }).Where(t => (t.djrq.CompareTo(startTime) >= 0 && t.djrq.CompareTo(endTime) <= 0)).Where(t => t.ksbm == ksbm).Where(t => t.ztz != 2).Where(t => t.wsbj == 0); if (tm != -999) { data = data.Where(t => t.tm == tm); } String ksmc = db.t_kss.Where(t => t.ksbm == ksbm).Select(t => t.ksmc).First(); var tempdata = db.t_tempdjxms.Where(t => t.ksbm == ksbm); var tjdata = data.Join(db.t_ttgzbs, t => t.tm, p => p.tm, (t, p) => new { tm = t.tm, djrq = t.djrq, xm = p.xm, ksmc = ksmc, xb = p.sex1, nl = p.nl, zjm = p.zjm, ksbm = ksbm, tmztz = p.tmztz, lxdh = p.tel, tjlx = "团检", tjrq = p.tjrq }).Join(tempdata, t => t.tm, p => p.tm, (t, p) => new { tm = t.tm, djrq = t.djrq, xm = t.xm, ksmc = ksmc, xb = t.xb, nl = t.nl, zjm = t.zjm, ztz = p.ztz, ztz1 = p.v_ztz, bbh = p.lissuccess, tmztz = t.tmztz, lxdh = t.lxdh, tjlx = t.tjlx, tjrq = t.tjrq }); var gjdata = data.Join(db.t_grgzbs, t => t.tm, p => p.tm, (t, p) => new { tm = t.tm, ztz1 = t.v_ztz, djrq = t.djrq, xm = p.xm, ztz = t.ztz, ksmc = ksmc, xb = p.sex1, nl = p.nl, zjm = p.zjm, tmztz = p.tmztz, lxdh = p.dh, tjlx = "个检", tjrq = p.tjrq }).Join(tempdata, t => t.tm, p => p.tm, (t, p) => new { tm = t.tm, djrq = t.djrq.AddMilliseconds(-t.djrq.Millisecond), xm = t.xm, ksmc = ksmc, xb = t.xb, nl = t.nl, zjm = t.zjm, ztz = p.ztz, ztz1 = p.v_ztz, bbh = p.lissuccess, tmztz = t.tmztz, lxdh = t.lxdh, tjlx = t.tjlx, tjrq = t.tjrq }); // var tjdata = data.Join(db.t_ttgzbs, t => t.tm, p => p.tm, (t, p) => new //{ // tm = t.tm, // djrq = t.djrq, // xm = p.xm, // ksmc = ksmc, // xb = p.sex1, // nl = p.nl, // zjm = p.zjm, // ksbm = ksbm //}); // var gjdata = data.Join(db.t_grgzbs, t => t.tm, p => p.tm, (t, p) => new // { // tm = t.tm, // ztz1 = t.v_ztz, // djrq = t.djrq, // xm = p.xm, // ztz = t.ztz, // ksmc = ksmc, // xb = p.sex1, // nl = p.nl, // zjm = p.zjm // }); Array data1A = tjdata.ToArray(); Array data2A = gjdata.ToArray(); Array dataArray = Array.CreateInstance(typeof(Object), data1A.Length + data2A.Length); data1A.CopyTo(dataArray, 0); data2A.CopyTo(dataArray, data1A.Length); return Newtonsoft.Json.JsonConvert.SerializeObject(dataArray); } } public String getHuaYanInfoWaiSong(DateTime startTime, DateTime endTime, int ksbm, int tm) { using (DbEntities db = new DbEntities()) { var data = db.t_tempdjxms.Join(db.t_zhxms, t => t.zhbm, p => p.zhbm, (t, p) => new { djrq = t.djrq, ksbm = t.ksbm, ztz = t.ztz, tm = t.tm, v_ztz = t.v_ztz, wsbj = p.wsbj }).Where(t => (t.djrq.CompareTo(startTime) >= 0 && t.djrq.CompareTo(endTime) <= 0)).Where(t => t.ksbm == ksbm).Where(t => t.ztz != 2).Where(t => t.wsbj == 1); if (tm != -999) { data = data.Where(t => t.tm == tm); } String ksmc = db.t_kss.Where(t => t.ksbm == ksbm).Select(t => t.ksmc).First(); var tempdata = db.t_tempdjxms.Where(t => t.ksbm == ksbm); var tjdata = data.Join(db.t_ttgzbs, t => t.tm, p => p.tm, (t, p) => new { tm = t.tm, djrq = t.djrq, xm = p.xm, ksmc = ksmc, xb = p.sex1, nl = p.nl, zjm = p.zjm, ksbm = ksbm, tmztz = p.tmztz, lxdh = p.tel, tjlx = "团检", tjrq = p.tjrq }).Join(tempdata, t => t.tm, p => p.tm, (t, p) => new { tm = t.tm, djrq = t.djrq, xm = t.xm, ksmc = ksmc, xb = t.xb, nl = t.nl, zjm = t.zjm, ztz = p.ztz, ztz1 = p.v_ztz, bbh = p.lissuccess, tmztz = t.tmztz, lxdh = t.lxdh, tjlx = t.tjlx, tjrq = t.tjrq }); var gjdata = data.Join(db.t_grgzbs, t => t.tm, p => p.tm, (t, p) => new { tm = t.tm, ztz1 = t.v_ztz, djrq = t.djrq, xm = p.xm, ztz = t.ztz, ksmc = ksmc, xb = p.sex1, nl = p.nl, zjm = p.zjm, tmztz = p.tmztz, lxdh = p.dh, tjlx = "个检", tjrq = p.tjrq }).Join(tempdata, t => t.tm, p => p.tm, (t, p) => new { tm = t.tm, djrq = t.djrq.AddMilliseconds(-t.djrq.Millisecond), xm = t.xm, ksmc = ksmc, xb = t.xb, nl = t.nl, zjm = t.zjm, ztz = p.ztz, ztz1 = p.v_ztz, bbh = p.lissuccess, tmztz = t.tmztz, lxdh = t.lxdh, tjlx = t.tjlx, tjrq = t.tjrq }); // var tjdata = data.Join(db.t_ttgzbs, t => t.tm, p => p.tm, (t, p) => new //{ // tm = t.tm, // djrq = t.djrq, // xm = p.xm, // ksmc = ksmc, // xb = p.sex1, // nl = p.nl, // zjm = p.zjm, // ksbm = ksbm //}); // var gjdata = data.Join(db.t_grgzbs, t => t.tm, p => p.tm, (t, p) => new // { // tm = t.tm, // ztz1 = t.v_ztz, // djrq = t.djrq, // xm = p.xm, // ztz = t.ztz, // ksmc = ksmc, // xb = p.sex1, // nl = p.nl, // zjm = p.zjm // }); Array data1A = tjdata.ToArray(); Array data2A = gjdata.ToArray(); Array dataArray = Array.CreateInstance(typeof(Object), data1A.Length + data2A.Length); data1A.CopyTo(dataArray, 0); data2A.CopyTo(dataArray, data1A.Length); return Newtonsoft.Json.JsonConvert.SerializeObject(dataArray); } } public List getjcjg(int tm, List ksbms, int xb) { List returnList = new List(); using (DbEntities db = new DbEntities()) { List returnData = new List(); for (int i = 0; i < ksbms.Count; i++) { int ksbm = ksbms[i]; var zhxmdata = db.t_tempdjxms.Join(db.t_zhxms, t => t.zhbm, p => p.zhbm, (t, p) => new { zhbm = t.zhbm, zhmc = p.zhmc, tm = t.tm, ksbm = t.ksbm, xssx = p.xssx, cksx = "", ckxx = "", }).OrderBy(t => t.xssx).Where(t => t.tm == Convert.ToInt32(tm) && t.ksbm == ksbm).Select(t => new t_jglr { jcbm = t.zhbm, dw = "", xmmc = t.zhmc, flag = 2, ksbm = t.ksbm }); List zhxmdataArray = zhxmdata.ToList(); for (int j = 0; j < zhxmdataArray.Count; j++) { if (xb == 0) { var data = db.t_tempdjxms.Join(db.t_zhxmmxs, t => t.zhbm, p => p.zhbm, (t, p) => new { xmbm = p.xmbm, zhbm = t.zhbm, ksbm = t.ksbm, tm = t.tm }).Join(db.t_jcxms, t => t.xmbm, p => p.jcxmbm, (t, p) => new { jcxmmc = p.jcxmmc, jcbm = p.jcxmbm, ksbm = t.ksbm, zhbm = t.zhbm, tm = t.tm, zcjg = p.zcjg, dw = p.dw, cksx = p.cksx, ckxx = p.ckxx }).Where(t => t.tm == Convert.ToInt32(tm) && t.ksbm == ksbm && t.zhbm == zhxmdataArray[j].jcbm) .Select(t => new t_jglr { xmmc = t.jcxmmc, zhbm = t.zhbm, jcbm = t.jcbm, zcjg = db.t_tjjgs.Where(p => p.tm == Convert.ToInt32(tm) && p.xmbm == t.jcbm).Count() > 0 ? db.t_tjjgs.Where(p => p.tm == Convert.ToInt32(tm) && p.xmbm == t.jcbm).First().jg : t.zcjg, dw = t.dw, flag = 1, cksx = t.cksx == -1 ? "" : t.cksx.ToString(), ckxx = t.ckxx == -1 ? "" : t.ckxx.ToString(), }); List jglrs = data.ToList(); zhxmdataArray[j].jcbm = -1; returnData.Add(zhxmdataArray[j]); returnData.AddRange(jglrs); } else { var data = db.t_tempdjxms.Join(db.t_zhxmmxs, t => t.zhbm, p => p.zhbm, (t, p) => new { xmbm = p.xmbm, zhbm = t.zhbm, ksbm = t.ksbm, tm = t.tm }).Join(db.t_jcxms, t => t.xmbm, p => p.jcxmbm, (t, p) => new { jcxmmc = p.jcxmmc, jcbm = p.jcxmbm, ksbm = t.ksbm, zhbm = t.zhbm, tm = t.tm, zcjg = p.zcjg, dw = p.dw, cksx = p.cksx1, ckxx = p.ckxx1 }).Where(t => t.tm == Convert.ToInt32(tm) && t.ksbm == ksbm && t.zhbm == zhxmdataArray[j].jcbm) .Select(t => new t_jglr { xmmc = t.jcxmmc, zhbm = t.zhbm, jcbm = t.jcbm, zcjg = db.t_tjjgs.Where(p => p.tm == Convert.ToInt32(tm) && p.xmbm == t.jcbm).Count() > 0 ? db.t_tjjgs.Where(p => p.tm == Convert.ToInt32(tm) && p.xmbm == t.jcbm).First().jg : t.zcjg, dw = t.dw, flag = 1, cksx = t.cksx == -1 ? "" : t.cksx.ToString(), ckxx = t.ckxx == -1 ? "" : t.ckxx.ToString(), }); List jglrs = data.ToList(); zhxmdataArray[j].jcbm = -1; returnData.Add(zhxmdataArray[j]); returnData.AddRange(jglrs); } } String ksmc = db.t_kss.Where(t => t.ksbm == ksbm).Select(t => t.ksmc).First(); t_jglr zjg = new t_jglr(); zjg.xmmc = "\"" + ksmc + "\"体检结果"; zjg.dw = ""; zjg.zcjg = ""; zjg.flag = 3; zjg.jcbm = -2; t_jglr zjys = new t_jglr(); zjys.zcjg = ""; var tjjd = db.t_tjjds.Where(t => t.tm == tm && t.ksbm == ksbm); if (tjjd.Any()) { var firstData = tjjd.First(); zjg.zcjg = firstData.zdjg; zjys.zcjg = firstData.zdys; } zjys.xmmc = "\"" + ksmc + "\"体检医师"; zjys.dw = ""; zjys.flag = 4; returnData.Add(zjg); returnData.Add(zjys); } return returnData; } } public String getDrtjr(DateTime djrq, string czym) { using (DbEntities db = new DbEntities()) { //String czym = LoginUser.username; List kss = db.t_czylrqxs.Where(t => t.czy.Equals(czym)).Select(t => t.ksbm.ToString()).ToList(); var data = db.t_tempdjxms.Where(t => kss.Contains(t.ksbm.ToString()) && t.djrq > djrq && t.djrq < djrq.AddDays(1)).Select(t => new { tm = t.tm, ztz = t.ztz }).GroupBy(t => new { t.tm, t.ztz }).Select(t => new { tm = t.Key.tm, ztz = t.Key.ztz }); //var data22 = from t in db.t_tempdjxms where kss.Contains(t.ksbm.ToString()) && t.djrq > djrq && t.djrq < djrq.AddDays(1) group t by var datatt = data.Join(db.t_ttgzbs, t => t.tm, p => p.tm, (t, p) => new { tm = t.tm, xm = p.xm, xb = p.sex2, nl = p.nl, tjxz = "团体", htbm = p.htbm, ztz = t.ztz }).Join(db.t_hts, t => t.htbm, p => p.htbm, (t, p) => new { tm = t.tm, xm = t.xm, xb = t.xb, nl = t.nl, tjxz = t.tjxz, khbm = p.khbm, ztz = t.ztz }).Join(db.t_khs, t => t.khbm, p => p.khbm, (t, p) => new { tm = t.tm, xm = t.xm, xb = t.xb, nl = t.nl, tjxz = t.tjxz, khmc = p.khmc, ztz = t.ztz, tjrq = djrq, ysxm = db.t_tjjds.Where(m => m.tm == t.tm && kss.Contains(m.ksbm.ToString())).Select(n => n.zdys).FirstOrDefault(), czy = db.t_tjjds.Where(m => m.tm == t.tm && kss.Contains(m.ksbm.ToString())).Select(n => n.czy).FirstOrDefault() //ysxm = t.ztz == 4 ? db.t_tjjds.Where(m => m.tm == t.tm && kss.Contains(m.ksbm.ToString())).Select(n => n.zdys).FirstOrDefault() : "" }).Select(t => new { tm = t.tm, xm = t.xm, xb = t.xb, nl = t.nl, tjxz = t.tjxz, khmc = t.khmc, ztz = t.ztz, tjrq = djrq, ysxm = t.ysxm, czy = t.czy }); var datagr = data.Join(db.t_grgzbs, t => t.tm, p => p.tm, (t, p) => new { tm = t.tm, xm = p.xm, xb = p.sex2, nl = p.nl, tjxz = "个人", tcbm = p.tcbm, ztz = t.ztz }).Join(db.t_tcs, t => t.tcbm, p => p.tcbm, (t, p) => new { tm = t.tm, xm = t.xm, xb = t.xb, nl = t.nl, tjxz = t.tjxz, khmc = p.tcmc, ztz = t.ztz, tjrq = djrq, //ysxm = t.ztz == 4 ? db.t_tjjds.Where(m => m.tm == t.tm && kss.Contains(m.ksbm.ToString())).Select(n => n.zdys).FirstOrDefault() : "" ysxm = db.t_tjjds.Where(m => m.tm == t.tm && kss.Contains(m.ksbm.ToString())).Select(n => n.zdys).FirstOrDefault(), czy = db.t_tjjds.Where(m => m.tm == t.tm && kss.Contains(m.ksbm.ToString())).Select(n => n.czy).FirstOrDefault() }).Select(t => new { tm = t.tm, xm = t.xm, xb = t.xb, nl = t.nl, tjxz = t.tjxz, khmc = t.khmc, ztz = t.ztz, tjrq = djrq, ysxm = t.ysxm, czy = t.czy }); Array data1A = datatt.ToArray(); Array data2A = datagr.ToArray(); Array dataArray = Array.CreateInstance(typeof(Object), data1A.Length + data2A.Length); data1A.CopyTo(dataArray, 0); data2A.CopyTo(dataArray, data1A.Length); return Newtonsoft.Json.JsonConvert.SerializeObject(dataArray); } } public int getFinish(DateTime djrq, string czym) { using (DbEntities db = new DbEntities()) { //String czym = LoginUser.username; List kss = db.t_czylrqxs.Where(t => t.czy.Equals(czym)).Select(t => t.ksbm.ToString()).ToList(); var data = db.t_tempdjxms.Where(t => kss.Contains(t.ksbm.ToString()) && t.djrq > djrq && t.djrq < djrq.AddDays(1)).Select(t => new { tm = t.tm, //ztz = t.ztz == 4 ? 0 : 1 ztz = t.ztz }).GroupBy(t => t.tm).Select(t => new { tm = t, ztzsum = t.Sum(p => p.ztz) }); int count = data.Where(t => t.ztzsum == 4).Count(); return count; } } public int getWait(DateTime djrq, string czym) { using (DbEntities db = new DbEntities()) { //String czym = LoginUser.username; List kss = db.t_czylrqxs.Where(t => t.czy.Equals(czym)).Select(t => t.ksbm.ToString()).ToList(); var data = db.t_tempdjxms.Where(t => kss.Contains(t.ksbm.ToString()) && t.djrq > djrq && t.djrq < djrq.AddDays(1)).Select(t => new { tm = t.tm, //ztz = t.ztz == 4 ? 0 : 1 ztz = t.ztz }).GroupBy(t => t.tm).Select(t => new { tm = t, ztzsum = t.Sum(p => p.ztz) }); int count = data.Where(t => t.ztzsum != 4).Count(); return count; } } public String getBksGzl(DateTime startTime, DateTime endTime, string czym) { using (DbEntities db = new DbEntities()) { //String czym = LoginUser.username; List zhxms = db.t_czylrqxs.Where(t => t.czy.Equals(czym)).Join(db.t_zhxms, t => t.ksbm, p => p.ksbm, (t, p) => p.zhbm).ToList(); var data = db.t_tempdjxms.Where(t => t.djrq >= startTime && t.djrq <= endTime && zhxms.Contains(t.zhbm)).Join(db.t_zhxms, t => t.zhbm, p => p.zhbm, (t, p) => new { tm = t.tm, ztz = t.ztz, xmmc = p.zhmc }); return Newtonsoft.Json.JsonConvert.SerializeObject(data); ; } } public String rygzl(DateTime startTime, DateTime endTime, string czym) { using (DbEntities db = new DbEntities()) { List dates = new List(); while (startTime < endTime) { dates.Add(startTime.ToString("yyyy-MM-dd")); startTime = startTime.AddDays(1); } //String czym = LoginUser.username; List ksbm = db.t_czylrqxs.Where(p => p.czy.Equals(czym)).Select(p => p.ksbm.ToString()).ToList(); var data = db.t_tjjds.Where(t => dates.Contains(t.djsj) && ksbm.Contains(t.ksbm.ToString())).Select(t => new { tm = t.tm, zdys = t.zdys, ksbm = t.ksbm }).GroupBy(t => new { t.tm, t.zdys, t.ksbm }).Select(t => new { tm = t.Key.tm, zdys = t.Key.zdys, ksbm = t.Key.ksbm }).Join(db.t_kss, t => t.ksbm, p => p.ksbm, (t, p) => new { tm = t.tm, ksmc = p.ksmc, zdys = t.zdys }).GroupBy(t => new { t.ksmc, t.zdys }).Select(t => new { ksmc = t.Key.ksmc, zdys = t.Key.zdys, wcrs = t.Count() }); return Newtonsoft.Json.JsonConvert.SerializeObject(data); } } public List getCCBG(int ksbm, string strBm) { //throw new NotImplementedException(); List bgs = new List(); int tmh = 0; int.TryParse(strBm, out tmh); using (DbEntities db = new DbEntities()) { var bg = db.CCBG.Where(t => t.tmh == tmh).ToList(); if (ksbm != 0) { bg = bg.Where(t => t.ksbm == ksbm).ToList(); } bg.ForEach(t => { var b = new t_ccbg(); b.tmh = t.tmh; b.ksbm = t.ksbm; b.image_path = t.image_path; if (File.Exists(t.image_path)) { FileStream fs = new FileStream(b.image_path, FileMode.Open); b.image = new byte[fs.Length]; fs.Read(b.image, 0, b.image.Length); fs.Close(); } bgs.Add(b); }); } return bgs; } } }