Exemple #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 GETHYSMODEL(HttpContext context, Msg_Result msg, string P1, string P2, JH_Auth_UserB.UserInfo UserInfo)
        {
            int            Id    = int.Parse(P1);
            SZHL_HYGL_ROOM model = new SZHL_HYGL_ROOMB().GetEntity(d => d.ID == Id && d.ComId == UserInfo.User.ComId);

            var st = DateTime.Now;

            var list = new SZHL_HYGLB().GetEntities(p => p.ComId == UserInfo.User.ComId && p.RoomID == model.ID && p.IsDel == 0 && st < p.EndTime).OrderBy(p => p.StartTime);

            List <int> li = new List <int>();

            foreach (var l in list)
            {
                var pi = new Yan_WF_PIB().GetEntity(p => p.ComId == UserInfo.User.ComId && p.ID == l.intProcessStanceid);
                if (pi != null)
                {
                    if (pi.IsCanceled == "Y")
                    {
                        li.Add(l.ID);
                    }
                }
            }

            var list1 = list.Where(p => !li.Contains(p.ID));


            msg.Result  = model;
            msg.Result1 = list1;
        }
Exemple #2
0
        public void CANCELWF(JObject context, Msg_Result msg, string P1, string P2, JH_Auth_UserB.UserInfo UserInfo)
        {
            string strMode = context.Request("ModelCode").ToString();



            int PIID = 0;

            if (!int.TryParse(P1, out PIID))
            {
                msg.ErrorMsg = "数据错误";
                return;
            }
            Yan_WF_PI PI          = new Yan_WF_PIB().GetEntity(d => d.ID == PIID);
            string    strISCanCel = new Yan_WF_PIB().isCanCancel(UserInfo.User.UserName, PI);

            if (strISCanCel == "N")
            {
                msg.ErrorMsg = "该表单已处理完毕,您无法再进行撤回操作";
                return;
            }
            //删除流程相关数据
            new Yan_WF_PIB().Delete(d => d.ID == PIID);
            new Yan_WF_TIB().Delete(d => d.PIID == PIID);

            //删除表单数据
        }
Exemple #3
0
        public void SAVEPIDATA(JObject context, Msg_Result msg, string P1, string P2, JH_Auth_UserB.UserInfo UserInfo)
        {
            int       pId = int.Parse(P1);
            Yan_WF_PI PI  = new Yan_WF_PIB().GetEntity(d => d.ID == pId);

            //更新抄送人
            PI.Content = P2;
            new Yan_WF_PIB().Update(PI);
        }
Exemple #4
0
        public void GETMANGWFDATA(JObject context, Msg_Result msg, string P1, string P2, JH_Auth_UserB.UserInfo UserInfo)
        {
            try
            {
                int PIID = int.Parse(P1);
                if (PIID > 0)
                {
                    Yan_WF_PI PIMODEL = new Yan_WF_PIB().GetEntity(d => d.ID == PIID);

                    if (PIMODEL == null)
                    {
                        msg.ErrorMsg = "流程数据已清除";
                        return;
                    }
                    else
                    {
                        DataTable dtList = new Yan_WF_TDB().GetEntities(d => d.ProcessDefinitionID == PIMODEL.PDID.Value).OrderBy(d => d.Taskorder).ToDataTable();
                        dtList.Columns.Add("userrealname");
                        dtList.Columns.Add("EndTime");
                        dtList.Columns.Add("TaskUserView");
                        dtList.Columns.Add("state");

                        foreach (DataRow dr in dtList.Rows)
                        {
                            string    tdCode  = dr["TDCODE"].ToString();
                            Yan_WF_TI tiModel = new Yan_WF_TIB().GetEntity(d => d.PIID == PIID && d.TDCODE == tdCode && d.EndTime != null);//
                            if (tiModel != null)
                            {
                                dr["userrealname"] = new JH_Auth_UserB().GetUserRealName(UserInfo.QYinfo.ComId, tiModel.TaskUserID);
                                dr["EndTime"]      = tiModel.EndTime;
                                dr["TaskUserView"] = tiModel.TaskUserView;
                                dr["state"]        = tiModel.TaskState;
                            }
                        }
                        msg.Result = dtList;

                        Yan_WF_PD pdmodel = new Yan_WF_PDB().GetEntity(d => d.ID == PIMODEL.PDID);
                        msg.Result1 = pdmodel;
                        msg.Result2 = "{ \"ISCANSP\":\"" + new Yan_WF_PIB().isCanSP(UserInfo.User.UserName, int.Parse(P1)) + "\",\"ISCANCEL\":\"" + new Yan_WF_PIB().isCanCancel(UserInfo.User.UserName, PIMODEL) + "\"}";
                        msg.Result3 = PIMODEL;//可修改字段
                        if (!string.IsNullOrEmpty(pdmodel.Files))
                        {
                            msg.Result4 = new FT_FileB().GetDTByCommand("SELECT * FROM FT_File WHERE ID IN (" + pdmodel.Files + ") ");
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                msg.ErrorMsg = ex.Message;
            }
        }
Exemple #5
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 GETKYHYSLIST(HttpContext context, Msg_Result msg, string P1, string P2, JH_Auth_UserB.UserInfo UserInfo)
        {
            //var list = new SZHL_HYGL_ROOMB().GetEntities(p => p.Status == "1" && p.IsDel == 0);
            DataTable dt = new SZHL_HYGL_ROOMB().GetDTByCommand("select * from dbo.SZHL_HYGL_ROOM where IsDel=0 and Status='1' and ComId=" + UserInfo.User.ComId);

            dt.Columns.Add("ZT", Type.GetType("System.String"));
            dt.Columns.Add("ZYSJ", Type.GetType("System.String"));

            foreach (DataRow dr in dt.Rows)
            {
                int rid  = Int32.Parse(dr["ID"].ToString());
                var st   = DateTime.Now;
                var et   = DateTime.Now.AddHours(3);
                var list = new SZHL_HYGLB().GetEntities(p => p.RoomID == rid && p.IsDel == 0 && ((st >= p.StartTime && st < p.EndTime) || (et > p.StartTime && et <= p.EndTime) || (et > p.StartTime && st <= p.StartTime) || (et >= p.EndTime && st < p.EndTime)) && p.ComId == UserInfo.User.ComId).OrderBy(p => p.StartTime);

                List <int> li = new List <int>();

                foreach (var l in list)
                {
                    var pi = new Yan_WF_PIB().GetEntity(p => p.ComId == UserInfo.User.ComId && p.ID == l.intProcessStanceid);
                    if (pi != null)
                    {
                        if (pi.IsCanceled == "Y")
                        {
                            li.Add(l.ID);
                        }
                    }
                }

                var list1 = list.Where(p => !li.Contains(p.ID));

                if (list1.Count() == 0)
                {
                    dr["ZT"]   = "0";
                    dr["ZYSJ"] = "";
                }
                else
                {
                    dr["ZT"]   = "1";
                    dr["ZYSJ"] = list1.First().StartTime.Value.ToString("yyyy-MM-dd HH:mm") + "~" + list1.First().EndTime.Value.ToString("yyyy-MM-dd HH:mm");
                }
            }

            msg.Result = dt;
        }
Exemple #6
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 GETYSPYCGLLIST_PAGE(HttpContext context, Msg_Result msg, string P1, string P2, JH_Auth_UserB.UserInfo UserInfo)
        {
            #region 已审核
            List <Yan_WF_TI> ListData = new Yan_WF_TIB().GetEntities("TaskUserID ='" + UserInfo.User.UserName + "' AND EndTime IS NOT NULL AND TaskUserView!='发起表单'").ToList();
            List <string>    intPro   = ListData.Select(d => d.PIID.ToString()).ToList();
            int page = 0;
            int.TryParse(P2, out page);
            page = page == 0 ? 1 : page;
            if (intPro.Count > 0)
            {
                string tableName   = string.Format(@" SZHL_YCGL ycgl inner join SZHL_YCGL_CAR  car on ycgl.CarID=car.ID inner join  Yan_WF_PI wfpi  on ycgl.intProcessStanceid=wfpi.ID");
                string tableColumn = "ycgl.* ,car.CarBrand,car.CarType,car.CarNum , case when wfpi.IsCanceled is null then '已审批'  WHEN wfpi.IsCanceled='Y' then '已退回' END StateName ";
                string strWhere    = " ycgl.ComId=" + UserInfo.User.ComId + " And ycgl.intProcessStanceid in (" + intPro.ListTOString(',') + ")";
                if (P1 != "")
                {
                    strWhere += string.Format(" And  ycgl.XCType='{0}'", P1);
                }
                if (P2 != "")
                {
                    strWhere += string.Format(" And  ycgl.Remark like '%{0}%'", P2);
                }

                int total = 0;

                DataTable dt = new SZHL_YCGLB().GetDataPager(tableName, tableColumn, 8, page, " ycgl.CRDate desc", strWhere, ref total);
                msg.Result  = dt;
                msg.Result1 = total;
            }
            #endregion
            #region 待审核
            if (page == 1 && P1 == "" && P2 == "")
            {
                List <string> intProD = new Yan_WF_PIB().GetDSH(UserInfo.User).Select(d => d.PIID.ToString()).ToList();
                if (intProD.Count() > 0)
                {
                    string tableNameD   = string.Format(@" SZHL_YCGL ycgl inner join SZHL_YCGL_CAR  car on ycgl.CarID=car.ID");
                    string tableColumnD = "ycgl.* ,car.CarBrand,car.CarType,car.CarNum , '正在审批' StateName";
                    string strWhereD    = " ycgl.ComId=" + UserInfo.User.ComId + " And ycgl.intProcessStanceid in (" + intProD.ListTOString(',') + ")";
                    string strSql       = string.Format("Select {0}  From {1} where {2} order by ycgl.CRDate desc", tableColumnD, tableNameD, strWhereD);
                    msg.Result2 = new SZHL_YCGLB().GetDTByCommand(strSql);
                }
            }
            #endregion
        }
Exemple #7
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;
            }
        }
Exemple #8
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 GETBDJKDATA(JObject context, Msg_Result msg, string P1, string P2, JH_Auth_UserB.UserInfo UserInfo)
        {
            string strSDate = context.Request("sdate") ?? DateTime.Now.AddYears(-20).ToString("yyyy-MM-dd");
            string strEDate = context.Request("edate") ?? DateTime.Now.AddDays(1).ToString("yyyy-MM-dd");

            string strWhere = "";

            if (P1 != "")
            {
                int pdid = 0;
                int.TryParse(P1, out pdid);
                strWhere = "AND  Yan_WF_PI.PDID='" + pdid + "'";
            }
            if (P2 == "1")
            {
                strWhere = strWhere + "AND  Yan_WF_PI.CRUser='******'";
            }
            string    strSQL = " SELECT Yan_WF_PI.*,Yan_WF_PD.ProcessName,Yan_WF_PD.ProcessClass,Yan_WF_PD.ProcessType FROM  Yan_WF_PI  INNER JOIN Yan_WF_PD ON Yan_WF_PI.PDID =Yan_WF_PD.ID  WHERE 1=1  " + strWhere + " AND Yan_WF_PI.CRDATE BETWEEN '" + strSDate + " 01:01:01'  AND '" + strEDate + " 23:59:59' ";
            DataTable dt     = new Yan_WF_PIB().GetDTByCommand(strSQL);

            dt.Columns.Add("StatusName");
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                int    pid           = int.Parse(dt.Rows[i]["ID"].ToString());
                string strStatusName = "正在审批";
                if (dt.Rows[i]["isComplete"].ToString() == "Y")
                {
                    strStatusName = "已审批";
                }
                if (dt.Rows[i]["IsCanceled"].ToString() == "Y")
                {
                    strStatusName = "已退回";
                }
                if (dt.Rows[i]["ProcessType"].ToString() == "-1")
                {
                    strStatusName = "无流程数据";
                }
                dt.Rows[i]["StatusName"] = strStatusName;
            }
            msg.Result = dt;
        }
