public override void AfterCreateNewData(EventArgs e)
        {
            long num = CommonServiceHelper.GetSellerIdFromUserId(base.Context, base.Context.CurrentOrganizationInfo.ID, base.Context.UserId);

            if (num != 0L)
            {
                base.View.Model.SetValue("FSalerId", num);
                base.View.InvokeFieldUpdateService("FSalerId", 0);
            }
            if ((base.View.ParentFormView != null) && (base.View.ParentFormView.OpenParameter != null))
            {
                object customParameter = base.View.ParentFormView.OpenParameter.GetCustomParameter("MarketingID");
                if (customParameter != null)
                {
                    base.View.Model.SetValue("FMARACTIVITYID", customParameter.ToString());
                    base.View.InvokeFieldUpdateService("FMARACTIVITYID", 0);
                }
                object obj3 = base.View.ParentFormView.OpenParameter.GetCustomParameter("WXMarketingID");
                if (obj3 != null)
                {
                    base.View.Model.SetValue("FWeiXinMarketingId", obj3.ToString());
                    base.View.InvokeFieldUpdateService("FWeiXinMarketingId", 0);
                }
            }
        }
Exemple #2
0
        public override void OnInitialize(InitializeEventArgs e)
        {
            //第一个进入的方法
            base.OnInitialize(e);
            this.isOpenAccount = false;
            object customParameter = this.View.OpenParameter.GetCustomParameter("Direct");

            if (customParameter != null)
            {
                string str = customParameter.ToString();
                if (!string.IsNullOrWhiteSpace(str))
                {
                    string str2 = ResManager.LoadKDString("关账", "004023030000241", SubSystemType.SCM, new object[0]);  //多语言设置,二开暂时不需要考虑
                    string str3 = ResManager.LoadKDString("反关账", "004023030000238", SubSystemType.SCM, new object[0]); //多语言设置,二开暂时不需要考虑
                    this.isOpenAccount = str.Equals("O", StringComparison.OrdinalIgnoreCase);                          //判断点击的菜单是关账还是反关账
                    this.View.SetFormTitle(new LocaleValue(this.isOpenAccount ? str3 : str2, base.Context.UserLocale.LCID));
                    this.View.SetInnerTitle(new LocaleValue(this.isOpenAccount ? str3 : str2, base.Context.UserLocale.LCID));
                    this.View.GetMainBarItem("tbAction").Text = this.isOpenAccount ? str3 : str2;//将元数据执行按钮设置它的显示内容,关账,反关账
                }
            }
            this.bShowErr = false;
            this.ShowErrGrid(this.bShowErr);
            this.View.GetControl <EntryGrid>("FEntityAction").SetFireDoubleClickEvent(true);//设置表格的双击事件,是否触发服务端
            //获取指定组织的指定系统参数,STK_StockParameter库存管理系统参数key,RecBalMidData库存关账记录中间结果key
            object obj3 = CommonServiceHelper.GetSystemProfile(base.Context, 0L, "STK_StockParameter", "RecBalMidData", false);

            this.bRecordMidData = false;
            if ((obj3 != null) && !string.IsNullOrWhiteSpace(obj3.ToString()))
            {
                this.bRecordMidData = Convert.ToBoolean(obj3);
            }
        }
        /// <summary>
        /// 最后触发:单据转换后事件
        /// </summary>
        /// <param name="e"/>
        public override void AfterConvert(Kingdee.BOS.Core.Metadata.ConvertElement.PlugIn.Args.AfterConvertEventArgs e)
        {
            ExtendedDataEntity[] array = e.Result.FindByEntityKey("FBillHead");

            foreach (ExtendedDataEntity extendedDataEntity in array)
            {
                long orgid = Convert.ToInt32(extendedDataEntity.DataEntity["FPAYORGID"]);
                DynamicObjectCollection dynamicObjectCollection = (extendedDataEntity.DataEntity["PAYBILLENTRY"] as DynamicObjectCollection);

                if (dynamicObjectCollection == null)
                {
                    continue;
                }

                BaseDataField priceListDataField = e.TargetBusinessInfo.GetField("FPriceListId") as BaseDataField;

                foreach (DynamicObject dyentry in dynamicObjectCollection)
                {
                    long materialid = Convert.ToInt32(dyentry["MaterialId_Id"]);

                    List <long> lMaterList = new List <long>();
                    lMaterList.Add(materialid);
                    DynamicObjectCollection bomDataCollection = CommonServiceHelper.GetAcctBookData(this.Context, orgid, materialid, materialid);
                    DynamicObject           listdObjects      = null;
                    if (bomDataCollection == null)
                    {
                        continue;
                    }

                    listdObjects = bomDataCollection.FirstOrDefault();
                    if (listdObjects != null)
                    {
                        decimal amount, Qty, Price;
                        Qty                 = Convert.ToDecimal(dyentry["Qty"]);
                        Price               = Convert.ToDecimal(listdObjects["FPRICE"]);
                        amount              = Qty * Price;
                        dyentry["Amount"]   = amount;
                        dyentry["Price"]    = listdObjects["FPRICE"];
                        dyentry["TaxPrice"] = listdObjects["FPRICE"];
                    }
                }
            }
        }
