public bool Update(MODELINVOICEFETCH MODELINVOICEFETCH)
        {
            StringBuilder str = new StringBuilder();

            str.Append("UPDATE INVOICEFETCH SET INVOICEFETCHERID=@INVOICEFETCHERID,INVOICEFETCHERNAME=@INVOICEFETCHERNAME,INVOICEFETCHDEPID=@INVOICEFETCHDEPID," +
                       "INVOICEFETCHDEPNAME=@INVOICEFETCHDEPNAME,INVOICEFETCHBATCHID=@INVOICEFETCHBATCHID,INVOICEFETCHSTARTNO=@INVOICEFETCHSTARTNO," +
                       "INVOICEFETCHENDNO=@INVOICEFETCHENDNO,ISENABLE=@ISENABLE,MEMO=@MEMO");
            str.Append(" WHERE INVOICEFETCHID=@INVOICEFETCHID");
            SqlParameter[] para =
            {
                new SqlParameter("@INVOICEFETCHERID",    SqlDbType.VarChar,  30),
                new SqlParameter("@INVOICEFETCHERNAME",  SqlDbType.VarChar,  50),
                new SqlParameter("@INVOICEFETCHDEPID",   SqlDbType.VarChar,  50),
                new SqlParameter("@INVOICEFETCHDEPNAME", SqlDbType.VarChar,  50),
                new SqlParameter("@INVOICEFETCHBATCHID", SqlDbType.Int),
                new SqlParameter("@INVOICEFETCHSTARTNO", SqlDbType.VarChar,  30),
                new SqlParameter("@INVOICEFETCHENDNO",   SqlDbType.VarChar,  30),
                new SqlParameter("@ISENABLE",            SqlDbType.VarChar,  10),
                new SqlParameter("@MEMO",                SqlDbType.VarChar, 200),
                new SqlParameter("@INVOICEFETCHID",      SqlDbType.VarChar, 50)
            };
            para[0].Value = MODELINVOICEFETCH.INVOICEFETCHERID;
            para[1].Value = MODELINVOICEFETCH.INVOICEFETCHERNAME;
            para[2].Value = MODELINVOICEFETCH.INVOICEFETCHDEPID;
            para[3].Value = MODELINVOICEFETCH.INVOICEFETCHDEPNAME;
            para[4].Value = MODELINVOICEFETCH.INVOICEFETCHBATCHID;
            para[5].Value = MODELINVOICEFETCH.INVOICEFETCHSTARTNO;
            para[6].Value = MODELINVOICEFETCH.INVOICEFETCHENDNO;
            para[7].Value = MODELINVOICEFETCH.ISENABLE;
            para[8].Value = MODELINVOICEFETCH.MEMO;
            para[9].Value = MODELINVOICEFETCH.INVOICEFETCHID;

            if (DBUtility.DbHelperSQL.ExecuteSql(str.ToString(), para) > 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
        public bool Insert(MODELINVOICEFETCH MODELINVOICEFETCH)
        {
            StringBuilder str = new StringBuilder();

            str.Append("INSERT INTO INVOICEFETCH(INVOICEFETCHERID,INVOICEFETCHERNAME,INVOICEFETCHDEPID,INVOICEFETCHDEPNAME,INVOICEFETCHDATETIME,INVOICEFETCHBATCHID,INVOICEFETCHSTARTNO,INVOICEFETCHENDNO,ISENABLE,MEMO) ");
            str.Append("VALUES(@INVOICEFETCHERID,@INVOICEFETCHERNAME,@INVOICEFETCHDEPID,@INVOICEFETCHDEPNAME,@INVOICEFETCHDATETIME,@INVOICEFETCHBATCHID,@INVOICEFETCHSTARTNO,@INVOICEFETCHENDNO,@ISENABLE,@MEMO)");
            SqlParameter[] para =
            {
                new SqlParameter("@INVOICEFETCHERID",     SqlDbType.VarChar,   50),
                new SqlParameter("@INVOICEFETCHERNAME",   SqlDbType.VarChar,   50),
                new SqlParameter("@INVOICEFETCHDEPID",    SqlDbType.VarChar,   50),
                new SqlParameter("@INVOICEFETCHDEPNAME",  SqlDbType.VarChar,   50),
                new SqlParameter("@INVOICEFETCHDATETIME", SqlDbType.DateTime),
                new SqlParameter("@INVOICEFETCHBATCHID",  SqlDbType.Int),
                new SqlParameter("@INVOICEFETCHSTARTNO",  SqlDbType.VarChar,   10),
                new SqlParameter("@INVOICEFETCHENDNO",    SqlDbType.VarChar,   30),
                new SqlParameter("@ISENABLE",             SqlDbType.VarChar,   10),
                new SqlParameter("@MEMO",                 SqlDbType.VarChar, 200)
            };
            para[0].Value = MODELINVOICEFETCH.INVOICEFETCHERID;
            para[1].Value = MODELINVOICEFETCH.INVOICEFETCHERNAME;
            para[2].Value = MODELINVOICEFETCH.INVOICEFETCHDEPID;
            para[3].Value = MODELINVOICEFETCH.INVOICEFETCHDEPNAME;
            para[4].Value = MODELINVOICEFETCH.INVOICEFETCHDATETIME;
            para[5].Value = MODELINVOICEFETCH.INVOICEFETCHBATCHID;
            para[6].Value = MODELINVOICEFETCH.INVOICEFETCHSTARTNO;
            para[7].Value = MODELINVOICEFETCH.INVOICEFETCHENDNO;
            para[8].Value = MODELINVOICEFETCH.ISENABLE;
            para[9].Value = MODELINVOICEFETCH.MEMO;

            if (DBUtility.DbHelperSQL.ExecuteSql(str.ToString(), para) > 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Example #3
0
        private void toolSave_Click(object sender, EventArgs e)
        {
            try
            {
                if (!Information.IsNumeric(txtStartNO.Text))
                {
                    mes.Show("请输入发票起始号,发票起始号只能为数字!");
                    txtStartNO.Focus();
                    return;
                }
                if (!Information.IsNumeric(txtEndNO.Text))
                {
                    mes.Show("请输入发票终止号,发票终止号只能为数字!");
                    txtEndNO.Focus();
                    return;
                }
                if (cmbBatch.SelectedValue == DBNull.Value || cmbBatch.SelectedValue == null)
                {
                    mes.Show("请选择发票批次!");
                    cmbBatch.Focus();
                    return;
                }
                if (Convert.ToInt64(txtStartNO.Text) > Convert.ToInt64(txtEndNO.Text))
                {
                    mes.Show("发票的起始号码不能大于发票终止号码!");
                    txtStartNO.Focus();
                    return;
                }
                if (cmbDEP.SelectedValue == DBNull.Value || cmbDEP.SelectedValue == null)
                {
                    mes.Show("请选择领用部门!");
                    cmbDEP.Focus();
                    return;
                }

                MODELINVOICEFETCH MODELINVOICEFETCH = new MODELINVOICEFETCH();
                MODELINVOICEFETCH.INVOICEFETCHBATCHID  = Convert.ToInt32(cmbBatch.SelectedValue);
                MODELINVOICEFETCH.INVOICEFETCHERID     = strLogID;
                MODELINVOICEFETCH.INVOICEFETCHERNAME   = strLogName;
                MODELINVOICEFETCH.INVOICEFETCHDEPID    = cmbDEP.SelectedValue.ToString();
                MODELINVOICEFETCH.INVOICEFETCHDEPNAME  = cmbDEP.Text;
                MODELINVOICEFETCH.INVOICEFETCHDATETIME = mes.GetDatetimeNow();
                MODELINVOICEFETCH.INVOICEFETCHSTARTNO  = txtStartNO.Text;
                MODELINVOICEFETCH.INVOICEFETCHENDNO    = txtEndNO.Text;

                if (chkIsEnable.Checked)
                {
                    MODELINVOICEFETCH.ISENABLE = "1";
                }
                else
                {
                    MODELINVOICEFETCH.ISENABLE = "0";
                }

                MODELINVOICEFETCH.MEMO = txtMemo.Text;

                //查询发票批次中的发票号是否已存在
                DataTable dt = new DataTable();
                if (isADD)
                {
                    dt = BLLINVOICEFETCH.Query(" AND INVOICEFETCHBATCHID='" + cmbBatch.SelectedValue.ToString() + "'");
                }
                else
                {
                    dt = BLLINVOICEFETCH.Query(" AND INVOICEFETCHBATCHID='" + cmbBatch.SelectedValue.ToString() + "' AND INVOICEFETCHID<>" + txtID.Text);
                }

                #region 验证是否在库存的发票中
                long      llStartNO       = Convert.ToInt64(MODELINVOICEFETCH.INVOICEFETCHSTARTNO);
                long      llEndNO         = Convert.ToInt64(MODELINVOICEFETCH.INVOICEFETCHENDNO);
                DataTable dtInvoiceStocks = BLLINVOICESTOCKS.Query(" AND INVOICEBATCHID='" + cmbBatch.SelectedValue.ToString() + "'");

                for (long i = llStartNO; i <= llEndNO; i++)
                {
                    bool isOK = false;
                    for (int j = 0; j < dtInvoiceStocks.Rows.Count; j++)
                    {
                        long llStocksStartNO = 0;
                        long llStocksEndNO   = 0;
                        if (Information.IsNumeric(dtInvoiceStocks.Rows[j]["INVOICESTARTNO"]))
                        {
                            llStocksStartNO = Convert.ToInt64(dtInvoiceStocks.Rows[j]["INVOICESTARTNO"]);
                        }
                        if (Information.IsNumeric(dtInvoiceStocks.Rows[j]["INVOICESTARTNO"]))
                        {
                            llStocksEndNO = Convert.ToInt64(dtInvoiceStocks.Rows[j]["INVOICEENDNO"]);
                        }

                        if (i < llStocksStartNO || i > llStocksEndNO)
                        {
                            continue;
                        }
                        else
                        {
                            isOK = true;
                            break;
                        }
                    }
                    if (!isOK)
                    {
                        mes.Show("批次为'" + cmbBatch.Text + "'号码为'" + i.ToString().PadLeft(8, '0') + "'的发票号不在发票库存中!");
                        return;
                    }
                }
                #endregion
                #region 验证发票领取记录是否重复
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    long   intStartNO = 0, intEndNO = 0;
                    object obj = dt.Rows[i]["INVOICEFETCHSTARTNO"];
                    if (Information.IsNumeric(obj))
                    {
                        intStartNO = Convert.ToInt64(obj);
                    }
                    obj = dt.Rows[i]["INVOICEFETCHENDNO"];
                    if (Information.IsNumeric(obj))
                    {
                        intEndNO = Convert.ToInt64(obj);
                    }

                    if (Convert.ToInt64(MODELINVOICEFETCH.INVOICEFETCHSTARTNO) >= intStartNO && Convert.ToInt64(MODELINVOICEFETCH.INVOICEFETCHSTARTNO) <= intEndNO)
                    {
                        mes.Show("批次为'" + cmbBatch.Text + "'的发票起始号码在领取记录中已经存在!");
                        txtStartNO.Focus();
                        return;
                    }

                    if (Convert.ToInt64(MODELINVOICEFETCH.INVOICEFETCHENDNO) >= intStartNO && Convert.ToInt64(MODELINVOICEFETCH.INVOICEFETCHENDNO) <= intEndNO)
                    {
                        mes.Show("批次为'" + cmbBatch.Text + "'的发票终止号码在领取记录中已经存在!");
                        txtStartNO.Focus();
                        return;
                    }
                }
                #endregion
                if (isADD)
                {
                    //新增发票记录
                    if (BLLINVOICEFETCH.Insert(MODELINVOICEFETCH))
                    {
                        toolSearch_Click(null, null);
                        if (dgList.Rows.Count > 0)
                        {
                            dgList.ClearSelection();
                            dgList.CurrentCell = dgList.Rows[dgList.Rows.Count - 1].Cells["INVOICEBATCHNAME"];
                            dgList_RowEnter(null, new DataGridViewCellEventArgs(2, dgList.Rows.Count - 1));
                        }
                    }
                    else
                    {
                        mes.Show("新增发票记录失败,请重新操作!");
                        return;
                    }
                }
                else
                {
                    MODELINVOICEFETCH.INVOICEFETCHID = txtID.Text;
                    if (BLLINVOICEFETCH.Update(MODELINVOICEFETCH))
                    {
                        if (dgList.CurrentRow != null)
                        {
                            dgList.CurrentRow.Cells["INVOICEFETCHBATCHID"].Value = MODELINVOICEFETCH.INVOICEFETCHBATCHID;
                            dgList.CurrentRow.Cells["INVOICEBATCHNAME"].Value    = cmbBatch.Text;
                            dgList.CurrentRow.Cells["INVOICEFETCHDEPID"].Value   = cmbDEP.SelectedValue;
                            dgList.CurrentRow.Cells["INVOICEFETCHDEPNAME"].Value = cmbDEP.Text;
                            dgList.CurrentRow.Cells["INVOICEFETCHSTARTNO"].Value = MODELINVOICEFETCH.INVOICEFETCHSTARTNO;
                            dgList.CurrentRow.Cells["INVOICEFETCHENDNO"].Value   = MODELINVOICEFETCH.INVOICEFETCHENDNO;
                            dgList.CurrentRow.Cells["MEMO"].Value = MODELINVOICEFETCH.MEMO;
                            if (MODELINVOICEFETCH.ISENABLE == "1")
                            {
                                dgList.CurrentRow.Cells["ISENABLES"].Value = "启用";
                                dgList.CurrentRow.Cells["ISENABLE"].Value  = "1";
                            }
                            else
                            {
                                dgList.CurrentRow.Cells["ISENABLES"].Value = "未启用";
                                dgList.CurrentRow.Cells["ISENABLE"].Value  = "0";
                            }
                        }
                    }
                    else
                    {
                        mes.Show("修改发票记录失败,请重新查询发票列表后再修改!");
                        return;
                    }
                }

                dgList.Enabled     = true;
                toolAdd.Text       = "新增";
                toolSearch.Enabled = true;
                toolDelete.Enabled = true;
                isADD = false;
            }
            catch (Exception ex)
            {
                log.Write(ex.ToString(), MsgType.Error);
                mes.Show(ex.Message);
            }
        }