Files
N_XLXSBJ----MX/CLYL_YJGTInfo.aspx.cs
2026-08-21 17:03:02 +08:00

361 lines
14 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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 + "'>&nbsp;&nbsp;<strong>" + "时间:" + "</strong>" + mailFromTime + "</div>");
sResult.AppendLine("<div style='" + style + "'><strong>" + "收件人:" + "</strong>" + mailToUsers + "</div>");
sResult.AppendLine("<div style='" + style + "'>&nbsp;&nbsp;<strong>" + "抄送:" + "</strong>" + mailCopyFor + "</div>");
sResult.AppendLine("<div style='" + style + ";border-bottom:#000000 1px solid;padding-bottom:5px'>&nbsp;&nbsp;<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);
}
}
}