private void SetDefaultExchange(AfterFieldMappingEventArgs e) { ExtendedDataEntity[] entityArray = e.TargetExtendDataEntitySet.FindByEntityKey("FBillHead"); e.TargetExtendDataEntitySet.FindByEntityKey("FSaleOrderEntry"); ExtendedDataEntity[] entityArray2 = e.TargetExtendDataEntitySet.FindByEntityKey("FSaleOrderFinance"); ICommonService commonService = ServiceFactory.GetCommonService(base.Context); foreach (ExtendedDataEntity entity in entityArray2) { ExtendedDataEntity entity2 = entityArray[entity.DataEntityIndex]; long num = Convert.ToInt64(entity2.DataEntity["SaleOrgId_Id"]); long num2 = 0; long num3 = 0; JSONObject defCurrencyAndExchangeTypeByBizOrgID = commonService.GetDefCurrencyAndExchangeTypeByBizOrgID(base.Context, num); if (defCurrencyAndExchangeTypeByBizOrgID != null) { num2 = Convert.ToInt64(defCurrencyAndExchangeTypeByBizOrgID["FCyForID"]); num3 = Convert.ToInt64(defCurrencyAndExchangeTypeByBizOrgID["FRateType"]); } BaseDataField field = e.TargetBusinessInfo.GetField("FExchangeTypeId") as BaseDataField; FieldUtils.SetBaseDataFieldValue(base.Context, field, entity.DataEntity, num3); long num4 = Convert.ToInt64(entity.DataEntity["SettleCurrId_Id"]); DateTime time = Convert.ToDateTime(entityArray[entity.DataEntityIndex].DataEntity["Date"]); if ((num2 == num4) || (time == DateTime.MinValue)) { entity.DataEntity["ExchangeRate"] = 1; } else { KeyValuePair <decimal, int> pair = commonService.GetExchangeRateAndDecimal(base.Context, num4, num2, num3, time, time); entity.DataEntity["ExchangeRate"] = pair.Key; } } }
public override void OnAfterFieldMapping(AfterFieldMappingEventArgs e) { base.OnAfterFieldMapping(e); //检查下游单据是收货通知或发货通知。 if (!e.TargetBusinessInfo.GetForm().Id.EqualsIgnoreCase(PIWMSFormPrimaryKey.Instance.InNotice()) && !e.TargetBusinessInfo.GetForm().Id.EqualsIgnoreCase(PIWMSFormPrimaryKey.Instance.OutNotice())) { return; }//end if var dataEntities = e.TargetExtendDataEntitySet.FindByEntityKey("FBillHead"); var sourceField = e.TargetBusinessInfo.GetField("FPHMXSourceFormId").AsType <BaseDataField>(); var targetField = e.TargetBusinessInfo.GetField("FPHMXTargetFormId").AsType <BaseDataField>(); var ruleField = e.TargetBusinessInfo.GetField("FPHMXConvertRuleId").AsType <BaseDataField>(); var convertService = ServiceHelper.GetService <IConvertService>(); foreach (var data in dataEntities) { var sourceFormId = data.DataEntity.FieldProperty <DynamicObject>(sourceField).PkId <string>(); var targetFormId = data.DataEntity.FieldProperty <DynamicObject>(targetField).PkId <string>(); if (sourceFormId.IsNullOrEmptyOrWhiteSpace() || targetFormId.IsNullOrEmptyOrWhiteSpace()) { continue; } var convertRuleId = data.DataEntity.FieldProperty <DynamicObject>(ruleField).PkId <string>(); if (!convertRuleId.IsNullOrEmptyOrWhiteSpace()) { if (convertService.GetConvertRule(this.Context, convertRuleId).Adaptive(metadata => metadata != null && metadata.Rule.Status)) { continue; } }//end if //取启用状态的默认规则。 var rule = convertService.GetConvertRules(this.Context, sourceFormId, targetFormId) .Where(item => item.Status) .Where(item => item.IsDefault) .FirstOrDefault(); //如果取到则赋值。 if (rule != null) { ruleField.RefIDDynamicProperty.SetValue(data.DataEntity, rule.Id); } //end if } //end foreach //将规则字段数据包补充完整。 var viewService = ServiceHelper.GetService <IViewService>(); dataEntities.Select(data => data.DataEntity) .ToArray() .Mend(ruleField, ids => viewService.LoadFromCache(this.Context, ids, ruleField.RefFormDynamicObjectType)); } //end method
private void SetRelativeCodeByMaterialId(AfterFieldMappingEventArgs e) { ExtendedDataEntity[] entityArray = e.TargetExtendDataEntitySet.FindByEntityKey("FSaleOrderEntry"); ExtendedDataEntity[] entityArray2 = e.TargetExtendDataEntitySet.FindByEntityKey("FBillHead"); Kingdee.K3.SCM.Contracts.ICommonService service = Kingdee.K3.SCM.App.ServiceHelper.GetService <ICommonService>(); Dictionary <long, bool> dictionary = new Dictionary <long, bool>(); foreach (ExtendedDataEntity entity in entityArray) { if (!entity.DataEntity["MapId_Id"].IsNullOrEmptyOrWhiteSpace()) { continue; } bool flag = false; long key = Convert.ToInt64(entityArray2[entity.DataEntityIndex].DataEntity["SaleOrgId_Id"]); long num2 = Convert.ToInt64(entityArray2[entity.DataEntityIndex].DataEntity["CustId_Id"]); long num3 = Convert.ToInt64(entity.DataEntity["MaterialId_Id"]); if (!dictionary.ContainsKey(key)) { object obj2 = service.GetSystemProfile(base.Context, key, "SAL_SystemParameter", "UseCustMatMapping", false); flag = (obj2 != null) && Convert.ToBoolean(obj2); dictionary.Add(key, flag); } if (dictionary[key]) { List <CustomerMaterialResult> list = service.GetRelativeCodeByMaterial(base.Context, num3, num2, key); if (list.Count > 0) { string str = ""; foreach (CustomerMaterialResult result in list) { if (result.FCustId > 0) { str = result.Fid; break; } } if (str.IsNullOrEmptyOrWhiteSpace()) { str = list[0].Fid; } BaseDataField field = e.TargetBusinessInfo.GetField("FMapId") as BaseDataField; FieldUtils.SetBaseDataFieldValue(base.Context, field, entity.DataEntity, str); } } } }
public override void OnAfterFieldMapping(AfterFieldMappingEventArgs e) { //base.OnAfterFieldMapping(e); double payplanamount = 0; ExtendedDataEntity[] entityArray = e.TargetExtendDataEntitySet.FindByEntityKey("FBillHead"); ExtendedDataEntity[] entityArray2 = e.TargetExtendDataEntitySet.FindByEntityKey("FSaleOrderEntry"); ExtendedDataEntity[] entityArray3 = e.TargetExtendDataEntitySet.FindByEntityKey("FSaleOrderFinance"); foreach (ExtendedDataEntity entity in entityArray2) { Convert.ToInt64(entityArray[entity.DataEntityIndex].DataEntity["SaleOrgId_Id"]); object obj1 = entity.DataEntity["SrcType"]; object srcBillNo = entity.DataEntity["SrcBillNo"]; /*long num = (from p in this.custList * where p.OrderBillNo == Convert.ToString(srcBillNo) * select p.CustId).FirstOrDefault<long>();*/ long num = 137293; BaseDataField field = e.TargetBusinessInfo.GetField("FCustId") as BaseDataField; FieldUtils.SetBaseDataFieldValue(base.Context, field, entityArray[entity.DataEntityIndex].DataEntity, num); DynamicObject obj2 = entityArray[entity.DataEntityIndex].DataEntity["CustId"] as DynamicObject; long num2 = Convert.ToInt64(obj2["SETTLETYPEID_Id"]); BaseDataField field2 = e.TargetBusinessInfo.GetField("FSettleModeId") as BaseDataField; FieldUtils.SetBaseDataFieldValue(base.Context, field2, entityArray3[entity.DataEntityIndex].DataEntity, num2); long num3 = Convert.ToInt64(obj2["RECCONDITIONID_Id"]); BaseDataField field3 = e.TargetBusinessInfo.GetField("FRecConditionId") as BaseDataField; FieldUtils.SetBaseDataFieldValue(base.Context, field3, entityArray3[entity.DataEntityIndex].DataEntity, num3); long num4 = (obj2 == null) ? 0 : Convert.ToInt64(obj2["Id"]); DynamicObject obj3 = null; payplanamount = payplanamount + (Convert.ToDouble(entity.DataEntity["BaseUnitQty"]) * Convert.ToDouble(entity.DataEntity["TaxPrice"])); if (num4 > 0L) { DynamicObjectCollection source = obj2["BD_CUSTCONTACT"] as DynamicObjectCollection; for (int i = source.Count <DynamicObject>() - 1; i >= 0; i--) { if (Convert.ToBoolean(source[i]["IsUsed"])) { obj3 = source[i]; if (Convert.ToBoolean(source[i]["IsDefaultConsignee"])) { break; } } } } long num6 = (obj3 == null) ? 0L : Convert.ToInt64(obj3["Id"]); BaseDataField field4 = e.TargetBusinessInfo.GetField("FHEADLOCID") as BaseDataField; FieldUtils.SetBaseDataFieldValue(base.Context, field4, entityArray[entity.DataEntityIndex].DataEntity, num6); DynamicObject obj4 = entityArray[entity.DataEntityIndex].DataEntity["HeadLocId"] as DynamicObject; if (obj4 != null) { entityArray[entity.DataEntityIndex].DataEntity["ReceiveAddress"] = obj4["ADDRESS"]; } } /*复制模板,增加付款计划*/ if (payplanamount > 0L) { FormMetadata SAL_SaleOrderForm = AppServiceContext.MetadataService.Load(this.Context, "SAL_SaleOrder") as FormMetadata; DynamicObject templateBillObj = AppServiceContext.ViewService.LoadWithCache(this.Context, new object[] { 130701 }, SAL_SaleOrderForm.BusinessInfo.GetDynamicObjectType(), true, null) .FirstOrDefault(); DynamicObjectCollection orderplan = entityArray[0].DataEntity["SaleOrderPlan"] as DynamicObjectCollection; //orderplan[0]["RecAdvanceRate"] = 59; //orderplan[0]["RecAdvanceAmount"] = 69; } this.SetDefaultExchange(e); this.SetRelativeCodeByMaterialId(e); }
public override void OnAfterFieldMapping(AfterFieldMappingEventArgs e) { }