Пример #1
0
        /// <summary>
        /// 替换
        /// </summary>
        /// <param name="p_YTLB">原信息</param>
        /// <param name="p_info">新信息</param>
        /// <param name="iszd"></param>
        /// <returns></returns>
        public bool Replace(YTLBSummaryInfo p_YTLB, _ObjectQuantityUnitInfo p_info)
        {
            if (p_YTLB == null)
            {
                return(false);
            }
            if (p_info == null)
            {
                return(false);
            }
            this.CanceledBinding(p_YTLB);
            p_YTLB.BDBH = p_info.BH;
            p_YTLB.DEDJ = p_info.DEDJ;
            p_YTLB.SCDJ = p_info.SCDJ;
            p_YTLB.JSDJ = p_info.JSDJ;
            p_YTLB.SLH  = p_info.SLH;
            IEnumerable <_ObjectQuantityUnitInfo> list = this.Parent.Property.GetAllQuantityUnit.Cast <_ObjectQuantityUnitInfo>().Where(p => p.BH == p_info.BH);

            foreach (_ObjectQuantityUnitInfo item in list)
            {
                item.STATUS = Status.Update;
                item.YTLB   = p_YTLB.YTLB;
            }
            return(true);
        }
Пример #2
0
        /// <summary>
        /// 自动绑定
        /// </summary>
        /// <param name="bh"></param>
        /// <returns></returns>
        public void AutoBindingInfo(UseType p_UseType)
        {
            IEnumerable <YTLBSummaryInfo> re = this.Cast <YTLBSummaryInfo>().Where(p => p.BDBH.Trim() == string.Empty && p.YTLB == p_UseType.ToString());

            foreach (YTLBSummaryInfo item in re)
            {
                YTLBSummaryInfo m_info = GetBDBHInfo(item.BH);
                if (m_info == null)
                {
                    IEnumerable <_ObjectQuantityUnitInfo> m_ObjectQuantityUnitInfo = this.Parent.Property.GetAllQuantityUnit.Cast <_ObjectQuantityUnitInfo>().Where(p => p.BH == item.BH);
                    if (m_ObjectQuantityUnitInfo.Count() > 0)
                    {
                        _ObjectQuantityUnitInfo m_defanyl = m_ObjectQuantityUnitInfo.FirstOrDefault();
                        item.BDBH = m_defanyl.BH;
                        item.SLH  = m_defanyl.SLH;
                        item.SCDJ = m_defanyl.SCDJ;
                        item.DEDJ = m_defanyl.DEDJ;
                        item.GGXH = m_defanyl.GGXH;
                        foreach (_ObjectQuantityUnitInfo items in m_ObjectQuantityUnitInfo)
                        {
                            items.STATUS = Status.Update;
                            items.YTLB   = item.YTLB;
                        }
                    }
                    this.Parent.Property.TemporaryCalculate.Calculate();
                }
            }
            this.Parent.Property.YTLBSummaryList_BindingSource.ResetBindings(false);
        }
Пример #3
0
 /// <summary>
 /// 插入
 /// </summary>
 /// <param name="index">位置</param>
 /// <param name="info">对象</param>
 public void Add(int index, _ObjectQuantityUnitInfo info)
 {
     (this as System.Collections.ArrayList).Insert(index, info);
     if (this.Parent.IFKFJ)
     {
         this.Parent.CalculateParentSCDJ(Status.Update);
     }
 }
Пример #4
0
 /// <summary>
 /// 删除组成对象
 /// </summary>
 /// <param name="info">组成对象</param>
 /// <param name="isCalculate">是否引发计算 true:是</param>
 public void Remove(_ObjectQuantityUnitInfo info, bool isCalculate)
 {
     base.Remove(info);
     if (isCalculate)
     {
         this.Parent.CalculateParentSCDJ(Status.Update);
     }
     this.Parent.Activitie.BeginEdit(this);
 }
Пример #5
0
        public void Update(_ObjectQuantityUnitInfo p_info)
        {
            IEnumerable <_UserPriceLibraryInfo> m_info = this.Cast <_UserPriceLibraryInfo>().Where(p => p.SSDWGC == p_info.SSDWGC && p.BH == p_info.BH);

            foreach (_UserPriceLibraryInfo item in m_info)
            {
                item.MC   = p_info.MC;
                item.DW   = p_info.DW;
                item.SCDJ = p_info.SCDJ;
            }
        }
