public ActionResult SubmitCondition(string keyValue, string jsonData) { try { var requestParam = JsonConvert.DeserializeAnonymousType(jsonData, new { ConditionEntity = new FireWaterCondition() }); if (requestParam.ConditionEntity == null) { return(Error("审核出错,错误信息:参数为null")); } Operator user = ERCHTMS.Code.OperatorProvider.Provider.Current(); firewaterbll.SubmitCondition(keyValue, requestParam.ConditionEntity); FireWaterEntity fireWaterEntity = firewaterbll.GetEntity(requestParam.ConditionEntity.FireWaterId); fireWaterEntity.ConditionState = "1"; firewaterbll.SaveForm(fireWaterEntity.Id, fireWaterEntity); } catch (Exception ex) { return(Error("审核出错,错误信息:" + ex.Message)); } return(Success("提交成功。")); }
/// <summary> /// 申请审核 /// 适用于审核时,修改业务状态信息 /// </summary> /// <param name="key">申请信息主键ID</param> /// <param name="auditEntity">审核记录</param> public void ApplyCheck(string keyValue, ScaffoldauditrecordEntity auditEntity) { FireWaterEntity fireWaterEntity = service.GetEntity(keyValue); Operator currUser = ERCHTMS.Code.OperatorProvider.Provider.Current(); ManyPowerCheckEntity mpcEntity = null; //把当前业务流程节点赋值到审核记录中 auditEntity.FlowId = fireWaterEntity.FlowId; if (fireWaterEntity.WorkDeptType == "0") { mpcEntity = peopleReviwservice.CheckAuditForNextByWorkUnit(currUser, "消防水使用-内部审核", fireWaterEntity.WorkDeptId, fireWaterEntity.FlowId, false); } else { mpcEntity = peopleReviwservice.CheckAuditForNextByOutsourcing(currUser, "消防水使用-外部审核", fireWaterEntity.WorkDeptId, fireWaterEntity.FlowId, false, true, fireWaterEntity.EngineeringId); } //如果审核记录不为空,且为不同意,流程结束 if (auditEntity.AuditState == 1) { //下一步流程不为空 if (null != mpcEntity) { fireWaterEntity.FlowDept = mpcEntity.CHECKDEPTID; fireWaterEntity.FlowDeptName = mpcEntity.CHECKDEPTNAME; fireWaterEntity.FlowRole = mpcEntity.CHECKROLEID; fireWaterEntity.FlowRoleName = mpcEntity.CHECKROLENAME; fireWaterEntity.FlowId = mpcEntity.ID; fireWaterEntity.FlowName = mpcEntity.FLOWNAME; fireWaterEntity.ApplyState = "1"; fireWaterEntity.InvestigateState = "2"; fireWaterEntity.FlowRemark = !string.IsNullOrEmpty(mpcEntity.REMARK) ? mpcEntity.REMARK : ""; //推送消息到有审批权限的人 string type = fireWaterEntity.FlowRemark != "1" ? "0" : "1"; new ScaffoldBLL().SendMessage(fireWaterEntity.FlowDept, fireWaterEntity.FlowRole, "ZY100", fireWaterEntity.Id, "", "", type, !string.IsNullOrEmpty(fireWaterEntity.SpecialtyType) ? fireWaterEntity.SpecialtyType : ""); } else { fireWaterEntity.FlowRemark = ""; fireWaterEntity.FlowDept = " "; fireWaterEntity.FlowDeptName = " "; fireWaterEntity.FlowRole = " "; fireWaterEntity.FlowRoleName = " "; fireWaterEntity.ApplyState = "3"; fireWaterEntity.FlowName = "已完结"; fireWaterEntity.InvestigateState = "3"; fireWaterEntity.FlowId = ""; var high = GetEntity(fireWaterEntity.Id); if (high != null) { string Content = "作业内容:" + high.WorkContent + " 作业时间:" + high.WorkStartTime.Value.ToString("yyyy年MM月dd日 HH时mm分") + " 到 " + high.WorkEndTime.Value.ToString("yyyy年MM月dd日 HH时mm分") + " 作业地点:" + high.WorkPlace; UserEntity userEntity = userservice.GetEntity(high.CreateUserId); string[] workuserlist = high.WorkUserIds.Split(','); string[] copyuserlist = high.CopyUserIds.Split(','); DataTable dutyuserDt = new DataTable(); dutyuserDt = userservice.GetUserTable(workuserlist); //推送给作业申请人 if (userEntity != null) { JPushApi.PushMessage(userEntity.Account, userEntity.RealName, "ZY020", "消防水使用许可申请已通过,请及时处理", Content, fireWaterEntity.Id); } DataTable copyuserdt = new DataTable(); copyuserdt = userservice.GetUserTable(copyuserlist); //推送给作业负责人/作业人 if (dutyuserDt.Rows.Count > 0) { string Account = ""; string RealName = ""; foreach (DataRow item in dutyuserDt.Rows) { Account += item["account"].ToString() + ","; RealName += item["realname"].ToString() + ","; } if (!string.IsNullOrEmpty(Account)) { Account = Account.Substring(0, Account.Length - 1); RealName = RealName.Substring(0, RealName.Length - 1); } JPushApi.PushMessage(Account, RealName, "ZY020", "您有一条新的消防水使用作业任务,请及时处理", Content, fireWaterEntity.Id); } //推送给抄送人 if (copyuserdt.Rows.Count > 0) { string Account = ""; string RealName = ""; foreach (DataRow item in copyuserdt.Rows) { Account += item["account"].ToString() + ","; RealName += item["realname"].ToString() + ","; } if (!string.IsNullOrEmpty(Account)) { Account = Account.Substring(0, Account.Length - 1); RealName = RealName.Substring(0, RealName.Length - 1); } JPushApi.PushMessage(Account, RealName, "ZY020", "消防水使用许可申请审核已经通过,请知晓", Content, fireWaterEntity.Id); } } } } else { fireWaterEntity.FlowRemark = ""; fireWaterEntity.FlowDept = " "; fireWaterEntity.FlowDeptName = " "; fireWaterEntity.FlowRole = " "; fireWaterEntity.FlowRoleName = " "; fireWaterEntity.ApplyState = "2"; fireWaterEntity.FlowName = "已完结"; fireWaterEntity.InvestigateState = "3"; fireWaterEntity.FlowId = ""; //审批不通过,推消息到申请人 UserEntity userEntity = new UserService().GetEntity(fireWaterEntity.CreateUserId); if (userEntity != null) { var high = GetEntity(fireWaterEntity.Id); if (high != null) { string Content = "作业内容:" + high.WorkContent + " 作业时间:" + high.WorkStartTime.Value.ToString("yyyy年MM月dd日 HH时mm分") + " 到 " + high.WorkEndTime.Value.ToString("yyyy年MM月dd日 HH时mm分") + " 作业地点:" + high.WorkPlace; JPushApi.PushMessage(userEntity.Account, userEntity.RealName, "ZY019", "消防水使用许可申请未通过,请及时处理", Content, fireWaterEntity.Id); } } } this.service.UpdateForm(fireWaterEntity, auditEntity); }
/// <summary> /// 通用消防水导出 /// </summary> /// <param name="keyValue"></param> private void ExportCommonTemp(string keyValue) { FireWaterEntity firewaterentity = firewaterbll.GetEntity(keyValue); if (firewaterentity == null) { return; } DataSet ds = new DataSet(); DataTable dt = new DataTable(); dt.Columns.Add("applynumber"); dt.Columns.Add("workdeptname"); dt.Columns.Add("workplace"); dt.Columns.Add("starttime"); dt.Columns.Add("endtime"); dt.Columns.Add("workcontent"); dt.Columns.Add("measure"); dt.Columns.Add("aaudituser"); dt.Columns.Add("baudituser"); dt.Columns.Add("caudituser"); dt.Columns.Add("daudituser"); dt.Columns.Add("eaudituser"); dt.Columns.Add("eauditdept"); dt.Columns.Add("faudituser"); dt.Columns.Add("fauditdept"); dt.Columns.Add("gaudituser"); string fileName = Server.MapPath("~/Resource/ExcelTemplate/消防水使用申请模板.doc"); Document doc = new Document(fileName); DocumentBuilder builder = new DocumentBuilder(doc); string pic = Server.MapPath("~/content/Images/no_1.png");//默认图片 string defaulttimestr = "yyyy年MM月dd日HH时mm分"; string eauditdept = "", fauditdept = ""; DataRow row = dt.NewRow(); List <ScaffoldauditrecordEntity> list = scaffoldauditrecordbll.GetList(firewaterentity.Id).OrderBy(x => x.AuditDate).ToList(); var count = 1; for (int i = 1; i <= list.Count; i++) { var filepath = list[i - 1].AuditSignImg == null ? "" : (Server.MapPath("~/") + list[i - 1].AuditSignImg.ToString().Replace("../../", "").ToString()).Replace(@"\/", "/").ToString(); if (firewaterentity.WorkDeptType == "0" && count == 1) { count = i + 1; } if (count == 1) { builder.MoveToMergeField("aaudituser"); } else if (count == 2) { builder.MoveToMergeField("baudituser"); if (System.IO.File.Exists(filepath)) { builder.InsertImage(filepath, 80, 35); } else { builder.InsertImage(pic, 80, 35); } builder.MoveToMergeField("bauditdept"); } else if (count == 3) { builder.MoveToMergeField("caudituser"); } else if (count == 4) { builder.MoveToMergeField("daudituser"); } else if (count == 5) { builder.MoveToMergeField("eaudituser"); } else if (count == 6) { builder.MoveToMergeField("faudituser"); fauditdept = list[i].AuditDeptName; } else if (count == 7) { builder.MoveToMergeField("gaudituser"); } if (System.IO.File.Exists(filepath)) { builder.InsertImage(filepath, 80, 35); } else { builder.InsertImage(pic, 80, 35); } count++; } row["applynumber"] = firewaterentity.ApplyNumber; row["workcontent"] = firewaterentity.WorkContent; row["workplace"] = firewaterentity.WorkPlace; row["workdeptname"] = firewaterentity.WorkDeptName; row["starttime"] = Convert.ToDateTime(firewaterentity.WorkStartTime).ToString(defaulttimestr); row["endtime"] = Convert.ToDateTime(firewaterentity.WorkEndTime).ToString(defaulttimestr); row["measure"] = firewaterentity.Measure;//措施 row["eauditdept"] = eauditdept; row["fauditdept"] = fauditdept; dt.Rows.Add(row); doc.MailMerge.Execute(dt); doc.MailMerge.DeleteFields(); var docStream = new MemoryStream(); doc.Save(docStream, SaveOptions.CreateSaveOptions(Aspose.Words.SaveFormat.Doc)); Response.ContentType = "application/msword"; Response.AddHeader("content-disposition", "attachment;filename=消防水使用申请单_" + firewaterentity.ApplyNumber + ".doc"); Response.BinaryWrite(docStream.ToArray()); Response.End(); }
private void ExportHrdlTemp(string keyValue) { FireWaterEntity firewaterentity = firewaterbll.GetEntity(keyValue); if (firewaterentity == null) { return; } DataSet ds = new DataSet(); DataTable dt = new DataTable(); dt.Columns.Add("ApplyTime"); dt.Columns.Add("ApplyDept"); dt.Columns.Add("ApplyPerson"); dt.Columns.Add("WorkContent"); dt.Columns.Add("PlanTime"); dt.Columns.Add("ConditionIdea"); dt.Columns.Add("WorkUse"); dt.Columns.Add("OfficePerson"); dt.Columns.Add("OfficeIdea"); dt.Columns.Add("SafetyPerson"); dt.Columns.Add("SafetyIdea"); //dt.Columns.Add("Safety"); dt.Columns.Add("LeaderPerson"); dt.Columns.Add("LeaderIdea"); //dt.Columns.Add("Leader"); string fileName = Server.MapPath("~/Resource/ExcelTemplate/动用消防设施申请单.docx"); Document doc = new Document(fileName); DocumentBuilder builder = new DocumentBuilder(doc); string pic = Server.MapPath("~/content/Images/no_1.png");//默认图片 string defaulttimestr = "yyyy年MM月dd日HH时mm分"; DataRow row = dt.NewRow(); List <ScaffoldauditrecordEntity> list = scaffoldauditrecordbll.GetList(firewaterentity.Id).OrderBy(x => x.AuditDate).ToList(); for (int i = 0; i < list.Count; i++) { var filepath = list[i].AuditSignImg == null?Server.MapPath("~/content/Images/no_1.png") : (Server.MapPath("~/") + list[i].AuditSignImg.ToString().Replace("../../", "").ToString()).Replace(@"\/", "/").ToString(); if (i == 0) { row["OfficePerson"] = list[i].AuditUserName; row["OfficeIdea"] = list[i].AuditRemark; builder.MoveToMergeField("Office"); } else if (i == list.Count - 1) { row["LeaderPerson"] = list[i].AuditUserName; row["LeaderIdea"] = list[i].AuditRemark; builder.MoveToMergeField("Leader"); } else { row["SafetyPerson"] = list[i].AuditUserName; row["SafetyIdea"] = list[i].AuditRemark; builder.MoveToMergeField("Safety"); } if (System.IO.File.Exists(filepath)) { builder.InsertImage(filepath, 80, 35); } else { filepath = Server.MapPath("~/content/Images/no_1.png"); builder.InsertImage(filepath, 80, 35); } } row["WorkUse"] = firewaterentity.WorkUse; row["ApplyPerson"] = firewaterentity.ApplyUserName; row["WorkContent"] = firewaterentity.WorkContent; row["ApplyTime"] = firewaterentity.CreateDate; row["ApplyDept"] = firewaterentity.ApplyDeptName; row["PlanTime"] = Convert.ToDateTime(firewaterentity.WorkStartTime).ToString(defaulttimestr) + "至" + Convert.ToDateTime(firewaterentity.WorkEndTime).ToString(defaulttimestr); row["ConditionIdea"] = firewaterbll.GetConditionEntity(firewaterentity.Id) != null?firewaterbll.GetConditionEntity(firewaterentity.Id).ConditionContent : ""; dt.Rows.Add(row); doc.MailMerge.Execute(dt); doc.MailMerge.DeleteFields(); var docStream = new MemoryStream(); doc.Save(docStream, SaveOptions.CreateSaveOptions(Aspose.Words.SaveFormat.Doc)); Response.ContentType = "application/msword"; Response.AddHeader("content-disposition", "attachment;filename=消防水使用申请单_" + firewaterentity.ApplyNumber + ".doc"); Response.BinaryWrite(docStream.ToArray()); Response.End(); }
public object Audit() { try { string res = HttpContext.Current.Request["json"]; var dy = JsonConvert.DeserializeAnonymousType(res, new { userid = string.Empty, data = new { id = string.Empty, auditentity = new ScaffoldauditrecordEntity() } }); //获取用户Id OperatorProvider.AppUserId = dy.userid; //设置当前用户 Operator curUser = OperatorProvider.Provider.Current(); if (null == curUser) { return(new { code = -1, info = "请求失败,请登录!" }); } if (dy.data == null) { throw new ArgumentException("审核出错,错误信息:data为null"); } if (dy.data.auditentity == null) { throw new ArgumentException("审核出错,错误信息:参数为null"); } if (string.IsNullOrEmpty(dy.data.id)) { throw new ArgumentException("缺少参数:id为空"); } FireWaterEntity firewaterentity = firewaterbll.GetEntity(dy.data.id); if (firewaterentity == null) { throw new ArgumentException("审核出错,申请信息不存在"); } ////判断当前角色权限 角色一致且部门一样 //string[] curUserRoles = curUser.RoleName.ToString().Split(','); //if (!firewaterentity.FlowDept.Contains(curUser.DeptId)) //{ // throw new ArgumentException("无当前部门权限"); //} //var isApprove = false; //foreach (var r in curUserRoles) //{ // if (firewaterentity.FlowRoleName.Contains(r)) // { // isApprove = true; // break; // } //} //if (!isApprove) //{ // throw new ArgumentException("无当前角色权限"); //} if (firewaterentity.ApplyState == "2" || firewaterentity.ApplyState == "3") { throw new ArgumentException("此申请已处理"); } string webUrl = new DataItemDetailBLL().GetItemValue("imgUrl"); dy.data.auditentity.AuditSignImg = string.IsNullOrWhiteSpace(dy.data.auditentity.AuditSignImg) ? "" : dy.data.auditentity.AuditSignImg.Replace(webUrl, "").ToString(); HttpFileCollection files = HttpContext.Current.Request.Files; if (files.Count > 0) { for (int i = 0; i < files.AllKeys.Length; i++) { HttpPostedFile file = files[i]; string fileOverName = System.IO.Path.GetFileName(file.FileName); string fileName = System.IO.Path.GetFileNameWithoutExtension(file.FileName); string FileEextension = Path.GetExtension(file.FileName); if (fileName == dy.data.auditentity.Id) { string dir = new DataItemDetailBLL().GetItemValue("imgPath") + "\\Resource\\sign"; string newFileName = fileName + FileEextension; string newFilePath = dir + "\\" + newFileName; file.SaveAs(newFilePath); dy.data.auditentity.AuditSignImg = "/Resource/sign/" + fileOverName; break; } } } dy.data.auditentity.Id = null; firewaterbll.ApplyCheck(dy.data.id, dy.data.auditentity); return(new { code = 0, data = "", info = "操作成功" }); } catch (Exception ex) { return(new { code = -1, data = "", info = ex.Message }); } }