[Antrian] - Update Antrian #12

Open
opened 2023-08-15 14:53:43 +07:00 by sindhu · 3 comments
Owner

Database

database antrione
List tabel

  • counter

  • counter_service

  • location

  • numbering

  • queue (Terdapat trigger)
    triger After insert

    BEGIN
    INSERT INTO one_log.log_antrian(
    	Log_AntrianCode,
    	Log_AntrianDate,
    	Log_AntrianJson,
    	Log_AntrianUserID
    )
    VALUES(
    	'FO.ANTRIAN.PRINT',
    	NOW(),
    	JSON_OBJECT(	
    	'id',NEW.queueID,
    	'number',NEW.queueNumber,
    	'statusid',NEW.queueStatusID,
    	'logid',NEW.queueQueueLogID,
    	'counterid',NEW.queueCounterID,
    	'serviceid',NEW.queueServiceID,
    	'created',NEW.queueCreated,
    	'lastupdated',NEW.queueLastUpdated),
    	1
    );
       insert into queue_status (queueStatusQueueID,
               queueStatusTicket)
       values ( NEW.queueID, NEW.queueCreated );
    END
    

    Triger After update

            BEGIN
        IF NEW.queueStatusID = 2 THEN
            INSERT INTO one_log.log_antrian(
                Log_AntrianCode,
                Log_AntrianDate,
                Log_AntrianJson,
                Log_AntrianUserID
            )
            VALUES(
                'FO.ANTRIAN.CALL',
                NOW(),
                JSON_OBJECT(	
                'id',NEW.queueID,
                'number',NEW.queueNumber,
                'statusid',NEW.queueStatusID,
                'logid',NEW.queueQueueLogID,
                'counterid',NEW.queueCounterID,
                'serviceid',NEW.queueServiceID,
                'created',NEW.queueCreated,
                'lastupdated',NEW.queueLastUpdated),
                1
            );
                update queue_status 
                set queueStatusFirstCall =  now() 
                where queueStatusQueueID = NEW.queueID
                and queueStatusFirstCall is null;
                update queue_status 
                set queueStatusLastCall =  now() 
                where queueStatusQueueID = NEW.queueID ;
        END IF;
    
        IF NEW.queueStatusID = 3 THEN
            INSERT INTO one_log.log_antrian(
                Log_AntrianCode,
                Log_AntrianDate,
                Log_AntrianJson,
                Log_AntrianUserID
            )
            VALUES(
                'FO.ANTRIAN.SERVED',
                NOW(),
                JSON_OBJECT(	
                'id',NEW.queueID,
                'number',NEW.queueNumber,
                'statusid',NEW.queueStatusID,
                'logid',NEW.queueQueueLogID,
                'counterid',NEW.queueCounterID,
                'serviceid',NEW.queueServiceID,
                'created',NEW.queueCreated,
                'lastupdated',NEW.queueLastUpdated),
                1
            );
                update queue_status 
                set queueStatusServe =  now() 
                where queueStatusQueueID = NEW.queueID;
        END IF;
    
        IF NEW.queueStatusID = 4 THEN
            INSERT INTO one_log.log_antrian(
                Log_AntrianCode,
                Log_AntrianDate,
                Log_AntrianJson,
                Log_AntrianUserID
            )
            VALUES(
                'FO.ANTRIAN.DONE',
                NOW(),
                JSON_OBJECT(	
                'id',NEW.queueID,
                'number',NEW.queueNumber,
                'statusid',NEW.queueStatusID,
                'logid',NEW.queueQueueLogID,
                'counterid',NEW.queueCounterID,
                'serviceid',NEW.queueServiceID,
                'created',NEW.queueCreated,
                'lastupdated',NEW.queueLastUpdated),
                1
            );
               update queue_status 
                set queueStatusDone =  now() 
                where queueStatusQueueID = NEW.queueID;
        END IF;
        IF NEW.queueStatusID = 5 THEN
            INSERT INTO one_log.log_antrian(
                Log_AntrianCode,
                Log_AntrianDate,
                Log_AntrianJson,
                Log_AntrianUserID
            )
            VALUES(
                'FO.ANTRIAN.RECALL',
                NOW(),
                JSON_OBJECT(	
                'id',NEW.queueID,
                'number',NEW.queueNumber,
                'statusid',NEW.queueStatusID,
                'logid',NEW.queueQueueLogID,
                'counterid',NEW.queueCounterID,
                'serviceid',NEW.queueServiceID,
                'created',NEW.queueCreated,
                'lastupdated',NEW.queueLastUpdated),
                1
            );
                update queue_status 
                set queueStatusLastCall =  now() 
                where queueStatusQueueID = NEW.queueID ;
        END IF;
        END
    
  • queuelog

  • queue_status

  • service

  • status
    Jalankan query insert

    INSERT INTO `status` (`statusID`, `statusCode`, `statusName`) VALUES
        (1,	'PRINT',	'Ticket Printed'),
        (2,	'CALL',	'Queue Called'),
        (3,	'SERVED',	'Queue Served'),
        (4,	'DONE',	'Queue Done'),
        (5,	'RECALL',	'Queue Recall');
    
  • ticket_booth

