示例#1
0
 /// <summary>
 /// 市场合价统计
 /// </summary>
 /// <param name="table"></param>
 private void SCHJ(_SubheadingsQuantityUnitList list)
 {
     if (list.Parent.LB == "子目-增加费")
     {
         if (list.Parent.Activitie.Property.IncreaseCosts.DataSource != null)
         {
             DataRow drs = list.Parent.Activitie.Property.IncreaseCosts.DataSource.Select(string.Format("ParentID = 0 AND Code='{0}'", this.Parent.XMBM)).FirstOrDefault();
             if (drs != null)
             {
                 if (drs["location"].ToString() == "分部分项")
                 {
                     //市场人工费单价
                     m_ResultValue.RGFDJ = list.Parent.Parent.SubheadingsList.Cast <_SubheadingsInfo>().Where(p => p.LB != "子目-增加费").Sum(p => p.IncreaseCostsList.Cast <_IncreaseCostsInfo>().FirstOrDefault(ps => ps.DH == this.Parent.XMBM) == null ? 0 : p.IncreaseCostsList.Cast <_IncreaseCostsInfo>().FirstOrDefault(ps => ps.DH == this.Parent.XMBM).RGF);
                     //市场材料费单价
                     m_ResultValue.CLFDJ = list.Parent.Parent.SubheadingsList.Cast <_SubheadingsInfo>().Where(p => p.LB != "子目-增加费").Sum(p => p.IncreaseCostsList.Cast <_IncreaseCostsInfo>().FirstOrDefault(ps => ps.DH == this.Parent.XMBM) == null ? 0 : p.IncreaseCostsList.Cast <_IncreaseCostsInfo>().FirstOrDefault(ps => ps.DH == this.Parent.XMBM).CLF);
                     //市场机械费单价
                     m_ResultValue.JXFDJ = list.Parent.Parent.SubheadingsList.Cast <_SubheadingsInfo>().Where(p => p.LB != "子目-增加费").Sum(p => p.IncreaseCostsList.Cast <_IncreaseCostsInfo>().FirstOrDefault(ps => ps.DH == this.Parent.XMBM) == null ? 0 : p.IncreaseCostsList.Cast <_IncreaseCostsInfo>().FirstOrDefault(ps => ps.DH == this.Parent.XMBM).JXF);
                 }
                 else
                 {
                     //市场人工费单价
                     m_ResultValue.RGFDJ = list.Parent.Activitie.Property.SubSegments.SubheadingsList.Cast <_SubheadingsInfo>().Where(p => p.LB != "子目-增加费").Sum(p => p.IncreaseCostsList.Cast <_IncreaseCostsInfo>().FirstOrDefault(ps => ps.DH == this.Parent.XMBM) == null ? 0 : p.IncreaseCostsList.Cast <_IncreaseCostsInfo>().FirstOrDefault(ps => ps.DH == this.Parent.XMBM).RGF);
                     //市场材料费单价
                     m_ResultValue.CLFDJ = list.Parent.Activitie.Property.SubSegments.SubheadingsList.Cast <_SubheadingsInfo>().Where(p => p.LB != "子目-增加费").Sum(p => p.IncreaseCostsList.Cast <_IncreaseCostsInfo>().FirstOrDefault(ps => ps.DH == this.Parent.XMBM) == null ? 0 : p.IncreaseCostsList.Cast <_IncreaseCostsInfo>().FirstOrDefault(ps => ps.DH == this.Parent.XMBM).CLF);
                     //市场机械费单价
                     m_ResultValue.JXFDJ = list.Parent.Activitie.Property.SubSegments.SubheadingsList.Cast <_SubheadingsInfo>().Where(p => p.LB != "子目-增加费").Sum(p => p.IncreaseCostsList.Cast <_IncreaseCostsInfo>().FirstOrDefault(ps => ps.DH == this.Parent.XMBM) == null ? 0 : p.IncreaseCostsList.Cast <_IncreaseCostsInfo>().FirstOrDefault(ps => ps.DH == this.Parent.XMBM).JXF);
                 }
                 //定额人工费单价
                 m_ResultValue.DERGFDJ = m_ResultValue.RGFDJ;
                 //定额材料费单价
                 m_ResultValue.DECLFDJ = m_ResultValue.CLFDJ;
                 //定额机械费单价
                 m_ResultValue.DEJXFDJ = m_ResultValue.JXFDJ;
             }
         }
     }
     else
     {
         //市场人工费单价
         m_ResultValue.RGFDJ = list.Cast <_SubheadingsQuantityUnitInfo>().Where(p => _Constant.rg.Contains("'" + p.LB + "'")).Sum(p => p.SCDJ * p.XHL);
         //市场材料费单价
         m_ResultValue.CLFDJ = list.Cast <_SubheadingsQuantityUnitInfo>().Where(p => _Constant.cl.Contains("'" + p.LB + "'")).Sum(p => p.SCDJ * p.XHL);
         //市场机械费单价
         m_ResultValue.JXFDJ = list.Cast <_SubheadingsQuantityUnitInfo>().Where(p => _Constant.jx.Contains("'" + p.LB + "'")).Sum(p => p.SCDJ * p.XHL);
     }
     //市场主材费单价
     m_ResultValue.ZCFDJ = list.Cast <_SubheadingsQuantityUnitInfo>().Where(p => _Constant.zc.Contains("'" + p.LB + "'")).Sum(p => p.SCDJ * p.XHL);
     //市场设备费单价
     m_ResultValue.SBFDJ = list.Cast <_SubheadingsQuantityUnitInfo>().Where(p => _Constant.sb.Contains("'" + p.LB + "'")).Sum(p => p.SCDJ * p.XHL);
     //市场直接费单价
     m_ResultValue.ZJFDJ = m_ResultValue.RGFDJ + m_ResultValue.CLFDJ + m_ResultValue.JXFDJ + m_ResultValue.SBFDJ + m_ResultValue.ZCFDJ + m_ResultValue.FXRCJ;
     //市场甲供材料
     m_ResultValue.JGCL = list.Parent.GetAllQuantityUnit.Cast <_ObjectQuantityUnitInfo>().Where(p => p.YTLB == UseType.甲供材料.ToString()).Sum(p => p.SCDJ * p.XHL);
     //市场乙供材料
     m_ResultValue.YGCL = list.Parent.GetAllQuantityUnit.Cast <_ObjectQuantityUnitInfo>().Where(p => p.YTLB == UseType.甲定乙供材料.ToString()).Sum(p => p.SCDJ * p.XHL);
     //市场评标指定材料
     m_ResultValue.PBZDCL = list.Parent.GetAllQuantityUnit.Cast <_ObjectQuantityUnitInfo>().Where(p => p.YTLB == UseType.评标指定材料.ToString()).Sum(p => p.SCDJ * p.XHL);
     //市场暂定价材料
     m_ResultValue.ZDJCL = list.Parent.GetAllQuantityUnit.Cast <_ObjectQuantityUnitInfo>().Where(p => p.YTLB == UseType.暂定价材料.ToString()).Sum(p => p.SCDJ * p.XHL);
 }
