/// <summary> /// 删除签名表中对应文件和文件夹 /// </summary> /// <param name="caseid"></param> /// <param name="tableName">表名</param> /// <param name="columnName">列名</param> /// <param name="type">类型</param> /// <returns></returns> public bool DeleteSendDoc(string caseid, string tableName, string columnName, string userid, IDbTransaction tran) { StringBuilder strSql = new StringBuilder(); strSql.AppendFormat(@"select * from B_OA_Sighture where caseid='{0}' and tableName='{1}' and columnName = '{2}' and userid='{3}'", caseid, tableName, columnName, userid); DataSet ds = Utility.Database.ExcuteDataSet(strSql.ToString(), tran); string jsonData = JsonConvert.SerializeObject(ds.Tables[0]); List<B_OA_Sighture> list_sightrue = (List<B_OA_Sighture>)JsonConvert.DeserializeObject(jsonData, typeof(List<B_OA_Sighture>)); if (list_sightrue.Count > 0) { for (int i = 0; i < list_sightrue.Count; i++) { B_OA_Sighture sightrue = new B_OA_Sighture(); //删除对应文件 string path = list_sightrue[i].path; //删除对应文件 BizService.Common.ComFileOperate.DeleteAttachment(path); sightrue.Condition.Add("id = " + list_sightrue[i].id); Utility.Database.Delete(sightrue, tran); } } return true; }
public string SaveSighture(string tableName, string columnName, string userid) { IDbTransaction tran = Utility.Database.BeginDbTransaction(); try { //存储图片到文件夹中 //查看路径是否存在 rootPath = HttpContext.Current.Server.MapPath("/");//系统路径 rootPath = rootPath.Replace("\\", "/"); string targetpath = rootPath + "officeFile/SightrueDoc"; BizService.Common.ComFileOperate.CreateDirectory(targetpath);//判断路径是否存在,若不存在自动生成文件夹路径 //删除原来的文件和相关数据 DeleteSendDoc(mRecordID, tableName, columnName, userid, tran); //保存新的签名和文件入文件夹中 string fileName = mRecordID + "_" + columnName + "_" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".jpg";//服务器的文件保存名 string savePath = targetpath + "/" + fileName; MsgObj.MsgFileSave(savePath); var img = System.Drawing.Image.FromFile(savePath); string fileName_edit = mRecordID + "_" + columnName + "_" + DateTime.Now.ToString("yyyyMMddHHmmss") + "_edit" + ".jpg";//服务器的文件保存名 var thumbnail = img.GetThumbnailImage(550, 200, null, IntPtr.Zero); thumbnail.Save(targetpath + "/" + fileName_edit); img.Dispose(); thumbnail.Dispose(); //保存图片路径入表中 B_OA_Sighture sighture = new B_OA_Sighture(); sighture.caseid = mRecordID; sighture.columnName = columnName; sighture.path = "officeFile/SightrueDoc/" + fileName; sighture.tableName = tableName; sighture.type = "0"; sighture.createtime = DateTime.Now.ToString(); sighture.fieldValue = mFieldValue; sighture.userid = mUserName; Utility.Database.Insert(sighture, tran); B_OA_Sighture sighture_edit = new B_OA_Sighture(); sighture_edit.caseid = mRecordID; sighture_edit.columnName = columnName; sighture_edit.path = "officeFile/SightrueDoc/" + fileName_edit; sighture_edit.tableName = tableName; sighture_edit.type = "1"; sighture_edit.userid = mUserName; sighture_edit.createtime = DateTime.Now.ToString(); Utility.Database.Insert(sighture_edit, tran); Utility.Database.Commit(tran); return ""; } catch (Exception e) { Utility.Database.Rollback(tran); return e.ToString(); } }
/// <summary> /// 创建一个Word数据 /// </summary> /// <param name="caseid"></param> /// <returns></returns> private Dictionary<string, Object> CreateWrodData(string caseId, IDbTransaction tran) { B_OA_Supervision_Delay_Apply en = new B_OA_Supervision_Delay_Apply(); en.Condition.Add("caseId = " + caseId);//设置查询条件 en = Utility.Database.QueryObject<B_OA_Supervision_Delay_Apply>(en); Dictionary<string, Object> list = new Dictionary<string, Object> { {"title",en.title },//收文日期 {"delayReson",en.applyReason},//延期理由 {"delayDate",en.delayDate.ToString()},//延期时间 }; //读取签发图片 StringBuilder strSql = new StringBuilder(); strSql.AppendFormat(@"select s.*,u.CnName from B_OA_Sighture as s LEFT JOIN FX_UserInfo as u on s.userid = u.UserID where s.caseid='{0}' and s.tableName='{1}' and s.type='{2}'", caseId, "B_OA_Supervision_Delay_Apply", "0"); DataSet sightureDs = Utility.Database.ExcuteDataSet(strSql.ToString()); string jsonData = JsonConvert.SerializeObject(sightureDs.Tables[0]); List<B_OA_Sighture> listSighture = (List<B_OA_Sighture>)JsonConvert.DeserializeObject(jsonData, typeof(List<B_OA_Sighture>)); if (listSighture.Count > 0) { var leaderList = new List<B_OA_Sighture>(); var assitantList = new List<B_OA_Sighture>(); for (int i = 0; i < listSighture.Count; i++) { //领导批示 if (listSighture[i].columnName == "learderApproval") { leaderList.Add(listSighture[i]); } else if (listSighture[i].columnName == "assitanLeaderSighture") { assitantList.Add(listSighture[i]); } } var leaderSightureStr = new OpenXmlHelper.ImageTextArray[leaderList.Count]; var assitanSightureStr = new OpenXmlHelper.ImageTextArray[assitantList.Count]; for (var j = 0; j < leaderList.Count; j++) { B_OA_Sighture sighture_leader = new B_OA_Sighture(); sighture_leader = leaderList[j]; string rootPath = HttpContext.Current.Server.MapPath("/"); rootPath = rootPath.Replace("\\", "/"); string path = rootPath + sighture_leader.path; if (File.Exists(path)) { leaderSightureStr[j] = new OpenXmlHelper.ImageTextArray(); leaderSightureStr[j].Images = System.Drawing.Image.FromFile(path); leaderSightureStr[j].Foots = sighture_leader.CnName + " " + Convert.ToDateTime(sighture_leader.createtime).ToString("yyyy年MM月dd日"); leaderSightureStr[j].FootAlign = DocumentFormat.OpenXml.Wordprocessing.JustificationValues.Right; } } for (var k = 0; k < assitantList.Count; k++) { B_OA_Sighture sighture_assistant = new B_OA_Sighture(); sighture_assistant = assitantList[k]; string rootPath = HttpContext.Current.Server.MapPath("/"); rootPath = rootPath.Replace("\\", "/"); string path = rootPath + sighture_assistant.path; if (File.Exists(path)) { assitanSightureStr[k] = new OpenXmlHelper.ImageTextArray(); assitanSightureStr[k].Images = System.Drawing.Image.FromFile(path); assitanSightureStr[k].Foots = sighture_assistant.CnName + " " + Convert.ToDateTime(sighture_assistant.createtime).ToString("yyyy年MM月dd日"); assitanSightureStr[k].FootAlign = DocumentFormat.OpenXml.Wordprocessing.JustificationValues.Right; } } if (assitanSightureStr.Count() > 0) { list.Add("assistanSiggestion", assitanSightureStr); } if (leaderSightureStr.Count() > 0) { list.Add("leaderSuggesion", leaderSightureStr); } } strSql.Clear(); strSql.AppendFormat("select CaseId,ActID,UserName,ReceDate,Remark from FX_WorkFlowBusAct where CaseID = '{0}' order by ReceDate asc", caseId); DataSet busSet = Utility.Database.ExcuteDataSet(strSql.ToString()); string jsonData_bus = JsonConvert.SerializeObject(busSet.Tables[0]); List<FX_WorkFlowBusAct> wfbaList = (List<FX_WorkFlowBusAct>)JsonConvert.DeserializeObject(jsonData_bus, typeof(List<FX_WorkFlowBusAct>)); List<string> listString = new List<string>(); for (int i = 0; i < wfbaList.Count; i++) { // 拟稿部门负责人核稿wfbaList[i].ActID == "A002" || if (wfbaList[i].ActID == "A004") { listString.Add(wfbaList[i].Remark + "--" + wfbaList[i].UserName + " " + wfbaList[i].ReceDate.ToString("yyyy年MM月dd日 hh:mm")); } } if (listString.Count > 0) { list.Add("officeSuggesion", listString); } return list; }
public bool LoadSignature() { IDbTransaction tran = Utility.Database.BeginDbTransaction(); try { StringBuilder strSql = new StringBuilder(); strSql.AppendFormat(@"select * from B_OA_Sighture where caseid='{0}' and tableName='{1}' and columnName = '{2}' and type='{3}'", mRecordID, "SendDoc", "qf", "0"); DataSet ds = Utility.Database.ExcuteDataSet(strSql.ToString(), tran); string jsonData = JsonConvert.SerializeObject(ds.Tables[0]); List<B_OA_Sighture> list_sightrue = (List<B_OA_Sighture>)JsonConvert.DeserializeObject(jsonData, typeof(List<B_OA_Sighture>)); if (list_sightrue.Count > 0) { B_OA_Sighture sighture = new B_OA_Sighture(); sighture = list_sightrue[0]; mFieldValue = sighture.fieldValue; } Utility.Database.Commit(tran); return true; } catch (Exception e) { Utility.Database.Rollback(tran); return false; } }
/// <summary> /// 创建一个Word数据 /// </summary> /// <param name="caseid"></param> /// <returns></returns> private Dictionary<string, Object> CreateWordSendDocData(string caseid, IDbTransaction tran, string fwzh) { B_OA_SendDoc boacd = new B_OA_SendDoc(); boacd.Condition.Add("caseid = " + caseid);//设置查询条件 boacd = Utility.Database.QueryObject<B_OA_SendDoc>(boacd); FX_WorkFlowBusAct wfba = new FX_WorkFlowBusAct(); wfba.Condition.Add("CaseID = " + caseid);//设置查询条件 List<FX_WorkFlowBusAct> wfbaList = Utility.Database.QueryList(wfba); var boacdmjsql = @"select a.csz as id, a.mc as mc from Para_BizTypeItem a , Para_BizTypeDictionary b where a.flid = b.id and b.lx = 'mjTypeDic' and a.csz =" + boacd.mj; DataSet boacdmjds = Utility.Database.ExcuteDataSet(boacdmjsql); // 发文 Dictionary<string, Object> dict = new Dictionary<string, Object>(); dict.Add("caseid", boacd.caseid == "" ? "" : boacd.caseid);//业务ID dict.Add("fwrq", boacd.fwrq == null ? "" : Convert.ToDateTime(boacd.fwrq).ToString("yyyy-MM-dd"));//发文日期 dict.Add("wjbh", boacd.wjbh == "" ? "" : boacd.wjbh);//文件编号 dict.Add("fwzh", fwzh); dict.Add("fwlx", boacd.fwlx == "" ? "" : boacd.fwlx);//发文类型 dict.Add("mj", boacdmjds.Tables.Count > 0 ? (boacdmjds.Tables[0].Rows.Count > 0 ? boacdmjds.Tables[0].Rows[0]["mc"] : "") : ""); //密级 //处理显示名称 dict.Add("ys", boacd.ys == "" ? "" : boacd.ys);//印数 //公开程度 DataSet gkcdgkcdds = new DataSet(); var gkcdgkcdsql = ""; if (boacd.gkcd != null) { gkcdgkcdsql = @"select a.csz as id, a.mc as mc from Para_BizTypeItem a , Para_BizTypeDictionary b where a.flid = b.id and b.lx = 'gkcdTypeDic' and a.csz =" + boacd.gkcd; gkcdgkcdds = Utility.Database.ExcuteDataSet(gkcdgkcdsql); dict.Add("gkcd", gkcdgkcdds.Tables.Count > 0 ? (gkcdgkcdds.Tables[0].Rows.Count > 0 ? gkcdgkcdds.Tables[0].Rows[0]["mc"] : "") : ""); //公开程度 } else { dict.Add("gkcd", ""); } dict.Add("wjbt", boacd.wjbt == "" ? "" : boacd.wjbt);//文件标题 dict.Add("zs", boacd.zs == "" ? "" : boacd.zs);//主送 dict.Add("cb", boacd.cb == "" ? "" : boacd.cb);//抄报 dict.Add("cs", boacd.cs == "" ? "" : boacd.cs);//抄送 dict.Add("ztc", boacd.ztc == "" ? "" : boacd.ztc);// 主题词 dict.Add("zbbm", boacd.zbbm == "" ? "" : boacd.zbbm);//主办部门 dict.Add("jd", boacd.jd == "" ? "" : boacd.jd);//校对 dict.Add("dzy", boacd.dzy == "" ? "" : boacd.dzy);// 打字员 dict.Add("bz", boacd.bz == "" ? "" : boacd.bz);//备注 dict.Add("yx", boacd.yx == "" ? "" : boacd.yx);//一校 dict.Add("ex", boacd.ex == "" ? "" : boacd.ex);//二校 string gklx = boacd.gklx;//公开类型 switch (gklx) { case "1": dict.Add("gklx1", "√"); break; case "2": dict.Add("gklx2", "√"); break; case "3": dict.Add("gklx3", "√"); break; } // 打印日期 dict.Add("printTime", DateTime.Now.ToLongDateString()); DataTable dataTable = CommonFunctional.GetUserNameAndDepartNameByActId(caseid, "A002", tran); if (dataTable.Rows.Count > 0) { string name = dataTable.Rows[0][1] + " " + dataTable.Rows[0][0]; dict.Add("ngr", name);// 拟稿人 } //评阅意见的插入 #region //获取所有评阅意见 FX_WorkFlowBusAct work = new FX_WorkFlowBusAct(); work.Condition.Add("CaseID = " + caseid); work.OrderInfo = "ReceDate asc"; List<FX_WorkFlowBusAct> listWork = Utility.Database.QueryList<FX_WorkFlowBusAct>(work, tran); //将所有工作流信息格式化 List<B_OA_PrintParagragh> listPara = CommonFunctional.ChangeListToMatch(listWork); List<B_OA_PrintParagragh> ngbmfzrhgList = new List<B_OA_PrintParagragh>(); List<B_OA_PrintParagragh> hbdwyjList = new List<B_OA_PrintParagragh>(); List<B_OA_PrintParagragh> fgldshList = new List<B_OA_PrintParagragh>(); List<B_OA_PrintParagragh> jbgsfzrhgList = new List<B_OA_PrintParagragh>(); List<B_OA_PrintParagragh> qfList = new List<B_OA_PrintParagragh>(); //领导批示 for (int i = 0; i < listPara.Count; i++) { // 拟稿部门负责人核稿 if (listPara[i].ActID == "A002") { ngbmfzrhgList.Add(listPara[i]); } //局办公室负责人核稿 else if (listPara[i].ActID == "A004") { jbgsfzrhgList.Add(listPara[i]); } // 分管领导审核 else if (listPara[i].ActID == "A005") { fgldshList.Add(listPara[i]); } //会办单位意见 else if (listPara[i].ActID == "A010") { hbdwyjList.Add(listPara[i]); } //会办单位意见 else if (listPara[i].ActID == "A006") { qfList.Add(listPara[i]); } } int k = 0; //拟稿部门负责人 var imgNgbmfzrhgList = new OpenXmlHelper.ImageTextArray[ngbmfzrhgList.Count]; for (k = 0; k < ngbmfzrhgList.Count; k++) { imgNgbmfzrhgList[k] = new OpenXmlHelper.ImageTextArray(); imgNgbmfzrhgList[k].Images = ngbmfzrhgList[k].Image; imgNgbmfzrhgList[k].Text = ngbmfzrhgList[k].Text; imgNgbmfzrhgList[k].Foots = ngbmfzrhgList[k].Foots; imgNgbmfzrhgList[k].FootAlign = DocumentFormat.OpenXml.Wordprocessing.JustificationValues.Right; } dict.Add("ngbmfzrhg", imgNgbmfzrhgList); //局办公室负责人核稿 var imgJbgsfzrhgList = new OpenXmlHelper.ImageTextArray[jbgsfzrhgList.Count]; for (k = 0; k < jbgsfzrhgList.Count; k++) { imgJbgsfzrhgList[k] = new OpenXmlHelper.ImageTextArray(); imgJbgsfzrhgList[k].Images = jbgsfzrhgList[k].Image; imgJbgsfzrhgList[k].Text = jbgsfzrhgList[k].Text; imgJbgsfzrhgList[k].Foots = jbgsfzrhgList[k].Foots; imgJbgsfzrhgList[k].FootAlign = DocumentFormat.OpenXml.Wordprocessing.JustificationValues.Right; } dict.Add("jbgsfzrhg", imgJbgsfzrhgList); //分管领导审核 var imgFgldshList = new OpenXmlHelper.ImageTextArray[fgldshList.Count]; for (k = 0; k < fgldshList.Count; k++) { imgFgldshList[k] = new OpenXmlHelper.ImageTextArray(); imgFgldshList[k].Images = fgldshList[k].Image; imgFgldshList[k].Text = fgldshList[k].Text; imgFgldshList[k].Foots = fgldshList[k].Foots; imgFgldshList[k].FootAlign = DocumentFormat.OpenXml.Wordprocessing.JustificationValues.Right; } dict.Add("fgldsh", imgFgldshList); //会办单位意见 var imgHbdwyjList = new OpenXmlHelper.ImageTextArray[hbdwyjList.Count]; for (k = 0; k < hbdwyjList.Count; k++) { imgHbdwyjList[k] = new OpenXmlHelper.ImageTextArray(); imgHbdwyjList[k].Images = hbdwyjList[k].Image; imgHbdwyjList[k].Text = hbdwyjList[k].Text; imgHbdwyjList[k].Foots = hbdwyjList[k].Foots; imgHbdwyjList[k].FootAlign = DocumentFormat.OpenXml.Wordprocessing.JustificationValues.Right; } dict.Add("hbdwyj", imgHbdwyjList); //签发 var imgQfList = new OpenXmlHelper.ImageTextArray[qfList.Count]; for (k = 0; k < qfList.Count; k++) { imgQfList[k] = new OpenXmlHelper.ImageTextArray(); imgQfList[k].Images = qfList[k].Image; imgQfList[k].Text = qfList[k].Text; imgQfList[k].Foots = qfList[k].Foots; imgQfList[k].FootAlign = DocumentFormat.OpenXml.Wordprocessing.JustificationValues.Right; } dict.Add("qf", imgQfList); #endregion //读取签发图片 StringBuilder strSql = new StringBuilder(); strSql.AppendFormat(@" select s.*,u.CnName from B_OA_Sighture as s LEFT JOIN FX_UserInfo as u on s.userid = u.UserID where s.caseid='{0}' and s.tableName='{1}' and s.columnName='{2}' and s.type='{3}'", caseid, "SendDoc", "qf", "0"); DataSet sightureDs = Utility.Database.ExcuteDataSet(strSql.ToString()); string jsonData = JsonConvert.SerializeObject(sightureDs.Tables[0]); List<B_OA_Sighture> listSighture = (List<B_OA_Sighture>)JsonConvert.DeserializeObject(jsonData, typeof(List<B_OA_Sighture>)); if (listSighture.Count > 0) { B_OA_Sighture sighture = new B_OA_Sighture(); sighture = listSighture[0]; string rootPath = HttpContext.Current.Server.MapPath("/"); rootPath = rootPath.Replace("\\", "/"); string path = rootPath + sighture.path; if (File.Exists(path)) { dict.Add("qf", System.Drawing.Image.FromFile(path));//备注 } } return dict; }