import type { IComminList } from '../../common.type';

export interface DrugTemplate {
	clientCode: string;
	code: string;
	createTime: string;
	createUser: number | null;
	deletedTime: string | null;
	id: number;
	isDeleted: number;
	patientDrugOrderList: any;
  patientDrugOrders: OrderDetail[];
	remark: string;
	tpName: string;
	tpSort: number;
	tpUseType: number;
	tpVsFsiGroupCode: string;
	updateTime: string;
	updateUser: number | null;
}

export interface OrderDetail {
	code: string;
	createTime: string;
	createUser: number | null;
	deletedTime: string | null;
	hisOrderCode: string;
	hisOrderDeposit: number | null;
	id: number;
	isDeleted: number;
	orderCount: number;
	orderDoctor: string;
	orderDoctorInfo: UserInfo;
	orderFreq: string;
	orderFreqInfo: DictInfo;
	orderFrom: string;
	orderFromInfo: DictInfo;
	orderIsSub: number;
	orderMainCode: string;
	orderName: string;
	orderNameInfo: InventoryItem;
	orderSort: number;
	orderType: number;
	orderUsage: number;
	pvpId: string | null;
	remark: string;
	subDrugOrders: any | null;
	updateTime: string;
	updateUser: number | null;
}

export interface UserInfo {
	admin: boolean;
	canDeleteHistoryHms: boolean;
	canModifyHistoryHms: boolean;
	checkVersionCode: string;
	clientCode: string;
	clientInfos: any;
	clientVsUserList: any;
	code: string;
	createTime: string;
	createUser: number | null;
	currentClientInfo: any;
	deletedTime: string | null;
	doctor: boolean;
	hisCode: string;
	id: number;
	isDeleted: number;
	isRecvAlarm: number | null;
	isRecvAlarmEmail: number;
	isRecvAlarmWechat: number;
	isShow: number;
	isValid: number;
	isValidForClient: number;
	listReadyRows: string;
	listStatInfo: string;
	loginWechatMpId: string;
	loginWechatUnionId: string;
	nurse: boolean;
	prepareWorkMedicine: string;
	prepareWorkMedicineStat: string;
	relatedClients: string;
	remark: string;
	roles: any;
	selectFieldsInShangjiCanshuPage: string;
	selectFieldsInTodayOrderPage: string;
	selectedFieldsInCleanStatPage: string;
	selectedFieldsInInventory2OutPage: string;
	selectedFieldsInInventory2QueryPage: string;
	selectedFieldsInMedStat2: string;
	signedInCountByDa: string;
	signedInCountByStatistics: string;
	teamState: any;
	updateTime: string;
	updateUser: number;
	userAdmin: boolean;
	userAvatar: string;
	userCustomSetting: string;
	userDegree: string;
	userEmail: string;
	userFromDepartment: string;
	userGender: number;
	userGoDate: string | null;
	userGoDepartment: string;
	userGraduateTime: string | null;
	userIdentityCode: string;
	userInDate: string | null;
	userIsTongluDoctor: number;
	userMobile: string;
	userName: string;
	userNo: string;
	userPassword: string;
	userPinyin: string;
	userRfid: string;
	userSignPicUrl: string;
	userSortOrder: number;
	userTitle: string;
	userVsRoleList: any;
	userWorkState: string;
	userWorkTimeFrom: string | null;

	排班时段选择项: string;
	是否自动出库至二级默认仓库: string;
	管理员能看到的客户列表: any;
	隐藏自备药: string;
}

export interface DictInfo {
	code: string;
	createTime: string | null;
	createUser: number | null;
	deletedTime: string | null;
	dictIsCustom: number;
	dictIsEnable: number | null;
	dictNo: string;
	dictText: string;
	dictType: string;
	hisCode: string;
	id: number;
	isDeleted: number | null;
	remark: string;
	sortOrder: number;
	updateTime: string | null;
	updateUser: number | null;
}

