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

1308 lines
51 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters

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

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using SOH.Entities;
using SOH.Data;
using EAS.Services;
using EAS.Data.ORM;
using EAS.Data.Linq;
using SOH.Entities.DTO;
using System.Data.SqlClient;
using System.Data;
using System.IO;
namespace SOH.BLL
{
[ServiceBind(typeof(IQianTai2))]
[ServiceObject("前台业务2")]
public class QianTai2BLL : IQianTai2
{
/// <summary>
/// 根据会员号获取会员信息
/// </summary>
/// <param name="hyh"></param>
/// <returns></returns>
public t_hyb GetHyInfoByHyh(int hyh)
{
using (DbEntities db = new DbEntities())
{
var data = from t in db.t_hybs where t.hyh == hyh select t;
if (data.Any())
{
return data.First();
}
else
{
return null;
}
}
}
/// <summary>
/// 根据医院代码查询员工信息(状态为未注销)
/// </summary>
/// <param name="yydm"></param>
/// <returns></returns>
public List<t_ygzd> GetYgzdByFD(short yydm)
{
using (DbEntities db = new DbEntities())
{
var data = from t in db.t_ygzds where t.zhuxiao == 0 && t.yydm == yydm select t;
if (data.Any())
{
List<t_ygzd> lty = data.ToList();
return lty;
}
else
{
return null;
}
}
}
/// <summary>
/// 根据条件获取相应的套餐列表
/// </summary>
/// <param name="xb">性别</param>
/// <param name="hyzk">婚姻状况</param>
/// <returns></returns>
public List<t_tc> GetTCByCondition(short xb, short hyzk, short fddm)
{
List<t_tc> ltt = new List<t_tc>();
using (DbEntities db = new DbEntities())
{
var data = from t in db.t_tcs where t.fddm == fddm && t.upflag=="0" && t.zhuxiao == 0 && (xb == 2 ? true : (t.xb == xb || t.xb == 2)) && (hyzk == 2 ? true : (t.hyzk == hyzk || t.hyzk == 2)) select t;
if (data.Any())
{
ltt = data.OrderBy(t => t.tcbm).ToList();
return ltt;
}
else
{
return null;
}
}
}
public List<t_tc> GetTCByCondition2(short xb, short hyzk, short fddm)
{
List<t_tc> ltt = new List<t_tc>();
using (DbEntities db = new DbEntities())
{
var data = from t in db.t_tcs where t.fddm == fddm && t.upflag == "1" && t.zhuxiao == 0 && (xb == 2 ? true : (t.xb == xb || t.xb == 2)) && (hyzk == 2 ? true : (t.hyzk == hyzk || t.hyzk == 2)) select t;
if (data.Any())
{
ltt = data.OrderBy(t => t.tcbm).ToList();
return ltt;
}
else
{
return null;
}
}
}
/// <summary>
/// 根据身份证号获取会员信息
/// </summary>
/// <param name="sfzh"></param>
/// <returns></returns>
public t_hyb GetHyBySfzh(string sfzh)
{
t_hyb thyb = new t_hyb();
if (string.IsNullOrEmpty(sfzh))
{
return null;
}
using (DbEntities db = new DbEntities())
{
var data = from t in db.t_hybs where t.sfz == sfzh select t;
if (data.Any())
{
return data.First();
}
else
{
return null;
}
}
}
/// <summary>
/// 插入会员信息返回是否成功out 会员号
/// </summary>
/// <param name="thyb"></param>
/// <param name="hyh"></param>
/// <returns></returns>
public OperationResult AddHyb(t_hyb thyb)
{
OperationResult or = new OperationResult();
using (var db = new DbEntities())
{
//取最新会员号
try
{
thyb.hyh = (int)new BasicBll().GetMax("t_hyb", 1);
//db.t_hybs.OrmAccessor.Insert(thyb);
db.t_hybs.Insert(thyb);
}
catch (Exception ex)
{
or.State = 0;
or.Message = (ex.InnerException ?? ex).Message.ToString();
}
}
return or;
}
/// <summary>
/// 个人登记
/// </summary>
/// <param name="thyb"></param>
/// <param name="tg"></param>
/// <param name="ltj"></param>
/// <param name="ifExitHy"></param>
/// <returns></returns>
public OperationResult GRDJ(t_hyb thyb, t_grgzb tg, List<t_jjxb> ltj, bool ifExitHy)
{
OperationResult or = new OperationResult();
if (tg == null || ltj == null || ltj.Count == 0)
{
}
using (DbEntities db = new DbEntities())
{
var tran = db.CreateTransaction();
try
{
//身份证号不为空的时候判断会员表是否存在此会员
if (!string.IsNullOrEmpty(thyb.sfz))
{
//查询会员表是否有信息
var hydata = from a in db.t_hybs
where a.sfz == thyb.sfz
select a;
if (hydata.Any()) //存在对应的会员
{
ifExitHy = true;
}
else
{
ifExitHy = false;
}
}
if (ifExitHy) //如果会员存在
{
}
else
{
db.t_hybs.Insert(thyb);
}
db.t_grgzbs.Insert(tg);
ltj.ForEach(t =>
{
db.t_jjxbs.Insert(t);
});
tran.Commit();
or.State = 1;
or.Message = "操作成功";
return or;
}
catch (Exception ex)
{
tran.Rollback();
or.State = 0;
or.Message = (ex.InnerException ?? ex).Message.ToString();
return or;
}
}
}
/// <summary>
/// 根据条码号取团体中的人员信息
/// </summary>
/// <param name="tm"></param>
/// <param name="sfzh"></param>
/// <returns></returns>
public string GetTTDJInfo(int tm)
{
//如果我们的条码有规则的话,那么这里就进行条码和身份证的判断
//tm是int 身份证是string
using (DbEntities db = new DbEntities())
{
var data = from a in db.t_ttgzbs
join b in db.t_hts on a.htbm equals b.htbm
join c in db.t_khs on b.khbm equals c.khbm
join d in db.t_htfzbs on a.htfzbm equals d.htfzbm
where a.tm == tm
select new
{
tm = a.tm,
khmc = c.khmc,
htfzmc = d.htfzmc,
htfzbm=d.htfzbm,
hyh = a.hyh,
xm = a.xm,
xb = a.xb,
nl = a.nl,
hyzk = a.hyzk,
ygh = a.ygh,
bm = a.ssbm,
lxdh = a.tel,
csrq = a.csrq,
gzfbj = d.gzfbj,
jxgzfbj = d.jxgzfbj,
bz = a.bz,
htzt = b.htzt,
htjzrq=b.htjzrq,
tmztz = a.tmztz,
fddm = a.fddm,
sfzh = a.sfzh,
tjlb = a.khlx,
};
if (data.Any())
{
string json = Newtonsoft.Json.JsonConvert.SerializeObject(data.ToList());
return json;
}
else
{
return "";
}
}
}
/// <summary>
/// 根据分店代码和客户名称检索团检客户信息
/// </summary>
/// <param name="fddm"></param>
/// <param name="khmc"></param>
/// <returns></returns>
public List<Entities.DTO.dto_tjxx> GetTJXX(short fddm, string khmc)
{
List<Entities.DTO.dto_tjxx> ldt = new List<Entities.DTO.dto_tjxx>();
bool temp = string.IsNullOrEmpty(khmc);
using (DbEntities db = new DbEntities())
{
var data = from a in db.t_hts
join b in db.t_khs
on a.khbm equals b.khbm
where a.fddm == fddm && (temp ? true : b.khmc.Contains(khmc))
select new SOH.Entities.DTO.dto_tjxx
{
ywdbdm = a.ywdbdm,
htbm = a.htbm,
khbm = a.khbm,
khmc = b.khmc,
nd = a.nd,
htbj = a.htbj
};
if (data.Any())
{
ldt = data.ToList();
}
else
{
return null;
}
return ldt;
}
}
/// <summary>
/// 根据合同编码、合同状态获取合同中的分组信息
/// </summary>
/// <param name="htbm"></param>
/// <param name="htzt">合同状态,-1表示查询全部</param>
/// <returns></returns>
public List<t_htfzb> GetHtfz(int htbm, short htzt)
{
using (DbEntities db = new DbEntities())
{
bool ifhtzt = false;
if (htzt == -1)
{
ifhtzt = true;
}
var data = from a in db.t_htfzbs
join b in db.t_hts
on a.htbm equals b.htbm
where a.htbm == htbm && (ifhtzt ? true : b.htzt == htzt)
select a;
if (data.Any())
{
List<t_htfzb> lth = data.ToList();
return lth;
}
else
{
return null;
}
}
}
/// <summary>
/// 团检登记_现场
/// </summary>
/// <param name="tg">带有所需属性的t_ttgzb</param>
/// <param name="sfbj">公费还是自费的标识0公费1自费</param>
/// <returns></returns>
public OperationResult Tjdj_XC(t_ttgzb tg, short sfbj, string isOpen)
{
OperationResult or = new OperationResult();
using (DbEntities db = new DbEntities())
{
var tran = db.CreateTransaction();
try
{
DateTime djrq = DateTime.Now;
int tmztz = 2; //公费的时候
if (sfbj == 1)
{
tmztz = 1; //自费的时候
}
int hyh = tg.hyh;
int tm = tg.tm;
//db.t_ttgzbs.FirstOrDefault(t => t.tm == tg.tm);
var data1 = db.t_hybs.FirstOrDefault(t => t.sfz == tg.sfzh);
if (tg.sfzh == "" && tg.tel != "")
{
data1 = db.t_hybs.FirstOrDefault(t => t.tel1 == tg.tel && t.xm == tg.xm);
}
else if (tg.sfzh != "")
{
data1 = db.t_hybs.FirstOrDefault(t => t.sfz == tg.sfzh);
}
else
{
data1 = null;
}
if (data1 != null) //会员表中已经存在相应的会员信息
{
hyh = data1.hyh;
//更改t_hyb信息
string sql1 = "update t_hyb set xm='" + tg.xm + "',sfz='" + tg.sfzh + "',tel1='" + tg.tel + "',xb=" + tg.xb + ",hyzk=" + tg.hyzk + ",nl=" + tg.nl + " where hyh=" + hyh;
db.DataAccessor.Execute(sql1);
}
else
{
//根据条码获取客户单位名称
var data2 = from a in db.t_khs
join b in db.t_hts on a.khbm equals b.khbm
join c in db.t_ttgzbs on b.htbm equals c.htbm
where c.tm == tg.tm
select a.khmc;
string khmc = data2.FirstOrDefault();
//添加会员信息
t_hyb th = new t_hyb();
th.hybz = 1;
th.hyh = tg.hyh;
th.xm = tg.xm;
th.xb = tg.xb;
th.nl = tg.nl;
th.hyzk = tg.hyzk;
th.csrq = tg.csrq;
th.xx = 4;
th.sfz = tg.sfzh;
th.dw = khmc;
th.txdz = tg.bz;
th.bz = tg.bz;
th.tel1 = tg.tel;
th.yhjb = 0;
th.upflag = 0;
db.t_hybs.Insert(th);
}
//根据tm更改t_ttgzb中的对应信息
//string sql2 = "update t_ttgzb set tmztz=" + tmztz + ",xm='" + tg.xm + "',xb=" + tg.xb + ",hyzk=" + tg.hyzk + ",sfzh='" + tg.sfzh + "',
//djczy ='" + tg.djczy + "',csrq='" + tg.csrq.ToString() + "',tjrq=getdate() ,upflag=1,tel='" + tg.tel + "',bz='" + tg.bz + "' where tm=" + tg.tm;
//db.DataAccessor.Execute(sql2);
var tt = db.t_ttgzbs.FirstOrDefault(t => t.tm == tg.tm);
tt.hyh = hyh;
tt.tmztz = (short)tmztz;
tt.xm = tg.xm;
tt.xb = tg.xb;
tt.hyzk = tg.hyzk;
tt.sfzh = tg.sfzh;
tt.djczy = tg.djczy;
tt.csrq = tg.csrq.Date;
tt.tjrq = DateTime.Now;
tt.upflag = 1;
tt.tel = tg.tel;
tt.bz = tg.bz;
db.t_ttgzbs.Update(tt);
if (sfbj == 1) //自费的需要
{
}
else //公费 ,直接想t_tempdjxm中加入收费信息
{
//更新t_tempdjxm 中该tm对应的fddm\djrq\ where tm= and ztz=0
db.DataAccessor.Execute("update t_tempdjxm set fddm=" + tg.fddm + ",djrq='" + djrq.ToString() + "' where tm=" + tm + " and ztz=0");
int htfzbm = tg.htfzbm;
if (htfzbm == 0)
{
or.State = 0;
or.Message = "未能找到此客人对应的体检分组";
return or;
}
//根据合同分组编码查询htxmb中的信息
var data2 = from b in db.t_htxmbs where b.htfzbm == htfzbm select b;
List<t_htxmb> lth = new List<t_htxmb>();
if (data2.Any())
{
lth = data2.ToList();
}
else
{
or.State = 0;
or.Message = "未能找到此人对应的体检分组";
return or;
}
//拼接zhbm信息到t_tempdjxm中删除
string delstr = "";
for (int i = 0; i < lth.Count; i++)
{
if (i == 0)
{
delstr = lth[i].zhbm.ToString();
}
else
{
delstr += "," + lth[i].zhbm.ToString();
}
}
db.DataAccessor.Execute("delete from t_tempdjxm where tm=" + tm + " and zhbm in (" + delstr + ")");
var data3 = from c in db.t_zhxms join d in db.t_htxmbs on c.zhbm equals d.zhbm where d.htfzbm == htfzbm select c;
List<t_zhxm> ltz = new List<t_zhxm>();
if (data3.Any())
{
ltz = data3.ToList();
}
else
{
or.State = 0;
or.Message = "该客户的合同分组下没有任何组合项目";
return or;
}
//循环插入数据
for (int j = 0; j < ltz.Count; j++)
{
string zhbm = ltz[j].zhbm.ToString();
string ksbm = ltz[j].ksbm.ToString();
string tempstr = "insert into t_tempdjxm(tm,zhbm,ksbm,djrq,ztz) values(" + tm + "," + zhbm + "," + ksbm + ",'" + djrq + "',0) ";
db.DataAccessor.Execute(tempstr);
}
}
tran.Commit();
or.State = 1;
or.Message = "登记成功";
if (isOpen == "1")
{
if (sfbj == 0)
{
string ksname = PaiDuiJiaoHaoBLL.sendPaiduixinxi(tg.tm);
if (!string.IsNullOrEmpty(ksname))
or.Message += "请到" + ksname + "体检";
}
}
return or;
}
catch (Exception ex)
{
tran.Rollback();
or.State = 0;
or.Message = (ex.InnerException ?? ex).Message;
return or;
}
}
}
/// <summary>
/// 团检登记_持卡
/// </summary>
public OperationResult Tjdj_CK(t_ttgzb tg, string isOpen)
{
OperationResult or = new OperationResult();
using (DbEntities db = new DbEntities())
{
var tran = db.CreateTransaction();
try
{
short fddm = tg.fddm;
DateTime djrq = DateTime.Now;
int tm = tg.tm;
var tgzb = from a in db.t_ttgzbs where a.tm == tg.tm select a;
t_ttgzb tg_old = tgzb.FirstOrDefault(); //根据条码找出t_ttgzb信息
int hyh = tg_old.hyh;
//4.会员表没有信息的话 在会员表插入一条数据
//insert into t_hyb (hybz,hyh,xm,xb,nl,hyzk,csrq,dw,mz,xx,sfz,zy,zw,txdz,yb,tel1,tel2,tel3,email,yhjb,bz)
//values(1,000003037,'曹汝磊',0,24,0,'1991-1-1','邮储银行烟台分行','',4,'','','','','','','','','','','')
var data4 = db.t_hybs.FirstOrDefault(t => t.sfz == tg.sfzh);
if (tg.sfzh == "" && tg.tel != "")
{
data4 = db.t_hybs.FirstOrDefault(t => t.tel1 == tg.tel && t.xm == tg.xm);
}
else if (tg.sfzh != "")
{
data4 = db.t_hybs.FirstOrDefault(t => t.sfz == tg.sfzh);
}
else
{
data4 = null;
}
if (data4 != null)
{
hyh = data4.hyh;
//原来有会员信息不作插入
}
else
{
//取出单位信息
var dwdata = from a in db.t_khs
join b in db.t_hts
on a.khbm equals b.khbm
join c in db.t_ttgzbs
on b.htbm equals c.htbm
select a.khmc;
string dwmc = dwdata.FirstOrDefault();
t_hyb th = new t_hyb();
th.hybz = 1;
var data5 = db.t_hybs.FirstOrDefault(t => t.hyh == hyh);
if (data5 != null)
{
hyh = new BLL.BasicBll().gethyh(Convert.ToInt32(tg.fddm), 1);
}
th.hyh = hyh;
th.sfz = tg.sfzh;
th.xm = tg.xm;
th.xb = tg_old.xb;
th.nl = tg_old.nl;
th.hyzk = tg_old.hyzk;
th.csrq = tg.csrq;
th.dw = dwmc;
th.mz = "";
th.xx = 4;
th.zw = "";
th.txdz = tg.bz;
th.yb = "";
th.tel1 = tg.tel;
th.tel2 = "";
th.tel3 = "";
th.email = "";
th.yhjb = tg_old.tjjb;
th.bz = tg.bz;
db.t_hybs.Insert(th);
}
//1.更新t_ttgzb中的该tm对应的tmztz\djczy\tjrq\nl\tel\csrq\upflag=1\bz=''\fddm=2
var tt = db.t_ttgzbs.FirstOrDefault(t => t.tm == tg.tm);
if (tgzb != null)
{
tt.hyh = hyh;
tt.xm = tg.xm;
tt.tmztz = 2;
tt.djczy = tg.djczy;
tt.tel = tg.tel;
tt.upflag = 1;
tt.bz = tg.bz;
tt.image = tg.image;
tt.tjrq = tg.tjrq;
db.t_ttgzbs.Update(tt);
}
//string sql1 = "update t_ttgzb set xm='" + tg.xm + "', tmztz=2,djczy='" + tg.djczy + "',tel='" +
// tg.tel + "',upflag=1,bz='" + tg.bz + "',image='"+tg.image+"' where tm=" + tg.tm;
//db.DataAccessor.Execute(sql1);
//2.更新t_tempdjxm 中该tm对应的fddm\djrq\ where tm= and ztz=0
db.DataAccessor.Execute("update t_tempdjxm set fddm=" + fddm + ",djrq='" + djrq + "' where tm=" + tm + " and ztz=0");
//3.select htfzbm from t_ttgzb where tm=1000003055
//select zhbm from t_htxmb where htfzbm=224
//根据tm查询htfzbm 根据htfzbm查询zhbm集合
//删除t_tempdjxm 表中的对应tm 并且zhbm在zhbm集合中的信息
//将组合编码的相关信息再插入到 t_tempdjxm
//--insert into t_tempdjxm(tm,zhbm,ksbm,djrq,ztz) values(1000003055,14,1,'2015/8/18',0)
//var data1 = from a in db.t_ttgzbs where a.tm == tm select a.htfzbm; //查询此人的合同分组编码
//if (!data1.Any())
//{
// or.State = 0;
// or.Message = "未能找到此客人对应的体检分组";
// return or;
//}
int htfzbm = tg_old.htfzbm;
if (htfzbm == null || htfzbm == 0)
{
tran.Rollback();
or.State = 0;
or.Message = "未能找到此客人对应的体检分组";
return or;
}
//根据合同分组编码查询htxmb中的信息
var data2 = from b in db.t_htxmbs where b.htfzbm == htfzbm select b;
List<t_htxmb> lth = new List<t_htxmb>();
if (data2.Any())
{
lth = data2.ToList();
}
else
{
tran.Rollback();
or.State = 0;
or.Message = "未能找到此人对应的体检分组";
return or;
}
//拼接zhbm信息到t_tempdjxm中删除
string delstr = "";
for (int i = 0; i < lth.Count; i++)
{
if (i == 0)
{
delstr = lth[i].zhbm.ToString();
}
else
{
delstr += "," + lth[i].zhbm.ToString();
}
}
db.DataAccessor.Execute("delete from t_tempdjxm where tm=" + tm + " and zhbm in (" + delstr + ")");
var data3 = from c in db.t_zhxms join d in db.t_htxmbs on c.zhbm equals d.zhbm where d.htfzbm == htfzbm select c;
List<t_zhxm> ltz = new List<t_zhxm>();
if (data3.Any())
{
ltz = data3.ToList();
}
else
{
tran.Rollback();
or.State = 0;
or.Message = "该客户的合同分组下没有任何组合项目";
return or;
}
//插入瑞美LIS表客户信息数据
//if(fddm==2)
//{
// lis_reqmain lismain = new lis_reqmain();
// for (int l = 0; l < ltz.Count; l++)
// {
// if (ltz[l].hsqr == 1)
// {
// lismain.testno = tg.tm.ToString();
// lismain.deptno = "体检";
// lismain.reqdatetime = tg.tjrq;
// lismain.reqdoctno = tg.djczy;
// lismain.patno = "";
// lismain.patname = tg.xm;
// switch (tg.xb)
// {
// case 0:
// lismain.sex = "男";
// break;
// case 1:
// lismain.sex = "女";
// break;
// case -1:
// lismain.sex = "不祥";
// break;
// }
// lismain.birthday = tg.csrq;
// lismain.address = "";
// lismain.telephone = tg.tel;
// lismain.status = "1";
// lismain.recievedatetime = DateTime.Now;
// db.lis_reqmains.Insert(lismain);
// break;
// }
// }
//}
lis_reqitems lisitem = new lis_reqitems();
//循环插入数据
for (int j = 0; j < ltz.Count; j++)
{
string zhbm = ltz[j].zhbm.ToString();
string ksbm = ltz[j].ksbm.ToString();
string tempstr = "insert into t_tempdjxm(tm,zhbm,ksbm,djrq,ztz) values(" + tm + "," + zhbm + "," + ksbm + ",'" + djrq + "',0) ";
db.DataAccessor.Execute(tempstr);
//瑞美LIS插入检查项目表
//if(fddm==2&&ltz[j].hsqr==1)
//{
// //lisitem.testno
//}
}
string sqlstr = "update t_tempdjxm set ztz=4,upflag=1,fddm=" + fddm + " ,djrq='" + djrq + "' from t_tempdjxm,t_zhxm " +
"where tm=" + tm + " and t_zhxm.zhbm=t_tempdjxm.zhbm and t_zhxm.jclb=2 and ztz=0";
db.DataAccessor.Execute(sqlstr);
tran.Commit();
or.State = 1;
or.Message = "登记成功";
if (isOpen == "1")
{
string ksname = PaiDuiJiaoHaoBLL.sendPaiduixinxi(tm);
if (!string.IsNullOrEmpty(ksname))
or.Message += "\r\n请到" + ksname + "体检";
}
return or;
}
catch (Exception ex)
{
tran.Rollback();
or.State = 0;
or.Message = "操作失败:" + (ex.InnerException ?? ex).Message;
return or;
}
}
}
/// <summary>
/// 根据条码号查询个人团体登记情况信息
/// </summary>
/// <param name="tm"></param>
/// <returns></returns>
public Entities.DTO.dto_tjdjxx GetTjdjxxAll(int tm)
{
using (DbEntities db = new DbEntities())
{
Entities.DTO.dto_tjdjxx tjxx = new Entities.DTO.dto_tjdjxx();
var data = from a in db.t_ttgzbs
join b in db.t_hts
on a.htbm equals b.htbm
join c in db.t_khs on b.khbm equals c.khbm
where a.tm == tm
select new Entities.DTO.dto_tjdjxx
{
tm = tm,
tmztz = a.tmztz,
hyh = a.hyh,
xm = a.xm,
xb = a.xb,
nl = a.nl,
hyzk = a.hyzk,
ygh = a.ygh,
ssbm = a.ssbm,
khmc = c.khmc,
lx = 1,
sfzh = a.sfzh,
csrq = a.csrq,
tel = a.tel,
txdz = a.bz,
dxtj = 0,
image = a.image
};
if (data.Any())
{
return data.First();
}
else
{
var data2 = from a in db.t_grgzbs
where a.tm == tm
select new Entities.DTO.dto_tjdjxx
{
tm = tm,
tmztz = a.tmztz,
hyh = a.hyh,
xm = a.xm,
xb = a.xb,
nl = a.nl,
hyzk = a.hyzk,
ygh = "",
ssbm = "",
khmc = "",
lx = 0,
sfzh = a.sfzh,
csrq = a.csrq,
tel = a.dh,
txdz = a.dz,
dxtj = a.dxtj,
image = a.image
};
if (data2.Any())
{
return data2.First();
}
else
{
return null;
}
}
}
//return
}
/// <summary>
/// 根据条码号查询团检登记情况信息
/// </summary>
/// <param name="tm"></param>
/// <returns></returns>
public Entities.DTO.dto_tjdjxx GetTjdjxx(int tm)
{
using (DbEntities db = new DbEntities())
{
Entities.DTO.dto_tjdjxx tjxx = new Entities.DTO.dto_tjdjxx();
var data = from a in db.t_ttgzbs
join b in db.t_hts
on a.htbm equals b.htbm
join c in db.t_khs on b.khbm equals c.khbm
where a.tm == tm
select new Entities.DTO.dto_tjdjxx
{
tm = tm,
tmztz = a.tmztz,
hyh = a.hyh,
xm = a.xm,
xb = a.xb,
nl = a.nl,
hyzk = a.hyzk,
ygh = a.ygh,
ssbm = a.ssbm,
khmc = c.khmc
};
if (data.Any())
{
return data.First();
}
else
{
return null;
}
}
//return
}
//根据条码获取团检的合同状态
public short GetHtztByTm(int tm)
{
using (DbEntities db = new DbEntities())
{
//string sqlstr = "select htzt from t_ttgzb,t_ht where t_ht.htbm=t_ttgzb.htbm and tm=" + tm;
var data = from a in db.t_ttgzbs
join b in db.t_hts on a.htbm equals b.htbm
where a.tm == tm
select b.htzt;
if (data.Any())
{
short htzt = data.First();
return htzt;
}
else
{
return -1;
}
}
}
/// <summary>
/// 根据条码判断此团检人员是否允许取消登记
/// </summary>
/// <returns></returns>
public OperationResult IfCanCancleDJ_TJ(int tm)
{
using (DbEntities db = new DbEntities())
{
OperationResult or = new OperationResult();
var datazt = from a in db.t_ttgzbs where a.tm == tm && (a.tmztz == 1 || a.tmztz == 2) select a;
{
if (datazt.Any())
{
//继续
}
else
{
or.State = 0;
or.Message = "该客户的状态无法取消登记";
return or;
}
}
//1.先根据tm查看是否有收费明细有的不能取消
var data1 = from a in db.t_sfmxbs where a.tm == tm select a;
if (data1.Any())
{
or.State = 0;
or.Message = "此客户存在交费信息,不能取消登记";
return or;
}
//2.根据tm查看是否有加减项,有的不能取消
var data2 = from b in db.t_jjxbs where b.tm == tm select b;
if (data2.Any())
{
or.State = 0;
or.Message = "此客户存在加项信息,不能取消登记";
return or;
}
//select * from t_tempdjxm where tm=1000003015 and (ztz=1 or ztz=2 or ztz=3 or ztz=4) and
//zhbm not in (select zhbm from t_zhxm where jclb=2)
var data = from a in db.t_tempdjxms
join b in db.t_zhxms on a.zhbm equals b.zhbm
where a.tm == tm && (a.ztz == 1 || a.ztz == 2 || a.ztz == 3 || a.ztz == 4) && b.jclb != 2
select a;
if (data.Any())
{
or.State = 0;
or.Message = "此客户已经有体检项目了,不能取消登记";
return or;
}
or.State = 1;
or.Message = "可以取消登记";
return or;
}
}
/// <summary>
/// 根据条码号进行团检的取消登记
/// </summary>
/// <param name="tm"></param>
/// <returns></returns>
public OperationResult CancleDJByTm(int tm)
{
using (DbEntities db = new DbEntities())
{
OperationResult or = new OperationResult();
var tran = db.CreateTransaction();
try
{
//1.update t_ttgzb set tmztz=0,upflag=1 where tm=1000170820
string sql1 = "update t_ttgzb set tmztz=0,upflag=1 where tm=" + tm;
db.DataAccessor.Execute(sql1);
//2.
string sql2 = "delete from t_tempdjxm where tm=" + tm;
db.DataAccessor.Execute(sql2);
tran.Commit();
or.State = 1;
or.Message = "取消登记成功";
return or;
}
catch (Exception ex)
{
tran.Rollback();
or.State = 0;
or.Message = "取消登记失败," + (ex.InnerException ?? ex).Message;
return or;
}
}
}
/// <summary>
/// 团检分组中添加人员
/// </summary>
/// <param name="tg"></param>
/// <returns></returns>
public OperationResult InsertTtgzb(t_ttgzb tg)
{
OperationResult or = new OperationResult();
using (DbEntities db = new DbEntities())
{
if (tg == null)
{
or.State = 0;
or.Message = "参数不完整";
return or;
}
else
{
try
{
BasicBll bb = new BasicBll();
int tm = bb.gettmh(tg.fddm, 1, 1);
if (tg.hyh == 0)
tg.hyh = bb.gethyh(tg.fddm, 1); ;
tg.tm = tm;
tg.tmztz = 0;
tg.dybz = 0;
tg.upflag = 0;
tg.cs = 1;
int htbm = tg.htbm;
//获取当前htbm对应的最大序号
int maxxh = 0;
var maxall = db.t_ttgzbs.Where(t => t.htbm == htbm).ToArray();
if (maxall.Length != 0)
{
maxxh = db.t_ttgzbs.Where(t => t.htbm == htbm).OrderByDescending(t => t.xh).Select(t => t.xh).First();
}
else
{
maxxh = 1;
}
if (maxxh != 0)
{
tg.xh = maxxh + 1;
}
else
{
tg.xh = 1;
}
db.t_ttgzbs.Insert(tg);
or.State = 1;
or.Message = "添加分组中的人员信息成功";
or.Tag = tg.hyh + "|" + tg.tm;
return or;
}
catch (Exception ex)
{
or.State = 0;
or.Message = (ex.InnerException ?? ex).Message;
return or;
}
}
}
}
/// <summary>
/// 修改团检分组中的人员信息
/// </summary>
/// <param name="tg"></param>
/// <returns></returns>
public OperationResult UpdateTtgzb(t_ttgzb tg)
{
OperationResult or = new OperationResult();
using (DbEntities db = new DbEntities())
{
try
{
if (tg == null)
{
or.State = 0;
or.Message = "参数不完整";
return or;
}
string sql1 = "update t_ttgzb set sfzh='" + tg.sfzh + "',xm='" + tg.xm + "',hyzk=" + tg.hyzk + ",csrq='" + tg.csrq.ToString() + "',nl=" + tg.nl + ",ygh='" + tg.ygh + "'," +
"ssbm='" + tg.ssbm + "',bz='" + tg.bz + "',tel='" + tg.tel + "',image='" + tg.image + "' where tm=" + tg.tm;
db.DataAccessor.Execute(sql1);
or.State = 1;
or.Message = "修改信息成功";
return or;
}
catch (Exception ex)
{
or.State = 1;
or.Message = (ex.InnerException ?? ex).Message;
return or;
}
}
}
/// <summary>
/// 更改个人信息
/// </summary>
/// <param name="dt"></param>
/// <returns></returns>
public OperationResult UpdateGzbInfo(dto_tjdjxx dt)
{
using (DbEntities db = new DbEntities())
{
OperationResult or = new OperationResult();
or.State = 0;
if (string.IsNullOrEmpty(dt.xm))
{
or.Message = "姓名不能为空";
return or;
}
if (dt.tm == 0 || dt.lx == 2)
{
or.Message = "请求参数不完整,未找到条码信息";
return or;
}
int tm = dt.tm;
//根据原来是否有套餐和加项信息 判断修改后的性别和婚姻状况是否可行
//根据tm查询套餐和加项信息中的xb 和hyzk
//男女互斥 已婚和未婚互斥
//此处认为个人修改后的信息必须为正常的性别和婚姻状况即 非0则1
short xb = dt.xb;
short hyzk = dt.hyzk;
bool ifxb = true;
bool ifhyzk = true;
if (xb == 2)
{
ifxb = false;
}
if (hyzk == 2)
{
ifhyzk = false;
}
if (!ifxb && !ifhyzk) //两个都不需要验证
{
}
else
{
if (dt.lx == 0)//个检
{
var data1 = (from a in db.t_grgzbs
join b in db.t_tcs
on a.tcbm equals b.tcbm
where a.tm == tm
select new
{
xb = b.xb,
hyzk = b.hyzk
}).ToList()
;
var data2 = (from a in db.t_jjxbs
join b in db.t_zhxms
on a.zhbm equals b.zhbm
where
a.tm == tm
select new
{
xb = b.xb,
hyzk = b.hyzk
}).ToList();
if (ifxb) //性别需要验证
{
short xbtemp = 0;
if (xb == 0)
{
xbtemp = 1;
}
bool xb1 = data1.Where(t => t.xb == xbtemp).Any();
bool xb2 = data2.Where(t => t.xb == xbtemp).Any();
if (xb1 || xb2) //存在互斥信息
{
or.Message = "该人员存在与性别不符合的套餐项目或加项信息,性别修改失败";
return or;
}
}
if (ifhyzk) //婚姻状况需要验证
{
short hyzktemp = 0;
if (hyzk == 0)
{
hyzktemp = 1;
}
bool xb1 = data1.Where(t => t.hyzk == hyzktemp).Any();
bool xb2 = data2.Where(t => t.hyzk == hyzktemp).Any();
if (xb1 || xb2) //存在互斥信息
{
or.Message = "该人员存在与婚姻状况不符合的套餐项目或加项信息,婚姻状况修改失败";
return or;
}
}
}
}
//通过验证后修改信息
var tran = db.CreateTransaction();
try
{
if (dt.lx == 0)//个检
{
var gr = db.t_grgzbs.FirstOrDefault(t => t.tm == dt.tm);
gr.xm = dt.xm;
gr.image = dt.image;
gr.xb = dt.xb;
gr.nl = (short)dt.nl;
gr.hyzk = dt.hyzk;
gr.csrq = dt.csrq.Date;
gr.sfzh = dt.sfzh;
gr.dh = dt.tel;
gr.dz = dt.txdz;
gr.dxtj = dt.dxtj;
gr.bz = dt.txdz;
gr.upflag = 1;
db.t_grgzbs.Update(gr);
//string sql1 = "update t_grgzb set xm='"+dt.xm+"',xb="+dt.xb+",nl="+dt.nl+",hyzk="+dt.hyzk+",csrq='"+dt.csrq.ToString("yyyy-MM-dd")+"',sfzh='"+dt.sfzh+"',dh='"+dt.tel+"',dz='"+dt.txdz+"',yb='',bz='"+dt.txdz+"',upflag=1,dxtj="+dt.dxtj+" where tm="+dt.tm;
//db.DataAccessor.Execute(sql1);
string sql2 = "update t_hyb set hybz=1, xm='" + dt.xm + "',xb=" + dt.xb + ",nl=" + dt.nl + ",hyzk=" + dt.hyzk + " ,upflag=1 where hyh=" + dt.hyh;
db.DataAccessor.Execute(sql2);
string sql3 = "update pd_yssj set xm='" + dt.xm + "',txm='"+ dt.xm + "' where qtxtid=" + dt.tm;
db.DataAccessor.Execute(sql3);
string sql4 = "update pd_rylb set xm='" + dt.xm + "',txm='" + dt.xm + "' where qtxtid=" + dt.tm;
db.DataAccessor.Execute(sql4);
tran.Commit();
or.State = 1;
or.Message = "修改成功";
return or;
}
else
{
var tt = db.t_ttgzbs.FirstOrDefault(t => t.tm == dt.tm);
tt.xm = dt.xm;
tt.image = dt.image;
tt.xb = dt.xb;
tt.nl = (short)dt.nl;
tt.hyzk = dt.hyzk;
tt.csrq = dt.csrq.Date;
tt.sfzh = dt.sfzh;
tt.tel = dt.tel;
tt.ygh = dt.ygh;
tt.ssbm = dt.ssbm;
tt.bz = dt.txdz;
tt.upflag = 1;
db.t_ttgzbs.Update(tt);
//string sql1 = "update t_ttgzb set xm='" + dt.xm + "',xb=" + dt.xb + ",nl=" + dt.nl + ",hyzk=" + dt.hyzk
// + ",csrq='" + dt.csrq.ToString("yyyy-MM-dd") + "',sfzh='" + dt.sfzh + "',tel='" + dt.tel + "',ygh='" + dt.ygh + "',ssbm='" + dt.ssbm + "',bz='" + dt.txdz + "',upflag=1 where tm=" + dt.tm;
//db.DataAccessor.Execute(sql1);
string sql2 = "update t_hyb set hybz=1, xm='" + dt.xm + "',xb=" + dt.xb + ",nl=" + dt.nl + ",tel1='" + dt.nl + "',hyzk=" + dt.hyzk + ",upflag=1 where hyh=" + dt.hyh;
db.DataAccessor.Execute(sql2);
string sql3 = "update pd_yssj set xm='" + dt.xm + "' where qtxtid=" + dt.tm;
db.DataAccessor.Execute(sql3);
string sql4 = "update pd_rylb set xm='" + dt.xm + "' where qtxtid=" + dt.tm;
db.DataAccessor.Execute(sql4);
tran.Commit();
or.State = 1;
or.Message = "修改成功";
return or;
}
}
catch (Exception ex)
{
tran.Rollback();
or.State = 0;
or.Message = (ex.InnerException ?? ex).Message;
return or;
}
}
}
}
}