Пример #1
0
        private void treeListEx1_CustomDrawNodeCell(object sender, CustomDrawNodeCellEventArgs e)
        {
            if (e.Column.ColumnType.Name == "Decimal")
            {
                decimal d = ToolKit.ParseDecimal(e.CellValue);

                if (d == 0)
                {
                    e.CellText = string.Empty;
                }
                else
                {
                    e.CellText = d.ToString("N2");
                }
            }

            //特殊处理显示模式 仅清单 和 列表模式
            if (this.m_DisplayType == 0)
            {
                //所有结构处理
                this.dispalyAll(e);
            }
            else
            {
                dispalyOnlyQD(e);
            }
        }
Пример #2
0
        private void ChangeDECJ(DataRowView view)
        {
            if (view != null)
            {
                string   _caj   = view["DECJ"].ToString();
                string   Str    = "";
                string[] _CaiBh = _caj.Split('|');
                for (int i = 0; i < _CaiBh.Length; i++)
                {
                    DataRow row = dt.Rows.Find(_CaiBh[i].Split(',')[0]);
                    if (row != null)
                    {
                        //_CaiBh[i].Split(',')[2] = row["SCDJ"].ToString();
                        decimal d = ToolKit.ParseDecimal(row["fl"]) * 0.01m;
                        Str += _CaiBh[i].Split(',')[0] + "," + d + "," + row["SCDJ"].ToString() + "|";
                        //row["fl"] = _CaiBh[i].Split(',')[1];
                        //Fiter += "'" + _CaiBh[i].Split(',')[0] + "',";
                    }
                }

                if (!string.IsNullOrEmpty(Str))
                {
                    view.BeginEdit();
                    view["DECJ"] = Str;
                    view.EndEdit();
                }
            }
        }
Пример #3
0
        public DataRow Exists(string QDBH)
        {
            //IEnumerable<DataRow> infos = from n in this.m_Unit.StructSource.ModelSubSegments.AsEnumerable()
            //                             where ToolKit.ParseBoolen(n["ZDSC"]) && n["OLDXMBM"].Equals(QDBH)
            //                             orderby n["XMBM"] descending
            //                             select n;

            //IEnumerable<DataRow> infos = from n in this.m_Unit.StructSource.ModelSubSegments.AsEnumerable()
            //                             where ToolKit.ParseBoolen(n["ZDSC"]) && n["BeiZhu"].ToString().Substring(0, n["BeiZhu"].ToString().IndexOf("@")).Equals(QDBH)
            //                             orderby n["XMBM"] descending
            //                             select n;

            IEnumerable <DataRow> infos = from n in this.m_Unit.StructSource.ModelSubSegments.AsEnumerable()
                                          where ToolKit.ParseBoolen(n["ZDSC"]) && n["BeiZhu"].ToString().Contains(QDBH)
                                          orderby n["XMBM"] descending
                                          select n;

            try
            {
                if (infos.Count() > 0)
                {
                    return(infos.First() as DataRow);
                }
                else
                {
                    return(null);
                }
            }
            catch
            {
                return(null);
            }
        }
Пример #4
0
        /// <summary>
        /// 自动筛选
        /// </summary>
        /// <param name="p_info">工料机对象</param>
        /// <returns>是否配对</returns>
        private bool AutoFilter(DataRow p_info)
        {
            bool flag = false;

            flag = _Constant.cl.Contains("'" + p_info["LB"].ToString() + "'") && (ToolKit.ParseDecimal(p_info["SCHJ"]) / sumSCHJ * 100) >= this.calcEditZJ.Value;
            return(flag);
        }
Пример #5
0
        /// <summary>
        /// 分部分项编辑之后的撤销
        /// </summary>
        public static void Edit_Sub(string filedName, _Methods met, DataRow row)
        {
            switch (filedName)
            {
            case _ObjectInfo.FILED_GCL:
                met.UpGCL();
                break;

            case "HL":
                met.UpHL();
                break;

            case "ZJTJ":
                met.UpZJTJ();
                break;

            case _ObjectInfo.FILED_GCLJSS:
                met.Current.TYGS = string.Empty;
                row["GCL"]       = ToolKit.Calculate(row["GCLJSS"].ToString());
                _ObjectSource.GetObject(met.Current, row);
                met.UpGCL();
                break;

            default:
                break;
            }
        }
Пример #6
0
 /// <summary>
 /// 读取文件
 /// </summary>
 /// <returns></returns>
 public void Load()
 {
     try
     {
         string m_Path = string.Format("{0}库文件\\用户价格库\\{1}", APP.Application.Global.AppFolder.FullName, APP.GoldSoftClient.GlodSoftDiscern.CurrNo);
         ToolKit.GetDirectoryInfo(m_Path);
         _Files files = new _Files();
         files.ExtName  = _Files.用户价格库扩展名;
         files.DirName  = m_Path;
         files.FileName = APP.GoldSoftClient.GlodSoftDiscern.CurrNo;
         FileInfo info = new FileInfo(files.FullName);
         if (info.Exists)
         {
             //文件存在的时候读取
             _UserPriceLibrarySource cs = CFiles.Deserialize(files.FullName) as _UserPriceLibrarySource;
             if (cs != null)
             {
                 this.m_UserPriceLibrarySource = cs;
             }
         }
         else
         {
             this.m_UserPriceLibrarySource = new _UserPriceLibrarySource();
             CFiles.BinarySerialize(this.m_UserPriceLibrarySource, files.FullName);
         }
     }
     catch (Exception e)
     {
         throw e;
     }
 }
Пример #7
0
        private void popControl1_onCurrentChanged(popControl Sender, DataRowView CurrRowView)
        {
            DataRowView currRow = this.bindingSource1.Current as DataRowView;

            if (currRow == null)
            {
                return;
            }
            this.bindPopReturn(Sender, CurrRowView);
            this.gridView1.HideEditor();

            decimal ycbc  = 0;
            decimal lycbc = 0;

            switch (this.gridView1.FocusedColumn.FieldName)
            {
            case "YCBC":
            case "LYCBC":
                ycbc  = ToolKit.ParseDecimal(currRow["YCBC"]);   //一侧边长
                lycbc = ToolKit.ParseDecimal(currRow["LYCBC"]);  //另一侧边长
                if (0 != ycbc && 0 != lycbc)
                {
                    decimal zc = 2 * (ycbc + lycbc);
                    if (zc > 1800)
                    {
                        currRow["ZJHZC"] = ">1800";
                    }
                    else
                    {
                        currRow["ZJHZC"] = "<=1800";
                    }
                }
                break;
            }
        }
Пример #8
0
        /// <summary>
        /// 获取粉丝微信OpenId
        /// </summary>
        /// <returns>接口返回值</returns>
        public wx_backdata <wx_openidlist> GetOpenIdList()
        {
            string Url       = "https://api.weixin.qq.com/cgi-bin/user/get?";
            string GetResult = ToolKit.GetData(Url + "access_token=" + this.Accesstoken() + "&next_openid=");

            return(GetJson <wx_openidlist>(GetResult));
        }
Пример #9
0
        /// <summary>
        /// 获取指定用户信息
        /// </summary>
        /// <param name="openid">用户标识</param>
        /// <returns>接口返回值</returns>
        public wx_backdata <wx_user_info> GetUserInfo(string openid)
        {
            string Url       = "https://api.weixin.qq.com/cgi-bin/user/info?";
            string GetResult = ToolKit.GetData(Url + "access_token=" + this.Accesstoken() + "&openid=" + openid + "&lang=zh_CN");

            return(GetJson <wx_user_info>(GetResult));
        }
Пример #10
0
        /// <summary>
        /// 主函数
        /// </summary>
        /// <param name="toolKit"></param>
        /// <returns></returns>
        protected override Output MainMethod(ToolKit <DeviceImageExtractorArgs> toolKit)
        {
            var    outBuilder = new AdvanceOutputBuilder();
            string path       = DeviceImageFinder.PathOf(toolKit.Args.DevBasicInfo.Serial, toolKit.Args.ImageType);

            if (path == null)
            {
                return(null);
            }
            _getPathSuccessful = true;
            using (AndroidShell shell = new AndroidShell(toolKit.Args.DevBasicInfo.Serial))
            {
                shell.Connect();
                shell.Switch2Su();
                //复制到程序根目录
                string copyPath   = $"/sdcard/{tempFileName}";
                var    copyResult = shell.SafetyInput($"cp {path} {copyPath}");
                outBuilder.Append(copyResult);
                if (copyResult.IsSuccessful)
                {
                    _copySuccessful = copyResult.IsSuccessful;
                    var filePullerArgs = new FilePullerArgs()
                    {
                        DevBasicInfo     = toolKit.Args.DevBasicInfo,
                        SavePath         = toolKit.Args.SavePath + $"\\{toolKit.Args.ImageType.ToString().ToLower()}.img",
                        FilePathOnDevice = copyPath,
                    };
                    var pullResult = new FilePuller().Run(filePullerArgs);
                    _pullSuccessful = (pullResult.ExitCode == 0);
                    toolKit.Ae("rm -rf " + copyPath);
                    outBuilder.Append(pullResult.OutputData);
                }
            }
            return(outBuilder.Result);
        }
