/// <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; }
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); //删除表单数据 }
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); }
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; } }
/// <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; }
/// <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 }
/// <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; } }
/// <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; }
/// <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 + ")"); } }
/// <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; }
/// <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; } }
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) { } }
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; }
/// <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; } }
/// <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; } }
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; } }
/// <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; } }
/// <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; } }
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; }
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")); }