C# linq根据属性分组,并累加计算


     #region linq 方法1
            List<ChgDtlVo> sumData = tempList.GroupBy(t => new { t.ChgId, t.OdStd, t.BatNo, t.OdAppno }).Select
                (m => new ChgDtlVo()
                {
                    //名称
                    ChgName = m.First().ChgName,//(t => t.ChgName),
                    //内容(医嘱名称)
                    OdName = m.Max(t => t.OdName),
                    //药品规格
                    OdStd = m.Max(t => t.OdStd),
                    //药品单位
                    RxUnit = m.Max(t => t.RxUnit),
                    //费用数量
                    ChgAmount = m.Sum(t => t.ChgAmount),
                    //药品单价
                    ChgPrice = m.Max(t => t.ChgPrice),
                    //费用ID
                    ChgId = m.Max(t => t.ChgId),
                    //嘱托说明
                    OdEntrust = m.Max(t => t.OdEntrust),
                    //待收金额
                    OdFeeSum = m.Sum(t => t.OdFeeSum),
                    //效期
                    DgPov = m.Max(t => t.DgPov),
                    //可退数量
                    OdAccwdrlCnt = m.Sum(t => t.OdAccwdrlCnt),
                    //实退数量
                    OdWdrlCnt = m.Max(t => t.OdWdrlCnt),
                    //库存数
                    DesAmt = m.Max(t => t.DesAmt),
                    //库存货位
                    DesLoc = m.Max(t => t.DesLoc),
                    //批号
                    BatNo = m.Max(t => t.BatNo),
                    //发药人
                    SenderName = m.Max(t => t.SenderName),
                    //发药时间
                    SenderDt = m.Max(t => t.SenderDt),
                    OdAppno= m.Max(t => t.OdAppno)
                }).ToList();
            dgvSummarySheet.DataSource = sumData;
            #endregion

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM