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

1661 lines
70 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using EAS.Data;
using EAS.Services;
using SOH.Entities;
using EAS.Data.Access;
using EAS;
using SOH.Entities.DTO;
using SOH.Data;
using EAS.Data.Linq;
using EAS.Data.ORM;
using System.Data;
namespace SOH.BLL
{
[ServiceObject("收费功能")]
[ServiceBind(typeof(IShouFei))]
public class ShouFeiBll : IShouFei
{
public List<Entities.DTO.dto_gzb> getXuYaoShouFei(short fddm)
{
//throw new NotImplementedException();
using (var db = new DbEntities())
{
//select tcbm,czjjxbj,tm,hyh,xm,xb,nl,tmztz,tjzje,tczje,tckxfbz,tjlb from t_grgzb
//where tmztz=1 and fddm=2 order by xm
var tt_dj = db.t_ttgzbs.Where(t => t.fddm == fddm && (t.tmztz == 1 || t.tmztz == 3))
.Select(t => new dto_gzb
{
tm = t.tm,
xm = t.xm,
lx = 2,
nl = t.nl,
sfzh = t.sfzh,
csrq = t.csrq,
hyh = t.hyh,
hyzk = t.hyzk,
xb = t.xb,
ygbh = t.ygh,
ygbm = t.ssbm,
ygdh = t.tel,
tjzje = t.tjzje / 100.0,
tmztz = t.tmztz
}).ToList();
var gr_dj = db.t_grgzbs.Where(t => t.fddm == fddm && (t.tmztz == 1 || t.tmztz == 3))
.Select(t => new dto_gzb
{
tm = t.tm,
xm = t.xm,
lx = 1,
nl = t.nl,
sfzh = t.sfzh,
csrq = t.csrq,
hyh = t.hyh,
hyzk = t.hyzk,
xb = t.xb,
tjzje = t.tjzje / 100.0,
tcbm = t.tcbm,
tczl = t.tczl,
tmztz = t.tmztz
}).ToList();
return tt_dj.Concat(gr_dj).OrderBy(t => t.xm).ToList();
}
}
public List<Entities.DTO.dto_gzb> getXuYaoShouFei(short fddm, int hyh)
{
//throw new NotImplementedException();
using (var db = new DbEntities())
{
//select tcbm,czjjxbj,tm,hyh,xm,xb,nl,tmztz,tjzje,tczje,tckxfbz,tjlb from t_grgzb
//where tmztz=1 and fddm=2 order by xm
var tt_dj = db.t_ttgzbs.Where(t => t.hyh == hyh && t.fddm == fddm && (t.tmztz == 1 || t.tmztz == 3))
.Select(t => new dto_gzb
{
tm = t.tm,
xm = t.xm,
lx = 2,
lxmc = "团检",
nl = t.nl,
sfzh = t.sfzh,
csrq = t.csrq,
hyh = t.hyh,
hyzk = t.hyzk,
xb = t.xb,
ygbh = t.ygh,
ygbm = t.ssbm,
ygdh = t.tel,
tjzje = t.tjzje / 100.0,
tmztz = t.tmztz
}).ToList();
var gr_dj = db.t_grgzbs.Where(t => t.hyh == hyh && t.fddm == fddm && (t.tmztz == 1 || t.tmztz == 3))
.Select(t => new dto_gzb
{
tm = t.tm,
xm = t.xm,
lx = 1,
lxmc = "个检",
nl = t.nl,
sfzh = t.sfzh,
csrq = t.csrq,
hyh = t.hyh,
hyzk = t.hyzk,
xb = t.xb,
tjzje = t.tjzje / 100.0,
tcbm = t.tcbm,
tczl = t.tczl,
tmztz = t.tmztz
}).ToList();
return tt_dj.Concat(gr_dj).OrderBy(t => t.xm).ToList();
}
}
/// <summary>
/// 获取待检人员列表信息
/// </summary>
/// <param name="fddm"></param>
/// <returns></returns>
public List<Entities.DTO.dto_gzb> Getdjry(short fddm, string xm)
{
//throw new NotImplementedException();
using (var db = new DbEntities())
{
//select tcbm,czjjxbj,tm,hyh,xm,xb,nl,tmztz,tjzje,tczje,tckxfbz,tjlb from t_grgzb
//where tmztz=1 and fddm=2 order by xm
var tt_dj = db.t_ttgzbs.Where(t => t.fddm == fddm && (t.tmztz == -2) && t.xm.Contains(xm))
.Select(t => new dto_gzb
{
tm = t.tm,
xm = t.xm,
lx = 2,
nl = t.nl,
sfzh = t.sfzh,
csrq = t.csrq,
hyh = t.hyh,
hyzk = t.hyzk,
xb = t.xb,
ygbh = t.ygh,
ygbm = t.ssbm,
ygdh = t.tel,
tjzje = t.tjzje / 100.0,
tmztz = t.tmztz
}).ToList();
var gr_dj = db.t_grgzbs.Where(t => t.fddm == fddm && (t.tmztz == -2) && t.xm.Contains(xm))
.Select(t => new dto_gzb
{
tm = t.tm,
xm = t.xm,
lx = 1,
nl = t.nl,
sfzh = t.sfzh,
csrq = t.csrq,
hyh = t.hyh,
hyzk = t.hyzk,
xb = t.xb,
tjzje = t.tjzje / 100.0,
tcbm = t.tcbm,
tczl = t.tczl,
tmztz = t.tmztz
}).ToList();
return tt_dj.Concat(gr_dj).OrderBy(t => t.xm).ToList();
}
}
/// <summary>
/// 获取待检人员列表信息根据身份证
/// </summary>
/// <param name="fddm"></param>
/// <returns></returns>
public List<Entities.DTO.dto_gzb> GetdjryBySfzh(short fddm, string sfzh)
{
//throw new NotImplementedException();
using (var db = new DbEntities())
{
//select tcbm,czjjxbj,tm,hyh,xm,xb,nl,tmztz,tjzje,tczje,tckxfbz,tjlb from t_grgzb
//where tmztz=1 and fddm=2 order by xm
var tt_dj = db.t_ttgzbs.Where(t => t.fddm == fddm && (t.tmztz == -2) && t.sfzh == sfzh)
.Select(t => new dto_gzb
{
tm = t.tm,
xm = t.xm,
lx = 2,
nl = t.nl,
sfzh = t.sfzh,
csrq = t.csrq,
hyh = t.hyh,
hyzk = t.hyzk,
xb = t.xb,
ygbh = t.ygh,
ygbm = t.ssbm,
ygdh = t.tel,
tjzje = t.tjzje / 100.0,
tmztz = t.tmztz
}).ToList();
var gr_dj = db.t_grgzbs.Where(t => t.fddm == fddm && (t.tmztz == -2) && t.sfzh == sfzh)
.Select(t => new dto_gzb
{
tm = t.tm,
xm = t.xm,
lx = 1,
nl = t.nl,
sfzh = t.sfzh,
csrq = t.csrq,
hyh = t.hyh,
hyzk = t.hyzk,
xb = t.xb,
tjzje = t.tjzje / 100.0,
tcbm = t.tcbm,
tczl = t.tczl,
tmztz = t.tmztz
}).ToList();
return tt_dj.Concat(gr_dj).OrderBy(t => t.xm).ToList();
}
}
public string getjjxmxbytm(int tm)
{
return getjjxmxbytm(tm, 0);
//throw new NotImplementedException();
}
public Data.OperationResult ShouFei(dto_gzb gzb, List<dto_sfmx> sfmxs, short fddm, string czy, int zje, string isOpen, string sfczy)
{
//throw new NotImplementedException();
int zje100 = zje * 100;
short sfjx = 0;
OperationResult or = new OperationResult();
using (var db = new DbEntities())
{
var tran = db.CreateTransaction();
try
{
int lo = 0;
if (gzb.tmztz == 3)
{
sfjx = 1;
}
if (gzb.lx == 1)
{
lo = db.DataAccessor.Execute("update t_grgzb set tmztz=2,upflag=1,tjrq=getdate(),tjzje=tjzje+" + zje100 + " where (tmztz=1 or tmztz=3) and tm=" + gzb.tm);
if (lo <= 0)
{
tran.Rollback();
or.State = 0;
or.Message = "当前条码状态不能进行收费操作!";
return or;
}
}
else if (gzb.lx == 2)
{
//update t_ttgzb set tmztz=2,upflag=1 where tm=1000194142
lo = db.DataAccessor.Execute("update t_ttgzb set tmztz=2,upflag=1,tjzje=tjzje+" + zje100 + " where (tmztz=1 or tmztz=3) and tm=" + gzb.tm);
if (lo <= 0)
{
tran.Rollback();
or.State = 0;
or.Message = "当前条码状态不能进行收费操作!";
return or;
}
}
var grgzb = db.t_grgzbs.FirstOrDefault(t => t.tm == gzb.tm);
int xh = new BasicBll().GetMax(new t_sfmxb().DbTableName, sfmxs.Count);
foreach (var sf in sfmxs)
{
var sfmx = new t_sfmxb();
//insert into t_sfmxb (xh,tm,sffs,je,czy,tjrq,hslx,hsname,sffx,fddm) values(48479,0000216185,0,600,'admin','2015-8-10','0','系统管理员',0,2)
//
sfmx.xh = xh++;
sfmx.fddm = fddm;
sfmx.je = sf.je;
sfmx.sffs = sf.lx;
sfmx.czy = czy;
sfmx.tjrq = DateTime.Now;
sfmx.hslx = 0;
sfmx.hsname = gzb.lx == 1 ? grgzb.xiaoshou : "";
sfmx.sffx = 0;
sfmx.fddm = fddm;
sfmx.tm = gzb.tm;
db.t_sfmxbs.Insert(sfmx);
}
/*
* select tm from t_tempdjxm where tm=0000216186 and zhbm=391
go
insert into t_tempdjxm (tm,zhbm,ksbm,djrq,ztz,fddm) values(0000216186,391,39,'2015-8-12',0,2)
go
update t_tempdjxm set ztz=4,upflag=1 from t_tempdjxm,t_zhxm where t_tempdjxm.zhbm=t_zhxm.zhbm and t_zhxm.jclb=2 and tm=0000216186
*/
string zhxmmc = "";
List<int> zhbmList = new List<int>();
DataTable dt = Newtonsoft.Json.JsonConvert.DeserializeObject<DataTable>(getjjxmxbytm(gzb.tm, 1));
if (dt.Rows.Count > 0)
{
DataRow[] drs = dt.Select("jjx=1");
foreach (DataRow dr in drs)
{
DataRow[] drs1 = dt.Select("jjx=-1 and zhbm=" + dr["zhbm"].ToString());
if (drs1.Length > 0)
{
dt.Rows.Remove(drs1[0]);
}
dt.Rows.Remove(dr);
}
}
foreach (DataRow dr in dt.Rows)
{
int zhbm = int.Parse(dr["zhbm"].ToString());
zhbmList.Add(zhbm);
if (dr["jjx"].ToString() == "0")
{
string zhxmmcSql = "select zhmc from t_zhxm where zhbm=" + zhbm;
zhxmmc += db.DataAccessor.QueryScalar(zhxmmcSql).ToString() + "\r\n";
}
int ksbm = int.Parse(dr["ksbm"].ToString());
string jgstr = dr["jg"].ToString();
string zhjgstr = dr["jjxje"].ToString();
int jg = (int)double.Parse(jgstr);
int zhjg = (int)double.Parse(zhjgstr);
if (!db.t_tempdjxms.Where(p => p.tm == gzb.tm && p.zhbm == zhbm).Any())
{
var tempdjxm = new t_tempdjxm();
tempdjxm.tm = gzb.tm;
tempdjxm.zhbm = zhbm;
tempdjxm.ksbm = ksbm;
tempdjxm.djrq = DateTime.Now;
tempdjxm.ztz = 0;
//tempdjxm.czy = czy;
tempdjxm.czy = "";
tempdjxm.upflag = 0;
tempdjxm.fddm = fddm;
tempdjxm.jg = jg * 100;
tempdjxm.zhjg = zhjg * 100;
db.t_tempdjxms.Insert(tempdjxm);
}
}
lo = db.DataAccessor.Execute("update t_jjxb set ysfbz=1,upflag=1 where jjx=0 and ysfbz=0 and tm=" + gzb.tm);
/*
if (lo <= 0)
{
tran.Rollback();
or.State = 0;
or.Message = "更改收费出错!";
return or;
}*/
db.DataAccessor.Execute("update t_grgzb set jxqrzt=null,upflag=1 where tm=0");
//insert into t_drxpjl(xh,tm,hyh,xm,dw,tcorfzname, shouldpay,pay, cash, bank,jzcard, jzmoney,tccard,paper,nomoney,checkpaper,sftf,rq,sfjx)
//values(33616,'0000216186','000208575','郑B','个人体检','自选套餐','6','6.00','3.00','1','','0.00', '', '0.00','0', '2', '0','2015-8-12',0)
var drxp = new T_drxpjl();
drxp.xh = new BasicBll().GetMax(drxp.DbTableName, 1);
drxp.tm = gzb.tm;
drxp.hyh = gzb.hyh.ToString();
drxp.xm = gzb.xm;
drxp.sfczy = sfczy;
if (gzb.lx == 1)
{
drxp.dw = "个人体检";
if (sfjx == 0)
{
//int bm = Convert.ToInt16(grgzb.xiaoshou);
//drxp.age = db.t_ygzds.Where(t => t.bm == bm).FirstOrDefault().xm;
drxp.age = grgzb.doctor;
string getTcmc = "select tcmc from t_tc where tcbm=" + gzb.tcbm;
DataTable dts = db.DataAccessor.QueryDataTable(getTcmc);
drxp.tcorfzname = dts.Rows[0][0].ToString().Trim();
}
else
{
drxp.age = db.t_jxysjls.Where(t => t.tm == gzb.tm && zhbmList.Contains(t.zhbm)).Join(db.t_ygzds, t => t.ysbm, p => p.bm, (t, p) => new
{
xiaoshou = p.xm
}).FirstOrDefault().xiaoshou;
drxp.tcorfzname = zhxmmc;
if (drxp.age == "无")
{
drxp.age = db.t_jxysjls.Where(t => t.tm == gzb.tm && zhbmList.Contains(t.zhbm)).Select(t => new
{
xiaoshou = t.ywdb
}).FirstOrDefault().xiaoshou;
}
}
drxp.jzmoney = grgzb.bz;
}
else
{
drxp.jzmoney = db.t_ttgzbs.Where(t => t.tm == gzb.tm).Join(db.t_hts, t => t.htbm, p => p.htbm, (t, p) => new
{
jzmoney = t.bz
}).FirstOrDefault().jzmoney;
drxp.dw = gzb.khmc;
if (sfjx == 0)
{
drxp.tcorfzname = gzb.tcmc;
drxp.age = db.t_ttgzbs.Where(t => t.tm == gzb.tm).Join(db.t_hts, t => t.htbm, p => p.htbm, (t, p) => new
{
xiaoshou = p.ywdbdm
}).FirstOrDefault().xiaoshou;
}
else
{
drxp.age = db.t_jxysjls.Where(t => t.tm == gzb.tm && zhbmList.Contains(t.zhbm)).Join(db.t_ygzds, t => t.ysbm, p => p.bm, (t, p) => new
{
xiaoshou = p.xm
}).FirstOrDefault().xiaoshou;
drxp.tcorfzname = zhxmmc;
if (drxp.age == "无")
{
drxp.age = db.t_jxysjls.Where(t => t.tm == gzb.tm && zhbmList.Contains(t.zhbm)).Select(t => new
{
xiaoshou = t.ywdb
}).FirstOrDefault().xiaoshou;
}
}
}
/*if (!string.IsNullOrEmpty(gzb.tcmc))
{
drxp.tcorfzname = gzb.tcmc;
}
else
{*/
if (sfjx == 0)
{
string getTcmc = "select tcmc from t_tc where tcbm=" + gzb.tcbm;
DataTable dts = db.DataAccessor.QueryDataTable(getTcmc);
if (dts.Rows.Count != 0)
{
drxp.tcorfzname = dts.Rows[0][0].ToString().Trim();
}
}
else
{
drxp.tcorfzname = zhxmmc;
}
//}
//收费金额
drxp.shouldpay = sfmxs.Sum(t => t.je).ToString();
//如果是现金
var xj = sfmxs.FirstOrDefault(t => t.lx == 0);
drxp.pay = xj == null ? "0" : xj.je.ToString();
//如果是免费
var mf = sfmxs.FirstOrDefault(t => t.lx == 4);
drxp.nomoney = mf == null ? "0" : mf.je.ToString();
//如果是挂账
var gz = sfmxs.FirstOrDefault(t => t.lx == 7);
drxp.jzcard = gz == null ? "0" : gz.je.ToString();
//如果是银行卡
var yh = sfmxs.FirstOrDefault(t => t.lx == 1);
drxp.bank = yh == null ? "0" : yh.je.ToString();
//如果是体检卡
var zp = sfmxs.FirstOrDefault(t => t.lx == 2);
drxp.checkpaper = zp == null ? "0" : zp.je.ToString();
//如果是网上套餐
var tc = sfmxs.FirstOrDefault(t => t.lx == 5);
drxp.tccard = tc == null ? "0" : tc.je.ToString();
//如果是售卡
var sk = sfmxs.FirstOrDefault(t => t.lx == 8);
drxp.shouka = sk == null ? "0" : sk.je.ToString();
//如果是支付宝
var zfb = sfmxs.FirstOrDefault(t => t.lx == 3);
drxp.cash = zfb == null ? "0" : zfb.je.ToString();
//如果是微信
var weixin = sfmxs.FirstOrDefault(t => t.lx == 6);
drxp.sex = weixin == null ? "0" : weixin.je.ToString();
drxp.sftf = 0;
drxp.sfjx = sfjx;
drxp.rq = DateTime.Now;
db.T_drxpjls.Insert(drxp);
//update t_tempdjxm set ztz=4,upflag=1 from t_tempdjxm,t_zhxm where t_tempdjxm.zhbm=t_zhxm.zhbm and t_zhxm.jclb=2 and tm=0000216186
db.DataAccessor.Execute("update t_tempdjxm set ztz=4,upflag=1 from t_tempdjxm,t_zhxm where t_tempdjxm.zhbm=t_zhxm.zhbm and t_zhxm.jclb=2 and tm=" + gzb.tm);
if (gzb.lx == 1)
{
db.DataAccessor.Execute("update t_grgzb set jxqrzt=null,upflag=1 where tm=0");
}
tran.Commit();
if (isOpen == "1")
{
string ksname = PaiDuiJiaoHaoBLL.sendPaiduixinxi(gzb.tm);
or.Tag = drxp.xh.ToString();
or.State = 1;
or.Message = "收费成功!";
if (!string.IsNullOrEmpty(ksname))
{
or.Message += "\r\n请到" + ksname + "体检";
}
}
else
{
or.Tag = drxp.xh.ToString();
or.State = 1;
or.Message = "收费成功!";
}
}
catch (System.Exception ex)
{
tran.Rollback();
or.Tag = "";
or.State = 0;
or.Message = ex.Message;
return or;
}
}
return or;
}
private string getjjxmxbytm(int tm, int v)
{
using (var db = new DbEntities())
{
//select t_jjxb.zhbm,t_jjxb.jjx,t_jjxb.zl,t_jjxb.jjxje,t_jjxb.jglx,t_zhxm.ksbm,t_zhxm.jclb from t_jjxb,t_zhxm where t_zhxm.zhbm=t_jjxb.zhbm and tm=0000216185
var grgzb = db.t_grgzbs.FirstOrDefault(t => t.tm == tm);
//var ttgzb = db.t_ttgzbs.FirstOrDefault(t => t.tm == tm);
if (grgzb != null)
{
if (v == 1)
{
grgzb.tmztz = 1;
}
//return Newtonsoft.Json.JsonConvert.SerializeObject(zhxm);
if (grgzb.tmztz == 1)
{
var zhxm = db.t_jjxbs.Where(t => t.tm == tm && t.ysfbz == 0).Join(db.t_zhxms, t => t.zhbm, p => p.zhbm, (o, p) => new
{
p.zhmc,
zl = o.zl / 100.0,
//jjxje = o.jjxje / 100.0*o.zl/100.0,
jjxje = p.jg / 100.0 * o.zl / 100.0,
jg = p.jg / 100.0,
jjx = o.jjx,
zhbm = o.zhbm,
ksbm = p.ksbm
}).ToList();
var tc = db.t_grgzbs.Where(t => t.tm == tm).Join(db.t_tcxmmxs, t => t.tcbm, p => p.tcbm, (t, p) => new { t.tczl, p.zhbm })
.Join(db.t_zhxms, t => t.zhbm, p => p.zhbm, (t, p) => new
{
p.zhmc,
zl = t.tczl / 100.0,
jjxje = p.jg * t.tczl / 100.0 / 100,
jg = p.jg / 100.0,
jjx = (short)-1,
zhbm = p.zhbm,
ksbm = p.ksbm
}).ToList();
return Newtonsoft.Json.JsonConvert.SerializeObject(zhxm.Concat(tc));
}
else
{
var zhxm = db.t_jjxbs.Where(t => t.tm == tm && t.ysfbz == 0 && t.jjx == 0).Join(db.t_zhxms, t => t.zhbm, p => p.zhbm, (o, p) => new
{
p.zhmc,
zl = o.zl / 100.0,
//jjxje = o.jjxje / 100.0 * o.zl / 100.0,
jjxje = p.jg / 100.0 * o.zl / 100.0,
jg = p.jg / 100.0,
jjx = o.jjx,
zhbm = o.zhbm,
ksbm = p.ksbm
}).ToList();
return Newtonsoft.Json.JsonConvert.SerializeObject(zhxm);
}
}
var ttgzb = db.t_ttgzbs.FirstOrDefault(t => t.tm == tm);
if (v == 1)
{
ttgzb.tmztz = 1;
}
if (ttgzb.tmztz == 1)
{
var zhxm = db.t_htxmbs.Where(t => t.htfzbm == ttgzb.htfzbm).Join(db.t_zhxms, t => t.zhbm, p => p.zhbm, (o, p) => new
{
p.zhmc,
htfzbm = o.htfzbm,
jg = p.jg / 100.0,
jjxje = p.jg / 100.0,
jjx = (short)-1,
zhbm = o.zhbm,
ksbm = p.ksbm
}).Join(db.t_htfzbs, t => t.htfzbm, p => p.htfzbm, (o, p) => new
{
zl = p.fzzl,
//jjxje = o.jjxje * p.fzzl / 100.0,
jjxje = o.jg * p.fzzl / 100.0,
o.jg,
o.zhmc,
o.zhbm,
o.ksbm,
o.jjx
})
.ToList();
var jxzhxm = db.t_jjxbs.Where(t => t.tm == tm && t.ysfbz == 0 && t.jjx == 0).Join(db.t_zhxms, t => t.zhbm, p => p.zhbm, (o, p) => new
{
zl = o.zl,
//jjxje = o.jjxje / 100.0*o.zl/100.0,
jjxje = p.jg / 100.0 * o.zl / 100.0,
jg = p.jg / 100.0,
p.zhmc,
zhbm = o.zhbm,
ksbm = p.ksbm,
jjx = o.jjx
}).ToList();
return Newtonsoft.Json.JsonConvert.SerializeObject(zhxm.Concat(jxzhxm).ToList());
}
else
{
var zhxm = db.t_jjxbs.Where(t => t.tm == tm && t.ysfbz == 0 && t.jjx == 0).Join(db.t_zhxms, t => t.zhbm, p => p.zhbm, (o, p) => new
{
p.zhmc,
zl = o.zl / 100.0,
//jjxje = o.jjxje / 100.0 * o.zl / 100.0,
jjxje = p.jg / 100.0 * o.zl / 100.0,
jg = p.jg / 100.0,
jjx = o.jjx,
zhbm = o.zhbm,
ksbm = p.ksbm
}).ToList();
return Newtonsoft.Json.JsonConvert.SerializeObject(zhxm);
}
}
}
public dto_htfz getkhfzbytm(int tmh)
{
//throw new NotImplementedException();
dto_htfz htfz = new dto_htfz();
using (var db = new DbEntities())
{
var fzmc = db.t_ttgzbs.Where(t => t.tm == tmh)
.Join(db.t_htfzbs, t => t.htfzbm, p => p.htfzbm, (t, p) => p.htfzmc).FirstOrDefault();
htfz.fzmc = fzmc;
var khmc = db.t_ttgzbs.Where(t => t.tm == tmh)
.Join(db.t_hts, t => t.htbm, p => p.htbm, (t, p) => new { p.khbm })
.Join(db.t_khs, t => t.khbm, p => p.khbm, (t, p) => p.khmc).FirstOrDefault();
htfz.khmc = khmc;
}
return htfz;
}
public dto_gzb getgzbbytm(string tm)
{
//throw new NotImplementedException();
int itm = 0;
if (!int.TryParse(tm, out itm))
{
return null;
}
string stm = itm.ToString("0000000000");
using (var db = new DbEntities())
{
if (stm.StartsWith("1"))
{
return db.t_ttgzbs.Where(t => t.tm == itm).Join(db.t_hts, t => t.htbm, p => p.htbm, (t, p) => new { gzb = t, p.khbm }).Join(db.t_khs, t => t.khbm, p => p.khbm, (t, p) => new { gzb = t.gzb, p.khmc })
.Select(t => new dto_gzb
{
tmztz = t.gzb.tmztz,
hyh = t.gzb.hyh,
xb = t.gzb.xb,
tjrq = t.gzb.tjrq,
sfzh = t.gzb.sfzh,
xm = t.gzb.xm,
nl = t.gzb.nl,
csrq = t.gzb.csrq,
lx = 2,
ygdh = t.gzb.tel,
ygbh = t.gzb.ygh,
ygbm = t.gzb.ssbm,
dwmc = t.khmc,
hyzk = t.gzb.hyzk,
tm = t.gzb.tm,
khmc = t.khmc,
fddm = t.gzb.fddm
}).FirstOrDefault();
}
else
{
return db.t_grgzbs.Where(t => t.tm == itm).Select(t => new dto_gzb
{
tmztz = t.tmztz,
tcbm = t.tcbm,
tm = t.tm,
hyzk = t.hyzk,
hyh = t.hyh,
xb = t.xb,
tjrq = t.tjrq,
sfzh = t.sfzh,
ygbm = t.khlx == 1 ? "V" : "",
xm = t.xm,
nl = t.nl,
csrq = t.csrq,
lx = 1,
ygdh = t.dh,
fddm = t.fddm
}).FirstOrDefault();
}
}
}
public List<dto_dxjm> getdjxmbytm(int tm)
{
//throw new NotImplementedException();
using (var db = new DbEntities())
{
var ttgzb = db.t_ttgzbs.Where(t => t.tm == tm).FirstOrDefault();
if (ttgzb != null && ttgzb.tmztz == 0)
{
var xms = db.t_htxmbs.Where(t => t.htfzbm == ttgzb.htfzbm).Join(db.t_zhxms.Where(p => p.jclb != 2), t => t.zhbm, p => p.zhbm, (t, p) => new dto_dxjm
{
tm = ttgzb.tm,
zhbm = t.zhbm,
zhmc = p.zhmc,
jclb = p.jclb,
// ztz = ttgzb.ztz,
cqxm = p.cqxm == 0 ? "餐后检查项目" : "餐前检查项目",
quyu = p.quyu,
wlks = p.wlks
});
if (xms.Any())
{ return xms.ToList(); }
else { return null; }
}
var djxms = db.t_tempdjxms.Where(t => t.tm == tm).Join(db.t_zhxms.Where(p => p.jclb != 2), t => t.zhbm, p => p.zhbm, (t, p) => new dto_dxjm
{
tm = t.tm,
zhbm = t.zhbm,
zhmc = p.zhmc,
jclb = p.jclb,
ztz = t.ztz,
cqxm = p.cqxm == 0 ? "餐后检查项目" : "餐前检查项目",
quyu = p.quyu,
wlks = p.wlks
});
if (djxms.Any())
{ return djxms.ToList(); }
else { return null; }
}
}
public List<dto_dxjm> getdjxmbytm2(int tm)
{
//throw new NotImplementedException();
using (var db = new DbEntities())
{
int[] aa = new int[] { 0, 1, 3 };
var ttgzb = db.t_ttgzbs.Where(t => t.tm == tm).FirstOrDefault();
if (ttgzb != null)
{
var xms = db.t_tempdjxms.Where(t => t.tm == tm && aa.Contains(t.ztz)).Join(db.t_zhxms.Where(p => p.jclb != 2), t => t.zhbm, p => p.zhbm, (t, p) => new dto_dxjm
{
tm = ttgzb.tm,
zhbm = t.zhbm,
zhmc = p.zhmc,
jclb = p.jclb,
// ztz = ttgzb.ztz,
cqxm = p.cqxm == 0 ? "餐后检查项目" : "餐前检查项目",
quyu = p.quyu,
wlks = p.wlks
});
if (xms.Any())
{ return xms.ToList(); }
else { return null; }
}
var djxms = db.t_tempdjxms.Where(t => t.tm == tm && aa.Contains(t.ztz)).Join(db.t_zhxms.Where(p => p.jclb != 2), t => t.zhbm, p => p.zhbm, (t, p) => new dto_dxjm
{
tm = t.tm,
zhbm = t.zhbm,
zhmc = p.zhmc,
jclb = p.jclb,
ztz = t.ztz,
cqxm = p.cqxm == 0 ? "餐后检查项目" : "餐前检查项目",
quyu = p.quyu,
wlks = p.wlks
});
if (djxms.Any())
{ return djxms.ToList(); }
else { return null; }
}
}
public List<dto_gzb> findgrbd(string text)
{
//throw new NotImplementedException();
using (var db = new DbEntities())
{
var rdb = db.t_grgzbs.Where(t => t.tmztz == 2);
if (text.Trim() != null)
{
rdb = rdb.Where(t => t.xm.Contains(text));
}
if (rdb.Any())
{
return rdb.Select(t => new dto_gzb
{
tmztz = t.tmztz,
tcbm = t.tcbm,
tm = t.tm,
hyzk = t.hyzk,
hyh = t.hyh,
xb = t.xb,
tjrq = t.tjrq,
sfzh = t.sfzh,
xm = t.xm,
nl = t.nl,
csrq = t.csrq,
lx = 1,
ygdh = t.dh
}).ToList();
}
else { return null; }
}
}
public List<dto_gzb> findttbd(string text)
{
//throw new NotImplementedException();
using (var db = new DbEntities())
{
var rdb = db.t_ttgzbs.Where(t => t.tmztz == 2);
if (text.Trim() != null)
{
rdb = rdb.Where(t => t.xm.Contains(text));
}
if (rdb.Any())
{
return rdb.Select(t => new dto_gzb
{
tmztz = t.tmztz,
tcbm = t.htfzbm,
tm = t.tm,
hyzk = t.hyzk,
hyh = t.hyh,
xb = t.xb,
tjrq = t.tjrq,
sfzh = t.sfzh,
xm = t.xm,
nl = t.nl,
csrq = t.csrq,
lx = 1,
ygdh = t.tel
}).ToList();
}
else { return null; }
}
}
public List<dto_gzb> getXuYaoShouFeidcry(short fddm)
{
throw new NotImplementedException();
}
public OperationResult gettm(int tm, int xb, int zhbm)
{
//throw new NotImplementedException();
using (var db = new DbEntities())
{
OperationResult or = new OperationResult();
var gzb = getgzbbytm(tm.ToString());
///新收费信息
if (xb == 0)
{
var tran = db.CreateTransaction();
try
{
var s = db.t_tempdjxms.Where(t => t.tm == tm && t.ztz == 0)
.Join(db.t_zhxms.Where(t => t.jclb == 1), t => t.zhbm, p => p.zhbm, (t, p) => new
{
t.tm,
t.zhbm,
p.zhmc,
p.jydl,
cxsl = p.dytmsl,
p.color,
p.wsbj
}).ToList();
var ttgzb = db.t_ttgzbs.FirstOrDefault(t => t.tm == tm);
if (ttgzb != null && ttgzb.tmztz == 0)
{
s = db.t_htxmbs.Where(t => t.htfzbm == ttgzb.htfzbm).Join(db.t_zhxms.Where(t => t.jclb == 1), t => t.zhbm, p => p.zhbm, (t, p) => new
{
tm = ttgzb.tm,
t.zhbm,
p.zhmc,
p.jydl,
cxsl = p.dytmsl,
p.color,
p.wsbj
}).ToList();
}
var y = db.jy_sqds.Where(t => t.tm == tm).Join(db.jy_sqd_mxs, t => t.jytm, p => p.jytm, (t, p) => new { p.zhxmbm, p.jytm }).ToList();
var notin = s.Where(p => !y.Where(t => t.zhxmbm == p.zhbm).Any()).ToList();
var inxm = s.Where(p => y.Where(t => t.zhxmbm == p.zhbm).Any()).ToList();
var inxms = inxm.Join(y, t => t.zhbm, p => p.zhxmbm, (t, p) => new { t.zhbm, t.zhmc, t.tm, t.jydl, p.jytm, t.cxsl, t.color });
List<dto_tmdy> tms = new List<dto_tmdy>();
int sqdi = 0;
var jytm = db.jy_sqds.Where(jy => jy.tm == tm && jy.jytm.StartsWith(tm.ToString("0000000000")))
.OrderByDescending(jy => jy.jytm).Select(jy => jy.jytm).FirstOrDefault();
if (jytm == null)
{
//sqd.jytm = tm.ToString("000000000") + "01";
sqdi = 1;
}
else
{
//sqd.jytm = tm.ToString("000000000") + (int.Parse(jytm.Replace(tm.ToString("000000000"), "")) + 1).ToString("00");
sqdi = int.Parse(jytm.Replace(tm.ToString("0000000000"), "")) + 1;
}
notin.GroupBy(t => new { t.jydl, t.color, t.wsbj }).ToList().ForEach(t =>
{
jy_sqd sqd = new jy_sqd();
sqd.tm = tm;
sqd.xm = gzb.xm;
sqd.xb = gzb.v_xb;
sqd.state = 0;
sqd.cxsj = new DateTime(1900, 1, 1);
sqd.shsj = new DateTime(1900, 1, 1);
sqd.csrq = gzb.csrq;
sqd.nl = gzb.nl;
sqd.jytm = tm.ToString("0000000000") + sqdi.ToString("00");
dto_tmdy tmdy = new dto_tmdy();
tmdy.jytm = sqd.jytm;
db.jy_sqds.Insert(sqd);
//t.Key.zhbm
//瑞美LIS插入客户信息表
lis_reqmain lismain = new lis_reqmain();
lismain.testno = tm.ToString("0000000000") + sqdi.ToString("00");
lismain.deptno = "检验科";
//lismain.pattype = "";
lismain.reqdatetime = DateTime.Now;
if (gzb.fddm == 2)
{
lismain.reqdoctno = "trdwj";
}
else
{
lismain.reqdoctno = "trlxz";
}
lismain.patno = tm.ToString();
lismain.patname = gzb.xm;
lismain.sex = gzb.v_xb;
lismain.birthday = gzb.csrq;
lismain.address = "";
lismain.telephone = gzb.ygdh;
lismain.status = "1";
lismain.recievedatetime = DateTime.Now;
//lismain.yjxh = 0;
//lismain.hysqd_xh = 0;
db.lis_reqmains.Insert(lismain);
int i = 0;
tmdy.jymx = "";
tmdy.color = t.Key.color;
int sl = 0;
notin.Where(p => p.jydl == t.Key.jydl).ToList().ForEach(o =>
{
if (sl < o.cxsl)
sl = o.cxsl;
jy_sqd_mx xm = new jy_sqd_mx { jytm = sqd.jytm, jyxh = ++i, zhxmbm = o.zhbm, zhxmmc = o.zhmc };
db.jy_sqd_mxs.Insert(xm);
//瑞美LIS插入检验项目表
//if (gzb.fddm == 2)
//{
lis_reqitems lisitem = new lis_reqitems();
lisitem.testno = sqd.jytm;
lisitem.seqno = xm.jyxh;
lisitem.itemno = o.zhbm.ToString();
lisitem.itemname = o.zhmc;
//lisitem.qty=
lisitem.price = 20;
lisitem.isaccept = 0;
lisitem.zk = 100;
lisitem.yj = 100;
db.lis_reqitemss.Insert(lisitem);
//}
tmdy.jymx += (tmdy.jymx.Length == 0 ? "" : "\r\n") + o.zhmc;
});
sqdi++;
for (int z = 0; z < sl; z++)
tms.Add(tmdy);
});
tran.Commit();
if (ttgzb != null && ttgzb.tmztz == 0)
{
inxms.GroupBy(t => new { t.jytm, t.color }).ToList().ForEach(t =>
{
//var zz = db.jy_sqds.Where(jy => jy.tm == tm && jy.jytm.StartsWith(tm.ToString("0000000000")))
//.OrderByDescending(jy => jy.jytm).Select(jy => jy.jytm);
dto_tmdy tmdy = new dto_tmdy();
tmdy.jytm = t.Key.jytm;
tmdy.jymx = "";
tmdy.color = t.Key.color;
int sl = 0;
inxms.Where(p => p.jytm == t.Key.jytm).ToList().ForEach(o =>
{
if (sl < o.cxsl)
sl = o.cxsl;
tmdy.jymx += (tmdy.jymx.Length == 0 ? "" : "\r\n") + o.zhmc;
});
for (int z = 0; z < sl; z++)
tms.Add(tmdy);
});
}
var qt = db.t_tempdjxms.Where(t => t.ztz == 0 && t.tm == tm).Join(db.t_zhxms.Where(t => t.jclb != 1 && t.dytmsl > 0), t => t.zhbm, p => p.zhbm,
(t, p) => new { t.tm, p.zhmc, p.dytmsl,p.color });
if (ttgzb != null && ttgzb.tmztz == 0)
{
qt = db.t_htxmbs.Where(t => t.htfzbm == ttgzb.htfzbm).Join(db.t_zhxms.Where(t => t.jclb != 1 && t.dytmsl > 0), t => t.zhbm, p => p.zhbm, (t, p) => new { tm = ttgzb.tm, p.zhmc, p.dytmsl,p.color });
}
if (qt.Any())
{
qt.ToList().ForEach(t =>
{
dto_tmdy tmdy = new dto_tmdy();
tmdy.jytm = tm.ToString("0000000000");
tmdy.jymx = t.zhmc;
tmdy.color = t.color;
for (int z = 0; z < t.dytmsl; z++)
tms.Add(tmdy);
});
}
or.State = 1;
or.Message = "成功!";
or.Tag = Newtonsoft.Json.JsonConvert.SerializeObject(tms);
return or;
}
catch (Exception ex)
{
tran.Rollback();
or.State = 0;
or.Message = ex.Message;
return or;
}
}
else
{
//var s = db.t_tempdjxms.Where(t => t.tm == tm && t.ztz == 0);
var s = db.t_tempdjxms.Where(t => t.tm == tm);
if (zhbm != 0 && zhbm!=8888)
{ s = s.Where(t => t.zhbm == zhbm); }
var x = s.Join(db.t_zhxms.Where(t => t.jclb == 1), t => t.zhbm, p => p.zhbm, (t, p) => new
{
t.tm,
t.zhbm,
p.zhmc,
p.jydl,
p.dytmsl,
p.color
}).ToList();
var y = db.jy_sqds.Where(t => t.tm == tm).Join(db.jy_sqd_mxs, t => t.jytm, p => p.jytm, (t, p) => new { t.jytm, p.zhxmbm }).ToList();
var jymx = x.Join(y, t => t.zhbm, p => p.zhxmbm, (t, p) => new { p.jytm, zhmc = t.zhmc, t.dytmsl, t.color }).ToList();
List<dto_tmdy> tms = new List<dto_tmdy>();
jymx.GroupBy(t => new { t.jytm, t.color }).ToList().ForEach(t =>
{
dto_tmdy tmdy = new dto_tmdy();
tmdy.jytm = t.Key.jytm;
tmdy.color = t.Key.color;
tmdy.jymx = "";
int sl = 0;
jymx.Where(o => o.jytm == t.Key.jytm).ToList().ForEach(o =>
{
//if (sl < o.dytmsl)
sl = o.dytmsl;
tmdy.jymx += (tmdy.jymx.Length == 0 ? "" : "\r\n") + o.zhmc;
});
for (int z = 0; z < sl; z++)
tms.Add(tmdy);
var lisreqmain = db.lis_reqmains.Where(l => l.testno == t.Key.jytm).ToList();
if (lisreqmain.Count == 0)
{
var jysqds = db.jy_sqds.Where(jj => jj.jytm == t.Key.jytm).ToList();
//瑞美LIS插入客户信息表
lis_reqmain lismain = new lis_reqmain();
lismain.testno = t.Key.jytm;
lismain.deptno = "检验科";
//lismain.pattype = "";
lismain.reqdatetime = DateTime.Now;
if (gzb.fddm == 2)
{
lismain.reqdoctno = "trdwj";
}
else
{
lismain.reqdoctno = "trlxz";
}
lismain.patno = tm.ToString();
lismain.patname = gzb.xm;
lismain.sex = gzb.v_xb;
lismain.birthday = gzb.csrq;
lismain.address = "";
lismain.telephone = gzb.ygdh;
lismain.status = "1";
lismain.recievedatetime = DateTime.Now;
//lismain.yjxh = 0;
//lismain.hysqd_xh = 0;
db.lis_reqmains.Insert(lismain);
//}
var lisreqitem = db.lis_reqitemss.Where(ii => ii.testno == t.Key.jytm).ToList();
if (lisreqitem.Count == 0)
{
db.jy_sqd_mxs.Where(jjj => jjj.jytm == t.Key.jytm).ToList().ForEach(jjj =>
{
//瑞美LIS插入检验项目表
lis_reqitems lisitem = new lis_reqitems();
lisitem.testno = jjj.jytm;
lisitem.seqno = jjj.jyxh;
lisitem.itemno = jjj.zhxmbm.ToString();
lisitem.itemname = jjj.zhxmmc;
//lisitem.qty=
lisitem.price = 20;
lisitem.isaccept = 0;
lisitem.zk = 100;
lisitem.yj = 100;
db.lis_reqitemss.Insert(lisitem);
});
}
}
});
var qt = db.t_tempdjxms.Where(t => t.tm == tm);
if (zhbm != 0 && zhbm != 8888)
{
qt = qt.Where(t => t.zhbm == zhbm);
}
var qt1 = qt.Join(db.t_zhxms.Where(t => t.jclb != 1 && t.dytmsl > 0), t => t.zhbm, p => p.zhbm, (t, p) => new { t.tm, p.zhmc, p.dytmsl,p.color });
if (qt1.Any())
{
qt1.ToList().ForEach(t =>
{
dto_tmdy tmdy = new dto_tmdy();
tmdy.jytm = tm.ToString("0000000000");
tmdy.jymx = t.zhmc;
tmdy.color = t.color;
for (int z = 0; z < t.dytmsl; z++)
{
tms.Add(tmdy);
}
});
}
or.State = 1;
or.Message = "成功!";
or.Tag = Newtonsoft.Json.JsonConvert.SerializeObject(tms);
return or;
}
}
}
public OperationResult gettm2(int tm, int xb, int zhbm)
{
//throw new NotImplementedException();
using (var db = new DbEntities())
{
OperationResult or = new OperationResult();
var gzb = getgzbbytm(tm.ToString());
///新收费信息
if (xb == 0)
{
var tran = db.CreateTransaction();
try
{
var s = db.t_tempdjxms.Where(t => t.tm == tm && t.ztz == 0)
.Join(db.t_zhxms.Where(t => t.jclb == 1), t => t.zhbm, p => p.zhbm, (t, p) => new
{
t.tm,
t.zhbm,
p.zhmc,
p.jydl,
cxsl = p.dytmsl,
p.color,
p.wsbj
}).ToList();
var ttgzb = db.t_ttgzbs.FirstOrDefault(t => t.tm == tm);
if (ttgzb != null && ttgzb.tmztz == 0)
{
s = db.t_htxmbs.Where(t => t.htfzbm == ttgzb.htfzbm).Join(db.t_zhxms.Where(t => t.jclb == 1), t => t.zhbm, p => p.zhbm, (t, p) => new
{
tm = ttgzb.tm,
t.zhbm,
p.zhmc,
p.jydl,
cxsl = p.dytmsl,
p.color,
p.wsbj
}).ToList();
}
var y = db.jy_sqds.Where(t => t.tm == tm).Join(db.jy_sqd_mxs, t => t.jytm, p => p.jytm, (t, p) => new { p.zhxmbm, p.jytm }).ToList();
var notin = s.Where(p => !y.Where(t => t.zhxmbm == p.zhbm).Any()).ToList();
var inxm = s.Where(p => y.Where(t => t.zhxmbm == p.zhbm).Any()).ToList();
var inxms = inxm.Join(y, t => t.zhbm, p => p.zhxmbm, (t, p) => new { t.zhbm, t.zhmc, t.tm, t.jydl, p.jytm, t.cxsl, t.color });
List<dto_tmdy> tms = new List<dto_tmdy>();
int sqdi = 0;
var jytm = db.jy_sqds.Where(jy => jy.tm == tm && jy.jytm.StartsWith(tm.ToString("0000000000")))
.OrderByDescending(jy => jy.jytm).Select(jy => jy.jytm).FirstOrDefault();
if (jytm == null)
{
//sqd.jytm = tm.ToString("000000000") + "01";
sqdi = 1;
}
else
{
//sqd.jytm = tm.ToString("000000000") + (int.Parse(jytm.Replace(tm.ToString("000000000"), "")) + 1).ToString("00");
sqdi = int.Parse(jytm.Replace(tm.ToString("0000000000"), "")) + 1;
}
notin.GroupBy(t => new { t.jydl, t.color, t.wsbj }).ToList().ForEach(t =>
{
jy_sqd sqd = new jy_sqd();
sqd.tm = tm;
sqd.xm = gzb.xm;
sqd.xb = gzb.v_xb;
sqd.state = 0;
sqd.cxsj = new DateTime(1900, 1, 1);
sqd.shsj = new DateTime(1900, 1, 1);
sqd.csrq = gzb.csrq;
sqd.nl = gzb.nl;
sqd.jytm = tm.ToString("0000000000") + sqdi.ToString("00");
dto_tmdy tmdy = new dto_tmdy();
tmdy.jytm = sqd.jytm;
db.jy_sqds.Insert(sqd);
//t.Key.zhbm
//if (gzb.fddm == 2)
//{
//瑞美LIS插入客户信息表
lis_reqmain lismain = new lis_reqmain();
lismain.testno = tm.ToString("0000000000") + sqdi.ToString("00");
lismain.deptno = "检验科";
//lismain.pattype = "";
lismain.reqdatetime = DateTime.Now;
if (gzb.fddm == 2)
{
lismain.reqdoctno = "trdwj";
}
else
{
lismain.reqdoctno = "trlxz";
}
lismain.patno = tm.ToString();
lismain.patname = gzb.xm;
lismain.sex = gzb.v_xb;
lismain.birthday = gzb.csrq;
lismain.address = "";
lismain.telephone = gzb.ygdh;
lismain.status = "1";
lismain.recievedatetime = DateTime.Now;
//lismain.yjxh = 0;
//lismain.hysqd_xh = 0;
db.lis_reqmains.Insert(lismain);
//}
int i = 0;
tmdy.jymx = "";
tmdy.color = t.Key.color;
int sl = 0;
notin.Where(p => p.jydl == t.Key.jydl).ToList().ForEach(o =>
{
if (sl < o.cxsl)
sl = o.cxsl;
jy_sqd_mx xm = new jy_sqd_mx { jytm = sqd.jytm, jyxh = ++i, zhxmbm = o.zhbm, zhxmmc = o.zhmc };
db.jy_sqd_mxs.Insert(xm);
//瑞美LIS插入检验项目表
//if (gzb.fddm == 2)
//{
lis_reqitems lisitem = new lis_reqitems();
lisitem.testno = sqd.jytm;
lisitem.seqno = xm.jyxh;
lisitem.itemno = o.zhbm.ToString();
lisitem.itemname = o.zhmc;
//lisitem.qty=
lisitem.price = 20;
lisitem.isaccept = 0;
lisitem.zk = 100;
lisitem.yj = 100;
db.lis_reqitemss.Insert(lisitem);
//}
tmdy.jymx += (tmdy.jymx.Length == 0 ? "" : "\r\n") + o.zhmc;
});
sqdi++;
for (int z = 0; z < sl; z++)
tms.Add(tmdy);
});
tran.Commit();
if (ttgzb != null && ttgzb.tmztz == 0)
{
inxms.GroupBy(t => new { t.jytm, t.color }).ToList().ForEach(t =>
{
//var zz = db.jy_sqds.Where(jy => jy.tm == tm && jy.jytm.StartsWith(tm.ToString("0000000000")))
//.OrderByDescending(jy => jy.jytm).Select(jy => jy.jytm);
dto_tmdy tmdy = new dto_tmdy();
tmdy.jytm = t.Key.jytm;
tmdy.jymx = "";
tmdy.color = t.Key.color;
int sl = 0;
inxms.Where(p => p.jytm == t.Key.jytm).ToList().ForEach(o =>
{
if (sl < o.cxsl)
sl = o.cxsl;
tmdy.jymx += (tmdy.jymx.Length == 0 ? "" : "\r\n") + o.zhmc;
});
for (int z = 0; z < sl; z++)
tms.Add(tmdy);
});
}
var qt = db.t_tempdjxms.Where(t => t.ztz == 0 && t.tm == tm).Join(db.t_zhxms.Where(t => t.jclb != 1 && t.dytmsl > 0), t => t.zhbm, p => p.zhbm,
(t, p) => new { t.tm, p.zhmc, p.dytmsl,p.color });
if (ttgzb != null && ttgzb.tmztz == 0)
{
qt = db.t_htxmbs.Where(t => t.htfzbm == ttgzb.htfzbm).Join(db.t_zhxms.Where(t => t.jclb != 1 && t.dytmsl > 0), t => t.zhbm, p => p.zhbm, (t, p) => new { tm = ttgzb.tm, p.zhmc, p.dytmsl,p.color });
}
if (qt.Any())
{
qt.ToList().ForEach(t =>
{
dto_tmdy tmdy = new dto_tmdy();
tmdy.jytm = tm.ToString("0000000000");
tmdy.jymx = t.zhmc;
tmdy.color = t.color;
for (int z = 0; z < t.dytmsl; z++)
tms.Add(tmdy);
});
}
or.State = 1;
or.Message = "成功!";
or.Tag = Newtonsoft.Json.JsonConvert.SerializeObject(tms);
return or;
}
catch (Exception ex)
{
tran.Rollback();
or.State = 0;
or.Message = ex.Message;
return or;
}
}
else
{
int[] aa = new int[] { 0, 1, 3 };
//var s = db.t_tempdjxms.Where(t => t.tm == tm && t.ztz == 0);
var s = db.t_tempdjxms.Where(t => t.tm == tm && aa.Contains(t.ztz));
var x = s.Join(db.t_zhxms.Where(t => t.jclb == 1), t => t.zhbm, p => p.zhbm, (t, p) => new
{
t.tm,
t.zhbm,
p.zhmc,
p.jydl,
p.dytmsl,
p.color
}).ToList();
var y = db.jy_sqds.Where(t => t.tm == tm).Join(db.jy_sqd_mxs, t => t.jytm, p => p.jytm, (t, p) => new { t.jytm, p.zhxmbm }).ToList();
var jymx = x.Join(y, t => t.zhbm, p => p.zhxmbm, (t, p) => new { p.jytm, zhmc = t.zhmc, t.dytmsl, t.color }).ToList();
List<dto_tmdy> tms = new List<dto_tmdy>();
jymx.GroupBy(t => new { t.jytm, t.color }).ToList().ForEach(t =>
{
dto_tmdy tmdy = new dto_tmdy();
tmdy.jytm = t.Key.jytm;
tmdy.color = t.Key.color;
tmdy.jymx = "";
int sl = 0;
jymx.Where(o => o.jytm == t.Key.jytm).ToList().ForEach(o =>
{
//if (sl < o.dytmsl)
sl = o.dytmsl;
tmdy.jymx += (tmdy.jymx.Length == 0 ? "" : "\r\n") + o.zhmc;
});
for (int z = 0; z < sl; z++)
tms.Add(tmdy);
//if (gzb.fddm == 2)
//{
var lisreqmain = db.lis_reqmains.Where(l => l.testno == t.Key.jytm).ToList();
if (lisreqmain.Count == 0)
{
var jysqds = db.jy_sqds.Where(jj => jj.jytm == t.Key.jytm).ToList();
//瑞美LIS插入客户信息表
lis_reqmain lismain = new lis_reqmain();
lismain.testno = t.Key.jytm;
lismain.deptno = "检验科";
//lismain.pattype = "";
lismain.reqdatetime = DateTime.Now;
if (gzb.fddm == 2)
{
lismain.reqdoctno = "trdwj";
}
else
{
lismain.reqdoctno = "trlxz";
}
lismain.patno = tm.ToString();
lismain.patname = gzb.xm;
lismain.sex = gzb.v_xb;
lismain.birthday = gzb.csrq;
lismain.address = "";
lismain.telephone = gzb.ygdh;
lismain.status = "1";
lismain.recievedatetime = DateTime.Now;
//lismain.yjxh = 0;
//lismain.hysqd_xh = 0;
db.lis_reqmains.Insert(lismain);
}
var lisreqitem = db.lis_reqitemss.Where(ii => ii.testno == t.Key.jytm).ToList();
if (lisreqitem.Count == 0)
{
db.jy_sqd_mxs.Where(jjj => jjj.jytm == t.Key.jytm).ToList().ForEach(jjj =>
{
//瑞美LIS插入检验项目表
lis_reqitems lisitem = new lis_reqitems();
lisitem.testno = jjj.jytm;
lisitem.seqno = jjj.jyxh;
lisitem.itemno = jjj.zhxmbm.ToString();
lisitem.itemname = jjj.zhxmmc;
//lisitem.qty=
lisitem.price = 20;
lisitem.isaccept = 0;
lisitem.zk = 100;
lisitem.yj = 100;
db.lis_reqitemss.Insert(lisitem);
});
}
//}
});
var qt = db.t_tempdjxms.Where(t => t.tm == tm && aa.Contains(t.ztz));
var qt1 = qt.Join(db.t_zhxms.Where(t => t.jclb != 1 && t.dytmsl > 0), t => t.zhbm, p => p.zhbm, (t, p) => new { t.tm, p.zhmc, p.dytmsl,p.color });
if (qt1.Any())
{
qt1.ToList().ForEach(t =>
{
dto_tmdy tmdy = new dto_tmdy();
tmdy.jytm = tm.ToString("0000000000");
tmdy.jymx = t.zhmc;
tmdy.color = t.color;
for (int z = 0; z < t.dytmsl; z++)
{
tms.Add(tmdy);
}
});
}
or.State = 1;
or.Message = "成功!";
or.Tag = Newtonsoft.Json.JsonConvert.SerializeObject(tms);
return or;
}
}
}
public bool checktmprint(string tm, int zhbm)
{
// throw new NotImplementedException();
using (var db = new DbEntities())
{
int itm = 0;
int.TryParse(tm, out itm);
var v = db.t_tempdjxms.Where(t => t.tm == itm && t.zhbm == zhbm).Join(db.t_zhxms, t => t.zhbm, p => p.zhbm, (t, p) => new { t.ztz, p.jclb, p.dytmsl }).FirstOrDefault();
if (v == null)
{ return false; }
else
{
//if (v.ztz == 0 && v.dytmsl > 0)
if (v.dytmsl > 0)
{ return true; }
else
{
return false;
}
}
}
}
public List<dto_tmdy> getycztm(int tm)
{
//throw new NotImplementedException();
using (var db = new DbEntities())
{
var ndys = new List<dto_tmdy>();
db.t_tempdjxms.Where(t => t.tm == tm).Join(db.t_zhxms.Where(t => t.jclb != 1 && t.dytmsl > 0), t => t.zhbm, p => p.zhbm, (t, p) => new { t.tm, p.zhmc }).ToList().ForEach(
t =>
{
ndys.Add(new dto_tmdy { jytm = t.tm.ToString("0000000000"), jymx = t.zhmc });
}
);
return ndys;
}
}
public List<dto_tmdy> getycztm2(int tm)
{
//throw new NotImplementedException();
using (var db = new DbEntities())
{
var ndys = new List<dto_tmdy>();
db.t_tempdjxms.Where(t => t.tm == tm && t.ztz == 4).Join(db.t_zhxms.Where(t => t.dytmsl > 0), t => t.zhbm, p => p.zhbm, (t, p) => new { t.tm, p.zhmc }).ToList().ForEach(
t =>
{
ndys.Add(new dto_tmdy { jytm = t.tm.ToString("0000000000"), jymx = t.zhmc });
}
);
return ndys;
}
}
public T_drxpjl getXpjl(int xh)
{
using (var db = new DbEntities())
{
var data = from a in db.T_drxpjls where a.xh == xh select a;
if (data.Any())
{
return data.First();
}
else
{
return null;
}
}
}
/// <summary>
/// 根据体检日期获取当日的收费信息
/// </summary>
/// <param name="dt"></param>
/// <returns></returns>
public List<t_sfmxb> GetDrSfmx(short fddm, DateTime dt)
{
if (dt == null)
{
return null;
}
DateTime dt1 = DateTime.Parse(dt.ToString("yyyy-MM-dd") + " 00:00:00");
DateTime dt2 = DateTime.Parse(dt.ToString("yyyy-MM-dd") + " 23:59:59");
using (DbEntities db = new DbEntities())
{
var data = from a in db.t_sfmxbs where a.fddm == fddm && a.tjrq > dt1 && a.tjrq < dt2 select a;
if (data.Any())
{
return data.ToList();
}
else
{
return null;
}
}
}
}
}