using EAS.Services; using System; using System.Collections.Generic; using System.Linq; using System.Text; using SOH.Entities.DTO; using SOH.Entities; using SOH.Data; using EAS.Data; using EAS.Data.Linq; using EAS.Data.ORM; using System.Data; using EAS.Data.Access; using System.Text.RegularExpressions; namespace SOH.BLL { [ServiceObject("检验基本功能")] [ServiceBind(typeof(IJianYan))] public class JianYanBll : IJianYan { public void addyiqixm(jy_yiqi_xm xm) { // throw new NotImplementedException(); using (var db = new DbEntities()) { var lxm = db.jy_yiqi_xms.FirstOrDefault(t => t.yq == xm.yq && t.tdh == xm.tdh); if (lxm == null) { db.jy_yiqi_xms.Insert(xm); } } } public void addyiqixmcalc(jy_yiqi_xm_calc jsxm) { //throw new NotImplementedException(); using (var db = new DbEntities()) { var lxm = db.jy_yiqi_xm_calcs.FirstOrDefault(t => t.yq == jsxm.yq && t.jsxm == jsxm.jsxm); if (lxm == null) { db.jy_yiqi_xm_calcs.Insert(jsxm); } } } public DataTable hqjcxm(string zhbm) { using (var db = new DbEntities()) { string sql1 = "select * from t_jcxm where jcxmbm in (select xmbm from t_zhxmmx where zhbm=" + zhbm + ")"; DataTable dt = db.DataAccessor.QueryDataTable(sql1); return dt; } } public List hqsqdmx(string jytm) { using (var db = new DbEntities()) { var data = db.jy_sqd_mxs.Where(t => t.jytm == jytm).Any(); if (data) { return db.jy_sqd_mxs.Where(t => t.jytm == jytm).ToList(); } return null; } } public OperationResult cxdj(string jytm, string czyh) { OperationResult or = new OperationResult(); using (var db = new DbEntities()) { var jymx = db.jy_sqd_mxs.Where(t => t.jytm == jytm).ToList(); var tm = db.jy_sqds.Where(t => t.jytm == jytm).First(); var tran = db.CreateTransaction(); try { jymx.ForEach(t => { var djxm = db.t_tempdjxms.Where(p => p.tm == tm.tm && p.zhbm == t.zhxmbm).First(); djxm.ztz = 1; db.t_tempdjxms.Update(djxm); }); tm.cxsj = DateTime.Now; tm.cxyy = czyh; tm.state = 1; db.jy_sqds.Update(tm); tran.Commit(); or.State = 1; or.Message = "登记成功!"; } catch (Exception ex) { tran.Rollback(); or.Message = ex.Message; or.State = 0; } } return or; } public dto_gzb getGzbByJytmh(string jytm) { //throw new NotImplementedException(); using (var db = new DbEntities()) { var jysql = db.jy_sqds.Where(t => t.jytm == jytm && t.state == 0).FirstOrDefault(); if (jysql == null) return null; long tm = jysql.tm; string stm = tm.ToString("0000000000"); dto_gzb gzb = new dto_gzb(); if (stm.StartsWith("1")) { var tt = db.t_ttgzbs.FirstOrDefault(t => t.tm == tm); if (tt == null) return null; gzb.xb = tt.xb; gzb.xm = tt.xm; gzb.nl = tt.nl; gzb.csrq = tt.csrq; gzb.tm = tt.tm; gzb.image = tt.image; } else { var gr = db.t_grgzbs.FirstOrDefault(t => t.tm == tm); if (gr == null) return null; gzb.xb = gr.xb; gzb.xm = gr.xm; gzb.nl = gr.nl; gzb.csrq = gr.csrq; gzb.tm = gr.tm; gzb.image = gr.image; } return gzb; } } public List getjyxmbytm(string tm,string yqbm) { using (var db = new DbEntities()) { return db.jy_sqd_mxs.Where(t => t.jytm == tm).Join(db.t_zhxms, t => t.zhxmbm, p => p.zhbm, (t, p) => p).Join(db.t_zhxmmxs, t => t.zhbm, p => p.zhbm, (t, p) => p) .Join(db.t_jcxms, t => t.xmbm, p => p.jcxmbm, (t, p) => p).Join(db.jy_yiqi_xms.Where(xm=>xm.yq==yqbm), t => t.lis, p => p.xmdm, (t, p) => p).ToList(); } } public List getjydl() { //throw new NotImplementedException(); using (var db = new DbEntities()) { return db.list_jydls.ToList(); } } public string getjyxm(string text, DateTime jyrq, string bbh) { int xb = 0; int ibbh = int.Parse(bbh); jyrq = new DateTime(jyrq.Year, jyrq.Month, jyrq.Day); //throw new NotImplementedException(); using (var db = new DbEntities()) { //var ls = db.jy_yhxxs.Where(t => t.jytm == text).Join(db.jy_yssjs, t => new { t.jyrq, t.bbh, t.yqbh }, p => new { p.jyrq, p.bbh, p.yqbh }, (t, p) => new { // xmdm = p.xmbm, // jg = p.jg, // ckz=p.czk //}); var yq = db.jy_yiqis.Where(t => t.yq == text).FirstOrDefault(); var yhxx = db.jy_yhxxs.First(p => p.yqbh == text && p.bbh == ibbh && p.jyrq == jyrq); if (!string.IsNullOrEmpty(yhxx.xb)) { if ("女".Equals(yhxx.xb)) { xb = 1; } } if (xb == 0) { var jyxms = db.jy_sqd_mxs.Where(t => t.jytm == yhxx.jytm).Join(db.t_zhxms, t => t.zhxmbm, p => p.zhbm, (t, p) => p).Join(db.t_zhxmmxs, t => t.zhbm, p => p.zhbm, (t, p) => p) .Join(db.t_jcxms, t => t.xmbm, p => p.jcxmbm, (t, p) => p).ToList(); var ls = db.jy_yssjs.Where(p => p.jyrq == yhxx.jyrq && p.yqbh == yhxx.yqbh && p.bbh == yhxx.bbh).ToList(); var jyxm = db.jy_yiqi_xms.Where(p => p.yq == text).OrderBy(t => t.dysx).Select(p => new { p.xmdm, cksx = p.cksx, p.ckxx, dysx = p.dysx, zt = 1, p.xmmc, p.dw }).ToList(); var jsxm = db.jy_yiqi_xm_calcs.Where(p => p.yq == text).OrderBy(t => t.dysx).Select(p => new { xmdm = p.jsxm, cksx = p.cksx, p.ckxx, dysx = p.dysx, zt = 2, p.xmmc, p.dw }).ToList(); jyxm = jyxm.Concat(jsxm).ToList(); if (jyxms.Any()) { jyxm = jyxm.Join(jyxms, t => t.xmdm, p => p.lis, (t, p) => t).ToList(); } /* var ls1 = ls.Join(jyxm, t => t.xmbm, p => p.xmdm, (t, p) => new { xmdm = t.xmbm, jg = t.jg, cksx = p.cksx, ckxx = p.ckxx, p.dysx, p.zt, p.xmmc, p.dw, yqbms= text, jyrqs= jyrq, bbhs= bbh }).Select(p => new { xmdm = p.xmdm, jg = p.jg, cksx = p.cksx, ckxx = p.ckxx, p.dysx, p.zt, p.xmmc, p.dw, yqbms = text, jyrqs = jyrq, bbhs = bbh });*/ var ls1 = from xm in jyxm join l in ls on xm.xmdm equals l.xmbm into temp from tt in temp.DefaultIfEmpty() select new { xmdm = xm.xmdm, jg = tt == null ? "" : tt.jg, cksx = xm.cksx, ckxx = xm.ckxx, xm.dysx, xm.zt, xm.xmmc, xm.dw, yqbms = text, jyrqs = jyrq, bbhs = bbh }; return Newtonsoft.Json.JsonConvert.SerializeObject(ls1.ToList()); } else { var jyxms = db.jy_sqd_mxs.Where(t => t.jytm == yhxx.jytm).Join(db.t_zhxms, t => t.zhxmbm, p => p.zhbm, (t, p) => p).Join(db.t_zhxmmxs, t => t.zhbm, p => p.zhbm, (t, p) => p) .Join(db.t_jcxms, t => t.xmbm, p => p.jcxmbm, (t, p) => p).ToList(); var ls = db.jy_yssjs.Where(p => p.jyrq == yhxx.jyrq && p.yqbh == yhxx.yqbh && p.bbh == yhxx.bbh).ToList(); var jyxm = db.jy_yiqi_xms.Where(p => p.yq == text).OrderBy(t => t.dysx).Select(p => new { p.xmdm, cksx = p.cksx1, p.ckxx1, dysx = p.dysx, zt = 1, p.xmmc, p.dw }).ToList(); var jsxm = db.jy_yiqi_xm_calcs.Where(p => p.yq == text).OrderBy(t => t.dysx).Select(p => new { xmdm = p.jsxm, cksx = p.cksx1, p.ckxx1, dysx = p.dysx, zt = 2, p.xmmc, p.dw }).ToList(); jyxm = jyxm.Concat(jsxm).ToList(); if (jyxms.Any()) { jyxm = jyxm.Join(jyxms, t => t.xmdm, p => p.lis, (t, p) => t).ToList(); } /* var ls1 = ls.Join(jyxm, t => t.xmbm, p => p.xmdm, (t, p) => new { xmdm = t.xmbm, jg = t.jg, cksx = p.cksx, ckxx = p.ckxx, p.dysx, p.zt, p.xmmc, p.dw, yqbms= text, jyrqs= jyrq, bbhs= bbh }).Select(p => new { xmdm = p.xmdm, jg = p.jg, cksx = p.cksx, ckxx = p.ckxx, p.dysx, p.zt, p.xmmc, p.dw, yqbms = text, jyrqs = jyrq, bbhs = bbh });*/ var ls1 = from xm in jyxm join l in ls on xm.xmdm equals l.xmbm into temp from tt in temp.DefaultIfEmpty() select new { xmdm = xm.xmdm, jg = tt == null ? "" : tt.jg, cksx = xm.cksx, ckxx = xm.ckxx1, xm.dysx, xm.zt, xm.xmmc, xm.dw, yqbms = text, jyrqs = jyrq, bbhs = bbh }; return Newtonsoft.Json.JsonConvert.SerializeObject(ls1.ToList()); } } // return null; } public List getjyxmbyzhxm(int zhbm) { //throw new NotImplementedException(); using (var db = new DbEntities()) { return db.t_zhxmmxs.Where(t => t.zhbm == zhbm).Join(db.t_jcxms, t => t.xmbm, p => p.jcxmbm, (t, p) => p).ToList(); } } public List getjyyhxx(string yqbh, DateTime jyrq) { // throw new NotImplementedException(); jyrq = new DateTime(jyrq.Year, jyrq.Month, jyrq.Day); using (var db = new DbEntities()) { return db.jy_yhxxs.Where(t => t.yqbh == yqbh && t.jyrq == jyrq).OrderBy(t => t.bbh).ToList(); } } public jy_yhxx getjyyhxxbytm(string tm) { using (var db = new DbEntities()) { return db.jy_yhxxs.Where(t => t.jytm == tm).FirstOrDefault(); } } public jy_yiqi getJYYQ(string yqbm) { //throw new NotImplementedException(); using (var db = new DbEntities()) { return db.jy_yiqis.FirstOrDefault(t => t.yq == yqbm); } } public int getMaxBBH(DateTime jyrq, string v) { //throw new NotImplementedException(); using (var db = new DbEntities()) { jyrq = new DateTime(jyrq.Year, jyrq.Month, jyrq.Day); var bbh = db.jy_yhxxs.Where(t => t.yqbh == v && t.jyrq == jyrq).OrderByDescending(t => t.bbh).FirstOrDefault(); if (bbh == null) return 1; else { return bbh.bbh + 1; } } } public jy_sqd getsqdbyjytm(string text) { using (var db = new DbEntities()) { return db.jy_sqds.FirstOrDefault(t => t.jytm == text); } } public jy_yhxx getyhxxbyjytm(string text) { using (var db = new DbEntities()) { return db.jy_yhxxs.FirstOrDefault(t => t.jytm == text); } } public jy_yhxx getyhxxbyyqrqbh(string yqbh, DateTime value, int bbh) { //throw new NotImplementedException(); value = new DateTime(value.Year, value.Month, value.Day); using (var db = new DbEntities()) { return db.jy_yhxxs.FirstOrDefault(t => t.bbh == bbh && t.yqbh == yqbh && t.jyrq == value); } } public List getyiqixmbyyqbm(string yqbm) { //throw new NotImplementedException(); using (var db = new DbEntities()) { var jbxm = db.jy_yiqi_xms.Where(t => t.yq == yqbm).OrderBy(t => t.dysx).Select(t => new dto_jyxm { id = t.id, yq = t.yq, cksx = t.cksx, ckxx = t.ckxx, cksx1=t.cksx1, ckxx1=t.ckxx1, dw = t.dw, dyckz = t.dyckz, dysx = t.dysx, tdh = t.tdh, xmdm = t.xmdm, xmmc = t.xmmc, lx = 1 }).ToList(); var jsxm = db.jy_yiqi_xm_calcs.Where(t => t.yq == yqbm).OrderBy(t => t.dysx).Select(t => new dto_jyxm { yq = t.yq, cksx = t.cksx, ckxx = t.ckxx, dw = t.dw, dyckz = t.dyckz, dysx = t.dysx, cksx1 = t.cksx1, ckxx1 = t.ckxx1, xmdm = t.jsxm, xmmc = t.xmmc, lx = 2, jsgs = t.jsgs }).ToList(); return jbxm.Concat(jsxm).ToList(); } } public List getYQ() { //throw new NotImplementedException(); using (var db = new DbEntities()) { return db.jy_yiqis.ToList(); } } public List getYQbyDNMC(string dnmc) { using (var db = new DbEntities()) { return db.jy_yiqis.Where(t => t.dnname == dnmc).ToList(); } } public List getAllYQ() { using (var db = new DbEntities()) { return db.jy_yiqis.ToList(); } } public List getzhxmsbyjytm(string jytm) { //throw new NotImplementedException(); using (var db = new DbEntities()) { return db.jy_sqd_mxs.Where(t => t.jytm == jytm).Join(db.t_zhxms, t => t.zhxmbm, p => p.zhbm, (o, p) => p).ToList(); } } public void jyupdateresult(DateTime sampledate, string yq, int sampleno, string jg, string xm) { using (var db = new DbEntities()) { sampledate = new DateTime(sampledate.Year, sampledate.Month, sampledate.Day); var yssj = db.jy_yssjs.FirstOrDefault(t => t.yqbh == yq && t.jyrq == sampledate && t.bbh == sampleno && t.xmbm == xm); if (yssj == null) { } else { yssj.jg = jg; yssj.jssj = DateTime.Now; db.jy_yssjs.Update(yssj); } } } public int jyaddresult(DateTime sampledate, string yq, string sampleno, string itemno, string srcresult) { //throw new NotImplementedException(); using (var db = new DbEntities()) { try { var xm = db.jy_yiqi_xms.FirstOrDefault(t => t.yq == yq && t.tdh == itemno); if (xm == null) { xm = db.jy_yiqi_xms.FirstOrDefault(t => t.yq == yq && t.xmdm == itemno); if (xm == null) { return 3; } } int isampleno = 0; if (sampleno.Length > 10) { //int isampleno = int.Parse(sampleno); var yh = db.jy_yhxxs.FirstOrDefault(t => t.jytm == sampleno); if (yh == null) return 3; else { isampleno = yh.bbh; } } else { isampleno = int.Parse(sampleno); } var yssj = db.jy_yssjs.FirstOrDefault(t => t.yqbh == yq && t.jyrq == sampledate && t.bbh == isampleno && t.xmbm == xm.xmdm); if (yssj == null) { yssj = new jy_yssj(); yssj.bbh = isampleno; yssj.czk = xm.dyckz; yssj.tdh = xm.tdh; yssj.xmbm = xm.xmdm; yssj.jg = srcresult; yssj.jssj = DateTime.Now; yssj.jyrq = sampledate; yssj.yqbh = yq; db.jy_yssjs.Insert(yssj); return 1; } else { yssj.jg = srcresult; yssj.jssj = DateTime.Now; db.jy_yssjs.Update(yssj); return 2; } } catch (Exception ex) { //new EAS.Loggers.TextLogger(). //throw ex; return 3; } } } public DataTable hyjglrjsgs(DataTable jglrList) { using (var db = new DbEntities()) { var s = db.jy_yiqi_xm_calcs.Where(t => t.yq == "AU680").ToList(); if (s.Count > 0) { DataTable dt = new DataTable(); var jcxms = db.t_zhxmmxs.Where(z => z.zhbm == 22).Join(db.t_jcxms, z => z.xmbm, p => p.jcxmbm, (z, p) => p).ToList(); jcxms.ForEach(t => { DataColumn dc = new DataColumn(t.lis, typeof(decimal)); dt.Columns.Add(dc); }); List jy_yssjList = new List(); for (int k = 0; k < jglrList.Rows.Count; k++) { jy_yssjnew yssjs = new jy_yssjnew(); var xms = db.t_zhxmmxs.Where(z => z.zhbm == 22).Join(db.t_jcxms, z => z.xmbm, p => p.jcxmbm, (z, p) => p).ToList(); xms.ForEach(f => { if (f.jcxmbm == Convert.ToInt32(jglrList.Rows[k]["jcbm"].ToString())) { yssjs.jg = jglrList.Rows[k]["zcjg"].ToString(); yssjs.xmbm = f.lis; yssjs.jcxmbm = Convert.ToInt32(jglrList.Rows[k]["jcbm"].ToString()); jy_yssjList.Add(yssjs); } }); } DataRow drNew = dt.NewRow(); foreach (DataColumn dc in dt.Columns) { var xm = jy_yssjList.Where(t => t.xmbm == dc.ColumnName).FirstOrDefault(); if (xm == null) { drNew[dc] = 0.0; } else { decimal d = 0; decimal.TryParse(xm.jg, out d); drNew[dc] = d; } } dt.Rows.Add(drNew); List jy_yssjList1 = new List(); try { s.ForEach(t => { jy_yssjnew jy_yssjnew = new jy_yssjnew(); string jsgs = t.jsgs; string jsjg = ""; while (true) { int post = jsgs.IndexOf("["); if (post < 0) { jsjg += jsgs; break; } else { jsjg += jsgs.Substring(0, post); jsgs = jsgs.Substring(post + 1); } post = jsgs.IndexOf("]"); if (post >= 0) { string key = jsgs.Substring(0, post); jsjg += dt.Rows[0][key].ToString(); if (post + 1 == jsgs.Length) { break; } else { jsgs = jsgs.Substring(post + 1); } } } var lis = db.t_jcxms.Where(m => m.lis == t.jsxm).FirstOrDefault(); jy_yssjnew.xmbm = t.jsxm; jy_yssjnew.jcxmbm = lis.jcxmbm; jy_yssjnew.jg = double.Parse(dt.Compute(jsjg, "1=1").ToString()).ToString("0.00"); jy_yssjList1.Add(jy_yssjnew); }); } catch { } for (int i = 0; i < jglrList.Rows.Count; i++) { jy_yssjList1.ForEach(o => { if (jglrList.Rows[i]["jcbm"].ToString() == o.jcxmbm.ToString()) { jglrList.Rows[i]["zcjg"] = o.jg; } }); } } } return jglrList; } public void jycalcsample(string yq, DateTime rq, string sampleno) { //throw new NotImplementedException(); int isampleno = 0; using (var db = new DbEntities()) { if (sampleno.Length > 10) { //int isampleno = int.Parse(sampleno); var yh = db.jy_yhxxs.FirstOrDefault(t => t.jytm == sampleno); if (yh == null) return ; else { isampleno = yh.bbh; } } else { isampleno = int.Parse(sampleno); } var s = db.jy_yiqi_xm_calcs.Where(t => t.yq == yq).ToList(); if (s.Count > 0) { DataTable dt = new DataTable(); var xms = db.jy_yiqi_xms.Where(t => t.yq == yq).ToList(); xms.ForEach(t => { DataColumn dc = new DataColumn(t.xmdm, typeof(decimal)); dt.Columns.Add(dc); }); var ysxjs = db.jy_yssjs.Where(t => t.yqbh == yq && t.jyrq == rq && t.bbh == isampleno).ToList(); DataRow dr = dt.NewRow(); foreach (DataColumn dc in dt.Columns) { var xm = ysxjs.Where(t => t.xmbm == dc.ColumnName).FirstOrDefault(); if (xm == null) { dr[dc] = 0.0; } else { decimal d = 0; decimal.TryParse(xm.jg, out d); dr[dc] = d; } } dt.Rows.Add(dr); EAS.Loggers.Logger.Info(Newtonsoft.Json.JsonConvert.SerializeObject(dt)); s.ForEach(t => { try { jy_yssj yssj = new jy_yssj(); string jsgs = t.jsgs; string jsjg = ""; while (true) { int post = jsgs.IndexOf("["); if (post < 0) { jsjg += jsgs; break; } else { jsjg += jsgs.Substring(0, post); jsgs = jsgs.Substring(post + 1); } post = jsgs.IndexOf("]"); if (post >= 0) { string key = jsgs.Substring(0, post); EAS.Loggers.Logger.Info(Newtonsoft.Json.JsonConvert.SerializeObject(key)); jsjg += dt.Rows[0][key].ToString(); if (post + 1 == jsgs.Length) { break; } else { jsgs = jsgs.Substring(post + 1); } } } EAS.Loggers.Logger.Info(Newtonsoft.Json.JsonConvert.SerializeObject(dt)); yssj.jg = double.Parse(dt.Compute(jsjg, "1=1").ToString()).ToString("f4"); yssj.yqbh = yq; yssj.xmbm = t.jsxm; yssj.tdh = t.jsxm; yssj.jssj = DateTime.Now; yssj.jyrq = rq; yssj.czk = t.dyckz; yssj.bbh = isampleno; if (!db.jy_yssjs.Where(q => q.yqbh == yq && q.jyrq == rq && q.bbh == isampleno && q.tdh == t.jsxm).Any()) { db.jy_yssjs.Insert(yssj); } else { db.jy_yssjs.Update(yssj); } } catch { } }); } } } public bool jycanmodify(string yq, DateTime rq, int sampleno) { //throw new NotImplementedException(); using (var db = new DbEntities()) { var v = db.jy_yhxxs.Where(t => t.yqbh == yq && t.jyrq == rq && t.bbh == sampleno).FirstOrDefault(); if (v == null) { jy_yhxx yh = new jy_yhxx(); yh.jyrq = rq; yh.yqbh = yq; yh.bbh = sampleno; yh.state = 0; db.jy_yhxxs.Insert(yh); return true; } else if (v.state == 0) { return true; } else { return false; } } } public bool jycanmodifybytm(string yq, DateTime rq, string sampleno) { using (var db = new DbEntities()) { var v = db.jy_yhxxs.Where(t => t.yqbh == yq && t.jyrq == rq && t.jytm == sampleno).FirstOrDefault(); if (v == null) { return false; } else if (v.state == 0) { return true; } else { return false; } } } public OperationResult regJYRQEntity(jy_yiqi jyyq) { //throw new NotImplementedException(); OperationResult or = new OperationResult(); using (var db = new DbEntities()) { try { if (jyyq.azrq == null) jyyq.azrq = DateTime.Now; db.jy_yiqis.Insert(jyyq); } catch (Exception ex) { or.State = 0; or.Message = ex.Message; return or; } or.State = 1; or.Message = "操作成功!"; return or; } } public OperationResult regJYYQ(string yqbm, string dnmc, string yqmc, string yqxh, int yqlb) { //throw new NotImplementedException(); jy_yiqi yq = new jy_yiqi { yq = yqbm, yqlb = yqlb, yqmc = yqmc, yqxh = yqxh, dnname = dnmc, azrq = DateTime.Now }; return regJYRQEntity(yq); } public OperationResult regyhxx(jy_yhxx yhxx) { //throw new NotImplementedException(); OperationResult or = new OperationResult(); using (var db = new DbEntities()) { var tran = db.CreateTransaction(); try { if (db.jy_yhxxs.Where(t => t.jyrq == yhxx.jyrq && t.yqbh == yhxx.yqbh && t.bbh == yhxx.bbh).Any()) { db.jy_yhxxs.Update(yhxx); } else { db.jy_yhxxs.Insert(yhxx); } var jymx = db.jy_sqd_mxs.Where(t => t.jytm == yhxx.jytm).ToList(); var tm = db.jy_sqds.Where(t => t.jytm == yhxx.jytm).First(); if (db.t_tempdjxms.Where(t => t.tm == tm.tm).Any()) { jymx.ForEach(t => { var djxm = db.t_tempdjxms.Where(p => p.tm == tm.tm && p.zhbm == t.zhxmbm).First(); if (djxm.ztz == 0) { djxm.ztz = 1; djxm.lissuccess = (short)yhxx.bbh; db.t_tempdjxms.Update(djxm); } }); } tran.Commit(); or.State = 1; or.Message = "操作成功!"; } catch (Exception ex) { tran.Rollback(); or.State = 0; or.Message = ex.Message; return or; } } return or; } public OperationResult deleteJyxm(int id) { OperationResult or = new OperationResult(); using (var db = new DbEntities()) { try { db.jy_yiqi_xms.Delete(t => t.id == id); } catch (Exception ex) { or.State = 0; or.Message = ex.Message; return or; } or.State = 1; or.Message = "删除成功!"; return or; } } public OperationResult regyqjsxm(jy_yiqi_xm_calc xm) { // throw new NotImplementedException(); OperationResult or = new OperationResult(); using (var db = new DbEntities()) { if (db.jy_yiqi_xm_calcs.Where(t => t.yq == xm.yq && t.jsxm == xm.jsxm).Any()) { try { db.jy_yiqi_xm_calcs.Update(xm); } catch (Exception ex) { or.State = 0; or.Message = ex.Message; return or; } or.State = 1; or.Message = "更新成功!"; return or; } else { try { db.jy_yiqi_xm_calcs.Insert(xm); } catch (Exception ex) { or.State = 0; or.Message = ex.Message; return or; } or.State = 1; or.Message = "添加成功!"; return or; } } } public OperationResult regyqxm(jy_yiqi_xm xm) { //throw new NotImplementedException(); OperationResult or = new OperationResult(); using (var db = new DbEntities()) { if (db.jy_yiqi_xms.Where(t => t.yq == xm.yq && t.xmdm == xm.xmdm).Any()) { try { db.jy_yiqi_xms.Update(xm); } catch (Exception ex) { or.State = 0; or.Message = ex.Message; return or; } or.State = 1; or.Message = "更新成功!"; return or; } else { try { db.jy_yiqi_xms.Insert(xm); } catch (Exception ex) { or.State = 0; or.Message = ex.Message; return or; } or.State = 1; or.Message = "添加成功!"; return or; } } } public OperationResult yiqizhuxiao(string yq) { //throw new NotImplementedException(); using (var db = new DbEntities()) { OperationResult or = new OperationResult(); try { var tyq = db.jy_yiqis.First(t => t.yq == yq); tyq.zhuxiao = 1; db.jy_yiqis.Update(tyq); } catch (Exception ex) { or.State = 0; or.Message = ex.Message; return or; } or.State = 1; or.Message = "注销成功!"; return or; } } public bool IsNumber(String strNumber) { Regex objNotNumberPattern = new Regex("[^0-9.-]"); Regex objTwoDotPattern = new Regex("[0-9]*[.][0-9]*[.][0-9]*"); Regex objTwoMinusPattern = new Regex("[0-9]*[-][0-9]*[-][0-9]*"); String strValidRealPattern = "^([-]|[.]|[-.]|[0-9])[0-9]*[.]*[0-9]+$"; String strValidIntegerPattern = "^([-]|[0-9])[0-9]*$"; Regex objNumberPattern = new Regex("(" + strValidRealPattern + ")|(" + strValidIntegerPattern + ")"); return !objNotNumberPattern.IsMatch(strNumber) && !objTwoDotPattern.IsMatch(strNumber) && !objTwoMinusPattern.IsMatch(strNumber) && objNumberPattern.IsMatch(strNumber); } public static bool isNumeric(string inString) { inString = inString.Trim(); bool haveNumber = false; bool haveDot = false; for (int i = 0; i < inString.Length; i++) { if (Char.IsNumber(inString[i])) { haveNumber = true; } else if (inString[i] == '.') { if (haveDot) { return false; } else { haveDot = true; } } else if (i == 0) { if (inString[i] != '+' && inString[i] != '-') { return false; } } else { return false; } if (i > 20) { return false; } } return haveNumber; } public OperationResult shenhe(String listm, String yqh, string xm, string username, short yydm) { using (var db = new DbEntities()) { DbTransaction tran = db.CreateTransaction(); OperationResult or = new OperationResult(); try { int xb = 0; //获取LIS用户数据 var yhxx = db.jy_yhxxs.FirstOrDefault(t => t.jytm == listm); if (yhxx == null) { or.State = 0; or.Message = "没有找到当前条码的用户信息!"; return or; } if (yhxx.state == 1) { or.State = 0; or.Message = "当前用户数据已经上传不能重复上传!"; return or; } if (!string.IsNullOrEmpty(yhxx.xb)) { if ("女".Equals(yhxx.xb)) { xb = 1; } } #region 判断是否全部结果已经做完 //取这个人的原始数据 var yssjs = db.jy_yssjs.Where(t => t.jyrq == yhxx.jyrq && t.yqbh == yhxx.yqbh && t.bbh == yhxx.bbh).ToList(); if (yqh != "BW500" && yqh != "UT500" && yydm != 1 && yqh != "AU680") { //取这个人要做的数据 string sql = @"select * from t_jcxm where jcxmbm in (select xmbm from t_zhxmmx where zhbm in ( select zhxmbm from jy_sqd_mx where jytm = '" + listm + "'))"; DataTable dt = db.DataAccessor.QueryDataTable(sql); for (int d = dt.Rows.Count - 1; d >= 0; d--) { yssjs.ForEach(y => { if (dt.Rows[d].RowState != DataRowState.Deleted) { if (y.xmbm == dt.Rows[d]["lis"].ToString() && !string.IsNullOrEmpty(y.jg)) { dt.Rows[d].Delete(); } } }); } dt.AcceptChanges(); if (dt.Rows.Count > 0) { string kxmstr = ""; foreach (DataRow dr in dt.Rows) { kxmstr += dr["jcxmmc"].ToString() + ","; } //kxmstr = "标本号:"+yhxx.bbh+",姓名:" + yhxx.xm+","+ kxmstr+"项目结果未完成,无法上传数据。"; kxmstr = "标本号:" + yhxx.bbh + " 姓名:" + yhxx.xm + " 【" + kxmstr + "】项目结果未完成,无法上传数据。"; or.State = 0; or.Message = kxmstr; return or; } } #endregion yhxx.state = 1; yhxx.shyy = username; yhxx.shsj = DateTime.Now; db.jy_yhxxs.Update(yhxx); //取仪器可以做的项目 if (xb == 0) { var yqxms = db.jy_yiqi_xms.Where(t => t.yq == yhxx.yqbh).Select(t => new { jyxm = t.xmdm, cksx = t.cksx, ckxx = t.ckxx, dw = t.dw, xmmc = t.xmmc }).ToList(); var yqjsxm = db.jy_yiqi_xm_calcs.Where(t => t.yq == yhxx.yqbh).Select(t => new { jyxm = t.jsxm, cksx = t.cksx, ckxx = t.ckxx, dw = t.dw, xmmc = t.xmmc }).ToList(); yqxms = yqxms.Concat(yqjsxm).ToList(); //把原始数据存入sqd_jg int i = 0; List sqdjg = new List(); try { yssjs.ForEach(t => { if (t.jg == "") { tran.Rollback(); or.State = 0; or.Message = "检验条码:" + yhxx.jytm + "\r\n" + "标本号:" + yhxx.bbh.ToString() + "\r\n" + "检验项目:" + t.xmbm + "\r\n" + "结果为空,上传失败!"; return; } var t_xm = yqxms.FirstOrDefault(x => x.jyxm == t.xmbm); jy_sqd_jg jg = new jy_sqd_jg { bbh = yhxx.bbh.ToString(), bgrq = t.jyrq, bgsj = DateTime.Now, bgys = yhxx.jyys, shsj = DateTime.Now, gxsj = DateTime.Now, flag = "1", jg = t.jg, jytm = yhxx.jytm, state = 1, xmbm = t.xmbm, yqbh = t.yqbh, xh = ++i }; jg.shyy = username; if (xm != null) { jg.ckss = t_xm.cksx; jg.ckxx = t_xm.ckxx; jg.dw = t_xm.dw; jg.xmmc = t_xm.xmmc; if (t.yqbh != "BW500" && t.yqbh != "UT500") { try { double value = Convert.ToDouble(t.jg); double cksx = Convert.ToDouble(t_xm.cksx); double ckxx = Convert.ToDouble(t_xm.ckxx); if (value > cksx) { jg.flag = "2"; } if (value < ckxx) { jg.flag = "2"; } } catch { } } } var seljy_sqd_jgs = db.jy_sqd_jgs.FirstOrDefault(v => v.jytm == jg.jytm && v.yqbh == jg.yqbh && v.bbh == jg.bbh && v.xmbm == jg.xmbm); if (seljy_sqd_jgs == null) { db.jy_sqd_jgs.Insert(jg); } else { db.jy_sqd_jgs.Update(jg); } sqdjg.Add(jg); }); } catch (Exception ex) { tran.Rollback(); or.State = 0; or.Message = ex.Message + ex.StackTrace; return or; } //if (or.State == 0) //{ // return or; //} //获取申请单的明细数据 var sqdxms = db.jy_sqd_mxs.Where(t => t.jytm == yhxx.jytm).ToList(); var t_djxm = db.t_tempdjxms.Where(t => t.tm == yhxx.tm).ToList(); if (t_djxm.Count != 0) { t_djxm = t_djxm.Where(t => sqdxms.Where(s => s.zhxmbm == t.zhbm).Any()).ToList(); tran = db.CreateTransaction(); var tjjd = new t_tjjd(); t_djxm.ForEach(t => { var jcxms = db.t_zhxmmxs.Where(z => z.zhbm == t.zhbm).Join(db.t_jcxms, z => z.xmbm, p => p.jcxmbm, (z, p) => p).ToList(); tjjd.czy = username; tjjd.ksbm = (short)t.ksbm; tjjd.tm = t.tm; tjjd.zdys = xm; tjjd.djsj = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); tjjd.upflag = 0; var tjjgs = sqdjg.Join(jcxms, j => j.xmbm, p => p.lis, (j, p) => new { cksx = p.cksx, ckxx = p.ckxx, xmbm = p.jcxmbm, jg = j.jg, dw = p.dw, lx = p.lx, jcxm = p.jcxmmc }).ToList(); tjjgs.ForEach(j => { double c; var tjjg = new t_tjjg(); if (double.TryParse(j.jg.Trim(), out c)) { if (yqh == "BW500") { tjjg.jg = Convert.ToDouble(j.jg).ToString("f4").ToString(); } else { if (j.jg.Trim().Equals("+1") || j.jg.Trim().Equals("+2") || j.jg.Trim().Equals("+3")) { tjjg.jg = j.jg.Trim(); } else { tjjg.jg = Convert.ToDouble(j.jg).ToString("0.00").ToString(); } } } /*if (isNumeric(j.jg.Trim())) { tjjg.jg = Convert.ToDouble(j.jg.Trim()).ToString("0.00").ToString(); }*/ else { tjjg.jg = j.jg.Trim(); } if (j.cksx.ToString().Length > 0) { tjjg.cksx = j.cksx.ToString(); } else { tjjg.cksx = ""; } if (j.ckxx.ToString().Length > 0) { tjjg.ckxx = j.ckxx.ToString(); } else { tjjg.ckxx = ""; } tjjg.lx = j.lx; tjjg.czy = username; tjjg.xmbm = j.xmbm; tjjg.dw = j.dw; if (j.lx == 0) { if (j.jg.Trim() == "+") { tjjd.zdjg += j.jcxm + "阳性\r\n"; } else if (j.jg.Trim() == "+-") { tjjd.zdjg += j.jcxm + "弱阳\r\n"; } else if (j.jg.Trim() == "1+") { tjjd.zdjg += j.jcxm + "+\r\n"; } else if (j.jg.Trim() == "+1") { tjjd.zdjg += j.jcxm + "+\r\n"; } else if (j.jg.Trim() == "+2") { tjjd.zdjg += j.jcxm + "++\r\n"; } else if (j.jg.Trim() == "+3") { tjjd.zdjg += j.jcxm + "+++\r\n"; } else if (j.jg.Trim() == "2+") { tjjd.zdjg += j.jcxm + "++\r\n"; } else if (j.jg.Trim() == "3+") { tjjd.zdjg += j.jcxm + "+++\r\n"; } else { double tjg = 0; if (isNumeric(j.jg)) { if (double.TryParse(j.jg, out tjg)) { if (tjg < j.ckxx) { //tjjd.zdjg += j.jcxm + "偏低" + ":" + Convert.ToDouble(j.jg).ToString("0.00").ToString() + " (正常值" + j.ckxx + "-" + j.cksx + " " + j.dw + ")\r\n"; tjjd.zdjg += j.jcxm + "偏低\r\n"; //tjjd.zdjg += j.jcxm + " 偏低 " + j.jg+j.dw; } else if (tjg > j.cksx) { //tjjd.zdjg += j.jcxm + "偏高" + ":" + Convert.ToDouble(j.jg).ToString("0.00").ToString() + " (正常值" + j.ckxx + "-" + j.cksx + " " + j.dw + ")\r\n"; tjjd.zdjg += j.jcxm + "偏高\r\n"; //tjjd.zdjg += j.jcxm + " 偏高 " + j.jg+j.dw; } } } } } tjjg.upflag = 0; tjjg.tm = t.tm; var seltjjg = db.t_tjjgs.FirstOrDefault(x => x.tm == t.tm && x.xmbm == j.xmbm); if (seltjjg == null) { db.t_tjjgs.Insert(tjjg); } else { db.t_tjjgs.Update(tjjg); } }); }); if (string.IsNullOrEmpty(tjjd.zdjg)) { tjjd.zdjg = "未见异常"; } var seltjjd = db.t_tjjds.FirstOrDefault(y => y.tm == tjjd.tm && y.ksbm == tjjd.ksbm); if (seltjjd == null) { db.t_tjjds.Insert(tjjd); } else { var seltjjd1 = db.t_tjjds.FirstOrDefault(y => y.tm == tjjd.tm && y.ksbm == tjjd.ksbm); if (seltjjd1.zdjg != "未见异常") { if (tjjd.zdjg == "未见异常") { tjjd.zdjg = seltjjd1.zdjg; } else { tjjd.zdjg = seltjjd1.zdjg + "\r\n" + tjjd.zdjg; } } db.t_tjjds.Update(tjjd); } } tran.Commit(); } else { var yqxms = db.jy_yiqi_xms.Where(t => t.yq == yhxx.yqbh).Select(t => new { jyxm = t.xmdm, cksx = t.cksx1, ckxx = t.ckxx1, dw = t.dw, xmmc = t.xmmc }).ToList(); var yqjsxm = db.jy_yiqi_xm_calcs.Where(t => t.yq == yhxx.yqbh).Select(t => new { jyxm = t.jsxm, cksx = t.cksx1, ckxx = t.ckxx1, dw = t.dw, xmmc = t.xmmc }).ToList(); yqxms = yqxms.Concat(yqjsxm).ToList(); //把原始数据存入sqd_jg int i = 0; List sqdjg = new List(); try { yssjs.ForEach(t => { if (t.jg == "") { tran.Rollback(); or.State = 0; or.Message = "检验条码:" + yhxx.jytm + "\r\n" + "标本号:" + yhxx.bbh.ToString() + "\r\n" + "检验项目:" + t.xmbm + "\r\n" + "结果为空,上传失败!"; return; } var t_xm = yqxms.FirstOrDefault(x => x.jyxm == t.xmbm); jy_sqd_jg jg = new jy_sqd_jg { bbh = yhxx.bbh.ToString(), bgrq = t.jyrq, bgsj = DateTime.Now, bgys = yhxx.jyys, shsj = DateTime.Now, gxsj = DateTime.Now, flag = "1", jg = t.jg, jytm = yhxx.jytm, state = 1, xmbm = t.xmbm, yqbh = t.yqbh, xh = ++i }; jg.shyy = username; if (xm != null) { jg.ckss = t_xm.cksx; jg.ckxx = t_xm.ckxx; jg.dw = t_xm.dw; jg.xmmc = t_xm.xmmc; if (t.yqbh != "BW500" && t.yqbh != "UT500") { try { double value = Convert.ToDouble(t.jg); double cksx = Convert.ToDouble(t_xm.cksx); double ckxx = Convert.ToDouble(t_xm.ckxx); if (value > cksx) { jg.flag = "2"; } if (value < ckxx) { jg.flag = "2"; } } catch { } } } var seljy_sqd_jgs = db.jy_sqd_jgs.FirstOrDefault(v => v.jytm == jg.jytm && v.yqbh == jg.yqbh && v.bbh == jg.bbh && v.xmbm == jg.xmbm); if (seljy_sqd_jgs == null) { db.jy_sqd_jgs.Insert(jg); } else { db.jy_sqd_jgs.Update(jg); } sqdjg.Add(jg); }); } catch (Exception ex) { tran.Rollback(); or.State = 0; or.Message = ex.Message + ex.StackTrace; return or; } //if (or.State == 0) //{ // return or; //} //获取申请单的明细数据 var sqdxms = db.jy_sqd_mxs.Where(t => t.jytm == yhxx.jytm).ToList(); var t_djxm = db.t_tempdjxms.Where(t => t.tm == yhxx.tm).ToList(); if (t_djxm.Count != 0) { t_djxm = t_djxm.Where(t => sqdxms.Where(s => s.zhxmbm == t.zhbm).Any()).ToList(); tran = db.CreateTransaction(); var tjjd = new t_tjjd(); t_djxm.ForEach(t => { var jcxms = db.t_zhxmmxs.Where(z => z.zhbm == t.zhbm).Join(db.t_jcxms, z => z.xmbm, p => p.jcxmbm, (z, p) => p).ToList(); tjjd.czy = username; tjjd.ksbm = (short)t.ksbm; tjjd.tm = t.tm; tjjd.zdys = xm; tjjd.djsj = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); tjjd.upflag = 0; var tjjgs = sqdjg.Join(jcxms, j => j.xmbm, p => p.lis, (j, p) => new { cksx = p.cksx1, ckxx = p.ckxx1, xmbm = p.jcxmbm, jg = j.jg, dw = p.dw, lx = p.lx, jcxm = p.jcxmmc }).ToList(); tjjgs.ForEach(j => { double c; var tjjg = new t_tjjg(); if (double.TryParse(j.jg.Trim(), out c)) { if (yqh == "BW500") { tjjg.jg = Convert.ToDouble(j.jg).ToString("f4").ToString(); } else { if (j.jg.Trim().Equals("+1") || j.jg.Trim().Equals("+2") || j.jg.Trim().Equals("+3")) { tjjg.jg = j.jg.Trim(); } else { tjjg.jg = Convert.ToDouble(j.jg).ToString("0.00").ToString(); } } } /*if (isNumeric(j.jg.Trim())) { tjjg.jg = Convert.ToDouble(j.jg.Trim()).ToString("0.00").ToString(); }*/ else { tjjg.jg = j.jg.Trim(); } if (j.cksx.ToString().Length > 0) { tjjg.cksx = j.cksx.ToString(); } else { tjjg.cksx = ""; } if (j.ckxx.ToString().Length > 0) { tjjg.ckxx = j.ckxx.ToString(); } else { tjjg.ckxx = ""; } tjjg.lx = j.lx; tjjg.czy = username; tjjg.xmbm = j.xmbm; tjjg.dw = j.dw; if (j.lx == 0) { if (j.jg.Trim() == "+") { tjjd.zdjg += j.jcxm + "阳性\r\n"; } else if (j.jg.Trim() == "+-") { tjjd.zdjg += j.jcxm + "弱阳\r\n"; } else if (j.jg.Trim() == "1+") { tjjd.zdjg += j.jcxm + "+\r\n"; } else if (j.jg.Trim() == "+1") { tjjd.zdjg += j.jcxm + "+\r\n"; } else if (j.jg.Trim() == "+2") { tjjd.zdjg += j.jcxm + "++\r\n"; } else if (j.jg.Trim() == "+3") { tjjd.zdjg += j.jcxm + "+++\r\n"; } else if (j.jg.Trim() == "2+") { tjjd.zdjg += j.jcxm + "++\r\n"; } else if (j.jg.Trim() == "3+") { tjjd.zdjg += j.jcxm + "+++\r\n"; } else { double tjg = 0; if (isNumeric(j.jg)) { if (double.TryParse(j.jg, out tjg)) { if (tjg < j.ckxx) { //tjjd.zdjg += j.jcxm + "偏低" + ":" + Convert.ToDouble(j.jg).ToString("0.00").ToString() + " (正常值" + j.ckxx + "-" + j.cksx + " " + j.dw + ")\r\n"; tjjd.zdjg += j.jcxm + "偏低\r\n"; //tjjd.zdjg += j.jcxm + " 偏低 " + j.jg+j.dw; } else if (tjg > j.cksx) { //tjjd.zdjg += j.jcxm + "偏高" + ":" + Convert.ToDouble(j.jg).ToString("0.00").ToString() + " (正常值" + j.ckxx + "-" + j.cksx + " " + j.dw + ")\r\n"; tjjd.zdjg += j.jcxm + "偏高\r\n"; //tjjd.zdjg += j.jcxm + " 偏高 " + j.jg+j.dw; } } } } } tjjg.upflag = 0; tjjg.tm = t.tm; var seltjjg = db.t_tjjgs.FirstOrDefault(x => x.tm == t.tm && x.xmbm == j.xmbm); if (seltjjg == null) { db.t_tjjgs.Insert(tjjg); } else { db.t_tjjgs.Update(tjjg); } }); }); if (string.IsNullOrEmpty(tjjd.zdjg)) { tjjd.zdjg = "未见异常"; } var seltjjd = db.t_tjjds.FirstOrDefault(y => y.tm == tjjd.tm && y.ksbm == tjjd.ksbm); if (seltjjd == null) { db.t_tjjds.Insert(tjjd); } else { var seltjjd1 = db.t_tjjds.FirstOrDefault(y => y.tm == tjjd.tm && y.ksbm == tjjd.ksbm); if (seltjjd1.zdjg != "未见异常") { if (tjjd.zdjg == "未见异常") { tjjd.zdjg = seltjjd1.zdjg; } else { tjjd.zdjg = seltjjd1.zdjg + "\r\n" + tjjd.zdjg; } } db.t_tjjds.Update(tjjd); } } tran.Commit(); } } catch (Exception ex1) { tran.Rollback(); or.State = 0; or.Message = ex1.Message + ex1.StackTrace; return or; } or.State = 1; or.Message = "上传成功!"; return or; } } public OperationResult shenhe2(String listm, String yqh, string xm, string username, short yydm) { using (var db = new DbEntities()) { DbTransaction tran = db.CreateTransaction(); OperationResult or = new OperationResult(); try { int xb = 0; //获取LIS用户数据 var yhxx = db.jy_yhxxs.FirstOrDefault(t => t.jytm == listm); if (yhxx == null) { or.State = 0; or.Message = "没有找到当前条码的用户信息!"; } if (!string.IsNullOrEmpty(yhxx.xb)) { if ("女".Equals(yhxx.xb)) { xb = 1; } } #region 判断是否全部结果已经做完 //取这个人的原始数据 var yssjs = db.jy_yssjs.Where(t => t.jyrq == yhxx.jyrq && t.yqbh == yhxx.yqbh && t.bbh == yhxx.bbh).ToList(); if (yqh != "BW500" && yqh != "UT500" && yydm != 1 && yqh != "AU680") { //取这个人要做的数据 string sql = @"select * from t_jcxm where jcxmbm in (select xmbm from t_zhxmmx where zhbm in ( select zhxmbm from jy_sqd_mx where jytm = '" + listm + "'))"; DataTable dt = db.DataAccessor.QueryDataTable(sql); for (int d = dt.Rows.Count - 1; d >= 0; d--) { //if (dt.Rows[d].RowState == DataRowState.Deleted) //{ // continue; //} yssjs.ForEach(y => { if (dt.Rows[d].RowState != DataRowState.Deleted) { if (y.xmbm == dt.Rows[d]["lis"].ToString() && !string.IsNullOrEmpty(y.jg)) { dt.Rows[d].Delete(); } } }); } dt.AcceptChanges(); if (dt.Rows.Count > 0) { string kxmstr = ""; foreach (DataRow dr in dt.Rows) { kxmstr += dr["jcxmmc"].ToString() + ","; } //kxmstr = kxmstr + "项目结果未完成,无法上传数据。"; kxmstr = "标本号:" + yhxx.bbh + " 姓名:" + yhxx.xm + " 【" + kxmstr + "】项目结果未完成,无法上传数据。"; or.State = 0; or.Message = kxmstr; return or; } } #endregion yhxx.state = 1; yhxx.shyy = username; yhxx.shsj = DateTime.Now; db.jy_yhxxs.Update(yhxx); //取仪器可以做的项目 if (xb == 0) { var yqxms = db.jy_yiqi_xms.Where(t => t.yq == yhxx.yqbh).Select(t => new { jyxm = t.xmdm, cksx = t.cksx, ckxx = t.ckxx, dw = t.dw, xmmc = t.xmmc }).ToList(); var yqjsxm = db.jy_yiqi_xm_calcs.Where(t => t.yq == yhxx.yqbh).Select(t => new { jyxm = t.jsxm, cksx = t.cksx, ckxx = t.ckxx, dw = t.dw, xmmc = t.xmmc }).ToList(); yqxms = yqxms.Concat(yqjsxm).ToList(); //把原始数据存入sqd_jg int i = 0; List sqdjg = new List(); try { yssjs.ForEach(t => { if (t.jg == "") { tran.Rollback(); or.State = 0; or.Message = "检验条码:" + yhxx.jytm + "\r\n" + "标本号:" + yhxx.bbh.ToString() + "\r\n" + "检验项目:" + t.xmbm + "\r\n" + "结果为空,上传失败!"; return; } var t_xm = yqxms.FirstOrDefault(x => x.jyxm == t.xmbm); jy_sqd_jg jg = new jy_sqd_jg { bbh = yhxx.bbh.ToString(), bgrq = t.jyrq, bgsj = DateTime.Now, bgys = yhxx.jyys, shsj = DateTime.Now, gxsj = DateTime.Now, flag = "1", jg = t.jg, jytm = yhxx.jytm, state = 1, xmbm = t.xmbm, yqbh = t.yqbh, xh = ++i }; jg.shyy = username; if (xm != null) { jg.ckss = t_xm.cksx; jg.ckxx = t_xm.ckxx; jg.dw = t_xm.dw; jg.xmmc = t_xm.xmmc; if (t.yqbh != "BW500") { double value = Convert.ToDouble(t.jg); double cksx = Convert.ToDouble(t_xm.cksx); double ckxx = Convert.ToDouble(t_xm.ckxx); if (value > cksx) { jg.flag = "2"; } if (value < ckxx) { jg.flag = "2"; } } } var seljy_sqd_jgs = db.jy_sqd_jgs.FirstOrDefault(v => v.jytm == jg.jytm && v.yqbh == jg.yqbh && v.bbh == jg.bbh && v.xmbm == jg.xmbm); if (seljy_sqd_jgs == null) { db.jy_sqd_jgs.Insert(jg); } else { db.jy_sqd_jgs.Update(jg); } sqdjg.Add(jg); }); } catch (Exception ex) { tran.Rollback(); or.State = 0; or.Message = ex.Message; return or; } //if (or.State == 0) //{ // return or; //} //获取申请单的明细数据 var sqdxms = db.jy_sqd_mxs.Where(t => t.jytm == yhxx.jytm).ToList(); var t_djxm = db.t_tempdjxms.Where(t => t.tm == yhxx.tm).ToList(); if (t_djxm.Count != 0) { t_djxm = t_djxm.Where(t => sqdxms.Where(s => s.zhxmbm == t.zhbm).Any()).ToList(); tran = db.CreateTransaction(); var tjjd = new t_tjjd(); t_djxm.ForEach(t => { var jcxms = db.t_zhxmmxs.Where(z => z.zhbm == t.zhbm).Join(db.t_jcxms, z => z.xmbm, p => p.jcxmbm, (z, p) => p).ToList(); tjjd.czy = username; tjjd.ksbm = (short)t.ksbm; tjjd.tm = t.tm; tjjd.zdys = xm; tjjd.djsj = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); tjjd.upflag = 0; var tjjgs = sqdjg.Join(jcxms, j => j.xmbm, p => p.lis, (j, p) => new { cksx = p.cksx, ckxx = p.ckxx, xmbm = p.jcxmbm, jg = j.jg, dw = p.dw, lx = p.lx, jcxm = p.jcxmmc }).ToList(); tjjgs.ForEach(j => { double c; var tjjg = new t_tjjg(); if (double.TryParse(j.jg, out c)) { if (yqh == "BW500") { tjjg.jg = Convert.ToDouble(j.jg).ToString("f4").ToString(); } else { tjjg.jg = Convert.ToDouble(j.jg).ToString("0.00").ToString(); } } else { tjjg.jg = j.jg; } if (j.cksx.ToString().Length > 0) { tjjg.cksx = j.cksx.ToString(); } else { tjjg.cksx = ""; } if (j.ckxx.ToString().Length > 0) { tjjg.ckxx = j.ckxx.ToString(); } else { tjjg.ckxx = ""; } tjjg.lx = j.lx; tjjg.czy = username; tjjg.xmbm = j.xmbm; tjjg.dw = j.dw; if (j.lx == 0) { if (j.jg == "+") { tjjd.zdjg += j.jcxm + "阳性\r\n"; } else if (j.jg == "+-") { tjjd.zdjg += j.jcxm + "弱阳\r\n"; } else if (j.jg == "1+") { tjjd.zdjg += j.jcxm + "+\r\n"; } else if (j.jg == "2+") { tjjd.zdjg += j.jcxm + "++\r\n"; } else if (j.jg == "3+") { tjjd.zdjg += j.jcxm + "+++\r\n"; } else { double tjg = 0; double.TryParse(j.jg, out tjg); if (tjg < j.ckxx) { //tjjd.zdjg += j.jcxm + "偏低" + ":" + Convert.ToDouble(j.jg).ToString("0.00").ToString() + " (正常值" + j.ckxx + "-" + j.cksx + " " + j.dw + ")\r\n"; tjjd.zdjg += j.jcxm + "偏低\r\n"; //tjjd.zdjg += j.jcxm + " 偏低 " + j.jg+j.dw; } else if (tjg > j.cksx) { //tjjd.zdjg += j.jcxm + "偏高" + ":" + Convert.ToDouble(j.jg).ToString("0.00").ToString() + " (正常值" + j.ckxx + "-" + j.cksx + " " + j.dw + ")\r\n"; tjjd.zdjg += j.jcxm + "偏高\r\n"; //tjjd.zdjg += j.jcxm + " 偏高 " + j.jg+j.dw; } } } tjjg.upflag = 0; tjjg.tm = t.tm; var seltjjg = db.t_tjjgs.FirstOrDefault(x => x.tm == t.tm && x.xmbm == j.xmbm); if (seltjjg == null) { db.t_tjjgs.Insert(tjjg); } else { db.t_tjjgs.Update(tjjg); } }); }); if (string.IsNullOrEmpty(tjjd.zdjg)) { tjjd.zdjg = "未见异常"; } var seltjjd = db.t_tjjds.FirstOrDefault(y => y.tm == tjjd.tm && y.ksbm == tjjd.ksbm); if (seltjjd == null) { db.t_tjjds.Insert(tjjd); } else { var seltjjd1 = db.t_tjjds.FirstOrDefault(y => y.tm == tjjd.tm && y.ksbm == tjjd.ksbm); if (seltjjd1.zdjg != "未见异常") { if (tjjd.zdjg == "未见异常") { tjjd.zdjg = seltjjd1.zdjg; } //else //{ // tjjd.zdjg = seltjjd1.zdjg + "\r\n" + tjjd.zdjg; //} } db.t_tjjds.Update(tjjd); } } tran.Commit(); } else { var yqxms = db.jy_yiqi_xms.Where(t => t.yq == yhxx.yqbh).Select(t => new { jyxm = t.xmdm, cksx = t.cksx1, ckxx = t.ckxx1, dw = t.dw, xmmc = t.xmmc }).ToList(); var yqjsxm = db.jy_yiqi_xm_calcs.Where(t => t.yq == yhxx.yqbh).Select(t => new { jyxm = t.jsxm, cksx = t.cksx1, ckxx = t.ckxx1, dw = t.dw, xmmc = t.xmmc }).ToList(); yqxms = yqxms.Concat(yqjsxm).ToList(); //把原始数据存入sqd_jg int i = 0; List sqdjg = new List(); try { yssjs.ForEach(t => { if (t.jg == "") { tran.Rollback(); or.State = 0; or.Message = "检验条码:" + yhxx.jytm + "\r\n" + "标本号:" + yhxx.bbh.ToString() + "\r\n" + "检验项目:" + t.xmbm + "\r\n" + "结果为空,上传失败!"; return; } var t_xm = yqxms.FirstOrDefault(x => x.jyxm == t.xmbm); jy_sqd_jg jg = new jy_sqd_jg { bbh = yhxx.bbh.ToString(), bgrq = t.jyrq, bgsj = DateTime.Now, bgys = yhxx.jyys, shsj = DateTime.Now, gxsj = DateTime.Now, flag = "1", jg = t.jg, jytm = yhxx.jytm, state = 1, xmbm = t.xmbm, yqbh = t.yqbh, xh = ++i }; jg.shyy = username; if (xm != null) { jg.ckss = t_xm.cksx; jg.ckxx = t_xm.ckxx; jg.dw = t_xm.dw; jg.xmmc = t_xm.xmmc; if (t.yqbh != "BW500") { double value = Convert.ToDouble(t.jg); double cksx = Convert.ToDouble(t_xm.cksx); double ckxx = Convert.ToDouble(t_xm.ckxx); if (value > cksx) { jg.flag = "2"; } if (value < ckxx) { jg.flag = "2"; } } } var seljy_sqd_jgs = db.jy_sqd_jgs.FirstOrDefault(v => v.jytm == jg.jytm && v.yqbh == jg.yqbh && v.bbh == jg.bbh && v.xmbm == jg.xmbm); if (seljy_sqd_jgs == null) { db.jy_sqd_jgs.Insert(jg); } else { db.jy_sqd_jgs.Update(jg); } sqdjg.Add(jg); }); } catch (Exception ex) { tran.Rollback(); or.State = 0; or.Message = ex.Message; return or; } //if (or.State == 0) //{ // return or; //} //获取申请单的明细数据 var sqdxms = db.jy_sqd_mxs.Where(t => t.jytm == yhxx.jytm).ToList(); var t_djxm = db.t_tempdjxms.Where(t => t.tm == yhxx.tm).ToList(); if (t_djxm.Count != 0) { t_djxm = t_djxm.Where(t => sqdxms.Where(s => s.zhxmbm == t.zhbm).Any()).ToList(); tran = db.CreateTransaction(); var tjjd = new t_tjjd(); t_djxm.ForEach(t => { var jcxms = db.t_zhxmmxs.Where(z => z.zhbm == t.zhbm).Join(db.t_jcxms, z => z.xmbm, p => p.jcxmbm, (z, p) => p).ToList(); tjjd.czy = username; tjjd.ksbm = (short)t.ksbm; tjjd.tm = t.tm; tjjd.zdys = xm; tjjd.djsj = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); tjjd.upflag = 0; var tjjgs = sqdjg.Join(jcxms, j => j.xmbm, p => p.lis, (j, p) => new { cksx = p.cksx1, ckxx = p.ckxx1, xmbm = p.jcxmbm, jg = j.jg, dw = p.dw, lx = p.lx, jcxm = p.jcxmmc }).ToList(); tjjgs.ForEach(j => { double c; var tjjg = new t_tjjg(); if (double.TryParse(j.jg, out c)) { if (yqh == "BW500") { tjjg.jg = Convert.ToDouble(j.jg).ToString("f4").ToString(); } else { tjjg.jg = Convert.ToDouble(j.jg).ToString("0.00").ToString(); } } else { tjjg.jg = j.jg; } if (j.cksx.ToString().Length > 0) { tjjg.cksx = j.cksx.ToString(); } else { tjjg.cksx = ""; } if (j.ckxx.ToString().Length > 0) { tjjg.ckxx = j.ckxx.ToString(); } else { tjjg.ckxx = ""; } tjjg.lx = j.lx; tjjg.czy = username; tjjg.xmbm = j.xmbm; tjjg.dw = j.dw; if (j.lx == 0) { if (j.jg == "+") { tjjd.zdjg += j.jcxm + "阳性\r\n"; } else if (j.jg == "+-") { tjjd.zdjg += j.jcxm + "弱阳\r\n"; } else if (j.jg == "1+") { tjjd.zdjg += j.jcxm + "+\r\n"; } else if (j.jg == "2+") { tjjd.zdjg += j.jcxm + "++\r\n"; } else if (j.jg == "3+") { tjjd.zdjg += j.jcxm + "+++\r\n"; } else { double tjg = 0; double.TryParse(j.jg, out tjg); if (tjg < j.ckxx) { //tjjd.zdjg += j.jcxm + "偏低" + ":" + Convert.ToDouble(j.jg).ToString("0.00").ToString() + " (正常值" + j.ckxx + "-" + j.cksx + " " + j.dw + ")\r\n"; tjjd.zdjg += j.jcxm + "偏低\r\n"; //tjjd.zdjg += j.jcxm + " 偏低 " + j.jg+j.dw; } else if (tjg > j.cksx) { //tjjd.zdjg += j.jcxm + "偏高" + ":" + Convert.ToDouble(j.jg).ToString("0.00").ToString() + " (正常值" + j.ckxx + "-" + j.cksx + " " + j.dw + ")\r\n"; tjjd.zdjg += j.jcxm + "偏高\r\n"; //tjjd.zdjg += j.jcxm + " 偏高 " + j.jg+j.dw; } } } tjjg.upflag = 0; tjjg.tm = t.tm; var seltjjg = db.t_tjjgs.FirstOrDefault(x => x.tm == t.tm && x.xmbm == j.xmbm); if (seltjjg == null) { db.t_tjjgs.Insert(tjjg); } else { db.t_tjjgs.Update(tjjg); } }); }); if (string.IsNullOrEmpty(tjjd.zdjg)) { tjjd.zdjg = "未见异常"; } var seltjjd = db.t_tjjds.FirstOrDefault(y => y.tm == tjjd.tm && y.ksbm == tjjd.ksbm); if (seltjjd == null) { db.t_tjjds.Insert(tjjd); } else { var seltjjd1 = db.t_tjjds.FirstOrDefault(y => y.tm == tjjd.tm && y.ksbm == tjjd.ksbm); if (seltjjd1.zdjg != "未见异常") { if (tjjd.zdjg == "未见异常") { tjjd.zdjg = seltjjd1.zdjg; } //else //{ // tjjd.zdjg = seltjjd1.zdjg + "\r\n" + tjjd.zdjg; //} } db.t_tjjds.Update(tjjd); } } tran.Commit(); } } catch (Exception ex1) { tran.Rollback(); or.State = 0; or.Message = ex1.Message; return or; } or.State = 1; or.Message = "上传成功!"; return or; #region 注释BB原来代码实在是没法看呀!!!!郑志强2015-9-20 /* var info = db.jy_yhxxs.Where(t => t.jytm.Equals(listm)); if (info.Any()) { var oneInfo = info.First(); oneInfo.state = 1; db.jy_yhxxs.Update(oneInfo); List xmdms = db.jy_yiqi_xms.Where(t => t.yq.Equals(yqh)).Select(t => t.xmdm).ToList(); List jsxms = db.jy_yiqi_xm_calcs.Where(t => t.yq.Equals(yqh)).Select(t => t.jsxm).ToList(); xmdms.AddRange(jsxms); var yssjs = db.jy_yssjs.Where(t => t.yqbh.Equals(yqh) && t.bbh == oneInfo.bbh && t.jyrq == oneInfo.jyrq && xmdms.Contains(t.xmbm)).ToList(); var yqxms = db.jy_yiqi_xms.Where(t => t.yq.Equals(yqh)).Select(t => new { yq = t.yq, xm = t.xmdm, cksx = t.cksx, ckxx = t.ckxx, dw = t.dw }).ToList().Union(db.jy_yiqi_xm_calcs.Where(t => t.yq.Equals(yqh)).Select(t => new { yq = t.yq, xm = t.jsxm, cksx = t.cksx, ckxx = t.ckxx, dw = t.dw }).ToList()); DateTime nowDate = new DateTime(); List sqdjgs = yssjs.Join(yqxms, t => t.xmbm, p => p.xm, (t, p) => new { t, p }).Select(t => new jy_sqd_jg { jytm = listm, xh = 0, xmmc = "", xmbm = t.t.xmbm, jg = t.t.jg, flag = "1", dw = t.p.dw, ckss = t.p.cksx, ckxx = t.p.ckxx, yqbh = t.t.yqbh, bbh = t.t.bbh.ToString(), bgrq = t.t.jyrq, state = 1, gxsj = nowDate, shsj = nowDate, shyy = xm, bgsj = nowDate, bgys = oneInfo.jyys }).ToList(); List kss = new List(); for (int i = 0; i < sqdjgs.Count; i++) { jy_sqd_mx sqdmx = db.jy_sqd_mxs.Where(t => t.jytm == listm).First(); jy_sqd_jg sqdjg = sqdjgs[i]; sqdjg.xmmc = sqdmx.zhxmmc; sqdjg.xh = i + 1; db.jy_sqd_jgs.Insert(sqdjg); t_tempdjxm tempdjxm = new t_tempdjxm(); tempdjxm.tm = Convert.ToInt32(oneInfo.tm); t_jcxm jcxm = db.t_jcxms.Where(t => t.lis.Equals(sqdjg.xmbm)).First(); int ksbm = db.t_zhxms.Where(t => t.zhbm == sqdmx.zhxmbm).Select(t => t.ksbm).First(); if (kss.IndexOf(ksbm) == -1) { kss.Add(ksbm); } tempdjxm.zhbm = sqdmx.zhxmbm; tempdjxm.ztz = 4; tempdjxm.czy = username; tempdjxm.upflag = 1; tempdjxm.ksbm = ksbm; tempdjxm.operid = ""; t_tempdjxmBll tempvs = new t_tempdjxmBll(); OperationResult ortemp = tempvs.updateZtz(tempdjxm); if (ortemp.State == 1) { t_tjjg tjjg = new t_tjjg(); tjjg.tm = oneInfo.tm; tjjg.xmbm = jcxm.jcxmbm; tjjg.jg = sqdjg.jg; tjjg.dw = jcxm.dw; tjjg.lx = 0; tjjg.cksx = jcxm.cksx.ToString("0.00"); tjjg.ckxx = jcxm.ckxx.ToString("0.00"); tjjg.cksx = tjjg.cksx.Equals("") ? "0" : tjjg.cksx; tjjg.ckxx = tjjg.ckxx.Equals("") ? "0" : tjjg.ckxx; tjjg.czy = username; t_tjjgBll vservice = new t_tjjgBll(); vservice.Update(tjjg); } } for (int i = 0; i < kss.Count; i++) { List zhztzs = db.t_tempdjxms.Where(t => t.tm == Convert.ToInt32(oneInfo.tm) && t.ksbm == kss[i]).Select(t => t.ztz).Distinct().ToList(); if (zhztzs.Count == 1 && zhztzs[0] == 4) { List ksjcxms = db.t_zhxms.Where(t => t.ksbm == kss[i]).Join(db.t_zhxmmxs, t => t.zhbm, p => p.zhbm, (t, p) => new { bm = p.xmbm, }).Select(t => t.bm).ToList(); List tjjgs = db.t_tjjgs.Where(t => t.tm == Convert.ToInt32(oneInfo.tm) && ksjcxms.Contains(t.xmbm)).ToList(); String alljg = ""; for (int j = 0; j < tjjgs.Count; j++) { t_tjjg tjjg = tjjgs[i]; if (tjjg.lx == 0) { String jcxmmc = db.t_jcxms.Where(t => t.jcxmbm == tjjg.xmbm).Select(t => t.jcxmmc).First(); if (Convert.ToDouble(tjjg.jg) > Convert.ToDouble(tjjg.cksx)) { alljg = alljg + jcxmmc + "偏高 " + tjjg.ckxx + "~" + tjjg.ckxx + Environment.NewLine; } else if (Convert.ToDouble(tjjg.jg) < Convert.ToDouble(tjjg.ckxx)) { alljg = alljg + jcxmmc + "偏低 " + tjjg.ckxx + "~" + tjjg.ckxx + Environment.NewLine; } } } t_tjjd tjjd = new t_tjjd(); tjjd.tm = oneInfo.tm; tjjd.ksbm = Convert.ToInt16(kss[i]); tjjd.zdjg = alljg; tjjd.zdys = xm; tjjd.czy = username; t_tjjdBll tjjdbll = new t_tjjdBll(); tjjdbll.Update(tjjd, true, yydm); } } } } catch (Exception ex) { or.State = 0; or.Message = ex.Message; return or; } or.State = 1; or.Message = "审核成功!"; return or; */ #endregion } } public OperationResult delyhxx(string yqbm, DateTime jyrq, string bbh) { //throw new NotImplementedException(); OperationResult or = new OperationResult(); using (var db = new DbEntities()) { int ibbh = 0; int.TryParse(bbh, out ibbh); if (db.jy_yssjs.Where(t => t.yqbh == yqbm && t.bbh == ibbh && t.jyrq == jyrq.Date).Any()) { or.State = 0; or.Message = "你选的条码已经有回传信息不能删除!"; return or; } else { db.jy_yhxxs.Delete(t => t.yqbh == yqbm && t.bbh == ibbh && t.jyrq == jyrq.Date); or.State = 1; or.Message = "删除成功!"; return or; } } } public string getyiqijyxm(DateTime jyrq, string yqbh) { // throw new NotImplementedException(); using (var db = new DbEntities()) { return Newtonsoft.Json.JsonConvert.SerializeObject(db.jy_yhxxs.Where(t => t.yqbh == yqbh && t.jyrq == jyrq).Join(db.jy_sqd_mxs, t => t.jytm, p => p.jytm, (t, p) => new { t.bbh, p.zhxmbm, p.zhxmmc }).ToList()); } } /// /// /// /// /// public string getCXTJ(DateTime cxrq) { using (var db = new DbEntities()) { //var ttcx=db.t_ttgzbs.Join(db.) string tt = @"select tt.tm as tm ,tt.xm as xm ,sqd.jytm as jytm,xm.zhxmmc as zhxmmc ,sqd.cxsj as cxsj,isnull(yg.xm,'') as ygxm from t_ttgzb tt inner join jy_sqd sqd on tt.tm=sqd.tm inner join jy_sqd_mx xm on sqd.jytm=xm.jytm left join t_czygl czy on czy.czym=sqd.cxyy left join t_ygzd yg on czy.ygbm=yg.bm where (tt.tjrq>'" + cxrq.ToString("yyyy-MM-dd") + "' and tt.tjrq<'" + cxrq.AddDays(1).ToString("yyyy-MM-dd") + @"') or (sqd.cxsj>'" + cxrq.ToString("yyyy-MM-dd") + "' and sqd.cxsj<'" + cxrq.AddDays(1).ToString("yyyy-MM-dd") + @"') union all select tt.tm as tm ,tt.xm as xm ,sqd.jytm as jytm,xm.zhxmmc as zhxmmc ,sqd.cxsj as cxsj,isnull(yg.xm,'') as ygxm from t_grgzb tt inner join jy_sqd sqd on tt.tm=sqd.tm inner join jy_sqd_mx xm on sqd.jytm=xm.jytm left join t_czygl czy on czy.czym=sqd.cxyy left join t_ygzd yg on czy.ygbm=yg.bm where (tt.tjrq>'" + cxrq.ToString("yyyy-MM-dd") + "' and tt.tjrq<'" + cxrq.AddDays(1).ToString("yyyy-MM-dd") + @"') or (sqd.cxsj>'" + cxrq.ToString("yyyy-MM-dd") + "' and sqd.cxsj<'" + cxrq.AddDays(1).ToString("yyyy-MM-dd") + @"') "; DataSet ds = db.DataAccessor.QueryDataSet(tt); return Newtonsoft.Json.JsonConvert.SerializeObject(ds.Tables[0]); } } public DataTable hqqcvalues(string strrq, string endrq, QC_Items qcitems) { using (var db = new DbEntities()) { string tt = "select * from QC_Value where xmbm=" + qcitems.xmbm + " and QCOID=" + qcitems.QCOID + " and yqbh='" + qcitems.yqbh + "' and DataValue between '" + strrq + "' and '" + endrq + "'"; DataSet ds = db.DataAccessor.QueryDataSet(tt); return ds.Tables[0]; } } public OperationResult qcobject(QC_Object qco) { OperationResult or = new OperationResult(); using (var db = new DbEntities()) { try { //throw new NotImplementedException(); if (qco.QCOID == 0) { var w = db.QC_Objects.FirstOrDefault(t => t.pch == qco.pch); if (w != null) { or.State = 2; or.Message = "批次号不能重复!"; return or; } qco.QCOID = new BLL.BasicBll().GetMax(qco.DbTableName, 1); db.QC_Objects.Insert(qco); } else { //var w = db.QC_Objects.FirstOrDefault(t => t.QCOID != qco.QCOID && t.pch == qco.pch); //if (w != null) //{ // or.State = 3; // or.Message = "批次号名称不能重复!"; // return or; //} db.QC_Objects.Update(qco); } } catch (Exception ex) { or.State = 0; or.Message = ex.Message; return or; } or.State = 1; or.Message = Newtonsoft.Json.JsonConvert.SerializeObject(qco); return or; } } public List getQCObject(string yqbh) { using (var db = new DbEntities()) { return db.QC_Objects.Where(t => t.yqbh == yqbh).OrderBy(t => t.QCOID).ToList(); } } public List hqqcItems(string yqbh, int qcoid) { using (var db = new DbEntities()) { var data = db.QC_Itemss.Where(t => t.yqbh == yqbh && t.QCOID == qcoid).FirstOrDefault(); if (data == null) { var jyxmList = db.jy_yiqi_xms.Where(t => t.yq == yqbh).ToList(); jyxmList.ForEach(t => { var qcitem = new QC_Items(); qcitem.xmbm = new BLL.BasicBll().GetMax(qcitem.DbTableName, 1); qcitem.yqbh = yqbh; qcitem.QCOID = qcoid; qcitem.xmmc = t.xmmc; qcitem.ywmc = t.xmdm; qcitem.qybj = 0; qcitem.bzVar = ""; qcitem.sdVar = ""; qcitem.jsbzVar = ""; qcitem.jssdVar = ""; db.QC_Itemss.Insert(qcitem); }); return db.QC_Itemss.Where(t => t.yqbh == yqbh && t.QCOID == qcoid).ToList(); } else { return db.QC_Itemss.Where(t => t.yqbh == yqbh && t.QCOID == qcoid).ToList(); } } } public OperationResult deleteQCObject(QC_Object qco, string czy) { //throw new NotImplementedException(); OperationResult or = new OperationResult(); using (var db = new DbEntities()) { try { var qcdelobject = new QC_DELObject(); qcdelobject.QCOID = qco.QCOID; qcdelobject.yqbh = qco.yqbh; qcdelobject.qybj = qco.qybj; qcdelobject.pch = qco.pch; qcdelobject.sccj = qco.sccj; qcdelobject.ndName = qco.ndName; qcdelobject.jyff = qco.jyff; qcdelobject.hxsj = qco.hxsj; qcdelobject.bz = qco.bz; qcdelobject.strrq = qco.strrq; qcdelobject.endrq = qco.endrq; qcdelobject.delrq = DateTime.Now; qcdelobject.delczy = czy; db.QC_DELObjects.Insert(qcdelobject); db.QC_Objects.Delete(t => t.QCOID == qco.QCOID); } catch (Exception ex) { or.State = 0; or.Message = ex.Message; return or; } or.State = 1; or.Message = "删除成功!"; return or; } } public void qcItemUpdate(int xmbm, string yq, int qcoid, int qybj, string bzVar, string sdVar) { using (var db = new DbEntities()) { var qcitems = db.QC_Itemss.FirstOrDefault(t => t.xmbm == xmbm && t.yqbh == yq && t.QCOID == qcoid); if (qcitems == null) { } else { qcitems.qybj = qybj; qcitems.bzVar = bzVar; qcitems.sdVar = sdVar; db.QC_Itemss.Update(qcitems); } } } public void qcValueUpdate(int id, string jg, Double SD) { using (var db = new DbEntities()) { var qcvalues = db.QC_Values.FirstOrDefault(t => t.id == id); if (qcvalues == null) { } else { qcvalues.jg = Convert.ToDouble(jg).ToString("F4").ToString(); qcvalues.SD = (float)SD; db.QC_Values.Update(qcvalues); } } } public OperationResult insertQcValue(string rq, string time, QC_Items qcitems) { //throw new NotImplementedException(); OperationResult or = new OperationResult(); using (var db = new DbEntities()) { try { var qcvalue = new QC_Value(); qcvalue.xmbm = qcitems.xmbm; qcvalue.DataValue = rq; qcvalue.TimeValue = time; qcvalue.QCOID = qcitems.QCOID; qcvalue.yqbh = qcitems.yqbh; qcvalue.jg = ""; var qcobject = db.QC_Objects.Where(t => t.QCOID == qcitems.QCOID).FirstOrDefault(); if (qcobject != null) { qcvalue.ndName = qcobject.ndName; } else { qcvalue.ndName = ""; } qcvalue.bzVar = qcitems.bzVar; qcvalue.sdVar = qcitems.sdVar; qcvalue.jsbzVar = 0.00f; qcvalue.jssdVar = 0.00f; qcvalue.QCRID = 0; qcvalue.SD = 0; qcvalue.id = new BLL.BasicBll().GetMax(qcvalue.DbTableName, 1); db.QC_Values.Insert(qcvalue); } catch (Exception ex) { or.State = 0; or.Message = ex.Message; return or; } or.State = 1; or.Message = "添加成功!"; return or; } } public OperationResult deleteQcvalue(int id) { //throw new NotImplementedException(); OperationResult or = new OperationResult(); using (var db = new DbEntities()) { try { db.QC_Values.Delete(t => t.id == id); } catch (Exception ex) { or.State = 0; or.Message = ex.Message; return or; } or.State = 1; or.Message = "删除成功!"; return or; } } public jy_yhxx getjyyhxxbybbh(int bbh, string querytime, string yqbm) { using (var db = new DbEntities()) { DateTime jyrq = DateTime.Parse(querytime); return db.jy_yhxxs.Where(t => t.yqbh == yqbm&&t.bbh==bbh&&t.jyrq== jyrq).FirstOrDefault(); } } } }