You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
DS7/DSWeb/CRM/CRMClientAssignList.aspx.cs

503 lines
21 KiB
C#

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

using System;
using System.Collections;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using DSWeb.EntityDA;
using DSWeb.Models;
using JsonHelper;
using System.Xml;
using System.IO;
using System.Text;
using System.Text.RegularExpressions;
using DSWeb.Authority;
using System.Data.OleDb;
namespace DSWeb.CRM
{
public partial class CRMClientAssignList : System.Web.UI.Page
{
T_ALL_DA T_ALL_DA = new T_ALL_DA();
RangeDA RangeDA = new RangeDA();
//grid
private string strColumnVal;
public string strUserID;//用户GID
private string strType = "46";//Grid模块号
public string strCompanyID;//公司GID
public string strShowName;//用户显示名
public string strDeptName;//部门名称
//gridEnd
protected void Page_Load(object sender, EventArgs e)
{
if (Session["USERID"] != null)
{
strUserID = Session["USERID"].ToString().Trim();
this.hdUserID.Value = strUserID.Trim();
}
else
{
Server.Transfer("~/Error/FriendError.aspx");
return;
}
if (Session["SHOWNAME"] != null)
{
strShowName = Session["SHOWNAME"].ToString();
}
if (Session["COMPANYID"] != null)
{
strCompanyID = Session["COMPANYID"].ToString();
}
if (Session["DEPTNAME"] != null)
{
strDeptName = Session["DEPTNAME"].ToString();
}
//
//权限可视范围
this.hdRangeV.Value = RangeDA.GetVISIBLERANGE(strUserID.Trim(), "modExchangesUnit");
this.hdRangeO.Value = RangeDA.GetOPERATERANGE(strUserID.Trim(), "modExchangesUnit");
this.hdRange.Value = "";
//if (this.hdRangeV.Value.Trim() != this.hdRangeO.Value.Trim())
//{
this.hdRange.Value = "";
if (this.hdRangeO.Value.Trim().Equals("4"))//无
{
this.btAssign.Disabled = true;
this.imgDel.Disabled = true;
}
//}
//
if (Request.QueryString["id"] != null)
{
this.hid_associatedno.Value = Request.QueryString["id"].ToString();
}
else
{
this.hid_associatedno.Value = "";
}
//grid
if (!IsPostBack)
{
}
if (hid_setting.Value.Trim() != "")
{
strColumnVal = hid_setting.Value.Trim();
SaveColumnSetting(strColumnVal);
hid_setting.Value = "";
}
if (hid_header.Value.Trim() != "")
{
strColumnVal = hid_header.Value.Trim();
SaveColumnSetting(strColumnVal);
hid_header.Value = "";
}
//gridEnd
//加载下拉框
Page.ClientScript.RegisterStartupScript(this.GetType(), "key", "<script>initComboSALE();</script>");
}
private HttpFileCollection files;
private int fileCount;
protected void btExcel2_Click(object sender, EventArgs e)
{
string Extension = "";
string SavedName = "";
string upname = "";
string savedpath = "";
string realname = "";
string virtualname = "";
string path = "";
string OppPath = "TempFiles";
OppPath += "/";
string AbsPath = Server.MapPath(OppPath);
files = HttpContext.Current.Request.Files;
if (!Directory.Exists(Server.MapPath(OppPath)))
{
Directory.CreateDirectory(Server.MapPath(OppPath));
}
for (fileCount = 0; fileCount < files.Count; fileCount++)
{
HttpPostedFile postedFile = files[fileCount];
string fileName;
fileName = System.IO.Path.GetFileName(postedFile.FileName);
if (fileName != string.Empty)
{
Extension = System.IO.Path.GetExtension(fileName);
if (Extension != ".xls")
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "key4", "<script>alert('选择的文件类型不正确,只能为*.xls');</script>");
return;
}
else
{
try
{
////取上传文件的文件名
upname = System.IO.Path.GetFileName(fileName);
//系统自动产生的日期型文件名
SavedName = string.Format("{0:yyyyMMddHHmmss}", System.DateTime.Now);
////把文件保存到UploadFile文件中
//dvResult.InnerHtml += AbsPath + SavedName + upname;
postedFile.SaveAs(AbsPath + SavedName + upname);
//dvResult.InnerHtml += "&nbsp;true";
virtualname += OppPath + SavedName + upname + ",";
realname += upname + ",";
path = savedpath;
string strOldDb = "Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=Excel 5.0;Data Source=";
string sPath = AbsPath + SavedName + upname;
//dvResult.InnerHtml += strOldDb + AbsPath + SavedName + upname;
OleDbConnection OleCon = new OleDbConnection(strOldDb + AbsPath + SavedName + upname);
OleDbDataAdapter OleDAp = new OleDbDataAdapter("SELECT [*客户代码],[*客户简称],[*客户中文全称],[*客户负责人],[*通讯地址],[*电话],[客户英文简称],[客户英文全称],[客户英文全称],[客户英文全称],[电子邮箱],[网页],[传真],[销售],[所属分公司代码],[详细信息],[发票抬头],[发票抬头2],[人民币支票抬头],[人民币开户银行],[人民币账号],[人民币联机行号],[美元支票抬头],[美元开户银行],[美元账号],[美元联机行号],[结算币别],[简介],[美金汇率],[公司所属区域],[主营产品],[箱量],[非洲航线],[澳洲航线],[黑海航线],[欧洲航线],[印巴航线],[日本航线],[韩国航线],[中东航线],[红海航线],[东南亚航线],[南美航线],[台湾航线],[美加航线] FROM [Sheet1$]", OleCon);
DataSet ds = new DataSet();
OleDAp.Fill(ds);
//dvResult.InnerHtml += "&nbsp;true";
//this.GridView1.DataSource = ds;
//this.GridView1.DataBind();
if (ds == null)
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "key5", "<script>alert('无符合条件的数据!');</script>");
}
else
{
CrmPriceCarrierDA CrmPriceCarrierDA = new CrmPriceCarrierDA();
int iResult = CrmPriceCarrierDA.InsertInfoExcel(ds, strUserID, strCompanyID);
if (iResult > 0)
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "key6", "<script>alert('导入完毕!');</script>");
}
else if (iResult < 0)
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "key7", "<script>alert('格式错误,不能导入!');</script>");
}
}
File.Delete(AbsPath + SavedName + upname);
}
catch (Exception execError)
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "key11", "<script>alert('格式错误,不能导入!');</script>");
throw execError;
}
}
}
}
}
#region Grid参数
private void SaveColumnSetting(string tempColumnVal)
{
JsonColumnGroupEntity jsonColumnGroupEntity = GetPostEntity(tempColumnVal);
List<JsonColumnEntity> jsonColumnEntities = new List<JsonColumnEntity>();
UserSettingDA userSettingDA = new UserSettingDA();
UserSettingEntity userSettingEntity = userSettingDA.GetUserSettingByUserIDType(strUserID, strType);
if (userSettingEntity.GID != null)
{
userSettingEntity.ModifiedUser = strUserID;
GridEntity gridEntity = null;
List<GridColumnEntity> gridColumnEntities = new List<GridColumnEntity>();
gridEntity = GetSettingXml(userSettingEntity.Xml);
gridEntity.PagePreCount = jsonColumnGroupEntity.ShowCount;
foreach (JsonColumnEntity jColumn in jsonColumnGroupEntity.JsonColumnEntities)
{
foreach (GridColumnEntity gColumn in gridEntity.Columns)
{
if (gColumn.Description.Equals(jColumn.col3))
{
gColumn.Description = jColumn.col3;
gColumn.Width = jColumn.col5;
gColumn.Index = jColumn.col4;
if (jColumn.col6 != -1)
{
gColumn.VisibleState = jColumn.col6;
}
//gridColumnEntities.Add(gColumn);
break;
}
}
}
//Columns
//gridEntity.Columns = gridColumnEntities;
userSettingEntity.Xml = SaveUserSetting(gridEntity).OuterXml;
int iResult = userSettingDA.UpdateUserSetting(userSettingEntity);
}
else
{
if (jsonColumnGroupEntity != null)
{
userSettingEntity = new UserSettingEntity();
userSettingEntity.GID = Guid.NewGuid().ToString();
userSettingEntity.Name = "WmsListGridSetting";
userSettingEntity.Description = "入库Grid设置";
userSettingEntity.UserID = strUserID;
userSettingEntity.Type = 1;//type值为1表示Grid
string strRequestUrl = Request.Url.ToString();
string strUrl = strRequestUrl.Substring(0, strRequestUrl.LastIndexOf("/"));
string strPage = strRequestUrl.Substring(strRequestUrl.LastIndexOf("/") + 1, strRequestUrl.Length - strRequestUrl.LastIndexOf("/") - 1);
userSettingEntity.Url = strUrl;
userSettingEntity.Page = strPage;
userSettingEntity.CreateUser = strUserID;
GridEntity gridEntity = new GridEntity();
gridEntity.GID = userSettingEntity.GID;
gridEntity.UserID = strUserID;
gridEntity.GroupBy = "";
gridEntity.DefaultPrePageCount = 15;
gridEntity.PagePreCount = jsonColumnGroupEntity.ShowCount;
List<GridColumnEntity> gridColumnEntities = new List<GridColumnEntity>();
foreach (JsonColumnEntity column in jsonColumnGroupEntity.JsonColumnEntities)
{
GridColumnEntity gridColumnEntity = new GridColumnEntity();
if (column.col6 != -1)
{
gridColumnEntity.Name = column.col2;
gridColumnEntity.VisibleState = column.col6;
}
else
{
switch (column.col3.Trim())
{
case "入库单号":
gridColumnEntity.Name = "BSNO";
break;
case "货主":
gridColumnEntity.Name = "CLIENTNAME";
break;
case "合同号":
gridColumnEntity.Name = "CONTRACTNO";
break;
case "提单号":
gridColumnEntity.Name = "BLNO";
break;
case "箱号":
gridColumnEntity.Name = "CNTRNO";
break;
case "品名":
gridColumnEntity.Name = "GOODSNAME";
break;
case "型号":
gridColumnEntity.Name = "GOODSMODEL";
break;
case "件数":
gridColumnEntity.Name = "GOODSPACK";
break;
case "重量":
gridColumnEntity.Name = "GOODSKGS";
break;
case "仓库名称":
gridColumnEntity.Name = "STORAGENAME";
break;
case "入库数量":
gridColumnEntity.Name = "GOODSRKSL";
break;
case "出库数量":
gridColumnEntity.Name = "GOODSPFSL";
break;
case "入库日期":
gridColumnEntity.Name = "DODATE";
break;
}
gridColumnEntity.VisibleState = 0;
}
gridColumnEntity.Description = column.col3;
gridColumnEntity.Index = column.col4;
gridColumnEntity.Width = column.col5;
gridColumnEntities.Add(gridColumnEntity);
}
//Columns
gridEntity.Columns = gridColumnEntities;
userSettingEntity.Xml = SaveUserSetting(gridEntity).OuterXml;
int iResult = userSettingDA.InsertUserSetting(userSettingEntity);
dvSaveState.InnerHtml = iResult.ToString();
}
}
}
#region 获取列信息
/// <summary>
/// 获取列信息
/// </summary>
/// <param name="tempValue"></param>
/// <returns></returns>
private JsonColumnGroupEntity GetPostEntity(string tempValue)
{
JsonColumnGroupEntity tempColumnGroupEntity = new JsonColumnGroupEntity();
try
{
tempColumnGroupEntity = (JsonColumnGroupEntity)JSON.Instance.ToObject(tempValue);
}
catch (Exception error)
{
throw error;
}
return tempColumnGroupEntity;
}
#endregion
private XmlDocument SaveUserSetting(GridEntity gridEntity)
{
XmlDocument xmlDoc = new XmlDocument();
XmlElement root = xmlDoc.CreateElement("user-settings");
//xmlDoc.AppendChild(root);
XmlElement xGid = xmlDoc.CreateElement("gid");
xGid.InnerText = gridEntity.GID;
root.AppendChild(xGid);
XmlElement xUserID = xmlDoc.CreateElement("userid");
xUserID.InnerText = gridEntity.UserID;
root.AppendChild(xUserID);
XmlElement xCreateTime = xmlDoc.CreateElement("create-time");
xCreateTime.InnerText = gridEntity.CreateTime.ToString();
root.AppendChild(xCreateTime);
XmlElement xColumns = xmlDoc.CreateElement("columns");
foreach (GridColumnEntity column in gridEntity.Columns)
{
XmlElement xColumn = xmlDoc.CreateElement("column");
XmlElement nName = xmlDoc.CreateElement("name");
nName.InnerText = column.Name;
xColumn.AppendChild(nName);
XmlElement nDescription = xmlDoc.CreateElement("description");
nDescription.InnerText = column.Description;
xColumn.AppendChild(nDescription);
XmlElement nIndex = xmlDoc.CreateElement("index");
nIndex.InnerText = column.Index.ToString();
xColumn.AppendChild(nIndex);
XmlElement nWidth = xmlDoc.CreateElement("width");
nWidth.InnerText = column.Width.ToString();
xColumn.AppendChild(nWidth);
XmlElement nVisible = xmlDoc.CreateElement("visible");
nVisible.InnerText = column.VisibleState.ToString();
xColumn.AppendChild(nVisible);
xColumns.AppendChild(xColumn);
}
root.AppendChild(xColumns);
XmlElement xGroupBy = xmlDoc.CreateElement("group-by");
xGroupBy.InnerText = gridEntity.GroupBy;
root.AppendChild(xGroupBy);
XmlElement xPage = xmlDoc.CreateElement("page");
XmlElement nPageDefault = xmlDoc.CreateElement("page-default");
nPageDefault.InnerText = gridEntity.DefaultPrePageCount.ToString();
xPage.AppendChild(nPageDefault);
XmlElement nPagePre = xmlDoc.CreateElement("page-pre");
nPagePre.InnerText = gridEntity.PagePreCount.ToString();
xPage.AppendChild(nPagePre);
root.AppendChild(xPage);
xmlDoc.AppendChild(root);
return xmlDoc;
}
private GridEntity GetSettingXml(string strXml)
{
XmlDocument xmlSettingDoc = new XmlDocument();
GridEntity gridEntity = new GridEntity();
try
{
xmlSettingDoc.LoadXml(strXml);
gridEntity.GID = xmlSettingDoc.ChildNodes[0].ChildNodes[0].InnerText.Trim();
gridEntity.UserID = xmlSettingDoc.ChildNodes[0].ChildNodes[1].InnerText.Trim();
gridEntity.CreateTime = DateTime.Parse(xmlSettingDoc.ChildNodes[0].ChildNodes[2].InnerText.Trim());
IList<GridColumnEntity> columnsEntities = new List<GridColumnEntity>();
int iColCount = xmlSettingDoc.ChildNodes[0].ChildNodes[3].ChildNodes.Count;
for (int i = 0; i < iColCount; i++)
{
GridColumnEntity columnEntity = new GridColumnEntity();
//columnEntity.GID = xmlSettingDoc.ChildNodes[0].ChildNodes[3].ChildNodes[0].ToString();
columnEntity.Name = xmlSettingDoc.ChildNodes[0].ChildNodes[3].ChildNodes[i].ChildNodes[0].InnerText.Trim();
columnEntity.Description = xmlSettingDoc.ChildNodes[0].ChildNodes[3].ChildNodes[i].ChildNodes[1].InnerText.Trim();
columnEntity.Index = int.Parse(xmlSettingDoc.ChildNodes[0].ChildNodes[3].ChildNodes[i].ChildNodes[2].InnerText.Trim());
columnEntity.Width = int.Parse(xmlSettingDoc.ChildNodes[0].ChildNodes[3].ChildNodes[i].ChildNodes[3].InnerText.Trim());
columnsEntities.Add(columnEntity);
}
gridEntity.Columns = columnsEntities;
gridEntity.GroupBy = xmlSettingDoc.ChildNodes[0].ChildNodes[4].InnerText.Trim();
gridEntity.DefaultPrePageCount = int.Parse(xmlSettingDoc.ChildNodes[0].ChildNodes[5].ChildNodes[0].InnerText.Trim());
gridEntity.PagePreCount = int.Parse(xmlSettingDoc.ChildNodes[0].ChildNodes[5].ChildNodes[1].InnerText.Trim());
}
catch (Exception error)
{
throw (error);
}
return gridEntity;
}
public enum SqlName
{
NAME = 0,
LOGTYPE = 1,
LOGTIME = 2,
LOGCONTENT = 3,
USERNAME = 4
}
#endregion
}
}