feat(eom): all endpoints created for the eom template to run in all plants
This commit is contained in:
104
lstV2/server/services/sqlServer/gpSqlServer.ts
Normal file
104
lstV2/server/services/sqlServer/gpSqlServer.ts
Normal file
@@ -0,0 +1,104 @@
|
||||
import sql from "mssql";
|
||||
import { tryCatch } from "../../globalUtils/tryCatch.js";
|
||||
import { db } from "../../../database/dbclient.js";
|
||||
import { settings } from "../../../database/schema/settings.js";
|
||||
import { eq } from "drizzle-orm";
|
||||
import { format } from "date-fns-tz";
|
||||
|
||||
const username = "gpviewer";
|
||||
const password = "gp$$ViewOnly!";
|
||||
|
||||
const sqlGPConfig = {
|
||||
server: "USMCD1VMS011",
|
||||
database: `ALPLA`,
|
||||
user: username,
|
||||
password: password,
|
||||
options: {
|
||||
encrypt: true,
|
||||
trustServerCertificate: true,
|
||||
},
|
||||
requestTimeout: 90000,
|
||||
};
|
||||
|
||||
type GPCheck = {
|
||||
startDate: string;
|
||||
endDate: string;
|
||||
gpCode: string;
|
||||
};
|
||||
export const runGPQuery = async (gpCheck: GPCheck) => {
|
||||
let pool2: sql.ConnectionPool | null = null;
|
||||
|
||||
try {
|
||||
// Create a brand-new pool, not touching the "global" one
|
||||
pool2 = new sql.ConnectionPool(sqlGPConfig);
|
||||
await pool2.connect();
|
||||
|
||||
const query = `
|
||||
select * from (
|
||||
select
|
||||
case when x.POPRCTNM is null then p.POPRCTNM else p.POPRCTNM end as RCT_Num,
|
||||
PONUMBER PO,
|
||||
p.VENDORID Supplier,
|
||||
ITEMNMBR Item,
|
||||
QTYSHPPD shipped,
|
||||
UOFM Type,
|
||||
TRXLOCTN Location,
|
||||
case when CONVERT(DATE, x.receiptdate) is null then convert(date, p.DATERECD) else CONVERT(DATE, x.receiptdate) end as Date_Recived
|
||||
from ALPLA.dbo.pop10500 (nolock) as p
|
||||
left join
|
||||
ALPLA.dbo.POP10300 as x on p.POPRCTNM = x.POPRCTNM
|
||||
WHERE TRXLOCTN LIKE '[gpCode]%' and p.POPTYPE = 1) a
|
||||
where Date_Recived BETWEEN '[startDate]' AND '[endDate]'
|
||||
`;
|
||||
|
||||
const { data: s, error: se } = (await tryCatch(
|
||||
db.select().from(settings).where(eq(settings.name, "plantToken"))
|
||||
)) as any;
|
||||
|
||||
if (se) {
|
||||
console.log("Error getting articles");
|
||||
return se;
|
||||
}
|
||||
|
||||
const result = await pool2
|
||||
.request()
|
||||
|
||||
.query(
|
||||
query
|
||||
.replace("[startDate]", gpCheck.startDate)
|
||||
.replace("[endDate]", gpCheck.endDate)
|
||||
.replace("[gpCode]", gpCheck.gpCode)
|
||||
);
|
||||
|
||||
return {
|
||||
success: true,
|
||||
message: "GP data",
|
||||
data: result.recordset.map((n: any) => {
|
||||
return {
|
||||
plantToken: s[0].value,
|
||||
...n,
|
||||
RCT_Num: n.RCT_Num.trim(),
|
||||
PO: n.PO.trim(),
|
||||
Supplier: n.Supplier.trim(),
|
||||
Item: n.Item.trim(),
|
||||
article:
|
||||
n.Item.split("-").length > 1
|
||||
? n.Item.split("-")[1].trim()
|
||||
: "No article",
|
||||
Type: n.Type.trim(),
|
||||
Location: n.Location.trim(),
|
||||
Date_Recived: format(n.Date_Recived, "M/d/yyyy"),
|
||||
};
|
||||
}),
|
||||
};
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
return {
|
||||
success: false,
|
||||
message: "Error Getting GP data",
|
||||
data: error,
|
||||
};
|
||||
} finally {
|
||||
if (pool2) await pool2.close(); // Always close the pool
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,7 @@
|
||||
export const consumptionCheck = `
|
||||
SELECT IdArtikelvarianten AS AV,
|
||||
Menge AS Quantity,
|
||||
CONVERT(DATE, BuchDatum) AS Prod_Date
|
||||
FROM alplaprod_test1.dbo.T_LBW (nolock)
|
||||
WHERE BuchDatum BETWEEN '[startDate]' AND '[endDate]' ORDER BY BuchDatum DESC
|
||||
`;
|
||||
42
lstV2/server/services/sqlServer/querys/eom/purchased.ts
Normal file
42
lstV2/server/services/sqlServer/querys/eom/purchased.ts
Normal file
@@ -0,0 +1,42 @@
|
||||
export const purchased = `
|
||||
use AlplaPROD_test1
|
||||
|
||||
declare @start_date nvarchar(30) = '[startDate] '
|
||||
declare @end_date nvarchar(30) = '[endDate] '
|
||||
|
||||
select T_Wareneingaenge.IdBestellung AS Purchase_order,
|
||||
T_Adressen.IdAdressen,
|
||||
T_Adressen.Bezeichnung,
|
||||
T_Wareneingaenge.IdArtikelVarianten AS AV,
|
||||
V_Artikel.Alias,
|
||||
x.Bemerkung AS Remark,
|
||||
T_Wareneingaenge.Bemerkung AS Purchase_Remark,
|
||||
x.Add_User,
|
||||
CONVERT(DATE, x.Add_Date) AS Received_Date,
|
||||
x.IdWareneingangPlanung,
|
||||
T_Wareneingaenge.SollMenge As Ordered_QTY,
|
||||
x.EntladeMenge As Received_QTY,
|
||||
case when T_Adressen.Bezeichnung LIKE '%Alpla%' Then 'AlplaPlant' Else 'Supplier' End AS
|
||||
Supplier,
|
||||
x.Typ as incoming_goods_type
|
||||
from dbo.T_WareneingangPlanungen (nolock) as x
|
||||
|
||||
join
|
||||
|
||||
dbo.T_Wareneingaenge (nolock) on
|
||||
x.IdWareneingang=
|
||||
dbo.T_Wareneingaenge.IdWareneingang
|
||||
join
|
||||
dbo.V_Artikel (nolock) on
|
||||
dbo.T_Wareneingaenge.IdArtikelVarianten=
|
||||
dbo.V_Artikel.IdArtikelvarianten
|
||||
|
||||
join
|
||||
dbo.T_Adressen (nolock) on dbo.T_Wareneingaenge.IdLieferantAdresse =
|
||||
dbo.T_Adressen.IdAdressen
|
||||
|
||||
where x.add_date between @start_date + (select top(1) CONVERT(char(8), StartDate, 108) as startTime from [test1_AlplaPROD2.0_Read].masterData.ShiftDefinition (nolock) where TeamNumber = 1)
|
||||
AND @end_date + (select top(1) CONVERT(char(8), StartDate, 108) as startTime from [test1_AlplaPROD2.0_Read].masterData.ShiftDefinition (nolock) where TeamNumber = 1)
|
||||
|
||||
order by x.add_date desc
|
||||
`;
|
||||
15
lstV2/server/services/sqlServer/querys/eom/regrind.ts
Normal file
15
lstV2/server/services/sqlServer/querys/eom/regrind.ts
Normal file
@@ -0,0 +1,15 @@
|
||||
export const regrindCheck = `
|
||||
select IdArtikelVarianten,
|
||||
ArtikelVariantenAlias,
|
||||
IdRezeptur,
|
||||
Menge,
|
||||
IdBuchungsGrund,
|
||||
Buchungsdatum,
|
||||
ProduktionsLos,
|
||||
IdReinheit,
|
||||
ReinheitBez, HerkunftBez
|
||||
from alplaprod_test1.[dbo].[V_AbfallLagerBuchungen] (nolock)
|
||||
where Buchungsdatum between '[startDate] ' + (select top(1) CONVERT(char(8), StartDate, 108) as startTime from [test1_AlplaPROD2.0_Read].masterData.ShiftDefinition (nolock) where TeamNumber = 1)
|
||||
and '[endDate] ' + (select top(1) CONVERT(char(8), StartDate, 108) as startTime from [test1_AlplaPROD2.0_Read].masterData.ShiftDefinition (nolock) where TeamNumber = 1)
|
||||
and IdBuchungsGrund in (140, 240) and BuchungsTyp = 1
|
||||
`;
|
||||
17
lstV2/server/services/sqlServer/querys/eom/soldOut.ts
Normal file
17
lstV2/server/services/sqlServer/querys/eom/soldOut.ts
Normal file
@@ -0,0 +1,17 @@
|
||||
export const soldOutItems = `
|
||||
|
||||
select IdArtikelVarianten AS AV,
|
||||
ArtikelVariantenAlias AS AVDescription,
|
||||
convert(date,AbrufLadeDatum,23) As DeliveryDate,
|
||||
idlieferadresse AS DeliveryAddress,
|
||||
LieferAdressBez,
|
||||
AuftragsNummer AS PO_Number,
|
||||
IdAuftragsPosition AS LineITEM,
|
||||
IdAuftragsAbruf AS ReleaseNumber,
|
||||
AbrufMengeVPK AS PalletsRequested,
|
||||
AbrufMenge AS PiecesRequested,
|
||||
GelieferteMengeVPK AS DeliveredPallets,
|
||||
GelieferteMenge AS DeliveredQTY,
|
||||
case when LieferAdressBez Like '%alpla%' Then 'AlplaPlant' ELSE 'Customer' End as CustomerType
|
||||
from alplaprod_test1.dbo.V_TrackerAuftragsAbrufe (nolock)
|
||||
where AbrufLadeDatum between '[startDate]' and '[endDate]'`;
|
||||
Reference in New Issue
Block a user