2795 lines
119 KiB
C#
2795 lines
119 KiB
C#
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();
|
||
}
|
||
}
|
||
}
|
||
|
||
}
|