node-red-trexmes-commands 1.4.0 → 1.5.1

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/README.md CHANGED
@@ -49,7 +49,7 @@ As an operation return, for example, when the operation is successful for the "L
49
49
 
50
50
  The example can be found in the node-red import examples page.
51
51
 
52
- ![trexMes-CMD Node image1](https://raw.githubusercontent.com/asafyurdakul/node-red-trexmes-commands/master/src/assets/1.jpg)
52
+ ![trexMes-CMD Node image1](https://raw.githubusercontent.com/asafyurdakul/node-red-trexmes-commands/master/assets/1.jpg)
53
53
 
54
54
  # Requirements
55
55
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-red-trexmes-commands",
3
- "version": "1.4.0",
3
+ "version": "1.5.1",
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
@@ -418,7 +418,8 @@
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
420
  { value: '101|Get StopCause List', label: 'Get StopCause List', hasValue: false },
421
- { value: '102|Get PWorkstation List', label: 'Get PWorkstation 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 }
422
423
  ],
423
424
  typeField: $('#node-input-modeOptType'),
424
425
  default: 'Load Job Plan'
@@ -475,6 +476,9 @@
475
476
  else if(operationMode.startsWith('102|')) { //Get PWorkstation List
476
477
  data = '{}';
477
478
  }
479
+ else if(operationMode.startsWith('103|')) { //Get Station Status
480
+ data = '{ "WorkstationId": 10 }';
481
+ }
478
482
  node.editor.setValue(JSON.stringify(JSON.parse(data),null, 2));
479
483
 
480
484
  });
package/trexcommands.js CHANGED
@@ -130,7 +130,12 @@ module.exports = function (RED) {
130
130
  result.command = JSON.stringify({ });
131
131
  result.isOk = true;
132
132
  result.isGetFunc = true;
133
- }
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
+ }
134
139
  return result;
135
140
  }
136
141
 
@@ -295,6 +300,176 @@ module.exports = function (RED) {
295
300
  return query;
296
301
  }
297
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
+
298
473
  function connection(config) {
299
474
  RED.nodes.createNode(this, config);
300
475
  const node = this;
@@ -593,14 +768,15 @@ module.exports = function (RED) {
593
768
 
594
769
  query = sqlGenerateProductionPlanQuery(record);
595
770
  }
596
- else if(record.cmdId == "101")
597
- {
598
- query = sqlGenerateStopCauseListQuery(record);
771
+ else if (record.cmdId == "101") {
772
+ query = sqlGenerateStopCauseListQuery(record);
599
773
  }
600
- else if(record.cmdId == "102")
601
- {
602
- query = sqlGeneratePWorkstationListQuery(record);
774
+ else if (record.cmdId == "102") {
775
+ query = sqlGeneratePWorkstationListQuery(record);
603
776
  }
777
+ else if (record.cmdId == "103") {
778
+ query = sqlGenerateStationStatusQuery(record);
779
+ }
604
780
  }
605
781
  else {
606
782
  query = sqlNgpCommandQueInsert(record);