Media

create folder bernama one-queue untuk menyimpan asset button di ticket booth didalam folder one-queue terdapat folder

  1. slide-counter
  2. slide-dokter
  3. slide-sampling

Master Data Antrian

  1. Lokasi Counter

  2. Ticket DIspenser

  3. Layanan

  4. Counter Layanan

  5. Lokasi Station

Display Call Sound

  1. Antrian counter dedicated
    • Letak folder di devone : /home/one/project/one/antrian-counter-dedicated
  2. Antrian dokter
    • Letak folder di devone : /home/one/project/one/antrian-dokter
  3. Antrian sampling
    • Letak folder di devone : /home/one/project/one/antrian-sampling

FO

API

  • /home/one/project/one/one-api/application/controllers/antrian
  • /home/one/project/one/one-api/application/controllers/mockup/fo/antrian

Audio

  • /home/one/project/one/audio/mp3

### Database database antrione List tabel - [ ] counter - [ ] counter_service - [ ] location - [ ] numbering - [ ] queue (***Terdapat trigger***) **triger After insert** ```sql BEGIN INSERT INTO one_log.log_antrian( Log_AntrianCode, Log_AntrianDate, Log_AntrianJson, Log_AntrianUserID ) VALUES( 'FO.ANTRIAN.PRINT', NOW(), JSON_OBJECT( 'id',NEW.queueID, 'number',NEW.queueNumber, 'statusid',NEW.queueStatusID, 'logid',NEW.queueQueueLogID, 'counterid',NEW.queueCounterID, 'serviceid',NEW.queueServiceID, 'created',NEW.queueCreated, 'lastupdated',NEW.queueLastUpdated), 1 ); insert into queue_status (queueStatusQueueID, queueStatusTicket) values ( NEW.queueID, NEW.queueCreated ); END ``` **Triger After update** ```sql BEGIN IF NEW.queueStatusID = 2 THEN INSERT INTO one_log.log_antrian( Log_AntrianCode, Log_AntrianDate, Log_AntrianJson, Log_AntrianUserID ) VALUES( 'FO.ANTRIAN.CALL', NOW(), JSON_OBJECT( 'id',NEW.queueID, 'number',NEW.queueNumber, 'statusid',NEW.queueStatusID, 'logid',NEW.queueQueueLogID, 'counterid',NEW.queueCounterID, 'serviceid',NEW.queueServiceID, 'created',NEW.queueCreated, 'lastupdated',NEW.queueLastUpdated), 1 ); update queue_status set queueStatusFirstCall = now() where queueStatusQueueID = NEW.queueID and queueStatusFirstCall is null; update queue_status set queueStatusLastCall = now() where queueStatusQueueID = NEW.queueID ; END IF; IF NEW.queueStatusID = 3 THEN INSERT INTO one_log.log_antrian( Log_AntrianCode, Log_AntrianDate, Log_AntrianJson, Log_AntrianUserID ) VALUES( 'FO.ANTRIAN.SERVED', NOW(), JSON_OBJECT( 'id',NEW.queueID, 'number',NEW.queueNumber, 'statusid',NEW.queueStatusID, 'logid',NEW.queueQueueLogID, 'counterid',NEW.queueCounterID, 'serviceid',NEW.queueServiceID, 'created',NEW.queueCreated, 'lastupdated',NEW.queueLastUpdated), 1 ); update queue_status set queueStatusServe = now() where queueStatusQueueID = NEW.queueID; END IF; IF NEW.queueStatusID = 4 THEN INSERT INTO one_log.log_antrian( Log_AntrianCode, Log_AntrianDate, Log_AntrianJson, Log_AntrianUserID ) VALUES( 'FO.ANTRIAN.DONE', NOW(), JSON_OBJECT( 'id',NEW.queueID, 'number',NEW.queueNumber, 'statusid',NEW.queueStatusID, 'logid',NEW.queueQueueLogID, 'counterid',NEW.queueCounterID, 'serviceid',NEW.queueServiceID, 'created',NEW.queueCreated, 'lastupdated',NEW.queueLastUpdated), 1 ); update queue_status set queueStatusDone = now() where queueStatusQueueID = NEW.queueID; END IF; IF NEW.queueStatusID = 5 THEN INSERT INTO one_log.log_antrian( Log_AntrianCode, Log_AntrianDate, Log_AntrianJson, Log_AntrianUserID ) VALUES( 'FO.ANTRIAN.RECALL', NOW(), JSON_OBJECT( 'id',NEW.queueID, 'number',NEW.queueNumber, 'statusid',NEW.queueStatusID, 'logid',NEW.queueQueueLogID, 'counterid',NEW.queueCounterID, 'serviceid',NEW.queueServiceID, 'created',NEW.queueCreated, 'lastupdated',NEW.queueLastUpdated), 1 ); update queue_status set queueStatusLastCall = now() where queueStatusQueueID = NEW.queueID ; END IF; END ``` - [ ] queuelog - [ ] queue_status - [ ] service - [ ] status Jalankan query insert ```sql INSERT INTO `status` (`statusID`, `statusCode`, `statusName`) VALUES (1, 'PRINT', 'Ticket Printed'), (2, 'CALL', 'Queue Called'), (3, 'SERVED', 'Queue Served'), (4, 'DONE', 'Queue Done'), (5, 'RECALL', 'Queue Recall'); ``` - [ ] ticket_booth ### Media create folder bernama one-queue untuk menyimpan asset button di ticket booth didalam folder one-queue terdapat folder 1. slide-counter 2. slide-dokter 3. slide-sampling - [ ] http://devone.aplikasi.web.id/one-media/one-queue ### Master Data Antrian 1. Lokasi Counter - [ ] Vue : http://devone.aplikasi.web.id/one-ui/test/vuex/one-md-fo-location/ - [ ] API : http://devone.aplikasi.web.id/one-api/mockup/masterdata/one-md-fo-location 2. Ticket DIspenser - [ ] Vue : http://devone.aplikasi.web.id/one-ui/test/vuex/one-md-ticket-dispenser/ - [ ] API : http://devone.aplikasi.web.id/one-api/mockup/masterdata/one-md-ticket-dispenser 3. Layanan - [ ] Vue : http://devone.aplikasi.web.id/one-ui/test/vuex/one-md-fo-service/ - [ ] API : http://devone.aplikasi.web.id/one-api/mockup/masterdata/one-md-fo-service 4. Counter Layanan - [ ] Vue : http://devone.aplikasi.web.id/one-ui/test/vuex/one-md-counter-service/ - [ ] API : http://devone.aplikasi.web.id/one-api/mockup/masterdata/one-md-counter-service/ 5. Lokasi Station - [ ] Vue :http://devone.aplikasi.web.id/one-ui/test/vuex/one-md-location/ - [ ] API : http://devone.aplikasi.web.id/one-api/mockup/masterdata/one-md-location ### Display Call Sound 1. Antrian counter dedicated - [ ] Letak folder di devone : /home/one/project/one/antrian-counter-dedicated 2. Antrian dokter - [ ] Letak folder di devone : /home/one/project/one/antrian-dokter 3. Antrian sampling - [ ] Letak folder di devone : /home/one/project/one/antrian-sampling ### FO - [ ] Vue : http://10.9.8.2//one-ui/test/vuex/one-queue-fo-v2/ - [ ] API : http://10.9.8.2/one-api/antrian/queuefov2 ### API - [ ] /home/one/project/one/one-api/application/controllers/antrian - [ ] /home/one/project/one/one-api/application/controllers/mockup/fo/antrian ### Audio - [ ] /home/one/project/one/audio/mp3 -----
Author
Owner

