/// <summary> /// 根据立项查找结项经费 /// </summary> /// <param name="id"></param> /// <returns></returns> public ListResult <JieXiangJingFei> GetJieXiangJingFeis(Guid id) { ListResult <JieXiangJingFei> listResult = new ListResult <JieXiangJingFei>(); List <JieXiangJingFei> jieXiangJingFeis = new List <JieXiangJingFei>(); try { //判断是否 立项 if (_dbContext.XiangMu.Any(x => x.Id == id)) { var query_lx = _mapper.Map <XiangMuDto>(_dbContext.XiangMu.SingleOrDefault(x => x.Id == id)); var lxzys = query_lx.XiangMuZuYuans; var lxjfs = query_lx.JingFeis; lxjfs.ForEach(x => { JieXiangJingFei jieXiangJingFei = new JieXiangJingFei(); jieXiangJingFei.LiXiangId = x.XiangMuId; jieXiangJingFei.JingFeiMingCheng = x.MingCheng; jieXiangJingFei.JinE = x.JinE; jieXiangJingFeis.Add(jieXiangJingFei); }); listResult.Results = jieXiangJingFeis; } } catch (Exception ex) { _loggerService.LogException(_fapContext.CurrentUser, null, "", ex); listResult.Error = new Error("系统未知错误"); } return(listResult); }
public SingleResult <bool> SaveJieXiang(JieXiang_RequestBag entity) { SingleResult <bool> singleResult = new SingleResult <bool>(); var jiexiang = entity.JieXiang; var zys = entity.jiexiangzuyuans; var jfs = entity.jxJingFeis; var query_lx = _dbContext.XiangMu.SingleOrDefault(x => x.Id == jiexiang.LiXiangId); try { if (jiexiang.Id == Guid.Empty) { //结项项目 jiexiang.Id = Guid.NewGuid(); jiexiang.XiangMuMingCheng = query_lx.XiangMuMingCheng; jiexiang.XiangMuLeiXing = query_lx.XiangMuLeiXing; jiexiang.JieXiangLeiXing = query_lx.LiXiangLeiXing; if (jiexiang.JieXiangLeiXing == 1) { jiexiang.DianHua = query_lx.LianXiDianHua; } jiexiang.JieXiangTime = DateTime.Now; jiexiang.CreateDate = jiexiang.LastUpdateDate = DateTime.Now; _dbContext.JieXiang.Add(jiexiang); //结项组员 zys.ForEach(x => { x.Id = Guid.NewGuid(); x.JieXiangId = jiexiang.Id; x.CreateDate = x.LastUpdateDate = DateTime.Now; _dbContext.JieXiangZuYuan.Add(x); }); //经费 jfs.ForEach(x => { JieXiangJingFei jieXiangJingFei = new JieXiangJingFei(); jieXiangJingFei.Id = Guid.NewGuid(); jieXiangJingFei.LiXiangId = jiexiang.LiXiangId; jieXiangJingFei.JieXiangId = jiexiang.Id; jieXiangJingFei.JingFeiMingCheng = x.name; jieXiangJingFei.JinE = double.Parse(x.jine); jieXiangJingFei.KaiZhiShuoMing = x.kaizhi; jieXiangJingFei.CreateDate = jieXiangJingFei.LastUpdateDate = DateTime.Now; _dbContext.JieXiangJingFei.Add(jieXiangJingFei); }); } else { //结项项目 var query_jiexiang = _dbContext.JieXiang.SingleOrDefault(x => x.Id == jiexiang.Id); query_jiexiang.FuZeRenMingCheng = jiexiang.FuZeRenMingCheng; query_jiexiang.BuMenMingCheng = jiexiang.BuMenMingCheng; query_jiexiang.ZhiWuMingCheng = jiexiang.ZhiWuMingCheng; query_jiexiang.ZuanyYe = jiexiang.ZuanyYe; query_jiexiang.DianHua = jiexiang.DianHua; query_jiexiang.ZuiZhongChengGuo1 = jiexiang.ZuiZhongChengGuo1; query_jiexiang.ZuiZhongChengGuo2 = jiexiang.ZuiZhongChengGuo2; query_jiexiang.WanChengZhuangTai = jiexiang.WanChengZhuangTai; query_jiexiang.ZuiZhongChengGuoZiShu = jiexiang.ZuiZhongChengGuoZiShu; query_jiexiang.FaBiaoChuBan = jiexiang.FaBiaoChuBan; query_jiexiang.HeZunJingFei = jiexiang.HeZunJingFei; query_jiexiang.ShiJiJingFei = jiexiang.ShiJiJingFei; query_jiexiang.JieYu = jiexiang.JieYu; query_jiexiang.ZongJie1 = jiexiang.ZongJie1; query_jiexiang.ZongJie2 = jiexiang.ZongJie2; query_jiexiang.ZongJie3 = jiexiang.ZongJie3; query_jiexiang.LastUpdateDate = DateTime.Now; //结项组员 var ids = zys.Select(x => x.Id); var delRange = _dbContext.JieXiangZuYuan.Where(x => x.JieXiangId == jiexiang.Id && !ids.Contains(x.Id)); _dbContext.JieXiangZuYuan.RemoveRange(delRange); zys.ForEach(x => { if (_dbContext.JieXiangZuYuan.Any(p => p.Id == x.Id)) { var query_zy = _dbContext.JieXiangZuYuan.SingleOrDefault(p => p.Id == x.Id); query_zy.XingMing = x.XingMing; query_zy.BuMen = x.BuMen; query_zy.ZhiWu = x.ZhiWu; query_zy.YanJiuZhuanChang = x.YanJiuZhuanChang; query_zy.ZuanYe = x.ZuanYe; query_zy.FenGongQingKuang = x.FenGongQingKuang; query_zy.LastUpdateDate = DateTime.Now; } }); //结项经费 // 删除所有 deljfbyid(jiexiang.LiXiangId, jiexiang.Id); //重新添加 jfs.ForEach(x => { JieXiangJingFei jieXiangJingFei = new JieXiangJingFei(); jieXiangJingFei.Id = Guid.NewGuid(); jieXiangJingFei.LiXiangId = jiexiang.LiXiangId; jieXiangJingFei.JieXiangId = jiexiang.Id; jieXiangJingFei.JingFeiMingCheng = x.name; jieXiangJingFei.JinE = double.Parse(x.jine); jieXiangJingFei.KaiZhiShuoMing = x.kaizhi; jieXiangJingFei.CreateDate = jieXiangJingFei.LastUpdateDate = DateTime.Now; _dbContext.JieXiangJingFei.Add(jieXiangJingFei); }); } var result = _dbContext.SaveChanges() > 0; //结项状态更改 if (result) { updatelixiang(jiexiang.LiXiangId); } singleResult.Result = result; } catch (Exception ex) { _loggerService.LogException(_fapContext.CurrentUser, null, "", ex); singleResult.Error = new Error("系统未知错误"); } return(singleResult); }