Пример #11
0
        /// <summary>
        /// 根据接口返回代码42001验证是否可用
        /// </summary>
        /// <returns>true可用|false失效</returns>
        public bool check_access_token()
        {
            XmlDocument Xml = new XmlDocument();

            Xml.Load(HttpContext.Current.Server.MapPath("~/App_Data/Config/WeiXin.config"));
            XmlNode access_token = Xml.SelectSingleNode("weixin/accesstoken");

            if (access_token != null)
            {
                this.accesstoken = access_token.InnerText;
            }
            string Url       = "https://api.weixin.qq.com/cgi-bin/get_current_selfmenu_info?access_token=" + this.accesstoken;
            string GetResult = ToolKit.GetData(Url);

            if (GetResult.IndexOf("errcode") != -1)
            {
                var ErrorMessage = JsonConvert.DeserializeObject <wx_apperror>(GetResult);
                if (ErrorMessage.errcode == "42001")
                {
                    return(false);
                }
                return(false);
            }
            else
            {
                return(true);
            }
        }
Пример #12
0
        /// <summary>
        /// 主方法
        /// </summary>
        /// <param name="toolKit"></param>
        /// <returns></returns>
        protected override Output MainMethod(ToolKit <FilePullerArgs> toolKit)
        {
            var command = Command.MakeForAdb($"pull \"{toolKit.Args.FilePathOnDevice}\" \"{toolKit.Args.SavePath}\"");

            result = toolKit.Executer.Execute(command);
            return(result);
        }
Пример #13
0
        /// <summary>
        /// 双击跳转事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void treeList_DoubleClick(object sender, EventArgs e)
        {
            TreeList m_TreeList = sender as TreeList;

            if (m_TreeList != null)
            {
                if (m_TreeList.Name == "treeListFBFX")
                {
                    //只有双击子目对象有效其它不处理
                    DataRowView drv = this.bindingSourceFBFX.Current as DataRowView;
                    if (drv != null)
                    {
                        //选中双击子目对应在分部分项上的子目
                        this.m_GetID      = ToolKit.ParseInt(drv["ID"]);
                        this.DialogResult = DialogResult.OK;
                    }
                }
                else
                {
                    DataRowView drv = this.bindingSourceCSXM.Current as DataRowView;
                    if (drv != null)
                    {
                        this.m_GetID      = ToolKit.ParseInt(drv["ID"]);
                        this.DialogResult = DialogResult.Yes;
                    }
                }
            }
        }
Пример #14
0
        public static FileDescriptionPacket Create(PacketHeader header, byte[] bytes, int index)
        {
            FileDescriptionPacket tmpPacket = new FileDescriptionPacket();

            tmpPacket.header = header;

            int offset = 0;

            Buffer.BlockCopy(bytes, index + offset, tmpPacket.fileid, 0, tmpPacket.fileid.Length * sizeof(byte));
            offset += tmpPacket.fileid.Length * sizeof(byte);
            Buffer.BlockCopy(bytes, index + offset, tmpPacket.hashfull, 0, tmpPacket.hashfull.Length * sizeof(byte));
            offset += tmpPacket.hashfull.Length * sizeof(byte);
            Buffer.BlockCopy(bytes, index + offset, tmpPacket.hash16k, 0, tmpPacket.hash16k.Length * sizeof(byte));
            offset          += tmpPacket.hash16k.Length * sizeof(byte);
            tmpPacket.length = BitConverter.ToUInt64(bytes, index + offset);
            offset          += sizeof(UInt64);

            // Name is specific to read since it's dependant of packet.length
            int name_offset = index + offset;
            int name_size   = (int)header.length - header.GetSize() - tmpPacket.fileid.Length * sizeof(byte) - tmpPacket.hashfull.Length * sizeof(byte) - tmpPacket.hash16k.Length * sizeof(byte) - sizeof(UInt64);

            byte[] name = new byte[name_size];
            Buffer.BlockCopy(bytes, name_offset, name, 0, name_size);

            tmpPacket.name = ToolKit.ByteArrayToString(name).TrimEnd('\0');

            return(tmpPacket);
        }
