using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using SOH.Kernel; using EAS; using EAS.Services; using SOH.BLL; using SOH.Entities; using SOH.Entities.DTO; using SOH.Data; using SOH.Configuration; using System.Reflection; using System.Drawing.Imaging; using System.IO; namespace SOH.QianTai { [ModuleAttribute(ModuleID = "D4B408A4-5642-470A-97B4-19749C3A1ACC", ModuleName = "团检条码批量打印")] public partial class frmTuanJianTiaoMa : SOH.Window.baseChildForm { private short fddm; //分店代码 private List ltgzb; // public frmTuanJianTiaoMa() { InitializeComponent(); string yydm = LoginUser.yydm; short fddmtemp = 0; short.TryParse(yydm, out fddmtemp); fddm = fddmtemp; this.gvTJDW.AutoGenerateColumns = false; this.gvHTFZ.AutoGenerateColumns = false; this.gvDY1.AutoGenerateColumns = false; this.gvDY2.AutoGenerateColumns = false; } private void frmTuanJianTiaoMa_Load(object sender, EventArgs e) { } private void btnMH_Click(object sender, EventArgs e) { string dwmcstr = this.tbTJDW.Text.Trim(); BindTJDW(fddm, dwmcstr); } private void btnQB_Click(object sender, EventArgs e) { this.tbTJDW.Text = ""; BindTJDW(fddm, ""); } //根据fddm和dwmc(单位名称)查询符合条件的体检单位 private void BindTJDW(short tfddm, string dwmc) { var vs = ServiceContainer.GetService(); List ldt = vs.GetTjdwForTmdy(tfddm, dwmc); this.gvTJDW.DataSource = null; if (ldt != null && ldt.Count > 0) { this.gvTJDW.DataSource = ldt; } } //体检单位选择事件 private void gvTJDW_SelectionChanged(object sender, EventArgs e) { if (this.gvTJDW.SelectedRows.Count > 0) { this.gvDY1.DataSource = null; this.tbXJ1.Text = "0"; this.gvDY2.DataSource = null; this.tbXJ2.Text = "0"; int rindex = this.gvTJDW.SelectedRows[0].Index; dto_tjkhht dt = this.gvTJDW.Rows[rindex].DataBoundItem as dto_tjkhht; //根据合同编码获取所有合同分组 var vs = ServiceContainer.GetService(); List let = vs.GetListByhtbm(dt.htbm); this.gvHTFZ.DataSource = null; //筛选出公费的以供打印 gzfbj=0 var data = let.Where(t => t.gzfbj == 0); if (data.Any()) { List lth = data.ToList(); this.gvHTFZ.DataSource = lth; } } else { return; } } //合同分组列表选中事件 private void gvHTFZ_SelectionChanged(object sender, EventArgs e) { if (this.gvHTFZ.SelectedRows.Count > 0) { this.gvDY1.DataSource = null; this.tbXJ1.Text = "0"; this.gvDY2.DataSource = null; this.tbXJ2.Text = "0"; int rindex = this.gvHTFZ.SelectedRows[0].Index; t_htfzb th = this.gvHTFZ.Rows[rindex].DataBoundItem as t_htfzb; int htfzbm = th.htfzbm; ltgzb = null; // var vs = ServiceContainer.GetService(); List lttt = vs.GetList(htfzbm); //var data = lttt.Where(t => t.tmztz == 0 || t.tmztz == -1); var data = lttt.Where(t => t.tmztz != 9); if (data.Any()) { List lt = data.ToList(); ltgzb = lt; this.gvDY1.DataSource = lt; for (int i = 0; i < lt.Count; i++) { if (!string.IsNullOrEmpty(lt[i]["printczy"].ToString())) { gvDY1.Rows[i].DefaultCellStyle.BackColor = Color.LightGreen; } } this.tbXJ1.Text = lt.Count.ToString(); } } else { return; } } //助记符筛选 private void tbZJM_TextChanged(object sender, EventArgs e) { string zjm = this.tbZJM.Text.Trim().ToUpper(); if (ltgzb == null || ltgzb.Count == 0) { return; } else { this.gvDY1.DataSource = null; var data = ltgzb.Where(t => t.zjm.Contains(zjm.ToLower())); if (data.Any()) { List lttt = data.ToList(); this.gvDY1.DataSource = lttt; this.tbXJ1.Text = lttt.Count.ToString(); } } } //打印 private void btnPrint_Click(object sender, EventArgs e) { if (this.gvDY2.DataSource == null) { return; } List lttt = this.gvDY2.DataSource as List; if (lttt == null || lttt.Count == 0) { return; } int dylx = 0; //全部:条码和导检单 if (this.radioButton2.Checked) { dylx = 1; //条码 } if (this.radioButton3.Checked) { dylx = 2; //导检单 } if (dylx == 0 || dylx == 1) { PrintTm(lttt); } if (dylx == 0 || dylx == 2) { PrintDJD(lttt); } } //打印条码 private void PrintTm(List lttt) { if (lttt == null || lttt.Count == 0) { //MessageBox.Show return; } foreach (t_ttgzb tt in lttt) { SOH.ShouFei.frmprinttm ptm = new SOH.ShouFei.frmprinttm(); ptm.init(tt.tm, 0, 0, null); ptm.print(); } } //打印导检单 private void PrintDJD(List lttt) { if (lttt == null || lttt.Count == 0) { //MessageBox.Show return; } foreach (t_ttgzb tt in lttt) { SOH.ShouFei.frmPrintDaoJianDan pdjd = new SOH.ShouFei.frmPrintDaoJianDan(); pdjd.init(tt.tm); pdjd.print(); var vs = ServiceContainer.GetService(); OperationResult or = vs.UpdatePrintDjd(tt.tm,LoginUser.username); } } private void btnJia_Click(object sender, EventArgs e) { if (this.gvDY1.SelectedRows.Count > 0) { int rindex = this.gvDY1.SelectedRows[0].Index; t_ttgzb tt = this.gvDY1.Rows[rindex].DataBoundItem as t_ttgzb; //移除 ltgzb.Remove(tt); List lt1 = this.gvDY1.DataSource as List; lt1.Remove(tt); this.gvDY1.DataSource = null; this.tbXJ1.Text = "0"; if (lt1 != null && lt1.Count > 0) { this.gvDY1.DataSource = lt1; this.tbXJ1.Text = lt1.Count.ToString(); } //增加 List lt2 = new List(); if (this.gvDY2.DataSource == null) { } else { lt2 = this.gvDY2.DataSource as List; } lt2.Add(tt); this.gvDY2.DataSource = null; this.tbXJ2.Text = "0"; if (lt2 != null && lt2.Count > 0) { this.gvDY2.DataSource = lt2; this.tbXJ2.Text = lt2.Count.ToString(); } } else { return; } } private void btnJian_Click(object sender, EventArgs e) { if (this.gvDY2.SelectedRows.Count > 0) { int rindex = this.gvDY2.SelectedRows[0].Index; t_ttgzb tt = this.gvDY2.Rows[rindex].DataBoundItem as t_ttgzb; //增加 ltgzb.Add(tt); List lt1 = this.gvDY1.DataSource as List; if (lt1 == null || lt1.Count == 0) { lt1 = new List(); } lt1.Add(tt); this.gvDY1.DataSource = null; this.tbXJ1.Text = "0"; if (lt1 != null && lt1.Count > 0) { this.gvDY1.DataSource = lt1; this.tbXJ1.Text = lt1.Count.ToString(); } //移除 List lt2 = this.gvDY2.DataSource as List; lt2.Remove(tt); this.gvDY2.DataSource = null; this.tbXJ2.Text = "0"; if (lt2 != null && lt2.Count > 0) { this.gvDY2.DataSource = lt2; this.tbXJ2.Text = lt2.Count.ToString(); } } else { return; } } private void btnCX1_Click(object sender, EventArgs e) { System.Configuration.Configuration conf = System.Configuration.ConfigurationManager.OpenExeConfiguration(System.Windows.Forms.Application.StartupPath + "\\local.ext"); // string sfzdkq = ""; if (conf.AppSettings.Settings.AllKeys.Contains("QYSFZDKQ")) { if (conf.AppSettings.Settings["QYSFZDKQ"].Value != "1") { MessageBox.Show("系统没有配置读卡器相关配置,请联系管理员设置!"); return; } } else { MessageBox.Show("系统没有配置读卡器相关配置,请联系管理员设置!"); return; } var group = conf.SectionGroups["object"]; if (group == null) { //group = new ConfigurationSectionGroup(); //conf.SectionGroups.Add("object", group); MessageBox.Show("系统没有配置读卡器相关配置,请联系管理员设置!"); return; } // ConfigurationSection section = new ConfigurationSection(); // group.Sections.Add("IDCard",) MyAssemblySection section = group.Sections["ass"] as MyAssemblySection; MyAssemblyElement myelement = null; foreach (MyAssemblyElement element in section.MyAssemblyElements) { if (element.name == "IDCard") { myelement = element; break; } } if (myelement == null) { MessageBox.Show("系统没有配置读卡器相关配置,请联系管理员设置!"); return; } var ass = Assembly.Load(myelement.assembly); SOH.Interface.IIDCardRead idcard = ass.CreateInstance(myelement.type) as SOH.Interface.IIDCardRead; int result = idcard.init(); if (result != 0) { MessageBox.Show("初始化读卡器失败!"); return; } result = idcard.read(); if (result != 0) { MessageBox.Show("读卡失败!"); return; } tbSFZH.Text = idcard.sfzh; //idcard. cxhy(); string xm = idcard.xm; //tb3_SFZH_Leave(null, null); //tbXM.Text = xm; //if (tbTXDZ.Text == "") // tbTXDZ.Text = idcard.dz; idcard.exit(); } private void cxhy() { #region 根据身份证号查询是否是已登记会员 //if (e.KeyCode == Keys.Enter) string sfzh = this.tbSFZH.Text.Trim(); //验证身份证号的长度 //if (sfzh.Length != 18 && sfzh.Length != 15) if (string.IsNullOrEmpty(sfzh)) { //this.tbJKGW.Focus(); MessageBox.Show("身份证号长度不符"); this.tbSFZH.Select(); return; } //根据身份证号获取此人是否已经有体检信息 var vsqt = ServiceContainer.GetService(); OperationResult or = vsqt.IfExistTJBySFZH2(sfzh, fddm); if (or.State == 0) { MessageBox.Show(or.Message); this.tbSFZH.Select(); return; } string tms = or.Message; int tm = 0; if (Int32.TryParse(tms, out tm)) { var vs = ServiceContainer.GetService(); string json = vs.GetTTDJInfo(tm); DataTable dt = new DataTable(); dt = Newtonsoft.Json.JsonConvert.DeserializeObject(json); //进行判断 string fdstr = dt.Rows[0]["fddm"].ToString(); //合同所在分店 string htzt = dt.Rows[0]["htzt"].ToString(); //体检合同状态 string tmztz = dt.Rows[0]["tmztz"].ToString(); //体检条码状态 string tjlb = dt.Rows[0]["tjlb"].ToString(); DateTime dts = DateTime.Now; DateTime dts2 = Convert.ToDateTime(dt.Rows[0]["htjzrq"].ToString()); if(DateTime.Compare(dts, dts2) > 0) { MessageBox.Show("对应单位的合同已过期"); return; } if (htzt == "1") //htzt=1是正常的合同 { //过 } else if (htzt == "0") { MessageBox.Show("对应单位的合同还未生效"); return; } else if (htzt == "2") { MessageBox.Show("对应单位的合同已经失效"); return; } else { MessageBox.Show("对应单位的合同不明确"); return; } //看当前人的体检状态 tmztz if (tmztz == "0") { //等于0的 为可以进行登记的 } else { MessageBox.Show("该客人已经进行体检,不能登记"); return; } //看体检合同是公费还是自费 string gzfbj = dt.Rows[0]["gzfbj"].ToString(); if (gzfbj == "1") //自费不能在此登记 { MessageBox.Show("团检自费合同不能在此登记,请到团检现场登记"); return; } //填充团检单位 BindTJDW(fddm, dt.Rows[0]["khmc"].ToString()); //填充合同分组 var vs1 = ServiceContainer.GetService(); List let = vs1.GetModelListByfzbm(Convert.ToInt32(dt.Rows[0]["htfzbm"].ToString())); this.gvHTFZ.DataSource = null; this.gvHTFZ.DataSource = let; //填充团检人员 var vs2 = ServiceContainer.GetService(); List lttt = vs2.GetModelListBytm(tm); this.gvDY1.DataSource = lttt; this.tbSFZH.Text = ""; } else { MessageBox.Show("请输入正确格式的条码"); return; } #endregion } private void tbSFZH_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter) { cxhy(); } } private void tbSFZH_Leave(object sender, EventArgs e) { } } }