コード例 #1
0
        /// <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);
        }
コード例 #2
0
        /// <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);
        }
コード例 #3
0
        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);
        }