first commit
SAP-ERP Portal CI/CD / build (push) Failing after 5m20s

This commit is contained in:
John
2026-09-23 17:31:02 +05:30
commit 69b4e68baf
51657 changed files with 3864077 additions and 0 deletions
+45
View File
@@ -0,0 +1,45 @@
'use strict';
// routes/itemGroupClassification.js — admin-configurable Item Group → Work
// Order table (Raw Material / Packing Material / Component) mapping.
const express = require('express');
const router = express.Router();
const { verifyToken, verifyUserAdmin } = require('../middleware/auth');
const { getPool } = require('../services/sqlPool');
const store = () => require('../services/itemGroupClassStore');
async function fetchItemGroups() {
const pool = await getPool();
const result = await pool.request().query(`SELECT "ItmsGrpCod","ItmsGrpNam" FROM [dbo]."OITB" ORDER BY "ItmsGrpNam"`);
return result.recordset || [];
}
// List every real SAP item group, merged with its saved classification (if any)
router.get('/', verifyToken, async (req, res) => {
try {
const [groups, saved] = await Promise.all([fetchItemGroups(), store().getAll()]);
const data = groups.map(g => ({
code: g.ItmsGrpCod,
name: g.ItmsGrpNam || String(g.ItmsGrpCod),
classification: saved[g.ItmsGrpCod] || '',
}));
res.json({ success: true, data });
} catch (err) { res.status(500).json({ success: false, message: err.message }); }
});
// Save one group's classification — admin only
router.put('/:code', verifyToken, verifyUserAdmin, async (req, res) => {
try {
const code = parseInt(req.params.code, 10);
if (isNaN(code)) return res.status(400).json({ success: false, message: 'Invalid item group code' });
const { name, classification } = req.body || {};
const tokens = String(classification || '').split(',').map(s => s.trim().toUpperCase()).filter(Boolean);
const validTokens = [...store().VALID_TOKENS];
if (tokens.some(t => !validTokens.includes(t)))
return res.status(400).json({ success: false, message: `classification tokens must be ${validTokens.join(', ')}` });
await store().setClassification(code, name || '', classification || '', req.user.username);
res.json({ success: true });
} catch (err) { res.status(500).json({ success: false, message: err.message }); }
});
module.exports = router;