Exemple #4
0
        public override void DataChanged(DataChangedEventArgs e)
        {
            switch (e.Field.Key.ToUpperInvariant())
            {
            case "FMATERIALID":
                break;

            case "FAUXPROPID":

                //获取维度值
                string newAuxpropData = e.NewValue as string;
                if (string.IsNullOrWhiteSpace(newAuxpropData))
                {
                    return;
                }
                DynamicObject org   = this.View.Model.GetValue("FPrdOrgId") as DynamicObject;
                long          orgId = 0;
                if (org != null)
                {
                    orgId = Convert.ToInt64(org["Id"]);
                }


                DynamicObject material   = this.View.Model.GetValue("FMaterialId", e.Row) as DynamicObject;
                long          materialId = 0;
                if (material != null)
                {
                    materialId = Convert.ToInt64(material["Id"]);
                }
                long routId = CommonServiceHelper.GetRoutingIdByMatAndAuxpro(this.Context, orgId, materialId, newAuxpropData);
                this.View.Model.SetValue("FRoutingId", routId, e.Row);
                break;

            default:
                break;
            }
            base.DataChanged(e);
        }
Exemple #5
0
        private void RefreshOrgSuccessFlag()
        {
            DynamicObjectCollection entryDataObject = this.View.Model.DataObject["EntityAction"] as DynamicObjectCollection;
            DateTime minValue = DateTime.MinValue;
            object   obj2     = this.Model.GetValue("FCLOSEDATE");

            if (obj2 != null)
            {
                minValue = DateTime.Parse(obj2.ToString());
            }
            DataTable stockOrgAcctLastCloseDate = null;

            if (this.isOpenAccount)
            {
                stockOrgAcctLastCloseDate = CommonServiceHelper.GetStockOrgAcctLastCloseDate(base.Context, "");
            }
            Func <StockOrgOperateResult, bool> predicate = null;

            for (int i = 0; i < entryDataObject.Count; i++)
            {
                if (Convert.ToBoolean(entryDataObject[i]["Check"]))
                {
                    if (predicate == null)
                    {
                        predicate = p => p.StockOrgID == Convert.ToInt64(entryDataObject[i]["StockOrgID"]);
                    }
                    StockOrgOperateResult result = this.opResults.SingleOrDefault <StockOrgOperateResult>(predicate);
                    if (result != null)
                    {
                        this.Model.SetValue("FResult", result.OperateSuccess ? ResManager.LoadKDString("成功", "004023030000250", SubSystemType.SCM, new object[0]) : ResManager.LoadKDString("失败", "004023030000253", SubSystemType.SCM, new object[0]), i);
                        this.Model.SetValue("FRetFlag", result.OperateSuccess, i);
                        if (result.OperateSuccess)
                        {
                            if (this.isOpenAccount)
                            {
                                DataRow[] source = stockOrgAcctLastCloseDate.Select($"FORGID={result.StockOrgID}");
                                if (source.Count <DataRow>() > 0)
                                {
                                    this.Model.SetValue("FLastCloseDate", source[0]["FCLOSEDATE"], i);
                                }
                                else
                                {
                                    this.Model.SetValue("FLastCloseDate", null, i);
                                    this.Model.SetValue("FCheck", false, i);
                                }
                            }
                            else
                            {
                                this.Model.SetValue("FLastCloseDate", minValue, i);
                            }
                        }
                        LogObject logObject = new LogObject
                        {
                            ObjectTypeId = this.View.BusinessInfo.GetForm().Id,
                            Description  = string.Format(ResManager.LoadKDString("库存组织{0}{1}{2}{3}", "004023030000256", SubSystemType.SCM, new object[0]), new object[] {
                                result.StockOrgNumber,
                                result.StockOrgName,
                                this.isOpenAccount ? ResManager.LoadKDString("反关账", "004023030000238", SubSystemType.SCM, new object[0]) : ResManager.LoadKDString("关账", "004023030000241", SubSystemType.SCM, new object[0]),
                                result.OperateSuccess ? ResManager.LoadKDString("成功", "004023030000250", SubSystemType.SCM, new object[0]) : ResManager.LoadKDString("失败", "004023030000253", SubSystemType.SCM, new object[0])
                            }),
                            Environment = OperatingEnvironment.BizOperate,
                            OperateName = this.isOpenAccount ? ResManager.LoadKDString("反关账", "004023030000238", SubSystemType.SCM, new object[0]) : ResManager.LoadKDString("关账", "004023030000241", SubSystemType.SCM, new object[0]),
                            SubSystemId = "21"
                        };
                        this.Model.WriteLog(logObject);
                    }
                }
            }
        }
