|
|
import express from "express"; import { delay } from "../utils/helper"; const router = express.Router();
import points from "../utils/measure.json"; import { MeasureState } from "../types/wsTypes"; import { WsProxy } from "../utils/wss"; let ptIndex = 0; let intervalId1: ReturnType<typeof setInterval>; let intervalId2: ReturnType<typeof setInterval>;
router.post("/cache-measurement", async (req, res) => { await delay(100); // setTimeout(() => {
// wsSend(req.app.locals["wss"], {
// type: "cmd",
// data: {
// commandId: req.body.commandId,
// status: "D0000",
// },
// });
// }, 2000);
// const measure: MeasureState["data"] = req.app.locals["measure"];
// measure.taskStatus = "IDLE";
// wsSend(req.app.locals["wss"], {
// messageType: "STATE",
// data: req.app.locals["measure"],
// path: "/measurement-task/get-task-state",
// });
res.json({ status: 0 }); });
router.post("/start-measurement", (req, res) => { setTimeout(() => { ptIndex = 0; WsProxy.send({ messageType: "EVENT", data: "START_RECORD_LEFT", path: "/api/measurement-task/event", }) }); intervalId1 = setInterval(() => { if (ptIndex >= points.length / 2) { clearInterval(intervalId1); WsProxy.send({ messageType: "EVENT", data: "FINISH_RECORD_LEFT", path: "/api/measurement-task/event", }); setTimeout(() => { WsProxy.send({ messageType: "EVENT", data: "START_RECORD_RIGHT", path: "/api/measurement-task/event", }); intervalId2 = setInterval(() => { if (ptIndex >= points.length) { clearInterval(intervalId2); ptIndex = 0; WsProxy.send({ messageType: "EVENT", data: "FINISH_RECORD_RIGHT", path: "/api/measurement-task/event", }); return; } WsProxy.send({ messageType: "STATE", data: { x: points[ptIndex].x, y: points[ptIndex].y + 1, }, path: "/api/measurement-task/point-report", }); ptIndex = ptIndex + 2; }, 10); }, 2000); return; } WsProxy.send({ messageType: "STATE", data: { x: points[ptIndex].x, y: points[ptIndex].y + 1, }, path: "/api/measurement-task/point-report", }); ptIndex = ptIndex + 2; }, 10);
res.json({ status: 0 }); }); router.post("/stop-measurement", async (req, res) => { ptIndex = 0; clearInterval(intervalId1); clearInterval(intervalId2);
res.json({ status: 0 }); }); router.post("/save-analysis-report/6001", async (req, res) => { await delay(100); res.json({ status: 0, data: { railHeadWidth: 0, w1: 0, angleAnalysisList: [ { base: { x: "-31.20880", y: "5.46060", }, measure: { x: "-18.33515", y: "18.33426", }, pointA: { x: "-32.62301", y: "4.04639", }, pointB: { x: "-29.79458", y: "6.87482", }, distance: "18.206", describe: "-45.0°", }, { base: { x: "-28.51641", y: "3.39466", }, measure: { x: "-22.92048", y: "13.08709", }, pointA: { x: "-29.51641", y: "1.66261", }, pointB: { x: "-27.51641", y: "5.12671", }, distance: "11.192", describe: "-30.0°", }, { base: { x: "-25.38106", y: "2.09596", }, measure: { x: "-24.26901", y: "6.24616", }, pointA: { x: "-25.89870", y: "0.16410", }, pointB: { x: "-24.86342", y: "4.02781", }, distance: "4.297", describe: "-15.0°", }, { base: { x: "-21.01959", y: "1.19347", }, measure: { x: "-20.63937", y: "3.34981", }, pointA: { x: "-21.36689", y: "-0.77615", }, pointB: { x: "-20.67230", y: "3.16308", }, distance: "2.190", describe: "-10.0°", }, { base: { x: "-14.10020", y: "0.28251", }, measure: { x: "-14.04551", y: "0.90758", }, pointA: { x: "-14.27451", y: "-1.70988", }, pointB: { x: "-13.92589", y: "2.27490", }, distance: "0.627", describe: "-5.0°", }, { base: { x: "0.00000", y: "0.00000", }, measure: { x: "0.00000", y: "0.00000", }, pointA: { x: "0.03000", y: "-1.99977", }, pointB: { x: "-0.03000", y: "1.99977", }, distance: "0.000", describe: "0.0°", }, { base: { x: "9.91970", y: "0.02682", }, measure: { x: "9.91964", y: "0.02864", }, pointA: { x: "9.98950", y: "-1.97196", }, pointB: { x: "9.84990", y: "2.02560", }, distance: "0.002", describe: "2.0°", }, { base: { x: "14.10020", y: "0.28251", }, measure: { x: "14.05095", y: "0.84548", }, pointA: { x: "14.27451", y: "-1.70988", }, pointB: { x: "13.92589", y: "2.27490", }, distance: "0.565", describe: "5.0°", }, { base: { x: "21.01959", y: "1.19347", }, measure: { x: "20.66094", y: "3.22749", }, pointA: { x: "21.36689", y: "-0.77615", }, pointB: { x: "20.67230", y: "3.16308", }, distance: "2.065", describe: "10.0°", }, { base: { x: "25.38106", y: "2.09596", }, measure: { x: "24.31693", y: "6.06734", }, pointA: { x: "25.89870", y: "0.16410", }, pointB: { x: "24.86342", y: "4.02781", }, distance: "4.111", describe: "15.0°", }, { base: { x: "28.51641", y: "3.39466", }, measure: { x: "23.09930", y: "12.77737", }, pointA: { x: "29.51641", y: "1.66261", }, pointB: { x: "27.51641", y: "5.12671", }, distance: "10.834", describe: "30.0°", }, { base: { x: "31.20880", y: "5.46060", }, measure: { x: "18.68979", y: "17.97962", }, pointA: { x: "32.62301", y: "4.04639", }, pointB: { x: "29.79458", y: "6.87482", }, distance: "17.705", describe: "45.0°", }, ], }, timestamp: 1741697350184, }); });
router.post("/save-report", async (req, res) => { await delay(100); res.json({ status: 0 }); }); export default router;
|