Update Antrian Luar Jawa (Lokal)

Medan

  • Dipo 192.168.250.161
  • Yamin 192.168.250.162
  • Wahid Hasyim 192.168.250.163

Palembang

  • Veteran 192.168.250.171
  • Dahlan 192.168.250.172
  • Plaju 192.168.250.172

Padang

  • Ahmad Yani 192.168.250.151

Pekanbaru

  • Sudirman 192.168.250.156

Pontianak

  • pontianak 192.168.250.231

Balikpapan

  • balikpapan 192.168.250.236

Manado

  • manado 192.168.250.221

Makassar

  • karunrung 192.168.250.126
  • hertasning 192.168.250.127

Denpasar

  • denpasar 192.168.250.136
## Update Antrian Luar Jawa (Lokal) ### Medan - [ ] Dipo 192.168.250.161 - [ ] Yamin 192.168.250.162 - [ ] Wahid Hasyim 192.168.250.163 ### Palembang - [ ] Veteran 192.168.250.171 - [ ] Dahlan 192.168.250.172 - [ ] Plaju 192.168.250.172 ### Padang - [ ] Ahmad Yani 192.168.250.151 ### Pekanbaru - [ ] Sudirman 192.168.250.156 ### Pontianak - [ ] pontianak 192.168.250.231 ### Balikpapan - [ ] balikpapan 192.168.250.236 ### Manado - [ ] manado 192.168.250.221 ### Makassar - [ ] karunrung 192.168.250.126 - [ ] hertasning 192.168.250.127 ### Denpasar - [ ] denpasar 192.168.250.136
Author
Owner