Exemple #9
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 GETCLINFO(HttpContext context, Msg_Result msg, string P1, string P2, JH_Auth_UserB.UserInfo UserInfo)
        {
            int Id  = int.Parse(P1);
            var car = new SZHL_YCGL_CARB().GetEntity(d => d.ID == Id && d.ComId == UserInfo.User.ComId);

            msg.Result = car;
            //string strSql = string.Format("SELECT  ycgl.*  from SZHL_YCGL  ycgl inner join SZHL_YCGL_CAR car on ycgl.CarID=car.ID inner join  Yan_WF_PI wfpi on ycgl.intProcessStanceid=wfpi.ID where  wfpi.isComplete='Y' and ycgl.ComId={0} and ycgl.CarID={1}", UserInfo.User.ComId, Id);
            //msg.Result1 = new SZHL_YCGL_CARB().GetDTByCommand(strSql);
            int tid = Int32.Parse(car.CarType);

            msg.Result3 = new JH_Auth_ZiDianB().GetEntity(p => p.ID == tid);
            #region 微信端
            var st = DateTime.Now;

            var list = new SZHL_YCGLB().GetEntities(p => p.CarID == Id && p.IsDel == 0 && st < p.EndTime).OrderBy(p => p.StartTime);

            List <int> li = new List <int>();

            foreach (var l in list)
            {
                var pi = new Yan_WF_PIB().GetEntity(p => p.ID == l.intProcessStanceid);
                if (pi != null && pi.IsCanceled == "Y")
                {
                    li.Add(l.ID);
                }
            }

            var list1 = list.Where(p => !li.Contains(p.ID));

            msg.Result2 = list1;
            #endregion
            if (!string.IsNullOrEmpty(car.Files))
            {
                msg.Result4 = new FT_FileB().GetEntities(" ID in (" + car.Files + ")");
            }
        }
