/// <summary> /// 获取需要导出的信息 /// </summary> /// <param name="id"></param> /// <returns></returns> public XiangMuDto GetById(Guid id) { XiangMuDto query = new XiangMuDto(); if (_dbContext.XiangMu.Any(x => x.Id == id)) { query = _mapper.Map <XiangMuDto>(_xiangMuService.GetXiangMu(id)); } return(query); }
/// <summary> /// 第一部分 /// </summary> /// <param name="xiangmu"></param> /// <returns></returns> public DocX WriteDocf(XiangMuDto xiangmu) { DocX doc = null; var year = DateTime.Now.Year.ToString(); var month = DateTime.Now.Month.ToString(); try { var zy = xiangmu.XiangMuZuYuans; var fangan = xiangmu.XiangMuFangAn; //默认老师 if (xiangmu.LiXiangLeiXing == 0) { doc = DocX.Load("wwwroot/Templates/stuFront.docx"); } else { doc = DocX.Load("wwwroot/Templates/teaFront.docx"); } doc.ReplaceText("{year}", year); //年 doc.ReplaceText("{month}", month); //月 //项目表 doc.ReplaceText("{xmmc}", xiangmu.XiangMuMingCheng); //项目名称 doc.ReplaceText("{xmlb}", xiangmu.XiangMuLeiXingName); //项目类型名称 doc.ReplaceText("{yjlx}", xiangmu.YanJiuLeiXingName); //研究类型名称 doc.ReplaceText("{sqr}", xiangmu.ShenQingRenName); //申请人名称 doc.ReplaceText("{xb}", xiangmu.XingBie); //性别 doc.ReplaceText("{mz}", xiangmu.MinZu); //名族 doc.ReplaceText("{csny}", xiangmu.ChuShengNianYue.ToString("yyyy-MM-dd")); //出生年月 doc.ReplaceText("{tbrq}", xiangmu.CreateDate.ToString("yyyy-MM-dd")); //填表日期 doc.ReplaceText("{xzzw}", xiangmu.XingZhengZhiWu == null ? "暂无" : xiangmu.XingZhengZhiWu); //行政职务 doc.ReplaceText("{jgzw}", xiangmu.JiaoGuanZhiWu == null ? "暂无" : xiangmu.JiaoGuanZhiWu); //教官职务 doc.ReplaceText("{zjzw}", xiangmu.ZhunJiZhiWu == null ? "暂无" : xiangmu.ZhunJiZhiWu); //专技职务 doc.ReplaceText("{zhxl}", xiangmu.ZuiHouXueLi == null ? "暂无" : xiangmu.ZuiHouXueLi); //最后学历 doc.ReplaceText("{ssbm}", xiangmu.ShenQingRenBuMenMingCheng); //所属部门 doc.ReplaceText("{lxdh}", xiangmu.LianXiDianHua); //联系电话 doc.ReplaceText("{skkm}", xiangmu.ShouKeKeMu == null ? "暂无" : xiangmu.ShouKeKeMu); //授课科目 doc.ReplaceText("{skdx}", xiangmu.ShouKeDuiXiang == null ? "暂无" : xiangmu.ShouKeDuiXiang); //授课对象 doc.ReplaceText("{ssqd}", xiangmu.SuoShuQuDui == null ? "暂无" : xiangmu.SuoShuQuDui); //所属区队 doc.ReplaceText("{xslxdh}", xiangmu.XueShengLianXiDianHua == null ? "" : xiangmu.XueShengLianXiDianHua); //学生联系电话 doc.ReplaceText("{yjzc}", xiangmu.YanJiuZhuanChang == null ? "暂无" : xiangmu.YanJiuZhuanChang); //研究专长 doc.ReplaceText("{zdls}", xiangmu.ZhiDaoLaoShi == null ? "暂无" : xiangmu.ZhiDaoLaoShi); //指导老师 doc.ReplaceText("{yqcg}", xiangmu.YuQiChengGuoLeiXingName); //预期成果 doc.ReplaceText("{sqjf}", xiangmu.JingFeiZongE.ToString()); //申请经费 doc.ReplaceText("{wcsj}", xiangmu.EndDateTime.ToString("yyyy-MM-dd")); //申请经费 //组员表 for (int i = 0; i < zy.Count; i++) { doc.ReplaceText("{zyxm" + (i + 1) + "}", zy[i].XiangMuZuChengYuanXingMing); //组员姓名 doc.ReplaceText("{zyxb" + (i + 1) + "}", zy[i].XingBie == 0 ? "男" : "女"); //组员性别 doc.ReplaceText("{zycsny" + (i + 1) + "}", zy[i].ChuShengNianYue.ToString("yyyy-MM-dd")); //组员出生年月 doc.ReplaceText("{zyzw" + (i + 1) + "}", zy[i].ZhiWuMingCheng); //组员职务 doc.ReplaceText("{zyyjzc" + (i + 1) + "}", zy[i].YanJiuZhuanChang); //组员研究专长 doc.ReplaceText("{zyxl" + (i + 1) + "}", zy[i].XueLi); //组员学历 doc.ReplaceText("{zyssbm" + (i + 1) + "}", zy[i].SuoSuBuMenMingCheng); //组员所属部门 } //少于7人 for (int i = 0; i < 7; i++) { doc.ReplaceText("{zyxm" + (i + 1) + "}", ""); //组员姓名 doc.ReplaceText("{zyxb" + (i + 1) + "}", ""); //组员性别 doc.ReplaceText("{zycsny" + (i + 1) + "}", ""); //组员出生年月 doc.ReplaceText("{zyzw" + (i + 1) + "}", ""); //组员职务 doc.ReplaceText("{zyyjzc" + (i + 1) + "}", ""); //组员研究专长 doc.ReplaceText("{zyxl" + (i + 1) + "}", ""); //组员学历 doc.ReplaceText("{zyssbm" + (i + 1) + "}", ""); //组员所属部门 } //方案表 doc.ReplaceText("{zzcg}", fangan.ZuiZhongChengGuo); //最终成果 doc.ReplaceText("{xmfacg}", fangan.XiangMuChengGuo); //项目成果 doc.ReplaceText("{faxt}", fangan.XiangMuXuanTi); //方案选题 doc.ReplaceText("{fafa}", fangan.XiangMuFangAn1); //方案 方案 doc.ReplaceText("{fayjjc}", fangan.YanJiuJiChu); //方案研究基础 } catch (Exception ex) { throw ex; } return(doc); }
public SingleResult <bool> SaveXiangMu(XiangMuDto entity) { SingleResult <bool> singleResult = new SingleResult <bool>(); XiangMu instance = new XiangMu(); var cUser = _fapContext.CurrentUser; try { if (_dbContext.XiangMu.Any(p => p.Id == entity.Id)) { instance = _dbContext.XiangMu.Find(entity.Id); } else { entity.Id = Guid.NewGuid(); entity.CreateDate = entity.LastUpdateDate = DateTime.Now; entity.Status = (int)XiangMuZhuangTaiName.提交; entity.ShenQingRenId = cUser.Id; entity.ShenQingRenBuMenMingCheng = cUser.Name; entity.ShenQingRenBuMenId = OrgHelper.GetBuMenId(cUser); entity.ShenQingRenBuMenMingCheng = OrgHelper.GetBuMenMingCheng(cUser); entity.IsYanQi = false; _dbContext.XiangMu.Add(instance); } _mapper.Map(entity, instance, typeof(XiangMuDto), typeof(XiangMu)); //添加外键信息 //方案 if (entity.XiangMuFangAn != null) { if (_dbContext.XiangMuFangAn.Any(p => p.XiangMuId == entity.Id)) { var fangAnInstance = _dbContext.XiangMuFangAn.Find(entity.Id); entity.XiangMuFangAn.LastUpdateDate = DateTime.Now; _mapper.Map(entity.XiangMuFangAn, fangAnInstance, typeof(XiangMuFangAn), typeof(XiangMuFangAn)); } else { entity.XiangMuFangAn.XiangMuId = entity.Id; entity.XiangMuFangAn.CreateDate = entity.XiangMuFangAn.LastUpdateDate = DateTime.Now; _dbContext.XiangMuFangAn.Add(entity.XiangMuFangAn); } } //成员 if (entity.XiangMuZuYuans != null) { //将除去做过删除操作的元素 var zyIds = entity.XiangMuZuYuans.Select(p => p.Id); var delRange = _dbContext.XiangMuZuYuan.Where(p => p.XiangMuId == entity.Id && !zyIds.Contains(p.Id)); _dbContext.XiangMuZuYuan.RemoveRange(delRange); entity.KeTiZuChengYuanRenSu = entity.XiangMuZuYuans.Count(); foreach (var zy in entity.XiangMuZuYuans) { if (_dbContext.XiangMuZuYuan.Any(p => p.Id == zy.Id)) { var zyInstance = _dbContext.XiangMuZuYuan.Find(zy.Id); zy.LastUpdateDate = DateTime.Now; _mapper.Map(zy, zyInstance, typeof(XiangMuZuYuan), typeof(XiangMuZuYuan)); } else { zy.XiangMuId = entity.Id; zy.CreateDate = zy.LastUpdateDate = DateTime.Now; _dbContext.XiangMuZuYuan.Add(zy); } } } //经费 if (entity.JingFeis != null) { //将除去做过删除操作的元素 var jfIds = entity.JingFeis.Select(p => p.Id); var delRange = _dbContext.JingFei.Where(p => p.XiangMuId == entity.Id && !jfIds.Contains(p.Id)); _dbContext.JingFei.RemoveRange(delRange); foreach (var jf in entity.JingFeis) { if (_dbContext.JingFei.Any(p => p.Id == jf.Id)) { var jfInstance = _dbContext.JingFei.Find(jf.Id); jf.LastUpdateDate = DateTime.Now; _mapper.Map(jf, jfInstance, typeof(JingFei), typeof(JingFei)); } else { jf.XiangMuId = entity.Id; jf.CreateDate = jf.LastUpdateDate = DateTime.Now; _dbContext.JingFei.Add(jf); } } } _dbContext.SaveChanges(); singleResult.Result = true; } catch (Exception ex) { _loggerService.LogException(_fapContext.CurrentUser, null, "", ex); singleResult.Error = new Error("系统未知错误"); } return(singleResult); }