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;
}
}
}