Пример #15
0
    // ------------------------------------------------------------------
    IEnumerator FlyToPos()
    {
        int   iCount = 1;
        float fFrame = 1;

        while (iCount <= 9)
        {
            pSprite.transform.Rotate(0, 0, -10);
            pSprite.transform.localScale = new Vector3(pSprite.transform.localScale.x + (0.01f * iCount), pSprite.transform.localScale.y + (0.01f * iCount), 1);
            iCount++;
            yield return(new WaitForEndOfFrame());
        }

        yield return(new WaitForSeconds(0.8f));

        while (Vector2.Distance(pSprite.transform.position, P_UI.pthis.ObjAmmoHeavy.transform.position) > 0.03f)
        {
            yield return(new WaitForEndOfFrame());

            ToolKit.MoveTo(gameObject, P_UI.pthis.ObjAmmoHeavy.transform.position - pSprite.transform.position, 0.8f * fFrame);
            fFrame += 0.05f;
        }

        DataPickup.pthis.Data[iItemID].bPickup = true;
        Rule.HeavyAmmoAdd(DataPickup.pthis.Data[iItemID].iCount);
        P_UI.pthis.UpdateResource();

        SysAchieve.pthis.Add(ENUM_Achievement.Total_HeavyAmmo, DataPickup.pthis.Data[iItemID].iCount);
        GoogleAnalyticsV3.getInstance().LogEvent("Count", "Pickup HeavyAmmo", "", 0);

        Destroy(gameObject);
    }
Пример #16
0
 /// <summary>
 /// 计算父级市场单价
 /// </summary>
 /// <param name="p_Status"></param>
 public void CalculateParentSCDJ()
 {
     this.Parent.BeginEdit();
     this.Parent["DEDJ"] = ToolKit.Formart(this.Unit.StructSource.ModelQuantity.Compute("Sum(DEHJ)", string.Format("PID={0}", this.Parent["ID"])), 2);
     this.Parent["SCDJ"] = ToolKit.Formart(this.Unit.StructSource.ModelQuantity.Compute("Sum(SCHJ)", string.Format("PID={0}", this.Parent["ID"])), 2);
     this.Parent.EndEdit();
 }
Пример #17
0
        private void gridView_CustomDrawCell(object sender, DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs e)
        {
            if (e.Column != null)
            {
                switch (e.Column.FieldName)
                {
                case "SL":
                case "DJC":
                case "HJC":
                case "SCHJ":
                case "DEHJ":
                case "DEDJ":
                case "SCDJ":
                    decimal d = ToolKit.ParseDecimal(e.CellValue);
                    if (d.Equals(0m))
                    {
                        e.DisplayText = string.Empty;
                    }
                    break;

                default:
                    break;
                }
            }
        }
Пример #18
0
 /// <summary>
 /// 其他统计
 /// </summary>
 /// <param name="table"></param>
 private void Other(DataRow[] p_drs)
 {
     //工程量
     m_ResultValue.GCL = this.Current.GCL;
     //风险人材机
     m_ResultValue.FXRCJ = p_drs.Where(p => p["IFFX"].Equals(true)).Sum(p => ToolKit.ParseDecimal(p["SCHJ"]));
     //吊装机械台班
     m_ResultValue.DZJXTB = p_drs.Where(p => p["LB"].Equals("吊装机械台班")).Sum(p => ToolKit.ParseDecimal(p["SCHJ"]));
     //混合机械费价差
     m_ResultValue.HHJXFJC = 0;
     foreach (DataRow item in p_drs)
     {
         if (item["LB"].Equals("机械") && item["DW"].Equals("工日"))
         {
             if (item["ZCLB"].Equals("W"))
             {
                 m_ResultValue.HHJXFJC += ToolKit.ParseDecimal(item["DJC"]) * ToolKit.ParseDecimal(item["XHL"]);
             }
             else
             {
                 DataRow dr = item.GetParentRow("工料机-组成");
                 if (dr != null)
                 {
                     m_ResultValue.HHJXFJC += ToolKit.ParseDecimal(dr["XHL"]) * ToolKit.ParseDecimal(item["DJC"]) * ToolKit.ParseDecimal(item["XHL"]);
                 }
             }
         }
     }
     //混合机械费单价
     m_ResultValue.HHJXFDJ = m_ResultValue.JXFDJ - (m_ResultValue.HHJXFJC);
 }
