import.post.mjs
1.83 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
import { e as eventHandler, r as readBody, E as getMockWorkOrders, F as importMockSnItems } from '../../../nitro/nitro.mjs';
import { z } from 'zod';
import 'node:http';
import 'node:https';
import 'node:events';
import 'node:buffer';
import 'node:fs';
import 'node:path';
import 'node:crypto';
import 'node:url';
import '@iconify/utils';
import 'consola';
const payloadSchema = z.object({
workOrderNo: z.string().trim().min(1),
currentStep: z.string().trim().min(1),
snList: z.array(z.string()).min(1),
operator: z.string().trim().min(1)
});
const import_post = eventHandler(async (event) => {
const body = await readBody(event);
const parsed = payloadSchema.safeParse(body);
if (!parsed.success) {
return {
success: false,
errorCode: "VALIDATION_ERROR",
message: "SN \u5BFC\u5165\u53C2\u6570\u4E0D\u6B63\u786E\u3002",
importedCount: 0,
skippedCount: 0,
duplicateSnList: []
};
}
const normalizedOrderNo = parsed.data.workOrderNo.trim();
const workOrder = getMockWorkOrders({ orderNo: normalizedOrderNo }).find((item) => item.orderNo.toLowerCase() === normalizedOrderNo.toLowerCase());
if (!workOrder) {
return buildRejectedResponse("WORK_ORDER_NOT_FOUND", "\u5DE5\u5355\u4E0D\u5B58\u5728\uFF0C\u65E0\u6CD5\u5BFC\u5165 SN\u3002");
}
if (isBeforeDispatch(workOrder)) {
return buildRejectedResponse("WORK_ORDER_NOT_DISPATCHED", "\u5DE5\u5355\u672A\u4E0B\u53D1\uFF0C\u4E0D\u5141\u8BB8\u5BFC\u5165 SN\u3002");
}
return importMockSnItems(parsed.data);
});
function isBeforeDispatch(workOrder) {
return workOrder.status === "draft";
}
function buildRejectedResponse(errorCode, message) {
return {
success: false,
errorCode,
message,
importedCount: 0,
skippedCount: 0,
duplicateSnList: []
};
}
export { import_post as default };
//# sourceMappingURL=import.post.mjs.map