Пример #6
0
 /// <summary>
 /// 插入
 /// </summary>
 /// <param name="index">位置</param>
 /// <param name="info">对象</param>
 /// <param name="ifh">增加=true 替换=false</param>
 public void Add(int index, _ObjectQuantityUnitInfo info, bool ifh)
 {
     (this as System.Collections.ArrayList).Insert(index, info);
     if (ifh)
     {
         this.Parent.SetOpera("//增:" + info.MC);
     }
     else
     {
         this.Parent.SetOpera("//换:" + info.MC);
     }
 }
Пример #7
0
        /// <summary>
        /// 删除 子目工料机对象
        /// </summary>
        /// <param name="info">子目工料机对象</param>
        public void Remove(_ObjectQuantityUnitInfo info)
        {
            _SubheadingsQuantityUnitInfo infos = info as _SubheadingsQuantityUnitInfo;

            if (infos.IFKFJ)
            {
                object[] s_info = infos.QuantityUnitComponentList.ToArray();
                foreach (_ObjectQuantityUnitInfo item in s_info)
                {
                    infos.QuantityUnitComponentList.RemoveGLJHZ(item);
                }
            }
            this.Parent.SetOpera("//删:" + info.MC);
            base.Remove(info);
            this.Parent.Subheadings_Statistics.Begin();
            this.Parent.Activitie.BeginEdit(this);
        }
        public void Remove(_ObjectQuantityUnitInfo p_info)
        {
            int index = this.QuantityUnitComponentList.IndexOf(p_info);

            this.QuantityUnitComponentList.Remove(p_info, true);
            object p_TagValue = null;

            if (this.QuantityUnitComponentList.Count == index)
            {
                index = index - 1;
            }
            if (index > -1)
            {
                p_TagValue = this.QuantityUnitComponentList[index];
            }
            this.ActionAttribute("Remove", "删除工料机组成", p_info, p_TagValue);
        }