Exemple #10
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 ADDHYGL(HttpContext context, Msg_Result msg, string P1, string P2, JH_Auth_UserB.UserInfo UserInfo)
        {
            SZHL_HYGL HY = JsonConvert.DeserializeObject <SZHL_HYGL>(P1);

            if (HY == null)
            {
                msg.ErrorMsg = "添加失败";
                return;
            }
            if (string.IsNullOrWhiteSpace(HY.Title))
            {
                msg.ErrorMsg = "会议主题不能为空";
                return;
            }
            if (string.IsNullOrWhiteSpace(HY.CYUser))
            {
                msg.ErrorMsg = "参会人不能为空";
                return;
            }
            if (HY.StartTime >= HY.EndTime)
            {
                msg.ErrorMsg = "开始时间必须大于结束时间";
                return;
            }
            if (HY.ID == 0)
            {
                if (HY.RoomID == 0 || HY.RoomID == null)
                {
                    msg.ErrorMsg = "请选择会议室!";
                }
                else
                {
                    var        list = new SZHL_HYGLB().GetEntities(p => p.ComId == UserInfo.User.ComId && p.RoomID == HY.RoomID && p.IsDel == 0 && ((HY.StartTime >= p.StartTime && HY.StartTime < p.EndTime) || (HY.EndTime > p.StartTime && HY.EndTime <= p.EndTime) || (HY.EndTime > p.StartTime && HY.StartTime <= p.StartTime) || (HY.EndTime >= p.EndTime && HY.StartTime < p.EndTime))).OrderBy(p => p.StartTime);
                    List <int> li   = new List <int>();

                    foreach (var l in list)
                    {
                        var pi = new Yan_WF_PIB().GetEntity(p => p.ComId == UserInfo.User.ComId && p.ID == l.intProcessStanceid);
                        if (pi != null && pi.IsCanceled == "Y")
                        {
                            li.Add(l.ID);
                        }
                    }

                    var list1 = list.Where(p => !li.Contains(p.ID));

                    if (list1.Count() == 0)
                    {
                        if (P2 != "") // 处理微信上传的图片
                        {
                            string fids = new FT_FileB().ProcessWxIMG(P2, "HYGL", UserInfo);

                            if (!string.IsNullOrEmpty(HY.Files))
                            {
                                HY.Files += "," + fids;
                            }
                            else
                            {
                                HY.Files = fids;
                            }
                        }

                        HY.CRDate = DateTime.Now;
                        HY.CRUser = UserInfo.User.UserName;
                        HY.ComId  = UserInfo.User.ComId;
                        HY.IsDel  = 0;
                        new SZHL_HYGLB().Insert(HY);
                    }
                    else
                    {
                        msg.ErrorMsg = "选择的时间段中,此会议室已经被占用!";
                    }
                    //可用会议室需要优化,根据时间段来判断会议室是否可用
                    //List<SZHL_HYGL_ROOM> car1 = new SZHL_HYGL_ROOMB().GetEntities(d => d.ComId == UserInfo.User.ComId && d.ID == HY.RoomID && d.Status == "1" && d.IsDel == 0).ToList();
                }
            }
            else
            {
                new SZHL_HYGLB().Update(HY);
            }
            msg.Result = HY;
        }