示例#2
0
 /// <summary>
 /// 价差统计
 /// </summary>
 /// <param name="table"></param>
 private void JCDJ(_SubheadingsQuantityUnitList list)
 {
     //价差单价
     m_ResultValue.JCDJ = list.Cast <_SubheadingsQuantityUnitInfo>().Where(p => p.DJC != 0).Sum(p => p.DJC * p.XHL);
     //人工费价差单价
     m_ResultValue.RGJCDJ = list.Cast <_SubheadingsQuantityUnitInfo>().Where(p => p.DJC != 0 && _Constant.rg.Contains("'" + p.LB + "'")).Sum(p => p.DJC * p.XHL) + m_ResultValue.HHJXFJC;
     //材料费价差单价
     m_ResultValue.CLJCDJ = list.Cast <_SubheadingsQuantityUnitInfo>().Where(p => p.DJC != 0 && _Constant.cl.Contains("'" + p.LB + "'")).Sum(p => p.DJC * p.XHL);
     //机械费价差单价
     m_ResultValue.JXJCDJ = list.Cast <_SubheadingsQuantityUnitInfo>().Where(p => p.DJC != 0 && _Constant.jx.Contains("'" + p.LB + "'")).Sum(p => p.DJC * p.XHL) - m_ResultValue.HHJXFJC;
 }
 /// <summary>
 /// 其他统计
 /// </summary>
 /// <param name="table"></param>
 private void Other(_SubheadingsQuantityUnitList list)
 {
     //工程量
     m_BaseResultValue.GCL = this.Parent.GCL;
     //价差和
     m_BaseResultValue.JC = (from info in list.Cast <_SubheadingsQuantityUnitInfo>()
                             select info.DJC).Sum();
     //风险人材机
     m_BaseResultValue.FXRCJ = (from info in list.Cast <_SubheadingsQuantityUnitInfo>()
                                where info.IFFX == true
                                select info.SCHJ).Sum();
     //吊装机械台班
     m_BaseResultValue.DZJXTB = (from info in list.Cast <_SubheadingsQuantityUnitInfo>()
                                 where info.LB == "吊装机械台班"
                                 select info.SCHJ).Sum();
 }
