public string SaveAricle(string JsonData, string userid) { var tran = Utility.Database.BeginDbTransaction(); StringBuilder strSql = new StringBuilder(); try { B_OA_Notice notice = JsonConvert.DeserializeObject<B_OA_Notice>(JsonData); //会议通知 if (notice.isConferenceInform == false) { notice.conferenceEndDate = null; } else { if (notice.conferenceEndDate == "" || notice.conferenceEndDate == null) { strSql.Append("\n请输入会议时间"); } } //邮件送达 if (notice.isSendEmail == false) { notice.sendEmailToManId = ""; notice.sendEmailToManName = ""; } else { if (notice.sendEmailToManId == "" || notice.sendEmailToManId == null) { strSql.Append("\n请选择发件人"); } } //指定发布范围 if (notice.publicRange == 0) { notice.rangeCheckManId = ""; notice.rangeCheckManName = ""; } else { if (notice.rangeCheckManId == "" || notice.rangeCheckManId == null) { strSql.Append("\n请选择指定人员"); } } if (strSql.ToString().Length != 0) { return Utility.JsonMsg(false, strSql.ToString()); //将对象转为json字符串并返回到客户端 } if (notice.NewsId == null || notice.NewsId == "") { notice.NewsId = ComClass.GetGuid(); notice.CreateTime = DateTime.Now.ToString(); notice.isSeeInDoor = false; //设置为已发布进入审核流程 Utility.Database.Insert(notice, tran); } else { notice.Condition.Add("NewsId =" + notice.NewsId); Utility.Database.Update(notice, tran); } var userInfor = ComClass.GetUserInfo(userid); //删除文章与目录关系表 B_OA_Notice_FileType_R del_nf_R = new B_OA_Notice_FileType_R(); del_nf_R.Condition.Add("noticeId = " + notice.NewsId); Utility.Database.Delete(del_nf_R, tran); //保存关系表 string[] documenTypeArray = notice.documentTypeId.Split('/'); for (int k = 0; k < documenTypeArray.Length; k++) { B_OA_Notice_FileType_R nf_R = new B_OA_Notice_FileType_R(); nf_R.noticeId = notice.NewsId; nf_R.fileTypeId = documenTypeArray[k]; Utility.Database.Insert(nf_R, tran); } //邮件送达 if (notice.isSendEmail == true) { string Mail_Id = ComClass.GetGuid(); //保存已发送 B_Email email = new B_Email(); email.Mail_ID = Mail_Id; email.Mail_CreateData = DateTime.Now.ToString(); //发送时间 email.ID = Mail_Id; // +"_" + DateTime.Now.ToLocalTime().ToString();/ID主键 email.Mail_SendPersonId = userid; //发件人ID email.Mail_SendPersonName = userInfor.CnName; //发件人姓名 email.Mail_Deleted = "0"; //是否已删除 email.Mail_deletedPerson = ""; //删除人 email.Mail_Type = "1"; //类型,0 未发送,草稿,1已发送 email.MailDocumentType = "fajian"; //的文件夹分类 默认是0收件箱 email.Mail_IsSee = "0"; //是否已被查看 email.markId = ""; //标签id email.markName = ""; //标签名称 email.markColor = ""; //标签颜色 email.whosEmailId = userid; //邮件拥有者 email.Mail_SendDate = DateTime.Now.ToString(); //发送时间 email.emailRecieveDate = DateTime.Now.ToString(); //接收事件 email.isSaveSendBox = true; //保存发件 email.Mail_ReceivePersonId = notice.sendEmailToManId; //接收人ID email.Mail_ReceivePersonName = notice.sendEmailToManName; //接收人名称 email.isImportant = true; //重要邮件 email.Mail_Title = "(来自文档中心)" + notice.NewsTitle; //标题 email.Mail_SendAttachment = notice.ShareAttachment; //附件 email.Mail_SendText = notice.NewsText; //内容 Utility.Database.Insert<B_Email>(email, tran); //保存给发送方 string[] sendIdArray = email.Mail_ReceivePersonId.Split(';'); for (int i = 0; i < sendIdArray.Length - 1; i++) { B_Email sendEmail = new B_Email(); sendEmail.ID = email.ID + sendIdArray[i]; //主键 sendEmail.Mail_ID = email.Mail_ID; //关联ID sendEmail.Mail_Title = email.Mail_Title; //主题 sendEmail.Mail_SendText = email.Mail_SendText; //发送内容 sendEmail.Mail_SendPersonId = email.Mail_SendPersonId; //发件人ID var sendUserInfor = ComClass.GetUserInfo(sendEmail.Mail_SendPersonId); sendEmail.Mail_SendPersonName = sendUserInfor.CnName; //发件人姓名 sendEmail.Mail_SendDate = email.Mail_SendDate; //发送时间 sendEmail.Mail_ReceivePersonId = sendIdArray[i]; //接收人ID sendEmail.Mail_ReceivePersonName = email.Mail_ReceivePersonName; sendEmail.Mail_SendAttachment = email.Mail_SendAttachment; //附件 sendEmail.Mail_Deleted = "0"; //是否删除0为未删除 sendEmail.Mail_Type = "1"; //邮件类别(1已发送0草稿) sendEmail.Mail_CreateData = DateTime.Now.ToString(); //创建时间 sendEmail.Mail_IsSee = "0"; //是否已读0未读1已读 sendEmail.MailDocumentType = "shoujian"; //电子邮件文件夹类型 // sendEmail.isSaveSendBox = email.isSaveSendBox;//是否保存到发件箱 sendEmail.isImportant = email.isImportant; //是否是重要的邮件 sendEmail.isReadReceipt = email.isReadReceipt; //是否发送查看回执1发送回执0不回执 sendEmail.haveAttachment = email.haveAttachment; //是否有附件 sendEmail.CCId = email.CCId; //抄送人 sendEmail.CCName = email.CCName; //抄送人姓名 sendEmail.emailRecieveDate = DateTime.Now.ToString(); //收件时间 sendEmail.markId = ""; //标记ID sendEmail.markName = ""; //标记名称 sendEmail.markColor = ""; //标记颜色 sendEmail.whosEmailId = sendIdArray[i]; //邮件拥有者 Utility.Database.Insert<B_Email>(sendEmail, tran); } } //将指定人员查看存入关系表中 if (notice.publicRange == 1) { string rangeCheckManId = notice.rangeCheckManId; string[] manIdArray = rangeCheckManId.Split(';'); //删除原数据 B_OA_Notice_AppointManSee manSee_Delete = new B_OA_Notice_AppointManSee(); manSee_Delete.Condition.Add("noticeid =" + notice.NewsId); Utility.Database.Delete(manSee_Delete, tran); for (var range = 0; range < manIdArray.Length - 1; range++) { B_OA_Notice_AppointManSee manSee = new B_OA_Notice_AppointManSee(); manSee.noticeid = notice.NewsId; manSee.userid = manIdArray[range]; Utility.Database.Insert(manSee, tran); } } Utility.Database.Commit(tran); return Utility.JsonMsg(true, "保存成功!"); //将对象转为json字符串并返回到客户端 } catch (Exception ex) { Utility.Database.Rollback(tran); ComBase.Logger(ex); //写异常日志到本地文件夹 return Utility.JsonMsg(false, ex.Message); //将对象转为json字符串并返回到客户端 } }
/// <summary> /// 保存到文档中心和文档中心审核意见表和文章关系表中 /// </summary> /// <param name="tran"></param> /// <param name="caseid"></param> /// <param name="userid"></param> public void SaveToNotice(IDbTransaction tran, string caseid, string userid) { StringBuilder strSql = new StringBuilder(); string DPName = "";//部门名称 string DPID = "";//部门ID string CnName = "";//归档人姓名 string saveFileName = "";//需要存档的文件夹名称 string dir = ""; string UserID = ""; dir = AppDomain.CurrentDomain.BaseDirectory;//获取应用程序跟目录 dir = dir.Replace("\\", "/"); strSql.Clear(); strSql.AppendFormat(@"select * from FX_AttachMent where CaseID='{0}'", caseid); DataSet ds = Utility.Database.ExcuteDataSet(strSql.ToString(), tran); if (ds.Tables[0].Rows.Count > 0) { string jsonData = JsonConvert.SerializeObject(ds.Tables[0]); List<FX_AttachMent> list_fx = (List<FX_AttachMent>)JsonConvert.DeserializeObject(jsonData, typeof(List<FX_AttachMent>)); //将文件复制文档中心下的相应目录 string path = dir + "attachment/documentCenter/"; if (Directory.Exists(path) == false)//如果不存在就创建文件夹 { Directory.CreateDirectory(path); } for (int f = 0; f < list_fx.Count(); f++) { string path1 = ""; string path2 = ""; path1 = dir + "附件目录/" + list_fx[f].FilePath; string fileName = DateTime.Now.ToString("yyyy年MM月dd日HH时mm分ss秒") + "_" + list_fx[f].FileName; path2 = path + fileName; //取出文件并保存到相应目录中 File.Copy(path1, path2, true); saveFileName += "attachment/documentCenter/" + fileName; if (f != (list_fx.Count() - 1)) { saveFileName += "|"; } } } //取出用户相关信息 var userInfo = ComClass.GetUserInfo(userid); DPID = userInfo.DPID; CnName = userInfo.CnName; UserID = userInfo.UserID; //查找部门ID FX_Department department = new FX_Department(); department.Condition.Add("DPID=" + userInfo.DPID); FX_Department department_ad = Utility.Database.QueryList<FX_Department>(department, tran)[0]; DPName = department_ad.DPName; //放入的文件类型ID B_OA_SendDoc sendDoc = new B_OA_SendDoc(); sendDoc.Condition.Add("caseid=" + caseid); sendDoc = Utility.Database.QueryObject<B_OA_SendDoc>(sendDoc); //保存文档 B_OA_Notice newNotice = new B_OA_Notice(); //newNotice.NewsTitle = sendDoc.;//文档标题 newNotice.CreateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");//现在时间 newNotice.NewsTitle = sendDoc.wjbt; newNotice.documentTypeId = sendDoc.fwlxId;//文档类型id string documentTypeName = getFileTypeNameByFileTypeId(sendDoc.fwlxId, tran); newNotice.documentTypeName = documentTypeName;//所选树状图名称,从根节点到子节点 newNotice.CreateMan = CnName;//创建人 newNotice.CreaterId = userid;//创建人 newNotice.AttachmentName = saveFileName;//保存文件路径 newNotice.ShareAttachment = "0";//是否共享文件 newNotice.isSeeInDoor = false;//是否在门户中查看 newNotice.status = "checkThrough";//审核状态 newNotice.caseid = sendDoc.caseid; newNotice.publicRange = 0;//非指定人查看 newNotice.NewsId = ComClass.GetGuid(); newNotice.publicRange = 0;//所有人查看 newNotice.isReadRecord = true;//查看记录 newNotice.isTextSuggetion = true;//可以发表意见 newNotice.ChkMId = UserID + ";"; newNotice.ChkM = CnName + ";"; newNotice.Chkdate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");//审核时间 Utility.Database.Insert<B_OA_Notice>(newNotice, tran); //插入审核记录 //取出审核人ID数组 string[] checkManId = newNotice.ChkMId.Split(';'); //插入审核表,用于文章修改后,或者新生成的文章审核 for (int i = 0; i < checkManId.Length - 1; i++) { B_OA_Notice_Addvice addvice = new B_OA_Notice_Addvice(); var user_check = ComClass.GetUserInfo(checkManId[i]); //审核人ID addvice.chkId = checkManId[i]; //审核人姓名 addvice.chkName = user_check.CnName; //审核状态为未审核 addvice.statuType = "checkThrough"; //审核状态名称 addvice.statusName = "审核通过"; //文章表外键 addvice.noticeId = newNotice.NewsId; Utility.Database.Insert(addvice, tran); } //插入文章关系表 B_OA_Notice_FileType_R fileType_r = new B_OA_Notice_FileType_R(); fileType_r.noticeId = newNotice.NewsId; fileType_r.fileTypeId = sendDoc.fwlxId; Utility.Database.Insert(fileType_r, tran); //sendDoc.fwlxId; }
public void SaveData(GetDataModel data, IDbTransaction tran, string caseId, string userid) { if (caseId != null) data.baseInfor_Notice.caseid = caseId; data.baseInfor_Notice.Condition.Add("caseid=" + caseId); B_OA_Notice en = Utility.Database.QueryObject<B_OA_Notice>(data.baseInfor_Notice); if (en == null) { //插入文章关系表 B_OA_Notice_FileType_R fileType_R = new B_OA_Notice_FileType_R(); fileType_R.noticeId = data.baseInfor_Notice.NewsId; fileType_R.fileTypeId = ComDocumentCenterOperate.GetFileTypeByFlayType("4", tran).FileTypeId; Utility.Database.Insert(fileType_R, tran); Utility.Database.Insert(data.baseInfor_Notice, tran); if (data.baseInfor_Notice.publicRange == 1) { DataRowMap rm = new DataRowMap(); rm.TableName = "B_OA_Notice_Range_R"; rm.Fields.Add(new FieldInfo("newsId", data.baseInfor_Notice.NewsId)); rm.Fields.Add(new FieldInfo("userid", data.baseInfor_Notice.CreaterId)); Utility.Database.Insert(rm, tran); } } else { if (data.baseInfor_Notice.publicRange==1) { DataRowMap rm_d = new DataRowMap(); rm_d.TableName = "B_OA_Notice_Range_R"; rm_d.Condition.Add("newsId =" + data.baseInfor_Notice.NewsId); Utility.Database.Delete(rm_d, tran); DataRowMap rm = new DataRowMap(); rm.TableName = "B_OA_Notice_Range_R"; rm.Fields.Add(new FieldInfo("newsId", data.baseInfor_Notice.NewsId)); rm.Fields.Add(new FieldInfo("userid", data.baseInfor_Notice.CreaterId)); Utility.Database.Insert(rm, tran); } Utility.Database.Update(data.baseInfor_Notice, tran); } //将指定人员查看存入关系表中 if (data.baseInfor_Notice.publicRange == 1) { InserAppointManSee(data.baseInfor_Notice, tran); } }
//保存到关系表中 public void SaveFileType_R(B_OA_Notice notice, IDbTransaction tran) { //删除文章与目录关系表 B_OA_Notice_FileType_R del_nf_R = new B_OA_Notice_FileType_R(); del_nf_R.Condition.Add("noticeId = " + notice.NewsId); Utility.Database.Delete(del_nf_R, tran); //保存关系表 string[] documenTypeArray = notice.documentTypeId.Split('/'); for (int k = 0; k < documenTypeArray.Length; k++) { B_OA_Notice_FileType_R nf_R = new B_OA_Notice_FileType_R(); nf_R.noticeId = notice.NewsId; nf_R.fileTypeId = documenTypeArray[k]; Utility.Database.Insert(nf_R, tran); } }
public void SaveData(GetDataModel data, IDbTransaction tran, string caseId, string userid) { if (caseId != null) data.baseInfor_Notice.caseid = caseId; data.baseInfor_Notice.Condition.Add("caseid=" + caseId); B_OA_Notice en = Utility.Database.QueryObject<B_OA_Notice>(data.baseInfor_Notice); if (en == null) { //插入文章关系表 B_OA_Notice_FileType_R fileType_R = new B_OA_Notice_FileType_R(); fileType_R.noticeId = data.baseInfor_Notice.NewsId; fileType_R.fileTypeId = ComDocumentCenterOperate.GetFileTypeByFlayType("4", tran).FileTypeId; Utility.Database.Insert(fileType_R, tran); Utility.Database.Insert(data.baseInfor_Notice, tran); } else { Utility.Database.Update(data.baseInfor_Notice, tran); } //将指定人员查看存入关系表中 if (data.baseInfor_Notice.publicRange == 1) { InserAppointManSee(data.baseInfor_Notice, tran); } }