Exemple #11
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 GETHYGLLIST(HttpContext context, Msg_Result msg, string P1, string P2, JH_Auth_UserB.UserInfo UserInfo)
        {
            string userName = UserInfo.User.UserName;
            string strWhere = " 1=1 and hy.ComId=" + UserInfo.User.ComId;

            string leibie = context.Request["lb"] ?? "";

            if (leibie != "")
            {
                strWhere += string.Format(" And hy.RoomID='{0}' ", leibie);
            }
            string strContent = context.Request["Content"] ?? "";

            strContent = strContent.TrimEnd();
            if (strContent != "")
            {
                strWhere += string.Format(" And ( hy.Title like '%{0}%' )", strContent);
            }
            int DataID = -1;

            int.TryParse(context.Request["ID"] ?? "-1", out DataID);//记录Id
            if (DataID != -1)
            {
                string strIsHasDataQX = new JH_Auth_QY_ModelB().ISHASDATAREADQX("HYGL", DataID, UserInfo);
                if (strIsHasDataQX == "Y")
                {
                    strWhere += string.Format(" And hy.ID = '{0}'", DataID);
                }
            }

            if (P1 != "")
            {
                int page      = 0;
                int pagecount = 8;
                int.TryParse(context.Request["p"] ?? "1", out page);
                int.TryParse(context.Request["pagecount"] ?? "8", out pagecount);//页数
                page = page == 0 ? 1 : page;
                int total = 0;

                DataTable dt = new DataTable();

                #region no use
                //                switch (P1)
                //                {
                //                    case "0":
                //                        string colNme1 = @"ycgl.*,case when ycgl.StartTime>getdate() then '即将开始' when ycgl.StartTime<=getdate() and ycgl.EndTime>=getdate() then '正在进行'
                //                                            when ycgl.EndTime<getdate() then '已结束' end as HLStatus,car.Name ,case WHEN wfpi.isComplete is null and wfpi.IsCanceled is null  THEN '正在审批'
                //                                            when wfpi.isComplete='Y' then '已审批'  WHEN wfpi.IsCanceled='Y' then '已退回' END as StateName";
                //                        //strWhere += " And cc.CRUser ='******'";
                //                        dt = new SZHL_CCXJB().GetDataPager("SZHL_HYGL ycgl inner join SZHL_HYGL_ROOM  car on ycgl.RoomID=car.ID  inner join  Yan_WF_PI wfpi  on ycgl.intProcessStanceid=wfpi.ID", colNme1, 8, page, " ycgl.CRDate desc", strWhere, ref total);
                //                        break;
                //                    case "1":
                //                        string colNme = @"ycgl.*,case when ycgl.StartTime>getdate() then '即将开始' when ycgl.StartTime<=getdate() and ycgl.EndTime>=getdate() then '正在进行'
                //                                            when ycgl.EndTime<getdate() then '已结束' end as HLStatus,car.Name ,case WHEN wfpi.isComplete is null and wfpi.IsCanceled is null  THEN '正在审批'
                //                                            when wfpi.isComplete='Y' then '已审批'  WHEN wfpi.IsCanceled='Y' then '已退回' END as StateName";
                //                        strWhere += " And ycgl.CRUser ='******'";
                //                        dt = new SZHL_CCXJB().GetDataPager("SZHL_HYGL ycgl inner join SZHL_HYGL_ROOM  car on ycgl.RoomID=car.ID  inner join  Yan_WF_PI wfpi  on ycgl.intProcessStanceid=wfpi.ID", colNme, 8, page, " ycgl.CRDate desc", strWhere, ref total);

                //                        break;
                //                    case "2":
                //                        string colNme2 = @"ycgl.*,case when ycgl.StartTime>getdate() then '即将开始' when ycgl.StartTime<=getdate() and ycgl.EndTime>=getdate() then '正在进行'
                //                                            when ycgl.EndTime<getdate() then '已结束' end as HLStatus,car.Name ,'已审批' StateName";
                //                        strWhere += string.Format(" And (','+ycgl.CYUser+','  like '%,{0},%' or ','+ycgl.JLUser+','  like '%,{0},%' or ','+ycgl.ZCUser+','  like '%,{0},%' or ','+ycgl.SXUser+','  like '%,{0},%'  ) and wfpi.isComplete='Y'", userName);
                //                        dt = new SZHL_CCXJB().GetDataPager("SZHL_HYGL ycgl inner join SZHL_HYGL_ROOM  car on ycgl.RoomID=car.ID  inner join  Yan_WF_PI wfpi  on ycgl.intProcessStanceid=wfpi.ID", colNme2, 8, page, " ycgl.StartTime desc", strWhere, ref total);

                //                        break;
                //                    case "3":
                //                        List<string> intProD = new Yan_WF_PIB().GetDSH(UserInfo.User).Select(d => d.PIID.ToString()).ToList();
                //                        if (intProD.Count > 0)
                //                        {
                //                            string tableNameD = string.Format(@" SZHL_HYGL ycgl inner join SZHL_HYGL_ROOM  car on ycgl.RoomID=car.ID");
                //                            string tableColumnD = "ycgl.* ,car.Name , '正在审批' StateName,case when ycgl.StartTime>getdate() then '即将开始' when ycgl.StartTime<=getdate() and ycgl.EndTime>=getdate() then '正在进行' when ycgl.EndTime<getdate() then '已结束' end as HLStatus";
                //                            strWhere += " And ycgl.intProcessStanceid in (" + (intProD.ListTOString(',') == "" ? "0" : intProD.ListTOString(',')) + ")";
                //                            dt = new SZHL_CCXJB().GetDataPager(tableNameD, tableColumnD, 8, page, " ycgl.CRDate desc", strWhere, ref total);
                //                        }
                //                        break;
                //                    case "4":
                //                        List<Yan_WF_TI> ListData = new Yan_WF_TIB().GetEntities("TaskUserID ='" + UserInfo.User.UserName + "' AND EndTime IS NOT NULL AND TaskUserView!='发起表单'").ToList();
                //                        List<string> intPro = ListData.Select(d => d.PIID.ToString()).ToList();
                //                        string tableName = string.Format(@" SZHL_HYGL ycgl inner join SZHL_HYGL_ROOM  car on ycgl.RoomID=car.ID inner join  Yan_WF_PI wfpi  on ycgl.intProcessStanceid=wfpi.ID");
                //                        string tableColumn = "ycgl.* ,car.Name ,  case when wfpi.IsCanceled is null then '已审批'   WHEN wfpi.IsCanceled='Y' then '已退回' END StateName,case when ycgl.StartTime>getdate() then '即将开始' when ycgl.StartTime<=getdate() and ycgl.EndTime>=getdate() then '正在进行' when ycgl.EndTime<getdate() then '已结束' end as HLStatus ";
                //                        strWhere += "  And ycgl.intProcessStanceid in (" + (intPro.ListTOString(',') == "" ? "0" : intPro.ListTOString(',')) + ")";

                //                        dt = new SZHL_CCXJB().GetDataPager(tableName, tableColumn, 8, page, " ycgl.CRDate desc", strWhere, ref total);
                //                        break;
                //                }
                #endregion

                switch (P1)
                {
                case "0":     //手机单条数据
                {
                    //设置usercenter已读
                    new JH_Auth_User_CenterB().ReadMsg(UserInfo, DataID, "HYGL");
                }
                break;

                case "1":     //创建的
                {
                    strWhere += " And hy.CRUser ='******'";
                }
                break;

                case "2":     //参与的
                {
                    strWhere += string.Format(" And (','+hy.CYUser+','  like '%,{0},%' or ','+hy.JLUser+','  like '%,{0},%' or ','+hy.ZCUser+','  like '%,{0},%' or ','+hy.SXUser+','  like '%,{0},%'  ) and ( dbo.fn_PDStatus(hy.intProcessStanceid)='已审批' or dbo.fn_PDStatus(hy.intProcessStanceid)='-1')", userName);
                }
                break;

                case "3":     //待审核
                {
                    var intProD = new Yan_WF_PIB().GetDSH(UserInfo.User).Select(d => d.PIID.ToString()).ToList();
                    if (intProD.Count > 0)
                    {
                        strWhere += " And hy.intProcessStanceid in (" + (intProD.ListTOString(',') == "" ? "0" : intProD.ListTOString(',')) + ")";
                    }
                    else
                    {
                        strWhere += " And 1=0";
                    }
                }
                break;

                case "4":      //已审核
                {
                    var intProD = new Yan_WF_PIB().GetYSH(UserInfo.User).Select(d => d.PIID.ToString()).ToList();
                    if (intProD.Count > 0)
                    {
                        strWhere += " And hy.intProcessStanceid in (" + (intProD.ListTOString(',') == "" ? "0" : intProD.ListTOString(',')) + ")";
                    }
                    else
                    {
                        strWhere += " And 1=0";
                    }
                }
                break;
                }

                dt = new SZHL_CCXJB().GetDataPager("SZHL_HYGL hy left join SZHL_HYGL_ROOM hys on hy.RoomID=hys.ID", "hy.*,hys.Name ,dbo.fn_PDStatus(hy.intProcessStanceid) AS StateName,case when hy.StartTime>getdate() then '即将开始' when hy.StartTime<=getdate() and hy.EndTime>=getdate() then '正在进行' when hy.EndTime<getdate() then '已结束' end as HLStatus ", pagecount, page, " hy.CRDate desc", strWhere, ref total);

                if (dt.Rows.Count > 0)
                {
                    dt.Columns.Add("RYStatus", Type.GetType("System.String"));
                    dt.Columns.Add("FileList", Type.GetType("System.Object"));
                    dt.Columns.Add("PLList", Type.GetType("System.Object"));
                    foreach (DataRow dr in dt.Rows)
                    {
                        if (dr["Files"] != null && dr["Files"].ToString() != "")
                        {
                            dr["FileList"] = new FT_FileB().GetEntities(" ID in (" + dr["Files"].ToString() + ")");
                        }
                        string strid = dr["ID"].ToString();
                        var    hysat = new JH_Auth_TLB().GetEntities(p => p.ComId == UserInfo.User.ComId && p.MSGType == "HYGL" && p.MSGTLYID == strid && p.CRUser == UserInfo.User.UserName && p.MsgISShow != null).OrderByDescending(p => p.CRDate).ToList();
                        if (hysat.Count() > 0)
                        {
                            string strs = string.Empty;
                            foreach (var l in hysat)
                            {
                                if (string.IsNullOrEmpty(strs))
                                {
                                    strs = l.MsgISShow;
                                }
                                else
                                {
                                    strs = strs + "," + l.MsgISShow;
                                }
                            }
                            dr["RYStatus"] = strs;
                        }

                        dr["PLList"] = new JH_Auth_TLB().GetEntities(p => p.ComId == UserInfo.User.ComId && p.MSGType == "HYGL" && p.MSGTLYID == strid);
                    }
                }
                msg.Result  = dt;
                msg.Result1 = total;
            }
        }