示例#4
0
        /// <summary>
        /// 计算百分号材料合计
        /// </summary>
        /// <param name="p_list"></param>
        private void JSBFH(_SubheadingsQuantityUnitList p_list)
        {
            m_ResultValue.CLBFHHJ = 0m;
            m_ResultValue.JXBFHHJ = 0m;
            m_ResultValue.RGBFHHJ = 0m;
            _SubheadingsQuantityUnitInfo m_TSInfo = p_list.Cast <_SubheadingsQuantityUnitInfo>().Where(p => p.YSBH == "11705" && p.LB.Contains("%")).FirstOrDefault();

            if (m_TSInfo != null)
            {
                m_ResultValue.CLBFHHJ += p_list.Cast <_SubheadingsQuantityUnitInfo>().Where(p => p.BH == "10088" || p.BH == "10087" || p.BH == "10544").Sum(p => p.SCDJ * p.XHL) / 100 * m_TSInfo.XHL;
            }

            IEnumerable <_SubheadingsQuantityUnitInfo> bfhlist = p_list.Cast <_SubheadingsQuantityUnitInfo>().Where(p => p.LB.Contains("%") && p.YSBH != "11705");

            foreach (_SubheadingsQuantityUnitInfo item in bfhlist)
            {
                switch (item.LB)
                {
                case "材料%":
                    m_ResultValue.CLBFHHJ += (p_list.Parent.GetAllQuantityUnit.Cast <_ObjectQuantityUnitInfo>().Where(p => p.LB == "材料").Sum(p => p.GetType() == typeof(_QuantityUnitComponentInfo) ? p.SCHJ * (p as _QuantityUnitComponentInfo).Parent.XHL : p.SCHJ) / 100 * item.XHL);
                    break;

                case "机械%":
                    m_ResultValue.JXBFHHJ += (p_list.Parent.GetAllQuantityUnit.Cast <_ObjectQuantityUnitInfo>().Where(p => p.LB == "机械").Sum(p => p.GetType() == typeof(_QuantityUnitComponentInfo) ? p.SCHJ * (p as _QuantityUnitComponentInfo).Parent.XHL : p.SCHJ) / 100 * item.XHL);
                    break;

                case "人工%":
                    m_ResultValue.RGBFHHJ += (p_list.Parent.GetAllQuantityUnit.Cast <_ObjectQuantityUnitInfo>().Where(p => p.LB == "人工").Sum(p => p.GetType() == typeof(_QuantityUnitComponentInfo) ? p.SCHJ * (p as _QuantityUnitComponentInfo).Parent.XHL : p.SCHJ) / 100 * item.XHL);
                    break;

                default:
                    break;
                }
            }
            m_ResultValue.RGFDJ   += m_ResultValue.RGBFHHJ;
            m_ResultValue.CLFDJ   += m_ResultValue.CLBFHHJ;
            m_ResultValue.JXFDJ   += m_ResultValue.JXBFHHJ;
            m_ResultValue.HHJXFDJ += m_ResultValue.JXBFHHJ;
        }
