iloom-flatten/.microcompact/mpo3ttmc/functions.Edit:39.txt

52 lines
1.9 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

The file /home/project/src/components/warehouse/ProductForm.tsx has been updated. Made 1 replacement.
Here's the result of running `cat -n` on a snippet of the edited file:
246→ return `${prefix}1`;
247→ }
248→ };
249→
250→ // 从数据库查询已存在的最大色号数字,生成下一个
251→ const generateNextColorCode = async (
252→ companyId: string,
253→ productName: string,
254→ totalWeight: number | null,
255→ color: string
256→ ): Promise<string> => {
257→ try {
258→ // 查询该产品名称-克重-颜色组合下的所有色号
259→ const { data, error } = await supabase
260→ .from('products')
261→ .select('color_code')
262→ .eq('company_id', companyId)
263→ .eq('product_name', productName)
264→ .eq('total_weight', totalWeight || 0)
265→ .eq('color', color);
266→
267→ if (error || !data || data.length === 0) {
268→ // 如果没有匹配的产品从01开始
269→ return '01';
270→ }
271→
272→ // 提取所有色号中的数字,找出最大值
273→ let maxNum = 0;
274→ data.forEach(item => {
275→ const code = item.color_code;
276→ const num = parseInt(code, 10);
277→ if (!isNaN(num) && num > maxNum) {
278→ maxNum = num;
279→ }
280→ });
281→
282→ // 返回最大数字 + 1保持两位数格式
283→ const nextNum = maxNum + 1;
284→ return nextNum < 10 ? `0${nextNum}` : String(nextNum);
285→ } catch (err) {
286→ console.error('生成色号失败:', err);
287→ return '01';
288→ }
289→ };
290→
291→ // 选择产品建议
292→ const selectProductSuggestion = async (suggestion: ProductSuggestion) => {
293→ // 获取该产品的纱线配比
294→ const ratios = productRatios[suggestion.id] || [];