Пример #9
0
        /// <summary>
        /// 是否重复
        /// </summary>
        /// <returns></returns>
        public bool RepeatInfo(_ObjectQuantityUnitInfo p_Info)
        {
            IEnumerable <_ObjectQuantityUnitInfo> list = this.GetAllQuantityUnit.Cast <_ObjectQuantityUnitInfo>().Where(p => p.BH == p_Info.BH);

            if (list.Count() == 0)
            {
                return(true);
            }
            else
            {
                _ObjectQuantityUnitInfo m_Info = list.FirstOrDefault();
                if (m_Info.MC == p_Info.MC && m_Info.DW == p_Info.DW && m_Info.SCDJ == p_Info.SCDJ)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
        }
Пример #10
0
        /// <summary>
        /// 插入
        /// </summary>
        /// <param name="p_Index">插入位置</param>
        /// <param name="p_Info">材料信息</param>
        /// <param name="p_Automatic">是否自动绑定</param>
        /// <returns>是否成功</returns>
        public YTLBSummaryInfo Insert(int p_Index, _ObjectQuantityUnitInfo p_Info, bool p_Automatic)
        {
            YTLBSummaryInfo m_info = this.GetBindingInfo(p_Info.BH);

            if (m_info != null)
            {
                return(m_info);
            }
            YTLBSummaryInfo new_info = new YTLBSummaryInfo(this.Parent);

            new_info.BDBH = p_Automatic ? p_Info.BH : string.Empty;
            new_info.BH   = p_Info.BH;
            new_info.MC   = p_Info.MC;
            new_info.DW   = p_Info.DW;
            new_info.GGXH = p_Info.GGXH;
            new_info.DEDJ = p_Info.DEDJ;
            new_info.SCDJ = p_Info.SCDJ;
            new_info.JSDJ = p_Info.JSDJ;
            new_info.SLH  = p_Info.SLH;
            new_info.YTLB = p_Info.YTLB;
            (this as System.Collections.ArrayList).Insert(p_Index, new_info);
            return(null);
        }
Пример #11
0
 /// <summary>
 /// 插入
 /// </summary>
 /// <param name="index">位置</param>
 /// <param name="info">对象</param>
 /// <param name="ifh">增加=true 替换=false</param>
 public void Rec_Add(int index, _ObjectQuantityUnitInfo info, bool ifh)
 {
     (this as System.Collections.ArrayList).Insert(index, info);
 }
Пример #12
0
 /// <summary>
 /// 将(子目工料机对象)增加到(子目工料机集合对象)的结尾处
 /// </summary>
 /// <param name="info">子目工料机对象</param>
 public void Add(_ObjectQuantityUnitInfo info)
 {
     base.Add(info);
 }
Пример #13
0
 /// <summary>
 /// 是否重复
 /// </summary>
 /// <returns></returns>
 public int GetCount(_ObjectQuantityUnitInfo p_Info)
 {
     return(this.Cast <_SubheadingsQuantityUnitInfo>().Where(p => p.BH == p_Info.BH).Count());
 }
Пример #14
0
 /// <summary>
 /// 是否重复
 /// </summary>
 /// <returns></returns>
 public int GetCount(_ObjectQuantityUnitInfo p_Info)
 {
     return(this.Cast <_QuantityUnitComponentInfo>().Where(p => p.BH == p_Info.BH).Count());
 }
Пример #15
0
 /// <summary>
 /// 删除组成对象
 /// </summary>
 /// <param name="info">组成对象</param>
 public void RemoveGLJHZ(_ObjectQuantityUnitInfo info)
 {
 }
Пример #16
0
 public bool Replace(_ObjectQuantityUnitInfo p_info)
 {
     if (p_info != null)
     {
         if (this.YSBH.StartsWith("P") || this.YSBH.StartsWith("J"))
         {
             _ObjectQuantityUnitInfo m_info = this.QuantityUnitComponentList_BindingSource.Current as _ObjectQuantityUnitInfo;
             _ObjectQuantityUnitInfo c_info = null;
             if (this.Activitie.Property.RepeatInfo(p_info, out c_info) && (this.QuantityUnitComponentList.GetCount(p_info) == 0 || m_info.BH == p_info.BH))
             {
                 int indexID = this.QuantityUnitComponentList.IndexOf(m_info);
                 this.m_QuantityUnitComponentList.Remove(m_info, false);
                 _QuantityUnitComponentInfo info = new _QuantityUnitComponentInfo(this);
                 info.STATUS   = Status.AreAdd;
                 info.YSBH     = p_info.YSBH;
                 info.YSMC     = p_info.YSMC;
                 info.YSDW     = p_info.YSDW;
                 info.YSXHL    = 1m;
                 info.DEDJ     = p_info.DEDJ;
                 info.BH       = p_info.BH;
                 info.MC       = p_info.MC;
                 info.DW       = p_info.DW;
                 info.XHL      = 1m;
                 info.SCDJ     = p_info.SCDJ;
                 info.LB       = p_info.LB;
                 info.ZCLB     = this.YSBH.Substring(0, 1);
                 info.SDCLB    = p_info.SDCLB;
                 info.SDCXS    = p_info.SDCXS;
                 info.GCL      = this.GCL;
                 info.SSKLB    = this.SSKLB;
                 info.SSDWGCLB = this.Parent.GetSSDWGCLB();
                 info.SSDWGC   = this.Activitie.Name;
                 if (info.LB == "主材" || info.LB == "设备")
                 {
                     info.SCDJ = 0m;
                 }
                 if (c_info != null)
                 {
                     info.IFSC     = c_info.IFSC;
                     info.IFFX     = c_info.IFFX;
                     info.IFSDSCDJ = c_info.IFSDSCDJ;
                     info.IFZYCL   = c_info.IFZYCL;
                     info.YTLB     = c_info.YTLB;
                     info.JSDJ     = c_info.JSDJ;
                     info.CJ       = c_info.CJ;
                     info.PP       = c_info.PP;
                     info.ZLDJ     = c_info.ZLDJ;
                     info.GYS      = c_info.GYS;
                     info.CD       = c_info.CD;
                     info.CJBZ     = c_info.CJBZ;
                 }
                 this.m_QuantityUnitComponentList.Add(indexID, info);
                 this.Parent.Subheadings_Statistics.Begin();
                 this.m_QuantityUnitComponentList_BindingSource.ResetBindings(false);
                 this.Parent.SubheadingsQuantityUnitList_BindingSource.ResetBindings(false);
                 this.ActionAttribute("Replace", "替换工料机组成", info, m_info);
                 this.Activitie.BeginEdit(this);
                 return(true);
             }
         }
     }
     return(false);
 }
Пример #17
0
 public bool Create(_ObjectQuantityUnitInfo p_info)
 {
     if (p_info != null)
     {
         if (!p_info.YSBH.StartsWith("P") && !p_info.YSBH.StartsWith("J"))
         {
             _ObjectQuantityUnitInfo c_info = null;
             if (this.Activitie.Property.RepeatInfo(p_info, out c_info) && this.QuantityUnitComponentList.GetCount(p_info) == 0)
             {
                 //当前容器业务设置为添加状态
                 _QuantityUnitComponentInfo info = new _QuantityUnitComponentInfo(this);
                 info.STATUS = Status.AreAdd;
                 //状态设置为创建中
                 info.YSBH     = p_info.YSBH;
                 info.YSMC     = p_info.YSMC;
                 info.YSDW     = p_info.YSDW;
                 info.YSXHL    = 1m;
                 info.DEDJ     = p_info.DEDJ;
                 info.BH       = p_info.BH;
                 info.MC       = p_info.MC;
                 info.DW       = p_info.DW;
                 info.XHL      = 1m;
                 info.SCDJ     = p_info.SCDJ;
                 info.LB       = p_info.LB;
                 info.ZCLB     = this.YSBH.Substring(0, 1);
                 info.SDCLB    = p_info.SDCLB;
                 info.SDCXS    = p_info.SDCXS;
                 info.GGXH     = p_info.GGXH;
                 info.GCL      = this.GCL;
                 info.SSKLB    = this.SSKLB;
                 info.SSDWGCLB = this.Parent.GetSSDWGCLB();
                 info.SSDWGC   = this.Activitie.Name;
                 if (info.LB == "主材" || info.LB == "设备")
                 {
                     info.SCDJ = 0m;
                 }
                 if (c_info != null)
                 {
                     info.IFSC     = c_info.IFSC;
                     info.IFFX     = c_info.IFFX;
                     info.IFSDSCDJ = c_info.IFSDSCDJ;
                     info.IFZYCL   = c_info.IFZYCL;
                     info.YTLB     = c_info.YTLB;
                     info.JSDJ     = c_info.JSDJ;
                     info.CJ       = c_info.CJ;
                     info.PP       = c_info.PP;
                     info.ZLDJ     = c_info.ZLDJ;
                     info.GYS      = c_info.GYS;
                     info.CD       = c_info.CD;
                     info.CJBZ     = c_info.CJBZ;
                 }
                 int index = (this.m_QuantityUnitComponentList.IndexOf(this.QuantityUnitComponentList_BindingSource.Current) + 1);
                 info.STATUS = Status.Normal;
                 this.m_QuantityUnitComponentList.Add(index, info);
                 this.Parent.Subheadings_Statistics.Begin();
                 this.m_QuantityUnitComponentList_BindingSource.ResetBindings(false);
                 this.Parent.SubheadingsQuantityUnitList_BindingSource.ResetBindings(false);
                 //对象设置为创建中状态
                 this.ActionAttribute("Create", "创建子目工料机组成", info, null);
                 this.Activitie.BeginEdit(this);
                 return(true);
             }
         }
     }
     return(false);
 }
Пример #18
0
 /// <summary>
 /// 创建工料机组成
 /// </summary>
 /// <returns>工料机组成对象</returns>
 public void Create()
 {
     if (this.YSBH.StartsWith("P") || this.YSBH.StartsWith("J"))
     {
         _Library.GetLibrary(this.SSKLB);
         if (this.SSKLB == string.Empty)
         {
             this.SSKLB = this.Activitie.Property.Libraries.FixedLibrary.FullName;
         }
         DataRow[] drs_zc = drs_zc = (_Library.Libraries[this.SSKLB] as DataSet).Tables["配合比表"].Select(string.Format("CAIJBH ='{0}'", this.YSBH));
         this.IFKFJ = drs_zc.Count() > 0 ? true : false;
         foreach (DataRow dr in drs_zc)
         {
             DataRow[] dr_zc = (_Library.Libraries[this.SSKLB] as DataSet).Tables["材机表"].Select(string.Format("CAIJBH ='{0}'", dr["PHB_CJBH"]));
             if (dr_zc != null)
             {
                 _QuantityUnitComponentInfo info = new _QuantityUnitComponentInfo(this);
                 info.STATUS   = Status.AreAdd;
                 info.YSBH     = dr_zc[0]["CAIJBH"].ToString();
                 info.YSMC     = dr_zc[0]["CAIJMC"].ToString();
                 info.YSDW     = dr_zc[0]["CAIJDW"].ToString();
                 info.YSXHL    = ToolKit.ParseDecimal(dr["PHB_CJSL"]);
                 info.BH       = dr_zc[0]["CAIJBH"].ToString();
                 info.MC       = dr_zc[0]["CAIJMC"].ToString();
                 info.DW       = dr_zc[0]["CAIJDW"].ToString();
                 info.XHL      = ToolKit.ParseDecimal(dr["PHB_CJSL"]);
                 info.DEDJ     = dr_zc[0]["CAIJDJ"].ToString().Trim() == string.Empty ? 0m : Convert.ToDecimal(dr_zc[0]["CAIJDJ"].ToString());
                 info.LB       = dr_zc[0]["CAIJLB"].ToString();
                 info.ZCLB     = "W";
                 info.SDCLB    = dr_zc[0]["SANDCMC"].ToString();
                 info.SDCXS    = dr_zc[0]["SANDCXS"].ToString().Length == 0 ? 0m : Convert.ToDecimal(dr_zc[0]["SANDCXS"]);
                 info.GCL      = this.GCL;
                 info.SSKLB    = this.Parent.LibraryName;
                 info.SSDWGCLB = this.Parent.GetSSDWGCLB();
                 info.SSDWGC   = this.Activitie.Name;
                 _ObjectQuantityUnitInfo y_info = this.Activitie.Property.GetAllQuantityUnit.Cast <_ObjectQuantityUnitInfo>().Where(p => p.BH == info.BH).FirstOrDefault();
                 if (y_info == null)
                 {
                     info.IFSC   = dr_zc[0]["CAIJSC"].ToString() == "是" ? true : false;
                     info.IFZYCL = dr_zc[0]["CAIJXSJG"].ToString() == "是" ? true : false;
                     if (info.LB == "主材" || info.LB == "设备")
                     {
                         info.SCDJ = 0m;
                     }
                     else
                     {
                         info.SCDJ = info.DEDJ;
                     }
                 }
                 else
                 {
                     info.IFSC     = y_info.IFSC;
                     info.IFFX     = y_info.IFFX;
                     info.IFSDSCDJ = y_info.IFSDSCDJ;
                     info.IFZYCL   = y_info.IFZYCL;
                     info.YTLB     = y_info.YTLB;
                     info.SCDJ     = y_info.SCDJ;
                     info.JSDJ     = y_info.JSDJ;
                     info.CJ       = y_info.CJ;
                     info.PP       = y_info.PP;
                     info.ZLDJ     = y_info.ZLDJ;
                     info.GYS      = y_info.GYS;
                     info.CD       = y_info.CD;
                     info.CJBZ     = y_info.CJBZ;
                 }
                 info.STATUS = Status.Normal;
                 this.m_QuantityUnitComponentList.Add(info);
             }
         }
         if (this.IFKFJ)
         {
             this.CalculateParentSCDJ();
         }
     }
 }
Пример #19
0
 /// <summary>
 /// 插入
 /// </summary>
 /// <param name="p_Info">材料信息</param>
 /// <param name="p_Automatic">是否自动绑定</param>
 /// <returns>是否成功</returns>
 public YTLBSummaryInfo Insert(_ObjectQuantityUnitInfo p_Info, bool p_Automatic)
 {
     return(Insert(0, p_Info, p_Automatic));
 }
Пример #20
0
 /// <summary>
 /// 增加组成对象
 /// </summary>
 /// <param name="info">组成对象</param>
 public void AddGLJHZ(_ObjectQuantityUnitInfo info)
 {
 }