private void PART_Editor_GotFocus(object sender, RoutedEventArgs e) { if (WarehouseCache == null) { return; } var selectedItem = dgProjectJournalLinePageGrid.SelectedItem as ProjectJournalLineLocal; if (selectedItem?._Warehouse != null) { var selected = (InvWarehouse)WarehouseCache.Get(selectedItem._Warehouse); setLocation(selected, selectedItem); } }
/// <summary> /// 快件保存 /// </summary> /// <param name="model"></param> /// <param name="carrier"></param> /// <returns></returns> public Result <WishExpressModel> AddExpress(WishExpressModel model, int carrier) { var result = new Result <WishExpressModel> { HasError = false, Data = model }; var carrierModel = EpcDal.Instance.GetCarrier(carrier.ToString(), model.Express.TrueWeight); if (carrierModel != null) { //替换产品号 model.Express.ProductCode = carrierModel.YanWenProductCode; model.Express.ServiceCode = carrierModel.ServiceCode; model.Express.SupplierCode = carrierModel.SupplierCode; } //保存验证 var varifyResult = VerifySave(new Result <WishExpressModel> { HasError = false, Data = model }); if (varifyResult.HasError) { result.HasError = varifyResult.HasError; result.ErrorMsg = varifyResult.ErrorMsg; return(result); } varifyResult.Data.Express.SupplierWeight = varifyResult.Data.Express.TrueWeight; //note:调取打印分拣码 var sortingCode = ExpressOperate.Instance.GetPrintSortingCode(model.Express); if (sortingCode.HasError) { result.HasError = true; result.ErrorMsg = sortingCode.ErrorMsg; return(result); } #region 验证中外运等产品是否计泡 if (model.ProductVerify.IsGlobalWeight) { var resultGlobal = ExpressOperate.Instance.JudgeGlobal(model.ServiceVerify, model.Express); if (resultGlobal.HasError) { result.HasError = true; result.ErrorMsg = resultGlobal.ErrorMsg; return(result); } model.ProductVerify.IsGlobalWeight = resultGlobal.Data; } #endregion #region 附加重量类 //var resultConvertAdditionalWeight = ExpressOperate.Instance.ConvertAdditionalWeight(model.Express, model.ServiceVerify, model.ProductVerify); //if (resultConvertAdditionalWeight.HasError) //{ // result.HasError = true; // result.ErrorMsg = resultConvertAdditionalWeight.ErrorMsg; // return result; //} //model.ExpressAdditionalWeight = resultConvertAdditionalWeight.Data; #endregion varifyResult.Data.Express.PrintSortingCode = sortingCode.Data; varifyResult.Data.Express.AreaCode = WarehouseCache.GetWarehouse(varifyResult.Data.Express.CompanyCode).AreaCode; result.Data = varifyResult.Data; //保存TMS临时表 SaveTamExpressDal.Instance.InsertExpressReceiverCustom(varifyResult); result.DetailMsg = varifyResult.Data.Express.PrintSortingCode; return(result); }
private void SelectedItem_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e) { var rec = (ProjectJournalLineLocal)sender; switch (e.PropertyName) { case "Item": if (!rec.InsidePropChange) { rec.InsidePropChange = true; SetItem(rec); getCostAndSales(rec); rec.InsidePropChange = false; } break; case "Project": var pro = (Uniconta.DataModel.Project)ProjectCache.Get(rec._Project); if (pro != null) { if (pro._Dim1 != null) { rec.Dimension1 = pro._Dim1; } if (pro._Dim2 != null) { rec.Dimension2 = pro._Dim2; } if (pro._Dim3 != null) { rec.Dimension3 = pro._Dim3; } if (pro._Dim4 != null) { rec.Dimension4 = pro._Dim4; } if (pro._Dim5 != null) { rec.Dimension5 = pro._Dim5; } rec.Invoiceable = pro._InvoiceAble; getCostAndSales(rec); TimePriceLookup?.GetEmployeePrice(rec); setTask(pro, rec); } break; case "PrCategory": getCostAndSales(rec); SetInvoiceable(rec); break; case "Employee": if (rec._Employee != null) { var emp = (Uniconta.DataModel.Employee)EmployeeCache?.Get(rec._Employee); if (emp?._PayrollCategory != null) { rec.PayrollCategory = emp._PayrollCategory; } if (!rec.InsidePropChange) { rec.InsidePropChange = true; TimePriceLookup?.GetEmployeePrice(rec); PayrollCat(rec, true); //rec.InsidePropChange = false; done inside method } } break; case "PayrollCategory": if (rec._Employee != null && rec._PayrollCategory != null) { if (!rec.InsidePropChange) { rec.InsidePropChange = true; TimePriceLookup?.GetEmployeePrice(rec); PayrollCat(rec, true); //rec.InsidePropChange = false; done inside method } } break; case "Warehouse": if (WarehouseCache != null) { var selected = (InvWarehouse)WarehouseCache.Get(rec._Warehouse); setLocation(selected, rec); } break; case "Location": if (string.IsNullOrEmpty(rec._Warehouse)) { rec._Location = null; } break; case "TimeFrom": case "TimeTo": if (rec._TimeTo >= rec._TimeFrom) { rec.Qty = (rec._TimeTo - rec._TimeFrom) / 60d; } else { rec.Qty = ((rec._TimeTo + 24 * 60) - rec._TimeFrom) / 60d; } break; case "Qty": UpdatePrice(rec); double tim; if (rec._TimeTo >= rec._TimeFrom) { tim = (rec._TimeTo - rec._TimeFrom) / 60d; } else { tim = ((rec._TimeTo + 24 * 60) - rec._TimeFrom) / 60d; } if (rec._Qty != tim) { rec._TimeFrom = 0; rec._TimeTo = 0; } break; case "EAN": FindOnEAN(rec); break; case "SerieBatch": if (ItemsCache != null) { if (rec._Item == null || rec._Item == string.Empty) { GetItemFromSerailNumber(rec); } } break; case "Task": if (!rec.InsidePropChange) { rec.InsidePropChange = true; if (rec._Task != null && rec._Project != null) { var proj = (Uniconta.DataModel.Project)ProjectCache.Get(rec._Project); var task = proj.FindTask(rec._Task); if (task != null) { rec.WorkSpace = task._WorkSpace; rec.PayrollCategory = task._PayrollCategory != null ? task._PayrollCategory : rec.PayrollCategory; } } rec.InsidePropChange = false; } break; case "WorkSpace": if (!rec.InsidePropChange) { rec.InsidePropChange = true; if (rec._Task != null && rec._Project != null) { var proj = (Uniconta.DataModel.Project)ProjectCache.Get(rec._Project); var task = proj.FindTask(rec._Task); if (task != null && task._WorkSpace != rec._WorkSpace) { rec.Task = null; } } rec.InsidePropChange = false; } break; } }