Ejemplo n.º 1
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            try
            {
                try
                {
                    gridView1.FocusedRowHandle -= 1;
                    gridView1.FocusedRowHandle += 1;
                }
                catch { }

                string        sErr = "";
                int           iCou = 0;
                SqlConnection conn = new SqlConnection(DbHelperSQL.connectionString);
                conn.Open();
                //启用事务
                SqlTransaction tran = conn.BeginTransaction();
                try
                {
                    string s部门编码 = lookUpEditcDepCode.Text.Trim();
                    if (s部门编码 == "")
                    {
                        lookUpEditcDepCode.Focus();
                        throw new Exception("部门编码不能为空");
                    }

                    string s产品编码 = lookUpEditcInvName.Text.Trim();
                    if (s产品编码 == "")
                    {
                        lookUpEditcDepCode.Focus();
                        throw new Exception("产品编码不能为空");
                    }

                    string s会计期间 = lookUpEdit会计期间.Text.Trim();
                    if (s会计期间 == "")
                    {
                        lookUpEditcDepCode.Focus();
                        throw new Exception("会计期间不能为空");
                    }

                    if (txtWorkTime.Text.Trim() == "")
                    {
                        txtWorkTime.Focus();
                        throw new Exception("产品工时不能为空");
                    }

                    decimal d工时 = BaseFunction.ReturnDecimal(txtWorkTime.Text.Trim());
                    if (d工时 < 0)
                    {
                        txtWorkTime.Focus();
                        throw new Exception("产品工时不能小于0");
                    }


                    string sSQL = @"
select * 
from    _ProMaterial
where 1=1
ORDER BY iID
";
                    sSQL = sSQL.Replace("1=1", "1=1 and 会计期间 = '" + lookUpEdit会计期间.Text.Trim() + "' and 部门 = '" + s部门编码 + "' and 产品编码 = '" + s产品编码 + "' ");
                    DataTable dt = DbHelperSQL.ExecuteDataset(tran, CommandType.Text, sSQL).Tables[0];
                    if (dt == null)
                    {
                        throw new Exception("获得数据失败");
                    }

                    if (dt.Rows.Count > 0 && dt.Rows[0]["审核人"].ToString().Trim() != "")
                    {
                        throw new Exception("已经审核不能修改");
                    }

                    Model._ProMaterial model = new UFIDA.U8.UAP.CustomApp.ControlForm.Model._ProMaterial();
                    model.部门 = lookUpEditcDepCode.EditValue.ToString().Trim();

                    string sInvCode = lookUpEditcInvName.EditValue.ToString().Trim();
                    sSQL = "select * from Inventory where cInvCode = '" + sInvCode + "'";
                    DataTable dtTemp = DbHelperSQL.ExecuteDataset(tran, CommandType.Text, sSQL).Tables[0];
                    if (dtTemp == null || dtTemp.Rows.Count != 1)
                    {
                        sErr = sErr + " 产品存货编码不存在";
                    }
                    model.产品编码 = sInvCode;
                    model.会计期间 = lookUpEdit会计期间.EditValue.ToString().Trim();

                    UFIDA.U8.UAP.CustomApp.ControlForm.DAL._ProMaterial DAL = new UFIDA.U8.UAP.CustomApp.ControlForm.DAL._ProMaterial();
                    sSQL = DAL.Delete(model);
                    DbHelperSQL.ExecuteNonQuery(tran, CommandType.Text, sSQL);

                    bool b子件已登记 = false;
                    for (int i = 0; i < gridView1.RowCount; i++)
                    {
                        if (gridView1.GetRowCellValue(i, gridColcInvCode).ToString().Trim() == "")
                        {
                            continue;
                        }

                        model         = new UFIDA.U8.UAP.CustomApp.ControlForm.Model._ProMaterial();
                        model.部门      = lookUpEditcDepCode.EditValue.ToString().Trim();
                        model.产品编码    = lookUpEditcInvName.EditValue.ToString().Trim();
                        model.会计期间    = lookUpEdit会计期间.EditValue.ToString().Trim();
                        model.工时      = BaseFunction.ReturnDecimal(txtWorkTime.Text.Trim(), 1);
                        model.未完工工时   = BaseFunction.ReturnDecimal(txtWorkTimeUn.Text.Trim(), 1);
                        model.冻干完工工时  = BaseFunction.ReturnDecimal(txtDGTime.Text.Trim(), 1);
                        model.冻干未完工工时 = BaseFunction.ReturnDecimal(txtDGUTime.Text.Trim(), 1);

                        string scInvCode = gridView1.GetRowCellValue(i, gridColcInvCode).ToString().Trim();
                        sSQL   = "select * from Inventory where cInvCode = '" + scInvCode + "'";
                        dtTemp = DbHelperSQL.ExecuteDataset(tran, CommandType.Text, sSQL).Tables[0];
                        if (dtTemp == null || dtTemp.Rows.Count != 1)
                        {
                            sErr = sErr + "行" + (i + 1).ToString() + " 存货编码不存在";
                        }

                        model.存货编码 = scInvCode;
                        model.数量   = BaseFunction.ReturnDecimal(gridView1.GetRowCellValue(i, gridCol数量), 6);
                        if (model.数量 == 0)
                        {
                            continue;
                        }

                        b子件已登记 = true;

                        model.制单人  = sUserID;
                        model.制单日期 = DateTime.Now;

                        sSQL = DAL.Add(model);
                        iCou = iCou + DbHelperSQL.ExecuteNonQuery(tran, CommandType.Text, sSQL);
                    }

                    if (!b子件已登记)
                    {
                        sErr = sErr + "数量必须不为0\n";
                    }

                    if (sErr != "")
                    {
                        throw new Exception(sErr);
                    }

                    tran.Commit();

                    GetGrid();

                    if (iCou > 0)
                    {
                        MessageBox.Show("保存成功");
                    }
                }
                catch (Exception error)
                {
                    tran.Rollback();
                    throw new Exception(error.Message);
                }
            }
            catch (Exception ee)
            {
                FrmMsgBox f = new FrmMsgBox();
                f.Text = "保存失败";
                f.richTextBox1.Text = ee.Message;
                f.ShowDialog();
            }
        }
