Exemplo n.º 1
0
        /// <summary>
        /// 退回当前流程
        /// </summary>
        /// <param name="context"></param>
        /// <param name="msg"></param>
        /// <param name="P1"></param>
        /// <param name="P2"></param>
        /// <param name="UserInfo"></param>
        public void REBACKWF(JObject context, Msg_Result msg, string P1, string P2, JH_Auth_UserB.UserInfo UserInfo)
        {
            try
            {
                int        PID = int.Parse(P1);
                Yan_WF_PIB PIB = new Yan_WF_PIB();
                if (PIB.isCanSP(UserInfo.User.UserName, PID) == "Y")            //先判断用户能不能处理此流程
                {
                    new Yan_WF_PIB().REBACKLC(UserInfo.User.UserName, PID, P2); //结束任务
                    string ModeCode = context.Request("formcode") ?? "LCSP";

                    if (!string.IsNullOrEmpty(ModeCode))
                    {
                        Yan_WF_PI PI = new Yan_WF_PIB().GetEntity(d => d.ID == PID);


                        //消息提醒
                        SZHL_TXSX TX = new SZHL_TXSX();
                        TX.Date               = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                        TX.APIName            = "FORMBI";
                        TX.ComId              = UserInfo.User.ComId;
                        TX.FunName            = "LCSPCHECK";
                        TX.intProcessStanceid = PID;
                        TX.CRUserRealName     = UserInfo.User.UserRealName;
                        TX.MsgID              = PID.ToString();
                        TX.TXContent          = UserInfo.User.UserRealName + "退回了" + new Yan_WF_PDB().GetEntity(d => d.ID == PI.PDID.Value).ProcessName + ",请您查阅";
                        TX.TXUser             = PI.CRUser;
                        TX.TXMode             = ModeCode;
                        TX.CRUser             = UserInfo.User.UserName;
                        TXSXAPI.AddALERT(TX); //时间为发送时间
                    }
                }
                else
                {
                    msg.ErrorMsg = "该流程已被处理,您已无法处理此流程";
                }
            }
            catch (Exception ex)
            {
                msg.ErrorMsg = ex.Message;
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// 添加短信内容并发送短信
        /// </summary>
        /// <param name="context"></param>
        /// <param name="msg"></param>
        /// <param name="P1"></param>
        /// <param name="P2"></param>
        /// <param name="UserInfo"></param>
        public void ADDDXGL(JObject context, Msg_Result msg, string P1, string P2, JH_Auth_UserB.UserInfo UserInfo)
        {
            try
            {
                SZHL_DXGL dxgl = JsonConvert.DeserializeObject <SZHL_DXGL>(P1);
                if (dxgl.dxContent.Trim() != "")
                {
                    dxgl.CRUser   = UserInfo.User.UserName;
                    dxgl.CRDate   = DateTime.Now;
                    dxgl.SendTime = dxgl.SendTime == null ? DateTime.Now : dxgl.SendTime;
                    dxgl.ComId    = UserInfo.User.ComId.Value;
                    //发送短信
                    new SZHL_DXGLB().Insert(dxgl);

                    //消息提醒
                    SZHL_TXSX TX = new SZHL_TXSX();
                    TX.Date      = dxgl.SendTime.Value.ToString("yyyy-MM-dd HH:mm:ss");
                    TX.APIName   = "DXGL";
                    TX.ComId     = UserInfo.User.ComId;
                    TX.FunName   = "DXGLCHECK";
                    TX.MsgID     = dxgl.ID.ToString();
                    TX.TXContent = dxgl.dxContent;
                    TX.TXUser    = dxgl.dxnums;
                    TX.TXMode    = "DXGL";
                    TX.CRUser    = UserInfo.User.UserName;
                    TXSXAPI.AddALERT(TX); //时间为发送时间
                }
                else
                {
                    msg.ErrorMsg = "请输入短信内容";
                }
            }
            catch (Exception ex)
            {
                msg.ErrorMsg = ex.Message;
            }
        }
Exemplo n.º 3
0
        /// <summary>
        /// 发放工资条
        /// </summary>
        /// <param name="context"></param>
        /// <param name="msg"></param>
        /// <param name="P1"></param>
        /// <param name="P2"></param>
        /// <param name="UserInfo"></param>
        public void FFXZ(JObject context, Msg_Result msg, string P1, string P2, JH_Auth_UserB.UserInfo UserInfo)
        {
            if (string.IsNullOrWhiteSpace(P1))
            {
                msg.ErrorMsg = "发送失败";
                return;
            }

            string taitou  = context.Request("taitou") ?? "";
            string luokuan = context.Request("luokuan") ?? "";
            string ffdx    = context.Request("ffdx") ?? "";
            string ffwx    = context.Request("ffwx") ?? "";
            string ym      = context.Request("ym") ?? "";

            SZHL_XZ_JL xzjj = new SZHL_XZ_JL();

            xzjj.YearMonth  = ym;
            xzjj.title      = P2;
            xzjj.rise       = taitou;
            xzjj.Inscribe   = luokuan;
            xzjj.ComId      = UserInfo.User.ComId;
            xzjj.CRDate     = DateTime.Now;
            xzjj.CRUser     = UserInfo.User.UserName;
            xzjj.salaryData = P1;
            new SZHL_XZ_JLB().Insert(xzjj);

            //string shibaiuser = "";

            #region 工资单
            List <JObject> xxb = JsonConvert.DeserializeObject <List <JObject> >(P1);
            foreach (var a in xxb)
            {
                bool   bl       = false;
                string username = a["姓名"] != null ? a["姓名"].ToString().Trim() : "";
                string bmname   = a["部门"] != null ? a["部门"].ToString().Trim() : "";
                string tel      = a["用户编码"] != null ? a["用户编码"].ToString().Trim() : "";



                SZHL_XZ_GZD gzd = new SZHL_XZ_GZD();
                gzd.ComId        = UserInfo.User.ComId;
                gzd.CRUser       = UserInfo.User.UserName;
                gzd.CRDate       = DateTime.Now;
                gzd.YearMonth    = ym;
                gzd.Telephone    = tel;
                gzd.BranchCode   = xzjj.ID;//没地方存,只能存这个字段了
                gzd.salaryData   = a.ToString();
                gzd.title        = P2;
                gzd.rise         = taitou;
                gzd.Inscribe     = luokuan;
                gzd.IsRead       = 0;
                gzd.UserRealName = username;
                gzd.BranchName   = bmname;

                //List<JH_Auth_User> users = new JH_Auth_UserB().GetEntities(d => d.ComId == UserInfo.User.ComId && (d.mobphone == tel || d.UserName == tel || d.JobNum == tel || d.UserRealName == username)).ToList();
                List <JH_Auth_User> users = new JH_Auth_UserB().GetEntities(d => d.ComId == UserInfo.User.ComId && d.UserRealName == username).ToList();

                if (users.Count > 0)
                {
                    gzd.UserName = users[0].UserName;
                    bl           = true;
                    new SZHL_XZ_GZDB().Delete(d => d.UserName == gzd.UserName && d.YearMonth == ym);//先删除该年月的发薪记录
                }


                new SZHL_XZ_GZDB().Insert(gzd);

                if (ffwx == "1" && tel != "" && bl)
                {
                    SZHL_TXSX CSTX = new SZHL_TXSX();
                    CSTX.Date           = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                    CSTX.APIName        = "XZGL";
                    CSTX.ComId          = UserInfo.User.ComId;
                    CSTX.FunName        = "SENDXZMSG";
                    CSTX.CRUserRealName = UserInfo.User.UserRealName;

                    CSTX.MsgID     = gzd.ID.ToString();
                    CSTX.TXContent = taitou;
                    CSTX.ISCS      = "N";
                    CSTX.TXUser    = users[0].UserName;
                    CSTX.TXMode    = "XZFF";
                    CSTX.CRUser    = UserInfo.User.UserName;
                    TXSXAPI.AddALERT(CSTX); //时间为发送时间
                }
                if (ffdx == "1" && tel != "")
                {
                    string hj = a["合计"] != null ? a["合计"].ToString().Trim() : "";
                    new SZHL_DXGLB().SendSMS(tel, username + "," + taitou + "," + "合计:" + hj + "元.点击" + UserInfo.QYinfo.WXUrl.TrimEnd('/') + "/View_Mobile/UI/UI_GZD_VIEW.html?ID=" + gzd.ID + " 查看详情", UserInfo.QYinfo.ComId);
                }
            }
            #endregion

            //msg.Result = shibaiuser.TrimEnd(',');
        }
Exemplo n.º 4
0
        /// <summary>
        /// 开始流程
        /// </summary>
        /// <param name="context"></param>
        /// <param name="msg"></param>
        /// <param name="P1">启动流程的应用Code</param>
        /// <param name="P2">审核人信息</param>
        /// <param name="UserInfo"></param>
        public void STARTWF(JObject context, Msg_Result msg, string P1, string P2, JH_Auth_UserB.UserInfo UserInfo)
        {
            try
            {
                string strModelCode = P1;
                string strCSR       = context.Request("csr") ?? "";
                string strZSR       = context.Request("zsr") ?? "";
                string strContent   = context.Request("content") ?? "";



                int PDID = 0;
                int.TryParse(context.Request("PDID") ?? "0", out PDID);
                Yan_WF_PD PD = new Yan_WF_PDB().GetEntity(d => d.ID == PDID && d.ComId == UserInfo.User.ComId);

                if (PD == null)
                {
                    //没有流程,直接返回
                    return;
                }
                Yan_WF_PIB    PIB          = new Yan_WF_PIB();
                List <string> ListNextUser = new List <string>();//获取下一任务的处理人
                Yan_WF_PI     PI           = new Yan_WF_PI();
                PI.CRUserName   = UserInfo.User.UserRealName;
                PI.BranchName   = UserInfo.BranchInfo.DeptName;
                PI.BranchNO     = UserInfo.BranchInfo.DeptCode;
                PI.Content      = strContent;
                PI.PDID         = PD.ID;
                PI.WFFormNum    = new Yan_WF_PIB().CreateWFNum(PI.PDID.ToString());
                PI.ComId        = PD.ComId;
                PI.StartTime    = DateTime.Now;
                PI.CRUser       = UserInfo.User.UserName;
                PI.CRDate       = DateTime.Now;
                PI.PITYPE       = PD.ProcessType;
                PI.ChaoSongUser = strCSR;
                PI.isGD         = "N";
                new Yan_WF_PIB().Insert(PI);



                Yan_WF_TI TI = PIB.StartWF(PD, strModelCode, UserInfo.User.UserName, strZSR, strCSR, PI, ref ListNextUser);

                //返回新增的任务
                msg.Result  = PI;
                msg.Result1 = TI;


                //发送消息给审核人员
                string jsr = ListNextUser.ListTOString(',');
                if (!string.IsNullOrEmpty(jsr))
                {
                    SZHL_TXSX TX = new SZHL_TXSX();
                    TX.Date               = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                    TX.APIName            = "FORMBI";
                    TX.ComId              = UserInfo.User.ComId;
                    TX.FunName            = "LCSPCHECK";
                    TX.intProcessStanceid = TI.PIID;
                    TX.CRUserRealName     = UserInfo.User.UserRealName;
                    TX.MsgID              = TI.PIID.ToString();
                    TX.TXContent          = UserInfo.User.UserRealName + "发起了一个" + PD.ProcessName + ",请您查阅审核";
                    TX.TXUser             = jsr;
                    TX.TXMode             = strModelCode;
                    TX.CRUser             = UserInfo.User.UserName;
                    TXSXAPI.AddALERT(TX); //时间为发送时间
                }
                //发送消息
            }
            catch (Exception ex)
            {
                msg.ErrorMsg = ex.Message;
            }
        }
Exemplo n.º 5
0
        public void MANAGEWF(JObject context, Msg_Result msg, string P1, string P2, JH_Auth_UserB.UserInfo UserInfo)
        {
            try
            {
                string strShUser  = context.Request("SHUser") ?? "";
                string strCSUser  = context.Request("csr") ?? "";
                string modelcode  = context.Request("formcode") ?? "";
                string strContent = context.Request("content") ?? "";

                int PID = int.Parse(P1);



                Yan_WF_PIB PIB = new Yan_WF_PIB();
                if (PIB.isCanSP(UserInfo.User.UserName, PID) == "Y")//先判断用户能不能处理此流程
                {
                    List <string> ListNextUser = new List <string>();
                    PIB.MANAGEWF(UserInfo.User.UserName, PID, P2, ref ListNextUser, strShUser);//处理任务
                    Yan_WF_PI PI = PIB.GetEntity(d => d.ID == PID);
                    //更新抄送人
                    PI.ChaoSongUser = strCSUser;
                    PIB.Update(PI);
                    //更新抄送人

                    Yan_WF_PD PD = new Yan_WF_PDB().GetEntity(d => d.ID == PI.PDID.Value);

                    string content   = PI.CRUserName + "发起了" + PD.ProcessName + "表单,等待您审阅";
                    string strTXUser = ListNextUser.ListTOString(',');
                    string funName   = "LCSPCHECK";
                    //添加消息提醒
                    string strIsComplete = ListNextUser.Count() == 0 ? "Y" : "N"; //结束流程,找不到人了
                    if (strIsComplete == "Y")                                     //找不到下家就结束流程,并且给流程发起人发送消息
                    {
                        PIB.ENDWF(PID);
                        msg.Result = "Y";//已结束
                        content    = UserInfo.User.UserRealName + "审批完成了您发起的" + PD.ProcessName + "表单";
                        strTXUser  = PI.CRUser;
                        funName    = "LCSPCHECK";
                        //发送消息给抄送人
                        if (!string.IsNullOrEmpty(PI.ChaoSongUser))
                        {
                            SZHL_TXSX CSTX = new SZHL_TXSX();
                            CSTX.Date               = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                            CSTX.APIName            = "FORMBI";
                            CSTX.ComId              = UserInfo.User.ComId;
                            CSTX.FunName            = "LCSPCHECK";
                            CSTX.intProcessStanceid = PID;
                            CSTX.CRUserRealName     = UserInfo.User.UserRealName;
                            CSTX.MsgID              = PID.ToString();
                            CSTX.TXContent          = new JH_Auth_UserB().GetEntity(p => p.ComId == PI.ComId && p.UserName == PI.CRUser).UserRealName + "抄送一个" + PD.ProcessName + ",请您查阅接收";
                            CSTX.ISCS               = "Y";
                            CSTX.TXUser             = PI.ChaoSongUser;
                            CSTX.TXMode             = modelcode;
                            CSTX.CRUser             = UserInfo.User.UserName;
                            TXSXAPI.AddALERT(CSTX); //时间为发送时间
                        }
                    }
                    SZHL_TXSX TX = new SZHL_TXSX();
                    TX.Date               = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                    TX.APIName            = "FORMBI";
                    TX.ComId              = UserInfo.User.ComId;
                    TX.FunName            = funName;
                    TX.intProcessStanceid = PID;
                    TX.CRUser             = PI.CRUser;
                    TX.CRUserRealName     = UserInfo.User.UserRealName;
                    TX.MsgID              = PID.ToString();
                    TX.TXContent          = content;
                    TX.TXUser             = strTXUser;
                    TX.TXMode             = modelcode;
                    TXSXAPI.AddALERT(TX); //时间为发送时间
                }
                else
                {
                    msg.ErrorMsg = "该流程已被处理,您已无法处理此流程";
                }
            }
            catch (Exception ex)
            {
                msg.ErrorMsg = ex.Message;
            }
        }