import { RhInventoryControlManageService } from './../shared-manage/inventory-control/inventory-control-manage.service'; import { UntypedFormGroup } from '@angular/forms'; import { RhWmsSysConfigService, RhApiUrlsService } from 'rh-base/core'; import { RhDynamicFormFieldDto, RhSelectItem, RhTableButtonInfoDto, RhSafeAny, RhSelectableDto, RhBaseDto, StorageLocationConfigQueryDto, DataResultT, StorageLocationConfigDto } from 'rh-base/model'; import { WarehouseConfigDto, WarehouseConfigQueryDto } from 'rh-base/shared'; import { Observable } from 'rxjs'; import { BusinessOrderDataStatisticsDto, MaterialSumerizeStockQty, MaterialSumerizeStockQtyQueryDto, WarehouseAreaConfigDto, WarehouseAreaConfigQueryDto, WarehouseControlParameterQueryDto, WarehouseMaterialControlParameter, WarehouseShelfConfigDto, WarehouseShelfConfigQueryDto } from './business-manage-model'; import * as i0 from "@angular/core"; /** 库存操作类型 */ type InventoryHandle = 'In' | 'Out' | 'allocate' | 'locationMove'; export declare class RhBusinessManageService { private apiUrls; private wmsSysConfigSer; private inventoryControlSer; constructor(apiUrls: RhApiUrlsService, wmsSysConfigSer: RhWmsSysConfigService, inventoryControlSer: RhInventoryControlManageService); materialCategorys: RhSelectItem[]; materialAttributes: RhSelectItem[]; materialUnits: RhSelectItem[]; expiryUnits: RhSelectItem[]; get IsEnableInPlan(): boolean; get IsEnableOutPlan(): boolean; get getIsEnableAllocateTransferPlan(): boolean; get getIsEnableLocationMovePlan(): boolean; get IsEnableWarehouseArea(): boolean; get IsEnableWarehouseShelf(): boolean; get IsEnableMaterialInInspect(): boolean; get IsEnableProductInInspect(): boolean; get IsEnableExcessInWarehouse(): boolean; get IsEnableNegativeInventory(): boolean; get IsEnableLotNum(): boolean; get IsEnableSN(): boolean; get IsEnableExpirationDate(): boolean; get isEnableWarehouseAreaAndWarehouseShelf(): boolean; get IsEnableStorageLocation(): boolean; get IsStrictCorrelation(): boolean; initOutWarehouseVisibleSetting(para?: WarehouseMaterialControlParameter): { OutWarehouseAreaCode: boolean; OutWarehouseAreaName: boolean; OutWarehouseShelfCode: boolean; OutWarehouseShelfName: boolean; OutStorageLocationCode: boolean; OutStorageLocationName: boolean; }; initExtendedVisibleSetting(): {}; initInWarehouseVisibleSetting(para?: WarehouseMaterialControlParameter): { InWarehouseAreaCode: boolean; InWarehouseAreaName: boolean; InWarehouseShelfCode: boolean; InWarehouseShelfName: boolean; InStorageLocationCode: boolean; InStorageLocationName: boolean; }; /** 是否显示采购入库质检人相关字段 */ getMaterialInspectorVisibleSetting(): { Inspector: boolean; InspectorId: boolean; }; /** 是否显示成品入库质检人相关字段 */ getProductInspectorVisibleSetting(): { Inspector: boolean; InspectorId: boolean; }; /** 动态获取字段显隐藏设置 */ getDynamicVisibleSetting(fields?: string[]): {}; /** 是否显示计划信息相关字段(是否启用了计划) */ getPlanOrderVisibleSetting(type: InventoryHandle): { PlanOrderId: boolean; PlanQty: boolean; SourcePlannedQty: boolean; SourceReversePlanedQty: boolean; PlanTransactedQty: boolean; }; /** 根据锁库情况,控制办理操作 */ controlTransactOperation(enableFun: () => void, buttonList: RhTableButtonInfoDto[], index: number): Promise; /** 根据锁库情况,控制表单提交操作 */ controlSubmitFormOperation(dtos: RhSafeAny[], cb?: () => void): Promise; /** 业务仓库selector赋值对象配置 */ setWarehouseFieldSetting: (setting: RhDynamicFormFieldDto, type: InventoryHandle) => RhDynamicFormFieldDto; /** 根据审核是否通过,设置审核信息必填验证器 */ isPassChange(isPass: boolean, formgroup: UntypedFormGroup): void; initCheckFields(para?: WarehouseMaterialControlParameter): { checkFields: string[]; checkFieldsDisplayName: string[]; }; /** * @description 办理明细数据保存验证 * @param details 明细数据 * @param type 出入库类型 * @param isReturn 是否为退货退料业务,退货退料业务不存在字段SourceTransactedQty源单已办理数量 * @param isHasSource 是否有源单,其他出入库业务无源单 * */ checkStoreDatas(details: RhSelectableDto[], type: InventoryHandle, isReturn?: boolean, isHasSource?: boolean): Promise; /** 处理仓库+物料特殊配置,没有配置值则取全局配置,没有全局配置则设置为false */ transformWarehouseMaterialControlParameter(para: WarehouseMaterialControlParameter): WarehouseMaterialControlParameter; /** 获取仓库+物料特殊配置 */ getWarehouseMaterialControlParameter(queryDto: RhBaseDto): Promise; /** 获取仓库列表 */ getWarehouseDataset(queryDto: RhBaseDto): Promise; /** 获取库区列表 */ getWarehouseAreaDataset(queryDto: RhBaseDto): Promise; /** 获取货架列表 */ getWarehouseShelfDataset(queryDto: RhBaseDto): Promise; /** 获取库位列表 */ getStorageLocationDataset(queryDto: RhBaseDto): Promise; /** 获取库存数据 */ getMaterialSumerizeStockQtyBy(data: RhSelectableDto, para: WarehouseMaterialControlParameter, type: InventoryHandle): void; /** 获取库区显示列表,行编辑应用 */ getWarehouseAreaDatasetDisplay(data: RhSelectableDto, para: WarehouseMaterialControlParameter, warehouseAreaDataset: RhSelectableDto[], type: InventoryHandle): RhSelectableDto[]; /** 获取货架显示列表,行编辑应用 */ getWarehouseShelfDatasetDisplay(data: RhSelectableDto, para: WarehouseMaterialControlParameter, warehouseShelfDataset: RhSelectableDto[], type: InventoryHandle): RhSelectableDto[]; /** 获取库位显示列表,行编辑应用 */ getStorageLocationDatasetDisplay(data: RhSelectableDto, para: WarehouseMaterialControlParameter, storageLocationDataset: RhSelectableDto[], type: InventoryHandle): RhSelectableDto[]; /** 转换源单的统计数据信息至选中数据 */ convertSourceOrderStatisticsDatasToSelectedDatas(sourceOrderId: string, businessType: string, selectedDatas: RhSelectableDto[]): Promise; /** * 获取仓库配置信息 */ GetWarehouseConfigDatas(queryDto: WarehouseConfigQueryDto): Observable>; /** * 获取库位配置信息 */ GetStorageLocationConfigDatas(queryDto: StorageLocationConfigQueryDto): Observable>; /** * 获取库区配置信息 */ GetWarehouseAreaConfigDatas(queryDto: WarehouseAreaConfigQueryDto): Observable>; /** * 获取货架配置信息 */ GetWarehouseShelfConfigDatas(queryDto: WarehouseShelfConfigQueryDto): Observable>; /** * 获取仓库控制配置参数 */ GetWarehouseMaterialControlParameter(queryDto: WarehouseControlParameterQueryDto): Observable>; /** * 获取物料的汇总库存数量信息 */ GetMaterialSumerizeStockQtyBy(queryDto: MaterialSumerizeStockQtyQueryDto): Observable>; /** * 获取源单的统计数据信息 */ GetSourceOrderStatisticsDatasBy(sourceOrderCode: string): Observable>; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } export {};