Ejemplo n.º 2
0
        private void btnDel_Click(object sender, EventArgs e)
        {
            try
            {
                try
                {
                    gridView1.FocusedRowHandle -= 1;
                    gridView1.FocusedRowHandle += 1;
                }
                catch { }

                DialogResult d = MessageBox.Show("确定删除当前单据?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Asterisk);
                if (d != DialogResult.Yes)
                {
                    return;
                }

                int           iCou = 0;
                SqlConnection conn = new SqlConnection(DbHelperSQL.connectionString);
                conn.Open();
                //启用事务
                SqlTransaction tran = conn.BeginTransaction();
                try
                {
                    string s部门编码 = lookUpEditcDepCode.Text.Trim();
                    if (s部门编码 == "")
                    {
                        lookUpEditcDepCode.Focus();
                        throw new Exception("部门编码不能为空");
                    }

                    string s产品编码 = lookUpEditcInvName.EditValue.ToString().Trim();
                    if (s产品编码 == "")
                    {
                        lookUpEditcDepCode.Focus();
                        throw new Exception("产品编码不能为空");
                    }

                    string s产品名称 = lookUpEditcInvName.Text.Trim();
                    if (s产品名称 == "")
                    {
                        lookUpEditcDepCode.Focus();
                        throw new Exception("产品名称不能为空");
                    }

                    string s会计期间 = lookUpEdit会计期间.Text.Trim();
                    if (s会计期间 == "")
                    {
                        lookUpEditcDepCode.Focus();
                        throw new Exception("会计期间不能为空");
                    }


                    string sSQL = @"
select * 
from    _ProMaterial
where 1=1
ORDER BY iID
";
                    sSQL = sSQL.Replace("1=1", "1=1 and 会计期间 = '" + lookUpEdit会计期间.Text.Trim() + "' and 部门 = '" + s部门编码 + "' and 产品编码 = '" + s产品编码 + "' ");
                    DataTable dt = DbHelperSQL.ExecuteDataset(tran, CommandType.Text, sSQL).Tables[0];
                    if (dt == null || dt.Rows.Count == 0)
                    {
                        throw new Exception("获得数据失败");
                    }

                    if (dt.Rows[0]["审核人"].ToString().Trim() != "")
                    {
                        throw new Exception("已经审核不能删除");
                    }

                    Model._ProMaterial model = new UFIDA.U8.UAP.CustomApp.ControlForm.Model._ProMaterial();
                    model.部门   = lookUpEditcDepCode.EditValue.ToString().Trim();
                    model.产品编码 = lookUpEditcInvName.EditValue.ToString().Trim();
                    model.会计期间 = lookUpEdit会计期间.EditValue.ToString().Trim();

                    UFIDA.U8.UAP.CustomApp.ControlForm.DAL._ProMaterial DAL = new UFIDA.U8.UAP.CustomApp.ControlForm.DAL._ProMaterial();
                    sSQL = DAL.Delete(model);
                    iCou = iCou + DbHelperSQL.ExecuteNonQuery(tran, CommandType.Text, sSQL);
                    tran.Commit();

                    MessageBox.Show("删除成功");

                    GetGrid();
                }
                catch (Exception error)
                {
                    tran.Rollback();
                    throw new Exception(error.Message);
                }
            }
            catch (Exception ee)
            {
                FrmMsgBox f = new FrmMsgBox();
                f.Text = "删除失败";
                f.richTextBox1.Text = ee.Message;
                f.ShowDialog();
            }
        }