tijian_jichuang/Code/SOH.BLL.Host/JianYanBll.cs
2025-02-20 11:54:48 +08:00

2795 lines
119 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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();
}
}
}
}