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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-red-trexmes-commands",
3
- "version": "1.3.0",
3
+ "version": "1.5.0",
4
4
  "description": "A node-red node to execute commands for Trex Mes Systems",
5
5
  "main": "trexcommands.js",
6
6
  "dependencies": {
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 Employee List
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
- return result;
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
- query = sqlGenerateStopCauseListQuery(record);
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);