Exemple #6
0
        public override void CreateNewData(BizDataEventArgs e)
        {
            DynamicObjectType dynamicObjectType = this.Model.BillBusinessInfo.GetDynamicObjectType();
            Entity            entity            = this.View.BusinessInfo.Entrys[1];
            DynamicObjectType dt         = entity.DynamicObjectType;
            DynamicObject     dataEntity = new DynamicObject(dynamicObjectType)
            {
                ["CloseDate"] = DateTime.Now.Date
            };
            DynamicObjectCollection objects   = entity.DynamicProperty.GetValue <DynamicObjectCollection>(dataEntity);
            BusinessObject          bizObject = new BusinessObject
            {
                Id = "STK_Account",
                PermissionControl = 1,
                SubSystemId       = "STK"
            };
            List <long> valList = PermissionServiceHelper.GetPermissionOrg(base.Context, bizObject, this.isOpenAccount ? "4cc4dea42de6441ebeb21c509358d73d" : "1046d14017fd45dbaff9b1fe4affe0c6");

            if ((valList == null) || (valList.Count < 1))
            {
                e.BizDataObject = dataEntity;
            }
            else
            {
                Dictionary <string, object> batchStockDate = StockServiceHelper.GetBatchStockDate(base.Context, valList);
                if ((batchStockDate == null) || (batchStockDate.Keys.Count < 1))
                {
                    e.BizDataObject = dataEntity;
                }
                else
                {
                    valList.Clear();
                    foreach (string str in batchStockDate.Keys)
                    {
                        valList.Add(Convert.ToInt64(str));
                    }
                    List <SelectorItemInfo> list2 = new List <SelectorItemInfo> {
                        new SelectorItemInfo("FORGID"),
                        new SelectorItemInfo("FName"),
                        new SelectorItemInfo("FNumber"),
                        new SelectorItemInfo("FDescription")
                    };
                    string str2 = this.GetInFilter(" FORGID", valList) + $" AND FDOCUMENTSTATUS = 'C' AND FFORBIDSTATUS = 'A' AND (FORGFUNCTIONS like'%103%') AND EXISTS(SELECT 1 FROM T_BAS_SYSTEMPROFILE BSP WHERE BSP.FCATEGORY = 'STK' AND BSP.FORGID = FORGID AND BSP.FACCOUNTBOOKID = 0 AND BSP.FKEY = 'IsInvEndInitial' AND BSP.FVALUE = '1') {(this.isOpenAccount ? "AND EXISTS(SELECT 1 FROM T_STK_CLOSEPROFILE SCP WHERE SCP.FCATEGORY = 'STK' AND SCP.FORGID = FORGID )" : "")} ";
                    QueryBuilderParemeter para = new QueryBuilderParemeter
                    {
                        FormId                 = "ORG_Organizations",
                        SelectItems            = list2,
                        FilterClauseWihtKey    = str2,
                        OrderByClauseWihtKey   = "",
                        IsolationOrgList       = null,
                        RequiresDataPermission = true
                    };
                    DynamicObjectCollection source          = QueryServiceHelper.GetDynamicObjectCollection(base.Context, para, null);
                    DataTable stockOrgAcctLastCloseDate     = CommonServiceHelper.GetStockOrgAcctLastCloseDate(base.Context, "");
                    Dictionary <long, DateTime> dictionary2 = new Dictionary <long, DateTime>();
                    foreach (DataRow row in stockOrgAcctLastCloseDate.Rows)
                    {
                        if (!(row["FCLOSEDATE"] is DBNull) && !string.IsNullOrWhiteSpace(row["FCLOSEDATE"].ToString()))
                        {
                            dictionary2[Convert.ToInt64(row["FORGID"])] = Convert.ToDateTime(row["FCLOSEDATE"]);
                        }
                    }
                    int num = 0;
                    if ((source != null) && (source.Count <DynamicObject>() > 0))
                    {
                        foreach (DynamicObject obj4 in source)
                        {
                            long          key  = Convert.ToInt64(obj4["FORGID"]);
                            DynamicObject item = new DynamicObject(dt)
                            {
                                ["Check"]        = true,
                                ["StockOrgNo"]   = obj4["FNumber"].ToString(),
                                ["StockOrgName"] = ((obj4["FName"] == null) || string.IsNullOrEmpty(obj4["FName"].ToString())) ? "" : obj4["FName"].ToString(),
                                ["StockOrgDesc"] = ((obj4["FDescription"] == null) || string.IsNullOrEmpty(obj4["FDescription"].ToString())) ? "" : obj4["FDescription"].ToString(),
                                ["StockOrgID"]   = obj4["FORGID"].ToString(),
                                ["Result"]       = "",
                                ["RetFlag"]      = false,
                                ["Seq"]          = num++
                            };
                            if (dictionary2.ContainsKey(key))
                            {
                                item["LastCloseDate"] = dictionary2[key];
                            }
                            objects.Add(item);
                        }
                    }
                    e.BizDataObject = dataEntity;
                }
            }
        }