Exemple #12
0
        public void SAVEEXDATA(JObject context, Msg_Result msg, string P1, string P2, JH_Auth_UserB.UserInfo UserInfo)
        {
            int piId = 0;

            int.TryParse(P1, out piId);
            int PDID = 0;

            int.TryParse(P2, out PDID);
            Yan_WF_PI lcsp = new Yan_WF_PIB().GetEntity(d => d.ID == piId);
            Yan_WF_PD pd   = new Yan_WF_PDB().GetEntity(d => d.ID == PDID);



            JArray datas = (JArray)JsonConvert.DeserializeObject(lcsp.Content);
            var    dt    = new Dictionary <string, object>();

            dt.Add("CRUser", UserInfo.User.UserName);
            dt.Add("CRDate", DateTime.Now);
            dt.Add("ComID", UserInfo.User.ComId.Value);
            dt.Add("intProcessStanceid", piId);
            try
            {
                List <JH_Auth_ExtendData> ListNew = new List <JH_Auth_ExtendData>();
                foreach (JObject item in datas)
                {
                    JH_Auth_ExtendData Model = new JH_Auth_ExtendData();
                    Model.ComId         = UserInfo.User.ComId;
                    Model.BranchNo      = UserInfo.User.BranchCode;
                    Model.DataID        = piId;
                    Model.PDID          = PDID;
                    Model.TableName     = "LCSP";
                    Model.ExFiledColumn = (string)item["wigdetcode"];
                    Model.ExFiledName   = (string)item["title"];
                    string strValue = "";
                    strValue = (string)item["value"];
                    Model.ExtendDataValue = strValue.Trim(',');
                    Model.CRUser          = UserInfo.User.UserName;
                    Model.CRDate          = DateTime.Now;
                    Model.CRUserName      = UserInfo.User.UserRealName;
                    Model.BranchNo        = UserInfo.BranchInfo.DeptCode;
                    Model.BranchName      = UserInfo.BranchInfo.DeptName;
                    ListNew.Add(Model);

                    string strglfiled = (string)item["glfiled"] ?? "";
                    if (strglfiled != "")
                    {
                        dt.Add(strglfiled, strValue);
                    }
                }
                new JH_Auth_ExtendDataB().Delete(d => d.DataID == piId && d.PDID == PDID);
                new JH_Auth_ExtendDataB().Insert(ListNew);

                if (!string.IsNullOrEmpty(pd.RelatedTable))
                {
                    int       intcount = new Yan_WF_PDB().GetDTByCommand("SELECT * FROM " + pd.RelatedTable + " WHERE intProcessStanceid='" + piId.ToString() + "'").Rows.Count;
                    DBFactory db       = new BI_DB_SourceB().GetDB(0);
                    if (intcount > 0)
                    {
                        //更新
                    }
                    else
                    {
                        //新增
                        db.InserData(dt, pd.RelatedTable);
                    }
                }
            }
            catch (Exception ex)
            {
            }
        }
Exemple #13
0
        public void GETKQJLLIST(HttpContext context, Msg_Result msg, string P1, string P2, JH_Auth_UserB.UserInfo UserInfo)
        {
            int page      = 0;
            int pagecount = 8;

            int.TryParse(context.Request["p"] ?? "1", out page);              //页码
            int.TryParse(context.Request["pagecount"] ?? "8", out pagecount); //页数
            page = page == 0 ? 1 : page;
            int    recordCount = 0;
            string strWhere    = string.Format(" ComId={0}", UserInfo.User.ComId);

            if (P2 != "")//内容查询
            {
                strWhere += string.Format(" And (KQUserName like '%{0}%' OR KQBranch like '%{0}%' )", P2);
            }
            //根据创建时间查询
            string time = context.Request["time"] ?? "";

            if (time != "")
            {
                if (time == "1")   //近一周
                {
                    strWhere += string.Format(" And datediff(day,KQDate,getdate())<7");
                }
                else if (time == "2")
                {  //近一月
                    strWhere += string.Format(" And datediff(day,KQDate,getdate())<30");
                }
                else if (time == "3")  //自定义时间
                {
                    string strTime = context.Request["starTime"] ?? "";
                    string endTime = context.Request["endTime"] ?? "";
                    if (strTime != "")
                    {
                        strWhere += string.Format(" And KQDate >='{0}'", strTime + "-01");
                    }
                    if (endTime != "")
                    {
                        DateTime endDate = DateTime.Parse(endTime + "-01");
                        strWhere += string.Format(" And KQDate <='{0}'", endDate.AddMonths(1));
                    }
                }
            }


            if (P1 != "")
            {
                switch (P1)
                {
                case "1":     //创建的
                {
                    strWhere += " And KQUser ='******'";
                }
                break;

                case "2":     //下属签到
                {
                    //获取当前登录人负责的下属人员
                    string Users = new JH_Auth_UserB().GetUserBranchUsers(UserInfo.User.ComId.Value, UserInfo.User.UserName).Select(d => d.UserName).ToList().ListTOString(',');
                    strWhere += string.Format(" and KQUser in ('{0}') ", Users.ToFormatLike());
                }
                break;
                }
            }

            string    strsql = string.Format("SELECT   isnull(sum(case when Status=1 then 1 else 0 end),0) CDCount, isnull(sum(case when Status=2 then 1 else 0 end),0) ZTCount FROM SZHL_KQJL where    DATEPART(MONTH,KQDate)= DATEPART(MONTH,getdate()) and ComId={0} and KQUser='******'", UserInfo.User.ComId, UserInfo.User.UserName);
            DataTable dtTJ   = new SZHL_KQJLB().GetDTByCommand(strsql);

            dtTJ.Columns.Add("QJCount");
            var    intProD = new Yan_WF_PIB().GetYSHUserPI(UserInfo.User.UserName, UserInfo.User.ComId.Value, "CCXJ").Select(d => d.ID.ToString()).ToList();
            string strSql1 = string.Format("SELECT  isnull(SUM(Daycount),0) from SZHL_CCXJ where intProcessStanceid in ({0})  and  DATEPART(MONTH,CRDate)= DATEPART(MONTH,getdate()) and  CRUser='******'", intProD.ListTOString(',') == "" ? "0" : intProD.ListTOString(','), UserInfo.User.UserName);
            object obj     = new SZHL_KQJLB().ExsSclarSql(strSql1);

            dtTJ.Rows[0]["QJCount"] = obj.ToString();
            DataTable dt = new SZHL_KQBCB().GetDataPager(" SZHL_KQJL", "* ", pagecount, page, "KQDate desc", strWhere + "  and Type=0", ref recordCount);

            dt.Columns.Add("QTDate");
            dt.Columns.Add("QTStatus");
            dt.Columns.Add("QTPosition");
            foreach (DataRow row in dt.Rows)
            {
                string strSql2 = string.Format("SELECT top 1 * from SZHL_KQJL where ComId={0} and KQUser='******' AND DATEDIFF(DAY,KQDate,'{2}')=0 and Type=1  ORDER by KQDate DESC", UserInfo.User.ComId, row["KQUser"], row["KQDate"]);

                DataTable dtQT = new SZHL_KQBCB().GetDTByCommand(strSql2);
                if (dtQT.Rows.Count > 0)
                {
                    row["QTDate"]     = dtQT.Rows[0]["KQDate"];
                    row["QTStatus"]   = dtQT.Rows[0]["Status"];
                    row["QTPosition"] = dtQT.Rows[0]["Position"];
                }
            }
            msg.Result  = dt;
            msg.Result1 = recordCount;
            msg.Result2 = dtTJ;
        }
