/// <summary> /// 通过人员编号,和发票类别查询和是否财务组该人员的发票信息 /// </summary> /// <param name="personID">人员编号</param> /// <param name="invoiceType">发票类别</param> /// <param name="isGroup">是否财务组</param> /// <returns>成功:发票信息数组 失败:null 没有查找到数据返回元素数为0的ArrayList</returns> public ArrayList QueryInvoices(string personID, InvoiceTypeEnumService invoiceType, bool isGroup) { string sql = string.Empty; //查询SQL语句 if (this.Sql.GetSql("Fee.InvoiceService.SelectInvoices.ByIdTypeIsGroup", ref sql) == -1) { this.Err = "没有找到索引为:Fee.InvoiceService.SelectInvoices.ByIdTypeIsGroup的SQL语句"; return(null); } return(this.QueryInvoicesBySql(sql, personID, invoiceType.ID.ToString(), NConvert.ToInt32(isGroup).ToString().ToString())); }
/// <summary> /// 通过人员编号,和发票类别查询该人员的发票信息 /// </summary> /// <param name="personID">人员编号</param> /// <param name="invoiceType">发票类别</param> /// <returns>成功:发票信息数组 失败:null 没有查找到数据返回元素数为0的ArrayList</returns> public ArrayList QueryInvoices(string personID, InvoiceTypeEnumService invoiceType) { string sql = string.Empty; //查询SQL语句 if (this.Sql.GetSql("Fee.InvoiceService.SelectInvoices.1", ref sql) == -1) { this.Err = "没有找到索引为:Fee.InvoiceService.SelectInvoices.1的SQL语句"; return(null); } return(this.QueryInvoicesBySql(sql, personID, invoiceType.ID.ToString())); }
/// <summary> /// 获得领用过发票类型为InvoiceType的所有人员信息 / /// </summary> /// <param name="invoiceType">发票类别</param> /// <returns>成功:人员信息数组 失败:null 没有查找到数据返回元素数为0的ArrayList</returns> public ArrayList QueryPersonsByInvoiceType(InvoiceTypeEnumService invoiceType) { string sql = string.Empty; //查询SQL语句 if (this.Sql.GetSql("Fee.InvoiceService.GetPersonByInvoiceType", ref sql) == -1) { this.Err = "没有找到索引为:Fee.InvoiceService.GetPersonByInvoiceType的SQL语句"; return(null); } return(this.QueryPersonsBySql(sql, invoiceType.ID.ToString())); }
/// <summary> /// 检测所给的起始号和发票数量是否有效: /// </summary> /// <param name="startNO">起始号</param> /// <param name="endNO">发票数量</param> /// <param name="invoiceType">发票类型</param> /// <returns>有效true, 无效 false</returns> public bool InvoicesIsValid(long startNO, long endNO, InvoiceTypeEnumService invoiceType) { if (endNO < startNO) { this.Err = "输入的终止号大于起始号!"; return(false); } string sql = string.Empty; ArrayList invoices = new ArrayList(); if (this.Sql.GetSql("Fee.InvoiceService.SelectInvoices.2", ref sql) == -1) { this.Err = "没有找到索引为:Fee.InvoiceService.SelectInvoices.2的SQL语句"; return(false); } invoices = QueryInvoicesBySql(sql, invoiceType.ID.ToString()); //如果没有符合条件的发票,说明可以生成 if (invoices == null) { return(true); } for (int i = 0; i < invoices.Count; i++) { Invoice invoice = invoices[i] as Invoice; if (Convert.ToInt64(invoice.BeginNO) <= startNO && startNO <= Convert.ToInt64(invoice.EndNO)) { return(false); } if (Convert.ToInt64(invoice.BeginNO) <= endNO && endNO <= Convert.ToInt64(invoice.EndNO)) { return(false); } } return(true); }
/// <summary> /// 根据发票类型得到当前可用的起始号(默认) /// </summary> /// <param name="invoiceType">发票类型</param> /// <returns>可用起始号</returns> public string GetDefaultStartCode(InvoiceTypeEnumService invoiceType) { string sql = string.Empty; //查询SQL语句 string startNO = string.Empty; //起始号 if (this.Sql.GetSql("Fee.InvoiceService.GetDefaultStartCode.1", ref sql) == -1) { this.Err = "没有找到索引为:Fee.InvoiceService.GetDefaultStartCode.1的SQL语句"; return(null); } try { sql = string.Format(sql, invoiceType.ID); } catch (Exception e) { this.Err = e.Message; this.WriteErr(); return(null); } startNO = this.ExecSqlReturnOne(sql); //如果起始号为空,那么默认为"000000000001" if (startNO == null || startNO == string.Empty) { startNO = "000000000001"; } else //否则,为当前号+1 { startNO = (Convert.ToInt64(startNO) + 1).ToString().PadLeft(12, '0'); } return(startNO); }
public ArrayList SelectInvoicesByGroup(InvoiceTypeEnumService invoiceType, bool isGroup) { string strSql = ""; if (this.Sql.GetSql("Fee.InvoiceService.SelectInvoices.ByTypeIsGroup", ref strSql) == -1) { return(null); } try { //0领取时间1发票种类2领取人3发票开始号4发票终止号5发票已用号 //6 used_state7公用标志 string typeid = invoiceType.ID.ToString(); strSql = string.Format(strSql, typeid, isGroup == true ? 1 : 0); } catch (Exception ex) { this.ErrCode = ex.Message; this.Err = ex.Message; return(null); } return(QueryInvoicesBySql(strSql)); }