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("



"); sResult.AppendLine("
"); sResult.AppendLine("
回复邮件
"); sResult.AppendLine("
" + "发件人:" + "" + mailUserName + "
"); sResult.AppendLine("
  " + "时间:" + "" + mailFromTime + "
"); sResult.AppendLine("
" + "收件人:" + "" + mailToUsers + "
"); sResult.AppendLine("
  " + "抄送:" + "" + mailCopyFor + "
"); sResult.AppendLine("
  " + "主题:" + "" + mailTitle + "
"); sResult.AppendLine("
"); sResult.AppendLine("
" + "
" + mailContent + "
"); 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 += "

详见相关业务功能"; 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); } } }