import {
	getBusinesstypeByCode
} from '@/api/request2.js';

import {
	getDirectoryItemArray,
} from '@/common/directory.js';

export function createItemInfo(balance, pack) {
	let item = {
		itemCode: pack.itemCode,
		itemName: pack.itemName,
		stdPackQty: pack.stdPackQty,
		stdPackUnit: pack.stdPackUnit,
		qty: Number(balance.qty),
		handleQty: 0,
		uom: pack.uom,
		subList: []
	}
	return item;
}
export function createDetailInfo(data, pack) {
	data.scaned = true;
	// data.toInventoryStatus = this.toInventoryStatus == "" ? data.inventoryStatus : this.toInventoryStatus;
	let detail = {};
	Object.assign(detail, data)
	detail.balanceQty = Number(detail.qty)
	detail.stdPackQty = Number(pack.stdPackQty)
	detail.stdPackUnit =pack.stdPackUnit
	detail.package = pack;
	return detail;
}

//计算实际数量
export function calcHandleQty(detailSource) {
	for (let item of detailSource) {
		item.qty = 0;
		for (let detail of item.subList) {
			if (detail != undefined && detail.scaned) {
				item.qty = item.qty + Number(detail.qty)
			}
		}
	}
}

export function getBusinessType(typeCode, callback) {
	let result = {
		success: true,
		businessType: '',
		fromlocationTypeList: '',
		tolocationTypeList: '',
		fromInventoryStatuses:'',
		toInventoryStatuses:'',
		message: ''
	};
	getBusinesstypeByCode(typeCode).then(res => {
		if (res.data.total > 0) {
			result.businessType = res.data.list[0];
			result.fromlocationTypeList = getDirectoryItemArray(res.data.list[0].outLocationTypes)
			result.tolocationTypeList = getDirectoryItemArray(res.data.list[0].inLocationTypes)
			result.fromInventoryStatuses = res.data.list[0].outInventoryStatuses;
			result.toInventoryStatuses = res.data.list[0].inInventoryStatuses;
			callback(result)
		} else {
			result.success = false;
			result.message = '业务类型[' + typeCode + ']获取失败';
			callback(result)
		}
	}).catch(error => {
		result.success = false;
		result.message = error;
		callback(result)
	})
}