using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using BLL.CardBill; using BLL.Sys; using CPCBILLSYS.Common; using Ext.Net; using Model; namespace CPCBILLSYS { public partial class BillApplyFor : System.Web.UI.Page { LogClass log = new LogClass(); /// /// 基础 /// DictionaryBLL dicbll = new DictionaryBLL(CommonHelper._dbType, CommonHelper.DbConStr); /// /// cpc /// BILLBLL bbll = new BILLBLL(CommonHelper._dbType, CommonHelper.DbConStr); protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { if (CommonHelper._userType == "3") { if (string.IsNullOrEmpty(Request.QueryString["userId"]) || string.IsNullOrEmpty(Request.QueryString["userName"])) { Response.Write(""); return; } try { hdUserId.Value = Request.QueryString["userId"].ToString(); hdMan.Value = HttpUtility.UrlDecode(Request.QueryString["userName"].ToString()); } catch { Response.Write(""); return; } //hdUserId.Value = "1"; //hdMan.Value = "武俊涛"; } else { if (Session["UserID"] == null || Session["SysID"] == null || Session["MAN"] == null) { Response.Write(""); return; } hdUserId.Value = Session["UserID"].ToString(); hdMan.Value = Session["MAN"].ToString(); } s_txtStartDt.Value = DateTime.Now; s_txtEndDt.Value = DateTime.Now; StBillApplyFor.AutoLoadParams.Add(new Ext.Net.Parameter("Start", "0")); StBillApplyFor.AutoLoadParams.Add(new Ext.Net.Parameter("Limit", Paging.PageSize.ToString())); BindBillType(); BindBillKind(); BindBillName(); BindSubCompany(); BindSPFlag(); SetColumnShow(); } } #region 数据绑定 public void SetColumnShow() { if (CommonHelper._userType == "1") { btnCreateBill.Hide(); btnEidt.Show(); btnAddDj.Show(); //cmbSPFlag.Hide(); btnDelete.Show(); btnUP.Hide(); } else if (CommonHelper._userType == "2") { btnCreateBill.Show(); btnEidt.Hide(); btnAddDj.Hide(); btnEidt.Show(); //cmbSPFlag.Show(); btnDelete.Hide(); btnUP.Show(); } else if (CommonHelper._userType == "3") { btnCreateBill.Hide(); btnEidt.Hide(); btnAddDj.Hide(); btnEdit.Hide(); //cmbSPFlag.Show(); btnDelete.Hide(); btnUP.Hide(); } } public void BindSubCompany() { DataTable dt = null; if (CommonHelper._userType == "1") { DataTable dtName = dicbll.GetStaAllInfo(" and STANO='" + CommonHelper._userStaNo + "'"); dt = dicbll.GetSubCompany(" and SUBCOMNO='" + dtName.Rows[0]["SUBCOMNO"].ToString() + "'"); } else { dt = dicbll.GetSubCompany(" and SUBCOMNO='" + CommonHelper._userStaNo + "'"); } storeSubCompany.DataSource = dt; storeSubCompany.DataBind(); } public void BindBillType() { stBillType.DataSource = dicbll.GetCBKind(" and VALUE in(1,2)"); stBillType.DataBind(); } public void BindBillKind() { stBillKind.DataSource = dicbll.GetCBBillKind(""); stBillKind.DataBind(); } public void BindBillName() { stBillName.DataSource = dicbll.GetCBBillName(""); stBillName.DataBind(); } public void BindSPFlag() { stSpFlag.DataSource = dicbll.GetSPFlag(" and VALUE in(1,2)"); stSpFlag.DataBind(); DataTable dt; if (CommonHelper._userType == "1") { dt = dicbll.GetSPFlag(" and VALUE in(0,1,2)"); } else if (CommonHelper._userType == "2") { dt = dicbll.GetSPFlag(" and VALUE in(1,2,3)"); } else { dt = dicbll.GetSPFlag(" and VALUE in(1,2)"); } s_stSpFlag.DataSource = dt; s_stSpFlag.DataBind(); } /// /// 绑定票据种类 /// /// /// protected void cmbBillKind_Select(object sender, Ext.Net.DirectEventArgs e) { if (string.IsNullOrEmpty(cmbBillType.SelectedItem.Value)) { CommonHelper.MsgShowInfo("请选择票据类型..."); return; } stBillName.DataSource = dicbll.GetCBBillName(" and TYPE=" + cmbBillType.SelectedItem.Value + " and KIND=" + cmbBillKind.SelectedItem.Value + ""); stBillName.DataBind(); } protected void cmbBillName_Select(object sender, Ext.Net.DirectEventArgs e) { txtBillName.Text = cmbBillName.SelectedItem.Text; } /// /// /// /// /// protected void cmbSubCom_Select(object sneder, Ext.Net.DirectEventArgs e) { DataTable dt = null; try { if (CommonHelper._userType == "1") { dt = dicbll.GetStaAllInfo(" and STANO='" + CommonHelper._userStaNo + "'"); } else { dt = dicbll.GetStaAllInfo(" and SUBCOMNO='" + cmbSubCom.SelectedItem.Value + "'"); } } catch { dt = new DataTable(); } stSta.DataSource = dt; stSta.DataBind(); } #endregion 数据绑定 /// /// 查询 /// /// /// protected void btnSearch_Click(object sender, Ext.Net.DirectEventArgs e) { Paging.SetPageIndex(1); StBillApplyFor.DataBind(); } /// /// 加载数据 /// /// /// protected void StBillApplyFor_RefreshData(object sender, Ext.Net.StoreRefreshDataEventArgs e) { int start; int limit; if (!string.IsNullOrEmpty(e.Parameters["Start"]) && !string.IsNullOrEmpty(e.Parameters["Limit"])) { start = int.Parse(e.Parameters["Start"]); limit = int.Parse(e.Parameters["Limit"]); } else { start = e.Start; limit = e.Limit; } if (s_txtStartDt.Value == null || string.IsNullOrEmpty(s_txtStartDt.Value.ToString())) { CommonHelper.MsgShowInfo("请选择查询日期!"); return; } string sqlwhere = string.Empty; if (CommonHelper._dbType == "1") { sqlwhere += " and MKDT>='" + Convert.ToDateTime(s_txtStartDt.Value).ToString("yyyy-MM-dd HH:mm:ss") + "' and MKDT<='" + Convert.ToDateTime(s_txtEndDt.Value).AddDays(1).AddSeconds(-1).ToString("yyyy-MM-dd HH:mm:ss") + "'"; } else if (CommonHelper._dbType == "4") { sqlwhere += " and MKDT>=DATE_FORMAT('" + Convert.ToDateTime(s_txtStartDt.Value).ToString("yyyy-MM-dd HH:mm:ss") + "','%Y-%m-%d %H:%i:%s') and MKDT<=DATE_FORMAT('" + Convert.ToDateTime(s_txtEndDt.Value).AddDays(1).AddSeconds(-1).ToString("yyyy-MM-dd HH:mm:ss") + "','%Y-%m-%d %H:%i:%s')"; } else { sqlwhere += " and MKDT>=to_date('" + Convert.ToDateTime(s_txtStartDt.Value).ToString("yyyy-MM-dd HH:mm:ss") + "','yyyy-MM-dd HH24:mi:ss') and MKDT<=to_date('" + Convert.ToDateTime(s_txtEndDt.Value).AddDays(1).AddSeconds(-1).ToString("yyyy-MM-dd HH:mm:ss") + "','yyyy-MM-dd HH24:mi:ss')"; } if (!string.IsNullOrEmpty(s_cmbSpFlag.SelectedItem.Value)) { sqlwhere += " and SPFLAG=" + s_cmbSpFlag.SelectedItem.Value + ""; } if (CommonHelper._userType == "2" && CommonHelper._ishighway == "2") { sqlwhere += " and SUBCOMNO=" + CommonHelper._userStaNo + ""; } int ct = 0; DataTable dt = bbll.GetApplayForLst(sqlwhere, start + 1, start + limit, out ct); e.Total = ct; StBillApplyFor.DataSource = dt; StBillApplyFor.DataBind(); } /// /// 增加 /// /// /// protected void btnAdd_Click(object sender, Ext.Net.DirectEventArgs e) { try { if (hdUserId.Text.ToString().ToLower() == "admin") { CommonHelper.MsgShowInfo("ADMIN禁止操作信息..."); return; } if (string.IsNullOrEmpty(cmbSubCom.SelectedItem.Value) || string.IsNullOrEmpty(cmbSta.SelectedItem.Value)) { CommonHelper.MsgShowInfo("请选择对应的分公司/收费站"); return; } if (string.IsNullOrEmpty(cmbBillType.SelectedItem.Value) || string.IsNullOrEmpty(cmbBillKind.SelectedItem.Value)) { CommonHelper.MsgShowInfo("请选择对应的发票种类/发票类别"); return; } if (string.IsNullOrEmpty(cmbBillName.SelectedItem.Value)) { CommonHelper.MsgShowInfo("请选择对应的发票名称"); return; } long ct = 0; if (string.IsNullOrEmpty(txtCount.Text.Trim())) { CommonHelper.MsgShowInfo("请输入正确的票据数量"); return; } else { if (!long.TryParse(txtCount.Text.Trim(), out ct)) { CommonHelper.MsgShowInfo("请输入正确的票据数量"); return; } } CB_BILLAPPLYFOR mdl = new CB_BILLAPPLYFOR(); string subStr = "000" + cmbSubCom.SelectedItem.Value; string staStr = "000" + cmbSta.SelectedItem.Value; string billtype = "00" + cmbBillType.SelectedItem.Value; mdl.APPLYNO = "A" + billtype.Substring(billtype.Length - 2) + subStr.Substring(subStr.Length - 4) + staStr.Substring(staStr.Length - 4) + DateTime.Now.ToString("yyyyMMddHHmmss"); mdl.SUBCOMNO = int.Parse(cmbSubCom.SelectedItem.Value); try { DataTable dtName = dicbll.GetStaAllInfo(" and STANO='" + cmbSta.SelectedItem.Value + "'"); mdl.ROADNO = int.Parse(dtName.Rows[0]["ROADNO"].ToString()); } catch { mdl.ROADNO = 15; } mdl.STANO = int.Parse(cmbSta.SelectedItem.Value); mdl.BILLTYPE = int.Parse(cmbBillType.SelectedItem.Value); mdl.BILLKIND = int.Parse(cmbBillKind.SelectedItem.Value); mdl.BILLNAME = int.Parse(cmbBillName.SelectedItem.Value); mdl.COUNT = ct; mdl.MKDT = DateTime.Now; //站级不审批 mdl.SPFLAG = 0;//新单据 mdl.SPMANNO = int.Parse(hdUserId.Value.ToString()); mdl.SPMAN = hdMan.Value.ToString(); mdl.SPDT = DateTime.Now; mdl.BAK1 = int.Parse(CommonHelper._userType); if (bbll.AddApplayFor(mdl)) { CommonHelper.MsgShowInfo("申领单登记成功"); } else { CommonHelper.MsgShowInfo("申领单登记失败"); } } catch (Exception ex) { CommonHelper.MsgShowInfo("申领单登记异常:" + ex.Message); } wdEdit.Hide(); StBillApplyFor.DataBind(); } /// /// 修改 /// /// /// protected void btnEdit_Click(object sender, Ext.Net.DirectEventArgs e) { try { if (hdUserId.Text.ToString().ToLower() == "admin") { CommonHelper.MsgShowInfo("ADMIN禁止操作信息..."); return; } DataTable dt; if (hdApplayNO.Value == null || hdMKDt.Value == null || hdMKDt.Value.ToString() == "" || hdoldManNo.Value == null || hdoldMan.Value == null) { CommonHelper.MsgShowInfo("数据已过期,请重新选择修改数据..."); return; } else { if (hdoldManNo.Value != null && !string.IsNullOrEmpty(hdoldManNo.Value.ToString())) { if (!hdoldManNo.Value.Equals(hdUserId.Value.ToString())) { CommonHelper.MsgShowInfo("非本人录入数据,不允许更改..."); return; } } } if (string.IsNullOrEmpty(cmbSubCom.SelectedItem.Value) || string.IsNullOrEmpty(cmbSta.SelectedItem.Value)) { CommonHelper.MsgShowInfo("请选择对应的分公司/收费站"); return; } if (string.IsNullOrEmpty(cmbBillType.SelectedItem.Value) || string.IsNullOrEmpty(cmbBillKind.SelectedItem.Value)) { CommonHelper.MsgShowInfo("请选择对应的发票种类/发票类别"); return; } if (string.IsNullOrEmpty(cmbBillName.SelectedItem.Value)) { CommonHelper.MsgShowInfo("请选择对应的发票名称"); return; } long ct = 0; if (string.IsNullOrEmpty(txtCount.Text.Trim())) { CommonHelper.MsgShowInfo("请输入正确的票据数量"); return; } else { if (!long.TryParse(txtCount.Text.Trim(), out ct)) { CommonHelper.MsgShowInfo("请输入正确的票据数量"); return; } } //if (CommonHelper._userType == "2" || CommonHelper._userType == "3") //{ // if (string.IsNullOrEmpty(cmbSPFlag.SelectedItem.Value)) // { // CommonHelper.MsgShowInfo("请选择对应的审批结果"); // return; // } //} CB_BILLAPPLYFOR mdl = new CB_BILLAPPLYFOR(); mdl.APPLYNO = hdApplayNO.Value.ToString(); mdl.SUBCOMNO = int.Parse(cmbSubCom.SelectedItem.Value); try { DataTable dtName = dicbll.GetStaAllInfo(" and STANO='" + cmbSta.SelectedItem.Value + "'"); mdl.ROADNO = int.Parse(dtName.Rows[0]["ROADNO"].ToString()); } catch { mdl.ROADNO = 15; } mdl.STANO = int.Parse(cmbSta.SelectedItem.Value); mdl.BILLTYPE = int.Parse(cmbBillType.SelectedItem.Value); mdl.BILLKIND = int.Parse(cmbBillKind.SelectedItem.Value); mdl.BILLNAME = int.Parse(cmbBillName.SelectedItem.Value); mdl.MKDT = DateTime.Now; mdl.COUNT = ct; mdl.SPFLAG = CommonHelper._SpFlag_NEW;//新单据 //if (CommonHelper._userType == "1") //{ // //站级不审批 // mdl.SPFLAG = CommonHelper._SpFlag_NEW;//新单据 //} //else //{ // mdl.SPFLAG = int.Parse(cmbSPFlag.SelectedItem.Value);//新单据 //} mdl.SPMANNO = int.Parse(hdUserId.Value.ToString()); mdl.SPMAN = hdMan.Value.ToString(); mdl.SPDT = DateTime.Now; mdl.BAK1 = int.Parse(CommonHelper._userType); if (bbll.UpdateApplayFor(mdl)) { CommonHelper.MsgShowInfo("站级-申领单修改成功"); } else { CommonHelper.MsgShowInfo("站级-申领单修改失败"); } } catch (Exception ex) { CommonHelper.MsgShowInfo("申领单修改异常:" + ex.Message); } wdEdit.Hide(); StBillApplyFor.DataBind(); } /// /// 删除 /// /// [DirectMethod] public void DeleteApplyFor(string applayno) { try { if (hdUserId.Text.ToString().ToLower() == "admin") { CommonHelper.MsgShowInfo("ADMIN禁止操作信息..."); return; } if (bbll.DeleteApplayFor(applayno)) { CommonHelper.MsgShowInfo("申领单删除成功"); } else { CommonHelper.MsgShowInfo("申领单删除失败"); } } catch (Exception ex) { CommonHelper.MsgShowInfo("申领单删除异常:" + ex.Message); } StBillApplyFor.DataBind(); } /// /// 审批单据 /// /// /// [DirectMethod] public void SPApplayInfo(string applayno) { try { if (hdUserId.Text.ToString().ToLower() == "admin") { CommonHelper.MsgShowInfo("ADMIN禁止操作信息..."); return; } CB_BILLAPPLYFOR mdl = new CB_BILLAPPLYFOR(); mdl.APPLYNO = applayno; mdl.SPFLAG = CommonHelper._SpFlag_SP; mdl.SPMANNO = int.Parse(hdUserId.Value.ToString()); mdl.SPMAN = hdMan.Value.ToString(); mdl.SPDT = DateTime.Now; //spflag=1--封单-用于上传 if (bbll.UpdateApplayForSP(mdl)) { CommonHelper.MsgShowInfo("单据审批成功"); } else { CommonHelper.MsgShowInfo("单据审批失败"); } } catch (Exception ex) { CommonHelper.MsgShowInfo("单据审批异常:" + ex.Message); } StBillApplyFor.DataBind(); } /// /// 生成单据单-供总中心使用 /// /// /// protected void btnCreateBill_Click(object sender, Ext.Net.DirectEventArgs e) { if (hdUserId.Text.ToString().ToLower() == "admin") { CommonHelper.MsgShowInfo("ADMIN禁止操作信息..."); return; } //分公司-将审批通过的单据汇总 if (s_txtStartDt.Value == null || string.IsNullOrEmpty(s_txtStartDt.Value.ToString())) { CommonHelper.MsgShowInfo("请选择操纵日期!"); return; } string sqlwhere = string.Empty; if (CommonHelper._dbType == "1") { sqlwhere += " and MKDT>='" + Convert.ToDateTime(s_txtStartDt.Value).ToString("yyyy-MM-dd HH:mm:ss") + "' and MKDT<='" + Convert.ToDateTime(s_txtEndDt.Value).AddDays(1).AddSeconds(-1).ToString("yyyy-MM-dd HH:mm:ss") + "'"; } else { sqlwhere += " and MKDT>=to_date('" + Convert.ToDateTime(s_txtStartDt.Value).ToString("yyyy-MM-dd HH:mm:ss") + "','yyyy-MM-dd HH24:mi:ss') and MKDT<=to_date('" + Convert.ToDateTime(s_txtEndDt.Value).AddDays(1).AddSeconds(-1).ToString("yyyy-MM-dd HH:mm:ss") + "','yyyy-MM-dd HH24:mi:ss')"; } sqlwhere += " and BAK1=1 and SPFLAG=2"; //将站级SPFLAG=2-已审批的数据-汇总成一个单据-上传分中心 //审批成功数据汇总放入上传表 List lst = new List(); List cmdParamList = new List(); try { DataTable dt = bbll.GetApplayForSum(sqlwhere); if (dt.Rows.Count == 0) { CommonHelper.MsgShowInfo("不存在审批数据,无法生成分公司单据,请完成审批"); return; } foreach (DataRow item in dt.Rows) { CB_BILLAPPLYFOR mdl = new CB_BILLAPPLYFOR(); string subStr = "000" + item["SUBCOMNO"].ToString(); string staStr = "000" + item["SUBCOMNO"].ToString(); string billtype = "00" + item["BILLTYPE"].ToString(); mdl.APPLYNO = "A" + billtype.Substring(billtype.Length - 2) + subStr.Substring(subStr.Length - 4) + staStr.Substring(staStr.Length - 4) + DateTime.Now.ToString("yyyyMMddHHmmss"); if (bbll.IsExist("select count(1) from CB_BILLAPPLYFOR_GTCENTER where APPLYNO='" + mdl.APPLYNO + "'") > 0) { bbll.ExcuteSql("delete from CB_BILLAPPLYFOR_GTCENTER where APPLYNO='" + mdl.APPLYNO + "'"); } mdl.SUBCOMNO = int.Parse(item["SUBCOMNO"].ToString()); mdl.ROADNO = int.Parse(item["SUBCOMNO"].ToString()); mdl.STANO = int.Parse(item["SUBCOMNO"].ToString()); mdl.BILLTYPE = int.Parse(item["BILLTYPE"].ToString()); mdl.BILLKIND = int.Parse(item["BILLKIND"].ToString()); mdl.BILLNAME = int.Parse(item["BILLNAME"].ToString()); mdl.COUNT = long.Parse(item["COUNT"].ToString()); mdl.MKDT = DateTime.Now; //站级不审批 mdl.SPFLAG = CommonHelper._SpFlag_NEW; mdl.SPMANNO = int.Parse(hdUserId.Value.ToString()); mdl.SPMAN = hdMan.Value.ToString(); mdl.SPDT = DateTime.Now; mdl.BAK1 = int.Parse(CommonHelper._userType); if (bbll.AddApplayFor(mdl)) { CommonHelper.MsgShowInfo("生成单据成功"); } else { CommonHelper.MsgShowInfo("生成单据失败"); } } } catch (Exception ex) { CommonHelper.MsgShowInfo("生成单据异常:" + ex.Message); } StBillApplyFor.DataBind(); } /// /// 审批单据 /// /// /// [DirectMethod] public void UpApplayInfo(string applayno) { try { if (hdUserId.Text.ToString().ToLower() == "admin") { CommonHelper.MsgShowInfo("ADMIN禁止操作信息..."); return; } CB_BILLAPPLYFOR mdl = new CB_BILLAPPLYFOR(); mdl.APPLYNO = applayno; mdl.SPFLAG = CommonHelper._SpFlag_SPHZ; mdl.SPMANNO = int.Parse(hdUserId.Value.ToString()); mdl.SPMAN = hdMan.Value.ToString(); mdl.SPDT = DateTime.Now; //spflag=1--封单-用于上传 if (bbll.UpdateApplayForSP(mdl)) { CommonHelper.MsgShowInfo("单据上传成功"); } else { CommonHelper.MsgShowInfo("单据上传失败"); } } catch (Exception ex) { CommonHelper.MsgShowInfo("单据上传异常:" + ex.Message); } StBillApplyFor.DataBind(); } } }