/// <summary> /// 保存表单(新增、修改) /// </summary> /// <param name="keyValue">主键值</param> /// <param name="entity">实体对象</param> /// <returns></returns> public void SaveForm(string keyValue, LifthoistjobEntity entity) { try { var dbentity = service.GetEntity(keyValue); if (dbentity == null) { //说明是新增 entity.ID = keyValue; service.SaveForm(string.Empty, entity); } else { //说明是修改 service.SaveForm(keyValue, entity); } //如果为1,说明是直接提交,则需要走审核 if (entity.AUDITSTATE == 1) { this.ApplyCheck(keyValue); } } catch (Exception ex) { throw ex; } }
public ActionResult SaveForm(string keyValue, string jsonData) { try { LifthoistjobEntity entity = JsonConvert.DeserializeObject <LifthoistjobEntity>(jsonData); lifthoistjobbll.SaveForm(keyValue, entity); } catch (Exception ex) { return(Error("保存出错,错误信息:" + ex.Message)); } return(Success("操作成功。")); }
public ActionResult GetJobFlow(string keyValue) { LifthoistjobEntity entity = lifthoistjobbll.GetEntity(keyValue); string modulename = string.Empty; if (entity.QUALITYTYPE == "0") { modulename = "(起重吊装作业30T以下)审核"; } else { modulename = "(起重吊装作业30T以上)审核"; } var josnData = lifthoistjobbll.GetFlow(entity.ID, modulename); return(Content(josnData.ToJson())); }
public object SaveForm() { try { string res = HttpContext.Current.Request["json"]; HttpFileCollection files = HttpContext.Current.Request.Files; var dy = JsonConvert.DeserializeAnonymousType(res, new { userid = string.Empty, data = new LifthoistViewModel() }); //获取用户Id string userId = dy.userid; OperatorProvider.AppUserId = userId; //设置当前用户 Operator curUser = OperatorProvider.Provider.Current(); if (null == curUser) { return(new { code = -1, info = "请求失败,请登录!" }); } if (dy.data == null) { return(new { code = -1, info = "请求失败,data参数为空!" }); } //如果ID为空,则重新生成一个 if (string.IsNullOrEmpty(dy.data.id)) { dy.data.id = Guid.NewGuid().ToString(); dy.data.fazlfiles = Guid.NewGuid().ToString(); } else { dy.data.fazlfiles = lifthoistjobbll.GetEntity(dy.data.id) == null?Guid.NewGuid().ToString() : lifthoistjobbll.GetEntity(dy.data.id).FAZLFILES; //方案资料附件关联ID } //删除文件 if (!string.IsNullOrEmpty(dy.data.deletefileids)) { DeleteFile(dy.data.deletefileids); } if (dy.data.pagetype == "1") { //起吊证 LifthoistcertEntity certEntity = JsonConvert.DeserializeObject <LifthoistcertEntity>(JsonConvert.SerializeObject(dy.data)); lifthoistcertbll.SaveForm(certEntity.ID, certEntity); //上传人员资料、设备资料 UploadifyFile(certEntity.ID + "1", "persondata", files); UploadifyFile(certEntity.ID + "2", "driverdata", files); } else { //起重吊装作业 LifthoistjobEntity jobEntity = JsonConvert.DeserializeObject <LifthoistjobEntity>(JsonConvert.SerializeObject(dy.data)); lifthoistjobbll.SaveForm(jobEntity.ID, jobEntity); //上传起吊方案 UploadifyFile(jobEntity.ID, "liftscheme", files); UploadifyFile(jobEntity.FAZLFILES, "liftfazl", files); highriskrecordbll.RemoveFormByWorkId(dy.data.id); if (dy.data.riskrecord != null) { var num = 0; foreach (var item in dy.data.riskrecord) { item.CreateDate = DateTime.Now.AddSeconds(-num); item.WorkId = dy.data.id; highriskrecordbll.SaveForm("", item); num++; } } lifthoistpersonbll.RemoveFormByWorkId(dy.data.id); if (dy.data.lifthoistperson != null) { var num = 0; for (int i = 0; i < dy.data.lifthoistperson.Count; i++) { var item = dy.data.lifthoistperson[i]; item.CreateDate = DateTime.Now.AddSeconds(-num); item.RecId = dy.data.id; item.Id = Guid.NewGuid().ToString(); lifthoistpersonbll.SaveForm(item.Id, item); UploadifyFile(item.Id, "pic_" + i, files);//上传人员信息附件 if (item.lifthoistpersonfile != null) { foreach (var personfile in item.lifthoistpersonfile) { var fileinfo = fileInfoBLL.GetEntity(personfile.fileid); fileinfo.RecId = item.Id; fileInfoBLL.SaveForm(personfile.fileid, fileinfo); } } num++; } } } return(new { code = 0, info = "操作成功" }); } catch (Exception ex) { return(new { code = -1, info = ex.Message }); } }
public object GetForm([FromBody] JObject json) { try { string res = json.Value <string>("json"); var dy = JsonConvert.DeserializeAnonymousType(res, new { userid = string.Empty, data = new LifthoistViewModel() }); //获取用户Id string userId = dy.userid; OperatorProvider.AppUserId = userId; //设置当前用户 Operator curUser = OperatorProvider.Provider.Current(); if (null == curUser) { return(new { code = -1, info = "请求失败,请登录!" }); } if (dy.data == null) { return(new { code = -1, info = "请求失败,data参数为空!" }); } LifthoistViewModel retData = new LifthoistViewModel(); string[] pops = null; if (dy.data.pagetype == "1") { #region 凭吊证详情处理 //需要排的除段 pops = new string[] { "deletefileids", "qualitytype", "guardianid", "guardianname", "hoistcontent", "liftschemes" }; LifthoistcertEntity certEntity = lifthoistcertbll.GetEntity(dy.data.id); if (certEntity == null) { throw new ArgumentException("无法找到当前业务信息,请检查参数是否有误!"); } retData = JsonConvert.DeserializeObject <LifthoistViewModel>(JsonConvert.SerializeObject(certEntity)); //取人员资料 DataTable persondatas = fileInfoBLL.GetFiles(certEntity.ID + "1"); if (persondatas != null && persondatas.Rows.Count > 0) { retData.persondatas = new List <Photo>(); foreach (DataRow item in persondatas.Rows) { Photo p = new Photo(); p.fileid = item[0].ToString(); p.filename = item[1].ToString(); p.fileurl = dataitemdetailbll.GetItemValue("imgUrl") + item[2].ToString().Substring(1); retData.persondatas.Add(p); } } //取设备资料 DataTable driverdatas = fileInfoBLL.GetFiles(certEntity.ID + "2"); if (driverdatas != null && driverdatas.Rows.Count > 0) { retData.driverdatas = new List <Photo>(); foreach (DataRow item in driverdatas.Rows) { Photo p = new Photo(); p.fileid = item[0].ToString(); p.filename = item[1].ToString(); p.fileurl = dataitemdetailbll.GetItemValue("imgUrl") + item[2].ToString().Substring(1); retData.driverdatas.Add(p); } } string[] signs = null; string urls = string.Empty; //处理签字 if (!string.IsNullOrEmpty(retData.chargepersonsign)) { signs = retData.chargepersonsign.Split(','); urls = string.Empty; foreach (var s in signs) { if (!string.IsNullOrEmpty(s)) { if (s.Contains("http://")) { urls += "," + s; } else { urls += "," + dataitemdetailbll.GetItemValue("imgUrl") + s.Substring(1); } } } if (!string.IsNullOrEmpty(urls)) { retData.chargepersonsign = urls.Substring(1); } } if (!string.IsNullOrEmpty(retData.hoistareapersonsigns)) { signs = retData.hoistareapersonsigns.Split(','); urls = string.Empty; foreach (var s in signs) { if (!string.IsNullOrEmpty(s)) { if (s.Contains("http://")) { urls += "," + s; } else { urls += "," + dataitemdetailbll.GetItemValue("imgUrl") + s.Substring(1); } } } if (!string.IsNullOrEmpty(urls)) { retData.hoistareapersonsigns = urls.Substring(1); } } //安全措施 var safetys = lifthoistsafetybll.GetList(string.Format("LIFTHOISTCERTID = '{0}'", certEntity.ID)); if (safetys != null) { retData.safetys = safetys.ToList(); } #endregion } else { #region 起重吊装作业详情处理 //需要排的除段 pops = new string[] { "lifthoistjobid", "deletefileids", "drivername", "drivernumber", "fulltimename", "fulltimenumber", "persondatas", "driverdatas", "safetys", "chargepersonsign", "hoistareapersonnames", "hoistareapersonids", "hoistareapersonsigns" }; LifthoistjobEntity jobEntity = lifthoistjobbll.GetEntity(dy.data.id); if (jobEntity == null) { throw new ArgumentException("无法找到当前业务信息,请检查参数是否有误!"); } retData = JsonConvert.DeserializeObject <LifthoistViewModel>(JsonConvert.SerializeObject(jobEntity)); //取起吊方案 DataTable liftschemes = fileInfoBLL.GetFiles(jobEntity.ID); if (liftschemes != null && liftschemes.Rows.Count > 0) { retData.liftschemes = new List <Photo>(); foreach (DataRow item in liftschemes.Rows) { Photo p = new Photo(); p.fileid = item[0].ToString(); p.filename = item[1].ToString(); p.fileurl = dataitemdetailbll.GetItemValue("imgUrl") + item[2].ToString().Substring(1); retData.liftschemes.Add(p); } } DataTable liftfazls = fileInfoBLL.GetFiles(jobEntity.FAZLFILES); if (liftfazls != null && liftfazls.Rows.Count > 0) { retData.liftfazls = new List <Photo>(); foreach (DataRow item in liftfazls.Rows) { Photo p = new Photo(); p.fileid = item[0].ToString(); p.filename = item[1].ToString(); p.fileurl = dataitemdetailbll.GetItemValue("imgUrl") + item[2].ToString().Substring(1); retData.liftfazls.Add(p); } } #endregion #region 流程 string modulename = string.Empty; if (jobEntity.QUALITYTYPE == "0") { modulename = "(起重吊装作业30T以下)审核"; } else { modulename = "(起重吊装作业30T以上)审核"; } var nodelist = lifthoistjobbll.GetAppFlowList(jobEntity.ID, modulename); retData.CheckFlow = nodelist; #endregion } //审核记录 var records = lifthoistauditrecordbll.GetList(dy.data.id); if (records != null) { string webUrl = new DataItemDetailBLL().GetItemValue("imgUrl"); foreach (var item in records) { item.AUDITSIGNIMG = item.AUDITSIGNIMG.Replace("../../", webUrl + "/"); } retData.auditrecords = records.ToList(); } //作业安全风险分析 var riskrecord = highriskrecordbll.GetList(dy.data.id).ToList(); if (riskrecord != null) { retData.riskrecord = riskrecord.ToList(); } //起重吊装人员信息 var lifthoistperson = lifthoistpersonbll.GetRelateList(dy.data.id).ToList(); if (lifthoistperson != null) { foreach (var item in lifthoistperson) { DataTable liftfazls = fileInfoBLL.GetFiles(item.Id); if (liftfazls != null && liftfazls.Rows.Count > 0) { List <Photo> files = new List <Photo>(); foreach (DataRow rowitem in liftfazls.Rows) { Photo p = new Photo(); p.fileid = rowitem[0].ToString(); p.filename = rowitem[1].ToString(); p.fileurl = dataitemdetailbll.GetItemValue("imgUrl") + rowitem[2].ToString().Substring(1); files.Add(p); } item.lifthoistpersonfile = files; } //var liftfazls = fileInfoBLL.GetFileList(item.Id); //foreach (var file in liftfazls) //{ // file.FilePath = dataitemdetailbll.GetItemValue("imgUrl") + file.FilePath.Substring(1); //} } retData.lifthoistperson = lifthoistperson.ToList(); } JsonSerializerSettings settings = new JsonSerializerSettings { ContractResolver = new LowercaseContractResolver(null, pops, false), DateFormatString = "yyyy-MM-dd HH:mm", //格式化日期 }; string retDataJson = JsonConvert.SerializeObject(retData, Formatting.Indented, settings); return(new { code = 0, info = string.Empty, data = JObject.Parse(retDataJson) }); } catch (Exception ex) { return(new { code = -1, info = ex.Message }); } }
public ActionResult ExportInfo(string keyValue) { try { HttpResponse resp = System.Web.HttpContext.Current.Response; //报告对象 string fileName = "起重吊装作业_" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".doc"; string strDocPath = Request.PhysicalApplicationPath + @"Resource\ExcelTemplate\起重吊装作业导出模板.docx"; Aspose.Words.Document doc = new Aspose.Words.Document(strDocPath); DocumentBuilder builder = new DocumentBuilder(doc); DataTable dt = new DataTable(); dt.Columns.Add("APPLYCODE"); //编号 dt.Columns.Add("CHARGEPERSONNAME"); //工作负责人 dt.Columns.Add("GUARDIANNAME"); //监护人 dt.Columns.Add("QUALITY"); //起吊重物质量 dt.Columns.Add("TOOLNAME"); //吊装工具名称 dt.Columns.Add("CONSTRUCTIONUNITNAME"); //吊装施工单位 dt.Columns.Add("CONSTRUCTIONADDRESS"); //吊装施工地点 dt.Columns.Add("HOISTCONTENT"); //吊装内容 dt.Columns.Add("WORKDATE"); //作业时间 dt.Columns.Add("APPLYCOMPANYNAME"); //申请单位 dt.Columns.Add("APPLYUSERNAME"); //申请人 dt.Columns.Add("APPLYDATE"); //申请日期 dt.Columns.Add("approve1"); //技术支持部专业 dt.Columns.Add("approvedate1"); dt.Columns.Add("approve2"); //技术支持部 dt.Columns.Add("approvedate2"); dt.Columns.Add("approve3"); //分管领导 dt.Columns.Add("approvedate3"); DataRow row = dt.NewRow(); LifthoistjobEntity entity = lifthoistjobbll.GetEntity(keyValue); row["APPLYCODE"] = entity.APPLYCODESTR; row["CHARGEPERSONNAME"] = entity.CHARGEPERSONNAME; row["GUARDIANNAME"] = entity.GUARDIANNAME; row["QUALITY"] = entity.QUALITY; row["TOOLNAME"] = dataitemdetailbll.GetItemName("ToolName", entity.TOOLNAME); row["CONSTRUCTIONUNITNAME"] = entity.CONSTRUCTIONUNITNAME; row["CONSTRUCTIONADDRESS"] = entity.CONSTRUCTIONADDRESS; row["HOISTCONTENT"] = entity.HOISTCONTENT; row["WORKDATE"] = "自" + Convert.ToDateTime(entity.WORKSTARTDATE).ToString("yyyy年MM月dd日HH时mm分") + "到" + Convert.ToDateTime(entity.WORKENDDATE).ToString("yyyy年MM月dd日HH时mm分"); row["APPLYCOMPANYNAME"] = entity.APPLYCOMPANYNAME; row["APPLYUSERNAME"] = entity.APPLYUSERNAME; row["APPLYDATE"] = Convert.ToDateTime(entity.APPLYDATE).ToString("yyyy-MM-dd HH:mm"); IList <LifthoistauditrecordEntity> auditlist = lifthoistauditrecordbll.GetList(keyValue).Where(t => t.DISABLE != 1).OrderBy(t => t.AUDITDATE).ToList(); for (int i = 0; i < auditlist.Count; i++) { var filepath = auditlist[i].AUDITSIGNIMG == null?Server.MapPath("~/content/Images/no_1.png") : (Server.MapPath("~/") + auditlist[i].AUDITSIGNIMG.ToString().Replace("../../", "").ToString()).Replace(@"\/", "/").ToString(); if (!System.IO.File.Exists(filepath)) { filepath = Server.MapPath("~/content/Images/no_1.png"); } var stime = Convert.ToDateTime(auditlist[i].AUDITDATE).ToString("yyyy-MM-dd HH:mm"); switch (i) { case 0: builder.MoveToMergeField("approve1"); builder.InsertImage(filepath, 80, 35); row["approvedate1"] = stime; break; case 1: builder.MoveToMergeField("approve2"); builder.InsertImage(filepath, 80, 35); row["approvedate2"] = stime; break; case 2: builder.MoveToMergeField("approve3"); builder.InsertImage(filepath, 80, 35); row["approvedate3"] = stime; break; default: break; } } dt.Rows.Add(row); doc.MailMerge.Execute(dt); DataTable dtperson = new DataTable("U"); dtperson.Columns.Add("BelongDeptName"); dtperson.Columns.Add("CertificateNum"); dtperson.Columns.Add("PersonName"); dtperson.Columns.Add("PersonType"); List <LifthoistpersonEntity> listperson = lifthoistpersonbll.GetRelateList(keyValue).ToList(); foreach (var item in listperson) { DataRow dtrow = dtperson.NewRow(); dtrow["BelongDeptName"] = item.BelongDeptName; dtrow["CertificateNum"] = item.CertificateNum; dtrow["PersonName"] = item.PersonName; dtrow["PersonType"] = item.PersonName; DataTable liftfazls = fileInfoBLL.GetFiles(item.Id); if (liftfazls != null && liftfazls.Rows.Count > 0) { foreach (DataRow rowitem in liftfazls.Rows) { string image = "ico,gif,jpeg,jpg,png,psd"; if (image.Contains(rowitem["filepath"].ToString().Split('.')[1].ToLower())) { var filepath = rowitem["filepath"] == null?Server.MapPath("~/content/Images/no_1.png") : (Server.MapPath("~/") + rowitem["filepath"].ToString().Replace("~/", "").ToString()).Replace(@"\/", "/").ToString(); if (!System.IO.File.Exists(filepath)) { filepath = Server.MapPath("~/content/Images/no_1.png"); } builder.MoveToMergeField("lifthoistpersonfile"); builder.InsertImage(filepath, 80, 35); } } } dtperson.Rows.Add(dtrow); } doc.MailMerge.ExecuteWithRegions(dtperson); doc.MailMerge.DeleteFields(); doc.Save(resp, Server.UrlEncode(fileName), ContentDisposition.Attachment, Aspose.Words.Saving.SaveOptions.CreateSaveOptions(SaveFormat.Doc)); return(Success("导出成功!")); } catch (Exception ex) { return(Error(ex.ToString())); } }