Example #1
0
        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());

        }
Example #2
0
        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());
        }