Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
        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);
        }