/// <summary> /// 异步更新AccessToken /// </summary> /// <param name="getNewToken"></param> public static string GetTokenAsync(bool getNewToken = false) { //AccessTokenResult r = CommonApi.GetToken(Qyinfo.corpId, Qyinfo.corpSecret, "client_credential"); string strIp = CommonHelp.getIP(HttpContext.Current); string _username = CommonHelp.GetUserNameByszhlcode(); var task1 = new Task <string>(() => AccessTokenContainer.TryGetAccessTokenAsync(AppId, AppSecret, getNewToken).Result ); task1.Start(); string accesstoken = task1.Result; if (accesstoken.Trim().Length > 0) { CommonHelp.UpdateAppConfig("AccessToken", accesstoken); new JH_Auth_LogB().InsertLog("WXFWHelper", "更新AccessToken为" + accesstoken, "WXFWHelper", _username, _username, 0, strIp); Updatejsapiticket(accesstoken, _username, strIp); } return(accesstoken); }
/// <summary> /// 导出任务 /// </summary> /// <param name="context"></param> /// <param name="msg"></param> /// <param name="P1"></param> /// <param name="P2"></param> /// <param name="UserInfo"></param> public void EXPORTRW(HttpContext context, Msg_Result msg, string P1, string P2, JH_Auth_UserB.UserInfo UserInfo) { GETRWGLLIST(context, msg, P1, P2, UserInfo); DataTable dt = msg.Result; string sqlCol = "CRUserName|负责人,CRUserName|创建人,TypeName|任务类型,RWJZDate|任务截止日期,RWTitle|任务标题,RWContent|任务内容"; CommonHelp ch = new CommonHelp(); DataTable dt2 = dt.DelTableCol(sqlCol); foreach (DataRow dr in dt2.Rows) { try { dr["任务内容"] = CommonHelp.RemoveHtml(dr["任务内容"].ToString()); } catch (Exception) { } } msg.ErrorMsg = ch.ExportToExcel("任务管理", dt2); }
/// <summary> /// 导出工作报告 /// </summary> /// <param name="context"></param> /// <param name="msg"></param> /// <param name="P1"></param> /// <param name="P2"></param> /// <param name="UserInfo"></param> public void EXPORTGZBG(HttpContext context, Msg_Result msg, string P1, string P2, JH_Auth_UserB.UserInfo UserInfo) { GETGZBGLIST(context, msg, P1, P2, UserInfo); DataTable dt = msg.Result; string sqlCol = "BranchName|部门,TypeName|类型,RBDate|日期,RBContent|报告内容,TypeName|类型,CRUserName|姓名,RBWCQK|完成情况"; CommonHelp ch = new CommonHelp(); DataTable dt2 = dt.DelTableCol(sqlCol); foreach (DataRow dr in dt2.Rows) { try { dr["报告内容"] = CommonHelp.RemoveHtml(dr["报告内容"].ToString()); dr["完成情况"] = CommonHelp.RemoveHtml(dr["完成情况"].ToString()); } catch (Exception) { } } msg.ErrorMsg = ch.ExportToExcel("工作报告", dt2); }
/// <summary> /// 生命周期新加或者修改后给使用人发送短信 /// </summary> /// <param name="ZCGLID"></param> public void SENDZCGLMSG(int ZCGLID) { SZHL_ZCGL ZC = new SZHL_ZCGLB().GetEntity(d => d.ID == ZCGLID); if (ZC != null) { JH_Auth_User USER = new JH_Auth_UserB().GetEntity(d => d.UserName == ZC.UserName); if (USER != null) { string phone = "13980444473"; string host = CommonHelp.GetConfig("HostUrl"); string url = CommonHelp.GetShortUrl(host + "/WX/bgxt/zc_Detail.html?id=" + ZCGLID); string content = ZC.Name + "的生命周期发生变动,请查看" + url; if (phone.Trim().Length > 0) { string message = "尊敬的" + USER.UserRealName.Trim() + "," + content; if (CommonHelp.MarchPhoneNumber(phone)) { string MASresult = CommonHelp.SendMAS(phone, message); } } } } }
public void CoverOffice(string strMD5, string strName, string strType, JH_Auth_UserB.UserInfo UserInfo) { string CovOfficeUrl = CommonHelp.GetConfig("Covoffice").ToString(); if (CovOfficeUrl != "") { Task <string> TaskCover = Task.Factory.StartNew <string>(() => { Dictionary <String, String> DATA = new Dictionary <String, String>(); DATA.Add("downloadUrl", UserInfo.QYinfo.FileServerUrl + strMD5); if (strType.ToLower().Contains("pdf")) { DATA.Add("convertType", "14"); } else { DATA.Add("convertType", "0"); } HttpWebResponse ResponseData = CommonHelp.CreatePostHttpResponse(CovOfficeUrl, DATA, 0, "", null); string Returndata = CommonHelp.GetResponseString(ResponseData); JObject json = (JObject)JsonConvert.DeserializeObject(Returndata); JArray array = (JArray)json["data"]; string strUrl = array[0].ToString(); string strYear = DateTime.Now.Year.ToString(); string strMonth = DateTime.Now.Month.ToString(); string strUrl1 = string.Empty; string strSum = GetWDPages(CovOfficeUrl, UserInfo.QYinfo.FileServerUrl + strMD5, strType); string strPath = UserInfo.QYinfo.QYCode + "/" + strYear + "/" + strMonth + strUrl.Substring(strUrl.LastIndexOf('/'), strUrl.Length - strUrl.LastIndexOf('/')); string strWDIP = CommonHelp.GetConfig("WDIP"); string strWDDK = CommonHelp.GetConfig("WDDK"); if (strWDIP != "" && strWDDK != "") { IPAddress ip = IPAddress.Parse(strWDIP); Socket clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); try { string str = strUrl.Substring(strUrl.LastIndexOf('/') + 1, strUrl.Length - strUrl.LastIndexOf('/') - 6); strUrl1 = "/ViewV5/Base/" + strType.Substring(0, 3) + ".html?code=" + str; int dk = Int32.Parse(strWDDK); clientSocket.Connect(new IPEndPoint(ip, dk)); //配置服务器IP与端口 clientSocket.Send(Encoding.ASCII.GetBytes(str + "_" + UserInfo.QYinfo.QYCode + "_" + strYear + "_" + strMonth + "_" + strType)); //发送请求到服务器 //采用新接口获取页码 string SQL = string.Format("update FT_File set YLUrl='{0}',ISYL='Y',YLCode='{2}',YLPath='{3}',YLCount='{4}' WHERE FileMD5='{1}'", strUrl1, strMD5, str, strPath.Substring(0, strPath.Length - 5), strSum); Debug.WriteLine("d" + DateTime.Now); new FT_FileB().ExsSclarSql(SQL); } catch (Exception ex) { CommonHelp.WriteLOG(ex.ToString()); } } return(strUrl.Replace(":8000", "")); }); TaskCover.ContinueWith((task) => { try { System.Diagnostics.Debug.WriteLine(DateTime.Now); string strUrl = TaskCover.Result; } catch (Exception ex) { CommonHelp.WriteLOG(ex.ToString()); } }); } }
//获取文件服务器 public string GetFileServerUrl(string qycode) { string strFileAPIRegUrl = CommonHelp.GetConfig("FileAPIReg").ToString() + qycode + "/document/"; return(strFileAPIRegUrl); }
/// <summary> /// 从企业微信同步到系统里 /// </summary> /// <param name="context"></param> /// <param name="msg"></param> /// <param name="P1"></param> /// <param name="P2"></param> /// <param name="UserInfo"></param> public void TBTXL(HttpContext context, Msg_Result msg, string P1, string P2, JH_Auth_UserB.UserInfo UserInfo) { try { int bmcount = 0; int rycount = 0; if (P1 == "") { msg.ErrorMsg = "请输入初始密码"; return; } WXHelp wx = new WXHelp(UserInfo.QYinfo); #region 更新部门 GetDepartmentListResult bmlist = wx.WX_GetBranchList(""); foreach (var wxbm in bmlist.department.OrderBy(d => d.parentid)) { var bm = new JH_Auth_BranchB().GetEntity(p => p.ComId == UserInfo.User.ComId && p.WXBMCode == wxbm.id); if (bm == null) { #region 新增部门 JH_Auth_Branch jab = new JH_Auth_Branch(); jab.WXBMCode = int.Parse(wxbm.id.ToString()); jab.ComId = UserInfo.User.ComId; jab.DeptName = wxbm.name; jab.DeptDesc = wxbm.name; jab.DeptShort = int.Parse(wxbm.order.ToString()); if (wxbm.parentid == 0)//如果是跟部门,设置其跟部门为-1 { jab.DeptRoot = -1; } else { var bm1 = new JH_Auth_BranchB().GetEntity(p => p.ComId == UserInfo.User.ComId && p.WXBMCode == wxbm.parentid); jab.DeptRoot = bm1.DeptCode; jab.Remark1 = new JH_Auth_BranchB().GetBranchNo(UserInfo.User.ComId.Value, jab.DeptRoot); } new JH_Auth_BranchB().Insert(jab); jab.Remark1 = new JH_Auth_BranchB().GetBranchNo(UserInfo.User.ComId.Value, jab.DeptRoot) + jab.DeptCode; new JH_Auth_BranchB().Update(jab); bmcount = bmcount + 1; #endregion } else { //同步部门时放弃更新现有部门 } } #endregion #region 更新人员 JH_Auth_Branch branchModel = new JH_Auth_BranchB().GetEntity(d => d.DeptRoot == -1 && d.ComId == UserInfo.User.ComId); GetDepartmentMemberInfoResult yg = wx.WX_GetDepartmentMemberInfo(branchModel.WXBMCode.Value); foreach (var u in yg.userlist) { var user = new JH_Auth_UserB().GetUserByUserName(UserInfo.QYinfo.ComId, u.userid); if (user == null) { #region 新增人员 JH_Auth_User jau = new JH_Auth_User(); jau.ComId = UserInfo.User.ComId; jau.UserName = u.userid; jau.UserPass = CommonHelp.GetMD5(P1); jau.UserRealName = u.name; jau.Sex = u.gender == 1 ? "男" : "女"; if (u.department.Length > 0) { int id = int.Parse(u.department[0].ToString()); var bm1 = new JH_Auth_BranchB().GetEntity(p => p.ComId == UserInfo.User.ComId && p.WXBMCode == id); jau.BranchCode = bm1.DeptCode; jau.remark = bm1.Remark1.Split('-')[0];//用户得部门路径 } jau.mailbox = u.email; jau.mobphone = u.mobile; jau.zhiwu = string.IsNullOrEmpty(u.position) ? "员工" : u.position; jau.IsUse = "Y"; if (u.status == 1 || u.status == 4) { jau.isgz = u.status.ToString(); } jau.txurl = u.avatar; new JH_Auth_UserB().Insert(jau); rycount = rycount + 1; #endregion //为所有人增加普通员工的权限 JH_Auth_Role rdefault = new JH_Auth_RoleB().GetEntity(p => p.ComId == UserInfo.User.ComId && p.isSysRole == "Y" && p.RoleName == "员工");//找到默认角色 if (rdefault != null) { JH_Auth_UserRole jaurdefault = new JH_Auth_UserRole(); jaurdefault.ComId = UserInfo.User.ComId; jaurdefault.RoleCode = rdefault.RoleCode; jaurdefault.UserName = jau.UserName; new JH_Auth_UserRoleB().Insert(jaurdefault); } } else { //同步人员时放弃更新现有人员 #region 更新人员 user.UserRealName = u.name; if (u.department.Length > 0) { int id = int.Parse(u.department[0].ToString()); var bm1 = new JH_Auth_BranchB().GetEntity(p => p.ComId == UserInfo.User.ComId && p.WXBMCode == id); user.BranchCode = bm1.DeptCode; } user.mailbox = u.email; user.mobphone = u.mobile; user.zhiwu = string.IsNullOrEmpty(u.position) ? "员工" : u.position; user.Sex = u.gender == 1 ? "男" : "女"; if (u.status == 1 || u.status == 4) { user.IsUse = "Y"; user.isgz = u.status.ToString(); } else if (u.status == 2) { user.IsUse = "N"; } user.txurl = u.avatar; new JH_Auth_UserB().Update(user); #endregion } #region 更新角色(职务) if (!string.IsNullOrEmpty(u.position)) { var r = new JH_Auth_RoleB().GetEntity(p => p.ComId == UserInfo.User.ComId && p.RoleName == u.position); if (r == null) { JH_Auth_Role jar = new JH_Auth_Role(); jar.ComId = UserInfo.User.ComId; jar.RoleName = u.position; jar.RoleDec = u.position; jar.PRoleCode = 0; jar.isSysRole = "N"; jar.IsUse = "Y"; jar.leve = 0; jar.DisplayOrder = 0; new JH_Auth_RoleB().Insert(jar); JH_Auth_UserRole jaur = new JH_Auth_UserRole(); jaur.ComId = UserInfo.User.ComId; jaur.RoleCode = jar.RoleCode; jaur.UserName = u.userid; new JH_Auth_UserRoleB().Insert(jaur); } else { } } #endregion } #endregion msg.Result1 = bmcount; msg.Result2 = rycount; } catch (Exception ex) { msg.ErrorMsg = ex.ToString(); } }
public void SENDHTMSG(HttpContext context, Msg_Result msg, string P1, string P2, JH_Auth_UserB.UserInfo UserInfo) { var tx = JsonConvert.DeserializeObject <SZHL_TXSX>(P1); int msgid = Int32.Parse(tx.MsgID); UserInfo = new JH_Auth_UserB().GetUserInfo(tx.ComId.Value, tx.CRUser); var model = new SZHL_TSSQB().GetEntity(p => p.ID == msgid && p.ComId == UserInfo.User.ComId); if (model != null) { #region old //Article ar0 = new Article(); //ar0.Title = UserInfo.User.UserRealName + "发表了新话题"; //ar0.Description = CommonHelp.RemoveHtml(model.HTNR); //ar0.Url = model.ID.ToString(); //if (!string.IsNullOrEmpty(model.Files)) //{ // ar0.PicUrl = model.Files.Split(',')[0]; //} //List<Article> al = new List<Article>(); //al.Add(ar0); //string jsr = string.Empty; //if (!string.IsNullOrEmpty(model.CYR)) //{ // jsr = model.CYR; //} //else //{ // jsr = new JH_Auth_UserB().GetEntities(p => p.ComId == UserInfo.QYinfo.ComId).Select(d => d.UserName).ToList().ListTOString(','); //} ////发送消息 //string content = ar0.Description; //new JH_Auth_User_CenterB().SendMsg(UserInfo, "TSSQ", content, model.ID.ToString(), jsr, "A"); //if (!string.IsNullOrEmpty(jsr)) //{ // WXHelp wx = new WXHelp(UserInfo.QYinfo); // wx.SendTH(al, "TSSQ", "A", jsr); //} #endregion //小程序发送通知 var ht = new CommonHelp().StripHT(model.HTNR); string tzr = model.TZR.ToString(); foreach (var bm in model.TZBM.Split(',')) { var bmr = new JH_Auth_UserB().GetUserListbyBranch(Int32.Parse(bm), "", UserInfo.User.ComId.Value); foreach (DataRow dr in bmr.Rows) { if (!tzr.Contains(dr["UserName"].ToString())) { tzr += "," + dr["UserName"].ToString(); } } } CommonHelp.WriteLOG(tzr); foreach (var ksuser in tzr.Split(',')) { if (ksuser != "") { CommonHelp.WriteLOG(ksuser); var usr = new JH_Auth_UserB().GetEntity(p => p.UserName == ksuser); if (usr != null && !string.IsNullOrEmpty(usr.weixinCard)) { } } } } }
/// <summary> /// 获取仪表盘数据接口 /// </summary> /// <param name="context"></param> /// <param name="msg"></param> /// <param name="P1"></param> /// <param name="P2"></param> /// <param name="UserInfo"></param> public void GETYBDATA(JObject context, Msg_Result msg, string P1, string P2, JH_Auth_UserB.UserInfo UserInfo) { try { JObject wigdata = JObject.Parse(P1); string datatype = (string)wigdata["datatype"]; //数据来源类型0:SQL,1:API if (datatype == "0") //SQL取数据 { string strWigdetType = (string)wigdata["component"]; string strDateSetName = (string)wigdata["datasetname"]; string filtervalsql = (string)wigdata["filtervalsql"] ?? ""; string ordersql = (string)wigdata["order"] ?? ""; string strPageCount = context.Request("pagecount") ?? "10"; string strquerydata = context.Request("querydata") ?? ""; //查询条件数据 string isglquery = (string)wigdata["isglquery"] == "True" ? "Y" : "N"; //关联查询条件数据 string strWhere = ""; BI_DB_Set DS = new BI_DB_SetB().GetEntities(d => d.Name == strDateSetName).FirstOrDefault(); DBFactory db = new BI_DB_SourceB().GetDB(DS.SID.Value); //默认过滤 if (filtervalsql != "") { strWhere = " AND " + filtervalsql; } ///有查询字段数据并且关联查询组件时生成查询条件 if (strquerydata != "" && isglquery == "Y") { JArray categories = JArray.Parse(strquerydata); foreach (JObject item in categories) { string FiledName = (string)item["glfiled"]; string ColumnType = (string)item["ColumnType"]; string eltype = (string)item["component"]; if (eltype == "qjInput") { string strValue = (string)item["value"]; if (!string.IsNullOrEmpty(strValue)) { string strSQL = string.Format(" AND {0} LIKE ('%{1}%')", FiledName.Replace(',', '+'), strValue); strWhere = strWhere + strSQL; } } if (eltype == "qjSeluser" || eltype == "qjSelbranch") { string strValue = (string)item["value"]; if (!string.IsNullOrEmpty(strValue)) { string strSQL = string.Format(" AND {0} IN ('{1}')", FiledName.Replace(',', '+'), strValue.ToFormatLike()); strWhere = strWhere + strSQL; } } if (eltype == "qjMonth" || eltype == "qjDate") { if (item["value"] != null && item["value"].ToString() != "") { string strval = item["value"].ToString(); string sDate = strval.Split(',')[0].ToString(); string eDate = strval.Split(',')[1].ToString(); string strSQL = string.Format(" AND {0} BETWEEN '{1} 00:00' AND '{2} 23:59' ", FiledName, sDate, eDate); strWhere = strWhere + strSQL; } } } } //if (strWigdetType == "qjTable") //{ // string strTablefiled = ""; // JArray categoriestab = (JArray)wigdata["tabfiledlist"];//查询字段 // foreach (JObject item in categoriestab) // { // string FiledName = (string)item["colid"]; // string FiledJSType = (string)item["caltype"] ?? ""; // strTablefiled = strTablefiled + FiledName + ","; // } // msg.Result = db.GetYBData(DS, strWD, strDL, strTablefiled, strPageCount, strWhere); //} if (strWigdetType == "qjChartPie" || strWigdetType == "qjKBan" || strWigdetType == "qjTable" || strWigdetType == "qjChartBar") { JArray wdlist = (JArray)wigdata["wdlist"]; JArray dllist = (JArray)wigdata["dllist"]; string strWD = ""; foreach (JObject item in wdlist) { strWD = strWD + (string)item["colid"] + ","; } strWD = strWD.TrimEnd(','); string strDL = ""; foreach (JObject item in dllist) { strDL = strDL + " " + (string)item["caltype"] + "(" + (string)item["colid"] + ") AS " + (string)item["colid"] + ","; } strDL = strDL.TrimEnd(','); msg.Result = db.GetYBData(DS, strWD, strDL, strPageCount, strWhere, ordersql); } } else//API取数据 { string strAPIUrl = (string)wigdata["apiurl"] + "&szhlcode=" + UserInfo.User.pccode; string str = CommonHelp.GetAPIData(strAPIUrl); msg.Result = str; } } catch (Exception ex) { msg.ErrorMsg = ex.Message; } }
/// <summary> /// excel转换为table /// </summary> /// <param name="context"></param> /// <param name="msg"></param> /// <param name="P1"></param> /// <param name="P2"></param> /// <param name="UserInfo"></param> public void EXCELTOTABLENEW(HttpContext context, Msg_Result msg, string P1, string P2, JH_Auth_UserB.UserInfo UserInfo) { try { string str2 = ""; DataTable dt = new DataTable(); ArrayList al1 = new ArrayList(); ArrayList al2 = new ArrayList(); HttpPostedFile _upfile = context.Request.Files["upFile"]; string headrow = context.Request["headrow"] ?? "0";//头部开始行下标 if (_upfile == null) { msg.ErrorMsg = "请选择要上传的文件 "; } else { string fileName = _upfile.FileName; /*获取文件名: C:\Documents and Settings\Administrator\桌面\123.jpg*/ string suffix = fileName.Substring(fileName.LastIndexOf(".") + 1).ToLower(); /*获取后缀名并转为小写: jpg*/ int bytes = _upfile.ContentLength; //获取文件的字节大小 if (suffix == "xls" || suffix == "xlsx") { IWorkbook workbook = null; Stream stream = _upfile.InputStream; if (suffix == "xlsx") // 2007版本 { workbook = new XSSFWorkbook(stream); } else if (suffix == "xls") // 2003版本 { workbook = new HSSFWorkbook(stream); } //获取excel的第一个sheet ISheet sheet = workbook.GetSheetAt(0); //获取sheet的第一行 IRow headerRow = sheet.GetRow(int.Parse(headrow)); IRow header0Row = sheet.GetRow(1); //一行最后一个方格的编号 即总的列数 int cellCount = headerRow.LastCellNum; //最后一列的标号 即总的行数 int rowCount = sheet.LastRowNum; if (rowCount <= int.Parse(headrow)) { msg.ErrorMsg = "文件中无数据! "; } else { CommonHelp ch = new CommonHelp(); string[] yz = { "姓名", "部门", "用户编码" }; //列名 for (int i = 0; i < cellCount; i++) { string strlm = string.Empty; if (headerRow.GetCell(i).IsMergedCell) { strlm = sheet.GetRow(int.Parse(headrow) - 1).GetCell(i).ToString().Trim(); } else { strlm = headerRow.GetCell(i).ToString().Trim(); } if (string.IsNullOrWhiteSpace(strlm)) { strlm = "第" + (i + 1) + "列"; } dt.Columns.Add(strlm);//添加列名 } #region 必填字段在文件中存不存在验证 foreach (var v in yz) { if (!dt.Columns.Contains(v)) { if (string.IsNullOrEmpty(str2)) { str2 = "当前导入的必填字段:【" + v + "】"; } else { str2 = str2 + "、【" + v + "】"; } } } if (!string.IsNullOrEmpty(str2)) { str2 = str2 + " 在文件中不存在!<br>"; } #endregion for (int i = (sheet.FirstRowNum + int.Parse(headrow) + 1); i <= sheet.LastRowNum; i++) { DataRow dr = dt.NewRow(); bool bl = false; IRow row = sheet.GetRow(i); for (int j = row.FirstCellNum; j < cellCount; j++) { string strsj = exportsheet(row.GetCell(j)).Trim(); if (strsj != "") { bl = true; } dr[j] = strsj; } if (bl) { dt.Rows.Add(dr); } } int ykindex = 0; for (int n = 0; n < dt.Columns.Count; n++) { if (header0Row.GetCell(n).ToString().Contains("应扣")) { ykindex = n; break; } } for (int n = 0; n < dt.Columns.Count; n++) { var name = dt.Columns[n].ColumnName; if (n > 2 && n < ykindex - 1) { al1.Add(name); } //得跳过应发合计列 if (n > ykindex - 1 && n < dt.Columns.Count - 2) { al2.Add(name); } //需要跳过应扣合计和实发合计 } dt.Columns.Add("YF", Type.GetType("System.Object")); dt.Columns.Add("YK", Type.GetType("System.Object")); foreach (DataRow dr in dt.Rows) { JObject obj1 = new JObject(); JObject obj2 = new JObject(); foreach (var str in al1) { obj1.Add(str.ToString(), dr[str.ToString()].ToString()); } foreach (var str in al2) { obj2.Add(str.ToString(), dr[str.ToString()].ToString()); } dr["YF"] = obj1; dr["YK"] = obj2; } foreach (var str in al1) { dt.Columns.Remove(str.ToString()); } foreach (var str in al2) { dt.Columns.Remove(str.ToString()); } msg.Result = dt; string sql = "select top 1 * from szhl_xz_jl order by crdate desc"; msg.Result1 = new SZHL_XZ_JLB().GetDTByCommand(sql); msg.ErrorMsg = str2; } sheet = null; workbook = null; } else { msg.ErrorMsg = "请上传excel文件 "; } } } catch (Exception) { msg.ErrorMsg = "导入失败!"; } }
/// <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 = CommonHelp.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 LOGIN(HttpContext context, Msg_Result msg, string P1, string P2, JH_Auth_UserB.UserInfo UserInfo) { string password = context.Request["password"] ?? ""; string username = context.Request["UserName"] ?? ""; string chkcode = context.Request["chkcode"] ?? ""; msg.ErrorMsg = ""; if (username.Trim().Length == 0) { msg.ErrorMsg = "请输入用户名"; return; } if (password.Trim().Length == 0) { msg.ErrorMsg = "请输入密码"; return; } if (chkcode.Trim().Length == 0) { msg.ErrorMsg = "请输入验证码"; return; } if (context.Session["chkcode"] != null) { if (!chkcode.ToUpper().Equals(context.Session["chkcode"].ToString())) { msg.ErrorMsg = "验证码不正确"; return; } } else { msg.ErrorMsg = "验证码已过期"; return; } JH_Auth_QY qyModel = new JH_Auth_QYB().GetALLEntities().First(); password = CommonHelp.GetMD5(password); JH_Auth_User userInfo = new JH_Auth_User(); List <JH_Auth_User> userList = new JH_Auth_UserB().GetEntities(d => (d.UserName == username || d.mobphone == username) && d.UserPass == password).ToList(); if (userList.Count() == 0) { msg.ErrorMsg = "用户名或密码不正确"; return; } else { userInfo = userList[0]; if (userInfo.IsUse != "Y") { msg.ErrorMsg = "用户被禁用,请联系管理员"; return; } if (string.IsNullOrEmpty(userInfo.pccode)) { userInfo.pccode = CommonHelp.CreatePCCode(userInfo); } userInfo.logindate = DateTime.Now; new JH_Auth_UserB().Update(userInfo); msg.Result = userInfo.pccode; msg.Result1 = userInfo.UserName; msg.Result4 = userInfo; } }
/// <summary> /// 添加工作日志 /// </summary> /// <param name="context"></param> /// <param name="msg"></param> /// <param name="P1"></param> /// <param name="P2"></param> /// <param name="strUserName"></param> public void ADDGZBG(HttpContext context, Msg_Result msg, string P1, string P2, JH_Auth_UserB.UserInfo UserInfo) { SZHL_GZBG GZBG = JsonConvert.DeserializeObject <SZHL_GZBG>(P1); if (GZBG == null) { msg.ErrorMsg = "添加失败"; return; } if (string.IsNullOrWhiteSpace(GZBG.RBContent)) { msg.ErrorMsg = "日报内容不能为空"; return; } if (GZBG.LeiBie == null) { msg.ErrorMsg = "日报类型不能为空"; return; } if (P2 != "") // 处理微信上传的图片 { string fids = CommonHelp.ProcessWxIMG(P2, "GZBG", UserInfo); if (!string.IsNullOrEmpty(GZBG.Files)) { GZBG.Files += "," + fids; } else { GZBG.Files = fids; } } if (GZBG.ID == 0) { GZBG.CRDate = DateTime.Now; GZBG.CRUser = UserInfo.User.UserName; GZBG.CRUserName = UserInfo.User.UserRealName; GZBG.BranchName = UserInfo.BranchInfo.DeptName; GZBG.ComId = UserInfo.User.ComId; new SZHL_GZBGB().Insert(GZBG); //发送消息给传送人 if (!string.IsNullOrEmpty(GZBG.ChaoSongUser)) { SZHL_TXSX CSTX = new SZHL_TXSX(); CSTX.Date = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); CSTX.APIName = "GZBG"; CSTX.ComId = UserInfo.User.ComId; CSTX.FunName = "SENDGZBG"; CSTX.CRUserRealName = UserInfo.User.UserRealName; CSTX.MsgID = GZBG.ID.ToString(); CSTX.TXContent = UserInfo.User.UserRealName + "抄送一个工作报告,请您查阅"; CSTX.ISCS = "Y"; CSTX.TXUser = GZBG.ChaoSongUser; CSTX.TXMode = "GZBG"; CSTX.CRUser = UserInfo.User.UserName; TXSX.TXSXAPI.AddALERT(CSTX); //时间为发送时间 } } else { new SZHL_GZBGB().Update(GZBG); } msg.Result = GZBG; }
/// <summary> /// 发放工资条 /// </summary> /// <param name="context"></param> /// <param name="msg"></param> /// <param name="P1"></param> /// <param name="P2"></param> /// <param name="UserInfo"></param> public void FFXZ(HttpContext context, Msg_Result msg, string P1, string P2, JH_Auth_UserB.UserInfo UserInfo) { if (string.IsNullOrWhiteSpace(P1)) { msg.ErrorMsg = "发送失败"; return; } string taitou = context.Request["taitou"] ?? ""; string luokuan = context.Request["luokuan"] ?? ""; string ffdx = context.Request["ffdx"] ?? ""; string ffwx = context.Request["ffwx"] ?? ""; string ym = context.Request["ym"] ?? ""; SZHL_XZ_JL xzjj = new SZHL_XZ_JL(); xzjj.YearMonth = ym; xzjj.title = P2; xzjj.rise = taitou; xzjj.Inscribe = luokuan; xzjj.ComId = UserInfo.User.ComId; xzjj.CRDate = DateTime.Now; xzjj.CRUser = UserInfo.User.UserName; xzjj.salaryData = P1; new SZHL_XZ_JLB().Insert(xzjj); //string shibaiuser = ""; #region 工资单 List <JObject> xxb = JsonConvert.DeserializeObject <List <JObject> >(P1); foreach (var a in xxb) { bool bl = false; string username = a["姓名"] != null ? a["姓名"].ToString().Trim() : ""; string bmname = a["部门"] != null ? a["部门"].ToString().Trim() : ""; string tel = a["手机"] != null ? a["手机"].ToString().Trim() : ""; SZHL_XZ_GZD gzd = new SZHL_XZ_GZD(); gzd.ComId = UserInfo.User.ComId; gzd.CRUser = UserInfo.User.UserName; gzd.CRDate = DateTime.Now; gzd.YearMonth = ym; gzd.Telephone = tel; gzd.salaryData = a.ToString(); gzd.title = P2; gzd.rise = taitou; gzd.Inscribe = luokuan; gzd.IsRead = 0; gzd.UserRealName = username; gzd.BranchName = bmname; JH_Auth_User user = new JH_Auth_UserB().GetEntity(d => d.ComId == UserInfo.User.ComId && d.mobphone == tel); if (user != null) { gzd.UserName = user.UserName; var bm = new JH_Auth_BranchB().GetEntity(d => d.ComId == UserInfo.User.ComId && d.DeptCode == user.BranchCode); if (bm != null && bm.DeptName == bmname) { gzd.BranchCode = bm.DeptCode; } bl = true; } new SZHL_XZ_GZDB().Insert(gzd); if (ffwx == "1" && tel != "" && bl) { SZHL_TXSX CSTX = new SZHL_TXSX(); CSTX.Date = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); CSTX.APIName = "XZGL"; CSTX.ComId = UserInfo.User.ComId; CSTX.FunName = "SENDXZMSG"; CSTX.CRUserRealName = UserInfo.User.UserRealName; CSTX.MsgID = gzd.ID.ToString(); CSTX.TXContent = taitou; CSTX.ISCS = "N"; CSTX.TXUser = user.UserName; CSTX.TXMode = "XZFF"; CSTX.CRUser = UserInfo.User.UserName; TXSX.TXSXAPI.AddALERT(CSTX); //时间为发送时间 } if (ffdx == "1" && tel != "") { string hj = a["合计"] != null ? a["合计"].ToString().Trim() : ""; CommonHelp.SendSMS(tel, username + "," + taitou + "," + "合计:" + hj + "元.点击" + UserInfo.QYinfo.WXUrl.TrimEnd('/') + "/View_Mobile/UI/UI_GZD_VIEW.html?ID=" + gzd.ID + " 查看详情", UserInfo.QYinfo.ComId); } } #endregion //msg.Result = shibaiuser.TrimEnd(','); }
/// <summary> /// 添加项目管理 /// </summary> /// <param name="context"></param> /// <param name="msg"></param> /// <param name="strParamData"></param> public void ADDXMGL(HttpContext context, Msg_Result msg, string P1, string P2, JH_Auth_UserB.UserInfo UserInfo) { try { SZHL_XMGL xmgl = JsonConvert.DeserializeObject <SZHL_XMGL>(P1); if (string.IsNullOrEmpty(xmgl.XMMC)) { msg.ErrorMsg = "项目名称不能为空"; return; } if (string.IsNullOrEmpty(xmgl.YXJ)) { msg.ErrorMsg = "请选择项目类型"; return; } if (string.IsNullOrEmpty(xmgl.XMFZR)) { msg.ErrorMsg = "请选择负责人"; return; } if (xmgl.StartDate != null && xmgl.EndDate != null) { if (xmgl.StartDate >= xmgl.EndDate) { msg.ErrorMsg = "结束时间必须大于开始时间"; return; } } #region if (P2 != null && P2 != "") // 处理微信上传的图片 { string fids = CommonHelp.ProcessWxIMG(P2, "QYHD", UserInfo); if (!string.IsNullOrEmpty(xmgl.Files)) { xmgl.Files += "," + fids; } else { xmgl.Files = fids; } } #endregion if (xmgl.ID == 0) { xmgl.UpdateDate = DateTime.Now; xmgl.CRDate = DateTime.Now; xmgl.CRUser = UserInfo.User.UserName; xmgl.ComId = UserInfo.User.ComId; xmgl.CRUserName = UserInfo.User.UserRealName; new SZHL_XMGLB().Insert(xmgl); string jsr = xmgl.XMFZR + (string.IsNullOrEmpty(xmgl.XMCYR) ? "" : "," + xmgl.XMCYR); if (!string.IsNullOrEmpty(jsr)) { SZHL_TXSX TX = new SZHL_TXSX(); TX.Date = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); TX.APIName = "XMGL"; TX.ComId = UserInfo.User.ComId; TX.FunName = "XMGLMSG"; TX.TXMode = "XMGL"; TX.CRUserRealName = UserInfo.User.UserRealName; TX.MsgID = xmgl.ID.ToString(); TX.TXContent = UserInfo.User.UserRealName + "发起了一个项目,等待您处理"; TX.TXUser = jsr; TX.CRUser = UserInfo.User.UserName; TXSX.TXSXAPI.AddALERT(TX); //时间为发送时间 } } else { xmgl.UpdateDate = DateTime.Now; xmgl.UpdateUser = UserInfo.User.UserName; xmgl.UpdateUserName = UserInfo.User.UserRealName; new SZHL_XMGLB().Update(xmgl); } msg.Result = xmgl; } catch (Exception) { msg.ErrorMsg = "添加项目失败"; } }
//添加任务管理 public void ADDRWGL(HttpContext context, Msg_Result msg, string P1, string P2, JH_Auth_UserB.UserInfo UserInfo) { SZHL_RWGL rwgl = JsonConvert.DeserializeObject <SZHL_RWGL>(P1); if (string.IsNullOrWhiteSpace(rwgl.LeiBie)) { msg.ErrorMsg = "请选择任务类型"; return; } if (string.IsNullOrWhiteSpace(rwgl.RWFZR)) { msg.ErrorMsg = "请选择任务负责人"; return; } if (string.IsNullOrWhiteSpace(rwgl.RWTitle)) { msg.ErrorMsg = "请填写任务内容"; return; } if (P2 != "") // 处理微信上传的图片 { string fids = CommonHelp.ProcessWxIMG(P2, "RWGL", UserInfo); if (!string.IsNullOrEmpty(rwgl.Files)) { rwgl.Files += "," + fids; } else { rwgl.Files = fids; } } if (rwgl.ID == 0) { rwgl.CRDate = DateTime.Now; rwgl.ComId = UserInfo.User.ComId; rwgl.CRUserName = UserInfo.User.UserRealName; rwgl.CRUser = UserInfo.User.UserName; new SZHL_RWGLB().Insert(rwgl); string jsr = rwgl.RWFZR + (string.IsNullOrEmpty(rwgl.RWCYR) ? "" : "," + rwgl.RWCYR); if (!string.IsNullOrEmpty(jsr)) { SZHL_TXSX TX = new SZHL_TXSX(); TX.Date = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); TX.APIName = "RWGL"; TX.ComId = UserInfo.User.ComId; TX.FunName = "RWGLMSG"; TX.TXMode = "RWGL"; TX.CRUserRealName = UserInfo.User.UserRealName; TX.MsgID = rwgl.ID.ToString(); TX.TXContent = UserInfo.User.UserRealName + "发起了一个任务,等待您处理"; TX.TXUser = jsr; TX.CRUser = UserInfo.User.UserName; TXSX.TXSXAPI.AddALERT(TX); //时间为发送时间 } if (!string.IsNullOrEmpty(rwgl.KHFXRS)) { SZHL_TXSX TX = new SZHL_TXSX(); TX.Date = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); TX.APIName = "RWGL"; TX.ComId = UserInfo.User.ComId; TX.FunName = "RWGLMSG"; TX.TXMode = "RWGL"; TX.CRUserRealName = UserInfo.User.UserRealName; TX.MsgID = rwgl.ID.ToString(); TX.TXContent = UserInfo.User.UserRealName + "抄送了一个任务,请您查阅"; TX.TXUser = rwgl.KHFXRS; TX.ISCS = "Y"; TX.CRUser = UserInfo.User.UserName; TXSX.TXSXAPI.AddALERT(TX); //时间为发送时间 } DateTime jzDate; DateTime.TryParse(rwgl.RWJZDate, out jzDate); //设置结束日期8点提醒,并且截止日期大于当天 if (rwgl.IsTX != null && rwgl.IsTX.ToLower() == "true" && jzDate.Date > DateTime.Now.Date) { SZHL_TXSX TX = new SZHL_TXSX(); TX.Date = jzDate.Date.ToString("yyyy-MM-dd") + " 8:00"; TX.APIName = "RWGL"; TX.ComId = UserInfo.User.ComId; TX.FunName = "RWGLMSG"; TX.TXMode = "RWGL"; TX.CRUserRealName = UserInfo.User.UserRealName; TX.MsgID = rwgl.ID.ToString(); TX.TXContent = UserInfo.User.UserRealName + "发起的任务即将到期"; TX.TXUser = jsr; TX.CRUser = UserInfo.User.UserName; TXSX.TXSXAPI.AddALERT(TX); //时间为发送时间 } } else { //判断是否有新加参与人,有新加参与人给参与人发送消息 SZHL_RWGL rwglold = new SZHL_RWGLB().GetEntity(d => d.ID == rwgl.ID); string jsrNew = ""; foreach (string jsr in rwgl.RWCYR.Split(',')) { if (!rwglold.RWCYR.Split(',').Contains(jsr)) { jsrNew += jsr + ","; } } if (jsrNew.Length > 0) { jsrNew = jsrNew.Substring(0, jsrNew.Length - 1); SZHL_TXSX TX = new SZHL_TXSX(); TX.Date = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); TX.APIName = "RWGL"; TX.ComId = UserInfo.User.ComId; TX.FunName = "RWGLMSG"; TX.TXMode = "RWGL"; TX.CRUserRealName = UserInfo.User.UserRealName; TX.MsgID = rwgl.ID.ToString(); TX.TXContent = UserInfo.User.UserRealName + "发起了一个任务,等待您处理"; TX.TXUser = jsrNew; TX.CRUser = UserInfo.User.UserName; TXSX.TXSXAPI.AddALERT(TX); //时间为发送时间 } new SZHL_RWGLB().Update(rwgl); } }
/// <summary> /// 获取页面html(excel) /// </summary> /// <param name="context"></param> /// <param name="msg"></param> /// <param name="P1"></param> /// <param name="P2"></param> /// <param name="UserInfo"></param> public void GETHTML(HttpContext context, Msg_Result msg, string P1, string P2, JH_Auth_UserB.UserInfo UserInfo) { string strWDYM = CommonHelp.GetConfig("WDYM"); FT_File ff = new FT_FileB().GetEntities(p => p.YLCode == P1).FirstOrDefault(); if (ff != null) { //定义局部变量 HttpWebRequest httpWebRequest = null; HttpWebResponse httpWebRespones = null; Stream stream = null; string htmlString = string.Empty; string url = strWDYM + ff.YLPath; //请求页面 try { httpWebRequest = WebRequest.Create(url + ".html") as HttpWebRequest; } //处理异常 catch { msg.ErrorMsg = "建立页面请求时发生错误!"; } httpWebRequest.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727; Maxthon 2.0)"; //获取服务器的返回信息 try { httpWebRespones = (HttpWebResponse)httpWebRequest.GetResponse(); stream = httpWebRespones.GetResponseStream(); } //处理异常 catch { msg.ErrorMsg = "接受服务器返回页面时发生错误!"; } StreamReader streamReader = new StreamReader(stream, System.Text.Encoding.UTF8); //读取返回页面 try { htmlString = streamReader.ReadToEnd(); } //处理异常 catch { msg.ErrorMsg = "读取页面数据时发生错误!"; } //释放资源返回结果 streamReader.Close(); stream.Close(); msg.Result = htmlString; msg.Result1 = url; } else { msg.ErrorMsg = "此文件不存在或您没有权限!"; } }
/// <summary> /// /// </summary> /// <param name="uploadUrl"></param> /// <param name="fileToUpload"></param> /// <param name="poststr"></param> /// <returns></returns> public static string PostFile(string uploadUrl, string fileToUpload, string poststr = "") { string result = ""; try { string boundary = "----------" + DateTime.Now.Ticks.ToString("x"); HttpWebRequest webrequest = (HttpWebRequest)WebRequest.Create(uploadUrl); webrequest.ContentType = "multipart/form-data; boundary=" + boundary; webrequest.Method = "POST"; StringBuilder sb = new StringBuilder(); if (poststr != "") { foreach (string c in poststr.Split('&')) { string[] item = c.Split('='); if (item.Length != 2) { break; } string name = item[0]; string value = item[1]; sb.Append("–" + boundary); sb.Append("\r\n"); sb.Append("Content-Disposition: form-data; name=\"" + name + "\""); sb.Append("\r\n\r\n"); sb.Append(value); sb.Append("\r\n"); } } sb.Append("--"); sb.Append(boundary); sb.Append("\r\n"); sb.Append("Content-Disposition: form-data; name=\"file"); //sb.Append(fileFormName); sb.Append("\"; filename=\""); sb.Append(Path.GetFileName(fileToUpload)); sb.Append("\""); sb.Append("\r\n"); sb.Append("Content-Type: application/octet-stream"); //sb.Append(contenttype); sb.Append("\r\n"); sb.Append("\r\n"); string postHeader = sb.ToString(); byte[] postHeaderBytes = Encoding.UTF8.GetBytes(postHeader); byte[] boundaryBytes = Encoding.ASCII.GetBytes("\r\n--" + boundary + "\r\n"); FileStream fileStream = new FileStream(fileToUpload, FileMode.Open, FileAccess.Read); long length = postHeaderBytes.Length + fileStream.Length + boundaryBytes.Length; webrequest.ContentLength = length; Stream requestStream = webrequest.GetRequestStream(); requestStream.Write(postHeaderBytes, 0, postHeaderBytes.Length); byte[] buffer = new Byte[(int)fileStream.Length]; int bytesRead = 0; while ((bytesRead = fileStream.Read(buffer, 0, buffer.Length)) != 0) { requestStream.Write(buffer, 0, bytesRead); } requestStream.Write(boundaryBytes, 0, boundaryBytes.Length); fileStream.Close(); WebResponse responce = webrequest.GetResponse(); requestStream.Close(); using (Stream s = responce.GetResponseStream()) { using (StreamReader sr = new StreamReader(s)) { result = sr.ReadToEnd(); } } } catch (Exception ex) { CommonHelp.WriteLOG(uploadUrl + "|||" + fileToUpload + "|||" + ex.ToString()); } return(result); }
/// <summary> /// 导入薪资单 /// </summary> /// <param name="msg"></param> /// <param name="stream"></param> /// <param name="suffix"></param> public void EXCELTOTABLEXZ(Msg_Result msg, Stream stream, string suffix) { try { string str2 = ""; DataTable dt = new DataTable(); ArrayList al1 = new ArrayList(); ArrayList al2 = new ArrayList(); string headrow = "2";//头部开始行下标 if (suffix == "xls" || suffix == "xlsx") { IWorkbook workbook = null; if (suffix == "xlsx") // 2007版本 { workbook = new XSSFWorkbook(stream); } else if (suffix == "xls") // 2003版本 { workbook = new HSSFWorkbook(stream); } //获取excel的第一个sheet ISheet sheet = workbook.GetSheetAt(0); //获取sheet的第一行 IRow headerRow = sheet.GetRow(int.Parse(headrow)); IRow header0Row = sheet.GetRow(1); //一行最后一个方格的编号 即总的列数 int cellCount = headerRow.LastCellNum; //最后一列的标号 即总的行数 int rowCount = sheet.LastRowNum; if (rowCount <= int.Parse(headrow)) { msg.ErrorMsg = "文件中无数据! "; } else { CommonHelp ch = new CommonHelp(); string[] yz = { "姓名", "部门", "用户编码" }; //列名 for (int i = 0; i < cellCount; i++) { string strlm = string.Empty; if (headerRow.GetCell(i).IsMergedCell) { strlm = sheet.GetRow(int.Parse(headrow) - 1).GetCell(i).ToString().Trim(); } else { strlm = headerRow.GetCell(i).ToString().Trim(); } if (string.IsNullOrWhiteSpace(strlm)) { strlm = "第" + (i + 1) + "列"; } dt.Columns.Add(strlm);//添加列名 } #region 必填字段在文件中存不存在验证 foreach (var v in yz) { if (!dt.Columns.Contains(v)) { if (string.IsNullOrEmpty(str2)) { str2 = "当前导入的必填字段:【" + v + "】"; } else { str2 = str2 + "、【" + v + "】"; } } } if (!string.IsNullOrEmpty(str2)) { str2 = str2 + " 在文件中不存在!<br>"; } #endregion for (int i = (sheet.FirstRowNum + int.Parse(headrow) + 1); i <= sheet.LastRowNum; i++) { DataRow dr = dt.NewRow(); bool bl = false; IRow row = sheet.GetRow(i); for (int j = row.FirstCellNum; j < cellCount; j++) { string strsj = exportsheet(row.GetCell(j)).Trim(); if (strsj != "") { bl = true; } dr[j] = strsj; } if (bl) { dt.Rows.Add(dr); } } int ykindex = 0; for (int n = 0; n < dt.Columns.Count; n++) { if (header0Row.GetCell(n).ToString().Contains("应扣")) { ykindex = n; break; } } for (int n = 0; n < dt.Columns.Count; n++) { var name = dt.Columns[n].ColumnName; if (n > 2 && n < ykindex - 1) { al1.Add(name); } //得跳过应发合计列 if (n > ykindex - 1 && n < dt.Columns.Count - 2) { al2.Add(name); } //需要跳过应扣合计和实发合计 } dt.Columns.Add("YF", Type.GetType("System.Object")); dt.Columns.Add("YK", Type.GetType("System.Object")); foreach (DataRow dr in dt.Rows) { JObject obj1 = new JObject(); JObject obj2 = new JObject(); foreach (var str in al1) { obj1.Add(str.ToString(), dr[str.ToString()].ToString()); } foreach (var str in al2) { obj2.Add(str.ToString(), dr[str.ToString()].ToString()); } dr["YF"] = obj1; dr["YK"] = obj2; } foreach (var str in al1) { dt.Columns.Remove(str.ToString()); } foreach (var str in al2) { dt.Columns.Remove(str.ToString()); } msg.Result = dt; var jl = new SZHL_XZ_JLB().GetALLEntities().OrderByDescending(d => d.CRDate).Take(1); msg.Result1 = jl; msg.ErrorMsg = str2; } sheet = null; workbook = null; } } catch (Exception) { msg.ErrorMsg = "导入失败!"; } }
public void SENDWQMSG(HttpContext context, Msg_Result msg, string P1, string P2, JH_Auth_UserB.UserInfo UserInfo) { var tx = JsonConvert.DeserializeObject <SZHL_TXSX>(P1); int msgid = Int32.Parse(tx.MsgID); UserInfo = new JH_Auth_UserB().GetUserInfo(tx.ComId.Value, tx.CRUser); var model = new SZHL_WQQDB().GetEntity(p => p.ID == msgid && p.ComId == UserInfo.User.ComId); if (model != null) { Article ar0 = new Article(); ar0.Title = "外勤签到提醒"; ar0.Description = "签到人:" + UserInfo.User.UserRealName + "\r\n签到位置:" + model.Position + "\r\n签到备注:" + CommonHelp.RemoveHtml(model.QDContent) + "\r\n签到时间:" + model.CRDate; ar0.Url = model.ID.ToString(); if (!string.IsNullOrEmpty(model.Files)) { ar0.PicUrl = model.Files.Split(',')[0]; } List <Article> al = new List <Article>(); al.Add(ar0); string jsr = string.Empty; if (!string.IsNullOrEmpty(model.HBUser)) { jsr = model.HBUser; //发送消息 string content = ar0.Description; new JH_Auth_User_CenterB().SendMsg(UserInfo, "WQQD", content, model.ID.ToString(), jsr, "A"); if (!string.IsNullOrEmpty(jsr)) { WXHelp wx = new WXHelp(UserInfo.QYinfo); wx.SendTH(al, "WQQD", "A", jsr); } } } }
/// <summary> /// 根据公众号openid获取用户信息 /// </summary> public static UserInfoJson GetUserInfoByOpenid(string openid) { return(UserApi.Info(CommonHelp.GetAccessToken(), openid)); }
public void SAVEIMPORTUSER(HttpContext context, Msg_Result msg, string P1, string P2, JH_Auth_UserB.UserInfo UserInfo) { string branchMsg = "", branchErrorMsg = "", userMsg = ""; int i = 0, j = 0; DataTable dt = new DataTable(); dt = JsonConvert.DeserializeObject <DataTable>(P1); dt.Columns.Add("BranchCode"); JH_Auth_Branch branchroot = new JH_Auth_BranchB().GetEntity(d => d.ComId == UserInfo.User.ComId && d.DeptRoot == -1); foreach (DataRow row in dt.Rows) { int bRootid = branchroot.DeptCode; string branchName = row[4].ToString(); if (branchName != "") { string[] branchNames = branchName.Split('/'); string strBranch = branchNames[0]; JH_Auth_Branch branchModel = new JH_Auth_BranchB().GetEntity(d => d.DeptName == strBranch && d.ComId == UserInfo.User.ComId); if (branchModel == null) { branchModel = new JH_Auth_Branch(); branchModel.DeptName = branchNames[0]; branchModel.DeptDesc = branchNames[0]; branchModel.ComId = UserInfo.User.ComId; branchModel.DeptRoot = bRootid; branchModel.CRDate = DateTime.Now; branchModel.CRUser = UserInfo.User.UserName; new JH_Auth_BranchB().Insert(branchModel); branchModel.Remark1 = new JH_Auth_BranchB().GetBranchNo(UserInfo.User.ComId.Value, branchModel.DeptRoot) + branchModel.DeptCode; new JH_Auth_BranchB().Update(branchModel); } } } int rowIndex = 0; foreach (DataRow row in dt.Rows) { rowIndex++; string branchName = row[4].ToString(); if (branchName != "") { string[] branchNames = branchName.Split('/'); string strPBranch = branchNames[0]; JH_Auth_Branch PbranchModel = new JH_Auth_BranchB().GetEntity(d => d.DeptName == strPBranch && d.ComId == UserInfo.User.ComId); int bRootid = PbranchModel.DeptCode; for (int l = 1; l < branchNames.Length; l++) { string strBranch = branchNames[1]; JH_Auth_Branch branchModel = new JH_Auth_BranchB().GetEntity(d => d.DeptName == strBranch && d.DeptRoot == PbranchModel.DeptCode && d.ComId == UserInfo.User.ComId); if (branchModel != null) { bRootid = branchModel.DeptCode; if (l == branchNames.Length - 1) { row["BranchCode"] = branchModel.DeptCode; } } else { branchModel = new JH_Auth_Branch(); branchModel.DeptName = strBranch; branchModel.DeptDesc = strBranch; branchModel.ComId = UserInfo.User.ComId; branchModel.DeptRoot = bRootid; branchModel.CRDate = DateTime.Now; branchModel.CRUser = UserInfo.User.UserName; new JH_Auth_BranchB().Insert(branchModel); branchModel.Remark1 = new JH_Auth_BranchB().GetBranchNo(UserInfo.User.ComId.Value, branchModel.DeptRoot) + branchModel.DeptCode; new JH_Auth_BranchB().Update(branchModel); try { bRootid = branchModel.DeptCode; if (l == branchNames.Length - 1) { row["BranchCode"] = branchModel.DeptCode; } i++; branchMsg += "新增部门“" + strBranch + "”成功<br/>"; } catch (Exception ex) { branchErrorMsg += "部门:" + strBranch + "失败 " + msg.ErrorMsg + "<br/>"; } } } string userName = row[2].ToString(); JH_Auth_User userModel = new JH_Auth_UserB().GetEntity(d => d.UserName == userName && d.ComId == UserInfo.User.ComId); if (userModel == null) { JH_Auth_User userNew = new JH_Auth_User(); if (row["BranchCode"].ToString() != "") { int tempcode = int.Parse(row["BranchCode"].ToString()); JH_Auth_Branch branchTemp = new JH_Auth_BranchB().GetEntity(d => d.DeptCode == tempcode && d.ComId == UserInfo.User.ComId); userNew.BranchCode = branchTemp.DeptCode; userNew.remark = branchTemp.Remark1.Split('-')[0]; } else { userNew.BranchCode = bRootid; } userNew.ComId = UserInfo.User.ComId; userNew.IsUse = "Y"; userNew.mailbox = row[3].ToString(); userNew.mobphone = row[2].ToString(); userNew.RoomCode = row[7].ToString(); userNew.Sex = row[1].ToString(); userNew.telphone = row[9].ToString(); DateTime result; if (DateTime.TryParse(row[10].ToString(), out result)) { userNew.Birthday = result; } userNew.UserGW = row[6].ToString(); userNew.UserName = row[2].ToString(); userNew.UserRealName = row[0].ToString(); userNew.zhiwu = row[5].ToString() == "" ? "员工" : row[5].ToString(); userNew.UserPass = CommonHelp.GetMD5(P2); userNew.CRDate = DateTime.Now; userNew.CRUser = UserInfo.User.UserName; if (!string.IsNullOrEmpty(row[8].ToString())) { int orderNum = 0; int.TryParse(row[8].ToString(), out orderNum); userNew.UserOrder = orderNum; } try { msg.ErrorMsg = ""; if (string.IsNullOrEmpty(userNew.UserName)) { msg.ErrorMsg = "用户名必填"; } //Regex regexPhone = new Regex("^0?1[3|4|5|8|7][0-9]\\d{8}$"); //if (!regexPhone.IsMatch(userNew.UserName)) //{ // msg.ErrorMsg = "用户名必须为手机号"; //} if (string.IsNullOrEmpty(userNew.mobphone)) { msg.ErrorMsg = "手机号必填"; } //if (!regexPhone.IsMatch(userNew.mobphone)) //{ // msg.ErrorMsg = "手机号填写不正确"; //} Regex regexOrder = new Regex("^[0-9]*$"); if (userNew.UserOrder != null && !regexOrder.IsMatch(userNew.UserOrder.ToString())) { msg.ErrorMsg = "序号必须是数字"; } if (msg.ErrorMsg != "") { userMsg += "第" + rowIndex + "行" + msg.ErrorMsg + "<br/>"; } if (msg.ErrorMsg == "") { new JH_Auth_UserB().Insert(userNew); JH_Auth_Role role = new JH_Auth_RoleB().GetEntity(d => d.RoleName == userNew.zhiwu && d.ComId == UserInfo.User.ComId); if (role == null) { role = new JH_Auth_Role(); role.PRoleCode = 0; role.RoleName = userNew.zhiwu; role.RoleDec = userNew.zhiwu; role.IsUse = "Y"; role.isSysRole = "N"; role.leve = 0; role.ComId = UserInfo.User.ComId; role.DisplayOrder = 0; new JH_Auth_RoleB().Insert(role); } string strSql = string.Format("INSERT into JH_Auth_UserRole (UserName,RoleCode,ComId) Values('{0}',{1},{2})", userNew.UserName, role.RoleCode, UserInfo.User.ComId); new JH_Auth_RoleB().ExsSql(strSql); string isFS = context.Request["issend"] ?? ""; if (isFS.ToLower() == "true") { string content = string.Format("尊敬的" + userNew.UserName + "用户您好:你已被添加到" + UserInfo.QYinfo.QYName + ",账号:" + userNew.mobphone + ",密码" + P2 + ",登录请访问" + UserInfo.QYinfo.WXUrl); new SZHL_DXGLB().SendSMS(userNew.mobphone, content, userNew.ComId.Value); } j++; } } catch (Exception ex) { userMsg += "第" + rowIndex + "行" + msg.ErrorMsg + "<br/>"; } } else { userMsg += "第" + rowIndex + "行" + "用户“" + row[2].ToString() + "”已存在<br/>"; } } else { branchErrorMsg += "第" + rowIndex + "行所在部门必填<br/>"; } } msg.Result = branchErrorMsg + "<br/>" + userMsg; msg.Result1 = "新增部门" + i + "个,新增用户" + j + "个<br/>" + branchMsg + (branchMsg == "" ? "" : "<br/>"); }
/// <summary> /// 获取微信审批数据 /// </summary> /// <param name="strSDate"></param> /// <param name="strEDate"></param> /// <returns></returns> public GetApprovalDataJsonResult GetWXSHData(string strSDate, string strEDate, string strLastNum = "") { AccessTokenResult Token = CommonApi.GetToken(Qyinfo.corpId.Trim(), CommonHelp.GetConfig("WXLCDATA")); string strReturn = ""; string access_token = Token.access_token; GetApprovalDataJsonResult obj = OaDataOpenApi.GetApprovalData(access_token, DateTime.Parse(strSDate), DateTime.Parse(strEDate), 0); return(obj); }
/// <summary> /// 绑定手机、姓名、身份证、专卖许可证 /// </summary> public void BINDTOMONOLICENSE(HttpContext context, Msg_Result msg, string P1, string P2, JH_Auth_UserB.UserInfo UserInfo) { JH_Auth_User j = JsonConvert.DeserializeObject <JH_Auth_User>(P1); if (j == null) { msg.ErrorMsg = "绑定失败"; return; } if (string.IsNullOrWhiteSpace(j.UserRealName.Trim())) { msg.ErrorMsg = "姓名不能为空"; return; } if (string.IsNullOrWhiteSpace(j.mobphone.Trim())) { msg.ErrorMsg = "手机号不能为空"; return; } if (string.IsNullOrWhiteSpace(j.IDCard.Trim())) { msg.ErrorMsg = "身份证号不能为空"; return; } if (string.IsNullOrWhiteSpace(j.ToMonoLicense.Trim())) { msg.ErrorMsg = "专卖许可证号不能为空"; return; } string _openid = CommonHelp.GetCookieString("openid"); WX_User u = new WX_UserB().GetEntity(d => d.Openid == _openid); msg.Result = u; if (u != null) { JH_Auth_User localuser = new JH_Auth_UserB().GetEntity(d => d.mobphone == j.mobphone.Trim()); if (localuser == null) { new JH_Auth_UserB().ExsSql("update JH_Auth_User set WXopenid='', IsWX=0, IDCard='',ToMonoLicense='' where WXopenid='" + _openid + "'");//清除以前绑定的用户 //新用户,随机生成 localuser = new JH_Auth_User(); localuser.UserName = "******" + Guid.NewGuid().ToString().Replace("-", "").Substring(0, 16); localuser.UserRealName = j.UserRealName.Trim(); localuser.UserPass = CommonHelp.GetMD5("a123456"); localuser.pccode = EncrpytHelper.Encrypt(localuser.UserName + "@" + localuser.UserPass + "@" + DateTime.Now.ToString("yyyy-MM-dd HH:mm")); localuser.ComId = 10334; localuser.Sex = u.Sex; localuser.mobphone = j.mobphone.Trim(); localuser.BranchCode = 0; localuser.CRDate = localuser.logindate = DateTime.Now; localuser.CRUser = "******"; localuser.IsUse = "Y"; localuser.IsWX = 1; localuser.WXopenid = _openid; localuser.weixinCard = j.weixinCard.Trim(); localuser.IDCard = j.IDCard.Trim(); localuser.ToMonoLicense = j.ToMonoLicense.Trim(); new JH_Auth_UserB().Insert(localuser); WXFWHelp.UpdateCookieAfterSignIn(localuser); msg.Result = localuser; //msg.ErrorMsg = "手机号不存在,请联系管理员"; return; } else { //老用户 if (localuser.UserRealName == j.UserRealName.Trim()) { new JH_Auth_UserB().ExsSql("update JH_Auth_User set WXopenid='', IsWX=0, IDCard='',ToMonoLicense='' where WXopenid='" + _openid + "'");//清除以前绑定的用户 localuser.WXopenid = _openid; localuser.IsWX = 1; localuser.weixinCard = j.weixinCard.Trim(); //localuser.pccode = EncrpytHelper.Encrypt(localuser.UserName + "@" + localuser.UserPass + "@" + DateTime.Now.ToString("yyyy-MM-dd HH:mm")); localuser.logindate = DateTime.Now; localuser.IDCard = j.IDCard.Trim(); localuser.ToMonoLicense = j.ToMonoLicense.Trim(); new JH_Auth_UserB().Update(localuser);//更新logindate,pccode不能更新 WXFWHelp.UpdateCookieAfterSignIn(localuser); msg.Result = localuser; } else { msg.ErrorMsg = "姓名与手机号不匹配"; return; } } } else { msg.ErrorMsg = "微信登录异常"; return; } }