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; using Newtonsoft.Json.Linq; namespace CPCBILLSYS { public partial class CPCBalanceMg : System.Web.UI.Page { LogClass log = new LogClass(); /// /// 基础 /// DictionaryBLL dicbll = new DictionaryBLL(CommonHelper._dbType, CommonHelper.DbConStr); /// /// cpc /// CPCCardBLL cpcbll = new CPCCardBLL(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.AddDays(-1); s_txtStartDt.MaxDate = DateTime.Now.AddDays(-1); s_txtStDt.Value = DateTime.Now.AddDays(-1); s_txtStDt.MaxDate = DateTime.Now.AddDays(-1); s_txtEndDt.Value = DateTime.Now.AddDays(1); s_txtEndDt.MaxDate = DateTime.Now.AddDays(1); StCardInfo.AutoLoadParams.Add(new Ext.Net.Parameter("Start", "0")); StCardInfo.AutoLoadParams.Add(new Ext.Net.Parameter("Limit", Paging.PageSize.ToString())); BindSub(); BindClassNo(); if (CommonHelper._userType != "1") { s_txtStartDt.Hide(); btnBalance.Hide(); Button1.Hide(); btnFzBalance.Hide(); } } } /// /// 绑定站 /// public void BindSub() { if (CommonHelper._userType == "1") { //s_cmbSubcom.Disabled = true; //s_cmbSta.Disabled = true; s_cmbSubcom.Hidden = true; s_cmbSta.Hidden = true; } else { storeSubCompany.DataSource = dicbll.GetSubCompany(""); } storeSubCompany.DataBind(); } public void BindClassNo() { stClassNo.DataSource = dicbll.GetClass(""); stClassNo.DataBind(); } protected void s_cmbSubcom_Select(object sender, Ext.Net.DirectEventArgs e) { stSta.DataSource = dicbll.GetStaAllInfo(" and SUBCOMNO='" + s_cmbSubcom.SelectedItem.Value + "'"); stSta.DataBind(); } /// /// 查询 /// /// /// protected void btnSearch_Click(object sender, Ext.Net.DirectEventArgs e) { string sqlwhere = string.Empty; try { if (s_txtStartDt.Value != null || !string.IsNullOrEmpty(s_txtStartDt.Value.ToString())) { if (CommonHelper._dbType == "1") { sqlwhere += "and classdate>='" + Convert.ToDateTime(s_txtStDt.Value).ToString("yyyy-MM-dd") + "' and classdate<='" + Convert.ToDateTime(s_txtEndDt.Value).ToString("yyyy-MM-dd") + "'"; } else if (CommonHelper._dbType == "4") { sqlwhere += " and classdate>=DATE_FORMAT('" + Convert.ToDateTime(s_txtStDt.Value).ToString("yyyy-MM-dd") + "','%Y-%m-%d') and classdate<=DATE_FORMAT('" + Convert.ToDateTime(s_txtEndDt.Value).ToString("yyyy-MM-dd") + "','%Y-%m-%d')"; } else { sqlwhere += "and classdate>=to_date('" + Convert.ToDateTime(s_txtStDt.Value).ToString("yyyy-MM-dd") + "','yyyy-MM-dd') and classdate<=to_date('" + Convert.ToDateTime(s_txtEndDt.Value).ToString("yyyy-MM-dd") + "','yyyy-MM-dd')"; } } if (CommonHelper._userType == "1") { sqlwhere += " and stano='" + CommonHelper._userStaNo + "'"; DataTable dt = cpcbll.GetCPCBalanceSum(sqlwhere); string lyct = dt.Rows[0]["LYCT"].ToString(); string sjct = dt.Rows[0]["SJCT"].ToString(); string badct = dt.Rows[0]["DJBADCT"].ToString(); string lostct = dt.Rows[0]["DJLOSTCT"].ToString(); string morect = dt.Rows[0]["DJMORECT"].ToString(); lbShow.Text = "【CPC领用总量】:" + lyct + "【CPC上缴总量】:" + sjct + "【盈亏数量】:" + ((int.Parse(sjct) + int.Parse(morect)) - (int.Parse(lyct) + int.Parse(badct) + int.Parse(lostct))) + ""; } } catch { lbShow.Text = "【CPC领用总量】:0【CPC上缴总量】:0【盈亏数量】:0"; } wdSearch.Hide(); Paging.SetPageIndex(1); StCardInfo.DataBind(); } /// /// /// /// /// protected void StCardInfo_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_txtStDt.Value == null || string.IsNullOrEmpty(s_txtEndDt.Value.ToString())) { CommonHelper.MsgShowInfo("请选择查询日期!"); return; } else { if (Convert.ToDateTime(s_txtStDt.Value.ToString()) > Convert.ToDateTime(s_txtEndDt.Value.ToString())) { CommonHelper.MsgShowInfo("起始日期不大于结束日期!"); return; } } string sqlwhere = string.Empty; if (CommonHelper._dbType == "1") { sqlwhere += "and classdate>='" + Convert.ToDateTime(s_txtStDt.Value).ToString("yyyy-MM-dd") + "' and classdate<='" + Convert.ToDateTime(s_txtEndDt.Value).ToString("yyyy-MM-dd") + "'"; } else if (CommonHelper._dbType == "4") { sqlwhere += " and classdate>=DATE_FORMAT('" + Convert.ToDateTime(s_txtStDt.Value).ToString("yyyy-MM-dd") + "','%Y-%m-%d') and classdate<=DATE_FORMAT('" + Convert.ToDateTime(s_txtEndDt.Value).ToString("yyyy-MM-dd") + "','%Y-%m-%d')"; } else { sqlwhere += "and classdate>=to_date('" + Convert.ToDateTime(s_txtStDt.Value).ToString("yyyy-MM-dd") + "','yyyy-MM-dd') and classdate<=to_date('" + Convert.ToDateTime(s_txtEndDt.Value).ToString("yyyy-MM-dd") + "','yyyy-MM-dd')"; } if (s_cmbClassNo.SelectedItem.Value != null && !string.IsNullOrEmpty(s_cmbClassNo.SelectedItem.Value)) { sqlwhere += " and CLASSNO='" + s_cmbClassNo.SelectedItem.Value + "'"; } if (s_cmbSubcom.SelectedItem.Value != null && !string.IsNullOrEmpty(s_cmbSubcom.SelectedItem.Value)) { sqlwhere += " and SUBCOMNO='" + s_cmbSubcom.SelectedItem.Value + "'"; } if (s_cmbSta.SelectedItem.Value != null && !string.IsNullOrEmpty(s_cmbSta.SelectedItem.Value)) { sqlwhere += " and STANO='" + s_cmbSta.SelectedItem.Value + "'"; } int ct = 0; DataTable dt = cpcbll.GetBalanceLst(sqlwhere, start + 1, start + limit, out ct); if (dt.Rows.Count > 0) { e.Total = ct; List lst = cpcbll.GetBlanceLstByFlag(dt); StCardInfo.DataSource = lst; } else { if (CommonHelper._userType == "1") { CommonHelper.MsgShowInfo("请先生成平衡数据!"); } } StCardInfo.DataBind(); } /// /// 生成平衡单 /// /// /// protected void btnBalance_Click(object sender, Ext.Net.DirectEventArgs e) { string sqlwhere = string.Empty; if (hdUserId.Value == null || hdMan.Value == null) { CommonHelper.MsgShowInfo("页面过期,请重新登录!"); return; } if (string.IsNullOrEmpty(hdUserId.Value.ToString()) || hdUserId.Value.ToString().ToLower() == "admin") { CommonHelper.MsgShowInfo("该用户无生成平衡单权限,请用该站监控或者票管账户登录"); return; } if (!string.IsNullOrEmpty(s_txtStartDt.Value.ToString())) { if (CommonHelper._dbType == "1") { sqlwhere += " and classdate='" + s_txtStartDt.Value + "'"; } else if (CommonHelper._dbType == "4") { //DATE_FORMAT sqlwhere += " and classdate=date_format('" + Convert.ToDateTime(s_txtStartDt.Value).ToString("yyyy-MM-dd") + "','%Y-%m-%d')"; } else { sqlwhere += " and classdate=to_date('" + s_txtStartDt.Value + "','yyyy-MM-dd HH24:mi:ss')"; } } else { CommonHelper.MsgShowInfo("请选择统计日"); return; } if (s_cmbClassNo.SelectedItem.Value != null && string.IsNullOrEmpty(s_cmbClassNo.SelectedItem.Value)) { sqlwhere += " and CLASSNO='" + s_cmbClassNo.SelectedItem.Value + "'"; } if (CommonHelper._userType == "1") { sqlwhere += " and stano=" + CommonHelper._userStaNo + ""; } else { if (s_cmbSta.SelectedItem.Value != null && !string.IsNullOrEmpty(s_cmbSta.SelectedItem.Value.ToString())) { sqlwhere += " and stano='" + s_cmbSta.SelectedItem.Value + "'"; } } try { bool f = cpcbll.CreatePreBlance(sqlwhere, hdUserId.Value.ToString(), hdMan.Value.ToString(), CommonHelper._userType); if (f) { CommonHelper.MsgShowInfo("生成预交易平衡信息生成成功"); log.Info("btnBalance_Click", "生成预交易平衡信息生成成功"); } else { CommonHelper.MsgShowInfo("生成预交易平衡信息生成失败,请重新点击生成"); log.Info("btnBalance_Click", "生成预交易平衡信息生成失败,请重新点击生成"); } } catch (Exception ex) { CommonHelper.MsgShowInfo("生成预交易平衡信息异常:" + ex.Message + ""); log.Info("btnBalance_Click", ex.Message); } StCardInfo.DataBind(); } /// /// 生成平衡单-封站 /// /// /// protected void btnFzBalance_Click(object sender, Ext.Net.DirectEventArgs e) { string sqlwhere = string.Empty; if (hdUserId.Value == null || hdMan.Value == null) { CommonHelper.MsgShowInfo("页面过期,请重新登录!"); return; } if (string.IsNullOrEmpty(hdUserId.Value.ToString()) || hdUserId.Value.ToString().ToLower() == "admin") { CommonHelper.MsgShowInfo("该用户无生成平衡单权限,请用该站监控或者票管账户登录"); return; } if (!string.IsNullOrEmpty(s_txtStartDt.Value.ToString())) { sqlwhere += " and classdate='" + s_txtStartDt.Value + "'"; } else { CommonHelper.MsgShowInfo("请选择统计日"); return; } try { bool f = cpcbll.CreatePreBlanceByFz(CommonHelper._userStaNo, s_txtStartDt.Value.ToString(), hdUserId.Value.ToString(), hdMan.Value.ToString(), CommonHelper._userType); if (f) { CommonHelper.MsgShowInfo("生成预交易平衡信息生成成功"); log.Info("btnBalance_Click", "生成预交易平衡信息生成成功"); } else { CommonHelper.MsgShowInfo("生成预交易平衡信息生成失败,请重新点击生成"); log.Info("btnBalance_Click", "生成预交易平衡信息生成失败,请重新点击生成"); } } catch (Exception ex) { CommonHelper.MsgShowInfo("生成预交易平衡信息生成异常,联系软件维护人员"); log.Info("btnBalance_Click", ex.Message); } StCardInfo.DataBind(); } /// /// 手工登记 /// 本人只能更改本人的 /// /// /// [DirectMethod] public void DJEidtFor(string str) { if (hdUserId.Value == null || hdMan.Value == null) { CommonHelper.MsgShowInfo("页面过期,请重新登录!"); return; } if (string.IsNullOrEmpty(str)) { CommonHelper.MsgShowInfo("请选择操作的行"); return; } if (hdMKDt.Value == null || hdMKDt.Value.ToString() == "" || hdoldDt.Value == null || hdoldManNo.Value == null) { CommonHelper.MsgShowInfo("数据已过期,请重新选择修改数据..."); return; } try { JObject obj = JObject.Parse(str.Trim()); string subcomno = obj["SUBCOMNO"].ToString(); string roadno = obj["ROADNO"].ToString(); string stano = obj["STANO"].ToString(); string classdate = Convert.ToDateTime(obj["CLASSDATE"].ToString()).ToString("yyyy-MM-dd"); string porttype = obj["PORTTYPE"].ToString(); string classno = obj["CLASSNO"].ToString(); string manno = obj["MANNO"].ToString(); if (obj["ADMANNO"] != null && !string.IsNullOrEmpty(obj["ADMANNO"].ToString()) && obj["USERTYPE"] != null) { if (!obj["ADMANNO"].ToString().Equals(hdUserId.Value.ToString()) || !obj["USERTYPE"].ToString().Equals(CommonHelper._userType)) { CommonHelper.MsgShowInfo("非本人/非本单位录入数据,不允许更改..."); return; } } else { CommonHelper.MsgShowInfo("票据平衡数据数据不完整,联系维护人员..."); return; } DataTable dt; //启用修改指令 //if (CommonHelper._updateflag == CommonHelper._UpdateOrder_Flag.ToString()) //{ // string djDt = hdMKDt.Value.ToString(); // TimeSpan ts = DateTime.Now - Convert.ToDateTime(djDt); // if ((ts.TotalMinutes > 60 && ts.Days == 0) || ts.Days >= 1) // { // if (!CommonHelper.CheckUpdate(out dt, Convert.ToDateTime(hdMKDt.Value).Date)) // { // CommonHelper.MsgShowInfo("未收到-修改指令,不允许更改数据,请提交修改申请..."); // return; // } // } //} //else //{ // string djDt = hdMKDt.Value.ToString(); // TimeSpan ts = DateTime.Now - Convert.ToDateTime(djDt); // if ((ts.Hours > 1 && ts.Days == 0) || ts.Days >= 1) // { // CommonHelper.MsgShowInfo("数据已超过1小时,不允许修改..."); // return; // } //} CB_CARDBALANCE_TABLE mdl = new CB_CARDBALANCE_TABLE(); mdl.STANO = int.Parse(stano); mdl.PORTTYPE = int.Parse(porttype); mdl.MANNO = int.Parse(manno); mdl.CLASSNO = int.Parse(classno); mdl.CLASSDATE = Convert.ToDateTime(classdate); //mdl.MKDT = Convert.ToDateTime(hdMKDt.Value.ToString()); mdl.DJCPCCT = string.IsNullOrEmpty(txtDjCPCCt.Text.Trim()) ? 0 : int.Parse(txtDjCPCCt.Text.Trim()); mdl.DJETCCT = string.IsNullOrEmpty(txtDjETCCt.Text.Trim()) ? 0 : int.Parse(txtDjETCCt.Text.Trim()); mdl.DJALLCT = string.IsNullOrEmpty(txtDjAllCt.Text.Trim()) ? 0 : int.Parse(txtDjAllCt.Text.Trim()); mdl.DJBADCT = string.IsNullOrEmpty(txtDjBadCt.Text.Trim()) ? 0 : int.Parse(txtDjBadCt.Text.Trim()); mdl.DJLOSTCT = string.IsNullOrEmpty(txtDjLostCt.Text.Trim()) ? 0 : int.Parse(txtDjLostCt.Text.Trim()); mdl.DJLYCT = string.IsNullOrEmpty(txtDjLyCt.Text.Trim()) ? 0 : int.Parse(txtDjLyCt.Text.Trim()); mdl.DJMORECT = string.IsNullOrEmpty(txtDjMoreCt.Text.Trim()) ? 0 : int.Parse(txtDjMoreCt.Text.Trim()); mdl.DJOTHERCT = string.IsNullOrEmpty(txtDjOhterCt.Text.Trim()) ? 0 : int.Parse(txtDjOhterCt.Text.Trim()); mdl.DJPARPERCT = string.IsNullOrEmpty(txtDjParperCt.Text.Trim()) ? 0 : int.Parse(txtDjParperCt.Text.Trim()); mdl.DJSJCT = string.IsNullOrEmpty(txtDjSjCt.Text.Trim()) ? 0 : int.Parse(txtDjSjCt.Text.Trim()); mdl.DATEMARK = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); mdl.ADMANNO = int.Parse(hdUserId.Value.ToString()); mdl.ADMAN = hdMan.Value.ToString(); mdl.DJLESSCT = string.IsNullOrEmpty(txtDjLessCt.Text.Trim()) ? 0 : int.Parse(txtDjLessCt.Text.Trim()); mdl.DJBRKCARCT = string.IsNullOrEmpty(txtDjBrkCt.Text.Trim()) ? 0 : int.Parse(txtDjBrkCt.Text.Trim()); //mdl.USERTYPE = int.Parse(CommonHelper._userType); if (cpcbll.UpdateDjBalance(mdl, CreateLog(subcomno, classdate, stano, porttype, manno, classno))) { CommonHelper.MsgShowInfo("CPC平衡人工登记成功"); } else { CommonHelper.MsgShowInfo("CPC平衡人工登记失败,请重新操作!"); } } catch (Exception ex) { CommonHelper.MsgShowInfo("CPC平衡人工登记异常:" + ex.Message); } StCardInfo.DataBind(); } /// /// 构建日志(参数:主键值) /// /// /// /// /// /// /// /// public CB_OP_LOG CreateLog(string subcomno, string classdate, string stano, string porttype, string manno, string classno) { //CLASSDATE=@CLASSDATE and VERID=@VERID and STANO=@STANO and PORTTYPE=@PORTTYPE and MANNO=@MANNO and CLASSNO=@CLASSNO bool f = false; CB_OP_LOG mdl = new CB_OP_LOG(); try { string n_classdt = "00000000" + Convert.ToDateTime(classdate).ToString("yyyyMMdd"); string n_stano = "0000" + stano; string n_potytype = "00" + porttype; string n_manno = "0000000000000000" + manno; string n_classno = "00" + classno; string n_subcomno = "0000" + subcomno; string keyNo = n_classdt.Substring(n_classdt.Length - 8) + n_stano.Substring(n_stano.Length - 4) + n_potytype.Substring(n_potytype.Length - 2) + n_manno.Substring(n_manno.Length - 16) + n_classno.Substring(n_classno.Length - 2); mdl.KEYLISTNO = keyNo;//主键集合 mdl.ID = CommonHelper._Prmis_Cpc_balance + n_subcomno.Substring(n_subcomno.Length - 4) + n_stano.Substring(n_stano.Length - 4) + DateTime.Now.ToString("yyyyMMddHHmmss"); mdl.TBNAME = CommonHelper.GetTbNameByPrmisid(CommonHelper._Prmis_Cpc_balance);//对应的表名称 mdl.TYPE = CommonHelper._OpLog_Jx;//1-根据字典表解析KEYLISTNO 2-不需要解析 mdl.PRMISID = CommonHelper._Prmis_Cpc_balance;//模块号 mdl.SUBCOMNO = int.Parse(subcomno); mdl.STANO = int.Parse(CommonHelper._userStaNo); mdl.OPTYPE = 1;//产生日志类型 1-修改 mdl.OLDT = Convert.ToDateTime(hdoldDt.Value.ToString()); mdl.OLMANNO = int.Parse(hdoldManNo.Value.ToString()); mdl.OLMAN = hdoldMan.Value.ToString(); mdl.OLUSERTYPE = int.Parse(hdoldUType.Value.ToString()); mdl.DATETIME = DateTime.Now; mdl.UPMANNO = int.Parse(hdUserId.Value.ToString()); mdl.UPMAN = hdMan.Value.ToString(); mdl.UPUSERTYPE = int.Parse(CommonHelper._userType); mdl.BAK1 = 0; mdl.BAK2 = 0; mdl.BAK3 = 0; mdl.BAK4 = string.Empty; mdl.BAK5 = string.Empty; mdl.BAK6 = string.Empty; } catch (Exception ex) { mdl = null; } return mdl; } } }