Exemple #14
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 GETCCXJLIST(HttpContext context, Msg_Result msg, string P1, string P2, JH_Auth_UserB.UserInfo UserInfo)
        {
            string userName = UserInfo.User.UserName;
            string strWhere = " 1=1 and cc.ComId=" + UserInfo.User.ComId;

            string leibie = context.Request["lb"] ?? "";

            if (leibie != "")
            {
                strWhere += string.Format(" And cc.LeiBie='{0}' ", leibie);
            }
            string strContent = context.Request["Content"] ?? "";

            strContent = strContent.TrimEnd();
            if (strContent != "")
            {
                strWhere += string.Format(" And ( cc.ZhuYaoShiYou like '%{0}%' )", strContent);
            }
            int DataID = -1;

            int.TryParse(context.Request["ID"] ?? "-1", out DataID);//记录Id
            if (DataID != -1)
            {
                string strIsHasDataQX = new JH_Auth_QY_ModelB().ISHASDATAREADQX("CCXJ", DataID, UserInfo);
                if (strIsHasDataQX == "Y")
                {
                    strWhere += string.Format(" And cc.ID = '{0}'", DataID);
                }
            }

            if (P1 != "")
            {
                int page      = 0;
                int pagecount = 8;
                int.TryParse(context.Request["p"] ?? "1", out page);
                int.TryParse(context.Request["pagecount"] ?? "8", out pagecount);//页数
                page = page == 0 ? 1 : page;
                int       total = 0;
                DataTable dt    = new DataTable();
                switch (P1)
                {
                case "0":     //手机单条数据
                {
                    //设置usercenter已读
                    new JH_Auth_User_CenterB().ReadMsg(UserInfo, DataID, "CCXJ");
                }
                break;

                case "1":     //创建的
                {
                    strWhere += " And cc.CRUser ='******'";
                }
                break;

                case "2":     //待审核
                {
                    var intProD = new Yan_WF_PIB().GetDSH(UserInfo.User).Select(d => d.PIID.ToString()).ToList();
                    if (intProD.Count > 0)
                    {
                        strWhere += " And cc.intProcessStanceid in (" + (intProD.ListTOString(',') == "" ? "0" : intProD.ListTOString(',')) + ")";
                    }
                    else
                    {
                        strWhere += " And 1=0";
                    }
                }
                break;

                case "3":      //已审核
                {
                    var intProD = new Yan_WF_PIB().GetYSH(UserInfo.User).Select(d => d.PIID.ToString()).ToList();
                    if (intProD.Count > 0)
                    {
                        strWhere += " And cc.intProcessStanceid in (" + (intProD.ListTOString(',') == "" ? "0" : intProD.ListTOString(',')) + ")";
                    }
                    else
                    {
                        strWhere += " And 1=0";
                    }
                }
                break;
                }
                dt = new SZHL_CCXJB().GetDataPager("SZHL_CCXJ cc left join JH_Auth_ZiDian zd on cc.LeiBie=zd.ID", "cc.*,zd.TypeName ,dbo.fn_PDStatus(cc.intProcessStanceid) AS StateName", pagecount, page, " cc.CRDate desc", strWhere, ref total);

                if (dt.Rows.Count > 0)
                {
                    dt.Columns.Add("FileList", Type.GetType("System.Object"));
                    foreach (DataRow dr in dt.Rows)
                    {
                        if (dr["Files"] != null && dr["Files"].ToString() != "")
                        {
                            dr["FileList"] = new FT_FileB().GetEntities(" ID in (" + dr["Files"].ToString() + ")");
                        }
                    }
                }
                msg.Result  = dt;
                msg.Result1 = total;
            }
        }
Exemple #15
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;
            }
        }
Exemple #16
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;
            }
        }
Exemple #17
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 GETYCGLLIST(HttpContext context, Msg_Result msg, string P1, string P2, JH_Auth_UserB.UserInfo UserInfo)
        {
            string userName = UserInfo.User.UserName;
            string strWhere = " 1=1 and yc.ComId=" + UserInfo.User.ComId;

            string leibie = context.Request["lb"] ?? "";

            if (leibie != "")
            {
                strWhere += string.Format(" And yc.CarID='{0}' ", leibie);
            }
            string strContent = context.Request["Content"] ?? "";

            strContent = strContent.TrimEnd();
            if (strContent != "")
            {
                strWhere += string.Format(" And ( yc.Remark like '%{0}%' or yc.StartAddress like '%{0}%' or yc.EndAddress like '%{0}%')", strContent);
            }
            int DataID = -1;

            int.TryParse(context.Request["ID"] ?? "-1", out DataID);//记录Id
            if (DataID != -1)
            {
                string strIsHasDataQX = new JH_Auth_QY_ModelB().ISHASDATAREADQX("YCGL", DataID, UserInfo);
                if (strIsHasDataQX == "Y")
                {
                    strWhere += string.Format(" And yc.ID = '{0}'", DataID);
                }
            }

            if (P1 != "")
            {
                int page      = 0;
                int pagecount = 8;
                int.TryParse(context.Request["p"] ?? "1", out page);
                int.TryParse(context.Request["pagecount"] ?? "8", out pagecount);//页数
                page = page == 0 ? 1 : page;
                int total = 0;

                DataTable dt = new DataTable();

                #region no use
                //                switch (P1)
                //                {
                //                    case "0":
                //                        string colNme1 = @"ycgl.*,car.CarBrand,car.CarType,car.CarNum ,    case WHEN wfpi.isComplete is null and wfpi.IsCanceled is null  THEN '正在审批'
                //                                            when wfpi.isComplete='Y' then '已审批'  WHEN wfpi.IsCanceled='Y' then '已退回' END StateName";
                //                        //strWhere += " And cc.CRUser ='******'";
                //                        dt = new SZHL_CCXJB().GetDataPager("SZHL_YCGL ycgl left outer join SZHL_YCGL_CAR  car on ycgl.CarID=car.ID  inner join  Yan_WF_PI wfpi  on ycgl.intProcessStanceid=wfpi.ID", colNme1, 8, page, " ycgl.CRDate desc", strWhere, ref total);
                //                        break;
                //                    case "1":
                //                        string colNme = @"ycgl.*,car.CarBrand,car.CarType,car.CarNum ,    case WHEN wfpi.isComplete is null and wfpi.IsCanceled is null  THEN '正在审批'
                //                                            when wfpi.isComplete='Y' then '已审批'  WHEN wfpi.IsCanceled='Y' then '已退回' END StateName";
                //                        strWhere += " And ycgl.CRUser ='******'";
                //                        dt = new SZHL_CCXJB().GetDataPager("SZHL_YCGL ycgl left outer join SZHL_YCGL_CAR  car on ycgl.CarID=car.ID  inner join  Yan_WF_PI wfpi  on ycgl.intProcessStanceid=wfpi.ID", colNme, 8, page, " ycgl.CRDate desc", strWhere, ref total);

                //                        break;
                //                    case "2":
                //                        List<string> intProD = new Yan_WF_PIB().GetDSH(UserInfo.User).Select(d => d.PIID.ToString()).ToList();
                //                        if (intProD.Count > 0)
                //                        {
                //                            string tableNameD = string.Format(@" SZHL_YCGL ycgl left outer join SZHL_YCGL_CAR  car on ycgl.CarID=car.ID");
                //                            string tableColumnD = "ycgl.* ,car.CarBrand,car.CarType,car.CarNum , '正在审批' StateName";
                //                            strWhere += " And ycgl.intProcessStanceid in (" + (intProD.ListTOString(',') == "" ? "0" : intProD.ListTOString(',')) + ")";
                //                            //string strSql = string.Format("Select {0}  From {1} where {2} order by cc.CRDate desc", tableColumnD, tableNameD, strWhere);
                //                            dt = new SZHL_CCXJB().GetDataPager(tableNameD, tableColumnD, 8, page, " ycgl.CRDate desc", strWhere, ref total);
                //                        }
                //                        break;
                //                    case "3":
                //                        List<Yan_WF_TI> ListData = new Yan_WF_TIB().GetEntities("TaskUserID ='" + UserInfo.User.UserName + "' AND EndTime IS NOT NULL AND TaskUserView!='发起表单'").ToList();
                //                        List<string> intPro = ListData.Select(d => d.PIID.ToString()).ToList();
                //                        string tableName = string.Format(@" SZHL_YCGL ycgl left outer join SZHL_YCGL_CAR  car on ycgl.CarID=car.ID inner join  Yan_WF_PI wfpi  on ycgl.intProcessStanceid=wfpi.ID");
                //                        string tableColumn = "ycgl.* ,car.CarBrand,car.CarType,car.CarNum , case when wfpi.IsCanceled is null then '已审批'  WHEN wfpi.IsCanceled='Y' then '已退回' END StateName ";
                //                        strWhere += "  And ycgl.intProcessStanceid in (" + (intPro.ListTOString(',') == "" ? "0" : intPro.ListTOString(',')) + ")";

                //                        dt = new SZHL_CCXJB().GetDataPager(tableName, tableColumn, 8, page, " ycgl.CRDate desc", strWhere, ref total);
                //                        break;
                //                }
                #endregion

                switch (P1)
                {
                case "0":     //手机单条数据
                {
                    //设置usercenter已读
                    new JH_Auth_User_CenterB().ReadMsg(UserInfo, DataID, "YCGL");
                }
                break;

                case "1":     //创建的
                {
                    strWhere += " And yc.CRUser ='******'";
                }
                break;

                case "2":     //待审核
                {
                    var intProD = new Yan_WF_PIB().GetDSH(UserInfo.User).Select(d => d.PIID.ToString()).ToList();
                    if (intProD.Count > 0)
                    {
                        strWhere += " And yc.intProcessStanceid in (" + (intProD.ListTOString(',') == "" ? "0" : intProD.ListTOString(',')) + ")";
                    }
                    else
                    {
                        strWhere += " And 1=0";
                    }
                }
                break;

                case "3":      //已审核
                {
                    var intProD = new Yan_WF_PIB().GetYSH(UserInfo.User).Select(d => d.PIID.ToString()).ToList();
                    if (intProD.Count > 0)
                    {
                        strWhere += " And yc.intProcessStanceid in (" + (intProD.ListTOString(',') == "" ? "0" : intProD.ListTOString(',')) + ")";
                    }
                    else
                    {
                        strWhere += " And 1=0";
                    }
                }
                break;
                }

                dt = new SZHL_CCXJB().GetDataPager("SZHL_YCGL yc left join SZHL_YCGL_CAR car on yc.CarID=car.ID", "yc.*,car.CarBrand,car.CarType,car.CarNum ,dbo.fn_PDStatus(yc.intProcessStanceid) AS StateName", pagecount, page, " yc.CRDate desc", strWhere, ref total);

                if (dt.Rows.Count > 0)
                {
                    dt.Columns.Add("FileList", Type.GetType("System.Object"));
                    foreach (DataRow dr in dt.Rows)
                    {
                        if (dr["Files"] != null && dr["Files"].ToString() != "")
                        {
                            dr["FileList"] = new FT_FileB().GetEntities(" ID in (" + dr["Files"].ToString() + ")");
                        }
                    }
                }
                msg.Result  = dt;
                msg.Result1 = total;
            }
        }