Пример #19
0
    // ------------------------------------------------------------------
    void WalktoTarget()
    {
        if (!ObjTarget)
        {
            Destroy(this);
            return;
        }
        vecRunDir = ObjTarget.transform.position - transform.position;

        if (Vector2.Distance(transform.position, ObjTarget.transform.position) > 0.15f)
        {
            float fSpeed = GameDefine.fBaseSpeed * 1.5f;

            if (ObjShield && ObjShield.GetComponent <Freeze>())
            {
                fSpeed = GameDefine.fBaseSpeed * 1.5f * Rule.UpgradeWeaponPistol();
            }

            ToolKit.LocalMoveTo(gameObject, vecRunDir, fSpeed);
        }

        if (vecRunDir.x > 0)
        {
            GetComponent <AIPlayer>().FaceTo(-1, ObjTarget);
        }
        else if (vecRunDir.x < 0)
        {
            GetComponent <AIPlayer>().FaceTo(1, ObjTarget);
        }
    }
Пример #20
0
        /// <summary>
        /// 主函数
        /// </summary>
        /// <param name="toolKit"></param>
        /// <returns></returns>
        protected override Output MainMethod(ToolKit <DeviceImageFlasherArgs> toolKit)
        {
            var outputBuilder = new AdvanceOutputBuilder();
            /*push image file to sdcard*/
            var pushArgs = new FilePusherArgs()
            {
                DevBasicInfo = toolKit.Args.DevBasicInfo,
                SavePath     = _savePath,
                SourceFile   = toolKit.Args.SourceFile,
            };
            var pushResult = new FilePusher().Run(pushArgs);

            outputBuilder.Append(pushResult.OutputData);
            /*move file to img path*/
            string path = DeviceImageFinder.PathOf(toolKit.Args.DevBasicInfo.Serial, toolKit.Args.ImageType);

            using (AndroidShell shell = new AndroidShell(toolKit.Args.DevBasicInfo.Serial))
            {
                shell.Connect();
                shell.Switch2Su();
                moveResult = shell.SafetyInput($"mv {_savePath} {path}");
                outputBuilder.Append(moveResult);
            }
            return(outputBuilder.Result);
        }
Пример #21
0
        /// <summary>
        /// 筛选
        /// </summary>
        private void Filter()
        {
            switch (xtraTabControlSX.SelectedTabPage.Name)
            {
            case "xtraTabPageSD":
                this.list = this.m_DataSource.AsEnumerable().Where(p => this.ManualFilter(p));
                break;

            case "xtraTabPageZD":
                if (this.textEditWZ.Enabled && this.textEditWZ.Text != "0" && this.textEditWZ.Text != string.Empty)
                {
                    this.list = this.m_DataSource.Select("LB='材料'", "SCHJ").Take(int.Parse(this.textEditWZ.Text));
                }
                if (this.calcEditZJ.Enabled && this.calcEditZJ.Value > 0)
                {
                    this.sumSCHJ = ToolKit.ParseDecimal(this.m_DataSource.Compute("Sum(SCHJ)", string.Format("LB in({0})", _Constant.cl)));
                    this.list    = this.m_DataSource.AsEnumerable().Where(p => this.AutoFilter(p));
                }
                break;

            default:
                break;
            }
            if (this.list != null)
            {
                this.lblScreening.Text = string.Format("符合条件数:{0}条", this.list.Count().ToString());
                this.xtraTabControlSZ_SelectedPageChanged(null, null);
            }
        }
Пример #22
0
        protected DataTable SplitDataFW(DataTable DataSource, string FWColmName, string MaxColmName, string MinColmName, params char[] strSeparator)
        {
            if (DataSource == null)
            {
                return(DataSource);
            }
            if (!DataSource.Columns.Contains(FWColmName))
            {
                return(DataSource);
            }
            if (DataSource.Columns.Contains(MaxColmName))
            {
                return(DataSource);
            }
            if (DataSource.Columns.Contains(MinColmName))
            {
                return(DataSource);
            }

            DataTable  dtTemp  = DataSource.Copy();
            DataColumn MaxColm = new DataColumn(MaxColmName, typeof(int));
            DataColumn MinColm = new DataColumn(MinColmName, typeof(int));

            dtTemp.Columns.AddRange(new DataColumn[] { MaxColm, MinColm });
            foreach (DataRow item in dtTemp.Rows)
            {
                string[] ArrStrTemp = toString(item[FWColmName]).Split(strSeparator);
                if (ArrStrTemp.Length == 2)
                {
                    item[MinColmName] = ToolKit.ParseInt(ArrStrTemp[0]);
                    item[MaxColmName] = ToolKit.ParseInt(ArrStrTemp[1]);
                }
            }
            return(dtTemp);
        }
