public void PersonmoneyAssignSendTask(string strMasterID) { StringBuilder sb = new StringBuilder(); sb.AppendLine("【个人活动经费下拨审核通过 所有人发起待办】【MasterID:" + strMasterID + "】"); try { PersonmoneyAssignDetailBLL bll = new PersonmoneyAssignDetailBLL(); ChargeApplyMasterBLL chargeApplyBLL = new ChargeApplyMasterBLL(); EngineWcfGlobalFunctionClient engineClient = new EngineWcfGlobalFunctionClient(); var vResult = bll.GetPersonmoneyAssignDetailByMasterID(strMasterID); if (vResult != null && vResult.Count() > 0) { //需要发送待办的下拨子表数据 List<T_FB_PERSONMONEYASSIGNDETAIL> listNeedSend = new List<T_FB_PERSONMONEYASSIGNDETAIL>(); //业务数据成功保存后 发待办的数据 Dictionary<string,T_FB_PERSONMONEYASSIGNDETAIL> savedListNeedSend = new Dictionary<string,T_FB_PERSONMONEYASSIGNDETAIL>(); List<string> listString = new List<string>(); foreach(var v in vResult) { listString.Add(v.OWNERID); sb.AppendLine("【活动经费个人】【" + v.OWNERID + "】【" + v.OWNERNAME + "】"); } string[] listhaveTask = engineClient.GetPersonFromDoTaskByTitle(listString.ToArray(), "您的个人活动经费已下拨,费用报销单还未提交,请及时处理!"); #region 循环保存业务数据 foreach (var ent in vResult) { //只给未存在下拨待办的人,发送待办 if (listhaveTask.Where(c => c.Contains(ent.OWNERID)).FirstOrDefault() == null) { //sb.AppendLine("【需要发送待办的个人】【" + ent.OWNERID + "】【" + ent.OWNERNAME + "】"); T_FB_CHARGEAPPLYMASTER chargeApplyMaster = new T_FB_CHARGEAPPLYMASTER(); chargeApplyMaster.CREATECOMPANYID = ent.OWNERCOMPANYID; chargeApplyMaster.CREATECOMPANYNAME = ent.OWNERCOMPANYNAME; chargeApplyMaster.CREATEDEPARTMENTID = ent.OWNERDEPARTMENTID; chargeApplyMaster.CREATEDEPARTMENTNAME = ent.OWNERDEPARTMENTNAME; chargeApplyMaster.CREATEPOSTID = ent.OWNERPOSTID; chargeApplyMaster.CREATEPOSTNAME = ent.OWNERPOSTNAME; chargeApplyMaster.CREATEUSERID = ent.OWNERID; chargeApplyMaster.CREATEUSERNAME = ent.OWNERNAME; chargeApplyMaster.OWNERCOMPANYID = ent.OWNERCOMPANYID; chargeApplyMaster.OWNERCOMPANYNAME = ent.OWNERCOMPANYNAME; chargeApplyMaster.OWNERDEPARTMENTID = ent.OWNERDEPARTMENTID; chargeApplyMaster.OWNERDEPARTMENTNAME = ent.OWNERDEPARTMENTNAME; chargeApplyMaster.OWNERID = ent.OWNERID; chargeApplyMaster.OWNERNAME = ent.OWNERNAME; chargeApplyMaster.OWNERPOSTID = ent.OWNERPOSTID; chargeApplyMaster.OWNERPOSTNAME = ent.OWNERPOSTNAME; chargeApplyMaster.CHARGEAPPLYMASTERID = string.Empty; chargeApplyMaster.CHARGEAPPLYMASTERID = Guid.NewGuid().ToString(); chargeApplyMaster.CHARGEAPPLYMASTERCODE = " "; chargeApplyMaster.BUDGETARYMONTH = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM") + "-1"); chargeApplyMaster.PAYTYPE = 1; chargeApplyMaster.TOTALMONEY = 0; chargeApplyMaster.REPAYMENT = 0; chargeApplyMaster.EDITSTATES = 0; chargeApplyMaster.CHECKSTATES = 0; chargeApplyMaster.PAYTARGET = 1; chargeApplyMaster.UPDATEUSERID = ent.OWNERID; chargeApplyMaster.UPDATEUSERNAME = ent.OWNERNAME; chargeApplyMaster.CREATEDATE = DateTime.Now; chargeApplyMaster.UPDATEDATE = DateTime.Now; bool saveResult = chargeApplyBLL.Add(chargeApplyMaster); if (saveResult) { savedListNeedSend.Add(chargeApplyMaster.CHARGEAPPLYMASTERID, ent); } else { sb.AppendLine("【保存费用报销主数据失败】"); } } } #endregion #region 发送待办 List<SMT.SaaS.BLLCommonServices.EngineConfigWS.T_WF_DOTASK> tasks = new List<SMT.SaaS.BLLCommonServices.EngineConfigWS.T_WF_DOTASK>(); foreach (var v in savedListNeedSend) { SMT.SaaS.BLLCommonServices.EngineConfigWS.T_WF_DOTASK task = new SMT.SaaS.BLLCommonServices.EngineConfigWS.T_WF_DOTASK(); task.DOTASKID = Guid.NewGuid().ToString(); task.COMPANYID = v.Value.OWNERCOMPANYID; task.ORDERID = v.Key; task.ORDERUSERID = v.Value.OWNERID; task.ORDERUSERNAME = v.Value.OWNERNAME; task.ORDERSTATUS = 0; task.MESSAGEBODY = "您的个人活动经费已下拨,费用报销单还未提交,请及时处理!"; string strUrl = "<?xml version=\"1.0\" encoding=\"utf-8\"?><System>" + "<AssemblyName>SMT.FBAnalysis.UI</AssemblyName>" + "<PublicClass>SMT.FBAnalysis.UI.Common.Utility</PublicClass>" + "<ProcessName>CreateFormFromEngine</ProcessName>" + "<PageParameter>SMT.FBAnalysis.UI.Form.ChargeApplyForm</PageParameter>" + "<ApplicationOrder>{0}</ApplicationOrder>" + "<FormTypes>Edit</FormTypes></System>"; task.APPLICATIONURL = string.Format(strUrl, task.ORDERID); task.RECEIVEUSERID = v.Value.OWNERID; task.BEFOREPROCESSDATE = DateTime.Now.AddDays(3); task.DOTASKTYPE = 4; task.DOTASKSTATUS = 0; task.MAILSTATUS = 0; task.RTXSTATUS = 0; task.SYSTEMCODE = "FB"; task.MODELCODE = "T_FB_CHARGEAPPLYMASTER"; task.CREATEDATETIME = DateTime.Now; task.REMARK = "未提交单据"; tasks.Add(task); sb.AppendLine("【发送待办】【待办接收者:" + v.Value.OWNERNAME + "】【报销单号:" + task.ORDERID + "】"); } if (tasks.Count > 0) { var sendResult = engineClient.AddDoTaskEntity(tasks.ToArray()); sb.AppendLine("【调用Engine[AddDoTaskEntity]】【结果:" + sendResult + "】"); } else { sb.AppendLine("【不需要发送待办】"); } #endregion } } catch (Exception ex) { sb.AppendLine("【异常】【" + ex.Message + "】"); } SMT.Foundation.Log.Tracer.Debug(sb.ToString()); }
public void PersonmoneyAssignSendTask(string strMasterID) { StringBuilder sb = new StringBuilder(); sb.AppendLine("【个人活动经费下拨审核通过 所有人发起待办】【MasterID:" + strMasterID + "】"); try { PersonmoneyAssignDetailBLL bll = new PersonmoneyAssignDetailBLL(); ChargeApplyMasterBLL chargeApplyBLL = new ChargeApplyMasterBLL(); EngineWcfGlobalFunctionClient engineClient = new EngineWcfGlobalFunctionClient(); var vResult = bll.GetPersonmoneyAssignDetailByMasterID(strMasterID); if (vResult != null && vResult.Count() > 0) { //需要发送待办的下拨子表数据 List <T_FB_PERSONMONEYASSIGNDETAIL> listNeedSend = new List <T_FB_PERSONMONEYASSIGNDETAIL>(); //业务数据成功保存后 发待办的数据 Dictionary <string, T_FB_PERSONMONEYASSIGNDETAIL> savedListNeedSend = new Dictionary <string, T_FB_PERSONMONEYASSIGNDETAIL>(); List <string> listString = new List <string>(); foreach (var v in vResult) { listString.Add(v.OWNERID); sb.AppendLine("【活动经费个人】【" + v.OWNERID + "】【" + v.OWNERNAME + "】"); } string[] listhaveTask = engineClient.GetPersonFromDoTaskByTitle(listString.ToArray(), "您的个人活动经费已下拨,费用报销单还未提交,请及时处理!"); #region 循环保存业务数据 foreach (var ent in vResult) { //只给未存在下拨待办的人,发送待办 if (listhaveTask.Where(c => c.Contains(ent.OWNERID)).FirstOrDefault() == null) { //sb.AppendLine("【需要发送待办的个人】【" + ent.OWNERID + "】【" + ent.OWNERNAME + "】"); T_FB_CHARGEAPPLYMASTER chargeApplyMaster = new T_FB_CHARGEAPPLYMASTER(); chargeApplyMaster.CREATECOMPANYID = ent.OWNERCOMPANYID; chargeApplyMaster.CREATECOMPANYNAME = ent.OWNERCOMPANYNAME; chargeApplyMaster.CREATEDEPARTMENTID = ent.OWNERDEPARTMENTID; chargeApplyMaster.CREATEDEPARTMENTNAME = ent.OWNERDEPARTMENTNAME; chargeApplyMaster.CREATEPOSTID = ent.OWNERPOSTID; chargeApplyMaster.CREATEPOSTNAME = ent.OWNERPOSTNAME; chargeApplyMaster.CREATEUSERID = ent.OWNERID; chargeApplyMaster.CREATEUSERNAME = ent.OWNERNAME; chargeApplyMaster.OWNERCOMPANYID = ent.OWNERCOMPANYID; chargeApplyMaster.OWNERCOMPANYNAME = ent.OWNERCOMPANYNAME; chargeApplyMaster.OWNERDEPARTMENTID = ent.OWNERDEPARTMENTID; chargeApplyMaster.OWNERDEPARTMENTNAME = ent.OWNERDEPARTMENTNAME; chargeApplyMaster.OWNERID = ent.OWNERID; chargeApplyMaster.OWNERNAME = ent.OWNERNAME; chargeApplyMaster.OWNERPOSTID = ent.OWNERPOSTID; chargeApplyMaster.OWNERPOSTNAME = ent.OWNERPOSTNAME; chargeApplyMaster.CHARGEAPPLYMASTERID = string.Empty; chargeApplyMaster.CHARGEAPPLYMASTERID = Guid.NewGuid().ToString(); chargeApplyMaster.CHARGEAPPLYMASTERCODE = " "; chargeApplyMaster.BUDGETARYMONTH = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM") + "-1"); chargeApplyMaster.PAYTYPE = 1; chargeApplyMaster.TOTALMONEY = 0; chargeApplyMaster.REPAYMENT = 0; chargeApplyMaster.EDITSTATES = 0; chargeApplyMaster.CHECKSTATES = 0; chargeApplyMaster.PAYTARGET = 1; chargeApplyMaster.UPDATEUSERID = ent.OWNERID; chargeApplyMaster.UPDATEUSERNAME = ent.OWNERNAME; chargeApplyMaster.CREATEDATE = DateTime.Now; chargeApplyMaster.UPDATEDATE = DateTime.Now; bool saveResult = chargeApplyBLL.Add(chargeApplyMaster); if (saveResult) { savedListNeedSend.Add(chargeApplyMaster.CHARGEAPPLYMASTERID, ent); } else { sb.AppendLine("【保存费用报销主数据失败】"); } } } #endregion #region 发送待办 List <SMT.SaaS.BLLCommonServices.EngineConfigWS.T_WF_DOTASK> tasks = new List <SMT.SaaS.BLLCommonServices.EngineConfigWS.T_WF_DOTASK>(); foreach (var v in savedListNeedSend) { SMT.SaaS.BLLCommonServices.EngineConfigWS.T_WF_DOTASK task = new SMT.SaaS.BLLCommonServices.EngineConfigWS.T_WF_DOTASK(); task.DOTASKID = Guid.NewGuid().ToString(); task.COMPANYID = v.Value.OWNERCOMPANYID; task.ORDERID = v.Key; task.ORDERUSERID = v.Value.OWNERID; task.ORDERUSERNAME = v.Value.OWNERNAME; task.ORDERSTATUS = 0; task.MESSAGEBODY = "您的个人活动经费已下拨,费用报销单还未提交,请及时处理!"; string strUrl = "<?xml version=\"1.0\" encoding=\"utf-8\"?><System>" + "<AssemblyName>SMT.FBAnalysis.UI</AssemblyName>" + "<PublicClass>SMT.FBAnalysis.UI.Common.Utility</PublicClass>" + "<ProcessName>CreateFormFromEngine</ProcessName>" + "<PageParameter>SMT.FBAnalysis.UI.Form.ChargeApplyForm</PageParameter>" + "<ApplicationOrder>{0}</ApplicationOrder>" + "<FormTypes>Edit</FormTypes></System>"; task.APPLICATIONURL = string.Format(strUrl, task.ORDERID); task.RECEIVEUSERID = v.Value.OWNERID; task.BEFOREPROCESSDATE = DateTime.Now.AddDays(3); task.DOTASKTYPE = 4; task.DOTASKSTATUS = 0; task.MAILSTATUS = 0; task.RTXSTATUS = 0; task.SYSTEMCODE = "FB"; task.MODELCODE = "T_FB_CHARGEAPPLYMASTER"; task.CREATEDATETIME = DateTime.Now; task.REMARK = "未提交单据"; tasks.Add(task); sb.AppendLine("【发送待办】【待办接收者:" + v.Value.OWNERNAME + "】【报销单号:" + task.ORDERID + "】"); } if (tasks.Count > 0) { var sendResult = engineClient.AddDoTaskEntity(tasks.ToArray()); sb.AppendLine("【调用Engine[AddDoTaskEntity]】【结果:" + sendResult + "】"); } else { sb.AppendLine("【不需要发送待办】"); } #endregion } } catch (Exception ex) { sb.AppendLine("【异常】【" + ex.Message + "】"); } SMT.Foundation.Log.Tracer.Debug(sb.ToString()); }