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