Пример #23
0
        /// <summary>
        /// 默认项目文件夹下的可用文件
        /// </summary>
        private void LoadHistory()
        {
            //工程文件
            DirectoryInfo info = ToolKit.GetDirectoryInfo(APP.Application.Global.AppFolder.FullName + "工程文件");

            FileInfo[]      infos1 = info.GetFiles("*.JXMX");
            FileInfo[]      infos2 = info.GetFiles("*.JGCX");
            FileInfo[]      infos3 = info.GetFiles("*.JZBX");
            _HeaderFileInfo list   = new _HeaderFileInfo();

            list.AddRange(infos1);
            list.AddRange(infos2);
            list.AddRange(infos3);
            //FileInfo[] file1 = info.GetFiles();

            this.bindingSource1.DataSource = list.HeaderArrayList;
            this.gridControl1.DataSource   = this.bindingSource1;

            //备份
            DirectoryInfo binfo = ToolKit.GetDirectoryInfo(APP.Application.Global.AppFolder.FullName + "工程文件\\备份文件");

            FileInfo[] binfos1 = binfo.GetFiles("*.JXMX");
            FileInfo[] binfos2 = binfo.GetFiles("*.JGCX");
            FileInfo[] binfos3 = binfo.GetFiles("*.JZBX");

            _HeaderFileInfo blist = new _HeaderFileInfo();

            // ArrayList blist = new ArrayList();
            blist.AddRange(binfos1);
            blist.AddRange(binfos2);
            blist.AddRange(binfos3);
            //FileInfo[] file1 = info.GetFiles();
            this.bindingSource2.DataSource = blist.HeaderArrayList;
            this.gridControl2.DataSource   = this.bindingSource2;
        }
Пример #24
0
        private void gridView1_CustomDrawCell(object sender, DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs e)
        {
            DevExpress.XtraGrid.Views.Grid.GridView gv = sender as DevExpress.XtraGrid.Views.Grid.GridView;
            DataRow row = gv.GetDataRow(e.RowHandle);

            switch (e.Column.FieldName)
            {
            case "SL":
                decimal d = ToolKit.ParseDecimal(e.CellValue);
                if (d.Equals(0m))
                {
                    e.DisplayText = string.Empty;
                }
                break;

            case "SSDWGC":
                if (row != null)
                {
                    e.DisplayText = GetFiledValue(row["UnID"].ToString(), "Name").ToString();
                }
                break;

            default:
                break;
            }
        }
Пример #25
0
        public static void ModifyEdit_Sub(ModifyAttribute att, _Business bus, _UnitProject unit)
        {
            DataRow r = att.Source as DataRow;

            if (r != null)
            {
                if (r["LB"].ToString().Contains("子目") && att.FieldName == "GCL")
                {
                    decimal w = 0m;
                    int     m = ToolKit.ParseInt(APP.Application.Global.Configuration.Configs["工程量输入方式"]);
                    if (m > 0)
                    {
                        w = _Methods.GetNumber(r["DW"].ToString());
                    }

                    if (w == 0)
                    {
                        w = 1;
                    }
                    r["GCL"] = ToolKit.ParseDecimal((ToolKit.ParseDecimal(att.OriginalValue) * w).ToString("F4"));
                }
                else
                {
                    r[att.FieldName] = att.OriginalValue;
                }
                _Entity_SubInfo info = new _Entity_SubInfo();
                _ObjectSource.GetObject(info, att.Source as DataRow);
                GLODSOFT.QDJJ.BUSINESS._Methods met = GLODSOFT.QDJJ.BUSINESS._Methods.CreateIntace(bus, unit, info);
                _Modify_Method.Edit_Sub(att.FieldName, met, r);
            }
        }