Update Antrian Jawa Lokal

one_doctor

  • Matraman : 192.168.250.181

  • Bonjer : 192.168.250.182

  • Samanhudi : 192.168.250.183

  • Ragunan : 192.168.250.184

  • Martadinata : 192.168.250.201

  • Pajajaran : 192.168.250.202

  • Cimahi : 192.168.250.203

  • Toha : 192.168.250.204

  • Cirebon : 192.168.250.216

  • Tasik : 192.168.250.176

  • Tegal : 192.168.250.211

  • Semarang : 192.168.250.131

  • Salatiga : 192.168.250.146

  • Magelang : 192.168.250.141

  • Cikditiro : 192.168.250.191

  • Sultan Agung : 192.168.250.192

  • Madiun : 192.168.250.121

  • Ngagel : 192.168.250.241

  • Aditya : 192.168.250.242

  • Jemur : 192.168.250.243

  • Mulyo : 192.168.250.244

  • Parkus : 192.168.250.245

  • HRM : 192.168.250.246

# Update Antrian Jawa Lokal ### one_doctor - [ ] Matraman : 192.168.250.181 - [ ] Bonjer : 192.168.250.182 - [ ] Samanhudi : 192.168.250.183 - [ ] Ragunan : 192.168.250.184 - [ ] Martadinata : 192.168.250.201 - [ ] Pajajaran : 192.168.250.202 - [ ] Cimahi : 192.168.250.203 - [ ] Toha : 192.168.250.204 - [ ] Cirebon : 192.168.250.216 - [ ] Tasik : 192.168.250.176 - [ ] Tegal : 192.168.250.211 - [ ] Semarang : 192.168.250.131 - [ ] Salatiga : 192.168.250.146 - [ ] Magelang : 192.168.250.141 - [ ] Cikditiro : 192.168.250.191 - [ ] Sultan Agung : 192.168.250.192 - [ ] Madiun : 192.168.250.121 - [x] Ngagel : 192.168.250.241 - [x] Aditya : 192.168.250.242 - [x] Jemur : 192.168.250.243 - [x] Mulyo : 192.168.250.244 - [x] Parkus : 192.168.250.245 - [x] HRM : 192.168.250.246
Author
Owner
-- Adminer 4.7.5 MySQL dump

SET NAMES utf8;
SET time_zone = '+00:00';