示例#5
0
 /// <summary>
 /// 定额合价统计
 /// </summary>
 /// <param name="table"></param>
 private void DEHJ(_SubheadingsQuantityUnitList list)
 {
     //定额人工费单价
     m_ResultValue.DERGFDJ = list.Cast <_SubheadingsQuantityUnitInfo>().Where(p => _Constant.rg.Contains("'" + p.LB + "'")).Sum(p => p.DEDJ * p.XHL);
     //定额材料费单价
     m_ResultValue.DECLFDJ = list.Cast <_SubheadingsQuantityUnitInfo>().Where(p => _Constant.cl.Contains("'" + p.LB + "'")).Sum(p => p.DEDJ * p.XHL);
     //定额机械费单价
     m_ResultValue.DEJXFDJ = list.Cast <_SubheadingsQuantityUnitInfo>().Where(p => _Constant.jx.Contains("'" + p.LB + "'")).Sum(p => p.DEDJ * p.XHL);
     //定额主材费单价
     m_ResultValue.DEZCFDJ = list.Cast <_SubheadingsQuantityUnitInfo>().Where(p => _Constant.zc.Contains("'" + p.LB + "'")).Sum(p => p.DEDJ * p.XHL);
     //定额设备费单价
     m_ResultValue.DESBFDJ = list.Cast <_SubheadingsQuantityUnitInfo>().Where(p => _Constant.sb.Contains("'" + p.LB + "'")).Sum(p => p.DEDJ * p.XHL);
     //市场直接费单价
     m_ResultValue.DEZJFDJ = m_ResultValue.DERGFDJ + m_ResultValue.DECLFDJ + m_ResultValue.DEJXFDJ + m_ResultValue.DESBFDJ + m_ResultValue.DEZCFDJ + m_ResultValue.FXRCJ;
     //定额甲供材料
     m_ResultValue.DEJGCL = list.Parent.GetAllQuantityUnit.Cast <_ObjectQuantityUnitInfo>().Where(p => p.YTLB == UseType.甲供材料.ToString()).Sum(p => p.DEDJ * p.XHL);
     //定额乙供材料
     m_ResultValue.DEYGCL = list.Parent.GetAllQuantityUnit.Cast <_ObjectQuantityUnitInfo>().Where(p => p.YTLB == UseType.甲定乙供材料.ToString()).Sum(p => p.DEDJ * p.XHL);
     //定额评标指定材料
     m_ResultValue.DEPBZDCL = list.Parent.GetAllQuantityUnit.Cast <_ObjectQuantityUnitInfo>().Where(p => p.YTLB == UseType.评标指定材料.ToString()).Sum(p => p.DEDJ * p.XHL);
     //定额暂定价材料
     m_ResultValue.DEZDJCL = list.Parent.GetAllQuantityUnit.Cast <_ObjectQuantityUnitInfo>().Where(p => p.YTLB == UseType.暂定价材料.ToString()).Sum(p => p.DEDJ * p.XHL);
 }
        /// <summary>
        /// 市场合价统计
        /// </summary>
        /// <param name="table"></param>
        private void SCHJ(_SubheadingsQuantityUnitList list)
        {
            //市场人工费单价
            m_BaseResultValue.RGFDJ = (from info in list.Cast <_SubheadingsQuantityUnitInfo>()
                                       where _Constant.rg.Contains("'" + info.LB + "'")
                                       select info.SCHJ).Sum();
            //市场材料费单价
            m_BaseResultValue.CLFDJ = (from info in list.Cast <_SubheadingsQuantityUnitInfo>()
                                       where _Constant.cl.Contains("'" + info.LB + "'")
                                       select info.SCHJ).Sum();
            //市场机械费单价
            m_BaseResultValue.JXFDJ = (from info in list.Cast <_SubheadingsQuantityUnitInfo>()
                                       where _Constant.jx.Contains("'" + info.LB + "'")
                                       select info.SCHJ).Sum();
            //市场主材费单价
            m_BaseResultValue.ZCFDJ = (from info in list.Cast <_SubheadingsQuantityUnitInfo>()
                                       where _Constant.zc.Contains("'" + info.LB + "'")
                                       select info.SCHJ).Sum();
            //市场设备费单价
            m_BaseResultValue.SBFDJ = (from info in list.Cast <_SubheadingsQuantityUnitInfo>()
                                       where _Constant.sb.Contains("'" + info.LB + "'")
                                       select info.SCHJ).Sum();

            //市场甲供材料
            m_BaseResultValue.JGCL = (from info in list.Cast <_SubheadingsQuantityUnitInfo>()
                                      where info.YTLB == UseType.甲供材料.ToString()
                                      select info.SCHJ).Sum();
            //市场乙供材料
            m_BaseResultValue.YGCL = (from info in list.Cast <_SubheadingsQuantityUnitInfo>()
                                      where info.YTLB == UseType.甲定乙供材料.ToString()
                                      select info.SCHJ).Sum();
            //市场评标指定材料
            m_BaseResultValue.PBZDCL = (from info in list.Cast <_SubheadingsQuantityUnitInfo>()
                                        where info.YTLB == UseType.评标指定材料.ToString()
                                        select info.SCHJ).Sum();
            //市场暂定价材料
            m_BaseResultValue.ZDJCL = (from info in list.Cast <_SubheadingsQuantityUnitInfo>()
                                       where info.YTLB == UseType.暂定价材料.ToString()
                                       select info.SCHJ).Sum();
        }
        /// <summary>
        /// 定额合价统计
        /// </summary>
        /// <param name="table"></param>
        private void DEHJ(_SubheadingsQuantityUnitList list)
        {
            //定额人工费单价
            m_BaseResultValue.DERGFDJ = (from info in list.Cast <_SubheadingsQuantityUnitInfo>()
                                         where _Constant.rg.Contains("'" + info.LB + "'")
                                         select info.DEHJ).Sum();
            //定额材料费单价
            m_BaseResultValue.DECLFDJ = (from info in list.Cast <_SubheadingsQuantityUnitInfo>()
                                         where _Constant.cl.Contains("'" + info.LB + "'")
                                         select info.DEHJ).Sum();
            //定额机械费单价
            m_BaseResultValue.DEJXFDJ = (from info in list.Cast <_SubheadingsQuantityUnitInfo>()
                                         where _Constant.jx.Contains("'" + info.LB + "'")
                                         select info.DEHJ).Sum();
            //定额主材费单价
            m_BaseResultValue.DEZCFDJ = (from info in list.Cast <_SubheadingsQuantityUnitInfo>()
                                         where _Constant.zc.Contains("'" + info.LB + "'")
                                         select info.DEHJ).Sum();
            //定额设备费单价
            m_BaseResultValue.DESBFDJ = (from info in list.Cast <_SubheadingsQuantityUnitInfo>()
                                         where _Constant.sb.Contains("'" + info.LB + "'")
                                         select info.DEHJ).Sum();

            //定额甲供材料
            m_BaseResultValue.DEJGCL = (from info in list.Cast <_SubheadingsQuantityUnitInfo>()
                                        where info.YTLB == UseType.甲供材料.ToString()
                                        select info.DEHJ).Sum();
            //定额乙供材料
            m_BaseResultValue.DEYGCL = (from info in list.Cast <_SubheadingsQuantityUnitInfo>()
                                        where info.YTLB == UseType.甲定乙供材料.ToString()
                                        select info.DEHJ).Sum();
            //定额评标指定材料
            m_BaseResultValue.DEPBZDCL = (from info in list.Cast <_SubheadingsQuantityUnitInfo>()
                                          where info.YTLB == UseType.评标指定材料.ToString()
                                          select info.DEHJ).Sum();
            //定额暂定价材料
            m_BaseResultValue.DEZDJCL = (from info in list.Cast <_SubheadingsQuantityUnitInfo>()
                                         where info.YTLB == UseType.暂定价材料.ToString()
                                         select info.DEHJ).Sum();
        }
