361 lines
14 KiB
C#
361 lines
14 KiB
C#
using System;
|
||
using System.Data;
|
||
using System.Configuration;
|
||
using System.Collections;
|
||
using System.Web;
|
||
using System.Web.Security;
|
||
using System.Web.UI;
|
||
using System.Web.UI.WebControls;
|
||
using System.Web.UI.WebControls.WebParts;
|
||
using System.Web.UI.HtmlControls;
|
||
using GThinking.N_PUBLIC;
|
||
using GThinking.N_MODEL.Page;
|
||
using GThinking.N_MISPRO.Utility;
|
||
using GThinking.N_MISPRO.TableCache;
|
||
using GThinking.N_MISPRO;
|
||
using GThinking.N_MISPRO.Data;
|
||
using System.Text;
|
||
|
||
namespace GThinking.N_XLXSBJ
|
||
{
|
||
public partial class CLYL_YJGTInfo : SingleCardBase
|
||
{
|
||
CLYL_YJGT entity = new CLYL_YJGT();
|
||
|
||
#region 页面初始化
|
||
|
||
protected void Page_Load(object sender, EventArgs e)
|
||
{
|
||
this.UMID = 100860014;
|
||
this.UMName = "线缆销售报价材料用量";
|
||
this.CurMaster = Master;
|
||
this.CurEntity = entity;
|
||
this.Master.EnableAttachBtn = false;
|
||
this.PageWidth = 500;
|
||
this.PageHeight = 400;
|
||
this.Master.EnableCopyBtn = false;
|
||
this.Master.EnableInsertBtn = false;
|
||
this.Master.EnableAttachBtn = false;
|
||
this.Master.EnableCancelBtn = false;
|
||
this.Master.EnableDeleteBtn = false;
|
||
this.Master.EnableEditBtn = false;
|
||
this.Master.EnableSaveBtn = false;
|
||
this.Master.EnablePrintBtn = false;
|
||
base.InitPage();
|
||
|
||
txtGTNR.ToolbarStartExpanded = false;
|
||
|
||
txtSJR.Text = "";
|
||
if (!txtSJRMC.Value.Trim().Equals(""))
|
||
{
|
||
txtSJR.Text = txtSJRMC.Value.Trim() + ";";
|
||
}
|
||
txtCSR.Text = "";
|
||
if (!txtCSRMC.Value.Trim().Equals(""))
|
||
{
|
||
txtCSR.Text = txtCSRMC.Value.Trim() + ";";
|
||
}
|
||
}
|
||
|
||
#endregion
|
||
|
||
#region 模板事件继承W
|
||
|
||
protected override void LoadRecord()
|
||
{
|
||
base.LoadRecord();
|
||
|
||
}
|
||
|
||
protected override void OnNewRecorder()
|
||
{
|
||
base.OnNewRecorder();
|
||
if (string.IsNullOrEmpty(PageParam.GetRTrimString("tmpSJR")))
|
||
{
|
||
GetYJXX(PageParam.GetRTrimString("AFID"));
|
||
}
|
||
else
|
||
{
|
||
txtSJRGH.Value = PageParam.GetRTrimString("tmpSJR").Trim();
|
||
txtSJRMC.Value = GetUserNames(txtSJRGH.Value);
|
||
txtSJR.Text = txtSJRMC.Value + ";";
|
||
txtCSRGH.Value = PageParam.GetRTrimString("tmpCSR").Trim();
|
||
if (!string.IsNullOrEmpty(txtCSRGH.Value))
|
||
{
|
||
txtCSRMC.Value = GetUserNames(txtCSRGH.Value);
|
||
txtCSR.Text = txtCSRMC.Value + ";";
|
||
}
|
||
}
|
||
|
||
}
|
||
|
||
protected override void SetControlState()
|
||
{
|
||
|
||
base.SetControlState();
|
||
txtSJR.Enabled = false;
|
||
txtCSR.Enabled = false;
|
||
}
|
||
|
||
#endregion
|
||
|
||
#region 自定义函数
|
||
|
||
private string getURL(int FUMID, string FWFID,string FWFINST)
|
||
{
|
||
TPageParams Tpp_Mail = new TPageParams();
|
||
Tpp_Mail.UrlPath = getURL(Convert.ToInt32(FUMID), FWFID.Trim());
|
||
Tpp_Mail.CallAction = TPageCallAction.pcaBrowse;
|
||
Tpp_Mail.AddString("WFID", FWFID.Trim());
|
||
Tpp_Mail.AddString("WFINST", FWFINST);
|
||
if (DSActiveModule.GetAMIDByUMID(int.Parse(FUMID.ToString())) != 0)
|
||
{
|
||
Tpp_Mail.UMID = int.Parse(FUMID.ToString());
|
||
Tpp_Mail.AddString("FUNCID", FUMID.ToString());
|
||
}
|
||
string sUrl = Utils.GetEncodedUrl(Convert.ToInt32(FUMID), Tpp_Mail);
|
||
return sUrl;
|
||
}
|
||
|
||
private string getURL(int UMID, string WFID)
|
||
{
|
||
return GThinking.N_MISPRO.TableCache.DSActiveModule.getAMPageURL(UMID, WFID);
|
||
}
|
||
|
||
private string getMailUser(string GHList)
|
||
{
|
||
string sResult = string.Empty;
|
||
foreach (string GH in GHList.Split(','))
|
||
{
|
||
if (tSession.GetUser(GH) != null)
|
||
sResult += string.Format("{0}<{1}>,", tSession.GetUser(GH).Name, GH);
|
||
}
|
||
return sResult;
|
||
}
|
||
|
||
private string GetUserNames(string sUserGH)
|
||
{
|
||
string rstr = "";
|
||
foreach (string sGH in sUserGH.Split(','))
|
||
{
|
||
string tName = TRYXX.GetRYXXByGH(sGH).XM;
|
||
if (!rstr.Equals(""))
|
||
{
|
||
rstr += ",";
|
||
}
|
||
rstr += tName;
|
||
}
|
||
return rstr;
|
||
}
|
||
|
||
//是否有100232002模块浏览权限
|
||
private bool CheckYJLL(string sGH)
|
||
{
|
||
UserRight UR = OpRightUtils.GetUserRight(sGH, 100232002);
|
||
return (DSActiveModule.IsActiveModule(100232002) && UR.Open);
|
||
}
|
||
|
||
|
||
//查询邮件信息
|
||
private void GetYJXX(string AFID)
|
||
{
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL SQL = new TSQL(dberp);
|
||
SQL.Clear();
|
||
SQL.Add(" select AFFROMUSRID,AFUSRNAME,AFFROMTIME,AFTOUSERS,AFCOPYFOR,AFTITLE,AFCONTENT ");
|
||
SQL.Add(" from AFFAIR where AFID=:pAFID ");
|
||
SQL.ParamByName("pAFID").Value = AFID;
|
||
DataSet ds = dberp.OpenDataSet(SQL);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
string sFJR = "";
|
||
if (ds.Tables[0].Rows[0]["AFFROMUSRID"].ToString().IndexOf("@") != -1) //外网发件人
|
||
sFJR = ds.Tables[0].Rows[0]["AFFROMUSRID"].ToString().Trim();
|
||
else
|
||
sFJR = GetMCID(ds.Tables[0].Rows[0]["AFFROMUSRID"].ToString().Trim());
|
||
string sFJSJ = ds.Tables[0].Rows[0]["AFFROMTIME"].ToString().Trim();
|
||
string sSend1 = ds.Tables[0].Rows[0]["AFTOUSERS"].ToString().Trim();
|
||
string sSend2 = ds.Tables[0].Rows[0]["AFCOPYFOR"].ToString().Trim();
|
||
string sTitle = ds.Tables[0].Rows[0]["AFTITLE"].ToString().Trim();
|
||
string sContent = ds.Tables[0].Rows[0]["AFCONTENT"].ToString().Trim();
|
||
|
||
txtTitle.Value = sTitle;
|
||
txtGTNR.Value = GetQuote("#FFFF99", sFJR, sFJSJ, sSend1, sSend2, sTitle, sContent);
|
||
txtSJRGH.Value = GetYJYHGH(sFJR);
|
||
txtSJRMC.Value = GetUserNames(txtSJRGH.Value);
|
||
txtSJR.Text = txtSJRMC.Value + ";";
|
||
txtCSRGH.Value = GetCSR(GetYJYHGH(sSend1 + "," + sSend2), txtSJRGH.Value);
|
||
if (!string.IsNullOrEmpty(txtCSRGH.Value))
|
||
{
|
||
txtCSRMC.Value = GetUserNames(txtCSRGH.Value);
|
||
txtCSR.Text = txtCSRMC.Value + ";";
|
||
}
|
||
|
||
}
|
||
}
|
||
|
||
//整合抄送人,如果抄送人里已经包含了收件人,则剔除收件人
|
||
private string GetCSR(string sCSR, string sSJR)
|
||
{
|
||
string sRCSR = "";
|
||
foreach (string tempCSR in sCSR.Split(','))
|
||
{
|
||
if (!("," + sSJR + ",").Contains("," + tempCSR + ","))
|
||
{
|
||
if (!sRCSR.Equals(""))
|
||
sRCSR += ",";
|
||
sRCSR += tempCSR;
|
||
}
|
||
}
|
||
return sRCSR;
|
||
}
|
||
|
||
private String GetMCID(string sID)
|
||
{
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
|
||
TSQL sql = new TSQL(dberp);
|
||
DataSet ds;
|
||
sql.Add("select rtrim(RSRYJBXX_RYMC) as MAILNAME from RSRYJBXX ");
|
||
sql.Add("where RSRYJBXX_GH=:pGH and isnull(RSRYJBXX_USER,' ')='Y'");
|
||
sql.ParamByName("pGH").Value = sID;
|
||
ds = dberp.OpenDataSet(sql);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
return string.Format("{0}<{1}>", ds.Tables[0].Rows[0]["MAILNAME"].ToString().Trim(), sID);
|
||
}
|
||
else
|
||
return "";
|
||
}
|
||
|
||
private string GetYJYHGH(string sYJRY)
|
||
{
|
||
string sRYGHList = "";
|
||
foreach (string sRY in sYJRY.Split(','))
|
||
{
|
||
if (!sRY.Trim().Equals(""))
|
||
{
|
||
string sID = "";
|
||
string [] arrIdAndName = sRY.Split('<');
|
||
if (arrIdAndName.Length <= 1)
|
||
{
|
||
sID = arrIdAndName[0];
|
||
}
|
||
else
|
||
{
|
||
sID = arrIdAndName[1].ToString().TrimEnd('>');
|
||
}
|
||
if (!sRYGHList.Equals(""))
|
||
sRYGHList += ",";
|
||
sRYGHList += sID;
|
||
}
|
||
}
|
||
return sRYGHList;
|
||
}
|
||
|
||
// 引用原邮件的内容
|
||
private String GetQuote(string backColor, string mailUserName, string mailFromTime, string mailToUsers, string mailCopyFor, string mailTitle, string mailContent)
|
||
{
|
||
string style = "background-color:" + backColor + ";padding-left:5px;padding-right:5px;word-break:break-all;";
|
||
StringBuilder sResult = new StringBuilder();
|
||
sResult.AppendLine("<br><br><br><br><font face=宋体 size=2>");
|
||
sResult.AppendLine("<div style='border:#000000 1px solid;width:95%'>");
|
||
sResult.AppendLine("<div align=center style='" + style + ";border-bottom:#000000 1px solid;padding:5px'><strong>回复邮件</strong></div>");
|
||
sResult.AppendLine("<div style='" + style + ";padding-top:5px'><strong>" + "发件人:" + "</strong>" + mailUserName + "</div>");
|
||
sResult.AppendLine("<div style='" + style + "'> <strong>" + "时间:" + "</strong>" + mailFromTime + "</div>");
|
||
sResult.AppendLine("<div style='" + style + "'><strong>" + "收件人:" + "</strong>" + mailToUsers + "</div>");
|
||
sResult.AppendLine("<div style='" + style + "'> <strong>" + "抄送:" + "</strong>" + mailCopyFor + "</div>");
|
||
sResult.AppendLine("<div style='" + style + ";border-bottom:#000000 1px solid;padding-bottom:5px'> <strong>" + "主题:" + "</strong>" + mailTitle + "</div>");
|
||
sResult.AppendLine("</div></font>");
|
||
sResult.AppendLine("<div style='padding:0px'>" + "<br>" + mailContent + "</div>");
|
||
return sResult.ToString();
|
||
}
|
||
|
||
#endregion
|
||
|
||
protected void btnOK_Click(object sender, EventArgs e)
|
||
{
|
||
if (string.IsNullOrEmpty(txtSJRGH.Value))
|
||
{
|
||
ShowMessage("收件人不允许为空!");
|
||
return;
|
||
}
|
||
if (string.IsNullOrEmpty(txtGTNR.Value.Trim()))
|
||
{
|
||
ShowMessage("沟通内容不允许为空!");
|
||
return;
|
||
}
|
||
foreach (string sSJRGH in txtSJRGH.Value.Trim().Split(','))
|
||
{
|
||
if (!CheckYJLL(sSJRGH))
|
||
{
|
||
ShowMessage(sSJRGH + "|" + tSession.GetUser(sSJRGH).Name + "无[100232002|邮件]模块权限,无法接收您发送的邮件!");
|
||
return;
|
||
}
|
||
}
|
||
if (!txtCSRGH.Value.Trim().Equals(""))
|
||
{
|
||
foreach (string sCSRGH in txtCSRGH.Value.Trim().Split(','))
|
||
{
|
||
if (!CheckYJLL(sCSRGH))
|
||
{
|
||
ShowMessage(sCSRGH + "|" + tSession.GetUser(sCSRGH).Name + "无[100232002|邮件]模块权限,无法接收您发送的邮件!");
|
||
return;
|
||
}
|
||
}
|
||
}
|
||
if (string.IsNullOrEmpty(PageParam.GetRTrimString("tmpSJR")))
|
||
{
|
||
string sTitel = "";
|
||
if (txtTitle.Value.Trim().IndexOf("答复:") > -1)
|
||
sTitel = txtTitle.Value.Trim();
|
||
else
|
||
sTitel = "答复:" + txtTitle.Value.Trim();
|
||
string sNR = txtGTNR.Value;
|
||
string sSJR = getMailUser(txtSJRGH.Value.Trim());
|
||
string sCSR = getMailUser(txtCSRGH.Value.Trim());
|
||
CMISproSystemOperation.SendMail2(tSession, tSession.UserId, sSJR, sTitel, sNR, sCSR, "", 0.0, "", "", true);
|
||
ShowMessage(sTitel + "邮件发送成功!");
|
||
DialogOperationScript dos = new DialogOperationScript(this);
|
||
dos.CloseOwner();
|
||
dos.CloseSelf();
|
||
dos.Execute();
|
||
}
|
||
else
|
||
{
|
||
string sMDID = PageParam.GetRTrimString("tmpMDID").Trim();
|
||
string sWFINST = PageParam.GetRTrimString("tmpWFINST").Trim();
|
||
string sWFID = PageParam.GetRTrimString("tmpWFID").Trim();
|
||
string sBJDID = PageParam.GetRTrimString("tmpBJDID").Trim();
|
||
string sTitel = "线缆销售报价【" + sBJDID + "】材料用量沟通";
|
||
string sNR = txtGTNR.Value;
|
||
sNR += "<br/><br/>详见<a href=\"javascript:top.GT_showModalDialog('','" + getURL(Convert.ToInt32(sMDID), sWFID, sWFINST) + "', 0, 0, null, window.parent);\">相关业务功能</a>";
|
||
string sSJR = getMailUser(txtSJRGH.Value.Trim());
|
||
string sCSR = getMailUser(txtCSRGH.Value.Trim());
|
||
CMISproSystemOperation.SendMail2(tSession, tSession.UserId, sSJR, sTitel, sNR, sCSR, "", 0.0, "", "", true);
|
||
ShowMessage(sTitel + "邮件发送成功!");
|
||
DialogOperationScript dos = new DialogOperationScript(this);
|
||
dos.CloseSelf();
|
||
dos.Execute();
|
||
}
|
||
}
|
||
|
||
protected void btnQX_Click(object sender, EventArgs e)
|
||
{
|
||
DialogOperationScript dos = new DialogOperationScript(this);
|
||
dos.CloseSelf();
|
||
dos.Execute();
|
||
}
|
||
|
||
protected void btnSJ_Click(object sender, EventArgs e)
|
||
{
|
||
TRYXX.OpenSelectRYBMDialog(false, true, false, false, txtSJRID.ClientID, txtSJRGH.ClientID, txtSJRMC.ClientID, "", "", "", "", txtSJR.ClientID, "", txtSJRID.ClientID, txtSJRGH.Value, "", "", false, true, "", "", btnSJ);
|
||
}
|
||
|
||
protected void btnCS_Click(object sender, EventArgs e)
|
||
{
|
||
TRYXX.OpenSelectRYBMDialog(false, true, false, false, txtCSRID.ClientID, txtCSRGH.ClientID, txtCSRMC.ClientID, "", "", "", "", txtCSR.ClientID, "", txtCSRID.ClientID, txtCSRGH.Value, "", "", false, true, "", "", btnCS);
|
||
}
|
||
}
|
||
}
|