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); } } }
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"]; } } } }
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); }
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); } } } }
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; } } }