123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261 |
- using System;
- using System.Data;
- using System.Text;
- using System.Windows.Forms;
- using UAS_LabelMachine.Entity;
- using UAS_LabelMachine.PublicMethod;
- namespace UAS_LabelMachine
- {
- public partial class 采集策略 : Form
- {
- AutoSizeFormClass asc = new AutoSizeFormClass();
- DataHelper dh;
- StringBuilder sql = new StringBuilder();
- DataTable dt;
- public 采集策略()
- {
- InitializeComponent();
- si_type1.CheckedChanged += CheckChanged;
- si_type3.CheckedChanged += CheckChanged;
- si_type4.CheckedChanged += CheckChanged;
- si_type2.CheckedChanged += CheckChanged;
- si_type5.CheckedChanged += CheckChanged;
- }
- public 采集策略(string SG_CODE)
- {
- InitializeComponent();
- sg_code.Text = SG_CODE;
- si_type1.CheckedChanged += CheckChanged;
- si_type3.CheckedChanged += CheckChanged;
- si_type4.CheckedChanged += CheckChanged;
- si_type2.CheckedChanged += CheckChanged;
- si_type5.CheckedChanged += CheckChanged;
- }
- private void 采集策略_Load(object sender, EventArgs e)
- {
- asc.controllInitializeSize(this);
- dh = SystemInf.dh;
- pb_name.FormName = Name;
- pb_name.SetValueField = new string[] { "pb_name" };
- pb_name.TableName = "productbrand";
- pb_name.SelectField = "pb_name # 品牌名称,pb_remark # 备注";
- si_kind1.Text = "全部";
- si_kind2.Text = "全部";
- si_kind3.Text = "全部";
- si_kind4.Text = "全部";
- si_kind5.Text = "全部";
- if (sg_code.Text != "")
- {
- KeyEventArgs e2 = new KeyEventArgs(Keys.Enter);
- sg_code_KeyDown(sender, e2);
- }
- Width = Width + 1;
- }
- private void 采集策略_SizeChanged(object sender, EventArgs e)
- {
- asc.controlAutoSize(this);
- }
- private void Save_Click(object sender, EventArgs e)
- {
- if (sg_code.Text == "")
- {
- BaseUtil.ShowError("策略编号不能为空");
- }
- //如果是Enter获取的数据之后则这个隐藏字段的值不为空
- if (sg_id.Text != "")
- {
- sql.Clear();
- sql.Append("update scangroup set sg_name='" + sg_name.Text + "',sg_code='" + sg_code.Text + "',sg_brand='" + pb_name.Text + "',");
- sql.Append("sg_separator=:sg_separator where sg_id=" + sg_id.Text);
- dh.ExecuteSql(sql.ToString(), "update", new string[] { sg_separator.Text });
- for (int i = 1; i < 6; i++)
- {
- //如果从表的ID不为空则表示此条记录已存在需要更新
- if (Controls["si_id" + i].Text != "")
- {
- int Enable = 0;
- if ((Controls["si_type" + i] as CheckBox).Checked)
- {
- Enable = 1;
- }
- sql.Clear();
- sql.Append("update scanitem set si_innerdetno='" + Controls["si_innerdetno" + i].Text + "',si_item='" + Controls["si_item" + i].Text + "',si_detno='" + Controls["si_detno" + i].Text + "',");
- sql.Append("si_index='" + Controls["si_index" + i].Text + "',si_indexstring='" + Controls["si_indexstring" + i].Text + "',");
- sql.Append("si_kind='" + Controls["si_kind" + i].Text + "', si_length='" + Controls["si_length" + i].Text + "',si_expressionitem='" + Controls["si_expressionitem" + i].Text + "',");
- sql.Append("si_expression=:si_expression,si_enable=" + Enable + " where si_id=" + Controls["si_id" + i].Text);
- dh.ExecuteSql(sql.ToString(), "update", new string[] { Controls["si_expression" + i].Text });
- }
- }
- MessageBox.Show("保存成功");
- }
- else
- {
- //判断策略编号是否存在
- if (!dh.CheckExist("scangroup", "sg_code='" + sg_code.Text + "'"))
- {
- //如果是新增的从序列获取主键的ID
- string sg_id1 = dh.GetSEQ("scangroup_seq");
- sql.Clear();
- sql.Append("insert into scangroup (sg_id,sg_code,sg_name,sg_brand,sg_separator) values(" + sg_id1 + ",'" + sg_code.Text + "','" + sg_name.Text + "',");
- sql.Append("'" + pb_name.Text + "',:sg_separator)");
- dh.ExecuteSql(sql.ToString(), "insert", new string[] { sg_separator.Text });
- //遍历需要采集的字段
- for (int i = 1; i < 6; i++)
- {
- //保存四条记录,通过si_enable字段来判断是否启用
- int Enable = 0;
- if ((Controls["si_type" + i] as CheckBox).Checked)
- {
- Enable = 1;
- }
- string si_id = dh.GetSEQ("scanitem_seq");
- sql.Clear();
- sql.Append("insert into scanitem(si_id,si_sgid,si_detno,si_item,si_kind,si_indexstring,si_index,si_expressionitem,si_expression,si_enable,si_innerdetno) values(" + si_id + "," + sg_id1);
- sql.Append(",'" + Controls["si_detno" + i].Text + "','" + Controls["si_item" + i].Text + "','" + Controls["si_kind" + i].Text + "',");
- sql.Append("'" + Controls["si_indexstring" + i].Text + "','" + Controls["si_index" + i].Text + "','" + Controls["si_expressionitem" + i].Text + "',:si_expression," + Enable + ",'" + Controls["si_innerdetno" + i].Text + "')");
- dh.ExecuteSql(sql.ToString(), "insert", new string[] { Controls["si_expression" + i].Text });
- Controls["si_id" + i].Text = si_id;
- }
- MessageBox.Show("保存成功");
- //保存成功后将值更新回界面,再次点击保存就是更新操作
- sg_id.Text = sg_id1;
- }
- else
- {
- MessageBox.Show("策略编号" + sg_code.Text + "已存在!");
- }
- }
- }
- private void Delete_Click(object sender, EventArgs e)
- {
- if (sg_id.Text != "")
- {
- string close = MessageBox.Show(this.ParentForm, "是否删除此策略", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question).ToString();
- if (close.ToString() == "Yes")
- {
- dh.ExecuteSql("delete from scangroup where sg_id=" + sg_id.Text, "delete");
- dh.ExecuteSql("delete from scanitem where si_sgid=" + sg_id.Text, "delete");
- MessageBox.Show("删除成功");
- BaseUtil.CleanForm(this);
- }
- }
- }
- private void CheckChanged(object sender, EventArgs e)
- {
- CheckBox cb = sender as CheckBox;
- //用来表示当前的勾选框的所属的TextBox
- int i = 0;
- switch (cb.Text)
- {
- case "DateCode":
- i = 1;
- break;
- case "LotNo":
- i = 2;
- break;
- case "QTY":
- i = 3;
- break;
- case "MPN":
- i = 4;
- break;
- case "品牌":
- i = 5;
- break;
- default:
- break;
- }
- //通过勾选状态来控制TextBox是否启用
- if (cb.Checked)
- {
- Controls["si_detno" + i].Enabled = true;
- Controls["si_item" + i].Text = cb.Text;
- Controls["si_kind" + i].Enabled = true;
- Controls["si_expression" + i].Enabled = true;
- Controls["si_expressionitem" + i].Enabled = true;
- Controls["si_index" + i].Enabled = true;
- Controls["si_indexstring" + i].Enabled = true;
- Controls["si_length" + i].Enabled = true;
- Controls["si_innerdetno" + i].Enabled = true;
- }
- else
- {
- Controls["si_detno" + i].Enabled = false;
- Controls["si_item" + i].Enabled = false;
- Controls["si_kind" + i].Enabled = false;
- Controls["si_expression" + i].Enabled = false;
- Controls["si_expressionitem" + i].Enabled = false;
- Controls["si_index" + i].Enabled = false;
- Controls["si_indexstring" + i].Enabled = false;
- Controls["si_length" + i].Enabled = false;
- Controls["si_innerdetno" + i].Enabled = false;
- }
- }
- private void sg_code_KeyDown(object sender, KeyEventArgs e)
- {
- if (e.KeyCode == Keys.Enter)
- {
- dt = (DataTable)dh.ExecuteSql("select sg_id,sg_code,sg_name,sg_brand as pb_name,sg_separator from scangroup where sg_code='" + sg_code.Text + "'", "select");
- if (dt.Rows.Count > 0)
- {
- BaseUtil.SetFormValue(this.Controls, dt);
- dt = (DataTable)dh.ExecuteSql("select * from scanitem where si_sgid=" + sg_id.Text, "select");
- //通过匹配采集的字段名称给界面赋值
- for (int i = 0; i < dt.Rows.Count; i++)
- {
- for (int j = 1; j < 6; j++)
- {
- //如果Item和CheckBox的文字相等
- if (dt.Rows[i]["si_item"].ToString() == Controls["si_type" + j].Text)
- {
- //如果状态不为0则表示启用
- if (dt.Rows[i]["si_enable"].ToString() != "0")
- (Controls["si_type" + j] as CheckBox).CheckState = CheckState.Checked;
- else
- (Controls["si_type" + j] as CheckBox).CheckState = CheckState.Unchecked;
- Controls["si_id" + j].Text = dt.Rows[i]["si_id"].ToString();
- Controls["si_detno" + j].Text = dt.Rows[i]["si_detno"].ToString();
- Controls["si_kind" + j].Text = dt.Rows[i]["si_kind"].ToString();
- Controls["si_indexstring" + j].Text = dt.Rows[i]["si_indexstring"].ToString();
- Controls["si_index" + j].Text = dt.Rows[i]["si_index"].ToString();
- Controls["si_item" + j].Text = dt.Rows[i]["si_item"].ToString();
- Controls["si_kind" + j].Text = dt.Rows[i]["si_kind"].ToString();
- Controls["si_length" + j].Text = dt.Rows[i]["si_length"].ToString();
- Controls["si_innerdetno" + j].Text = dt.Rows[i]["si_innerdetno"].ToString();
- Controls["si_expression" + j].Text = dt.Rows[i]["si_expression"].ToString();
- Controls["si_expressionitem" + j].Text = dt.Rows[i]["si_expressionitem"].ToString();
- }
- }
- }
- }
- else
- MessageBox.Show("不存在编号为" + sg_code.Text + "的采集策略");
- }
- }
- /// <summary>
- /// 清除界面的信息
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void Add_Click(object sender, EventArgs e)
- {
- BaseUtil.CleanForm(this);
- for (int i = 1; i < 6; i++)
- (Controls["si_type" + i] as CheckBox).Checked = false;
- }
- }
- }
|