node-red-trexmes-commands 1.3.0 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/trexcommands.html +8 -3
- package/trexcommands.js +202 -5
package/package.json
CHANGED
package/trexcommands.html
CHANGED
|
@@ -417,7 +417,9 @@
|
|
|
417
417
|
{ value: '15|Finish Test Mode', label: 'Finish Test Mode', hasValue: false },
|
|
418
418
|
{ value: '16|Create Deffect', label: 'Create Deffect', hasValue: false },
|
|
419
419
|
{ value: '100|Get Open Jobs', label: 'Get Open Jobs', hasValue: false },
|
|
420
|
-
{ value: '101|Get StopCause List', label: 'Get StopCause List', hasValue: false }
|
|
420
|
+
{ value: '101|Get StopCause List', label: 'Get StopCause List', hasValue: false },
|
|
421
|
+
{ value: '102|Get PWorkstation List', label: 'Get PWorkstation List', hasValue: false },
|
|
422
|
+
{ value: '103|Get Station Status', label: 'Get Station Status', hasValue: false }
|
|
421
423
|
],
|
|
422
424
|
typeField: $('#node-input-modeOptType'),
|
|
423
425
|
default: 'Load Job Plan'
|
|
@@ -471,9 +473,12 @@
|
|
|
471
473
|
else if(operationMode.startsWith('101|')) { //Get StopCause List
|
|
472
474
|
data = '{ "WorkstationId": 10 }';
|
|
473
475
|
}
|
|
474
|
-
else if(operationMode.startsWith('102|')) { //Get
|
|
476
|
+
else if(operationMode.startsWith('102|')) { //Get PWorkstation List
|
|
477
|
+
data = '{}';
|
|
478
|
+
}
|
|
479
|
+
else if(operationMode.startsWith('103|')) { //Get Station Status
|
|
475
480
|
data = '{ "WorkstationId": 10 }';
|
|
476
|
-
}
|
|
481
|
+
}
|
|
477
482
|
node.editor.setValue(JSON.stringify(JSON.parse(data),null, 2));
|
|
478
483
|
|
|
479
484
|
});
|
package/trexcommands.js
CHANGED
|
@@ -34,8 +34,12 @@ module.exports = function (RED) {
|
|
|
34
34
|
function checkPayload(payload) {
|
|
35
35
|
let result = { "isOk" : false, "isGetFunc": false };
|
|
36
36
|
if(!payload.WorkstationId){
|
|
37
|
-
|
|
37
|
+
if(payload.operationMode != "102" )
|
|
38
|
+
{
|
|
39
|
+
return result;
|
|
40
|
+
}
|
|
38
41
|
}
|
|
42
|
+
|
|
39
43
|
result.wsId = payload.WorkstationId;
|
|
40
44
|
|
|
41
45
|
if(payload.operationMode == "1" ) { // Load Job Plan
|
|
@@ -121,7 +125,17 @@ module.exports = function (RED) {
|
|
|
121
125
|
result.command = JSON.stringify({ "WorkstationId" : payload.WorkstationId });
|
|
122
126
|
result.isOk = true;
|
|
123
127
|
result.isGetFunc = true;
|
|
124
|
-
}
|
|
128
|
+
}
|
|
129
|
+
else if(payload.operationMode == "102" ) { // Get PWorkstation List
|
|
130
|
+
result.command = JSON.stringify({ });
|
|
131
|
+
result.isOk = true;
|
|
132
|
+
result.isGetFunc = true;
|
|
133
|
+
}
|
|
134
|
+
else if(payload.operationMode == "103" ) { // Get Station Status
|
|
135
|
+
result.command = JSON.stringify({ "WorkstationId" : payload.WorkstationId });
|
|
136
|
+
result.isOk = true;
|
|
137
|
+
result.isGetFunc = true;
|
|
138
|
+
}
|
|
125
139
|
return result;
|
|
126
140
|
}
|
|
127
141
|
|
|
@@ -278,6 +292,184 @@ module.exports = function (RED) {
|
|
|
278
292
|
|
|
279
293
|
}
|
|
280
294
|
|
|
295
|
+
function sqlGeneratePWorkstationListQuery(record) {
|
|
296
|
+
let query = `select PWS.PWORKSTATIONID, PWS.PWORKSTATIONNO,
|
|
297
|
+
PWS.PWORKSTATIONNAME from PLINEDET PL inner join PWORKSTATION PWS
|
|
298
|
+
on PL.COMPANYID = PWS.COMPANYID and PL.PWORKSTATIONID = PWS.PWORKSTATIONID
|
|
299
|
+
where PWS.COMPANYID= ${record.companyId} and PWS.STATUS = 2`;
|
|
300
|
+
return query;
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
function sqlGenerateStationStatusQuery(record) {
|
|
304
|
+
let query = `
|
|
305
|
+
SELECT P.COMPANYID
|
|
306
|
+
,P.PWORKSTATIONID
|
|
307
|
+
,P.PEQUIPMENTID
|
|
308
|
+
,P.CPERIODID
|
|
309
|
+
,TE.EMPLOYEEID
|
|
310
|
+
,P.PJOBID
|
|
311
|
+
,P.PJOBORDERID
|
|
312
|
+
,P.QUANTITY
|
|
313
|
+
,P.QUANTITY2
|
|
314
|
+
,P.QUANTITY3
|
|
315
|
+
,P.LASTQTY
|
|
316
|
+
,P.LASTQTY2
|
|
317
|
+
,P.LASTQTY3
|
|
318
|
+
,P.LOADED
|
|
319
|
+
,P.STOPPED
|
|
320
|
+
,P.STOPTYPE
|
|
321
|
+
,P.PSTOPCAUSEID
|
|
322
|
+
,P.STARTTIME
|
|
323
|
+
,P.STOPTIME
|
|
324
|
+
,P.DURATION
|
|
325
|
+
,P.STOPDUR
|
|
326
|
+
,P.WSSTATUS
|
|
327
|
+
,P.STOPDURT
|
|
328
|
+
,P.PLANSTOPTIME
|
|
329
|
+
,P.NOTPLANSTOPTIME
|
|
330
|
+
,P.SPEED
|
|
331
|
+
,P.SPEEDUNIT
|
|
332
|
+
,P.HOURQUNIT
|
|
333
|
+
,P.HOURQUANTITY
|
|
334
|
+
,P.WORKTIME
|
|
335
|
+
,P.SHIFT
|
|
336
|
+
,P.SHIFTID
|
|
337
|
+
,P.EMPCHANGEDATE
|
|
338
|
+
,P.EMPCHANGEQTY
|
|
339
|
+
,P.AVGSPEED
|
|
340
|
+
,P.RANDIMAN
|
|
341
|
+
,P.CLIVERSION
|
|
342
|
+
,P.ACYCLEPERIOD
|
|
343
|
+
,P.INSERTDATE
|
|
344
|
+
,E.EMPLOYEENO AS EMPLOYEENO
|
|
345
|
+
,E.EMPLOYEENAME AS EMPLOYEENAME
|
|
346
|
+
,WS.PWORKSTATIONNO AS PWORKSTATIONNO
|
|
347
|
+
,WS.PWORKSTATIONNAME AS PWORKSTATIONNAME
|
|
348
|
+
,WS.STATUS AS ISISTASYONUDURUM
|
|
349
|
+
,WC.PWORKCENTERID AS PWORKCENTERID
|
|
350
|
+
,WC.PWORKCENTERNO AS PWORKCENTERNO
|
|
351
|
+
,WC.PWORKCENTERNAME AS PWORKCENTERNAME
|
|
352
|
+
,DBO.[GET_JO_RECEIPTNO_FOR_PID](P.COMPANYID, P.CPERIODID, P.PJOBID) RECEIPTNO
|
|
353
|
+
,DBO.[GET_JO_STOCKNO_FOR_PID](P.COMPANYID, P.CPERIODID, P.PJOBID) STOCKNO
|
|
354
|
+
,DBO.[GET_JO_STOCKNAME_FOR_PID](P.COMPANYID, P.CPERIODID, P.PJOBID) STOCKNAME
|
|
355
|
+
,DBO.[GET_JO_QTYPRO_FOR_PID](P.COMPANYID, P.CPERIODID, P.PJOBID) AS ISEMRIURETIMMIKTAR
|
|
356
|
+
,R.STOCKID
|
|
357
|
+
,R.GRADEID AS GRADEID
|
|
358
|
+
,R.GRADENAME AS GRADENAME
|
|
359
|
+
,R.PEQUIPMENTNO AS PEQUIPMENTNO
|
|
360
|
+
,R.PEQUIPMENTNAME AS PEQUIPMENTNAME
|
|
361
|
+
,R.PPROCESSNO AS PPROCESSNO
|
|
362
|
+
,R.PPROCESSNAME AS PPROCESSNAME
|
|
363
|
+
,R.PPROTREEID AS PPROTREEID
|
|
364
|
+
,SC.PSTOPCAUSENO
|
|
365
|
+
,SC.PSTOPCAUSENAME
|
|
366
|
+
,R.QUANTITY AS ISEMRIMIKTAR
|
|
367
|
+
,R.DESCRIPTION AS ISACIKLAMA
|
|
368
|
+
,R.PQUANTITY
|
|
369
|
+
,R.PQUANTITY2
|
|
370
|
+
,R.PQUANTITY3
|
|
371
|
+
,R.SPEED AS PLANSPEED
|
|
372
|
+
,R.CYCLEUNIT AS CYCLEUNIT
|
|
373
|
+
,R.CYCLEPERIOD AS CYCLEPERIOD
|
|
374
|
+
,R.CYCLEOFCOE AS CYCLEOFCOE
|
|
375
|
+
,R.COFSOCKET AS COFSOCKET
|
|
376
|
+
,R.PROCMULT AS PROCMULT
|
|
377
|
+
,PWSO.A AS AVAIBILITY
|
|
378
|
+
,PWSO.P AS PERFORMANS
|
|
379
|
+
,PWSO.Q AS QUALITY
|
|
380
|
+
,PWSO.OEE AS OEE
|
|
381
|
+
,DATEDIFF(MINUTE, P.INSERTDATE, GETDATE()) AS BAGLANTI
|
|
382
|
+
,(
|
|
383
|
+
SELECT SUM(PI.PQUANTITY * ISNULL(PI.CYCLEPERIOD, 0))
|
|
384
|
+
FROM PPRODUCTPLANITEM PI(NOLOCK)
|
|
385
|
+
WHERE PI.COMPANYID = R.COMPANYID
|
|
386
|
+
AND PI.PID = R.PID
|
|
387
|
+
) AS CALISILANZAMAN
|
|
388
|
+
,P.LOSSQTY ISKARTA
|
|
389
|
+
,ISNULL(PL.PLINEID, 0) PLINEID
|
|
390
|
+
,UNIT.UNITID
|
|
391
|
+
,UNIT.UNITNAME
|
|
392
|
+
,UNIT.UNITID2
|
|
393
|
+
,UNIT.UNITNAME2
|
|
394
|
+
,UNIT.UNITID3
|
|
395
|
+
,UNIT.UNITNAME3
|
|
396
|
+
,PSH.NOTWORKING
|
|
397
|
+
,CASE
|
|
398
|
+
WHEN P.PSTOPCAUSEID = - 999
|
|
399
|
+
THEN NULL
|
|
400
|
+
ELSE DATEDIFF(second, P.STOPTIME, getdate())
|
|
401
|
+
END STOPSTARTTIME
|
|
402
|
+
FROM VE_PWSSTATUS AS P(NOLOCK)
|
|
403
|
+
LEFT OUTER JOIN VE_PPRODUCTPLANWS AS R(NOLOCK) ON P.COMPANYID = R.COMPANYID
|
|
404
|
+
AND P.PJOBID = R.PID
|
|
405
|
+
LEFT OUTER JOIN PWORKCENTER AS WC(NOLOCK)
|
|
406
|
+
INNER JOIN PWORKSTATION AS WS(NOLOCK) ON WC.PWORKCENTERID = WS.PWORKCENTERID
|
|
407
|
+
AND WC.COMPANYID = WS.COMPANYID ON P.COMPANYID = WS.COMPANYID
|
|
408
|
+
AND P.PWORKSTATIONID = WS.PWORKSTATIONID
|
|
409
|
+
AND WS.STATUS = 2 LEFT OUTER JOIN PWSSTATUSOTHER PWSO(NOLOCK) ON P.COMPANYID = PWSO.COMPANYID
|
|
410
|
+
AND P.PWORKSTATIONID = PWSO.PWORKSTATIONID LEFT OUTER JOIN PSTOPCAUSE SC(NOLOCK) ON P.COMPANYID = SC.COMPANYID
|
|
411
|
+
AND P.PSTOPCAUSEID = SC.PSTOPCAUSEID LEFT OUTER JOIN TEAMEMPLOYEE AS TE(NOLOCK) ON TE.COMPANYID = P.COMPANYID
|
|
412
|
+
AND TE.TEAMEMPLOYEEID = P.EMPLOYEEID LEFT OUTER JOIN.EMPLOYEE AS E(NOLOCK) ON TE.COMPANYID = E.COMPANYID
|
|
413
|
+
AND TE.EMPLOYEEID = E.EMPLOYEEID LEFT OUTER JOIN PLINEDET PL ON WS.COMPANYID = PL.COMPANYID
|
|
414
|
+
AND WS.PWORKSTATIONID = PL.PWORKSTATIONID LEFT JOIN PSHIFTSCHEDULER PSH WITH (NOLOCK) ON PSH.COMPANYID = P.COMPANYID
|
|
415
|
+
AND PSH.PWORKSTATIONID = P.PWORKSTATIONID
|
|
416
|
+
AND P.INSERTDATE BETWEEN PSH.STARTTIME
|
|
417
|
+
AND PSH.FINISHTIME LEFT JOIN (
|
|
418
|
+
SELECT S.COMPANYID
|
|
419
|
+
,S.STOCKID
|
|
420
|
+
,S.STOCKNAME
|
|
421
|
+
,S.UNITID
|
|
422
|
+
,S.UNITNAME
|
|
423
|
+
,MAX(ISNULL(CASE
|
|
424
|
+
WHEN X.UNITORDERID = 1
|
|
425
|
+
THEN X.UNITID
|
|
426
|
+
END, 0)) UNITID2
|
|
427
|
+
,MAX(ISNULL(CASE
|
|
428
|
+
WHEN X.UNITORDERID = 1
|
|
429
|
+
THEN X.UNITNAME
|
|
430
|
+
END, '')) UNITNAME2
|
|
431
|
+
,MAX(ISNULL(CASE
|
|
432
|
+
WHEN X.UNITORDERID = 2
|
|
433
|
+
THEN X.UNITID
|
|
434
|
+
END, 0)) UNITID3
|
|
435
|
+
,MAX(ISNULL(CASE
|
|
436
|
+
WHEN X.UNITORDERID = 2
|
|
437
|
+
THEN X.UNITNAME
|
|
438
|
+
END, '')) UNITNAME3
|
|
439
|
+
FROM VE_STOCK S
|
|
440
|
+
LEFT OUTER JOIN (
|
|
441
|
+
SELECT A.*
|
|
442
|
+
,B.STOCKID
|
|
443
|
+
,ROW_NUMBER() OVER (
|
|
444
|
+
PARTITION BY A.COMPANYID
|
|
445
|
+
,B.STOCKID ORDER BY A.COMPANYID
|
|
446
|
+
,B.STOCKID
|
|
447
|
+
,B.ITEMNO
|
|
448
|
+
) UNITORDERID
|
|
449
|
+
FROM STOCKUNIT A WITH (NOLOCK)
|
|
450
|
+
INNER JOIN STOCKUNITS B WITH (NOLOCK) ON A.COMPANYID = B.COMPANYID
|
|
451
|
+
AND A.UNITID = B.UNITID
|
|
452
|
+
WHERE A.COMPANYID = ${record.companyId}
|
|
453
|
+
) X ON X.COMPANYID = S.COMPANYID
|
|
454
|
+
AND X.STOCKID = S.STOCKID
|
|
455
|
+
WHERE S.COMPANYID = ${record.companyId}
|
|
456
|
+
GROUP BY S.COMPANYID
|
|
457
|
+
,S.STOCKID
|
|
458
|
+
,S.STOCKNAME
|
|
459
|
+
,S.UNITID
|
|
460
|
+
,S.UNITNAME
|
|
461
|
+
) UNIT ON UNIT.STOCKID = R.STOCKID
|
|
462
|
+
AND UNIT.COMPANYID = R.COMPANYID
|
|
463
|
+
WHERE
|
|
464
|
+
P.COMPANYID = ${record.companyId} and
|
|
465
|
+
p.PWORKSTATIONID = ${record.wsId}
|
|
466
|
+
AND WS.STATUS = 2
|
|
467
|
+
AND ISNULL(WS.NOTVISIBLEFACCON, 0) = 0
|
|
468
|
+
ORDER BY P.PWORKSTATIONNO
|
|
469
|
+
`;
|
|
470
|
+
return query;
|
|
471
|
+
}
|
|
472
|
+
|
|
281
473
|
function connection(config) {
|
|
282
474
|
RED.nodes.createNode(this, config);
|
|
283
475
|
const node = this;
|
|
@@ -576,10 +768,15 @@ module.exports = function (RED) {
|
|
|
576
768
|
|
|
577
769
|
query = sqlGenerateProductionPlanQuery(record);
|
|
578
770
|
}
|
|
579
|
-
else if(record.cmdId == "101")
|
|
580
|
-
|
|
581
|
-
|
|
771
|
+
else if (record.cmdId == "101") {
|
|
772
|
+
query = sqlGenerateStopCauseListQuery(record);
|
|
773
|
+
}
|
|
774
|
+
else if (record.cmdId == "102") {
|
|
775
|
+
query = sqlGeneratePWorkstationListQuery(record);
|
|
582
776
|
}
|
|
777
|
+
else if (record.cmdId == "103") {
|
|
778
|
+
query = sqlGenerateStationStatusQuery(record);
|
|
779
|
+
}
|
|
583
780
|
}
|
|
584
781
|
else {
|
|
585
782
|
query = sqlNgpCommandQueInsert(record);
|