Exemple #18
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 GETLCSPLIST(JObject context, Msg_Result msg, string P1, string P2, JH_Auth_UserB.UserInfo UserInfo)
        {
            string userName = UserInfo.User.UserName;
            string strWhere = " 1=1 and pi.ComId=" + UserInfo.User.ComId;

            string leibie = context.Request("lb") ?? "";

            if (leibie != "")
            {
                strWhere += string.Format(" And pi.PDID='{0}' ", leibie);
                int pdid = int.Parse(leibie);
                msg.Result2 = new Yan_WF_PDB().GetEntity(d => d.ID == pdid);
            }

            int DataID = -1;

            int.TryParse(context.Request("ID") ?? "-1", out DataID);//记录Id
            if (DataID != -1)
            {
                strWhere += string.Format(" And pi.ID = '{0}'", DataID);
            }

            if (P1 != "")
            {
                int page      = 0;
                int pagecount = 8;
                int.TryParse(context.Request("p") ?? "1", out page);
                int.TryParse(context.Request("pagecount") ?? "8", out pagecount);//页数
                page = page == 0 ? 1 : page;
                int total = 0;

                DataTable dt = new DataTable();

                switch (P1)
                {
                case "1":     //创建
                {
                    strWhere += " And pi.CRUser ='******'";
                }

                break;

                case "2":     //待审核
                {
                    List <string> intProD = new Yan_WF_PIB().GetDSH(UserInfo.User).Select(d => d.PIID.ToString()).ToList();
                    if (intProD.Count > 0)
                    {
                        strWhere += " And pi.ID in (" + (intProD.ListTOString(',') == "" ? "0" : intProD.ListTOString(',')) + ")";
                    }
                    else
                    {
                        strWhere += " and 1=0 ";
                    }
                }
                break;

                case "3":     //已审核
                {
                    var intProD = new Yan_WF_PIB().GetYSH(UserInfo.User).Select(d => d.PIID.ToString()).ToList();
                    if (intProD.Count > 0)
                    {
                        strWhere += " And pi.ID  in (" + (intProD.ListTOString(',') == "" ? "0" : intProD.ListTOString(',')) + ")";
                    }
                    else
                    {
                        strWhere += " and 1=0 ";
                    }
                }
                break;

                case "4":     //抄送我的
                {
                    strWhere += " AND pi.isComplete='Y'    AND   ',' + pi.ChaoSongUser  + ',' like '%," + userName + ",%'";
                }
                break;
                }
                dt = new Yan_WF_PIB().GetDataPager("Yan_WF_PI pi inner join Yan_WF_PD pd on pd.ID=pi.PDID ", "pi.*,pd.ProcessClass, pd.ProcessType,pd.ProcessName,'LCSP' as ModelCode", pagecount, page, " CRDate desc", strWhere, ref total);
                dt.Columns.Add("StatusName");
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    int    pid           = int.Parse(dt.Rows[i]["ID"].ToString());
                    string strStatusName = "正在审批";
                    if (dt.Rows[i]["isComplete"].ToString() == "Y")
                    {
                        strStatusName = "已审批";
                    }
                    if (dt.Rows[i]["IsCanceled"].ToString() == "Y")
                    {
                        strStatusName = "已退回";
                    }
                    if (dt.Rows[i]["ProcessType"].ToString() == "-1")
                    {
                        strStatusName = "无流程数据";
                    }
                    dt.Rows[i]["StatusName"] = strStatusName;
                }
                msg.Result  = dt;
                msg.Result1 = total;
            }
        }