Пример #26
0
        private void CreateSubByCurrent()
        {
            _Methods_ParamsSeting m_Methods_ParamsSeting = new _Methods_ParamsSeting(this.Unit);
            DataRow dr_UnitFee = m_Methods_ParamsSeting.GetUnitFeeInfo(this.Current.OLDXMBM);

            decimal gLF = ToolKit.ParseDecimal(dr_UnitFee["GLFFL"]) * 0.01m;
            decimal LR  = ToolKit.ParseDecimal(dr_UnitFee["LRFL"]) * 0.01m;
            decimal xhl = this.Current.ZJTJ / (1 + gLF + LR + gLF * LR);
            DataRow r   = this.Unit.StructSource.ModelQuantity.NewRow();

            r["YSBH"]     = APP.RepairQuantityUnit.GetRepairBH(this.Unit, "材料");
            r["YSMC"]     = this.Current.XMMC;
            r["YSDW"]     = this.Current.DW;
            r["YSXHL"]    = xhl;
            r["DEDJ"]     = 1;
            r["BH"]       = r["YSBH"];
            r["MC"]       = this.Current.XMMC;
            r["DW"]       = this.Current.DW;
            r["XHL"]      = xhl;
            r["SCDJ"]     = 1;
            r["LB"]       = "材料";
            r["ZCLB"]     = "W";
            r["SDCLB"]    = string.Empty;
            r["SDCXS"]    = 0;
            r["IFSC"]     = true;
            r["IFFX"]     = false;
            r["IFSDSCDJ"] = false;
            r["IFZYCL"]   = true;
            r["YTLB"]     = string.Empty;
            this.CreateGLJ(r);
        }
        /// <summary>
        /// 开始计算
        /// </summary>
        public void Begin()
        {
            _Entity_SubInfo info = this.Current;

            if (info.ZJFS == _Constant.公式组价)
            {
                string str = info.JSJC;
                if (string.IsNullOrEmpty(str))
                {
                    str = "0";
                }
                // this.Activitie.Property.Statistics.Begin();
                str = ToolKit.ExpressionReplace(str, this.Unit.StructSource.ModelProjVariable);
                decimal m = 1m;
                //decimal.TryParse(info.FL, out m);
                m = ToolKit.ParseDecimal(info.FL);
                decimal ZHDJ = ToolKit.Calculate(str) * m * 0.01m;
                decimal ZHHJ = ZHDJ * info.GCL;


                this.Unit.StructSource.ModelResultVariable.Set(this.Current.ID, this.Current.SSLB, _Statistics.FILED_ZHHJ, ZHHJ);
                this.Unit.StructSource.ModelResultVariable.Set(this.Current.ID, this.Current.SSLB, _Statistics.FILED_ZHDJ, ZHDJ);
                this.Unit.StructSource.ModelResultVariable.Set(this.Current.ID, this.Current.SSLB, _Statistics.FILED_CLFHJ, ZHHJ);
                this.Unit.StructSource.ModelResultVariable.Set(this.Current.ID, this.Current.SSLB, _Statistics.FILED_CLFDJ, ZHDJ);
                //this.Unit.StructSource.ModelResultVariable.Set(this.Current.ID,this.Current.SSLB,_Statistics.FILED_ZHDJ, info.ZHHJ / this.Current.GCL);
            }
            else
            {
                SetValue();
            }


            SetValueToView();;
        }
Пример #28
0
        /// <summary>
        /// 单个定额号的处理 比如4-1 *2*2*2*2 R*2
        /// </summary>
        /// <param name="ysde"></param>
        /// <param name="rcl"></param>
        /// <param name="s"></param>
        private void Preparation(string p_RCJType, decimal p_Num)
        {
            if (this.Current.DECJ == null)
            {
                return;
            }
            string[] strs    = this.Current.DECJ.Split('|');
            string   m_XDECJ = string.Empty;

            foreach (string item in strs)
            {
                if (item.Trim() != string.Empty)
                {
                    string[] items = item.Split(',');
                    string   m_bh  = items[0].ToString();
                    decimal  m_xhl = items.Length == 4 ? ToolKit.ParseDecimal(items[3]) : ToolKit.ParseDecimal(items[1]);
                    switch (p_RCJType.ToUpper())
                    {
                    case "R":
                        DataRow rdr = GetRCJ(m_bh);
                        if (rdr != null)
                        {
                            if (_Constant.rg.Contains("'" + rdr["CAIJLB"].ToString() + "'"))
                            {
                                m_xhl = m_xhl * p_Num;
                            }
                        }
                        break;

                    case "C":
                        DataRow rdc = GetRCJ(m_bh);
                        if (rdc != null)
                        {
                            if (_Constant.cl.Contains("'" + rdc["CAIJLB"].ToString() + "'"))
                            {
                                m_xhl = m_xhl * p_Num;
                            }
                        }
                        break;

                    case "J":
                        DataRow rdj = GetRCJ(m_bh);
                        if (rdj != null)
                        {
                            if (_Constant.jx.Contains("'" + rdj["CAIJLB"].ToString() + "'"))
                            {
                                m_xhl = m_xhl * p_Num;
                            }
                        }
                        break;

                    default:
                        m_xhl = m_xhl * p_Num;
                        break;
                    }
                    m_XDECJ += items[0] + "," + items[1] + "," + items[2] + "," + m_xhl + "|";
                }
            }
            this.Current.DECJ = m_XDECJ;
        }
