using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Web; using SuperMap.RealEstate.Utility; using Running = SuperMap.RealEstate.Personnel.Running.Business; using Business = SuperMap.RealEstate.Personnel.Storage.Business; using HZQR.Common; namespace SuperMap.RealEstate.Personnel.Handler { /// /// ModuleObject_ajax 的摘要说明 /// public class ModuleObject_ajax : IHttpHandler { public void ProcessRequest(HttpContext context) { context.Request.ContentEncoding = Encoding.GetEncoding("UTF-8"); context.Response.ContentEncoding = Encoding.GetEncoding("UTF-8"); context.Response.Charset = "UTF-8"; try { string RetString = string.Empty; HttpPostedFile file = context.Request.Files["Filedata"]; string Relation_id = context.Request.Form["RELATION_ID"].ToDecrypt(); string Operate_UserID = context.Request.Form["OPERATE_USERID"].ToDecrypt(); string Operate_User = context.Request.Form["OPERATE_USER"].ToDecrypt(); string Staff_id = context.Request.Form["STAFF_ID"].ToDecrypt(); string uploadtype = context.Request.Form["uploadtype"]; if (Relation_id == "") return; string uploadPath = HttpContext.Current.Server.MapPath("~/UploadImageDir/CompactFile/Personnel") + "\\"; string ExtraString = System.DateTime.Now.ToString("yyyyMMddHHmmss"); string extension = Path.GetExtension(file.FileName).ToLower(); string filename = Path.GetFileName(file.FileName).Replace(extension, ""); SuperMap.RealEstate.ServiceModel.Transaction _Transaction = new SuperMap.RealEstate.ServiceModel.Transaction(); if (file != null) { ImageObject _ImageObject = new ImageObject(); if (!Directory.Exists(uploadPath)) { Directory.CreateDirectory(uploadPath); } file.SaveAs(uploadPath + filename + ExtraString + extension); if (uploadtype == "upload_files") { using (Business.ATTACHMENT _ATTACHMENT = new Business.ATTACHMENT(_Transaction)) { _ATTACHMENT.RELATION_ID = int.Parse(Relation_id); _ATTACHMENT.RELATION_TABLE = "PERSONNEL_STORAGE.T_POSITION"; _ATTACHMENT.STAFF_ID = int.Parse(Staff_id); _ATTACHMENT.ATTACHMENT_PATH = "Personnel/" + filename + ExtraString + extension; _ATTACHMENT.ATTACHMENT_DESC = filename + extension; _ATTACHMENT.ATTACHMENT_UPDATEDATE = DateTime.Now; _ATTACHMENT.OPERATE_DATE = DateTime.Now; _ATTACHMENT.Insert(); RetString = "{\"imageid\" : \"" + _ATTACHMENT.ATTACHMENT_ID_Encrypt + "\", \"imagename\" : \"" + _ATTACHMENT.ATTACHMENT_PATH + "\"}"; } } else if (uploadtype == "upload_files_honestyreport") { using (Business.ATTACHMENT _ATTACHMENT = new Business.ATTACHMENT(_Transaction)) { _ATTACHMENT.RELATION_ID = int.Parse(Relation_id); _ATTACHMENT.RELATION_TABLE = "PERSONNEL_STORAGE.V_HONESTYREPORT"; _ATTACHMENT.STAFF_ID = int.Parse(Staff_id); _ATTACHMENT.ATTACHMENT_PATH = "Personnel/" + filename + ExtraString + extension; _ATTACHMENT.ATTACHMENT_DESC = filename + extension; _ATTACHMENT.ATTACHMENT_UPDATEDATE = DateTime.Now; _ATTACHMENT.OPERATE_DATE = DateTime.Now; try { _ATTACHMENT.OPERATE_USERID = int.Parse(context.Request.Form["OPERATE_USERID"].ToDecrypt()); _ATTACHMENT.OPERATE_USER = context.Request.Form["OPERATE_USER"]; } catch { } _ATTACHMENT.Insert(); RetString = "{\"imageid\" : \"" + _ATTACHMENT.ATTACHMENT_ID_Encrypt + "\", \"imagename\" : \"" + _ATTACHMENT.ATTACHMENT_PATH + "\"}"; } } else if (uploadtype == "upload_files_personnelfiles") { using (Business.ATTACHMENT _ATTACHMENT = new Business.ATTACHMENT(_Transaction)) { _ATTACHMENT.RELATION_ID = int.Parse(Relation_id); _ATTACHMENT.RELATION_TABLE = "PERSONNEL_STORAGE.T_PERSONNELFILES"; _ATTACHMENT.STAFF_ID = int.Parse(Staff_id); _ATTACHMENT.ATTACHMENT_PATH = "Personnel/" + filename + ExtraString + extension; _ATTACHMENT.ATTACHMENT_DESC = filename + extension; _ATTACHMENT.ATTACHMENT_UPDATEDATE = DateTime.Now; _ATTACHMENT.OPERATE_DATE = DateTime.Now; try { _ATTACHMENT.OPERATE_USERID = int.Parse(context.Request.Form["OPERATE_USERID"].ToDecrypt()); _ATTACHMENT.OPERATE_USER = context.Request.Form["OPERATE_USER"]; } catch { } _ATTACHMENT.Insert(); RetString = "{\"imageid\" : \"" + _ATTACHMENT.ATTACHMENT_ID_Encrypt + "\", \"imagename\" : \"" + _ATTACHMENT.ATTACHMENT_PATH + "\"}"; } } else if (uploadtype == "upload_files_position_binduser") { using (Business.ATTACHMENT _ATTACHMENT = new Business.ATTACHMENT(_Transaction)) { _ATTACHMENT.RELATION_ID = int.Parse(Relation_id); _ATTACHMENT.RELATION_TABLE = "POSITION_BindUser"; _ATTACHMENT.STAFF_ID = int.Parse(Staff_id); _ATTACHMENT.ATTACHMENT_PATH = "Personnel/" + filename + ExtraString + extension; _ATTACHMENT.ATTACHMENT_DESC = filename + extension; _ATTACHMENT.ATTACHMENT_UPDATEDATE = DateTime.Now; _ATTACHMENT.OPERATE_DATE = DateTime.Now; _ATTACHMENT.Insert(); RetString = "{\"imageid\" : \"" + _ATTACHMENT.ATTACHMENT_ID_Encrypt + "\", \"imagename\" : \"" + _ATTACHMENT.ATTACHMENT_PATH + "\"}"; } } else if (uploadtype == "upload_files_contract") { using (Business.ATTACHMENT _ATTACHMENT = new Business.ATTACHMENT(_Transaction)) { _ATTACHMENT.RELATION_ID = int.Parse(Relation_id); _ATTACHMENT.RELATION_TABLE = "T_CONTRACTTEMPLATE"; _ATTACHMENT.OPERATE_USERID = Operate_UserID.TryParseToInt(); _ATTACHMENT.OPERATE_USER = Operate_User; _ATTACHMENT.ATTACHMENT_PATH = "Personnel/" + filename + ExtraString + extension; _ATTACHMENT.ATTACHMENT_DESC = filename + extension; _ATTACHMENT.ATTACHMENT_UPDATEDATE = DateTime.Now; _ATTACHMENT.OPERATE_DATE = DateTime.Now; _ATTACHMENT.Insert(); RetString = "{\"imageid\" : \"" + _ATTACHMENT.ATTACHMENT_ID_Encrypt + "\", \"imagename\" : \"" + _ATTACHMENT.ATTACHMENT_PATH + "\"}"; } } else if (uploadtype == "upload_files_contract_staff") { using (Business.ATTACHMENT _ATTACHMENT = new Business.ATTACHMENT(_Transaction)) { string operate_time = Pub.Request("OPERATE_TIME"); _ATTACHMENT.RELATION_TABLE = "T_CONTRACTTEMPLATE"; _ATTACHMENT.STAFF_ID = Staff_id.TryParseToInt(); _ATTACHMENT.OPERATE_USER = Operate_User; _ATTACHMENT.ATTACHMENT_PATH = "Personnel/" + filename + ExtraString + extension; _ATTACHMENT.ATTACHMENT_DESC = filename + extension; _ATTACHMENT.ATTACHMENT_UPDATEDATE = DateTime.Now; _ATTACHMENT.OPERATE_DATE = operate_time.TryParseToDateTime(); _ATTACHMENT.Insert(); //更新人员合同截止时间 if (!string.IsNullOrWhiteSpace(operate_time)) { Business.STAFF _STAFF = new Business.STAFF(_Transaction); _STAFF.STAFF_ID_Encrypt = Staff_id.ToEncrypt(); if (_STAFF.Select()) { if (_STAFF.ENDDATE == null || _STAFF.ENDDATE < _ATTACHMENT.OPERATE_DATE) { _STAFF.ENDDATE = _ATTACHMENT.OPERATE_DATE; _STAFF.Update(); } } } RetString = "{\"imageid\" : \"" + _ATTACHMENT.ATTACHMENT_ID_Encrypt + "\", \"imagename\" : \"" + _ATTACHMENT.ATTACHMENT_PATH + "\"}"; } } else if (uploadtype == "upload_files_proinst") { using (Running.Business.ATTACHMENT _ATTACHMENT = new Running.Business.ATTACHMENT(_Transaction)) { //流程内码 string Proinst_ID = context.Request.Form["PROINST_ID"].ToDecrypt(); _ATTACHMENT.RELATION_ID = Relation_id.TryParseToInt(); _ATTACHMENT.RELATION_TABLE = "T_PERSONNELPROINST"; _ATTACHMENT.STAFF_ID = int.Parse(Staff_id); _ATTACHMENT.ATTACHMENT_PATH = "Personnel/" + filename + ExtraString + extension; _ATTACHMENT.ATTACHMENT_DESC = filename + extension; _ATTACHMENT.ATTACHMENT_UPDATEDATE = DateTime.Now; _ATTACHMENT.OPERATE_DATE = DateTime.Now; _ATTACHMENT.PROINST_ID = Proinst_ID.TryParseToInt(); _ATTACHMENT.Insert(); RetString = "{\"imageid\" : \"" + _ATTACHMENT.ATTACHMENT_ID_Encrypt + "\", \"imagename\" : \"" + _ATTACHMENT.ATTACHMENT_PATH + "\"}"; } } _Transaction.Commit(); context.Response.ContentType = "text/plain"; //下面这句代码缺少的话,上传成功后上传队列的显示不会自动消失 context.Response.Write(RetString); } else { context.Response.Write(RetString); } } catch (Exception ex) { ErrorLogHelper.Write(ex); throw new Exception(ex.Message); } } public bool IsReusable { get { return false; } } #region webUpload使用方法 //WebUpload使用方法 //public void ProcessRequest(HttpContext context) //{ // //string id, string name, string type, string lastModifiedDate, int size, HttpPostedFileBase file // string id = HttpContext.Current.Request.Form["id"]; // string name = HttpContext.Current.Request.Form["name"]; // string type = HttpContext.Current.Request.Form["type"]; // string lastModifiedDate = HttpContext.Current.Request.Form["lastModifiedDate"]; // int size = int.Parse(HttpContext.Current.Request.Form["size"]); // //HttpPostedFileBase _HttpPostedFileBase = HttpContext.Current.Request.Files; // //上传文件 // string action_type = HttpContext.Current.Request.Form["action_type"]; // string reString = string.Empty; // string CurrentGuid = string.Empty; // context.Response.ContentType = "text/plain"; // context.Response.Write(reString); // context.Response.End(); //} /// /// 文件保存操作 /// /// private void SaveFile(string basePath = "~/Upload/Images/") { var name = string.Empty; basePath = (basePath.IndexOf("~") > -1) ? System.Web.HttpContext.Current.Server.MapPath(basePath) : basePath; HttpFileCollection files = System.Web.HttpContext.Current.Request.Files; //如果目录不存在,则创建目录 if (!Directory.Exists(basePath)) { Directory.CreateDirectory(basePath); } var suffix = files[0].ContentType.Split('/'); //获取文件格式 var _suffix = suffix[1].Equals("jpeg", StringComparison.CurrentCultureIgnoreCase) ? "" : suffix[1]; var _temp = System.Web.HttpContext.Current.Request["name"]; //如果不修改文件名,则创建随机文件名 if (!string.IsNullOrEmpty(_temp)) { name = _temp; } else { Random rand = new Random(24 * (int)DateTime.Now.Ticks); name = rand.Next() + "." + _suffix; } //文件保存 var full = basePath + name; files[0].SaveAs(full); var _result = "{\"jsonrpc\" : \"2.0\", \"result\" : null, \"id\" : \"" + name + "\"}"; System.Web.HttpContext.Current.Response.Write(_result); } #endregion } public class ImageObject { public string imagename { get; set; } public string imageid { get; set; } } }