DROP TABLE IF EXISTS `counter_service`;
CREATE TABLE `counter_service` (
  `counterServiceID` int(11) NOT NULL AUTO_INCREMENT,
  `counterServiceServiceID` int(11) NOT NULL,
  `counterServiceCounterID` int(11) NOT NULL,
  `counterServiceIsActive` varchar(1) DEFAULT 'Y',
  PRIMARY KEY (`counterServiceID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;


DROP TABLE IF EXISTS `location`;
CREATE TABLE `location` (
  `locationID` int(11) NOT NULL AUTO_INCREMENT,
  `locationCode` varchar(100) NOT NULL,
  `locationName` varchar(100) NOT NULL,
  `locationIsActive` varchar(1) NOT NULL DEFAULT 'Y',
  `locationUserID` int(11) NOT NULL DEFAULT 0,
  `locationCreated` datetime NOT NULL DEFAULT current_timestamp(),
  `locationLastUpdated` timestamp NOT NULL DEFAULT current_timestamp(),
  PRIMARY KEY (`locationID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;


SET NAMES utf8mb4;

DROP TABLE IF EXISTS `service`;
CREATE TABLE `service` (
  `serviceID` int(11) NOT NULL AUTO_INCREMENT,
  `serviceCode` varchar(20) DEFAULT NULL,
  `serviceName` varchar(100) DEFAULT NULL,
  `servicePriority` int(11) DEFAULT 0,
  `serviceIsConsultDoctor` char(1) NOT NULL DEFAULT 'N',
  `serviceDoctorName` varchar(200) NOT NULL,
  `serviceIsActive` varchar(1) DEFAULT 'Y',
  `serviceIsFoOrder` varchar(1) DEFAULT 'N',
  PRIMARY KEY (`serviceID`),
  KEY `serviceCode` (`serviceCode`),
  KEY `servicePriority` (`servicePriority`),
  KEY `serviceIsActive` (`serviceIsActive`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;


DROP TABLE IF EXISTS `ticket_booth`;
CREATE TABLE `ticket_booth` (
  `ticketBoothID` int(11) NOT NULL AUTO_INCREMENT,
  `ticketBoothCode` varchar(10) NOT NULL,
  `ticketBoothName` varchar(50) NOT NULL,
  `ticketBoothPriority` int(11) NOT NULL DEFAULT 0,
  `ticketBoothIsActive` char(1) NOT NULL DEFAULT 'Y',
  `ticketBoothUserID` int(11) NOT NULL DEFAULT 0,
  `ticketBoothCreated` datetime NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
  `ticketBoothLastUpdated` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
  PRIMARY KEY (`ticketBoothID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;


-- 2023-08-15 10:02:19

```mysql -- Adminer 4.7.5 MySQL dump SET NAMES utf8; SET time_zone = '+00:00'; DROP TABLE IF EXISTS `counter_service`; CREATE TABLE `counter_service` ( `counterServiceID` int(11) NOT NULL AUTO_INCREMENT, `counterServiceServiceID` int(11) NOT NULL, `counterServiceCounterID` int(11) NOT NULL, `counterServiceIsActive` varchar(1) DEFAULT 'Y', PRIMARY KEY (`counterServiceID`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; DROP TABLE IF EXISTS `location`; CREATE TABLE `location` ( `locationID` int(11) NOT NULL AUTO_INCREMENT, `locationCode` varchar(100) NOT NULL, `locationName` varchar(100) NOT NULL, `locationIsActive` varchar(1) NOT NULL DEFAULT 'Y', `locationUserID` int(11) NOT NULL DEFAULT 0, `locationCreated` datetime NOT NULL DEFAULT current_timestamp(), `locationLastUpdated` timestamp NOT NULL DEFAULT current_timestamp(), PRIMARY KEY (`locationID`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; SET NAMES utf8mb4; DROP TABLE IF EXISTS `service`; CREATE TABLE `service` ( `serviceID` int(11) NOT NULL AUTO_INCREMENT, `serviceCode` varchar(20) DEFAULT NULL, `serviceName` varchar(100) DEFAULT NULL, `servicePriority` int(11) DEFAULT 0, `serviceIsConsultDoctor` char(1) NOT NULL DEFAULT 'N', `serviceDoctorName` varchar(200) NOT NULL, `serviceIsActive` varchar(1) DEFAULT 'Y', `serviceIsFoOrder` varchar(1) DEFAULT 'N', PRIMARY KEY (`serviceID`), KEY `serviceCode` (`serviceCode`), KEY `servicePriority` (`servicePriority`), KEY `serviceIsActive` (`serviceIsActive`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; DROP TABLE IF EXISTS `ticket_booth`; CREATE TABLE `ticket_booth` ( `ticketBoothID` int(11) NOT NULL AUTO_INCREMENT, `ticketBoothCode` varchar(10) NOT NULL, `ticketBoothName` varchar(50) NOT NULL, `ticketBoothPriority` int(11) NOT NULL DEFAULT 0, `ticketBoothIsActive` char(1) NOT NULL DEFAULT 'Y', `ticketBoothUserID` int(11) NOT NULL DEFAULT 0, `ticketBoothCreated` datetime NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), `ticketBoothLastUpdated` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), PRIMARY KEY (`ticketBoothID`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- 2023-08-15 10:02:19 ```
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: sindhu/belajar#12