Пример #29
0
        private DataSourceFactory(string name)
        {
            name = name.ToLower();
            DataSourceConfig dsConfig = DBHelperFactory2.DataSourceMap[name];

            this.m_dataSourceName   = dsConfig.dataSourceName;
            this.m_connectionString = dsConfig.connStr;
            this.m_providerName     = dsConfig.providerName;
            string dbDialectClass = dsConfig.dialectClass;

            m_dbDialect = (IDbDialect)ToolKit.CreateInstance(dbDialectClass);

            //默认配置
            this.m_minSize = 50;
            this.m_maxSize = 100;
            this.m_usePool = true;
            this.m_timeOut = 1000;
            try { this.m_minSize = dsConfig.minSize; }
            catch { }
            try { this.m_maxSize = dsConfig.maxSize; }
            catch { }
            try { this.m_timeOut = dsConfig.timeOut; }
            catch { }
            try { this.m_usePool = dsConfig.pooled; }
            catch { }
        }
Пример #30
0
        public void Begin()
        {
            if (Unit.StructSource.ModelOtherProject.Rows.Count == 0)
            {
                return;
            }

            DataRow r  = this.Unit.StructSource.ModelOtherProject.Rows[0];
            int     id = ToolKit.ParseInt(r["ID"]);

            this.ResultVarable = this.Unit.StructSource.ModelResultVariable;

            this.ResultVarable.Set(this.Unit.PID, id, 2, _ObjectInfo.FILED_ZHHJ, getHJ("QTXMHJ"));
            decimal QTXMCJHJ = getCJHJ("QTXMHJ");

            this.ResultVarable.Set(this.Unit.PID, id, 2, "QTXMCJHJ", QTXMCJHJ);
            decimal QTXMRGCJHJ = getCJHJ("JRGRG");

            this.ResultVarable.Set(this.Unit.PID, id, 2, "QTXMRGCJHJ", QTXMRGCJHJ);
            this.ResultVarable.Set(this.Unit.PID, id, 2, "QTXMJSCJHJ", QTXMCJHJ - QTXMRGCJHJ);//结算差价
            this.ResultVarable.Set(this.Unit.PID, id, 2, "ZLJE", getHJ("ZLJE"));
            this.ResultVarable.Set(this.Unit.PID, id, 2, "SJBGCJ", getHJ("SJBGCJ"));

            this.ResultVarable.Set(this.Unit.PID, id, 2, "ZYGCZGJ", getHJ("ZYGCZGJ"));
            this.ResultVarable.Set(this.Unit.PID, id, 2, "ZCSBZGJ", getHJ("ZCSBZGJ"));
            this.ResultVarable.Set(this.Unit.PID, id, 2, "LXFBGCE", getHJ("LXFBGCE"));
            this.ResultVarable.Set(this.Unit.PID, id, 2, "JRG", getHJ("JRG"));
            this.ResultVarable.Set(this.Unit.PID, id, 2, "JRGRG", getHJ("JRGRG"));
            this.ResultVarable.Set(this.Unit.PID, id, 2, "JRGCL", getHJ("JRGCL"));
            this.ResultVarable.Set(this.Unit.PID, id, 2, "JRGJX", getHJ("JRGJX"));
            this.ResultVarable.Set(this.Unit.PID, id, 2, "ZCBFWF", getHJ("ZCBFWF"));
            this.ResultVarable.Set(this.Unit.PID, id, 2, "FBGLFWF", getHJ("FBGLFWF"));
            this.ResultVarable.Set(this.Unit.PID, id, 2, "FBRBGF", getHJ("FBRBGF"));
            this.ResultVarable.Set(this.Unit.PID, id, 2, "FSPTJJJ", getHJ("FSPTJJJ"));
        }