1095 lines
43 KiB
C#
1095 lines
43 KiB
C#
using BLL;
|
|
using NPOI.XSSF.UserModel;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Data.SqlClient;
|
|
using System.IO;
|
|
using System.Linq;
|
|
|
|
namespace FineUIPro.Web.SES
|
|
{
|
|
public partial class CTSalesContracts : PageBase
|
|
{
|
|
#region 加载
|
|
/// <summary>
|
|
/// 加载页面
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void Page_Load(object sender, EventArgs e)
|
|
{
|
|
// 表头过滤
|
|
FilterDataRowItem = FilterDataRowItemImplement;
|
|
if (!IsPostBack)
|
|
{
|
|
GetButtonPower();//权限设置
|
|
|
|
//文件类型
|
|
this.drpFileType2.DataTextField = "Text";
|
|
this.drpFileType2.DataValueField = "Value";
|
|
this.drpFileType2.DataSource = BLL.DropListService.getFileTypeDropList();
|
|
this.drpFileType2.DataBind();
|
|
Funs.FineUIPleaseSelect(this.drpFileType2);
|
|
|
|
this.drpFileType2Select.DataTextField = "Text";
|
|
this.drpFileType2Select.DataValueField = "Value";
|
|
this.drpFileType2Select.DataSource = BLL.DropListService.getFileTypeDropList();
|
|
this.drpFileType2Select.DataBind();
|
|
Funs.FineUIPleaseSelect(this.drpFileType2Select);
|
|
|
|
//文件类型
|
|
BLL.FileTypeService.InitFileTypeDropDownList(this.drpFileType3, true);
|
|
BLL.FileTypeService.InitFileTypeDropDownList(this.drpFileType3Select, true);
|
|
|
|
btnNew.OnClientClick = Window1.GetShowReference("CTSalesContractsEdit.aspx") + "return false;";
|
|
btnDelete.OnClientClick = Grid1.GetNoSelectionAlertReference("Please select at least one item!");
|
|
btnDelete.ConfirmText = String.Format("Are you sure you want to delete the selected <b><script>{0}</script></b> rows?", Grid1.GetSelectedCountReference());
|
|
|
|
ddlPageSize.SelectedValue = Grid1.PageSize.ToString();
|
|
// 绑定表格
|
|
BindGrid();
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 绑定数据
|
|
/// </summary>
|
|
private void BindGrid()
|
|
{
|
|
string strSql = @"SELECT cts.CTSalesContractsId,
|
|
cts.ContractNumber,
|
|
cts.ContractTitle,
|
|
cts.Customer,
|
|
cts.CustomerNum,
|
|
cts.PriceType,
|
|
cts.ServiceType,
|
|
cts.ContractPrice,
|
|
cts.VAT,
|
|
(CONVERT(CHAR(10), cts.ContractTermStart, 23) + '~' + CONVERT(CHAR(10),cts.ContractTermEnd, 23))AS ContractTerm,
|
|
cts.Status,
|
|
cts.DeptOfRevenue,
|
|
cts.ConfirmedBy,
|
|
cts.Remark,
|
|
dep.DepartName AS DeptOfRevenueName,
|
|
depart.DepartName AS ConfirmedByName "
|
|
+ @" FROM EMC_CTSalesContracts AS cts"
|
|
+ @" LEFT JOIN dbo.Base_Depart AS dep ON dep.DepartId = cts.DeptOfRevenue"
|
|
+ @" LEFT JOIN dbo.Base_Depart AS depart ON depart.DepartId = cts.ConfirmedBy"
|
|
+ @" WHERE 1=1";
|
|
|
|
List<SqlParameter> listStr = new List<SqlParameter>();
|
|
if (!string.IsNullOrEmpty(this.txtContractNumber.Text.Trim()))
|
|
{
|
|
strSql += " AND cts.ContractNumber LIKE @ContractNumber";
|
|
listStr.Add(new SqlParameter("@ContractNumber", "%" + this.txtContractNumber.Text.Trim() + "%"));
|
|
}
|
|
SqlParameter[] parameter = listStr.ToArray();
|
|
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
|
|
|
|
Grid1.RecordCount = tb.Rows.Count;
|
|
tb = GetFilteredTable(Grid1.FilteredData, tb);
|
|
var table = this.GetPagedDataTable(Grid1, tb);
|
|
Grid1.DataSource = table;
|
|
Grid1.DataBind();
|
|
}
|
|
#endregion
|
|
|
|
#region 过滤表头
|
|
/// <summary>
|
|
/// 过滤表头
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void Grid1_FilterChange(object sender, EventArgs e)
|
|
{
|
|
BindGrid();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据表头信息过滤列表数据
|
|
/// </summary>
|
|
/// <param name="sourceObj"></param>
|
|
/// <param name="fillteredOperator"></param>
|
|
/// <param name="fillteredObj"></param>
|
|
/// <param name="column"></param>
|
|
/// <returns></returns>
|
|
private bool FilterDataRowItemImplement(object sourceObj, string fillteredOperator, object fillteredObj, string column)
|
|
{
|
|
bool valid = false;
|
|
if (column == "ContractNumber")
|
|
{
|
|
string sourceValue = sourceObj.ToString();
|
|
string fillteredValue = fillteredObj.ToString();
|
|
if (fillteredOperator == "equal" && sourceValue == fillteredValue)
|
|
{
|
|
valid = true;
|
|
}
|
|
else if (fillteredOperator == "contain" && sourceValue.Contains(fillteredValue))
|
|
{
|
|
valid = true;
|
|
}
|
|
}
|
|
if (column == "ContractTitle")
|
|
{
|
|
string sourceValue = sourceObj.ToString();
|
|
string fillteredValue = fillteredObj.ToString();
|
|
if (fillteredOperator == "equal" && sourceValue == fillteredValue)
|
|
{
|
|
valid = true;
|
|
}
|
|
else if (fillteredOperator == "contain" && sourceValue.Contains(fillteredValue))
|
|
{
|
|
valid = true;
|
|
}
|
|
}
|
|
if (column == "Customer")
|
|
{
|
|
string sourceValue = sourceObj.ToString();
|
|
string fillteredValue = fillteredObj.ToString();
|
|
if (fillteredOperator == "equal" && sourceValue == fillteredValue)
|
|
{
|
|
valid = true;
|
|
}
|
|
else if (fillteredOperator == "contain" && sourceValue.Contains(fillteredValue))
|
|
{
|
|
valid = true;
|
|
}
|
|
}
|
|
if (column == "CustomerNum")
|
|
{
|
|
string sourceValue = sourceObj.ToString();
|
|
string fillteredValue = fillteredObj.ToString();
|
|
if (fillteredOperator == "equal" && sourceValue == fillteredValue)
|
|
{
|
|
valid = true;
|
|
}
|
|
else if (fillteredOperator == "contain" && sourceValue.Contains(fillteredValue))
|
|
{
|
|
valid = true;
|
|
}
|
|
}
|
|
if (column == "PriceType")
|
|
{
|
|
string sourceValue = sourceObj.ToString();
|
|
string fillteredValue = fillteredObj.ToString();
|
|
if (fillteredOperator == "equal" && sourceValue == fillteredValue)
|
|
{
|
|
valid = true;
|
|
}
|
|
else if (fillteredOperator == "contain" && sourceValue.Contains(fillteredValue))
|
|
{
|
|
valid = true;
|
|
}
|
|
}
|
|
if (column == "ServiceType")
|
|
{
|
|
string sourceValue = sourceObj.ToString();
|
|
string fillteredValue = fillteredObj.ToString();
|
|
if (fillteredOperator == "equal" && sourceValue == fillteredValue)
|
|
{
|
|
valid = true;
|
|
}
|
|
else if (fillteredOperator == "contain" && sourceValue.Contains(fillteredValue))
|
|
{
|
|
valid = true;
|
|
}
|
|
}
|
|
if (column == "ContractPrice")
|
|
{
|
|
string sourceValue = sourceObj.ToString();
|
|
string fillteredValue = fillteredObj.ToString();
|
|
if (fillteredOperator == "equal" && sourceValue == fillteredValue)
|
|
{
|
|
valid = true;
|
|
}
|
|
else if (fillteredOperator == "contain" && sourceValue.Contains(fillteredValue))
|
|
{
|
|
valid = true;
|
|
}
|
|
}
|
|
if (column == "VAT")
|
|
{
|
|
string sourceValue = sourceObj.ToString();
|
|
string fillteredValue = fillteredObj.ToString();
|
|
if (fillteredOperator == "equal" && sourceValue == fillteredValue)
|
|
{
|
|
valid = true;
|
|
}
|
|
else if (fillteredOperator == "contain" && sourceValue.Contains(fillteredValue))
|
|
{
|
|
valid = true;
|
|
}
|
|
}
|
|
if (column == "ContractTerm")
|
|
{
|
|
string sourceValue = sourceObj.ToString();
|
|
string fillteredValue = fillteredObj.ToString();
|
|
if (fillteredOperator == "equal" && sourceValue == fillteredValue)
|
|
{
|
|
valid = true;
|
|
}
|
|
else if (fillteredOperator == "contain" && sourceValue.Contains(fillteredValue))
|
|
{
|
|
valid = true;
|
|
}
|
|
}
|
|
if (column == "Status")
|
|
{
|
|
string sourceValue = sourceObj.ToString();
|
|
string fillteredValue = fillteredObj.ToString();
|
|
if (fillteredOperator == "equal" && sourceValue == fillteredValue)
|
|
{
|
|
valid = true;
|
|
}
|
|
else if (fillteredOperator == "contain" && sourceValue.Contains(fillteredValue))
|
|
{
|
|
valid = true;
|
|
}
|
|
}
|
|
if (column == "DeptOfRevenueName")
|
|
{
|
|
string sourceValue = sourceObj.ToString();
|
|
string fillteredValue = fillteredObj.ToString();
|
|
if (fillteredOperator == "equal" && sourceValue == fillteredValue)
|
|
{
|
|
valid = true;
|
|
}
|
|
else if (fillteredOperator == "contain" && sourceValue.Contains(fillteredValue))
|
|
{
|
|
valid = true;
|
|
}
|
|
}
|
|
if (column == "ConfirmedByName")
|
|
{
|
|
string sourceValue = sourceObj.ToString();
|
|
string fillteredValue = fillteredObj.ToString();
|
|
if (fillteredOperator == "equal" && sourceValue == fillteredValue)
|
|
{
|
|
valid = true;
|
|
}
|
|
else if (fillteredOperator == "contain" && sourceValue.Contains(fillteredValue))
|
|
{
|
|
valid = true;
|
|
}
|
|
}
|
|
if (column == "Remark")
|
|
{
|
|
string sourceValue = sourceObj.ToString();
|
|
string fillteredValue = fillteredObj.ToString();
|
|
if (fillteredOperator == "equal" && sourceValue == fillteredValue)
|
|
{
|
|
valid = true;
|
|
}
|
|
else if (fillteredOperator == "contain" && sourceValue.Contains(fillteredValue))
|
|
{
|
|
valid = true;
|
|
}
|
|
}
|
|
return valid;
|
|
}
|
|
#endregion
|
|
|
|
#region 删除数据
|
|
/// <summary>
|
|
/// 批量删除数据
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void btnDelete_Click(object sender, EventArgs e)
|
|
{
|
|
this.DeleteData();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 右键删除事件
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void btnMenuDelete_Click(object sender, EventArgs e)
|
|
{
|
|
this.DeleteData();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 删除方法
|
|
/// </summary>
|
|
private void DeleteData()
|
|
{
|
|
if (Grid1.SelectedRowIndexArray.Length > 0)
|
|
{
|
|
foreach (int rowIndex in Grid1.SelectedRowIndexArray)
|
|
{
|
|
string rowID = Grid1.DataKeys[rowIndex][0].ToString();
|
|
var ssr = BLL.CTSalesContractsService.GetCTSalesContractsById(rowID);
|
|
if (ssr != null)
|
|
{
|
|
if (judgementDelete(rowID, false))
|
|
{
|
|
var signed = BLL.CTSalesSignedContractsService.GetCTSalesSignedContractsByCTId(rowID);
|
|
if (signed!=null)
|
|
{
|
|
BLL.CTSalesSignedContractsService.DeleteCTSalesSignedContractsList(rowID);
|
|
}
|
|
var manage = BLL.CTSalesContractManagementService.GetCTSalesContractManagementByCTId(rowID);
|
|
if (manage!=null)
|
|
{
|
|
BLL.CTSalesContractManagementService.DeleteCTSalesContractManagementList(rowID);
|
|
}
|
|
BLL.CTSalesContractsService.DeleteCTSalesContractsById(rowID);
|
|
}
|
|
}
|
|
}
|
|
BindGrid();
|
|
|
|
BLL.Sys_LogService.AddLog(this.CurrUser.UserId, "Delete CT Sales Contracts");
|
|
ShowNotify("Deleted successfully!");
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 分页、排序
|
|
/// <summary>
|
|
/// 分页
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
|
|
{
|
|
Grid1.PageIndex = e.NewPageIndex;
|
|
BindGrid();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 分页显示条数下拉框
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
|
|
{
|
|
Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
|
|
BindGrid();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 排序
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void Grid1_Sort(object sender, FineUIPro.GridSortEventArgs e)
|
|
{
|
|
Grid1.SortDirection = e.SortDirection;
|
|
Grid1.SortField = e.SortField;
|
|
BindGrid();
|
|
}
|
|
#endregion
|
|
|
|
#region 查询
|
|
/// <summary>
|
|
/// 查询
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void Text_TextChanged(object sender, EventArgs e)
|
|
{
|
|
BindGrid();
|
|
}
|
|
#endregion
|
|
|
|
#region 关闭弹出窗口
|
|
/// <summary>
|
|
/// 关闭窗口
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void Window1_Close(object sender, EventArgs e)
|
|
{
|
|
BindGrid();
|
|
}
|
|
#endregion
|
|
|
|
#region 编辑
|
|
/// <summary>
|
|
/// 编辑
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void btnEdit_Click(object sender, EventArgs e)
|
|
{
|
|
if (Grid1.SelectedRowIndexArray.Length == 0)
|
|
{
|
|
Alert.ShowInParent("Please select at least one record!");
|
|
return;
|
|
}
|
|
string Id = Grid1.SelectedRowID;
|
|
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("CTSalesContractsEdit.aspx?ctSalesContractsId={0}", Id, "编辑 - ")));
|
|
|
|
}
|
|
|
|
/// <summary>
|
|
/// 右键编辑事件
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void btnMenuEdit_Click(object sender, EventArgs e)
|
|
{
|
|
btnEdit_Click(null, null);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Grid行双击事件
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
|
|
{
|
|
btnEdit_Click(null, null);
|
|
}
|
|
#endregion
|
|
|
|
#region 判断是否可删除
|
|
/// <summary>
|
|
/// 判断是否可以删除
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
private bool judgementDelete(string id, bool isShow)
|
|
{
|
|
string content = string.Empty;
|
|
//if (Funs.DB.Sys_User.FirstOrDefault(x => x.RoleId == id) != null)
|
|
//{
|
|
// content = "This role is already in use in [user information] and cannot be deleted!";
|
|
//}
|
|
|
|
if (string.IsNullOrEmpty(content))
|
|
{
|
|
return true;
|
|
}
|
|
else
|
|
{
|
|
if (isShow)
|
|
{
|
|
Alert.ShowInTop(content);
|
|
}
|
|
return false;
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 导出
|
|
/// <summary>
|
|
/// 导出按钮
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void btnExport_Click(object sender, EventArgs e)
|
|
{
|
|
string rootPath = Server.MapPath("~/") + Const.ExcelUrl;
|
|
//模板文件
|
|
string TempletFileName = rootPath + "CT_Sales_Contracts.xlsx";
|
|
//导出文件
|
|
string filePath = rootPath + DateTime.Now.ToString("yyyyMMddhhmmss") + "\\";
|
|
if (!Directory.Exists(filePath))
|
|
{
|
|
Directory.CreateDirectory(filePath);
|
|
}
|
|
string ReportFileName = filePath + "out.xlsx";
|
|
|
|
FileStream file = new FileStream(TempletFileName, FileMode.Open, FileAccess.Read);
|
|
XSSFWorkbook hssfworkbook = new XSSFWorkbook(file);
|
|
|
|
#region OneTimeContracts
|
|
XSSFSheet reportModel = (XSSFSheet)hssfworkbook.GetSheet("CT_Sales_Contracts");
|
|
|
|
XSSFFont cs_content_Font = (XSSFFont)hssfworkbook.CreateFont(); //创建字体
|
|
cs_content_Font.FontName = "sans-serif";//字体
|
|
cs_content_Font.FontHeightInPoints = 10; //字体大小
|
|
|
|
var list = (from x in Funs.DB.View_EMC_CTSalesContracts orderby x.ContractNumber descending select x).ToList();
|
|
if (!string.IsNullOrEmpty(this.txtContractNumber.Text.Trim()))
|
|
{
|
|
list = list.Where(x => x.ContractNumber.Contains(this.txtContractNumber.Text.Trim())).ToList();
|
|
}
|
|
if (list.Count > 0)
|
|
{
|
|
var rowIndex = 1;
|
|
foreach (var itemOver in list)
|
|
{
|
|
if (reportModel.GetRow(rowIndex) == null) reportModel.CreateRow(rowIndex);
|
|
|
|
#region 列赋值
|
|
//Contract number
|
|
if (reportModel.GetRow(rowIndex).GetCell(0) == null) reportModel.GetRow(rowIndex).CreateCell(0);
|
|
reportModel.GetRow(rowIndex).GetCell(0).SetCellValue(itemOver.ContractNumber.ToString());
|
|
|
|
reportModel.GetRow(rowIndex).GetCell(0).CellStyle.SetFont(cs_content_Font);//将字体绑定到样式
|
|
|
|
//Contract title
|
|
if (reportModel.GetRow(rowIndex).GetCell(1) == null) reportModel.GetRow(rowIndex).CreateCell(1);
|
|
reportModel.GetRow(rowIndex).GetCell(1).SetCellValue(itemOver.ContractTitle);
|
|
//Customer
|
|
if (reportModel.GetRow(rowIndex).GetCell(2) == null) reportModel.GetRow(rowIndex).CreateCell(2);
|
|
reportModel.GetRow(rowIndex).GetCell(2).SetCellValue(itemOver.Customer);
|
|
//Customer number
|
|
if (reportModel.GetRow(rowIndex).GetCell(3) == null) reportModel.GetRow(rowIndex).CreateCell(3);
|
|
reportModel.GetRow(rowIndex).GetCell(3).SetCellValue(itemOver.CustomerNum);
|
|
//Price type
|
|
if (reportModel.GetRow(rowIndex).GetCell(4) == null) reportModel.GetRow(rowIndex).CreateCell(4);
|
|
reportModel.GetRow(rowIndex).GetCell(4).SetCellValue(itemOver.PriceType);
|
|
//Service type
|
|
if (reportModel.GetRow(rowIndex).GetCell(5) == null) reportModel.GetRow(rowIndex).CreateCell(5);
|
|
reportModel.GetRow(rowIndex).GetCell(5).SetCellValue(itemOver.ServiceType);
|
|
//Contract Price
|
|
if (reportModel.GetRow(rowIndex).GetCell(6) == null) reportModel.GetRow(rowIndex).CreateCell(6);
|
|
reportModel.GetRow(rowIndex).GetCell(6).SetCellValue(itemOver.ContractPrice.ToString());
|
|
//VAT
|
|
if (reportModel.GetRow(rowIndex).GetCell(7) == null) reportModel.GetRow(rowIndex).CreateCell(7);
|
|
reportModel.GetRow(rowIndex).GetCell(7).SetCellValue(itemOver.VAT);
|
|
//Contract term
|
|
if (reportModel.GetRow(rowIndex).GetCell(8) == null) reportModel.GetRow(rowIndex).CreateCell(8);
|
|
reportModel.GetRow(rowIndex).GetCell(8).SetCellValue(itemOver.ContractTerm);
|
|
//Status
|
|
if (reportModel.GetRow(rowIndex).GetCell(9) == null) reportModel.GetRow(rowIndex).CreateCell(9);
|
|
reportModel.GetRow(rowIndex).GetCell(9).SetCellValue(itemOver.Status);
|
|
//Dept.of revenue/asset
|
|
if (reportModel.GetRow(rowIndex).GetCell(10) == null) reportModel.GetRow(rowIndex).CreateCell(10);
|
|
reportModel.GetRow(rowIndex).GetCell(10).SetCellValue(itemOver.DeptOfRevenueName);
|
|
//work quantity confirmed by
|
|
if (reportModel.GetRow(rowIndex).GetCell(11) == null) reportModel.GetRow(rowIndex).CreateCell(11);
|
|
reportModel.GetRow(rowIndex).GetCell(11).SetCellValue(itemOver.ConfirmedByName);
|
|
//Remarks
|
|
if (reportModel.GetRow(rowIndex).GetCell(12) == null) reportModel.GetRow(rowIndex).CreateCell(12);
|
|
reportModel.GetRow(rowIndex).GetCell(12).SetCellValue(itemOver.Remark);
|
|
#endregion
|
|
|
|
rowIndex++;
|
|
}
|
|
}
|
|
#endregion
|
|
reportModel.ForceFormulaRecalculation = true;
|
|
|
|
using (FileStream filess = File.OpenWrite(ReportFileName))
|
|
{
|
|
hssfworkbook.Write(filess);
|
|
}
|
|
FileInfo filet = new FileInfo(ReportFileName);
|
|
Response.Clear();
|
|
Response.Charset = "GB2312";
|
|
Response.ContentEncoding = System.Text.Encoding.UTF8;
|
|
// 添加头信息,为"文件下载/另存为"对话框指定默认文件名
|
|
Response.AddHeader("Content-Disposition", "attachment; filename=CT_Sales_Contracts_" + Server.UrlEncode(DateTime.Now.ToString("yyyyMMddhhmmss") + ".xlsx"));
|
|
// 添加头信息,指定文件大小,让浏览器能够显示下载进度
|
|
Response.AddHeader("Content-Length", filet.Length.ToString());
|
|
// 指定返回的是一个不能被客户端读取的流,必须被下载
|
|
Response.ContentType = "application/ms-excel";
|
|
// 把文件流发送到客户端
|
|
Response.WriteFile(filet.FullName);
|
|
// 停止页面的执行
|
|
Response.End();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据sql获取数据
|
|
/// </summary>
|
|
/// <param name="strSql"></param>
|
|
/// <param name="tableName"></param>
|
|
/// <param name="parameters"></param>
|
|
/// <returns></returns>
|
|
public static DataTable GetDataTableNameRunText(string strSql, string tableName = "", params SqlParameter[] parameters)
|
|
{
|
|
DataTable dataTable = string.IsNullOrEmpty(tableName) ? new DataTable() : new DataTable(tableName);
|
|
using (SqlConnection Connection = new SqlConnection(Funs.ConnString))
|
|
{
|
|
try
|
|
{
|
|
Connection.Open();
|
|
SqlCommand command = new SqlCommand(strSql, Connection);
|
|
command.CommandType = CommandType.Text;
|
|
if (parameters != null)
|
|
{
|
|
command.Parameters.AddRange(parameters);
|
|
}
|
|
SqlDataAdapter adapter = new SqlDataAdapter(command);
|
|
adapter.Fill(dataTable);
|
|
}
|
|
finally
|
|
{
|
|
Connection.Close();
|
|
}
|
|
}
|
|
return dataTable;
|
|
}
|
|
#endregion
|
|
|
|
#region 权限设置
|
|
/// <summary>
|
|
/// 菜单按钮权限
|
|
/// </summary>
|
|
private void GetButtonPower()
|
|
{
|
|
var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.UserId, BLL.Const.CTSalesContractsMenuId);
|
|
if (buttonList.Count() > 0)
|
|
{
|
|
if (buttonList.Contains(BLL.Const.BtnAdd))
|
|
{
|
|
this.btnNew.Hidden = false;
|
|
}
|
|
if (buttonList.Contains(BLL.Const.BtnModify))
|
|
{
|
|
this.btnEdit.Hidden = false;
|
|
this.btnMenuEdit.Hidden = false;
|
|
}
|
|
if (buttonList.Contains(BLL.Const.BtnDelete))
|
|
{
|
|
this.btnDelete.Hidden = false;
|
|
this.btnMenuDelete.Hidden = false;
|
|
}
|
|
if (buttonList.Contains(BLL.Const.BtnSave))
|
|
{
|
|
this.Grid1.EnableRowDoubleClickEvent = true;
|
|
}
|
|
else
|
|
{
|
|
this.Grid1.EnableRowDoubleClickEvent = false;
|
|
}
|
|
|
|
#region 合同权限
|
|
if (buttonList.Contains(BLL.Const.BtnSignedAdd))
|
|
{
|
|
this.btnAddFile2.Hidden = false;
|
|
}
|
|
if (buttonList.Contains(BLL.Const.BtnSignedModify))
|
|
{
|
|
this.btnMenuEdit2.Hidden = false;
|
|
this.Grid2.EnableRowDoubleClickEvent = true;
|
|
}
|
|
else
|
|
{
|
|
this.Grid2.EnableRowDoubleClickEvent = false;
|
|
}
|
|
|
|
if (buttonList.Contains(BLL.Const.BtnSignedDelete))
|
|
{
|
|
this.btnMenuDelete2.Hidden = false;
|
|
}
|
|
if (buttonList.Contains(BLL.Const.BtnSignedView))
|
|
{
|
|
TabSigned.Hidden = false;
|
|
}
|
|
else
|
|
{
|
|
TabSigned.Hidden = true;
|
|
}
|
|
|
|
if (buttonList.Contains(BLL.Const.BtnManageAdd))
|
|
{
|
|
this.btnAddFile3.Hidden = false;
|
|
}
|
|
if (buttonList.Contains(BLL.Const.BtnManageModify))
|
|
{
|
|
this.btnMenuEdit3.Hidden = false;
|
|
this.Grid3.EnableRowDoubleClickEvent = true;
|
|
}
|
|
else
|
|
{
|
|
this.Grid3.EnableRowDoubleClickEvent = false;
|
|
}
|
|
|
|
if (buttonList.Contains(BLL.Const.BtnManageDelete))
|
|
{
|
|
this.btnMenuDelete3.Hidden = false;
|
|
}
|
|
if (buttonList.Contains(BLL.Const.BtnManageView))
|
|
{
|
|
TabManagement.Hidden = false;
|
|
}
|
|
else
|
|
{
|
|
TabManagement.Hidden = true;
|
|
}
|
|
#endregion
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 查看
|
|
/// <summary>
|
|
/// 查看
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void btnMenuView_Click(object sender, EventArgs e)
|
|
{
|
|
if (Grid1.SelectedRowIndexArray.Length == 0)
|
|
{
|
|
Alert.ShowInParent("Please select at least one record!");
|
|
return;
|
|
}
|
|
string Id = Grid1.SelectedRowID;
|
|
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("CTSalesContractsEdit.aspx?ctSalesContractsId={0}&view=1", Id, "查看 - ")));
|
|
|
|
}
|
|
#endregion
|
|
|
|
#region Grid1行点击事件
|
|
/// <summary>
|
|
/// Grid1行点击事件
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void Grid1_RowSelect(object sender, GridRowSelectEventArgs e)
|
|
{
|
|
this.hdID.Text = this.Grid1.SelectedRowID;
|
|
if (!string.IsNullOrEmpty(this.hdID.Text))
|
|
{
|
|
var cTSalesContracts = BLL.CTSalesContractsService.GetCTSalesContractsById(this.hdID.Text);
|
|
if (cTSalesContracts != null)
|
|
{
|
|
if (this.TabStrip1.ActiveTabIndex == 0)
|
|
{
|
|
BindGrid2(this.hdID.Text);
|
|
}
|
|
else if (this.TabStrip1.ActiveTabIndex == 1)
|
|
{
|
|
BindGrid3(this.hdID.Text);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 数据绑定
|
|
/// <summary>
|
|
/// Grid2数据绑定
|
|
/// </summary>
|
|
/// <param name="id"></param>
|
|
private void BindGrid2(string id)
|
|
{
|
|
string strSql = @"SELECT Signed.FileId,
|
|
Signed.CTSalesContractsId,
|
|
Signed.FileName,
|
|
(CASE Signed.FileType WHEN '1' THEN '合同' WHEN '2' THEN '变更的合同' END) AS FileType,
|
|
Signed.FileTypeCode,
|
|
Signed.UploadMan,
|
|
Signed.UploadDate,
|
|
Signed.Remark,
|
|
Signed.AttachUrl,
|
|
U.UserName AS UploadManName
|
|
FROM EMC_CTSalesSignedContracts AS Signed
|
|
LEFT JOIN Sys_User AS U ON U.UserId = Signed.UploadMan
|
|
WHERE Signed.CTSalesContractsId=@id ";
|
|
|
|
List<SqlParameter> listStr = new List<SqlParameter>();
|
|
listStr.Add(new SqlParameter("@id", id));
|
|
if (drpFileType2.SelectedValue != Const._Null)
|
|
{
|
|
strSql += " AND Signed.FileType=@FileType";
|
|
listStr.Add(new SqlParameter("@FileType", drpFileType2.SelectedValue));
|
|
}
|
|
|
|
strSql += " ORDER BY Signed.UploadDate DESC";
|
|
SqlParameter[] parameter = listStr.ToArray();
|
|
|
|
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
|
|
Grid2.RecordCount = tb.Rows.Count;
|
|
var table = this.GetPagedDataTable(Grid2, tb);
|
|
Grid2.DataSource = table;
|
|
Grid2.DataBind();
|
|
|
|
for (int i = 0; i < Grid2.Rows.Count; i++)
|
|
{
|
|
System.Web.UI.WebControls.LinkButton lbtnUrl = ((System.Web.UI.WebControls.LinkButton)(this.Grid2.Rows[i].FindControl("lbtnUrl1")));
|
|
string url = lbtnUrl.CommandArgument.ToString();
|
|
if (!string.IsNullOrEmpty(url))
|
|
{
|
|
url = url.Replace('\\', '/');
|
|
lbtnUrl.Text = BLL.UploadAttachmentService.ShowAttachment("../", url);
|
|
}
|
|
}
|
|
}
|
|
|
|
private void BindGrid3(string id)
|
|
{
|
|
string strSql = @"SELECT con.FileId,
|
|
con.CTSalesContractsId,
|
|
con.FileName,
|
|
con.FileTypeId,
|
|
con.FileTypeCode,
|
|
con.UploadMan,
|
|
con.UploadDate,
|
|
con.Remark,
|
|
con.AttachUrl,
|
|
U.UserName AS UploadManName,
|
|
F.FileType
|
|
FROM EMC_CTSalesContractManagement AS con
|
|
LEFT JOIN Base_FileType AS F ON F.FileTypeId=con.FileTypeId
|
|
LEFT JOIN Sys_User AS U ON U.UserId = con.UploadMan
|
|
WHERE con.CTSalesContractsId=@id ";
|
|
|
|
List<SqlParameter> listStr = new List<SqlParameter>();
|
|
listStr.Add(new SqlParameter("@id", id));
|
|
if (drpFileType3.SelectedValue != Const._Null)
|
|
{
|
|
strSql += " AND con.FileTypeId=@FileType";
|
|
listStr.Add(new SqlParameter("@FileType", drpFileType3.SelectedValue));
|
|
}
|
|
strSql += " ORDER BY con.UploadDate DESC";
|
|
SqlParameter[] parameter = listStr.ToArray();
|
|
|
|
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
|
|
Grid3.RecordCount = tb.Rows.Count;
|
|
var table = this.GetPagedDataTable(Grid3, tb);
|
|
Grid3.DataSource = table;
|
|
Grid3.DataBind();
|
|
|
|
for (int i = 0; i < Grid3.Rows.Count; i++)
|
|
{
|
|
System.Web.UI.WebControls.LinkButton lbtnUrl = ((System.Web.UI.WebControls.LinkButton)(this.Grid3.Rows[i].FindControl("lbtnUrl2")));
|
|
string url = lbtnUrl.CommandArgument.ToString();
|
|
if (!string.IsNullOrEmpty(url))
|
|
{
|
|
url = url.Replace('\\', '/');
|
|
lbtnUrl.Text = BLL.UploadAttachmentService.ShowAttachment("../", url);
|
|
}
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 选项卡改变事件
|
|
/// <summary>
|
|
/// 选项卡改变事件
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void TabStrip1_TabIndexChanged(object sender, EventArgs e)
|
|
{
|
|
this.hdID.Text = string.Empty;
|
|
if (!string.IsNullOrEmpty(this.Grid1.SelectedRowID))
|
|
{
|
|
this.hdID.Text = this.Grid1.SelectedRowID;
|
|
}
|
|
else
|
|
{
|
|
if (!string.IsNullOrEmpty(Grid1.Rows[0].RowID))
|
|
{
|
|
this.hdID.Text = Grid1.Rows[0].RowID;
|
|
}
|
|
}
|
|
if (!string.IsNullOrEmpty(this.hdID.Text))
|
|
{
|
|
var cTSalesContracts = BLL.CTSalesContractsService.GetCTSalesContractsById(this.hdID.Text);
|
|
if (cTSalesContracts != null)
|
|
{
|
|
if (this.TabStrip1.ActiveTabIndex == 0)
|
|
{
|
|
BindGrid2(this.hdID.Text);
|
|
}
|
|
else if (this.TabStrip1.ActiveTabIndex == 1)
|
|
{
|
|
BindGrid3(this.hdID.Text);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region Signed Contracts
|
|
/// <summary>
|
|
/// Signed Contracts
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
//protected void btnSignedContracts_Click(object sender, EventArgs e)
|
|
//{
|
|
// if (Grid1.SelectedRowIndexArray.Length == 0)
|
|
// {
|
|
// Alert.ShowInParent("Please select at least one record!");
|
|
// return;
|
|
// }
|
|
// string Id = Grid1.SelectedRowID;
|
|
// PageContext.RegisterStartupScript(Window2.GetShowReference(String.Format("CTSalesSignedContracts.aspx?CTSalesContractsId={0}", Id, "编辑 - ")));
|
|
//}
|
|
protected void btnAddFile2_Click(object sender, EventArgs e)
|
|
{
|
|
if (Grid1.SelectedRowIndexArray.Length == 0)
|
|
{
|
|
Alert.ShowInParent("Please select CT Sales Contracts Record!");
|
|
return;
|
|
}
|
|
if (drpFileType2Select.SelectedValue == Const._Null)
|
|
{
|
|
Alert.ShowInParent("Please select FileType!");
|
|
return;
|
|
}
|
|
|
|
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../AttachFile/webuploader3.aspx?type=add&toKeyId={0}&path=FileUpload/SES/CTSalesContracts/SignedContracts&menuId={1}&mainTableId={2}", drpFileType2Select.SelectedValue, BLL.Const.CTSalesContractsMenuId, Grid1.SelectedRowID)));
|
|
}
|
|
|
|
/// <summary>
|
|
/// Grid2行双击事件
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void Grid2_RowDoubleClick(object sender, GridRowClickEventArgs e)
|
|
{
|
|
btnMenuEdit2_Click(null, null);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Grid2右键编辑
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void btnMenuEdit2_Click(object sender, EventArgs e)
|
|
{
|
|
if (Grid2.SelectedRowIndexArray.Length == 0)
|
|
{
|
|
Alert.ShowInParent("Please select Signed Contracts!");
|
|
return;
|
|
}
|
|
string fileId = Grid2.SelectedRowID;
|
|
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../AttachFile/webuploader3.aspx?type=edit&toKeyId={0}&path=FileUpload/SES/CTSalesContracts/SignedContracts&menuId={1}", fileId, BLL.Const.CTSalesContractsMenuId)));
|
|
//PageContext.RegisterStartupScript(Window2.GetShowReference(String.Format("CTSalesSignedContracts.aspx?fileId={0}", fileId, "编辑 - ")));
|
|
}
|
|
|
|
/// <summary>
|
|
/// Grid2右键删除
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void btnMenuDelete2_Click(object sender, EventArgs e)
|
|
{
|
|
if (Grid2.SelectedRowIndexArray.Length > 0)
|
|
{
|
|
foreach (int rowIndex in Grid2.SelectedRowIndexArray)
|
|
{
|
|
string rowID = Grid2.DataKeys[rowIndex][0].ToString();
|
|
var signedContracts = BLL.CTSalesSignedContractsService.GetCTSalesSignedContractsById(rowID);
|
|
if (signedContracts != null)
|
|
{
|
|
BLL.CTSalesSignedContractsService.DeleteCTSalesSignedContractsById(rowID);
|
|
}
|
|
}
|
|
BindGrid2(this.hdID.Text);
|
|
BLL.Sys_LogService.AddLog(this.CurrUser.UserId, "Delete Signed Contracts");
|
|
ShowNotify("Deleted successfully!");
|
|
}
|
|
}
|
|
|
|
protected void drpFileType2_OnSelectedIndexChanged(object sender, EventArgs e)
|
|
{
|
|
BindGrid2(this.hdID.Text);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 关闭Signed Contracts弹出框
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void WindowAtt_Close(object sender, WindowCloseEventArgs e)
|
|
{
|
|
BindGrid2(this.hdID.Text);
|
|
BindGrid3(this.hdID.Text);
|
|
}
|
|
#endregion
|
|
|
|
#region Contract Management
|
|
/// <summary>
|
|
/// Contract Management
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
//protected void btnContractManagement_Click(object sender, EventArgs e)
|
|
//{
|
|
// if (Grid1.SelectedRowIndexArray.Length == 0)
|
|
// {
|
|
// Alert.ShowInParent("Please select at least one record!");
|
|
// return;
|
|
// }
|
|
// string Id = Grid1.SelectedRowID;
|
|
// PageContext.RegisterStartupScript(Window3.GetShowReference(String.Format("CTSalesContractManagement.aspx?CTSalesContractsId={0}", Id, "编辑 - ")));
|
|
//}
|
|
|
|
protected void btnAddFile3_Click(object sender, EventArgs e)
|
|
{
|
|
if (Grid1.SelectedRowIndexArray.Length == 0)
|
|
{
|
|
Alert.ShowInParent("Please select CT Sales Contracts Record!");
|
|
return;
|
|
}
|
|
if (drpFileType3Select.SelectedValue == Const._Null)
|
|
{
|
|
Alert.ShowInParent("Please select FileType!");
|
|
return;
|
|
}
|
|
|
|
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../AttachFile/webuploader3.aspx?type=add&toKeyId={0}&path=FileUpload/SES/CTSalesContracts/ContractManagement&menuId={1}&mainTableId={2}", drpFileType3Select.SelectedValue, BLL.Const.CTSalesContractsMenuId, Grid1.SelectedRowID)));
|
|
}
|
|
|
|
/// <summary>
|
|
/// Grid3行双击事件
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void Grid3_RowDoubleClick(object sender, GridRowClickEventArgs e)
|
|
{
|
|
btnMenuEdit3_Click(null, null);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Grid3右键编辑
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void btnMenuEdit3_Click(object sender, EventArgs e)
|
|
{
|
|
if (Grid3.SelectedRowIndexArray.Length == 0)
|
|
{
|
|
Alert.ShowInParent("Please select at least one record!");
|
|
return;
|
|
}
|
|
string fileId = Grid3.SelectedRowID;
|
|
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../AttachFile/webuploader3.aspx?type=edit&toKeyId={0}&path=FileUpload/SES/CTSalesContracts/ContractManagement&menuId={1}", fileId, BLL.Const.CTSalesContractsMenuId)));
|
|
//PageContext.RegisterStartupScript(Window3.GetShowReference(String.Format("CTSalesContractManagement.aspx?fileId={0}", fileId, "编辑 - ")));
|
|
}
|
|
|
|
/// <summary>
|
|
/// Grid3右键删除
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void btnMenuDelete3_Click(object sender, EventArgs e)
|
|
{
|
|
if (Grid3.SelectedRowIndexArray.Length > 0)
|
|
{
|
|
foreach (int rowIndex in Grid3.SelectedRowIndexArray)
|
|
{
|
|
string rowID = Grid3.DataKeys[rowIndex][0].ToString();
|
|
var contracts = BLL.CTSalesContractManagementService.GetCTSalesContractManagementById(rowID);
|
|
if (contracts != null)
|
|
{
|
|
BLL.CTSalesContractManagementService.DeleteCTSalesContractManagementById(rowID);
|
|
}
|
|
}
|
|
BindGrid3(this.hdID.Text);
|
|
BLL.Sys_LogService.AddLog(this.CurrUser.UserId, "Delete Contract Management");
|
|
ShowNotify("Deleted successfully!");
|
|
}
|
|
}
|
|
|
|
protected void drpFileType3_OnSelectedIndexChanged(object sender, EventArgs e)
|
|
{
|
|
BindGrid3(this.hdID.Text);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 关闭弹出窗体
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void Window3_Close(object sender, WindowCloseEventArgs e)
|
|
{
|
|
BindGrid3(this.hdID.Text);
|
|
}
|
|
#endregion
|
|
}
|
|
} |