export interface InventoryItem {
	clientCode: string;
	code: string;
	createTime: string;
	createUser: number;
	deletedTime: string | null;
	feeDrugInfo: DrugInfo;
	hisCode: string;
	id: number;
	inStorageCountInfo: any;
	inventoryItemType: number;
	inventoryItemTypeInfo: InventoryTypeInfo;
	inventoryTypeCode: string;
	inventoryTypeName: string;
	isDeleted: number;
	isShow: number;
	itemAgent: string;
	itemAgentInfo: any;
	itemCode: string;
	itemCommonUseInBothSide: any;
	itemExtendJson: string;
	itemFactory: string;
	itemFactoryInfo: any;
	itemHisType: string;
	itemInPrice: number;
	itemInventoryAlarmCount: number;
	itemIsEnableManage: number;
	itemIsFavor: number;
	itemIsOutToPatient: number;
	itemIsReUse: number;
	itemIsRestrictUse: number;
	itemIsUse: number;
	itemIsUseAsXt: number;
	itemLicenseCode: string;
	itemMoArea: number;
	itemMoMaterial: string;
	itemName: string;
	itemName2: string;
	itemOperator: string;
	itemOperatorInfo: any;
	itemOutPrice: number;
	itemPackageCount: number | null;
	itemPackageUnit: string;
	itemPackageUnitName: string;
	itemPeriodAlarmDays: number;
	itemPermissionCode: string;
	itemPinyin: string;
	itemRestrictUseRemark: string;
	itemSalePrice: number;
	itemSortOrder: number;
	itemSpec: string;
	itemTxqCleanRate: any;
	itemUnit: string;
	itemUnitInfo: any;
	itemYibaoCode: string;
	itemYibaoPrice: number | null;
	remark: string;
	storageCode: string;
	suntopItemCode: string;
	updateTime: string;
	updateUser: number;

	入库总量: number | null;
	剩余总量: number | null;
	当前使用量: number | null;
	批号对象列表: any;
	结存: number | null;
	透析器国网上报: any;
}

export interface DrugInfo {
	code: string;
	createTime: string;
	createUser: number | null;
	deletedTime: string | null;
	drugAntibioticLevel: any;
	drugBarcode: string;
	drugBaseType: any;
	drugBenweiCode: string;
	drugCategory: number;
	drugCode: string;
	drugGansuUseLimit: number;
	drugHisCode: string;
	drugInHospitalUseType: any;
	drugInventoryAlertDays: any;
	drugInventoryAlertValidDays: any;
	drugInventoryPackageCount: any;
	drugInventoryPackageType: string;
	drugInventoryPackageTypeName: string;
	drugIsFavor: number;
	drugIsNeedTest: any;
	drugJixing: string;
	drugJixingName: string;
	drugLimitUseText: string;
	drugLimitUseType: number;
	drugMonitorCode: string;
	drugName: string;
	drugName2: string;
	drugPackageSum: any;
	drugPackageType: number;
	drugPackageUnit: string;
	drugPackageUnitAlias: string;
	drugPackageUnitAliasName: string;
	drugPackageUnitName: string;
	drugPermissionCode: string;
	drugPinyin: string;
	drugPlusPercent: any;
	drugPriceCategory: any;
	drugPriceIn: number | null;
	drugPriceSale: number;
	drugPriceYibao: any;
	drugProduceFactory: string;
	drugProduceFactoryName: string;
	drugProduceLocation: string;
	drugProperty: string;
	drugSortOrder: number;
	drugSpec: string;
	drugSpecialProperty: any;
	drugStatus: number;
	drugSyncPrice: number;
	drugTransfer1: any;
	drugTransfer2: any;
	drugUnit: string;
	drugUnitName: string;
	drugUseMethod: string;
	drugUseMethodName: string;
	drugUseOnetime: string;
	drugUsePeriod: string;
	drugUsePeriodName: string;
	drugUseType: string;
	drugUseTypeName: string;
	drugUseUnit: string;
	drugUseUnitName: string;
	drugVsDiagnose: string;
	drugVsDiagnoseName: string;
	drugYibaoCode: string;
	drugYlCode: string;
	id: number;
	inventoryItemDetailCode: string;
	isDeleted: number;
	remark: string;
	updateTime: string;
	updateUser: number | null;
}

export interface InventoryTypeInfo {
	clientCode: string;
	code: string;
	createTime: string;
	createUser: number | null;
	deletedTime: string | null;
	id: number;
	isDeleted: number;
	isEditable: number;
	isShow: boolean;
	remark: string;
	sortOrder: number;
	typeCategory: number;
	typeName: string;
	updateTime: string;
	updateUser: number | null;
}


export interface DrugOrderTemplate extends Omit<IComminList, 'list'> {
  list: DrugTemplate[];
}