tijian_jichuang/Code/SOH.BLL.Host/JianYanBll.cs

2795 lines
119 KiB
C#
Raw Normal View History

2025-02-20 11:54:48 +08:00
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<jy_sqd_mx> 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<jy_yiqi_xm> 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<lis_jydl> 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<t_jcxm> 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<jy_yhxx> 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<dto_jyxm> 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<jy_yiqi> getYQ()
{
//throw new NotImplementedException();
using (var db = new DbEntities())
{
return db.jy_yiqis.ToList();
}
}
public List<jy_yiqi> getYQbyDNMC(string dnmc)
{
using (var db = new DbEntities())
{
return db.jy_yiqis.Where(t => t.dnname == dnmc).ToList();
}
}
public List<jy_yiqi> getAllYQ()
{
using (var db = new DbEntities())
{
return db.jy_yiqis.ToList();
}
}
public List<t_zhxm> 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_yssjnew> jy_yssjList = new List<jy_yssjnew>();
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_yssjnew> jy_yssjList1 = new List<jy_yssjnew>();
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<jy_sqd_jg> sqdjg = new List<jy_sqd_jg>();
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<jy_sqd_jg> sqdjg = new List<jy_sqd_jg>();
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<jy_sqd_jg> sqdjg = new List<jy_sqd_jg>();
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<jy_sqd_jg> sqdjg = new List<jy_sqd_jg>();
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<String> xmdms = db.jy_yiqi_xms.Where(t => t.yq.Equals(yqh)).Select(t => t.xmdm).ToList<String>();
List<String> jsxms = db.jy_yiqi_xm_calcs.Where(t => t.yq.Equals(yqh)).Select(t => t.jsxm).ToList<String>();
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<jy_sqd_jg> 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<jy_sqd_jg>();
List<int> kss = new List<int>();
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<short> zhztzs = db.t_tempdjxms.Where(t => t.tm == Convert.ToInt32(oneInfo.tm) && t.ksbm == kss[i]).Select(t => t.ztz).Distinct().ToList<short>();
if (zhztzs.Count == 1 && zhztzs[0] == 4)
{
List<int> 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<int>();
List<t_tjjg> tjjgs = db.t_tjjgs.Where(t => t.tm == Convert.ToInt32(oneInfo.tm) && ksjcxms.Contains(t.xmbm)).ToList<t_tjjg>();
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());
}
}
/// <summary>
///
/// </summary>
/// <param name="cxrq"></param>
/// <returns></returns>
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<QC_Object> getQCObject(string yqbh)
{
using (var db = new DbEntities())
{
return db.QC_Objects.Where(t => t.yqbh == yqbh).OrderBy(t => t.QCOID).ToList();
}
}
public List<QC_Items> 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();
}
}
}
}