示例#8
0
 /// <summary>
 /// 其他统计
 /// </summary>
 /// <param name="table"></param>
 private void Other(_SubheadingsQuantityUnitList list)
 {
     //工程量
     m_ResultValue.GCL = this.Parent.GCL;
     //风险人材机
     m_ResultValue.FXRCJ = list.Parent.GetAllQuantityUnit.Cast <_ObjectQuantityUnitInfo>().Where(p => p.IFFX == true).Sum(p => p.SCDJ * p.XHL);
     //吊装机械台班
     m_ResultValue.DZJXTB = list.Cast <_SubheadingsQuantityUnitInfo>().Where(p => p.LB == "吊装机械台班").Sum(p => p.SCDJ * p.XHL);
     //机械费单价(含人工)  - 2012.11.7 修改
     m_ResultValue.DEJXFDJHRG = list.Parent.GetAllQuantityUnit.Cast <_ObjectQuantityUnitInfo>().Where(p => p.LB == "机械" && p.DW == "工日").Sum(p => p.GetType() == typeof(_QuantityUnitComponentInfo) ? p.DEDJ * p.XHL * (p as _QuantityUnitComponentInfo).Parent.XHL : p.DEDJ * p.XHL);
     //定额机械费单价(含人工 )  - 2012.11.7 修改
     m_ResultValue.JXFDJHRG = list.Parent.GetAllQuantityUnit.Cast <_ObjectQuantityUnitInfo>().Where(p => p.LB == "机械" && p.DW == "工日").Sum(p => p.GetType() == typeof(_QuantityUnitComponentInfo) ? p.SCDJ * p.XHL * (p as _QuantityUnitComponentInfo).Parent.XHL : p.SCDJ * p.XHL);
     //混合机械费价差
     m_ResultValue.HHJXFJC = m_ResultValue.JXFDJHRG - m_ResultValue.DEJXFDJHRG;
     //混合机械费单价
     m_ResultValue.HHJXFDJ = m_ResultValue.JXFDJ - m_ResultValue.JXFDJHRG + m_ResultValue.DEJXFDJHRG;
 }
        /// <summary>
        /// 计算百分号材料合计
        /// </summary>
        /// <param name="p_list"></param>
        private void JSBFH(_SubheadingsQuantityUnitList p_list)
        {
            m_BaseResultValue.CLBFHHJ = 0m;
            m_BaseResultValue.JXBFHHJ = 0m;
            m_BaseResultValue.RGBFHHJ = 0m;
            IEnumerable <_SubheadingsQuantityUnitInfo> list   = p_list.Cast <_SubheadingsQuantityUnitInfo>();
            IEnumerable <_SubheadingsQuantityUnitInfo> tslist = list.Where(p => p.YSBH == "11705");

            if (tslist.Count() == 1)
            {
                IEnumerable <_SubheadingsQuantityUnitInfo> tslists = list.Where(p => p.BH == "10088" || p.BH == "10087" || p.BH == "10544");
                decimal mcbfb = 0;
                foreach (_SubheadingsQuantityUnitInfo item in tslists)
                {
                    mcbfb += item.SCHJ;
                }
                _SubheadingsQuantityUnitInfo tsinfo = tslist.First();
                m_BaseResultValue.CLBFHHJ = mcbfb / 100 * tsinfo.XHL;
            }

            IEnumerable <_SubheadingsQuantityUnitInfo> bfhlist = list.Where(p => p.LB.Contains("%") && p.YSBH != "11705");

            foreach (_SubheadingsQuantityUnitInfo item in bfhlist)
            {
                switch (item.LB)
                {
                case "材料%":
                    m_BaseResultValue.CLBFHHJ = list.Where(p => p.LB == "材料").Sum(p => p.SCHJ) / 100 * item.XHL;
                    break;

                case "机械%":
                    m_BaseResultValue.JXBFHHJ = list.Where(p => p.LB == "机械").Sum(p => p.SCHJ) / 100 * item.XHL;
                    break;

                case "人工%":
                    m_BaseResultValue.RGBFHHJ = list.Where(p => p.LB == "人工").Sum(p => p.SCHJ) / 100 * item.XHL;
                    break;

                default:
                    break;
                }
            }
        }