/// <summary>
        /// 发票号码变更,并将发票单号置为正常状态
        /// </summary>
        /// <param name="MODELCHARGEINVOICEPRINT"></param>
        /// <returns></returns>
        public bool ChangeInvoiceNO(MODELCHARGEINVOICEPRINT MODELCHARGEINVOICEPRINT)
        {
            StringBuilder str = new StringBuilder();

            str.Append("UPDATE CHARGEINVOICEPRINT SET INVOICEBATCHID=@INVOICEBATCHID,INVOICEBATCHNAME=@INVOICEBATCHNAME,INVOICENO=@INVOICENO,");
            str.Append("INVOICECANCEL='0',INVOICECANCELWORKERID=null,INVOICECANCELWORKERNAME=null,INVOICECANCELDATETIME=null,INVOICECANCELMEMO=null ");
            str.Append("WHERE CHARGEINVOICEPRINTID=@CHARGEINVOICEPRINTID");
            SqlParameter[] para =
            {
                new SqlParameter("@INVOICEBATCHID",       SqlDbType.VarChar, 30),
                new SqlParameter("@INVOICEBATCHNAME",     SqlDbType.VarChar, 50),
                new SqlParameter("@INVOICENO",            SqlDbType.VarChar, 30),
                new SqlParameter("@CHARGEINVOICEPRINTID", SqlDbType.VarChar, 50)
            };
            para[0].Value = MODELCHARGEINVOICEPRINT.INVOICEBATCHID;
            para[1].Value = MODELCHARGEINVOICEPRINT.INVOICEBATCHNAME;
            para[2].Value = MODELCHARGEINVOICEPRINT.INVOICENO;
            para[3].Value = MODELCHARGEINVOICEPRINT.CHARGEINVOICEPRINTID;

            if (DBUtility.DbHelperSQL.ExecuteSql(str.ToString(), para) > 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
        /// <summary>
        /// 根据收费单据ID更新发票表作废状态
        /// </summary>
        /// <param name="MODELCHARGEINVOICEPRINT"></param>
        /// <returns></returns>
        public bool UpdateCancelStateByID(MODELCHARGEINVOICEPRINT MODELCHARGEINVOICEPRINT)
        {
            StringBuilder str = new StringBuilder();

            str.Append("UPDATE CHARGEINVOICEPRINT SET INVOICECANCEL=@INVOICECANCEL,INVOICECANCELWORKERID=@INVOICECANCELWORKERID," +
                       "INVOICECANCELWORKERNAME=@INVOICECANCELWORKERNAME,INVOICECANCELDATETIME=@INVOICECANCELDATETIME,INVOICECANCELMEMO=@INVOICECANCELMEMO ");
            str.Append("WHERE CHARGEINVOICEPRINTID=@CHARGEINVOICEPRINTID");
            SqlParameter[] para =
            {
                new SqlParameter("@INVOICECANCEL",           SqlDbType.VarChar,    50),
                new SqlParameter("@INVOICECANCELWORKERID",   SqlDbType.VarChar,    50),
                new SqlParameter("@INVOICECANCELWORKERNAME", SqlDbType.VarChar,    50),
                new SqlParameter("@INVOICECANCELDATETIME",   SqlDbType.DateTime),
                new SqlParameter("@INVOICECANCELMEMO",       SqlDbType.VarChar,   200),
                new SqlParameter("@CHARGEINVOICEPRINTID",    SqlDbType.VarChar, 50)
            };
            para[0].Value = MODELCHARGEINVOICEPRINT.INVOICECANCEL;
            para[1].Value = MODELCHARGEINVOICEPRINT.INVOICECANCELWORKERID;
            para[2].Value = MODELCHARGEINVOICEPRINT.INVOICECANCELWORKERNAME;

            if (MODELCHARGEINVOICEPRINT.INVOICECANCEL == "0")
            {
                para[3].Value = null;
            }
            else
            {
                para[3].Value = MODELCHARGEINVOICEPRINT.INVOICECANCELDATETIME;
            }

            para[4].Value = MODELCHARGEINVOICEPRINT.INVOICECANCELMEMO;
            para[5].Value = MODELCHARGEINVOICEPRINT.CHARGEINVOICEPRINTID;

            if (DBUtility.DbHelperSQL.ExecuteSql(str.ToString(), para) > 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Exemple #3
0
        /// <summary>
        /// 插入发票使用记录
        /// </summary>
        /// <param name="MODELCHARGEINVOICEPRINT"></param>
        /// <returns></returns>
        public bool Insert(MODELCHARGEINVOICEPRINT MODELCHARGEINVOICEPRINT)
        {
            StringBuilder str = new StringBuilder();

            str.Append("INSERT INTO CHARGEINVOICEPRINT(CHARGEINVOICEPRINTID,CHARGEID,INVOICEBATCHID,INVOICEBATCHNAME,INVOICENO,INVOICECANCEL,INVOICEPRINTDATETIME,");
            str.Append("readMeterRecordYear,readMeterRecordMonth,waterUserName,waterMeterNo,waterUserAddress,waterMeterTypeId,waterMeterTypeName,");
            str.Append("waterMeterLastNumber,waterMeterEndNumber,totalNumber,avePrice,waterTotalCharge,extraCharge1,extraCharge2,totalCharge,INVOICEPRINTWORKERID,INVOICEPRINTWORKERNAME)");
            str.Append("VALUES(@CHARGEINVOICEPRINTID,@CHARGEID,@INVOICEBATCHID,@INVOICEBATCHNAME,@INVOICENO,@INVOICECANCEL,@INVOICEPRINTDATETIME,");
            str.Append("@readMeterRecordYear,@readMeterRecordMonth,@waterUserName,@waterMeterNo,@waterUserAddress,@waterMeterTypeId,@waterMeterTypeName,");
            str.Append("@waterMeterLastNumber,@waterMeterEndNumber,@totalNumber,@avePrice,@waterTotalCharge,@extraCharge1,@extraCharge2,@totalCharge,@INVOICEPRINTWORKERID,@INVOICEPRINTWORKERNAME)");
            SqlParameter[] para =
            {
                new SqlParameter("@CHARGEINVOICEPRINTID",   SqlDbType.VarChar,   30),
                new SqlParameter("@CHARGEID",               SqlDbType.VarChar,   30),
                new SqlParameter("@INVOICEBATCHID",         SqlDbType.VarChar,   30),
                new SqlParameter("@INVOICEBATCHNAME",       SqlDbType.VarChar,   50),
                new SqlParameter("@INVOICENO",              SqlDbType.VarChar,   30),
                new SqlParameter("@INVOICECANCEL",          SqlDbType.VarChar,   10),
                new SqlParameter("@INVOICEPRINTDATETIME",   SqlDbType.DateTime),

                new SqlParameter("@readMeterRecordYear",    SqlDbType.Int),
                new SqlParameter("@readMeterRecordMonth",   SqlDbType.Int),
                new SqlParameter("@waterUserName",          SqlDbType.VarChar,   70),
                new SqlParameter("@waterMeterNo",           SqlDbType.VarChar,   30),
                new SqlParameter("@waterUserAddress",       SqlDbType.VarChar,   50),
                new SqlParameter("@waterMeterTypeId",       SqlDbType.VarChar,   30),
                new SqlParameter("@waterMeterTypeName",     SqlDbType.VarChar,   50),
                new SqlParameter("@waterMeterLastNumber",   SqlDbType.Int),
                new SqlParameter("@waterMeterEndNumber",    SqlDbType.Int),
                new SqlParameter("@totalNumber",            SqlDbType.Int),
                new SqlParameter("@avePrice",               SqlDbType.Float),
                new SqlParameter("@waterTotalCharge",       SqlDbType.Float),
                new SqlParameter("@extraCharge1",           SqlDbType.Float),
                new SqlParameter("@extraCharge2",           SqlDbType.Float),
                new SqlParameter("@totalCharge",            SqlDbType.Float),
                new SqlParameter("@INVOICEPRINTWORKERID",   SqlDbType.VarChar,   50),
                new SqlParameter("@INVOICEPRINTWORKERNAME", SqlDbType.VarChar, 50)
            };
            para[0].Value  = MODELCHARGEINVOICEPRINT.CHARGEINVOICEPRINTID;
            para[1].Value  = MODELCHARGEINVOICEPRINT.CHARGEID;
            para[2].Value  = MODELCHARGEINVOICEPRINT.INVOICEBATCHID;
            para[3].Value  = MODELCHARGEINVOICEPRINT.INVOICEBATCHNAME;
            para[4].Value  = MODELCHARGEINVOICEPRINT.INVOICENO;
            para[5].Value  = MODELCHARGEINVOICEPRINT.INVOICECANCEL;
            para[6].Value  = MODELCHARGEINVOICEPRINT.INVOICEPRINTDATETIME;
            para[7].Value  = MODELCHARGEINVOICEPRINT.readMeterRecordYear;
            para[8].Value  = MODELCHARGEINVOICEPRINT.readMeterRecordMonth;
            para[9].Value  = MODELCHARGEINVOICEPRINT.waterUserName;
            para[10].Value = MODELCHARGEINVOICEPRINT.waterMeterNo;
            para[11].Value = MODELCHARGEINVOICEPRINT.waterUserAddress;
            para[12].Value = MODELCHARGEINVOICEPRINT.waterMeterTypeId;
            para[13].Value = MODELCHARGEINVOICEPRINT.waterMeterTypeName;
            para[14].Value = MODELCHARGEINVOICEPRINT.waterMeterLastNumber;
            para[15].Value = MODELCHARGEINVOICEPRINT.waterMeterEndNumber;
            para[16].Value = MODELCHARGEINVOICEPRINT.totalNumber;
            para[17].Value = MODELCHARGEINVOICEPRINT.avePrice;
            para[18].Value = MODELCHARGEINVOICEPRINT.waterTotalCharge;
            para[19].Value = MODELCHARGEINVOICEPRINT.extraCharge1;
            para[20].Value = MODELCHARGEINVOICEPRINT.extraCharge2;
            para[21].Value = MODELCHARGEINVOICEPRINT.totalCharge;
            para[22].Value = MODELCHARGEINVOICEPRINT.INVOICEPRINTWORKERID;
            para[23].Value = MODELCHARGEINVOICEPRINT.INVOICEPRINTWORKERNAME;

            if (DBUtility.DbHelperSQL.ExecuteSql(str.ToString(), para) > 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
        private void btInvoiceCancel_Click(object sender, EventArgs e)
        {
            if (dgList.CurrentRow == null)
            {
                mes.Show("请选择要作废的发票!");
                return;
            }
            if (cmbInvoiceCancelReason.SelectedIndex < 1)
            {
                cmbInvoiceCancelReason.Focus();
                mes.Show("请选择发票作废原因!");
                return;
            }
            object objID = dgList.CurrentRow.Cells["CHARGEINVOICEPRINTID"].FormattedValue;

            if (objID == null || objID == DBNull.Value)
            {
                mes.Show("获取发票单据ID失败,请重新查询后再执行此操作!");
                return;
            }
            object objState = dgList.CurrentRow.Cells["INVOICECANCEL"].FormattedValue;

            if (objState != null && objState != DBNull.Value)
            {
                if (objState.ToString() != "正常")
                {
                    mes.Show("该发票已经作废,无需再次作废!");
                    return;
                }
            }
            string strInvoiceNO = "";
            object objInvoiceNO = dgList.CurrentRow.Cells["INVOICENO"].FormattedValue;

            if (objInvoiceNO != null && objInvoiceNO != DBNull.Value)
            {
                strInvoiceNO = objInvoiceNO.ToString();
            }
            if (mes.ShowQ("确定要作废发票号为'" + strInvoiceNO + "'的发票信息吗?") != DialogResult.OK)
            {
                return;
            }
            try
            {
                MODELCHARGEINVOICEPRINT MODELCHARGEINVOICEPRINT = new MODELCHARGEINVOICEPRINT();
                MODELCHARGEINVOICEPRINT.CHARGEINVOICEPRINTID = objID.ToString();

                MODELCHARGEINVOICEPRINT.INVOICECANCEL           = (cmbInvoiceCancelReason.SelectedIndex + 1).ToString();//冲减作废的状态为1,冲减功能将原因自动识别为1
                MODELCHARGEINVOICEPRINT.INVOICECANCELWORKERID   = strLoginID;
                MODELCHARGEINVOICEPRINT.INVOICECANCELWORKERNAME = strLoginName;
                MODELCHARGEINVOICEPRINT.INVOICECANCELDATETIME   = mes.GetDatetimeNow();
                MODELCHARGEINVOICEPRINT.INVOICECANCELMEMO       = cmbInvoiceCancelReason.Text;
                if (BLLCHARGEINVOICEPRINT.UpdateCancelStateByID(MODELCHARGEINVOICEPRINT))
                {
                    dgList.CurrentRow.Cells["INVOICECANCEL"].Value = cmbInvoiceCancelReason.Text;
                    mes.Show("作废成功!");
                }
                else
                {
                    mes.Show("作废失败,请重试!");
                }
            }
            catch (Exception ex)
            {
                mes.Show(ex.Message);
                log.Write(ex.ToString(), MsgType.Error);
                return;
            }
        }