tijian_jichuang/Code/BasicSettings/TaoChanSheZhi.cs
2025-02-20 11:54:48 +08:00

520 lines
17 KiB
C#

using SOH.Kernel;
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 EAS;
using SOH.Data;
using EAS.Services;
using SOH.BLL;
using SOH.Entities;
namespace SOH.BasicSettings
{
[ModuleAttribute(ModuleID = "C7FEBF6C-7C8A-4AD5-B1C9-5BC53FFDC271", ModuleName = "体检套餐维护")]
public partial class TaoChanSheZhi : SOH.Window.baseChildForm
{
private short fddm; //分店代码
DataTable dt_xb = new DataTable();
DataTable dt_hy = new DataTable();
private List<Entities.t_zhxm> led;
List<Entities.t_zhxm> _zhxm;
private List<Entities.t_tc> tcs;
public TaoChanSheZhi()
{
InitializeComponent();
}
private void btn_new_Click(object sender, EventArgs e)
{
//txt_yhjg.Enabled = false;
lbl_bm.Text = "";
txt_klx.Text = txt_ssxx.Text = txt_tcmc.Text = txt_tcjg.Text = txt_yhjg.Text = "";
rb_zjf.Checked = false;
rb_zjs.Checked = false;
cbb_hyqk.SelectedValue = 2;
cbb_xb.SelectedValue = 2;
cbTCLX.SelectedIndex = 0;
tzhxmBindingSource.DataSource = new List<t_zhxm>();
}
private void TaoChanSheZhi_Load(object sender, EventArgs e)
{
initjbxx();
myinit();
}
/// <summary>
/// 初始化基本数据
/// </summary>
private void myinit()
{
this.cbTCLX.SelectedIndex = 0;
var vser = ServiceContainer.GetService<ITaoCan>();
//throw new NotImplementedException();
tcs = vser.getTaoCanListByZX(LoginUser.yydm);
ttcBindingSource.DataSource = tcs;
//dgv_tclist.ClearSelection();
cbb_tclist.DataSource = tcs.Where(t => t.zhuxiao == 0).ToList();
#region
var vks = ServiceContainer.GetService<It_ks>();
var kslist = vks.GetAllks("", -1, int.Parse(LoginUser.yydm));
cbb_ks.DataSource = kslist.Where(t => t.zhuxiao == 0).ToList();
#endregion
/*
#region 获取所有组合项目
var vzhxm = ServiceContainer.GetService<It_zhxm>();
zhxms=vzhxm.get
#endregion*/
int ksbm = int.Parse(cbb_ks.SelectedValue.ToString());
bindkszhxm(ksbm);
tzhxmBindingSource.DataSource = new List<t_zhxm>();
}
private void initjbxx()
{
#region
dt_xb.Columns.Add("xbbm", typeof(short));
dt_xb.Columns.Add("xbmc", typeof(string));
DataRow dr = dt_xb.NewRow();
dr["xbbm"] = 0;
dr["xbmc"] = "男";
dt_xb.Rows.Add(dr);
dr = dt_xb.NewRow();
dr["xbbm"] = 1;
dr["xbmc"] = "女";
dt_xb.Rows.Add(dr);
dr = dt_xb.NewRow();
dr["xbbm"] = 2;
dr["xbmc"] = "不限";
dt_xb.Rows.Add(dr);
cbb_xb.DataSource = dt_xb;
#endregion
#region
dt_hy.Columns.Add("hybm", typeof(short));
dt_hy.Columns.Add("hymc", typeof(string));
dr = dt_hy.NewRow();
dr["hybm"] = 0;
dr["hymc"] = "未婚";
dt_hy.Rows.Add(dr);
dr = dt_hy.NewRow();
dr["hybm"] = 1;
dr["hymc"] = "已婚";
dt_hy.Rows.Add(dr);
dr = dt_hy.NewRow();
dr["hybm"] = 2;
dr["hymc"] = "不限";
dt_hy.Rows.Add(dr);
cbb_hyqk.DataSource = dt_hy;
#endregion
}
public void ShuaXin()
{
var vser = ServiceContainer.GetService<ITaoCan>();
tcs = vser.getTaoCanList(LoginUser.yydm); //List<Entities.t_tc>
ttcBindingSource.DataSource = tcs;
//dgv_tclist.ClearSelection();
cbb_tclist.DataSource = tcs.Where(t => t.zhuxiao == 0).ToList();
}
private void bindkszhxm(int ksbm)
{
//throw new NotImplementedException();
var vzhxm = ServiceContainer.GetService<It_zhxm>();
var zhxms = vzhxm.GetzhxmByks(ksbm, Convert.ToInt32(LoginUser.yydm));
bs_kszhxm.DataSource = zhxms.Where(t => t.zhuxiao == "0").ToList();
led = vzhxm.GetzhxmByks(-1, Convert.ToInt32(LoginUser.yydm));
}
private void dgv_tclist_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)
{
foreach (DataGridViewRow dgvr in dgv_tclist.Rows)
{
t_tc tc = dgvr.DataBoundItem as t_tc;
if (tc.m_zhuxiao == zhuxiaomj.)
{
dgvr.DefaultCellStyle.BackColor = Color.Red;
}
}
}
private void dgv_tclist_CellClick(object sender, DataGridViewCellEventArgs e)
{
var vser = ServiceContainer.GetService<ITaoCan>();
DataGridViewRow dgvr = dgv_tclist.Rows[e.RowIndex];
t_tc tc = dgvr.DataBoundItem as t_tc;
List<t_zhxm> tcmx = vser.getTCMX(tc.tcbm);
lbl_bm.Text = tc.tcbm.ToString();
txt_tcmc.Text = tc.tcmc;
txt_ssxx.Text = tc.xssx.ToString();
rb_zjs.Checked = tc.zjdisplay == 1;
rb_zjf.Checked = tc.zjdisplay == 0;
txt_tcjg.Text = tc.tcjg.ToString();
txt_yhjg.Text = tc.yhjg_x.ToString();
if ("1".Equals(tc.upflag))
{
txt_yhjg.Enabled = false;
}
else
{
txt_yhjg.Enabled = true;
}
cbb_hyqk.SelectedValue = tc.hyzk;
cbb_xb.SelectedValue = tc.xb;
cbTCLX.SelectedIndex = Convert.ToInt16(tc.upflag);
tzhxmBindingSource.DataSource = tcmx;
}
private void settc()
{
//throw new NotImplementedException();
try
{
t_tc tc = new t_tc();
int tcbm = 0;
int.TryParse(lbl_bm.Text, out tcbm);
tc.tcbm = (short)tcbm;
tc.tcmc = txt_tcmc.Text;
tc.xssx = short.Parse(txt_ssxx.Text.Trim());
tc.zjdisplay = (short)(rb_zjs.Checked ? 1 : 0);
tc.tcjg = double.Parse(txt_tcjg.Text);
tc.yhjg_x = double.Parse(txt_yhjg.Text);
tc.hyzk = short.Parse(cbb_hyqk.SelectedValue.ToString());
tc.xb = short.Parse(cbb_xb.SelectedValue.ToString());
tc.klx = txt_klx.Text;
tc.fddm = short.Parse(LoginUser.yydm);
tc.upflag = cbTCLX.SelectedIndex.ToString();
var vser = ServiceContainer.GetService<ITaoCan>();
List<t_tcxmmx> tcmx = new List<t_tcxmmx>();
List<t_zhxm> zhxms = tzhxmBindingSource.DataSource as List<t_zhxm>;
foreach (t_zhxm zhxm in zhxms)
{
t_tcxmmx mx = new t_tcxmmx();
mx.tcbm = tc.tcbm;
mx.zhbm = zhxm.zhbm;
tcmx.Add(mx);
}
OperationResult or = vser.SetTaoCan(tc, tcmx);
MessageBox.Show(or.Message);
if (or.State == 1)
{
if (tc.tcbm == 0)
{
//ttcBindingSource.Add(tc);
myinit();
}
else
{
// myinit();
ShuaXin();
}
}
}
catch (System.Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void btn_zhuxiao_Click(object sender, EventArgs e)
{
if (dgv_tclist.SelectedRows.Count == 0)
{
MessageBox.Show("没有选中的套餐,请先选择套餐!");
return;
}
t_tc tc = dgv_tclist.SelectedRows[0].DataBoundItem as t_tc;
if (tc.zhuxiao == 1)
{
MessageBox.Show("已经注销的套餐不能再注销!");
return;
}
var vser = ServiceContainer.GetService<ITaoCan>();
OperationResult or = vser.SetZhuxiao(tc.tcbm, 1);
MessageBox.Show(or.Message);
if (or.State == 1)
{
tc.zhuxiao = 1;
dgv_tclist.Refresh();
dgv_tclist.SelectedRows[0].DefaultCellStyle.BackColor = Color.Red;
}
}
private void btn_quxiaozhuxiao_Click(object sender, EventArgs e)
{
if (dgv_tclist.SelectedRows.Count == 0)
{
MessageBox.Show("没有选中的套餐,请先选择套餐!");
return;
}
t_tc tc = dgv_tclist.SelectedRows[0].DataBoundItem as t_tc;
if (tc.zhuxiao == 0)
{
MessageBox.Show("你选择的套餐没有被注销,不能取消注销!");
return;
}
var vser = ServiceContainer.GetService<ITaoCan>();
OperationResult or = vser.SetZhuxiao(tc.tcbm, 0);
MessageBox.Show(or.Message);
if (or.State == 1)
{
tc.zhuxiao = 0;
dgv_tclist.Refresh();
dgv_tclist.SelectedRows[0].DefaultCellStyle.BackColor = Color.White;
}
}
private void btn_add_Click(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(lbl_bm.Text.Trim()))
{
MessageBox.Show("请先点击新建按钮!");
return;
}
settc();
}
private void btn_modf_Click(object sender, EventArgs e)
{
if (dgv_tclist.SelectedRows.Count == 0)
{
MessageBox.Show("请选择要修改的套餐!");
return;
}
t_tc tc = dgv_tclist.SelectedRows[0].DataBoundItem as t_tc;
if (tc.m_zhuxiao == zhuxiaomj.)
{
MessageBox.Show("您选择的套餐已经注销不能修改!");
return;
}
settc();
}
private void btn_daoru_Click(object sender, EventArgs e)
{
double zj = 0;
short tcbm = short.Parse(cbb_tclist.SelectedValue.ToString());
var vser = ServiceContainer.GetService<ITaoCan>();
var tcmx = vser.getTCMX(tcbm);
t_tc tc = vser.GetModelBytcbm(tcbm);
List<t_zhxm> tzhxm;
if (tzhxmBindingSource.DataSource is List<t_zhxm>)
{
tzhxm = tzhxmBindingSource.DataSource as List<t_zhxm>;
}
else
{
tzhxm = new List<t_zhxm>();
tzhxmBindingSource.DataSource = tzhxm;
}
tcmx.ForEach(t =>
{
if (!(tzhxm.Where(p => p.zhbm == t.zhbm).Any()))
{
zj += t.jg_v;
tzhxmBindingSource.Add(t);
}
});
txt_tcjg.Text = zj.ToString();
txt_yhjg.Text = tc.yhjg_x.ToString();
//tzhxmBindingSource.
dgv_tczhxm.Refresh();
}
private void cbb_ks_SelectedValueChanged(object sender, EventArgs e)
{
bindkszhxm(int.Parse(cbb_ks.SelectedValue.ToString()));
}
private void dgv_tczhxm_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
t_zhxm zhxm = dgv_tczhxm.Rows[e.RowIndex].DataBoundItem as t_zhxm;
tzhxmBindingSource.Remove(zhxm);
List<t_zhxm> al = ((System.Windows.Forms.BindingSource)(dgv_tczhxm.DataSource)).List as List<t_zhxm>;
double zj = 0;
double yhjg = 0;
if (txt_yhjg.Text != "")
{
yhjg = Convert.ToDouble(txt_yhjg.Text);
yhjg = yhjg - zhxm.jg_v;
}
foreach (t_zhxm m in al)
{
zj += m.jg_v;
}
txt_tcjg.Text = zj.ToString();
txt_yhjg.Text = yhjg.ToString();
}
private void dgv_kszhxm_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
t_zhxm zhxm = dgv_kszhxm.Rows[e.RowIndex].DataBoundItem as t_zhxm;
if ((tzhxmBindingSource.DataSource as List<t_zhxm>).Where(t => t.zhbm == zhxm.zhbm).Count() == 0)
{
tzhxmBindingSource.Add(zhxm);
List<t_zhxm> al1 = ((System.Windows.Forms.BindingSource)(dgv_tczhxm.DataSource)).List as List<t_zhxm>;
double zj = 0;
double yhjg = 0;
foreach (t_zhxm m in al1)
{
zj += m.jg_v;
}
if (txt_yhjg.Text != "")
{
yhjg = Convert.ToDouble(txt_yhjg.Text);
yhjg = yhjg + zhxm.jg_v;
}
else
{
yhjg = yhjg + zhxm.jg_v;
}
txt_tcjg.Text = zj.ToString();
txt_yhjg.Text = yhjg.ToString();
}
else
{
MessageBox.Show("不能重复添加项目。");
}
}
private void dgv_tczhxm_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e)
{
SolidBrush b = new SolidBrush(this.dgv_tczhxm.RowHeadersDefaultCellStyle.ForeColor);
e.Graphics.DrawString((e.RowIndex + 1).ToString(System.Globalization.CultureInfo.CurrentUICulture), this.dgv_tczhxm.DefaultCellStyle.Font, b, e.RowBounds.Location.X + 10, e.RowBounds.Location.Y + 4);
}
private void radioButton1_Click(object sender, EventArgs e)
{
this.radioButton2.Checked = false;
var vser = ServiceContainer.GetService<ITaoCan>();
//throw new NotImplementedException();
List<Entities.t_tc> tcs = vser.getTaoCanList(LoginUser.yydm);
ttcBindingSource.DataSource = tcs;
}
private void radioButton2_Click(object sender, EventArgs e)
{
this.radioButton1.Checked = false;
var vser = ServiceContainer.GetService<ITaoCan>();
//throw new NotImplementedException();
List<Entities.t_tc> tcs = vser.getTaoCanListByZX(LoginUser.yydm);
ttcBindingSource.DataSource = tcs;
}
private void tb_tcmcZJF_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
Load_tab1_TC2(tb_tcmcZJF.Text.ToString(), cbTCLX2.SelectedIndex.ToString());
}
}
private void Load_tab1_TC2(string tcmc, string tclx)
{
if (tcs != null)
{
var data = tcs.Where(t => t.tcmc.Contains(tcmc) && t.upflag == tclx);
if (data.Any())
{
List<t_tc> newtc = data.ToList();
ttcBindingSource.DataSource = newtc;
}
}
else
{
ttcBindingSource.DataSource = null;
}
}
private void button1_Click(object sender, EventArgs e)
{
tb_tcmcZJF.Text = "";
ttcBindingSource.DataSource = tcs;
}
private void tbTJKSZJM_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
short xb = (short)this.cbb_xb.SelectedIndex;
short hyzk = (short)this.cbb_hyqk.SelectedIndex;
string zjf = this.tbTJKSZJM.Text.Trim();
zjf = zjf.ToLower();
Load_tab1_ZHXM(zjf, xb, hyzk);
}
}
private void Load_tab1_ZHXM(string zjf, short xb, short hyzk)
{
if (led == null)
{
return;
}
//var data = led.Where(t => (xb == 2 ? true : (t.xb == xb || t.xb == 2)) && (hyzk == 2 ? true : (t.hyzk == hyzk || t.hyzk == 2)) && ((zjf == null || zjf == "") ? true : (t.zjm.Contains(zjf))));
var data = led.Where(t => ((zjf == null || zjf == "") ? true : (t.zjm.Contains(zjf))));
if (data.Any())
{
List<Entities.t_zhxm> ld = data.ToList();
bs_kszhxm.DataSource = null;
bs_kszhxm.DataSource = ld.OrderBy(t => t.ksbm).ToList();
_zhxm = ld.OrderBy(t => t.ksbm).ToList();
}
else
{
bs_kszhxm.DataSource = null;
}
}
private void cbTCLX2_SelectedIndexChanged(object sender, EventArgs e)
{
Load_tab1_TC2(tb_tcmcZJF.Text.ToString(), cbTCLX2.SelectedIndex.ToString());
}
private void cbTCLX_SelectionChangeCommitted(object sender, EventArgs e)
{
if (this.cbTCLX.Text != "System.Data.DataRowView")
{
if (this.cbTCLX.SelectedIndex==0)
{
txt_yhjg.Enabled = true;
}
else
{
txt_yhjg.Enabled = false;
}
}
}
}
}