Exemple #19
0
        public void GETJFBXLIST(HttpContext context, Msg_Result msg, string P1, string P2, JH_Auth_UserB.UserInfo UserInfo)
        {
            string userName    = UserInfo.User.UserName;
            string strUserName = context.Request["username"] ?? "";//经费报销统计中的查看列表需要的参数

            if (!string.IsNullOrEmpty(strUserName))
            {
                userName = strUserName;
            }
            string strWhere = " ComId =" + UserInfo.User.ComId.Value;

            DataTable dtList    = new DataTable();
            int       page      = 0;
            int       pagecount = 8;

            int.TryParse(context.Request["p"] ?? "1", out page);              //页码
            int.TryParse(context.Request["pagecount"] ?? "8", out pagecount); //页数
            int DataID = -1;

            int.TryParse(context.Request["ID"] ?? "-1", out DataID);//记录Id
            if (DataID != -1)
            {
                string strIsHasDataQX = new JH_Auth_QY_ModelB().ISHASDATAREADQX("JFBX", DataID, UserInfo);
                if (strIsHasDataQX == "Y")
                {
                    strWhere += string.Format(" And ID = '{0}'", DataID);
                }
            }
            switch (P1)
            {
            case "0":     //手机单条数据
            {
                //设置usercenter已读
                new JH_Auth_User_CenterB().ReadMsg(UserInfo, DataID, "JFBX");
            }
            break;

            case "1":     //创建的
            {
                strWhere += " And CRUser ='******'";
            }
            break;

            case "2":     //待审核
            {
                var intProD = new Yan_WF_PIB().GetDSH(UserInfo.User).Select(d => d.PIID.ToString()).ToList();
                if (intProD.Count > 0)
                {
                    strWhere += " And intProcessStanceid in (" + (intProD.ListTOString(',') == "" ? "0" : intProD.ListTOString(',')) + ")";
                }
                else
                {
                    strWhere += " And 1=0";
                }
            }
            break;

            case "3":      //已审核
            {
                var intProD = new Yan_WF_PIB().GetYSH(UserInfo.User).Select(d => d.PIID.ToString()).ToList();
                if (intProD.Count > 0)
                {
                    strWhere += " And intProcessStanceid in (" + (intProD.ListTOString(',') == "" ? "0" : intProD.ListTOString(',')) + ")";
                }
                else
                {
                    strWhere += " And 1=0";
                }
            }
            break;

            case "4":

                //获取当前登录人负责的下属人员
                string Users = new JH_Auth_UserB().GetUserBranchUsers(UserInfo.User.ComId.Value, UserInfo.User.UserName).Select(d => d.UserName).ToList().ListTOString(',');
                strWhere += string.Format("and   CRUser in ('{0}')", Users.ToFormatLike());
                break;
            }
            //根据创建时间查询
            string time = context.Request["time"] ?? "";

            if (time != "")
            {
                if (time == "1")   //近一周
                {
                    strWhere += string.Format(" And datediff(day,BXDate,getdate())<7");
                }
                else if (time == "2")
                {  //近一月
                    strWhere += string.Format(" And datediff(day,BXDate,getdate())<30");
                }
                else if (time == "3")  //自定义时间
                {
                    string strTime = context.Request["starTime"] ?? "";
                    string endTime = context.Request["endTime"] ?? "";
                    if (strTime != "")
                    {
                        strWhere += string.Format(" And BXDate >='{0}'", strTime);
                    }
                    if (endTime != "")
                    {
                        strWhere += string.Format(" And BXDate <='{0}'", endTime);
                    }
                }
            }
            string strContent = context.Request["Content"] ?? "";

            strContent = strContent.TrimEnd();
            if (strContent != "")
            {
                strWhere += string.Format(" And (BranchName like '%{0}%' or ShenQingRen like '%{0}%' or FormCode like '%{0}%' )", strContent);
            }
            page = page == 0 ? 1 : page;
            int recordCount = 0;

            dtList = new SZHL_JFBXB().GetDataPager(" SZHL_JFBX ", "*,dbo.fn_PDStatus(intProcessStanceid) AS StateName ", pagecount, page, "CRDate desc", strWhere, ref recordCount);

            msg.Result  = dtList;
            msg.Result1 = recordCount;
        }
Exemple #20
0
        public ActionResult <string> EXPORTWORD()
        {
            var           context     = _accessor.HttpContext;
            var           tokenHeader = context.Request.Cookies["szhlcode"].ToString().Replace("Bearer ", "");
            TokenModelJWT tokenModel  = JwtHelper.SerializeJWT(tokenHeader);

            JH_Auth_UserB.UserInfo UserInfo = new JH_Auth_UserB().GetUserInfo(10334, tokenModel.UserName);


            string P1   = context.Request.Query["P1"].ToString();
            string P2   = context.Request.Query["P2"].ToString();
            int    pdid = 0;

            int.TryParse(P1, out pdid);

            int piid = 0;

            int.TryParse(P2, out piid);


            Yan_WF_PD PD = new Yan_WF_PDB().GetEntity(d => d.ID == pdid && d.ComId == UserInfo.User.ComId);
            Yan_WF_PI PI = new Yan_WF_PIB().GetEntity(d => d.ID == piid && d.ComId == UserInfo.User.ComId);

            if (PD.ExportFile == null)
            {
                return("");
            }
            int     fileID = int.Parse(PD.ExportFile);
            FT_File MBFile = new FT_FileB().GetEntities(d => d.ID == fileID).FirstOrDefault();
            Dictionary <string, string> dictSource = new Dictionary <string, string>();

            List <JH_Auth_ExtendMode> ExtendModes = new List <JH_Auth_ExtendMode>();

            ExtendModes = new JH_Auth_ExtendModeB().GetEntities(D => D.ComId == UserInfo.User.ComId && D.PDID == pdid).ToList();
            foreach (JH_Auth_ExtendMode item in ExtendModes)
            {
                string strValue = new JH_Auth_ExtendDataB().GetFiledValue(item.TableFiledColumn, pdid, piid);
                dictSource.Add("qj_" + item.TableFiledColumn, strValue);
            }

            dictSource.Add("qj_CRUser", PI.CRUserName);
            dictSource.Add("qj_BranchName", PI.BranchName);
            dictSource.Add("qj_CRDate", PI.CRDate.Value.ToString("yyyy-MM-dd HH:mm:ss"));
            dictSource.Add("qj_PINUM", PI.ID.ToString());


            List <Yan_WF_TI> tiModels = new Yan_WF_TIB().GetEntities(d => d.PIID == piid).ToList();

            for (int i = 0; i < tiModels.Count; i++)
            {
                dictSource.Add("qj_Task" + i + ".TaskUser", new JH_Auth_UserB().GetUserRealName(UserInfo.User.ComId.Value, tiModels[i].TaskUserID));
                dictSource.Add("qj_Task" + i + ".TaskUserView", tiModels[i].TaskUserView);
                if (tiModels[i].EndTime != null)
                {
                    dictSource.Add("qj_Task" + i + ".EndTime", tiModels[i].EndTime.Value.ToString("yyyy-MM-dd HH:mm:ss"));
                }
            }
            string strFileUrl = UserInfo.QYinfo.FileServerUrl + "/" + UserInfo.QYinfo.QYCode + "/document/" + MBFile.zyid;

            Aspose.Words.Document doc = new Aspose.Words.Document(strFileUrl);

            //使用文本方式替换
            foreach (string name in dictSource.Keys)
            {
                doc.Range.Replace(name, dictSource[name]);
            }

            #region 使用书签替换模式


            #endregion
            string Filepath    = hostingEnv.WebRootPath + "/Export/";
            string strFileName = PD.ProcessName + DateTime.Now.ToString("yyMMddHHss") + ".doc";

            doc.Save(Filepath + strFileName, Aspose.Words.Saving.DocSaveOptions.CreateSaveOptions(SaveFormat.Doc));
            return(File("~/excels/report.xlsx", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "report.xlsx"));
        }