11 Commits

Author SHA1 Message Date
ismailmasseran 489c3b9255 DONE: update env.prod. for whatsapp jana notis 2026-10-21 12:59:51 +08:00
ismailmasseran c1cab83b40 DONE: update syntax based on php 7 2026-10-20 08:07:14 +08:00
ismailmasseran 6b9a9c0c20 DONE: fix conflict on authcontroller 2026-10-20 08:01:56 +08:00
ismailmasseran 14371f01e2 DONE: fix composer install --no-dev issue 2026-10-19 13:59:18 +08:00
ismailmasseran 88ace669e1 Merge branch 'main' of https://git.koppkb.com/KoPKB/lelong 2026-10-19 13:39:48 +08:00
ismailmasseran e29a5891c8 Bugfix/list clickup issue (#5)
Reviewed-on: #5
Co-authored-by: ISMAIL MASSERAN <ismail@koppkb.com>
Co-committed-by: ISMAIL MASSERAN <ismail@koppkb.com>
2026-10-19 13:30:36 +08:00
ismailmasseran 09b1c12b21 DONE: reset password function, update header and footer design by adding logo 2026-10-06 11:35:11 +08:00
ismailmasseran 67228628b1 DONE: improve auth security, add email verification when register, add mailpit to docker service 2026-10-06 11:29:01 +08:00
ismailmasseran b1d393b1a1 feat: move pelelong berlesen functions to operasi and update login and reports (#4)
Co-authored-by: nurafrinaalimi16 <nurafrinaalimi16@gmail.com>
Reviewed-on: #4
2026-10-06 11:26:49 +08:00
ismailmasseran 56ebb153b5 Merge pull request 'DONE: add docker config setup for local docker development' (#1) from setup/docker-setup into main
Reviewed-on: #1
2026-10-04 15:54:03 +08:00
ISMAIL MASSERAN 8f0e83ee11 DONE: add docker config setup for local docker development 2026-10-04 15:53:05 +08:00
889 changed files with 19748 additions and 21548 deletions
Vendored Executable → Regular
BIN
View File
Binary file not shown.
+16
View File
@@ -0,0 +1,16 @@
.git
.gitea
node_modules
vendor
.env
.env.*
!.env.example
!.env.docker.example
storage/logs
storage/framework/cache
storage/framework/sessions
storage/framework/views
storage/debugbar
npm-debug.log
Dockerfile
docker-compose.yml
Executable → Regular
View File
+3 -2
View File
@@ -5,6 +5,7 @@ APP_DEBUG=true
APP_URL=http://localhost APP_URL=http://localhost
APP_PEMBIDA=http://localhost:8080/ APP_PEMBIDA=http://localhost:8080/
API_URL=https://api_arrahn.test/lelong/ API_URL=https://api_arrahn.test/lelong/
API_UJRAH_URL=https://api_arrahn.test/lelong/
API_URL_KAUNTER=http://kaunter.test/ API_URL_KAUNTER=http://kaunter.test/
API_VERIFY = false API_VERIFY = false
@@ -278,12 +279,12 @@ REDIS_PASSWORD=null
REDIS_PORT=6379 REDIS_PORT=6379
MAIL_MAILER=smtp MAIL_MAILER=smtp
MAIL_HOST=mailhog MAIL_HOST=mailpit
MAIL_PORT=1025 MAIL_PORT=1025
MAIL_USERNAME=null MAIL_USERNAME=null
MAIL_PASSWORD=null MAIL_PASSWORD=null
MAIL_ENCRYPTION=null MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=null MAIL_FROM_ADDRESS=noreply@lelong.local
MAIL_FROM_NAME="${APP_NAME}" MAIL_FROM_NAME="${APP_NAME}"
AWS_ACCESS_KEY_ID= AWS_ACCESS_KEY_ID=
+128
View File
@@ -0,0 +1,128 @@
APP_NAME="Lelong - Admin"
APP_ENV=local
APP_KEY=base64:qelauhvfTopsnZJAxIfOc5CewbCN9zi4pjBfvsmqWdA=
APP_DEBUG=true
APP_URL=http://localhost:8082
APP_PEMBIDA=http://localhost:8083/
API_URL=http://host.docker.internal:8080/lelong/
API_UJRAH_URL=http://host.docker.internal:8080/lelong/
API_URL_KAUNTER=http://host.docker.internal:8081/
API_VERIFY=false
LOG_CHANNEL=stack
LOG_DEPRECATIONS_CHANNEL=null
LOG_LEVEL=debug
DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=lelong
DB_USERNAME=root
DB_PASSWORD=root
DB_CONNECTION_MAIN=mysql
DB_HOST_MAIN=mysql
DB_PORT_MAIN=3306
DB_DATABASE_MAIN=master_erahn
DB_USERNAME_MAIN=root
DB_PASSWORD_MAIN=root
DB_CONNECTION_X0101=mysql
DB_HOST_X0101=mysql
DB_PORT_X0101=3306
DB_DATABASE_X0101=arrahn_ld
DB_USERNAME_X0101=root
DB_PASSWORD_X0101=root
DB_CONNECTION_X0201=mysql
DB_HOST_X0201=mysql
DB_PORT_X0201=3306
DB_DATABASE_X0201=erahn_baling
DB_USERNAME_X0201=root
DB_PASSWORD_X0201=root
DB_CONNECTION_X0301=mysql
DB_HOST_X0301=mysql
DB_PORT_X0301=3306
DB_DATABASE_X0301=erahn_xtra
DB_USERNAME_X0301=root
DB_PASSWORD_X0301=root
DB_CONNECTION_X0401=mysql
DB_HOST_X0401=mysql
DB_PORT_X0401=3306
DB_DATABASE_X0401=erahn_segamat
DB_USERNAME_X0401=root
DB_PASSWORD_X0401=root
BROADCAST_DRIVER=log
CACHE_DRIVER=file
FILESYSTEM_DRIVER=local
QUEUE_CONNECTION=redis
SESSION_DRIVER=file
SESSION_LIFETIME=120
SESSION_COOKIE=lelong_session
SESSION_SECURE_COOKIE=false
MEMCACHED_HOST=127.0.0.1
REDIS_CLIENT=phpredis
REDIS_HOST=redis
REDIS_PASSWORD=null
REDIS_PORT=6379
MAIL_MAILER=smtp
MAIL_HOST=mailpit
MAIL_PORT=1025
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=noreply@lelong.local
MAIL_FROM_NAME="${APP_NAME}"
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=
AWS_USE_PATH_STYLE_ENDPOINT=false
PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
PUSHER_APP_CLUSTER=mt1
MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
MARHUN_CAMERAS="Doccamera"
# for config STORAGE_DIRECTORY, set value without slash at the end
# STORAGE_DIRECTORY=/Users/UTM/Sites/lelong/storage
ADMIN_EMAIL="admin_1@example.com,admin_2@example.com"
# fill in phone number for local testing
ADMIN_PHONE_NUMBER=601234566789
# Meta WhatsApp Cloud API (reuse phone_number_id from other system)
WHATSAPP_CLOUD_ENABLED=true
WHATSAPP_TOKEN=
WHATSAPP_PHONE_NUMBER_ID=
WHATSAPP_API_VERSION=v25.0
WHATSAPP_TEMPLATE=hello_world
WHATSAPP_TEMPLATE_LANG=en_US
WHATSAPP_JANA_NOTIS_TEMPLATE=hello_world
WHATSAPP_JANA_NOTIS_TEMPLATE_LANG=en_US
WHATSAPP_PEMENANG_TEMPLATE=hello_world
WHATSAPP_PEMENANG_TEMPLATE_LANG=en_US
WHATSAPP_VERIFY_TOKEN=
WHATSAPP_APP_SECRET=
ONE_WAY_SMS_USERNAME=apiusername
ONE_WAY_SMS_PASSWORD=apipassword
BILLPLZ_API_KEY=f0697647-bfc0-41da-8486-5df0d4c8d741
BILLPLZ_SANDBOX_KOPKB_X_SIGNATURE=33de621397c59551cca9b9a007c7b5913b95d57c06a3422b1e0dceae2e79c4360e20c8a1f5680fdb8880137a1b379db1824e167ae9a80952ddfedb508d8eaac8
BILLPLZ_SANDBOX_KOPKB_COLLECTION_ID=vbkc2urs
BILLPLZ_API_URL=https://www.billplz-sandbox.com/api
BILLPLZ_SANDBOX=true
-323
View File
@@ -1,323 +0,0 @@
APP_NAME=Laravel
APP_ENV=local
APP_KEY=base64:ezY+zzzO7+TOh5WtUG544ffDFNCqNQr4c9/uxFCVywo=
APP_DEBUG=true
APP_URL=http://localhost
APP_PEMBIDA=http://localhost:8080/
API_URL=http://host.docker.internal:8874
API_URL_KAUNTER=http://kaunter.localhost/
API_VERIFY=false
LOG_CHANNEL=stack
LOG_DEPRECATIONS_CHANNEL=null
LOG_LEVEL=debug
DB_CONNECTION=mysql
DB_HOST=db_lelong
DB_PORT=3306
DB_DATABASE=lelong
DB_USERNAME=root
DB_PASSWORD=secret
DB_CONNECTION_MAIN=mysql
DB_HOST_MAIN=database_zone1
DB_PORT_MAIN=3306
DB_DATABASE_MAIN=online_arrahn
DB_USERNAME_MAIN=root
DB_PASSWORD_MAIN=secret
DB_CONNECTION_KB2=mysql
DB_HOST_KB2=database_zone1
DB_PORT_KB2=3306
DB_DATABASE_KB2=arrahn_kb2
DB_USERNAME_KB2=root
DB_PASSWORD_KB2=secret
DB_CONNECTION_WCY=mysql
DB_HOST_WCY=database_zone1
DB_PORT_WCY=3306
DB_DATABASE_WCY=arrahn_wcy
DB_USERNAME_WCY=root
DB_PASSWORD_WCY=secret
DB_CONNECTION_1STOP=mysql
DB_HOST_1STOP=database_zone1
DB_PORT_1STOP=3306
DB_DATABASE_1STOP=arrahn_1stop
DB_USERNAME_1STOP=root
DB_PASSWORD_1STOP=secret
DB_CONNECTION_020301=mysql
DB_HOST_020301=database_zone1
DB_PORT_020301=3306
DB_DATABASE_020301=arrahn_jlwt
DB_USERNAME_020301=root
DB_PASSWORD_020301=secret
DB_CONNECTION_WB=mysql
DB_HOST_WB=database_zone1
DB_PORT_WB=3306
DB_DATABASE_WB=arrahn_wb
DB_USERNAME_WB=root
DB_PASSWORD_WB=secret
DB_CONNECTION_ALS=mysql
DB_HOST_ALS=database_zone1
DB_PORT_ALS=3306
DB_DATABASE_ALS=arrahn_kls
DB_USERNAME_ALS=root
DB_PASSWORD_ALS=secret
DB_CONNECTION_020306=mysql
DB_HOST_020306=database_zone1
DB_PORT_020306=3306
DB_DATABASE_020306=arrahn_pp
DB_USERNAME_020306=root
DB_PASSWORD_020306=secret
DB_CONNECTION_ARM=mysql
DB_HOST_ARM=database_zone1
DB_PORT_ARM=3306
DB_DATABASE_ARM=arrahn_mace
DB_USERNAME_ARM=root
DB_PASSWORD_ARM=secret
DB_CONNECTION_KB1=mysql
DB_HOST_KB1=database_zone1
DB_PORT_KB1=3306
DB_DATABASE_KB1=arrahn_kb1
DB_USERNAME_KB1=root
DB_PASSWORD_KB1=secret
DB_CONNECTION_APM=mysql
DB_HOST_APM=database_zone1
DB_PORT_APM=3306
DB_DATABASE_APM=arrahn_pm
DB_USERNAME_APM=root
DB_PASSWORD_APM=secret
DB_CONNECTION_010311=mysql
DB_HOST_010311=database_zone1
DB_PORT_010311=3306
DB_DATABASE_010311=arrahn_gm
DB_USERNAME_010311=root
DB_PASSWORD_010311=secret
DB_CONNECTION_GC=mysql
DB_HOST_GC=database_zone1
DB_PORT_GC=3306
DB_DATABASE_GC=arrahn_gcl
DB_USERNAME_GC=root
DB_PASSWORD_GC=secret
DB_CONNECTION_JLI=mysql
DB_HOST_JLI=database_zone1
DB_PORT_JLI=3306
DB_DATABASE_JLI=arrahn_jli
DB_USERNAME_JLI=root
DB_PASSWORD_JLI=secret
DB_CONNECTION_ARP=mysql
DB_HOST_ARP=database_zone1
DB_PORT_ARP=3306
DB_DATABASE_ARP=arrahn_rp
DB_USERNAME_ARP=root
DB_PASSWORD_ARP=secret
DB_CONNECTION_010621=mysql
DB_HOST_010621=database_zone2
DB_PORT_010621=3306
DB_DATABASE_010621=arrahn_ktn
DB_USERNAME_010621=root
DB_PASSWORD_010621=secret
DB_CONNECTION_010136=mysql
DB_HOST_010136=database_zone2
DB_PORT_010136=3306
DB_DATABASE_010136=arrahn_pg
DB_USERNAME_010136=root
DB_PASSWORD_010136=secret
DB_CONNECTION_011235=mysql
DB_HOST_011235=database_zone2
DB_PORT_011235=3306
DB_DATABASE_011235=arrahn_skudai
DB_USERNAME_011235=root
DB_PASSWORD_011235=secret
DB_CONNECTION_011227=mysql
DB_HOST_011227=database_zone2
DB_PORT_011227=3306
DB_DATABASE_011227=arrahn_pttn
DB_USERNAME_011227=root
DB_PASSWORD_011227=secret
DB_CONNECTION_010620=mysql
DB_HOST_010620=database_zone2
DB_PORT_010620=3306
DB_DATABASE_010620=arrahn_btg
DB_USERNAME_010620=root
DB_PASSWORD_010620=secret
DB_CONNECTION_010617=mysql
DB_HOST_010617=database_zone2
DB_PORT_010617=3306
DB_DATABASE_010617=arrahn_raub
DB_USERNAME_010617=root
DB_PASSWORD_010617=secret
DB_CONNECTION_010915=mysql
DB_HOST_010915=database_zone2
DB_PORT_010915=3306
DB_DATABASE_010915=arrahn_kgr
DB_USERNAME_010915=root
DB_PASSWORD_010915=secret
DB_CONNECTION_011228=mysql
DB_HOST_011228=database_zone2
DB_PORT_011228=3306
DB_DATABASE_011228=arrahn_sdk
DB_USERNAME_011228=root
DB_PASSWORD_011228=secret
DB_CONNECTION_010219=mysql
DB_HOST_010219=database_zone2
DB_PORT_010219=3306
DB_DATABASE_010219=arrahn_sp
DB_USERNAME_010219=root
DB_PASSWORD_010219=secret
DB_CONNECTION_011229=mysql
DB_HOST_011229=database_zone2
DB_PORT_011229=3306
DB_DATABASE_011229=arrahn_twu
DB_USERNAME_011229=root
DB_PASSWORD_011229=secret
DB_CONNECTION_011230=mysql
DB_HOST_011230=database_zone2
DB_PORT_011230=3306
DB_DATABASE_011230=arrahn_api2
DB_USERNAME_011230=root
DB_PASSWORD_011230=secret
DB_CONNECTION_011013=mysql
DB_HOST_011013=database_zone2
DB_PORT_011013=3306
DB_DATABASE_011013=arrahn_kjg
DB_USERNAME_011013=root
DB_PASSWORD_011013=secret
DB_CONNECTION_011412=mysql
DB_HOST_011412=database_zone2
DB_PORT_011412=3306
DB_DATABASE_011412=arrahn_rl
DB_USERNAME_011412=root
DB_PASSWORD_011412=secret
DB_CONNECTION_011231=mysql
DB_HOST_011231=database_zone2
DB_PORT_011231=3306
DB_DATABASE_011231=arrahn_bfort
DB_USERNAME_011231=root
DB_PASSWORD_011231=secret
DB_CONNECTION_011232=mysql
DB_HOST_011232=database_zone2
DB_PORT_011232=3306
DB_DATABASE_011232=arrahn_kbelud
DB_USERNAME_011232=root
DB_PASSWORD_011232=secret
DB_CONNECTION_011234=mysql
DB_HOST_011234=database_zone2
DB_PORT_011234=3306
DB_DATABASE_011234=arrahn_tuaran
DB_USERNAME_011234=root
DB_PASSWORD_011234=secret
DB_CONNECTION_011233=mysql
DB_HOST_011233=database_zone2
DB_PORT_011233=3306
DB_DATABASE_011233=arrahn_kngau
DB_USERNAME_011233=root
DB_PASSWORD_011233=secret
DB_CONNECTION_020303=mysql
DB_HOST_020303=database_zone1
DB_PORT_020303=3306
DB_DATABASE_020303=arrahn_tm
DB_USERNAME_020303=root
DB_PASSWORD_020303=secret
DB_CONNECTION_010618=mysql
DB_HOST_010618=database_zone2
DB_PORT_010618=3306
DB_DATABASE_010618=arrahn_tmlh
DB_USERNAME_010618=root
DB_PASSWORD_010618=secret
# DB_CONNECTION_011237=mysql
# DB_HOST_011237=database_zone1
# DB_PORT_011237=3306
# DB_DATABASE_011237=arrahn_semporna
# DB_USERNAME_011237=root
# DB_PASSWORD_011237=secret
BROADCAST_DRIVER=log
CACHE_DRIVER=file
FILESYSTEM_DRIVER=local
QUEUE_CONNECTION=sync
SESSION_DRIVER=file
SESSION_LIFETIME=120
MEMCACHED_HOST=127.0.0.1
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
MAIL_MAILER=smtp
MAIL_HOST=mailhog
MAIL_PORT=1025
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=null
MAIL_FROM_NAME="${APP_NAME}"
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=
AWS_USE_PATH_STYLE_ENDPOINT=false
PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
PUSHER_APP_CLUSTER=mt1
MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
MARHUN_CAMERAS="Doccamera"
WABOT_API=https://md.wabot.my/api/send.php
WABOT_INSTANCES_ID=63C26B7AAD21A
WABOT_TOKEN_KEYS=cbee7e95cf3ffbfa0531d5fddfd44f87
# wabot use for blast message to pembida
WABOT_API_SECOND=https://md.wabot.my/api/send.php
WABOT_INSTANCES_ID_SECOND=64892FD7440A6
WABOT_TOKEN_KEYS_SECOND=cbee7e95cf3ffbfa0531d5fddfd44f87
# for config STORAGE_DIRECTORY, set value without slash at the end
# STORAGE_DIRECTORY=/Users/UTM/Sites/lelong/storage
ADMIN_EMAIL="admin_1@example.com,admin_2@example.com"
# fill in phone number for local testing
ADMIN_PHONE_NUMBER=601234566789
ONE_WAY_SMS_USERNAME=apiusername
ONE_WAY_SMS_PASSWORD=apipassword
-323
View File
@@ -1,323 +0,0 @@
APP_NAME=Laravel
APP_ENV=local
APP_KEY=
APP_DEBUG=true
APP_URL=http://localhost
APP_PEMBIDA=http://localhost:8080/
API_URL=https://api_arrahn.test/lelong/
API_URL_KAUNTER=http://kaunter.test/
API_VERIFY = false
LOG_CHANNEL=stack
LOG_DEPRECATIONS_CHANNEL=null
LOG_LEVEL=debug
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=lelong
DB_USERNAME=root
DB_PASSWORD=G0dz!ll4@2020
DB_CONNECTION_MAIN=mysql
DB_HOST_MAIN=192.168.0.101
DB_PORT_MAIN=3306
DB_DATABASE_MAIN=online_arrahn
DB_USERNAME_MAIN=spider
DB_PASSWORD_MAIN=G0dz!ll42020
DB_CONNECTION_KB2=mysql
DB_HOST_KB2=192.168.0.101
DB_PORT_KB2=3306
DB_DATABASE_KB2=arrahn_kb2
DB_USERNAME_KB2=spider
DB_PASSWORD_KB2=G0dz!ll42020
DB_CONNECTION_WCY=mysql
DB_HOST_WCY=192.168.0.101
DB_PORT_WCY=3306
DB_DATABASE_WCY=arrahn_wcy
DB_USERNAME_WCY=spider
DB_PASSWORD_WCY=G0dz!ll42020
DB_CONNECTION_1STOP=mysql
DB_HOST_1STOP=192.168.0.101
DB_PORT_1STOP=3306
DB_DATABASE_1STOP=arrahn_1stop
DB_USERNAME_1STOP=spider
DB_PASSWORD_1STOP=G0dz!ll42020
DB_CONNECTION_020301=mysql
DB_HOST_020301=192.168.0.101
DB_PORT_020301=3306
DB_DATABASE_020301=arrahn_jlwt
DB_USERNAME_020301=spider
DB_PASSWORD_020301=G0dz!ll42020
DB_CONNECTION_WB=mysql
DB_HOST_WB=192.168.0.101
DB_PORT_WB=3306
DB_DATABASE_WB=arrahn_wb
DB_USERNAME_WB=spider
DB_PASSWORD_WB=G0dz!ll42020
DB_CONNECTION_ALS=mysql
DB_HOST_ALS=192.168.0.101
DB_PORT_ALS=3306
DB_DATABASE_ALS=arrahn_kls
DB_USERNAME_ALS=spider
DB_PASSWORD_ALS=G0dz!ll42020
DB_CONNECTION_020306=mysql
DB_HOST_020306=192.168.0.101
DB_PORT_020306=3306
DB_DATABASE_020306=arrahn_pp
DB_USERNAME_020306=spider
DB_PASSWORD_020306=G0dz!ll42020
DB_CONNECTION_ARM=mysql
DB_HOST_ARM=192.168.0.101
DB_PORT_ARM=3306
DB_DATABASE_ARM=arrahn_mace
DB_USERNAME_ARM=spider
DB_PASSWORD_ARM=G0dz!ll42020
DB_CONNECTION_KB1=mysql
DB_HOST_KB1=192.168.0.101
DB_PORT_KB1=3306
DB_DATABASE_KB1=arrahn_kb1
DB_USERNAME_KB1=spider
DB_PASSWORD_KB1=G0dz!ll42020
DB_CONNECTION_APM=mysql
DB_HOST_APM=192.168.0.101
DB_PORT_APM=3306
DB_DATABASE_APM=arrahn_pm
DB_USERNAME_APM=spider
DB_PASSWORD_APM=G0dz!ll42020
DB_CONNECTION_010311=mysql
DB_HOST_010311=192.168.0.101
DB_PORT_010311=3306
DB_DATABASE_010311=arrahn_gm
DB_USERNAME_010311=spider
DB_PASSWORD_010311=G0dz!ll42020
DB_CONNECTION_GC=mysql
DB_HOST_GC=192.168.0.101
DB_PORT_GC=3306
DB_DATABASE_GC=arrahn_gcl
DB_USERNAME_GC=spider
DB_PASSWORD_GC=G0dz!ll42020
DB_CONNECTION_JLI=mysql
DB_HOST_JLI=192.168.0.101
DB_PORT_JLI=3306
DB_DATABASE_JLI=arrahn_jli
DB_USERNAME_JLI=spider
DB_PASSWORD_JLI=G0dz!ll42020
DB_CONNECTION_ARP=mysql
DB_HOST_ARP=192.168.0.101
DB_PORT_ARP=3306
DB_DATABASE_ARP=arrahn_rp
DB_USERNAME_ARP=spider
DB_PASSWORD_ARP=G0dz!ll42020
DB_CONNECTION_010621=mysql
DB_HOST_010621=192.168.0.101
DB_PORT_010621=3306
DB_DATABASE_010621=arrahn_ktn
DB_USERNAME_010621=spider
DB_PASSWORD_010621=G0dz!ll42020
DB_CONNECTION_010136=mysql
DB_HOST_010136=192.168.0.101
DB_PORT_010136=3306
DB_DATABASE_010136=arrahn_pg
DB_USERNAME_010136=spider
DB_PASSWORD_010136=G0dz!ll42020
DB_CONNECTION_011235=mysql
DB_HOST_011235=192.168.0.101
DB_PORT_011235=3306
DB_DATABASE_011235=arrahn_skudai
DB_USERNAME_011235=spider
DB_PASSWORD_011235=G0dz!ll42020
DB_CONNECTION_011227=mysql
DB_HOST_011227=192.168.0.101
DB_PORT_011227=3306
DB_DATABASE_011227=arrahn_pttn
DB_USERNAME_011227=spider
DB_PASSWORD_011227=G0dz!ll42020
DB_CONNECTION_010620=mysql
DB_HOST_010620=192.168.0.101
DB_PORT_010620=3306
DB_DATABASE_010620=arrahn_btg
DB_USERNAME_010620=spider
DB_PASSWORD_010620=G0dz!ll42020
DB_CONNECTION_010617=mysql
DB_HOST_010617=192.168.0.101
DB_PORT_010617=3306
DB_DATABASE_010617=arrahn_raub
DB_USERNAME_010617=spider
DB_PASSWORD_010617=G0dz!ll42020
DB_CONNECTION_010915=mysql
DB_HOST_010915=192.168.0.101
DB_PORT_010915=3306
DB_DATABASE_010915=arrahn_kgr
DB_USERNAME_010915=spider
DB_PASSWORD_010915=G0dz!ll42020
DB_CONNECTION_011228=mysql
DB_HOST_011228=192.168.0.101
DB_PORT_011228=3306
DB_DATABASE_011228=arrahn_sdk
DB_USERNAME_011228=spider
DB_PASSWORD_011228=G0dz!ll42020
DB_CONNECTION_010219=mysql
DB_HOST_010219=192.168.0.101
DB_PORT_010219=3306
DB_DATABASE_010219=arrahn_sp
DB_USERNAME_010219=spider
DB_PASSWORD_010219=G0dz!ll42020
DB_CONNECTION_011229=mysql
DB_HOST_011229=192.168.0.101
DB_PORT_011229=3306
DB_DATABASE_011229=arrahn_twu
DB_USERNAME_011229=spider
DB_PASSWORD_011229=G0dz!ll42020
DB_CONNECTION_011230=mysql
DB_HOST_011230=192.168.0.101
DB_PORT_011230=3306
DB_DATABASE_011230=arrahn_api2
DB_USERNAME_011230=spider
DB_PASSWORD_011230=G0dz!ll42020
DB_CONNECTION_011013=mysql
DB_HOST_011013=192.168.0.101
DB_PORT_011013=3306
DB_DATABASE_011013=arrahn_kjg
DB_USERNAME_011013=spider
DB_PASSWORD_011013=G0dz!ll42020
DB_CONNECTION_011412=mysql
DB_HOST_011412=192.168.0.101
DB_PORT_011412=3306
DB_DATABASE_011412=arrahn_rl
DB_USERNAME_011412=spider
DB_PASSWORD_011412=G0dz!ll42020
DB_CONNECTION_011231=mysql
DB_HOST_011231=192.168.0.101
DB_PORT_011231=3306
DB_DATABASE_011231=arrahn_bfort
DB_USERNAME_011231=spider
DB_PASSWORD_011231=G0dz!ll42020
DB_CONNECTION_011232=mysql
DB_HOST_011232=192.168.0.101
DB_PORT_011232=3306
DB_DATABASE_011232=arrahn_kbelud
DB_USERNAME_011232=spider
DB_PASSWORD_011232=G0dz!ll42020
DB_CONNECTION_011234=mysql
DB_HOST_011234=192.168.0.101
DB_PORT_011234=3306
DB_DATABASE_011234=arrahn_tuaran
DB_USERNAME_011234=spider
DB_PASSWORD_011234=G0dz!ll42020
DB_CONNECTION_011233=mysql
DB_HOST_011233=192.168.0.101
DB_PORT_011233=3306
DB_DATABASE_011233=arrahn_kngau
DB_USERNAME_011233=spider
DB_PASSWORD_011233=G0dz!ll42020
DB_CONNECTION_020303=mysql
DB_HOST_020303=192.168.0.101
DB_PORT_020303=3306
DB_DATABASE_020303=arrahn_tm
DB_USERNAME_020303=spider
DB_PASSWORD_020303=G0dz!ll42020
DB_CONNECTION_010618=mysql
DB_HOST_010618=192.168.0.101
DB_PORT_010618=3306
DB_DATABASE_010618=arrahn_tmlh
DB_USERNAME_010618=spider
DB_PASSWORD_010618=G0dz!ll42020
# DB_CONNECTION_011237=mysql
# DB_HOST_011237=192.168.0.101
# DB_PORT_011237=3306
# DB_DATABASE_011237=arrahn_semporna
# DB_USERNAME_011237=spider
# DB_PASSWORD_011237=G0dz!ll42020
BROADCAST_DRIVER=log
CACHE_DRIVER=file
FILESYSTEM_DRIVER=local
QUEUE_CONNECTION=sync
SESSION_DRIVER=file
SESSION_LIFETIME=120
MEMCACHED_HOST=127.0.0.1
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
MAIL_MAILER=smtp
MAIL_HOST=mailhog
MAIL_PORT=1025
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=null
MAIL_FROM_NAME="${APP_NAME}"
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=
AWS_USE_PATH_STYLE_ENDPOINT=false
PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
PUSHER_APP_CLUSTER=mt1
MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
MARHUN_CAMERAS="Doccamera"
WABOT_API=https://md.wabot.my/api/send.php
WABOT_INSTANCES_ID=63C26B7AAD21A
WABOT_TOKEN_KEYS=cbee7e95cf3ffbfa0531d5fddfd44f87
# wabot use for blast message to pembida
WABOT_API_SECOND=https://md.wabot.my/api/send.php
WABOT_INSTANCES_ID_SECOND=64892FD7440A6
WABOT_TOKEN_KEYS_SECOND=cbee7e95cf3ffbfa0531d5fddfd44f87
# for config STORAGE_DIRECTORY, set value without slash at the end
# STORAGE_DIRECTORY=/Users/UTM/Sites/lelong/storage
ADMIN_EMAIL="admin_1@example.com,admin_2@example.com"
# fill in phone number for local testing
ADMIN_PHONE_NUMBER=601234566789
ONE_WAY_SMS_USERNAME=apiusername
ONE_WAY_SMS_PASSWORD=apipassword
+126
View File
@@ -0,0 +1,126 @@
APP_NAME=Lelong
APP_ENV=production
APP_KEY=base64:Zdzo2yUe3/rI0OIi9Ykli8qcHc+GUIXViIaRnsBQa+U=
APP_DEBUG=false
APP_URL=http://localhost
APP_PEMBIDA=https://lelong.erahn.com.my/
API_URL=https://apiujrah.erahn.com.my/lelong/
API_UJRAH_URL=https://apiujrah.erahn.com.my/lelong/
API_URL_KAUNTER=https://ujrah.erahn.com.my/
API_VERIFY=false
LOG_CHANNEL=stack
LOG_DEPRECATIONS_CHANNEL=null
LOG_LEVEL=debug
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=lelong
DB_USERNAME=xtra
DB_PASSWORD=G0dz!ll4@2020
DB_CONNECTION_MAIN=mysql
DB_HOST_MAIN=192.168.1.216
DB_PORT_MAIN=3306
DB_DATABASE_MAIN=master_erahn
DB_USERNAME_MAIN=lelong_admin
DB_PASSWORD_MAIN=xtrabiz_2023
DB_CONNECTION_X0101=mysql
DB_HOST_X0101=192.168.1.216
DB_PORT_X0101=3306
DB_DATABASE_X0101=arrahn_ld
DB_USERNAME_X0101=lelong_admin
DB_PASSWORD_X0101=xtrabiz_2023
DB_CONNECTION_X0201=mysql
DB_HOST_X0201=192.168.1.216
DB_PORT_X0201=3306
DB_DATABASE_X0201=erahn_baling
DB_USERNAME_X0201=lelong_admin
DB_PASSWORD_X0201=xtrabiz_2023
DB_CONNECTION_X0301=mysql
DB_HOST_X0301=192.168.1.216
DB_PORT_X0301=3306
DB_DATABASE_X0301=erahn_xtra
DB_USERNAME_X0301=lelong_admin
DB_PASSWORD_X0301=xtrabiz_2023
DB_CONNECTION_X0401=mysql
DB_HOST_X0401=192.168.1.216
DB_PORT_X0401=3306
DB_DATABASE_X0401=erahn_segamat
DB_USERNAME_X0401=lelong_admin
DB_PASSWORD_X0401=xtrabiz_2023
BROADCAST_DRIVER=log
CACHE_DRIVER=file
FILESYSTEM_DRIVER=local
QUEUE_CONNECTION=redis
SESSION_DRIVER=file
SESSION_LIFETIME=120
SESSION_COOKIE=lelong_session
SESSION_SECURE_COOKIE=true
MEMCACHED_HOST=127.0.0.1
REDIS_CLIENT=phpredis
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
MAIL_MAILER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=zatizul@gmail.com
MAIL_PASSWORD=qumuctejnxuomfur
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=zatizul@gmail.com
MAIL_FROM_NAME="${APP_NAME}"
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=
AWS_USE_PATH_STYLE_ENDPOINT=false
PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
PUSHER_APP_CLUSTER=mt1
MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
MARHUN_CAMERAS="Doccamera"
# for config STORAGE_DIRECTORY, set value without slash at the end
# STORAGE_DIRECTORY=/Users/UTM/Sites/lelong/storage
ADMIN_EMAIL="zatizul@gmail.com"
ADMIN_PHONE_NUMBER=
ONE_WAY_SMS_USERNAME=apiusername
ONE_WAY_SMS_PASSWORD=apipassword
BILLPLZ_API_KEY=f4e099e5-88ca-4712-a01e-b7e1daf78ce2
BILLPLZ_API_URL=https://api.billplz.com
BILLPLZ_SANDBOX=false
WHATSAPP_CLOUD_ENABLED=true
WHATSAPP_TOKEN=EAAZAonT56AO0BSnZAhWLi4UXDRT6iAldbiybxSQZAnGrzIke1QiNWvQkZAbQQTjWeVZC5bL1gEBhW6ff3Shf79nowXiTQEwyxqgZAZB6ZATwFCeTs8MZA5H6ZA76IJBuVqRiAZBvZCfkeSurbUNpEWyi9W7zsT2GWiZCLX8meX0KCfDHu7cp4aBgVu1Ps5ZCRO3bP4ZCQZDZD
WHATSAPP_PHONE_NUMBER_ID=1375899418935337
WHATSAPP_API_VERSION=v25.0
WHATSAPP_TEMPLATE=hello_world
WHATSAPP_TEMPLATE_LANG=en_US
WHATSAPP_VERIFY_TOKEN=418ed86d49422071681c76bed25ae1cb7e90456c794a92f1c9ea417945a35a0a
WHATSAPP_APP_SECRET=
WHATSAPP_JANA_NOTIS_TEMPLATE=jana_notis_lelong
WHATSAPP_JANA_NOTIS_TEMPLATE_LANG=ms
WHATSAPP_PEMENANG_TEMPLATE=pemenang_bidaan
WHATSAPP_PEMENANG_TEMPLATE_LANG=ms
Executable → Regular
View File
Executable → Regular
View File
Executable → Regular
View File
Executable → Regular
View File
Executable → Regular
+10 -1
View File
@@ -1 +1,10 @@
# delete this readme before cloning your repo ## Jana Notis Send Email to Admin
## Process Flow
Operasi buat simulasi -> PC Jana Notis -> Khazanah scan marhun keluar -> Penilai upload gambar -> Operasi start lelong balik
## Tag Means
### cawangan_lelong.tagujrah
0 = Normal lelong (bukan ujrah)
1 = Lelong ujrah
+14 -14
View File
@@ -2,21 +2,20 @@
namespace App\Console\Commands; namespace App\Console\Commands;
use Illuminate\Console\Command; use App\Http\Controllers\ApiController;
use App\Models\Resit;
use App\Services\BillplzService; use App\Services\BillplzService;
use Carbon\Carbon; use Carbon\Carbon;
use Illuminate\Support\Facades\DB; use Illuminate\Console\Command;
use App\Models\Payment;
use App\Http\Controllers\ApiController;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Support\Facades\App; use Illuminate\Support\Facades\App;
use Illuminate\Support\Facades\DB;
class CheckBillplzPayments extends Command class CheckBillplzPayments extends Command
{ {
protected $signature = 'billplz:semak protected $signature = 'billplz:semak
{--date= : Date in YYYY-MM-DD format} {--date= : Date in YYYY-MM-DD format}
{--preview : Preview pending resits only}'; {--preview : Preview pending resits only}';
protected $description = 'Check Billplz payment status and update database'; protected $description = 'Check Billplz payment status and update database';
protected $billplzService; protected $billplzService;
@@ -28,7 +27,7 @@ class CheckBillplzPayments extends Command
} }
public function handle() public function handle()
{ {
$date = $this->option('date') ?? now()->toDateString(); $date = $this->option('date') ?? now()->toDateString();
$preview = $this->option('preview'); $preview = $this->option('preview');
@@ -36,7 +35,8 @@ class CheckBillplzPayments extends Command
try { try {
$dateObj = Carbon::createFromFormat('Y-m-d', $date); $dateObj = Carbon::createFromFormat('Y-m-d', $date);
} catch (\Exception $e) { } catch (\Exception $e) {
$this->error("Invalid date format. Use YYYY-MM-DD."); $this->error('Invalid date format. Use YYYY-MM-DD.');
return 1; return 1;
} }
@@ -62,14 +62,16 @@ class CheckBillplzPayments extends Command
if ($pendingResits->isEmpty()) { if ($pendingResits->isEmpty()) {
$this->info('Tiada Resit belum dibayar ditemui.'); $this->info('Tiada Resit belum dibayar ditemui.');
return 0; return 0;
} }
if ($preview) { if ($preview) {
$this->info("Preview mode aktif. Senarai Resit:"); $this->info('Preview mode aktif. Senarai Resit:');
foreach ($pendingResits as $resit) { foreach ($pendingResits as $resit) {
$this->line("Resit ID: {$resit->id} | Billplz ID: {$resit->billplz_id} | Jumlah: RM{$resit->total_payment}"); $this->line("Resit ID: {$resit->id} | Billplz ID: {$resit->billplz_id} | Jumlah: RM{$resit->total_payment}");
} }
return 0; return 0;
} }
@@ -80,6 +82,7 @@ class CheckBillplzPayments extends Command
if (isset($billData['error'])) { if (isset($billData['error'])) {
$this->error("❌ Gagal semak Billplz untuk Resit {$resit->id}: {$billData['details']}"); $this->error("❌ Gagal semak Billplz untuk Resit {$resit->id}: {$billData['details']}");
continue; continue;
} }
@@ -90,7 +93,7 @@ class CheckBillplzPayments extends Command
'id' => $resit->billplz_id, 'id' => $resit->billplz_id,
'paid' => 'true', 'paid' => 'true',
'paid_at' => $billData['paid_at'] ?? now()->toDateTimeString(), 'paid_at' => $billData['paid_at'] ?? now()->toDateTimeString(),
] ],
]; ];
// dd($data); // dd($data);
@@ -98,15 +101,12 @@ class CheckBillplzPayments extends Command
$apiController->processPaidResit($data); $apiController->processPaidResit($data);
// dd($fakeRequest); // dd($fakeRequest);
$this->info("✅ Resit ID {$resit->id} handled via processPaidResit."); $this->info("✅ Resit ID {$resit->id} handled via processPaidResit.");
}else { } else {
$this->info("ℹ️ Resit ID {$resit->id} masih belum dibayar."); $this->info("ℹ️ Resit ID {$resit->id} masih belum dibayar.");
} }
} }
$this->info('Semakan semula Billplz selesai.'); $this->info('Semakan semula Billplz selesai.');
} }
} }
+7 -7
View File
@@ -40,20 +40,20 @@ class WebpMakeExecutables extends Command
$DS = DIRECTORY_SEPARATOR; $DS = DIRECTORY_SEPARATOR;
$cwebp_compilers = [ $cwebp_compilers = [
'Windows' => 'binaries' . $DS . 'libwebp-1.2.4-windows-x64' . $DS . 'bin' . $DS . 'cwebp', 'Windows' => 'binaries'.$DS.'libwebp-1.2.4-windows-x64'.$DS.'bin'.$DS.'cwebp',
'Linux' => 'binaries' . $DS . 'libwebp-1.2.4-linux-x86-64' . $DS . 'bin' . $DS .'cwebp', 'Linux' => 'binaries'.$DS.'libwebp-1.2.4-linux-x86-64'.$DS.'bin'.$DS.'cwebp',
'Darwin' => [ 'Darwin' => [
'X86-64' => 'binaries' . $DS . 'libwebp-1.2.4-mac-X86-64' . $DS . 'bin' . $DS . 'cwebp', 'X86-64' => 'binaries'.$DS.'libwebp-1.2.4-mac-X86-64'.$DS.'bin'.$DS.'cwebp',
'arm64' => 'binaries' . $DS . 'libwebp-1.2.4-mac-arm64' . $DS . 'bin' . $DS .'cwebp', 'arm64' => 'binaries'.$DS.'libwebp-1.2.4-mac-arm64'.$DS.'bin'.$DS.'cwebp',
], ],
]; ];
$server_operating_system = explode(' ', trim(php_uname()))[0]; $server_operating_system = explode(' ', trim(php_uname()))[0];
$server_processor_architecture = trim(php_uname('m')); $server_processor_architecture = trim(php_uname('m'));
if ($server_operating_system === 'Windows') {
if($server_operating_system === 'Windows'){
$this->error('Windows OS are not permitted'); $this->error('Windows OS are not permitted');
return; return;
} }
@@ -65,7 +65,7 @@ class WebpMakeExecutables extends Command
$webp_binary_path = resource_path($cwebp_compilers[$server_operating_system]); $webp_binary_path = resource_path($cwebp_compilers[$server_operating_system]);
} }
exec('chmod +x ' . $webp_binary_path, $output, $result); exec('chmod +x '.$webp_binary_path, $output, $result);
$this->info('Webp binaries are now executables'); $this->info('Webp binaries are now executables');
} }
+3 -6
View File
@@ -42,13 +42,10 @@ class kemaskiniCawanganLelong extends Command
{ {
$lelong = Lelong::with('cawangan')->select('id')->get(); $lelong = Lelong::with('cawangan')->select('id')->get();
foreach($lelong as $lel) foreach ($lelong as $lel) {
{ foreach ($lel->cawangan as $caw) {
foreach($lel->cawangan as $caw)
{
$lelong_bid = LelongBid::where('kodcaw', $caw->caw_code)->where('lelong_id', $lel->id)->first(); $lelong_bid = LelongBid::where('kodcaw', $caw->caw_code)->where('lelong_id', $lel->id)->first();
if($lelong_bid == null) if ($lelong_bid == null) {
{
CawanganLelong::where('caw_id', $caw->id)->where('lelong_id', $lel->id)->delete(); CawanganLelong::where('caw_id', $caw->id)->where('lelong_id', $lel->id)->delete();
} }
} }
+58 -63
View File
@@ -2,14 +2,14 @@
namespace App\Console\Commands; namespace App\Console\Commands;
use Illuminate\Console\Command;
use App\Models\LelongBid;
use App\Models\Gadai; use App\Models\Gadai;
use Carbon\Carbon; use App\Models\LelongBid;
use App\Models\TransaksiKeuntungan;
use App\Models\LelongTebus; use App\Models\LelongTebus;
use App\Models\LogUser; use App\Models\LogUser;
use App\Models\TransaksiKeuntungan;
use App\Models\User; use App\Models\User;
use Carbon\Carbon;
use Illuminate\Console\Command;
use Illuminate\Support\Facades\Http; use Illuminate\Support\Facades\Http;
class kemaskiniLelong extends Command class kemaskiniLelong extends Command
@@ -49,63 +49,62 @@ class kemaskiniLelong extends Command
$currentdate = $currentdate->toDateTimeString(); $currentdate = $currentdate->toDateTimeString();
$data = []; $data = [];
$lelongbids = LelongBid::where('status_jual',0)->get(); $lelongbids = LelongBid::where('status_jual', 0)->get();
foreach($lelongbids as $index=>$lelongbid){ foreach ($lelongbids as $index => $lelongbid) {
$gadai = Gadai::on($lelongbid->kodcaw)->where('norujukan',$lelongbid->norujukan)->first(); $gadai = Gadai::on($lelongbid->kodcaw)->where('norujukan', $lelongbid->norujukan)->first();
$keluar_lelong = false; $keluar_lelong = false;
$sebab_keluar = ''; $sebab_keluar = '';
if($lelongbid->fasa == '1'){ if ($lelongbid->fasa == '1') {
if($gadai->sttebus == 'T'){ if ($gadai->sttebus == 'T') {
$keluar_lelong = true; $keluar_lelong = true;
$sebab_keluar = 'T'; $sebab_keluar = 'T';
}elseif($gadai->sttebus == 'L'){ } elseif ($gadai->sttebus == 'L') {
$keluar_lelong = true; $keluar_lelong = true;
$sebab_keluar = 'L'; $sebab_keluar = 'L';
} } else {
else{
$telahbayar = $gadai->hargajualan - $gadai->bakihargajualan; $telahbayar = $gadai->hargajualan - $gadai->bakihargajualan;
$upah6bln_raw = $gadai->bakiupah - 0.5; $upah6bln_raw = $gadai->bakiupah - 0.5;
if(bcdiv($telahbayar,1,1) >= bcdiv($upah6bln_raw,1,1)){ if (bcdiv($telahbayar, 1, 1) >= bcdiv($upah6bln_raw, 1, 1)) {
$keluar_lelong = true; $keluar_lelong = true;
$sebab_keluar = 'A'; $sebab_keluar = 'A';
$updategadai = Http::withOptions(['verify' => config('app.api_verify')]) $updategadai = Http::withOptions(['verify' => config('app.api_verify')])
->post(config('app.api_url').'taglel/revert',[ ->post(config('app.api_url').'taglel/revert', [
'kodcaw'=>$lelongbid->kodcaw, 'kodcaw' => $lelongbid->kodcaw,
'norujukan'=>$lelongbid->norujukan 'norujukan' => $lelongbid->norujukan,
]) ])
->json(); ->json();
}else{ } else {
if($gadai->tagbaru == '0'){ if ($gadai->tagbaru == '0') {
$total_untung_rebet = TransaksiKeuntungan::on('main')->where('norujukan',$lelongbid->norujukan)->sum('keuntungan_rebet'); $total_untung_rebet = TransaksiKeuntungan::on('main')->where('norujukan', $lelongbid->norujukan)->sum('keuntungan_rebet');
$total_untung_asal = TransaksiKeuntungan::on('main')->where('norujukan',$lelongbid->norujukan)->sum('bayaran_keuntungan'); $total_untung_asal = TransaksiKeuntungan::on('main')->where('norujukan', $lelongbid->norujukan)->sum('bayaran_keuntungan');
$beza_keuntungan = $total_untung_asal - $total_untung_rebet; $beza_keuntungan = $total_untung_asal - $total_untung_rebet;
if($gadai->tempohbayar == $gadai->tempoh ){ if ($gadai->tempohbayar == $gadai->tempoh) {
$keuntungan = 0.00; $keuntungan = 0.00;
}else{ } else {
$jbg = $gadai->tempoh - $gadai->tempohbayar; $jbg = $gadai->tempoh - $gadai->tempohbayar;
$jbg2 = 12 - $gadai->tempohbayar; $jbg2 = 12 - $gadai->tempohbayar;
if($gadai->tempoh <= '12.00'){ if ($gadai->tempoh <= '12.00') {
$keuntungan = bcdiv(($jbg)*$gadai->kadarupah/100*$gadai->bakipjm,1,1)-$beza_keuntungan; $keuntungan = bcdiv(($jbg) * $gadai->kadarupah / 100 * $gadai->bakipjm, 1, 1) - $beza_keuntungan;
}else{ } else {
$keuntungan = bcdiv(($jbg2)*$gadai->kadarupah/100*$gadai->bakipjm,1,1)-$beza_keuntungan; $keuntungan = bcdiv(($jbg2) * $gadai->kadarupah / 100 * $gadai->bakipjm, 1, 1) - $beza_keuntungan;
} }
} }
$checkdataxlaku = LelongBid::where('norujukan', $lelongbid->norujukan) $checkdataxlaku = LelongBid::where('norujukan', $lelongbid->norujukan)
->where('xlaku', 1) ->where('xlaku', 1)
->first(); ->first();
if (!$checkdataxlaku) { if (! $checkdataxlaku) {
$lelongbid->jbg = $gadai->tempoh; $lelongbid->jbg = $gadai->tempoh;
$lelongbid->pinjaman = $gadai->bakipjm; $lelongbid->pinjaman = $gadai->bakipjm;
$lelongbid->bakiupah = $keuntungan; $lelongbid->bakiupah = $keuntungan;
$lelongbid->save(); $lelongbid->save();
} }
}else if($gadai->tagbaru == '1'){ } elseif ($gadai->tagbaru == '1') {
//kiraan keuntungan ujrah // kiraan keuntungan ujrah
$jeniskeuntungan = 'onepercent'; $jeniskeuntungan = 'onepercent';
// $keuntungan1 = Http::get(config('app.api_ujrah_url'). 'upahrebettawarruq/'.$lelongbid->kodcaw.'/'.$lelongbid->norujukan.'/'.$jeniskeuntungan)->json(); // $keuntungan1 = Http::get(config('app.api_ujrah_url'). 'upahrebettawarruq/'.$lelongbid->kodcaw.'/'.$lelongbid->norujukan.'/'.$jeniskeuntungan)->json();
$ujrahonepercentrebet = Http::get(config('app.api_ujrah_url'). 'kiraupahUjrahOnePercentRebate/'.$lelongbid->kodcaw.'/'.$lelongbid->norujukan)->json(); $ujrahonepercentrebet = Http::get(config('app.api_ujrah_url').'kiraupahUjrahOnePercentRebate/'.$lelongbid->kodcaw.'/'.$lelongbid->norujukan)->json();
$rounded_ujrah = $ujrahonepercentrebet['ujrah']; $rounded_ujrah = $ujrahonepercentrebet['ujrah'];
$rounded_onepercent = $ujrahonepercentrebet['onepercent']; $rounded_onepercent = $ujrahonepercentrebet['onepercent'];
$keuntungan = $rounded_ujrah + $rounded_onepercent; $keuntungan = $rounded_ujrah + $rounded_onepercent;
@@ -113,7 +112,7 @@ class kemaskiniLelong extends Command
$checkdataxlaku = LelongBid::where('norujukan', $lelongbid->norujukan) $checkdataxlaku = LelongBid::where('norujukan', $lelongbid->norujukan)
->where('xlaku', 1) ->where('xlaku', 1)
->first(); ->first();
if (!$checkdataxlaku) { if (! $checkdataxlaku) {
$lelongbid->jbg = $gadai->tempoh; $lelongbid->jbg = $gadai->tempoh;
$lelongbid->pinjaman = $gadai->bakipjm; $lelongbid->pinjaman = $gadai->bakipjm;
$lelongbid->bakiupah = $keuntungan; $lelongbid->bakiupah = $keuntungan;
@@ -125,56 +124,53 @@ class kemaskiniLelong extends Command
} }
} }
} }
}else{ } else {
if($gadai->sttebus == 'T'){ if ($gadai->sttebus == 'T') {
$keluar_lelong = true; $keluar_lelong = true;
$sebab_keluar = 'T'; $sebab_keluar = 'T';
}elseif($gadai->sttebus == 'L'){ } elseif ($gadai->sttebus == 'L') {
$keluar_lelong = true; $keluar_lelong = true;
$sebab_keluar = 'L'; $sebab_keluar = 'L';
}else{ } else {
if($gadai->tagbaru == '0'){ if ($gadai->tagbaru == '0') {
$total_untung_rebet = TransaksiKeuntungan::on('main')->where('norujukan',$lelongbid->norujukan)->sum('keuntungan_rebet'); $total_untung_rebet = TransaksiKeuntungan::on('main')->where('norujukan', $lelongbid->norujukan)->sum('keuntungan_rebet');
$total_untung_asal = TransaksiKeuntungan::on('main')->where('norujukan',$lelongbid->norujukan)->sum('bayaran_keuntungan'); $total_untung_asal = TransaksiKeuntungan::on('main')->where('norujukan', $lelongbid->norujukan)->sum('bayaran_keuntungan');
$beza_keuntungan = $total_untung_asal - $total_untung_rebet; $beza_keuntungan = $total_untung_asal - $total_untung_rebet;
if($gadai->tempohbayar == 12){ if ($gadai->tempohbayar == 12) {
$keuntungan = 0.00; $keuntungan = 0.00;
} } elseif ($gadai->tempohbayar == $gadai->tempoh) {
elseif($gadai->tempohbayar == $gadai->tempoh ){
$keuntungan = 0.00; $keuntungan = 0.00;
} } else {
else{
$jbg = $gadai->tempoh - $gadai->tempohbayar; $jbg = $gadai->tempoh - $gadai->tempohbayar;
$jbg2 = 12 - $gadai->tempohbayar; $jbg2 = 12 - $gadai->tempohbayar;
if($gadai->tempoh <= '12.00'){ if ($gadai->tempoh <= '12.00') {
$keuntungan = bcdiv(($jbg)*$gadai->kadarupah/100*$gadai->bakipjm,1,1)-$beza_keuntungan; $keuntungan = bcdiv(($jbg) * $gadai->kadarupah / 100 * $gadai->bakipjm, 1, 1) - $beza_keuntungan;
}else{ } else {
$keuntungan = bcdiv(($jbg2)*$gadai->kadarupah/100*$gadai->bakipjm,1,1)-$beza_keuntungan; $keuntungan = bcdiv(($jbg2) * $gadai->kadarupah / 100 * $gadai->bakipjm, 1, 1) - $beza_keuntungan;
} }
} }
$checkdataxlaku = LelongBid::where('norujukan', $lelongbid->norujukan) $checkdataxlaku = LelongBid::where('norujukan', $lelongbid->norujukan)
->where('xlaku', 1) ->where('xlaku', 1)
->first(); ->first();
if (!$checkdataxlaku) { if (! $checkdataxlaku) {
$lelongbid->jbg = $gadai->tempoh; $lelongbid->jbg = $gadai->tempoh;
$lelongbid->pinjaman = $gadai->bakipjm; $lelongbid->pinjaman = $gadai->bakipjm;
$lelongbid->bakiupah = $keuntungan; $lelongbid->bakiupah = $keuntungan;
$lelongbid->save(); $lelongbid->save();
} }
}elseif($gadai->tagbaru == '1'){ } elseif ($gadai->tagbaru == '1') {
//kiraan keuntungan ujrah // kiraan keuntungan ujrah
$jeniskeuntungan = 'onepercent'; $jeniskeuntungan = 'onepercent';
// $keuntungan1 = Http::get(config('app.api_ujrah_url'). 'upahrebettawarruq/'.$lelongbid->kodcaw.'/'.$lelongbid->norujukan.'/'.$jeniskeuntungan)->json(); // $keuntungan1 = Http::get(config('app.api_ujrah_url'). 'upahrebettawarruq/'.$lelongbid->kodcaw.'/'.$lelongbid->norujukan.'/'.$jeniskeuntungan)->json();
$ujrahonepercentrebet = Http::get(config('app.api_ujrah_url'). 'kiraupahUjrahOnePercentRebate/'.$lelongbid->kodcaw.'/'.$lelongbid->norujukan)->json(); $ujrahonepercentrebet = Http::get(config('app.api_ujrah_url').'kiraupahUjrahOnePercentRebate/'.$lelongbid->kodcaw.'/'.$lelongbid->norujukan)->json();
$rounded_ujrah = $ujrahonepercentrebet['ujrah']; $rounded_ujrah = $ujrahonepercentrebet['ujrah'];
$rounded_onepercent = $ujrahonepercentrebet['onepercent']; $rounded_onepercent = $ujrahonepercentrebet['onepercent'];
$keuntungan = $rounded_ujrah + $rounded_onepercent; $keuntungan = $rounded_ujrah + $rounded_onepercent;
$checkdataxlaku = LelongBid::where('norujukan', $lelongbid->norujukan) $checkdataxlaku = LelongBid::where('norujukan', $lelongbid->norujukan)
->where('xlaku', 1) ->where('xlaku', 1)
->first(); ->first();
if (!$checkdataxlaku) { if (! $checkdataxlaku) {
$lelongbid->jbg = $gadai->tempoh; $lelongbid->jbg = $gadai->tempoh;
$lelongbid->pinjaman = $gadai->bakipjm; $lelongbid->pinjaman = $gadai->bakipjm;
$lelongbid->bakiupah = $keuntungan; $lelongbid->bakiupah = $keuntungan;
@@ -186,7 +182,7 @@ class kemaskiniLelong extends Command
} }
} }
if($keluar_lelong == true){ if ($keluar_lelong == true) {
$lelongtebus = new LelongTebus; $lelongtebus = new LelongTebus;
$lelongtebus->tarikh = $currentdate; $lelongtebus->tarikh = $currentdate;
$lelongtebus->kodcaw = $lelongbid->kodcaw; $lelongtebus->kodcaw = $lelongbid->kodcaw;
@@ -201,27 +197,26 @@ class kemaskiniLelong extends Command
$lelongtebus->save(); $lelongtebus->save();
$loguser = new LogUser; $loguser = new LogUser;
$loguser->user_id = User::where('name','System')->first()->id; $loguser->user_id = User::where('name', 'System')->first()->id;
$loguser->date = $currentdate; $loguser->date = $currentdate;
$loguser->username = 'System'; $loguser->username = 'System';
$loguser->nama_user = 'System'; $loguser->nama_user = 'System';
$loguser->norujukan = $gadai->norujukan; $loguser->norujukan = $gadai->norujukan;
$loguser->nota = $sebab_keluar == 'A' ? ' KELUAR LELONG '.$lelongbid->lelong_id : ' TEBUS LELONG '.$lelongbid->lelong_id ; $loguser->nota = $sebab_keluar == 'A' ? ' KELUAR LELONG '.$lelongbid->lelong_id : ' TEBUS LELONG '.$lelongbid->lelong_id;
$loguser->save(); $loguser->save();
$lelongbid->delete(); $lelongbid->delete();
}else{ } else {
$loguser = new LogUser; $loguser = new LogUser;
$loguser->user_id = User::where('name','System')->first()->id; $loguser->user_id = User::where('name', 'System')->first()->id;
$loguser->date = $currentdate; $loguser->date = $currentdate;
$loguser->username = 'System'; $loguser->username = 'System';
$loguser->nama_user = 'System'; $loguser->nama_user = 'System';
$loguser->norujukan = $gadai->norujukan; $loguser->norujukan = $gadai->norujukan;
if($gadai->tagbaru == '0'){ if ($gadai->tagbaru == '0') {
$loguser->nota = $lelongbid->lelong_id.' Kemaskini Tempoh/Bakipjm/Keuntungan SAG LAMA' ; $loguser->nota = $lelongbid->lelong_id.' Kemaskini Tempoh/Bakipjm/Keuntungan SAG LAMA';
} } elseif ($gadai->tagbaru == '1') {
elseif($gadai->tagbaru == '1'){ $loguser->nota = $lelongbid->lelong_id.' Kemaskini Tempoh/Bakipjm/Keuntungan UJRAH '.$keuntungan;
$loguser->nota = $lelongbid->lelong_id.' Kemaskini Tempoh/Bakipjm/Keuntungan UJRAH '.$keuntungan ;
} }
$loguser->save(); $loguser->save();
} }
+41 -44
View File
@@ -2,14 +2,14 @@
namespace App\Console\Commands; namespace App\Console\Commands;
use Illuminate\Console\Command;
use App\Models\LelongBid;
use App\Models\Gadai; use App\Models\Gadai;
use Carbon\Carbon; use App\Models\LelongBid;
use App\Models\TransaksiKeuntungan;
use App\Models\LelongTebus; use App\Models\LelongTebus;
use App\Models\LogUser; use App\Models\LogUser;
use App\Models\TransaksiKeuntungan;
use App\Models\User; use App\Models\User;
use Carbon\Carbon;
use Illuminate\Console\Command;
use Illuminate\Support\Facades\Http; use Illuminate\Support\Facades\Http;
class kemaskiniLelongUjrah extends Command class kemaskiniLelongUjrah extends Command
@@ -49,46 +49,45 @@ class kemaskiniLelongUjrah extends Command
$currentdate = $currentdate->toDateTimeString(); $currentdate = $currentdate->toDateTimeString();
$data = []; $data = [];
$lelongbids = LelongBid::where('status_jual',0)->where('tagujrah','1')->get(); $lelongbids = LelongBid::where('status_jual', 0)->where('tagujrah', '1')->get();
// dd($lelongbids); // dd($lelongbids);
foreach($lelongbids as $index=>$lelongbid){ foreach ($lelongbids as $index => $lelongbid) {
$gadai = Gadai::on($lelongbid->kodcaw)->where('norujukan',$lelongbid->norujukan)->first(); $gadai = Gadai::on($lelongbid->kodcaw)->where('norujukan', $lelongbid->norujukan)->first();
$keluar_lelong = false; $keluar_lelong = false;
$sebab_keluar = ''; $sebab_keluar = '';
if($lelongbid->fasa == '1'){ if ($lelongbid->fasa == '1') {
if($gadai->sttebus == 'T'){ if ($gadai->sttebus == 'T') {
$keluar_lelong = true; $keluar_lelong = true;
$sebab_keluar = 'T'; $sebab_keluar = 'T';
}elseif($gadai->sttebus == 'L'){ } elseif ($gadai->sttebus == 'L') {
$keluar_lelong = true; $keluar_lelong = true;
$sebab_keluar = 'L'; $sebab_keluar = 'L';
} } else {
else{
$telahbayar = $gadai->hargajualan - $gadai->bakihargajualan; $telahbayar = $gadai->hargajualan - $gadai->bakihargajualan;
$upah6bln_raw = $gadai->bakiupah - 0.5; $upah6bln_raw = $gadai->bakiupah - 0.5;
if(bcdiv($telahbayar,1,1) >= bcdiv($upah6bln_raw,1,1)){ if (bcdiv($telahbayar, 1, 1) >= bcdiv($upah6bln_raw, 1, 1)) {
$keluar_lelong = true; $keluar_lelong = true;
$sebab_keluar = 'A'; $sebab_keluar = 'A';
$updategadai = Http::withOptions(['verify' => config('app.api_verify')]) $updategadai = Http::withOptions(['verify' => config('app.api_verify')])
->post(config('app.api_url').'taglel/revert',[ ->post(config('app.api_url').'taglel/revert', [
'kodcaw'=>$lelongbid->kodcaw, 'kodcaw' => $lelongbid->kodcaw,
'norujukan'=>$lelongbid->norujukan 'norujukan' => $lelongbid->norujukan,
]) ])
->json(); ->json();
}else{ } else {
$total_untung_rebet = TransaksiKeuntungan::on('main')->where('norujukan',$lelongbid->norujukan)->sum('keuntungan_rebet'); $total_untung_rebet = TransaksiKeuntungan::on('main')->where('norujukan', $lelongbid->norujukan)->sum('keuntungan_rebet');
$total_untung_asal = TransaksiKeuntungan::on('main')->where('norujukan',$lelongbid->norujukan)->sum('bayaran_keuntungan'); $total_untung_asal = TransaksiKeuntungan::on('main')->where('norujukan', $lelongbid->norujukan)->sum('bayaran_keuntungan');
$beza_keuntungan = $total_untung_asal - $total_untung_rebet; $beza_keuntungan = $total_untung_asal - $total_untung_rebet;
if($gadai->tempohbayar == $gadai->tempoh ){ if ($gadai->tempohbayar == $gadai->tempoh) {
$keuntungan = 0.00; $keuntungan = 0.00;
$rounded_ujrah = 0.00; $rounded_ujrah = 0.00;
$rounded_onepercent = 0.00; $rounded_onepercent = 0.00;
}else{ } else {
//kiraan keuntungan ujrah // kiraan keuntungan ujrah
$jeniskeuntungan = 'onepercent'; $jeniskeuntungan = 'onepercent';
// $keuntungan1 = Http::get(config('app.api_ujrah_url'). 'upahrebettawarruq/'.$lelongbid->kodcaw.'/'.$lelongbid->norujukan.'/'.$jeniskeuntungan)->json(); // $keuntungan1 = Http::get(config('app.api_ujrah_url'). 'upahrebettawarruq/'.$lelongbid->kodcaw.'/'.$lelongbid->norujukan.'/'.$jeniskeuntungan)->json();
$ujrahonepercentrebet = Http::get(config('app.api_ujrah_url'). 'kiraupahUjrahOnePercentRebate/'.$lelongbid->kodcaw.'/'.$lelongbid->norujukan)->json(); $ujrahonepercentrebet = Http::get(config('app.api_ujrah_url').'kiraupahUjrahOnePercentRebate/'.$lelongbid->kodcaw.'/'.$lelongbid->norujukan)->json();
$rounded_ujrah = $ujrahonepercentrebet['ujrah']; $rounded_ujrah = $ujrahonepercentrebet['ujrah'];
$rounded_onepercent = $ujrahonepercentrebet['onepercent']; $rounded_onepercent = $ujrahonepercentrebet['onepercent'];
$keuntungan = $rounded_ujrah + $rounded_onepercent; $keuntungan = $rounded_ujrah + $rounded_onepercent;
@@ -97,7 +96,7 @@ class kemaskiniLelongUjrah extends Command
$checkdataxlaku = LelongBid::where('norujukan', $lelongbid->norujukan) $checkdataxlaku = LelongBid::where('norujukan', $lelongbid->norujukan)
->where('xlaku', 1) ->where('xlaku', 1)
->first(); ->first();
if (!$checkdataxlaku) { if (! $checkdataxlaku) {
$lelongbid->jbg = $gadai->tempoh; $lelongbid->jbg = $gadai->tempoh;
$lelongbid->pinjaman = $gadai->bakipjm; $lelongbid->pinjaman = $gadai->bakipjm;
$lelongbid->bakiupah = $keuntungan; $lelongbid->bakiupah = $keuntungan;
@@ -107,32 +106,30 @@ class kemaskiniLelongUjrah extends Command
} }
} }
} }
}else{ } else {
if($gadai->sttebus == 'T'){ if ($gadai->sttebus == 'T') {
$keluar_lelong = true; $keluar_lelong = true;
$sebab_keluar = 'T'; $sebab_keluar = 'T';
}elseif($gadai->sttebus == 'L'){ } elseif ($gadai->sttebus == 'L') {
$keluar_lelong = true; $keluar_lelong = true;
$sebab_keluar = 'L'; $sebab_keluar = 'L';
}else{ } else {
$total_untung_rebet = TransaksiKeuntungan::on('main')->where('norujukan',$lelongbid->norujukan)->sum('keuntungan_rebet'); $total_untung_rebet = TransaksiKeuntungan::on('main')->where('norujukan', $lelongbid->norujukan)->sum('keuntungan_rebet');
$total_untung_asal = TransaksiKeuntungan::on('main')->where('norujukan',$lelongbid->norujukan)->sum('bayaran_keuntungan'); $total_untung_asal = TransaksiKeuntungan::on('main')->where('norujukan', $lelongbid->norujukan)->sum('bayaran_keuntungan');
$beza_keuntungan = $total_untung_asal - $total_untung_rebet; $beza_keuntungan = $total_untung_asal - $total_untung_rebet;
if($gadai->tempohbayar == 12){ if ($gadai->tempohbayar == 12) {
$keuntungan = 0.00; $keuntungan = 0.00;
$rounded_ujrah = 0.00; $rounded_ujrah = 0.00;
$rounded_onepercent = 0.00; $rounded_onepercent = 0.00;
} } elseif ($gadai->tempohbayar == $gadai->tempoh) {
elseif($gadai->tempohbayar == $gadai->tempoh ){
$keuntungan = 0.00; $keuntungan = 0.00;
$rounded_ujrah = 0.00; $rounded_ujrah = 0.00;
$rounded_onepercent = 0.00; $rounded_onepercent = 0.00;
} } else {
else{ // kiraan keuntungan ujrah
//kiraan keuntungan ujrah
$jeniskeuntungan = 'onepercent'; $jeniskeuntungan = 'onepercent';
// $keuntungan1 = Http::get(config('app.api_ujrah_url'). 'upahrebettawarruq/'.$lelongbid->kodcaw.'/'.$lelongbid->norujukan.'/'.$jeniskeuntungan)->json(); // $keuntungan1 = Http::get(config('app.api_ujrah_url'). 'upahrebettawarruq/'.$lelongbid->kodcaw.'/'.$lelongbid->norujukan.'/'.$jeniskeuntungan)->json();
$ujrahonepercentrebet = Http::get(config('app.api_ujrah_url'). 'kiraupahUjrahOnePercentRebate/'.$lelongbid->kodcaw.'/'.$lelongbid->norujukan)->json(); $ujrahonepercentrebet = Http::get(config('app.api_ujrah_url').'kiraupahUjrahOnePercentRebate/'.$lelongbid->kodcaw.'/'.$lelongbid->norujukan)->json();
$rounded_ujrah = $ujrahonepercentrebet['ujrah']; $rounded_ujrah = $ujrahonepercentrebet['ujrah'];
$rounded_onepercent = $ujrahonepercentrebet['onepercent']; $rounded_onepercent = $ujrahonepercentrebet['onepercent'];
$keuntungan = $rounded_ujrah + $rounded_onepercent; $keuntungan = $rounded_ujrah + $rounded_onepercent;
@@ -141,7 +138,7 @@ class kemaskiniLelongUjrah extends Command
$checkdataxlaku = LelongBid::where('norujukan', $lelongbid->norujukan) $checkdataxlaku = LelongBid::where('norujukan', $lelongbid->norujukan)
->where('xlaku', 1) ->where('xlaku', 1)
->first(); ->first();
if (!$checkdataxlaku) { if (! $checkdataxlaku) {
$lelongbid->jbg = $gadai->tempoh; $lelongbid->jbg = $gadai->tempoh;
$lelongbid->pinjaman = $gadai->bakipjm; $lelongbid->pinjaman = $gadai->bakipjm;
$lelongbid->bakiupah = $keuntungan; $lelongbid->bakiupah = $keuntungan;
@@ -152,7 +149,7 @@ class kemaskiniLelongUjrah extends Command
} }
} }
if($keluar_lelong == true){ if ($keluar_lelong == true) {
$lelongtebus = new LelongTebus; $lelongtebus = new LelongTebus;
$lelongtebus->tarikh = $currentdate; $lelongtebus->tarikh = $currentdate;
$lelongtebus->kodcaw = $lelongbid->kodcaw; $lelongtebus->kodcaw = $lelongbid->kodcaw;
@@ -167,23 +164,23 @@ class kemaskiniLelongUjrah extends Command
$lelongtebus->save(); $lelongtebus->save();
$loguser = new LogUser; $loguser = new LogUser;
$loguser->user_id = User::where('name','System')->first()->id; $loguser->user_id = User::where('name', 'System')->first()->id;
$loguser->date = $currentdate; $loguser->date = $currentdate;
$loguser->username = 'System'; $loguser->username = 'System';
$loguser->nama_user = 'System'; $loguser->nama_user = 'System';
$loguser->norujukan = $gadai->norujukan; $loguser->norujukan = $gadai->norujukan;
$loguser->nota = $sebab_keluar == 'A' ? ' KELUAR LELONG UJRAH '.$lelongbid->lelong_id : ' TEBUS LELONG UJRAH '.$lelongbid->lelong_id ; $loguser->nota = $sebab_keluar == 'A' ? ' KELUAR LELONG UJRAH '.$lelongbid->lelong_id : ' TEBUS LELONG UJRAH '.$lelongbid->lelong_id;
$loguser->save(); $loguser->save();
$lelongbid->delete(); $lelongbid->delete();
}else{ } else {
$loguser = new LogUser; $loguser = new LogUser;
$loguser->user_id = User::where('name','System')->first()->id; $loguser->user_id = User::where('name', 'System')->first()->id;
$loguser->date = $currentdate; $loguser->date = $currentdate;
$loguser->username = 'System'; $loguser->username = 'System';
$loguser->nama_user = 'System'; $loguser->nama_user = 'System';
$loguser->norujukan = $gadai->norujukan; $loguser->norujukan = $gadai->norujukan;
$loguser->nota = $lelongbid->lelong_id.' Kemaskini Tempoh/Bakipjm/Keuntungan Ujrah' ; $loguser->nota = $lelongbid->lelong_id.' Kemaskini Tempoh/Bakipjm/Keuntungan Ujrah';
$loguser->save(); $loguser->save();
} }
Executable → Regular
-1
View File
@@ -19,7 +19,6 @@ class Kernel extends ConsoleKernel
/** /**
* Define the application's command schedule. * Define the application's command schedule.
* *
* @param \Illuminate\Console\Scheduling\Schedule $schedule
* @return void * @return void
*/ */
protected function schedule(Schedule $schedule) protected function schedule(Schedule $schedule)
Executable → Regular
+2 -2
View File
@@ -2,10 +2,10 @@
namespace App\Events; namespace App\Events;
use Illuminate\Queue\SerializesModels;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Broadcasting\InteractsWithSockets; use Illuminate\Broadcasting\InteractsWithSockets;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast; use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Queue\SerializesModels;
class LelongNotify implements ShouldBroadcast class LelongNotify implements ShouldBroadcast
{ {
Executable → Regular
+5 -3
View File
@@ -2,20 +2,22 @@
namespace App\Events; namespace App\Events;
use Illuminate\Queue\SerializesModels;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Broadcasting\InteractsWithSockets; use Illuminate\Broadcasting\InteractsWithSockets;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast; use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Queue\SerializesModels;
class PaymentNotify implements ShouldBroadcast class PaymentNotify implements ShouldBroadcast
{ {
use Dispatchable, InteractsWithSockets, SerializesModels; use Dispatchable, InteractsWithSockets, SerializesModels;
public $response; public $response;
public $userid; public $userid;
public $paymentid; public $paymentid;
public function __construct($response,$userid,$paymentid) public function __construct($response, $userid, $paymentid)
{ {
$this->response = $response; $this->response = $response;
$this->userid = $userid; $this->userid = $userid;
Executable → Regular
View File
+131 -178
View File
@@ -2,34 +2,30 @@
namespace App\Http\Controllers; namespace App\Http\Controllers;
use App\Jobs\WhatsappTidakSahBayaran;
use App\Models\Cawangan;
use App\Models\CawanganLelong;
use App\Models\FileMarhun;
use App\Models\FileResit;
use App\Models\Lelong;
use App\Models\LelongBid;
use App\Models\LelongBidder;
use App\Models\LogUser;
use App\Models\Payment;
use App\Models\Pengesahan;
use App\Models\Resit;
use App\Models\User;
use App\Services\MarhunPhotoService;
use App\Services\ResitPhotoService;
use Carbon\Carbon; use Carbon\Carbon;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Auth;
use App\Models\User;
use App\Models\Cawangan;
use App\Models\CawanganLelong;
use App\Models\Lelong;
use App\Models\Payment;
use App\Models\LelongBid;
use App\Models\LelongBidder;
use App\Models\Resit;
use App\Models\FileResit;
use App\Services\ResitPhotoService;
use App\Models\FileMarhun;
use App\Services\MarhunPhotoService;
use App\Models\Pengesahan;
use App\Models\LelongBidMarhun;
use App\Models\LogUser;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Log;
use App\Jobs\WhatsappPengesahanPembida;
use App\Jobs\WhatsappTidakSahBayaran;
use PDF; use PDF;
class AccountController extends Controller class AccountController extends Controller
{ {
private $resitPhotoService; private $resitPhotoService;
private $marhunPhotoService; private $marhunPhotoService;
public function __construct(ResitPhotoService $resitPhotoService, MarhunPhotoService $marhunPhotoService) public function __construct(ResitPhotoService $resitPhotoService, MarhunPhotoService $marhunPhotoService)
@@ -39,7 +35,8 @@ class AccountController extends Controller
$this->marhunPhotoService = $marhunPhotoService; $this->marhunPhotoService = $marhunPhotoService;
} }
public function senarailelongan(){ public function senarailelongan()
{
$user = Auth::user(); $user = Auth::user();
@@ -48,36 +45,34 @@ class AccountController extends Controller
$arraysls = []; $arraysls = [];
$tarikh_semasa = date('Y-m-d', strtotime(now())); $tarikh_semasa = date('Y-m-d', strtotime(now()));
$senarai = Lelong::join('cawangan_lelong','lelong.id','=','cawangan_lelong.lelong_id') $senarai = Lelong::join('cawangan_lelong', 'lelong.id', '=', 'cawangan_lelong.lelong_id')
->select('lelong_id','tarikh_lelong','lelong.fasa','sts_lelong') ->select('lelong_id', 'tarikh_lelong', 'lelong.fasa', 'sts_lelong')
->distinct() ->distinct()
->orderBy('tarikh_lelong', 'DESC') ->orderBy('tarikh_lelong', 'DESC')
->where('lelong.sts_lelong', 3) ->where('lelong.sts_lelong', 3)
->get() ->get()
->toArray(); ->toArray();
foreach($senarai as $details) foreach ($senarai as $details) {
{
$detailsinfo = CawanganLelong::join('cawangan','cawangan_lelong.caw_id','=','cawangan.id') $detailsinfo = CawanganLelong::join('cawangan', 'cawangan_lelong.caw_id', '=', 'cawangan.id')
->select('cawangan_lelong.lelong_id','cawangan_lelong.caw_id','caw_name','caw_code') ->select('cawangan_lelong.lelong_id', 'cawangan_lelong.caw_id', 'caw_name', 'caw_code')
->where('lelong_id',$details['lelong_id']) ->where('lelong_id', $details['lelong_id'])
->distinct() ->distinct()
->orderBy('lelong_id') ->orderBy('lelong_id')
->get() ->get()
->toArray(); ->toArray();
if($details['tarikh_lelong'] == $tarikh_semasa) if ($details['tarikh_lelong'] == $tarikh_semasa) {
{ array_push($arraysms, ['detail' => $details, 'detailsinfo' => $detailsinfo]);
array_push($arraysms,['detail'=>$details, 'detailsinfo'=>$detailsinfo]);
} else { } else {
array_push($arraysls,['detail'=>$details, 'detailsinfo'=>$detailsinfo]); array_push($arraysls, ['detail' => $details, 'detailsinfo' => $detailsinfo]);
} }
// array_push($arrayinfo,['detail'=>$details, 'detailsinfo'=>$detailsinfo]); // array_push($arrayinfo,['detail'=>$details, 'detailsinfo'=>$detailsinfo]);
} }
return view('account.senarailelongan',compact('arraysms','arraysls','senarai','arrayinfo')); return view('account.senarailelongan', compact('arraysms', 'arraysls', 'senarai', 'arrayinfo'));
} }
public function listbayaranonline($lelong_id, $kodcaw) public function listbayaranonline($lelong_id, $kodcaw)
@@ -117,7 +112,7 @@ class AccountController extends Controller
->get(); ->get();
// dd($listwinner); // dd($listwinner);
foreach($listwinner as $index1=>$winner){ foreach ($listwinner as $index1 => $winner) {
$userdetails = User::where('id', $winner['user_id'])->first(); $userdetails = User::where('id', $winner['user_id'])->first();
@@ -133,33 +128,32 @@ class AccountController extends Controller
->where('lelongbidder.user_id', $winner['user_id']) ->where('lelongbidder.user_id', $winner['user_id'])
->where('lelongbidder.status_bidder', 1) ->where('lelongbidder.status_bidder', 1)
->where('lelongbid.lelong_id', $lelong_id) ->where('lelongbid.lelong_id', $lelong_id)
->where('lelongbid.kodcaw',$kodcaw) ->where('lelongbid.kodcaw', $kodcaw)
->where('payment.kodcaw',$kodcaw) ->where('payment.kodcaw', $kodcaw)
->where('lelongbid.lelong_id', $lelong_id) ->where('lelongbid.lelong_id', $lelong_id)
->select('lelongbidder.payment_id') ->select('lelongbidder.payment_id')
->groupBy('lelongbidder.payment_id') ->groupBy('lelongbidder.payment_id')
->get(); ->get();
$total_payment = 0; $total_payment = 0;
foreach($id_payment as $id){ foreach ($id_payment as $id) {
$payment = Payment::where('id', $id['payment_id']) $payment = Payment::where('id', $id['payment_id'])
->where('user_id', $userdetails['id']) ->where('user_id', $userdetails['id'])
->where('kodcaw', $kodcaw) ->where('kodcaw', $kodcaw)
->first(); ->first();
if($payment){ if ($payment) {
$total_payment = $total_payment + $payment->total_payment; $total_payment = $total_payment + $payment->total_payment;
} }
} }
$listwinner[$index1]['details'] = $userdetails; $listwinner[$index1]['details'] = $userdetails;
$listwinner[$index1]['total_surat'] = sizeof($SAGWin); $listwinner[$index1]['total_surat'] = count($SAGWin);
$listwinner[$index1]['totalBid'] = $SAGWin->sum('hargabida'); $listwinner[$index1]['totalBid'] = $SAGWin->sum('hargabida');
$listwinner[$index1]['totalPay'] = $total_payment; $listwinner[$index1]['totalPay'] = $total_payment;
} }
return view('account.listbayaranonline', compact('listwinner', 'lelong_id', 'getkodcaw', 'kodcaw'));
return view('account.listbayaranonline',compact('listwinner','lelong_id', 'getkodcaw', 'kodcaw'));
} }
// public function sahsagonline($lelong_id, $user_id, $caw_code) //hoklama komen pada 25hb10 // public function sahsagonline($lelong_id, $user_id, $caw_code) //hoklama komen pada 25hb10
@@ -279,7 +273,6 @@ class AccountController extends Controller
// return view('account.sahsagonline', compact('senaraisag', 'lelong_id', 'user_id', 'total_payment', 'caw_code', 'userdetails', 'getresit')); // return view('account.sahsagonline', compact('senaraisag', 'lelong_id', 'user_id', 'total_payment', 'caw_code', 'userdetails', 'getresit'));
// } // }
public function sahbayaronline(Request $request) public function sahbayaronline(Request $request)
{ {
// dd($request->all()); // dd($request->all());
@@ -291,15 +284,10 @@ class AccountController extends Controller
$total_payment = 0; $total_payment = 0;
$senaraisag = $request->senarai_sag; $senaraisag = $request->senarai_sag;
$user_notelbimbit = $request->notel_pembida;
$user_namapembida = $request->nama_pembida; $user_namapembida = $request->nama_pembida;
$getkodcaw = Cawangan::where('caw_code', $request->kodcaw)->select('caw_name')->first(); if ($request->jenis_button == 'tidaksah') {
$user_cawname = $getkodcaw->caw_name; // insert loguser
if($request->jenis_button == 'tidaksah'){
//insert loguser
$loguser = new LogUser; $loguser = new LogUser;
$loguser->user_id = $user->id; $loguser->user_id = $user->id;
$loguser->date = $currentdate; $loguser->date = $currentdate;
@@ -311,12 +299,10 @@ class AccountController extends Controller
WhatsappTidakSahBayaran::dispatch($user_namapembida); WhatsappTidakSahBayaran::dispatch($user_namapembida);
return redirect()->route('home')->with('failed','Pembayaran Tidak Sah'); return redirect()->route('home')->with('failed', 'Pembayaran Tidak Sah');
} elseif ($request->jenis_button == 'sah') {
}elseif($request->jenis_button == 'sah'){ foreach (json_decode($senaraisag) as $sag) {
foreach(json_decode($senaraisag) as $sag)
{
$payment = Payment::where('id', $sag->payment_id)->first(); $payment = Payment::where('id', $sag->payment_id)->first();
$payment->disahkan_oleh = $user->id; $payment->disahkan_oleh = $user->id;
$payment->disahkan_pada = $currentdate; $payment->disahkan_pada = $currentdate;
@@ -324,11 +310,11 @@ class AccountController extends Controller
$total_payment = $total_payment + $payment->total_payment; $total_payment = $total_payment + $payment->total_payment;
$eachbid = LelongBid::where('id',$sag->lelongbid_id)->first(); $eachbid = LelongBid::where('id', $sag->lelongbid_id)->first();
$eachbid->status_payment = 1; $eachbid->status_payment = 1;
$eachbid->status_jual = 1; $eachbid->status_jual = 1;
$eachbid->status_semak = 1; $eachbid->status_semak = 1;
//$eachbid->t_jual = $currentdate; // $eachbid->t_jual = $currentdate;
$eachbid->save(); $eachbid->save();
$bidder = LelongBidder::where('lelongbid_id', $sag->lelongbid_id) $bidder = LelongBidder::where('lelongbid_id', $sag->lelongbid_id)
@@ -338,9 +324,8 @@ class AccountController extends Controller
$bidder->status_payment = 1; $bidder->status_payment = 1;
$bidder->update(); $bidder->update();
} }
WhatsappPengesahanPembida::dispatch($user_notelbimbit,$user_namapembida,$user_cawname);
//insert loguser // insert loguser
$loguser = new LogUser; $loguser = new LogUser;
$loguser->user_id = $user->id; $loguser->user_id = $user->id;
$loguser->date = $currentdate; $loguser->date = $currentdate;
@@ -350,8 +335,7 @@ class AccountController extends Controller
$loguser->nota = $request->kodcaw.': '.$request->nama_pembida.' ('.$request->nokp_pembida.'): Bukti Bayaran Telah Sah'; $loguser->nota = $request->kodcaw.': '.$request->nama_pembida.' ('.$request->nokp_pembida.'): Bukti Bayaran Telah Sah';
$loguser->save(); $loguser->save();
return redirect()->route('home')->with('success', 'Pembayaran Berjaya');
return redirect()->route('home')->with('success','Pembayaran Berjaya');
} }
} }
@@ -402,11 +386,9 @@ class AccountController extends Controller
) )
->get(); ->get();
foreach($senaraisag as $index1=>$sag) foreach ($senaraisag as $index1 => $sag) {
{
if($sag) if ($sag) {
{
// dd($sag); // dd($sag);
$checking = Payment::join('lelongbid', 'payment.lelong_id', '=', 'lelongbid.lelong_id') $checking = Payment::join('lelongbid', 'payment.lelong_id', '=', 'lelongbid.lelong_id')
->where('payment.id', $sag['payment_id']) ->where('payment.id', $sag['payment_id'])
@@ -417,16 +399,13 @@ class AccountController extends Controller
->whereNotNull('payment.disahkan_oleh') ->whereNotNull('payment.disahkan_oleh')
->first(); ->first();
$noresit = Resit::where('lelong_id', $lelong_id)
$noresit = Resit::where('lelong_id',$lelong_id) ->where('user_id', '=', $user_id)
->where('user_id','=',$user_id)
->first(); ->first();
$senaraisag[$index1]['checking_payment'] = $checking; $senaraisag[$index1]['checking_payment'] = $checking;
// dd($checking); // dd($checking);
} } else {
else
{
// //
} }
} }
@@ -446,7 +425,7 @@ class AccountController extends Controller
->groupBy('lelongbidder.payment_id') ->groupBy('lelongbidder.payment_id')
->get(); ->get();
// $payments = Payment::whereIn($saggroupbyid)->get() // $payments = Payment::whereIn($saggroupbyid)->get()
$total_payment = Payment::whereIn('id',$saggroupbyid)->sum('total_payment'); $total_payment = Payment::whereIn('id', $saggroupbyid)->sum('total_payment');
$getresit = FileResit::join('payment', 'fileresit.payment_id', '=', 'payment.id') $getresit = FileResit::join('payment', 'fileresit.payment_id', '=', 'payment.id')
->where('payment.lelong_id', $lelong_id) ->where('payment.lelong_id', $lelong_id)
@@ -455,12 +434,11 @@ class AccountController extends Controller
->get()->toArray(); ->get()->toArray();
$array_resit = []; $array_resit = [];
foreach($getresit as $index1=>$resit) foreach ($getresit as $index1 => $resit) {
{ $getresit[$index1]['resit64'] = 'data:image/'.$resit['file_type'].';base64'.base64_encode($resit['filename']);
$getresit[$index1]['resit64'] = 'data:image/' . $resit['file_type'] . ';base64' . base64_encode($resit['filename']);
} }
if($saggroupbyid['status_payment_opt'] = '3'){ if ($saggroupbyid['status_payment_opt'] = '3') {
$fileresit = FileResit::where('lelong_id', $lelong_id) $fileresit = FileResit::where('lelong_id', $lelong_id)
->where('user_id', $user_id) ->where('user_id', $user_id)
->where('kodcaw', $caw_code) ->where('kodcaw', $caw_code)
@@ -494,7 +472,7 @@ class AccountController extends Controller
->where('payment.remark', 'BERJAYA BAYARAN ONLINE') ->where('payment.remark', 'BERJAYA BAYARAN ONLINE')
// ->whereNull('payment.disahkan_pada') // ->whereNull('payment.disahkan_pada')
->orWhere(function ($query) { ->orWhere(function ($query) {
$query->where('payment.status_payment_opt', [2,3]); $query->where('payment.status_payment_opt', [2, 3]);
// ->where('payment.status_payment_opt', 2); // ->where('payment.status_payment_opt', 2);
}) })
->select('lelongbidder.user_id', 'payment.user_id') ->select('lelongbidder.user_id', 'payment.user_id')
@@ -520,11 +498,10 @@ class AccountController extends Controller
->get(); ->get();
// dd($listwinner); // dd($listwinner);
foreach($listwinner as $index1=>$winner){ foreach ($listwinner as $index1 => $winner) {
$userdetails = User::where('id', $winner['user_id'])->first(); $userdetails = User::where('id', $winner['user_id'])->first();
$SAGWin = Payment::join('lelongbidder', 'payment.id', '=', 'lelongbidder.payment_id') $SAGWin = Payment::join('lelongbidder', 'payment.id', '=', 'lelongbidder.payment_id')
->where('payment.user_id', $winner['user_id']) ->where('payment.user_id', $winner['user_id'])
->where('payment.kodcaw', $kodcaw) ->where('payment.kodcaw', $kodcaw)
@@ -537,29 +514,29 @@ class AccountController extends Controller
->where('lelongbidder.user_id', $winner['user_id']) ->where('lelongbidder.user_id', $winner['user_id'])
->where('lelongbidder.status_bidder', 1) ->where('lelongbidder.status_bidder', 1)
->where('lelongbid.lelong_id', $lelong_id) ->where('lelongbid.lelong_id', $lelong_id)
->where('lelongbid.kodcaw',$kodcaw) ->where('lelongbid.kodcaw', $kodcaw)
->where('payment.kodcaw',$kodcaw) ->where('payment.kodcaw', $kodcaw)
->where('lelongbid.lelong_id', $lelong_id) ->where('lelongbid.lelong_id', $lelong_id)
->select('lelongbidder.payment_id') ->select('lelongbidder.payment_id')
->groupBy('lelongbidder.payment_id') ->groupBy('lelongbidder.payment_id')
->get(); ->get();
$total_payment = 0; $total_payment = 0;
foreach($id_payment as $id){ foreach ($id_payment as $id) {
// dd($id_payment); // dd($id_payment);
$payment = Payment::where('id', $id['payment_id']) $payment = Payment::where('id', $id['payment_id'])
->where('user_id', $userdetails['id']) ->where('user_id', $userdetails['id'])
->where('kodcaw', $kodcaw) ->where('kodcaw', $kodcaw)
->first(); ->first();
if($payment){ if ($payment) {
$total_payment = $total_payment + $payment->total_payment; $total_payment = $total_payment + $payment->total_payment;
} }
$disahkanoleh = User::where('id', $payment->disahkan_oleh)->first(); $disahkanoleh = User::where('id', $payment->disahkan_oleh)->first();
// dd($disahkanoleh); // dd($disahkanoleh);
} }
$listwinner[$index1]['details'] = $userdetails; $listwinner[$index1]['details'] = $userdetails;
$listwinner[$index1]['total_surat'] = sizeof($SAGWin); $listwinner[$index1]['total_surat'] = count($SAGWin);
$listwinner[$index1]['totalBid'] = $SAGWin->sum('hargabida'); $listwinner[$index1]['totalBid'] = $SAGWin->sum('hargabida');
$listwinner[$index1]['totalPay'] = $total_payment; $listwinner[$index1]['totalPay'] = $total_payment;
$listwinner[$index1]['data'] = $SAGWin; $listwinner[$index1]['data'] = $SAGWin;
@@ -567,8 +544,7 @@ class AccountController extends Controller
} }
return view('account.listbayaranonlinesah', compact('listwinner', 'lelong_id', 'getkodcaw', 'kodcaw'));
return view('account.listbayaranonlinesah',compact('listwinner','lelong_id', 'getkodcaw', 'kodcaw'));
} }
public function sahsagcdm($lelong_id, $user_id, $caw_code) public function sahsagcdm($lelong_id, $user_id, $caw_code)
@@ -618,11 +594,9 @@ class AccountController extends Controller
) )
->get(); ->get();
foreach($senaraisag as $index1=>$sag) foreach ($senaraisag as $index1 => $sag) {
{
if($sag) if ($sag) {
{
// dd($sag); // dd($sag);
$checking = Payment::join('lelongbid', 'payment.lelong_id', '=', 'lelongbid.lelong_id') $checking = Payment::join('lelongbid', 'payment.lelong_id', '=', 'lelongbid.lelong_id')
->where('payment.id', $sag['payment_id']) ->where('payment.id', $sag['payment_id'])
@@ -633,16 +607,13 @@ class AccountController extends Controller
->whereNotNull('payment.disahkan_pada') ->whereNotNull('payment.disahkan_pada')
->first(); ->first();
$noresit = Resit::where('lelong_id', $lelong_id)
$noresit = Resit::where('lelong_id',$lelong_id) ->where('user_id', '=', $user_id)
->where('user_id','=',$user_id)
->first(); ->first();
$senaraisag[$index1]['checking_payment'] = $checking; $senaraisag[$index1]['checking_payment'] = $checking;
// dd($checking); // dd($checking);
} } else {
else
{
// //
} }
} }
@@ -662,7 +633,7 @@ class AccountController extends Controller
->groupBy('lelongbidder.payment_id') ->groupBy('lelongbidder.payment_id')
->get(); ->get();
// $payments = Payment::whereIn($saggroupbyid)->get() // $payments = Payment::whereIn($saggroupbyid)->get()
$total_payment = Payment::whereIn('id',$saggroupbyid)->sum('total_payment'); $total_payment = Payment::whereIn('id', $saggroupbyid)->sum('total_payment');
// $getresit = FileResit::join('payment', 'fileresit.payment_id', '=', 'payment.id') // $getresit = FileResit::join('payment', 'fileresit.payment_id', '=', 'payment.id')
// ->where('payment.lelong_id', $lelong_id) // ->where('payment.lelong_id', $lelong_id)
@@ -701,48 +672,47 @@ class AccountController extends Controller
// $lelongbid->filemarhun_id = $filemarhun->id; // $lelongbid->filemarhun_id = $filemarhun->id;
// } // }
return view('account.sahsagcdm', compact('cawanganDetail', 'senaraisag', 'lelong_id', 'user_id', 'total_payment', 'caw_code', 'userdetails', 'fileresit'));
return view('account.sahsagcdm', compact('cawanganDetail','senaraisag', 'lelong_id', 'user_id', 'total_payment', 'caw_code', 'userdetails', 'fileresit'));
} }
public function showPhotoResit(Request $request) public function showPhotoResit(Request $request)
{ {
$resit = FileResit::where('id', '=', $request->fileresit_id)->first(); $resit = FileResit::where('id', '=', $request->fileresit_id)->first();
// dd($this->resitPhotoService->show($request->user_id, $resit)); // dd($this->resitPhotoService->show($request->user_id, $resit));
return $this->resitPhotoService->show($request->user_id, $resit); return $this->resitPhotoService->show($request->user_id, $resit);
} }
public function laporanakaun (){ public function laporanakaun()
{
$arraydetails = []; $arraydetails = [];
$laporan= Lelong::join('cawangan_lelong','lelong.id','=','cawangan_lelong.lelong_id') $laporan = Lelong::join('cawangan_lelong', 'lelong.id', '=', 'cawangan_lelong.lelong_id')
// ->join('pengesahan','lelong.id','=','pengesahan.lelong_id') // ->join('pengesahan','lelong.id','=','pengesahan.lelong_id')
->select('cawangan_lelong.lelong_id','tarikh_lelong','lelong.fasa') ->select('cawangan_lelong.lelong_id', 'tarikh_lelong', 'lelong.fasa')
->distinct() ->distinct()
->orderBy('lelong.tarikh_lelong','DESC') ->orderBy('lelong.tarikh_lelong', 'DESC')
->get() ->get()
->toArray(); ->toArray();
// dd($laporan); // dd($laporan);
foreach ($laporan as $brg) {
foreach($laporan as $brg) $details = CawanganLelong::join('cawangan', 'cawangan_lelong.caw_id', '=', 'cawangan.id')
{
$details = CawanganLelong::join('cawangan','cawangan_lelong.caw_id','=','cawangan.id')
->where('lelong_id', $brg['lelong_id']) ->where('lelong_id', $brg['lelong_id'])
->distinct() ->distinct()
->orderBy('lelong_id','DESC') ->orderBy('lelong_id', 'DESC')
->get() ->get()
->toArray(); ->toArray();
array_push($arraydetails,['brg' => $brg, 'detailsbrg' => $details ]); array_push($arraydetails, ['brg' => $brg, 'detailsbrg' => $details]);
} }
return view('account.laporanakaun', compact('arraydetails')); return view('account.laporanakaun', compact('arraydetails'));
} }
public function laporanakaundetail ($lelong_id, $kodcaw){ public function laporanakaundetail($lelong_id, $kodcaw)
{
$lelonglel = Lelong::with('cawangan')->find($lelong_id); $lelonglel = Lelong::with('cawangan')->find($lelong_id);
@@ -752,15 +722,15 @@ class AccountController extends Controller
$listwinner = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id') $listwinner = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
->join('payment', 'lelongbidder.payment_id', '=', 'payment.id') ->join('payment', 'lelongbidder.payment_id', '=', 'payment.id')
->join('resit', 'resit.id', '=', 'payment.resit_id') ->join('resit', 'resit.id', '=', 'payment.resit_id')
->whereIn('payment.status_payment_opt', [2,3]) ->whereIn('payment.status_payment_opt', [2, 3])
->where('lelongbidder.status_bidder', 1) ->where('lelongbidder.status_bidder', 1)
->where('lelongbid.lelong_id', $lelong_id) ->where('lelongbid.lelong_id', $lelong_id)
->where('lelongbid.kodcaw', $kodcaw) ->where('lelongbid.kodcaw', $kodcaw)
->select('lelongbidder.user_id', 'lelongbid.lelong_id','lelongbid.kodcaw','resit.billplz_id','resit.paid_at','payment.norujukan','resit.total_payment as paid') ->select('lelongbidder.user_id', 'lelongbid.lelong_id', 'lelongbid.kodcaw', 'resit.billplz_id', 'resit.paid_at', 'payment.norujukan', 'resit.total_payment as paid')
->groupBy('lelongbidder.user_id') ->groupBy('lelongbidder.user_id')
->get(); ->get();
foreach($listwinner as $index=>$listing){ foreach ($listwinner as $index => $listing) {
$total_payment = 0; $total_payment = 0;
$userdetails = User::where('id', $listing['user_id'])->first(); $userdetails = User::where('id', $listing['user_id'])->first();
$SAGWin = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id') $SAGWin = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
@@ -770,35 +740,32 @@ class AccountController extends Controller
->where('lelongbidder.status_bidder', 1) ->where('lelongbidder.status_bidder', 1)
->where('lelongbid.lelong_id', $listing['lelong_id']) ->where('lelongbid.lelong_id', $listing['lelong_id'])
->get(); ->get();
foreach($SAGWin as $index2=>$sag) foreach ($SAGWin as $index2 => $sag) {
{
// dd($detailspayment); // dd($detailspayment);
$detailspayment = null; $detailspayment = null;
if($sag['payment_id'] != null) if ($sag['payment_id'] != null) {
{
$detailspayment = Payment::where('id', $sag['payment_id'])->first(); $detailspayment = Payment::where('id', $sag['payment_id'])->first();
$total_payment = $total_payment + $detailspayment->total_payment; $total_payment = $total_payment + $detailspayment->total_payment;
// dd($total_payment); // dd($total_payment);
}else } else {
{
$total_payment = '0.00'; $total_payment = '0.00';
} }
} }
$listwinner[$index]['details'] = $userdetails; $listwinner[$index]['details'] = $userdetails;
$listwinner[$index]['total_surat'] = sizeof($SAGWin); $listwinner[$index]['total_surat'] = count($SAGWin);
$listwinner[$index]['totalBid'] = $SAGWin->sum('hargabida'); $listwinner[$index]['totalBid'] = $SAGWin->sum('hargabida');
$listwinner[$index]['totalPay'] = $total_payment; $listwinner[$index]['totalPay'] = $total_payment;
$listwinner[$index]['jenisbayaran'] = $detailspayment ; $listwinner[$index]['jenisbayaran'] = $detailspayment;
} }
$getpengesahan = Cawangan::where('caw_code', $kodcaw)->first(); $getpengesahan = Cawangan::where('caw_code', $kodcaw)->first();
return view('account.laporanakaundetail', compact('lelonglel', 'listwinner', 'lelong_id', 'getpengesahan', 'cawanganDetail'));
return view('account.laporanakaundetail', compact('lelonglel','listwinner','lelong_id','getpengesahan','cawanganDetail'));
} }
public function laporanakaundetailexport (Request $request){ public function laporanakaundetailexport(Request $request)
{
$lelong_id = $request->lelong_id; $lelong_id = $request->lelong_id;
$kodcaw = $request->kodcaw; $kodcaw = $request->kodcaw;
@@ -810,15 +777,15 @@ class AccountController extends Controller
$listwinner = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id') $listwinner = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
->join('payment', 'lelongbidder.payment_id', '=', 'payment.id') ->join('payment', 'lelongbidder.payment_id', '=', 'payment.id')
->join('resit', 'resit.id', '=', 'payment.resit_id') ->join('resit', 'resit.id', '=', 'payment.resit_id')
->whereIn('payment.status_payment_opt', [2,3]) ->whereIn('payment.status_payment_opt', [2, 3])
->where('lelongbidder.status_bidder', 1) ->where('lelongbidder.status_bidder', 1)
->where('lelongbid.lelong_id', $lelong_id) ->where('lelongbid.lelong_id', $lelong_id)
->where('lelongbid.kodcaw', $kodcaw) ->where('lelongbid.kodcaw', $kodcaw)
->select('lelongbidder.user_id', 'lelongbid.lelong_id','lelongbid.kodcaw','resit.billplz_id','resit.paid_at','payment.norujukan','resit.total_payment as paid') ->select('lelongbidder.user_id', 'lelongbid.lelong_id', 'lelongbid.kodcaw', 'resit.billplz_id', 'resit.paid_at', 'payment.norujukan', 'resit.total_payment as paid')
->groupBy('lelongbidder.user_id') ->groupBy('lelongbidder.user_id')
->get(); ->get();
foreach($listwinner as $index=>$listing){ foreach ($listwinner as $index => $listing) {
$total_payment = 0; $total_payment = 0;
$userdetails = User::where('id', $listing['user_id'])->first(); $userdetails = User::where('id', $listing['user_id'])->first();
$SAGWin = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id') $SAGWin = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
@@ -828,37 +795,32 @@ class AccountController extends Controller
->where('lelongbidder.status_bidder', 1) ->where('lelongbidder.status_bidder', 1)
->where('lelongbid.lelong_id', $listing['lelong_id']) ->where('lelongbid.lelong_id', $listing['lelong_id'])
->get(); ->get();
foreach($SAGWin as $index2=>$sag) foreach ($SAGWin as $index2 => $sag) {
{
// dd($detailspayment); // dd($detailspayment);
$detailspayment = null; $detailspayment = null;
if($sag['payment_id'] != null) if ($sag['payment_id'] != null) {
{
$detailspayment = Payment::where('id', $sag['payment_id'])->first(); $detailspayment = Payment::where('id', $sag['payment_id'])->first();
$total_payment = $total_payment + $detailspayment->total_payment; $total_payment = $total_payment + $detailspayment->total_payment;
// dd($total_payment); // dd($total_payment);
}else } else {
{
$total_payment = '0.00'; $total_payment = '0.00';
} }
} }
$listwinner[$index]['details'] = $userdetails; $listwinner[$index]['details'] = $userdetails;
$listwinner[$index]['total_surat'] = sizeof($SAGWin); $listwinner[$index]['total_surat'] = count($SAGWin);
$listwinner[$index]['totalBid'] = $SAGWin->sum('hargabida'); $listwinner[$index]['totalBid'] = $SAGWin->sum('hargabida');
$listwinner[$index]['totalPay'] = $total_payment; $listwinner[$index]['totalPay'] = $total_payment;
$listwinner[$index]['jenisbayaran'] = $detailspayment ; $listwinner[$index]['jenisbayaran'] = $detailspayment;
} }
$getpengesahan = Cawangan::where('caw_code', $kodcaw)->first(); $getpengesahan = Cawangan::where('caw_code', $kodcaw)->first();
if($request->type == 'excel') if ($request->type == 'excel') {
{ return view('excel.laporanakaundetail_excel', compact('lelonglel', 'listwinner', 'lelong_id', 'getpengesahan', 'cawanganDetail'));
return view('excel.laporanakaundetail_excel', compact('lelonglel','listwinner','lelong_id','getpengesahan','cawanganDetail'));
}else } else {
{ $pdf = PDF::loadView('pdf.laporanakaundetailpdf', compact('lelonglel', 'listwinner', 'lelong_id', 'getpengesahan', 'cawanganDetail'))
$pdf = PDF::loadView('pdf.laporanakaundetailpdf',compact('lelonglel','listwinner','lelong_id','getpengesahan','cawanganDetail'))
->setPaper('a4', 'potrait'); ->setPaper('a4', 'potrait');
return $pdf->download('Laporan Bayaran Online Lelongan.pdf'); return $pdf->download('Laporan Bayaran Online Lelongan.pdf');
@@ -866,8 +828,8 @@ class AccountController extends Controller
} }
public function laporanakaundetailall($lelong_id)
public function laporanakaundetailall ($lelong_id){ {
$lelonglel = Lelong::with('cawangan')->find($lelong_id); $lelonglel = Lelong::with('cawangan')->find($lelong_id);
@@ -877,17 +839,17 @@ class AccountController extends Controller
$listwinner = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id') $listwinner = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
->join('payment', 'lelongbidder.payment_id', '=', 'payment.id') ->join('payment', 'lelongbidder.payment_id', '=', 'payment.id')
->join('resit', 'resit.id', '=', 'payment.resit_id') ->join('resit', 'resit.id', '=', 'payment.resit_id')
->whereIn('payment.status_payment_opt', [2,3]) ->whereIn('payment.status_payment_opt', [2, 3])
->where('lelongbidder.status_bidder', 1) ->where('lelongbidder.status_bidder', 1)
->where('lelongbid.lelong_id', $lelong_id) ->where('lelongbid.lelong_id', $lelong_id)
// ->where('lelongbid.kodcaw', $kodcaw) // ->where('lelongbid.kodcaw', $kodcaw)
->select('lelongbidder.user_id', 'lelongbid.lelong_id','lelongbid.kodcaw','resit.billplz_id','resit.paid_at','payment.norujukan','resit.total_payment as paid') ->select('lelongbidder.user_id', 'lelongbid.lelong_id', 'lelongbid.kodcaw', 'resit.billplz_id', 'resit.paid_at', 'payment.norujukan', 'resit.total_payment as paid')
->groupBy('resit.billplz_id') ->groupBy('resit.billplz_id')
->orderBy('lelongbid.kodcaw') ->orderBy('lelongbid.kodcaw')
->get(); ->get();
// dd($listwinner); // dd($listwinner);
foreach($listwinner as $index=>$listing){ foreach ($listwinner as $index => $listing) {
$total_payment = 0; $total_payment = 0;
$userdetails = User::where('id', $listing['user_id'])->first(); $userdetails = User::where('id', $listing['user_id'])->first();
$SAGWin = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id') $SAGWin = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
@@ -898,36 +860,34 @@ class AccountController extends Controller
->get(); ->get();
$cawanganDetail = Cawangan::where('caw_code', $listing['kodcaw'])->first(); $cawanganDetail = Cawangan::where('caw_code', $listing['kodcaw'])->first();
foreach($SAGWin as $index2=>$sag) foreach ($SAGWin as $index2 => $sag) {
{
// dd($detailspayment); // dd($detailspayment);
$detailspayment = null; $detailspayment = null;
if($sag['payment_id'] != null) if ($sag['payment_id'] != null) {
{
$detailspayment = Payment::where('id', $sag['payment_id'])->first(); $detailspayment = Payment::where('id', $sag['payment_id'])->first();
// dd($detailspayment); // dd($detailspayment);
$total_payment = $total_payment + $detailspayment->total_payment; $total_payment = $total_payment + $detailspayment->total_payment;
// dd($total_payment); // dd($total_payment);
}else } else {
{
$total_payment = '0.00'; $total_payment = '0.00';
} }
} }
$listwinner[$index]['details'] = $userdetails; $listwinner[$index]['details'] = $userdetails;
$listwinner[$index]['total_surat'] = sizeof($SAGWin); $listwinner[$index]['total_surat'] = count($SAGWin);
$listwinner[$index]['totalBid'] = $SAGWin->sum('hargabida'); $listwinner[$index]['totalBid'] = $SAGWin->sum('hargabida');
$listwinner[$index]['totalPay'] = $total_payment; $listwinner[$index]['totalPay'] = $total_payment;
$listwinner[$index]['jenisbayaran'] = $detailspayment ; $listwinner[$index]['jenisbayaran'] = $detailspayment;
$listwinner[$index]['caw_name'] = $cawanganDetail ; $listwinner[$index]['caw_name'] = $cawanganDetail;
} }
$getpengesahan = Cawangan::first(); $getpengesahan = Cawangan::first();
return view('account.laporanakaundetailall', compact('lelonglel', 'listwinner', 'lelong_id', 'getpengesahan', 'cawanganDetail'));
return view('account.laporanakaundetailall', compact('lelonglel','listwinner','lelong_id','getpengesahan','cawanganDetail'));
} }
public function laporanakaundetailallexport(Request $request){
public function laporanakaundetailallexport(Request $request)
{
$lelong_id = $request->lelong_id; $lelong_id = $request->lelong_id;
$kodcaw = $request->kodcaw; $kodcaw = $request->kodcaw;
@@ -939,16 +899,16 @@ class AccountController extends Controller
$listwinner = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id') $listwinner = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
->join('payment', 'lelongbidder.payment_id', '=', 'payment.id') ->join('payment', 'lelongbidder.payment_id', '=', 'payment.id')
->join('resit', 'resit.id', '=', 'payment.resit_id') ->join('resit', 'resit.id', '=', 'payment.resit_id')
->whereIn('payment.status_payment_opt', [2,3]) ->whereIn('payment.status_payment_opt', [2, 3])
->where('lelongbidder.status_bidder', 1) ->where('lelongbidder.status_bidder', 1)
->where('lelongbid.lelong_id', $lelong_id) ->where('lelongbid.lelong_id', $lelong_id)
// ->where('lelongbid.kodcaw', $kodcaw) // ->where('lelongbid.kodcaw', $kodcaw)
->select('lelongbidder.user_id', 'lelongbid.lelong_id','lelongbid.kodcaw','resit.billplz_id','resit.paid_at','payment.norujukan', 'resit.total_payment as paid') ->select('lelongbidder.user_id', 'lelongbid.lelong_id', 'lelongbid.kodcaw', 'resit.billplz_id', 'resit.paid_at', 'payment.norujukan', 'resit.total_payment as paid')
->groupBy('resit.billplz_id') ->groupBy('resit.billplz_id')
->orderBy('lelongbid.kodcaw') ->orderBy('lelongbid.kodcaw')
->get(); ->get();
foreach($listwinner as $index=>$listing){ foreach ($listwinner as $index => $listing) {
$total_payment = 0; $total_payment = 0;
$userdetails = User::where('id', $listing['user_id'])->first(); $userdetails = User::where('id', $listing['user_id'])->first();
$SAGWin = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id') $SAGWin = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
@@ -958,44 +918,37 @@ class AccountController extends Controller
->where('lelongbid.lelong_id', $listing['lelong_id']) ->where('lelongbid.lelong_id', $listing['lelong_id'])
->get(); ->get();
$cawanganDetail = Cawangan::where('caw_code', $listing['kodcaw'])->first(); $cawanganDetail = Cawangan::where('caw_code', $listing['kodcaw'])->first();
foreach($SAGWin as $index2=>$sag) foreach ($SAGWin as $index2 => $sag) {
{
// dd($detailspayment); // dd($detailspayment);
$detailspayment = null; $detailspayment = null;
if($sag['payment_id'] != null) if ($sag['payment_id'] != null) {
{
$detailspayment = Payment::where('id', $sag['payment_id'])->first(); $detailspayment = Payment::where('id', $sag['payment_id'])->first();
$total_payment = $total_payment + $detailspayment->total_payment; $total_payment = $total_payment + $detailspayment->total_payment;
// dd($total_payment); // dd($total_payment);
}else } else {
{
$total_payment = '0.00'; $total_payment = '0.00';
} }
} }
$listwinner[$index]['details'] = $userdetails; $listwinner[$index]['details'] = $userdetails;
$listwinner[$index]['total_surat'] = sizeof($SAGWin); $listwinner[$index]['total_surat'] = count($SAGWin);
$listwinner[$index]['totalBid'] = $SAGWin->sum('hargabida'); $listwinner[$index]['totalBid'] = $SAGWin->sum('hargabida');
$listwinner[$index]['totalPay'] = $total_payment; $listwinner[$index]['totalPay'] = $total_payment;
$listwinner[$index]['jenisbayaran'] = $detailspayment ; $listwinner[$index]['jenisbayaran'] = $detailspayment;
$listwinner[$index]['caw_name'] = $cawanganDetail ; $listwinner[$index]['caw_name'] = $cawanganDetail;
} }
$getpengesahan = Cawangan::where('caw_code', $kodcaw)->first(); $getpengesahan = Cawangan::where('caw_code', $kodcaw)->first();
if($request->type == 'excel') if ($request->type == 'excel') {
{ return view('excel.laporanakaundetailall_excel', compact('lelonglel', 'listwinner', 'lelong_id', 'getpengesahan', 'cawanganDetail'));
return view('excel.laporanakaundetailall_excel', compact('lelonglel','listwinner','lelong_id','getpengesahan','cawanganDetail'));
}else } else {
{ $pdf = PDF::loadView('pdf.laporanakaundetailallpdf', compact('lelonglel', 'listwinner', 'lelong_id', 'getpengesahan', 'cawanganDetail'))
$pdf = PDF::loadView('pdf.laporanakaundetailallpdf',compact('lelonglel','listwinner','lelong_id','getpengesahan','cawanganDetail'))
->setPaper('a4', 'potrait'); ->setPaper('a4', 'potrait');
return $pdf->download('Laporan Bayaran Online Lelongan Keseluruhan.pdf'); return $pdf->download('Laporan Bayaran Online Lelongan Keseluruhan.pdf');
} }
} }
} }
+97 -130
View File
@@ -3,44 +3,22 @@
namespace App\Http\Controllers; namespace App\Http\Controllers;
use App\Events\PaymentNotify; use App\Events\PaymentNotify;
use Illuminate\Http\Request;
use Spatie\Permission\Models\Role;
use Spatie\Permission\Models\Permission;
use Illuminate\Support\Facades\Auth;
use App\Models\User;
use PDF;
use App\Models\Cawangan;
use App\Models\JenisEmas; use App\Models\JenisEmas;
use App\Models\JenisKarat; use App\Models\JenisKarat;
use App\Models\Simulasi;
use App\Models\SimulasiBid;
use App\Models\SimulasiBidMarhun;
use App\Models\SimKarat;
use App\Models\SimKarat_temp;
use App\Models\CawanganSimulasi;
use App\Models\Lelong; use App\Models\Lelong;
use App\Models\CawanganLelong;
use App\Models\LelongBid; use App\Models\LelongBid;
use App\Models\LelongBidMarhun;
use App\Models\LelKarat;
use App\Models\LelKarat_temp;
use App\Models\LelongBidder; use App\Models\LelongBidder;
use App\Models\Resit;
use App\Models\Payment;
use Session;
use Carbon\Carbon;
use Money\Money;
use Billplz\Client;
use Http\Client\Common\HttpMethodsClient;
use Http\Adapter\Guzzle7\Client as GuzzleHttpClient;
use Http\Message\MessageFactory\GuzzleMessageFactory;
use App\Models\LogUser; use App\Models\LogUser;
use App\Jobs\WhatsappPembidaFPXPaid; use App\Models\Payment;
use App\Models\Resit;
use App\Models\User;
use Billplz\Client;
use Carbon\Carbon;
use Http\Adapter\Guzzle7\Client as GuzzleHttpClient;
use Http\Client\Common\HttpMethodsClient;
use Http\Message\MessageFactory\GuzzleMessageFactory;
use Illuminate\Http\Request;
use Money\Money;
class ApiController extends Controller class ApiController extends Controller
{ {
@@ -55,16 +33,17 @@ class ApiController extends Controller
* *
* @return \Illuminate\Contracts\Support\Renderable * @return \Illuminate\Contracts\Support\Renderable
*/ */
public function __construct(){ public function __construct()
//parent::__construct(); {
if(config('app.env') != 'production'){ // parent::__construct();
if (config('app.env') != 'production') {
$this->api_key = 'abecfd0c-98d8-4635-abc2-2fcba8c60c11';
$this->XSignature_Key = 'S-GWr7z03XjAhqPsFfu_H5nQ';
$this->collection_id = 'bwdtejv0';
} else {
$this->api_key = 'f3e82fe1-a422-4660-97f0-65cc59ff6c47'; $this->api_key = 'f3e82fe1-a422-4660-97f0-65cc59ff6c47';
$this->XSignature_Key = 'S-alZUbzmD2_TF3vmrRqgehQ'; $this->XSignature_Key = 'S-alZUbzmD2_TF3vmrRqgehQ';
$this->collection_id = 'do6x2mhg'; $this->collection_id = 'lx_bplsb';
}else{
$this->api_key = 'f4e099e5-88ca-4712-a01e-b7e1daf78ce2';
$this->XSignature_Key = 'S-OApBh3DIwelPcWPzlMLMeg';
$this->collection_id = 'do6x2mhg';
} }
} }
@@ -74,30 +53,26 @@ class ApiController extends Controller
$currentdate = Carbon::now(); $currentdate = Carbon::now();
$currentdate = $currentdate->toDateString(); $currentdate = $currentdate->toDateString();
// dd($currentdate->toDateString()); // dd($currentdate->toDateString());
$lelong = Lelong::where('tarikh_lelong','=',$currentdate)->get(); $lelong = Lelong::where('tarikh_lelong', '=', $currentdate)->get();
$arrayID = []; $arrayID = [];
foreach($lelong as $data) foreach ($lelong as $data) {
{ array_push($arrayID, $data->id);
array_push($arrayID,$data->id);
} }
$lelongbid = LelongBid::whereIn('lelong_id',$arrayID) $lelongbid = LelongBid::whereIn('lelong_id', $arrayID)
->join('lelongbidmarhun','lelongbid.id','=','lelongbidmarhun.lelongbid_id') ->join('lelongbidmarhun', 'lelongbid.id', '=', 'lelongbidmarhun.lelongbid_id')
->get(); ->get();
$surat = LelongBid::whereIn('lelong_id',$arrayID)->get(); $surat = LelongBid::whereIn('lelong_id', $arrayID)->get();
if(sizeof($lelongbid)!=0) if (count($lelongbid) != 0) {
{
return response()->json([ return response()->json([
'success' => true, 'success' => true,
'lelong' => $lelong, 'lelong' => $lelong,
'surat' => $surat, 'surat' => $surat,
'item' => $lelongbid 'item' => $lelongbid,
]); ]);
} } else {
else
{
return response()->json([ return response()->json([
'success' => false, 'success' => false,
'message' => 'No Data', 'message' => 'No Data',
@@ -111,17 +86,13 @@ class ApiController extends Controller
$jenisemas = JenisEmas::all(); $jenisemas = JenisEmas::all();
$jeniskarat = JenisKarat::all(); $jeniskarat = JenisKarat::all();
if (count($jenisemas) != 0 && count($jeniskarat) != 0) {
if(sizeof($jenisemas)!=0 && sizeof($jeniskarat)!=0 )
{
return response()->json([ return response()->json([
'success' => true, 'success' => true,
'karat' => $jeniskarat, 'karat' => $jeniskarat,
'emas' => $jenisemas 'emas' => $jenisemas,
]); ]);
} } else {
else
{
return response()->json([ return response()->json([
'success' => false, 'success' => false,
'message' => 'No Data', 'message' => 'No Data',
@@ -133,18 +104,19 @@ class ApiController extends Controller
{ {
return view('pembayaran.testbillplz'); return view('pembayaran.testbillplz');
} }
public function feepayment(Request $request) public function feepayment(Request $request)
{ {
$arraycollection_id = array(); $arraycollection_id = [];
$http = new HttpMethodsClient( $http = new HttpMethodsClient(
new GuzzleHttpClient(), new GuzzleHttpClient,
new GuzzleMessageFactory() new GuzzleMessageFactory
); );
$billplz = new Client($http, $this->api_key); $billplz = new Client($http, $this->api_key);
if(config('app.env') != 'production'){ if (config('app.env') != 'production') {
$billplz->useSandbox(); $billplz->useSandbox();
} }
@@ -153,7 +125,7 @@ class ApiController extends Controller
$bill = $billplz->bill(); $bill = $billplz->bill();
$current = Carbon::now(); $current = Carbon::now();
$current = new Carbon(); $current = new Carbon;
$day = $current->day; $day = $current->day;
$month = $current->month; $month = $current->month;
@@ -174,10 +146,10 @@ class ApiController extends Controller
// ['redirect_url' => url('http://localhost:8080/test')] // ['redirect_url' => url('http://localhost:8080/test')]
); );
// dd($response); // dd($response);
$previous_siri = Resit::orderBy('id','desc')->first(); $previous_siri = Resit::orderBy('id', 'desc')->first();
if($previous_siri){ if ($previous_siri) {
$nosiri = $previous_siri->id + 1; $nosiri = $previous_siri->id + 1;
}else{ } else {
$nosiri = 1; $nosiri = 1;
} }
@@ -185,7 +157,7 @@ class ApiController extends Controller
// dd($billcode); // dd($billcode);
// $billcode['redirect_url'] = 'http://192.168.0.10:8003/api/pembayaran/response'; // $billcode['redirect_url'] = 'http://192.168.0.10:8003/api/pembayaran/response';
// dd($billcode); // dd($billcode);
$reference_no = 'LPKB' . $day . $month . $year . sprintf("%08d", $nosiri); $reference_no = 'LPKB'.$day.$month.$year.sprintf('%08d', $nosiri);
// $response2 = $bill->get($billcode['id']); // $response2 = $bill->get($billcode['id']);
// dd($response2->toArray()); // dd($response2->toArray());
$resit = new Resit; $resit = new Resit;
@@ -197,7 +169,6 @@ class ApiController extends Controller
$resit->total_payment = 10; $resit->total_payment = 10;
$resit->save(); $resit->save();
// return redirect($billcode['url'] . '?auto_submit=true'); // return redirect($billcode['url'] . '?auto_submit=true');
return response()->json([ return response()->json([
'success' => true, 'success' => true,
@@ -207,15 +178,16 @@ class ApiController extends Controller
// return view('pembayaran.result.berjaya',compact('arraybayaran')); // return view('pembayaran.result.berjaya',compact('arraybayaran'));
} }
public function callback(Request $request){ public function callback(Request $request)
{
// dd('hye callback'); // dd('hye callback');
$http = new HttpMethodsClient( $http = new HttpMethodsClient(
new GuzzleHttpClient(), new GuzzleHttpClient,
new GuzzleMessageFactory() new GuzzleMessageFactory
); );
$billplz = new Client($http, $this->api_key); $billplz = new Client($http, $this->api_key);
if(config('app.env') != 'production'){ if (config('app.env') != 'production') {
$billplz->useSandbox(); $billplz->useSandbox();
} }
$billplz->useVersion('v4'); $billplz->useVersion('v4');
@@ -224,8 +196,8 @@ class ApiController extends Controller
$data = $bill->webhook($request->toArray()); $data = $bill->webhook($request->toArray());
if($data['billplz']['paid'] == 'true'){ if ($data['billplz']['paid'] == 'true') {
$resit = Resit::where('billplz_id','=',$data['billplz']['id'])->first(); $resit = Resit::where('billplz_id', '=', $data['billplz']['id'])->first();
$resit->status = 'PAID'; $resit->status = 'PAID';
$resit->paid_at = $data['billplz']['paid_at']; $resit->paid_at = $data['billplz']['paid_at'];
$resit->save(); $resit->save();
@@ -235,12 +207,12 @@ class ApiController extends Controller
$payment->lelong_id = $resit->lelong_id; $payment->lelong_id = $resit->lelong_id;
$payment->total_payment = $resit->total_payment; $payment->total_payment = $resit->total_payment;
$payment->resit_id = $resit->id; $payment->resit_id = $resit->id;
$payment->status_payment_opt = 2; //bayar secara online 2 $payment->status_payment_opt = 2; // bayar secara online 2
$payment->status = 1; //fee rm10 - 1 $payment->status = 1; // fee rm10 - 1
$payment->remark = 'BAYARAN ONLINE'; $payment->remark = 'BAYARAN ONLINE';
$payment->save(); $payment->save();
event(new PaymentNotify('PAID',$resit->user_id,$payment->id)); event(new PaymentNotify('PAID', $resit->user_id, $payment->id));
$success = true; $success = true;
@@ -251,10 +223,10 @@ class ApiController extends Controller
// 'resit' => $resit // 'resit' => $resit
// ]); // ]);
return view('pembida.feePaymentResult',compact('data', 'result', 'success')); return view('pembida.feePaymentResult', compact('data', 'result', 'success'));
}else{ } else {
$resit = Resit::where('billplz_id','=',$data['billplz']['id'])->first(); $resit = Resit::where('billplz_id', '=', $data['billplz']['id'])->first();
$resit->status = 'UNSUCCESSFUL'; $resit->status = 'UNSUCCESSFUL';
$resit->paid_at = null; $resit->paid_at = null;
$resit->save(); $resit->save();
@@ -263,24 +235,26 @@ class ApiController extends Controller
$success = false; $success = false;
event(new PaymentNotify('UNSUCCESSFUL',$resit->user_id,'')); event(new PaymentNotify('UNSUCCESSFUL', $resit->user_id, ''));
// return response()->json([ // return response()->json([
// 'success' => false, // 'success' => false,
// 'resit' => $resit // 'resit' => $resit
// ]); // ]);
return view('pembida.feePaymentResult',compact('data', 'result', 'success')); return view('pembida.feePaymentResult', compact('data', 'result', 'success'));
} }
} }
public function response(Request $request){ public function response(Request $request)
{
// dd('hye response'); // dd('hye response');
$http = new HttpMethodsClient( $http = new HttpMethodsClient(
new GuzzleHttpClient(), new GuzzleHttpClient,
new GuzzleMessageFactory() new GuzzleMessageFactory
); );
$billplz = new Client($http, $this->api_key); $billplz = new Client($http, $this->api_key);
if(config('app.env') != 'production'){ if (config('app.env') != 'production') {
$billplz->useSandbox(); $billplz->useSandbox();
} }
$billplz->useVersion('v4'); $billplz->useVersion('v4');
@@ -290,8 +264,8 @@ class ApiController extends Controller
$response = $bill->get($req['billplz']['id']); $response = $bill->get($req['billplz']['id']);
$data = $response->toArray(); $data = $response->toArray();
// dd($data); // dd($data);
if($data['paid'] == 'true'){ if ($data['paid'] == 'true') {
$resit = Resit::where('billplz_id','=',$data['id'])->first(); $resit = Resit::where('billplz_id', '=', $data['id'])->first();
$resit->status = 'PAID'; $resit->status = 'PAID';
$resit->paid_at = $data['paid_at']; $resit->paid_at = $data['paid_at'];
$resit->save(); $resit->save();
@@ -301,12 +275,12 @@ class ApiController extends Controller
$payment->lelong_id = $resit->lelong_id; $payment->lelong_id = $resit->lelong_id;
$payment->total_payment = $resit->total_payment; $payment->total_payment = $resit->total_payment;
$payment->resit_id = $resit->id; $payment->resit_id = $resit->id;
$payment->status_payment_opt = 2; //bayar secara online 2 $payment->status_payment_opt = 2; // bayar secara online 2
$payment->status = 1; //fee rm10 - 1 $payment->status = 1; // fee rm10 - 1
$payment->remark = 'BAYARAN ONLINE'; $payment->remark = 'BAYARAN ONLINE';
$payment->save(); $payment->save();
event(new PaymentNotify('PAID',$resit->user_id,$payment->id)); event(new PaymentNotify('PAID', $resit->user_id, $payment->id));
$success = true; $success = true;
@@ -317,12 +291,12 @@ class ApiController extends Controller
// 'resit' => $resit // 'resit' => $resit
// ]); // ]);
return view('pembida.feePaymentResult',compact('data', 'result', 'success')); return view('pembida.feePaymentResult', compact('data', 'result', 'success'));
// return redirect()->to('http://localhost:8080/test')->with(['resit'=>$resit]); // return redirect()->to('http://localhost:8080/test')->with(['resit'=>$resit]);
}else{ } else {
$resit = Resit::where('billplz_id','=',$data['id'])->first(); $resit = Resit::where('billplz_id', '=', $data['id'])->first();
$resit->status = 'UNSUCCESSFUL'; $resit->status = 'UNSUCCESSFUL';
$resit->paid_at = null; $resit->paid_at = null;
$resit->save(); $resit->save();
@@ -331,26 +305,27 @@ class ApiController extends Controller
$success = false; $success = false;
event(new PaymentNotify('UNSUCCESSFUL',$resit->user_id,'')); event(new PaymentNotify('UNSUCCESSFUL', $resit->user_id, ''));
// return response()->json([ // return response()->json([
// 'success' => false, // 'success' => false,
// 'resit' => $resit // 'resit' => $resit
// ]); // ]);
return view('pembida.feePaymentResult',compact('data', 'result', 'success')); return view('pembida.feePaymentResult', compact('data', 'result', 'success'));
} }
} }
public function bidpayment(Request $request) public function bidpayment(Request $request)
{ {
$arraycollection_id = array(); $arraycollection_id = [];
$http = new HttpMethodsClient( $http = new HttpMethodsClient(
new GuzzleHttpClient(), new GuzzleHttpClient,
new GuzzleMessageFactory() new GuzzleMessageFactory
); );
$billplz = new Client($http, $this->api_key); $billplz = new Client($http, $this->api_key);
if(config('app.env') != 'production'){ if (config('app.env') != 'production') {
$billplz->useSandbox(); $billplz->useSandbox();
} }
@@ -359,13 +334,13 @@ class ApiController extends Controller
$bill = $billplz->bill(); $bill = $billplz->bill();
$current = Carbon::now(); $current = Carbon::now();
$current = new Carbon(); $current = new Carbon;
$day = $current->day; $day = $current->day;
$month = $current->month; $month = $current->month;
$year = $current->format('y'); $year = $current->format('y');
$total_bayaran = ($request->total)*100+100; $total_bayaran = ($request->total) * 100 + 100;
// dump($request->total); // dump($request->total);
// dd($total_bayaran); // dd($total_bayaran);
@@ -381,10 +356,10 @@ class ApiController extends Controller
['redirect_url' => route('pay.bidpaymentStatus')] ['redirect_url' => route('pay.bidpaymentStatus')]
); );
// dd($response->toArray()); // dd($response->toArray());
$previous_siri = Resit::orderBy('id','desc')->first(); $previous_siri = Resit::orderBy('id', 'desc')->first();
if($previous_siri){ if ($previous_siri) {
$nosiri = $previous_siri->id + 1; $nosiri = $previous_siri->id + 1;
}else{ } else {
$nosiri = 1; $nosiri = 1;
} }
@@ -392,7 +367,7 @@ class ApiController extends Controller
// dd($billcode); // dd($billcode);
// $billcode['redirect_url'] = 'http://192.168.0.10:8003/api/pembayaran/response'; // $billcode['redirect_url'] = 'http://192.168.0.10:8003/api/pembayaran/response';
// dd($billcode); // dd($billcode);
$reference_no = 'LPKB' . $day . $month . $year . sprintf("%08d", $nosiri); $reference_no = 'LPKB'.$day.$month.$year.sprintf('%08d', $nosiri);
// $response2 = $bill->get($billcode['id']); // $response2 = $bill->get($billcode['id']);
// dd($response2->toArray()); // dd($response2->toArray());
@@ -401,7 +376,7 @@ class ApiController extends Controller
$resit->lelong_id = $request->lelong_id; $resit->lelong_id = $request->lelong_id;
$resit->reference_no = $reference_no; $resit->reference_no = $reference_no;
$resit->billplz_id = $billcode['id']; $resit->billplz_id = $billcode['id'];
$resit->resit_type = 2; //billplz resit for bid payment $resit->resit_type = 2; // billplz resit for bid payment
$resit->total_payment = $request->total; $resit->total_payment = $request->total;
$resit->invoice_id = $request->invoice_id; $resit->invoice_id = $request->invoice_id;
$resit->invoice_no = $request->invoice_no; $resit->invoice_no = $request->invoice_no;
@@ -419,14 +394,13 @@ class ApiController extends Controller
$payment->lelongbid_id = $index['lelongbid_id']; $payment->lelongbid_id = $index['lelongbid_id'];
$payment->norujukan = $index['norujukan']; $payment->norujukan = $index['norujukan'];
$payment->total_payment = $index['total_payment']; $payment->total_payment = $index['total_payment'];
$payment->status_payment_opt = 2; //bayar secara online 2 $payment->status_payment_opt = 2; // bayar secara online 2
$payment->status = 0; //0-unpaid //1-fee //2-bid $payment->status = 0; // 0-unpaid //1-fee //2-bid
$payment->remark = ''; $payment->remark = '';
$payment->resit_id = $resit->id; $payment->resit_id = $resit->id;
$payment->save(); $payment->save();
} }
// return redirect($billcode['url'] . '?auto_submit=true'); // return redirect($billcode['url'] . '?auto_submit=true');
return response()->json([ return response()->json([
'success' => true, 'success' => true,
@@ -439,8 +413,8 @@ class ApiController extends Controller
{ {
// dd('hye callback'); // dd('hye callback');
$http = new HttpMethodsClient( $http = new HttpMethodsClient(
new GuzzleHttpClient(), new GuzzleHttpClient,
new GuzzleMessageFactory() new GuzzleMessageFactory
); );
$billplz = new Client($http, $this->api_key); $billplz = new Client($http, $this->api_key);
@@ -482,8 +456,8 @@ class ApiController extends Controller
->where('resit_id', $resit->id) ->where('resit_id', $resit->id)
->get(); ->get();
foreach ($payment as $index) { foreach ($payment as $index) {
$index->status = 2; //0-unpaid //1-fee //2-bid $index->status = 2; // 0-unpaid //1-fee //2-bid
$index->remark = "BERJAYA BAYARAN ONLINE"; $index->remark = 'BERJAYA BAYARAN ONLINE';
$index->update(); $index->update();
// $updateTag = LelongBid::where('lelongbid.norujukan', $index->norujukan)->first(); // $updateTag = LelongBid::where('lelongbid.norujukan', $index->norujukan)->first();
@@ -543,8 +517,8 @@ class ApiController extends Controller
{ {
// dd($request->all()); // dd($request->all());
$http = new HttpMethodsClient( $http = new HttpMethodsClient(
new GuzzleHttpClient(), new GuzzleHttpClient,
new GuzzleMessageFactory() new GuzzleMessageFactory
); );
$billplz = new Client($http, $this->api_key); $billplz = new Client($http, $this->api_key);
@@ -587,8 +561,8 @@ class ApiController extends Controller
->get(); ->get();
foreach ($payment as $index) { foreach ($payment as $index) {
$index->status = 2; //0-unpaid //1-fee //2-bid $index->status = 2; // 0-unpaid //1-fee //2-bid
$index->remark = "BERJAYA BAYARAN ONLINE"; $index->remark = 'BERJAYA BAYARAN ONLINE';
$index->update(); $index->update();
// $updateTag = LelongBid::where('lelongbid.norujukan', $index->norujukan)->first(); // $updateTag = LelongBid::where('lelongbid.norujukan', $index->norujukan)->first();
@@ -647,14 +621,13 @@ class ApiController extends Controller
} }
} }
// BillplzService.php atau ApiController.php // BillplzService.php atau ApiController.php
public function processPaidResit(array $data) public function processPaidResit(array $data)
{ {
$currentdate = Carbon::now(); $currentdate = Carbon::now();
$currentdate = $currentdate->toDateTimeString(); $currentdate = $currentdate->toDateTimeString();
$loguser = new LogUser; $loguser = new LogUser;
$loguser->user_id = User::where('name','System')->first()->id; $loguser->user_id = User::where('name', 'System')->first()->id;
$loguser->date = $currentdate; $loguser->date = $currentdate;
$loguser->username = 'System'; $loguser->username = 'System';
$loguser->nama_user = 'System'; $loguser->nama_user = 'System';
@@ -664,7 +637,7 @@ class ApiController extends Controller
$resit = Resit::where('billplz_id', '=', $data['billplz']['id'])->first(); $resit = Resit::where('billplz_id', '=', $data['billplz']['id'])->first();
if (!$resit) { if (! $resit) {
return false; return false;
} }
@@ -684,7 +657,7 @@ class ApiController extends Controller
foreach ($payment as $index) { foreach ($payment as $index) {
$index->status = 2; $index->status = 2;
$index->remark = "BERJAYA BAYARAN ONLINE"; $index->remark = 'BERJAYA BAYARAN ONLINE';
$index->update(); $index->update();
$updateTagBid = LelongBid::where('norujukan', $index->norujukan)->first(); $updateTagBid = LelongBid::where('norujukan', $index->norujukan)->first();
@@ -703,13 +676,7 @@ class ApiController extends Controller
} }
event(new PaymentNotify('PAID', $resit->user_id, $payment)); event(new PaymentNotify('PAID', $resit->user_id, $payment));
//notifikasi wasap kepada pembida//
WhatsappPembidaFPXPaid::dispatch($resit->user_id,
$resit->id,
$resit->total_payment);
return true; return true;
} }
} }
View File
View File
+32
View File
@@ -3,8 +3,10 @@
namespace App\Http\Controllers\Auth; namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use App\Models\User;
use App\Providers\RouteServiceProvider; use App\Providers\RouteServiceProvider;
use Illuminate\Foundation\Auth\AuthenticatesUsers; use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Illuminate\Http\Request;
class LoginController extends Controller class LoginController extends Controller
{ {
@@ -38,6 +40,13 @@ class LoginController extends Controller
$this->middleware('guest')->except('logout'); $this->middleware('guest')->except('logout');
} }
protected function credentials(\Illuminate\Http\Request $request)
{
return array_merge($request->only($this->username(), 'password'), [
'status' => 'active',
]);
}
public function username() public function username()
{ {
return 'username'; return 'username';
@@ -47,4 +56,27 @@ class LoginController extends Controller
{ {
return redirect()->route('login'); return redirect()->route('login');
} }
/**
* In local env, accept any password for an existing username.
*/
protected function attemptLogin(Request $request)
{
if (app()->environment('local')) {
$user = User::where($this->username(), $request->input($this->username()))->first();
if ($user) {
$this->guard()->login($user, $request->filled('remember'));
return true;
}
return false;
}
return $this->guard()->attempt(
$this->credentials($request),
$request->filled('remember')
);
}
} }
+1 -3
View File
@@ -3,8 +3,8 @@
namespace App\Http\Controllers\Auth; namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use App\Providers\RouteServiceProvider;
use App\Models\User; use App\Models\User;
use App\Providers\RouteServiceProvider;
use Illuminate\Foundation\Auth\RegistersUsers; use Illuminate\Foundation\Auth\RegistersUsers;
use Illuminate\Support\Facades\Hash; use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Validator; use Illuminate\Support\Facades\Validator;
@@ -44,7 +44,6 @@ class RegisterController extends Controller
/** /**
* Get a validator for an incoming registration request. * Get a validator for an incoming registration request.
* *
* @param array $data
* @return \Illuminate\Contracts\Validation\Validator * @return \Illuminate\Contracts\Validation\Validator
*/ */
protected function validator(array $data) protected function validator(array $data)
@@ -59,7 +58,6 @@ class RegisterController extends Controller
/** /**
* Create a new user instance after a valid registration. * Create a new user instance after a valid registration.
* *
* @param array $data
* @return \App\Models\User * @return \App\Models\User
*/ */
protected function create(array $data) protected function create(array $data)
+1 -1
View File
@@ -3,9 +3,9 @@
namespace App\Http\Controllers\Auth; namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use App\Models\User;
use App\Providers\RouteServiceProvider; use App\Providers\RouteServiceProvider;
use Illuminate\Foundation\Auth\ResetsPasswords; use Illuminate\Foundation\Auth\ResetsPasswords;
use App\Models\User;
class ResetPasswordController extends Controller class ResetPasswordController extends Controller
{ {
View File
+149 -57
View File
@@ -2,22 +2,23 @@
namespace App\Http\Controllers\AuthMobile; namespace App\Http\Controllers\AuthMobile;
use Illuminate\Support\Facades\Auth;
use Carbon\Carbon;
use App\Models\User;
use App\Models\File;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use App\Mail\ResetPassword;
use App\Mail\VerifyEmail;
use App\Models\Staff; use App\Models\Staff;
use App\Models\User;
use Carbon\Carbon;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash; use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Mail;
use Illuminate\Support\Facades\Validator; use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Str; use Illuminate\Support\Str;
use Illuminate\Support\Facades\Mail;
use App\Mail\ResetPassword;
class AuthController extends Controller class AuthController extends Controller
{ {
public function register(Request $request) { public function register(Request $request)
{
// dd($request->all); // dd($request->all);
$validator = Validator::make($request->all(), [ $validator = Validator::make($request->all(), [
'name' => 'required|string', 'name' => 'required|string',
@@ -27,14 +28,15 @@ class AuthController extends Controller
'email' => 'required|string|unique:users|email', 'email' => 'required|string|unique:users|email',
'notelbimbit' => 'required|string|unique:users', 'notelbimbit' => 'required|string|unique:users',
'register_agree' => 'required|integer', 'register_agree' => 'required|integer',
'alamat' => 'required' 'alamat' => 'required',
]); ]);
if ($validator->fails()) { if ($validator->fails()) {
$errors = [ $errors = [
'success' => false, 'success' => false,
'message' => $validator->errors() 'message' => $validator->errors(),
]; ];
return response($errors, 201); return response($errors, 201);
} }
// Retrieve the validated input... // Retrieve the validated input...
@@ -44,19 +46,19 @@ class AuthController extends Controller
$check_staff = Staff::where('nokp', '=', $convert_ic_to_hyphen) $check_staff = Staff::where('nokp', '=', $convert_ic_to_hyphen)
->orWhere('nokp', '=', $fields['nokp']) ->orWhere('nokp', '=', $fields['nokp'])
->first(); ->first();
if($check_staff) if ($check_staff) {
{
$errors = [ $errors = [
'success' => "Staff", 'success' => 'Staff',
'message' => "Staff tidak dibenarkan mendaftar." 'message' => 'Staff tidak dibenarkan mendaftar.',
]; ];
return response($errors, 201); return response($errors, 201);
} }
$currentdate = Carbon::now(); $currentdate = Carbon::now();
$currentdate = $currentdate->toDateTimeString(); $currentdate = $currentdate->toDateTimeString();
$verificationToken = Str::random(60);
$user = new User; $user = new User;
$user->name = $fields['name']; $user->name = $fields['name'];
$user->username = $fields['username']; $user->username = $fields['username'];
@@ -67,113 +69,146 @@ class AuthController extends Controller
$user->register_agree = $fields['register_agree']; $user->register_agree = $fields['register_agree'];
$user->t_daftar = $currentdate; $user->t_daftar = $currentdate;
$user->status = 'active'; $user->status = 'active';
$user->user_type = 2; //type 2 = pembida $user->user_type = 2; // type 2 = pembida
$user->alamat = $fields['alamat']; $user->alamat = $fields['alamat'];
$user->token = $verificationToken;
$user->is_verified = 0;
$user->email_verified_at = null;
$user->save(); $user->save();
// if($user->save()) $verifyUrl = url('/api/verifyEmail').'?'.http_build_query([
// { 'email' => $user->email,
// $images = $request->images; 'token' => $verificationToken,
// foreach($images as $img) ]);
// {
// $file = new File;
// $file->user_id = $user->id;
// $file->file_type = $img['file_type'];
// $file->filename = $img['filename'];
// $file->save();
// } Mail::to($user->email)->send(new VerifyEmail($user->name, $verifyUrl));
// }
$token = $user->createToken('myapptoken')->plainTextToken;
$response = [ $response = [
'success' => true, 'success' => true,
'message' => 'Pendaftaran berjaya. Sila semak emel anda untuk pautan pengesahan.',
'user' => $user, 'user' => $user,
'token' => $token
]; ];
return response($response, 201); return response($response, 201);
} }
public function verifyEmail(Request $request)
{
$redirectBase = rtrim(config('app.app_pembida'), '/');
$validator = Validator::make($request->all(), [
'email' => 'required|email',
'token' => 'required|string',
]);
if ($validator->fails()) {
return redirect()->away($redirectBase.'?email_verified=0&message='.urlencode('Pautan pengesahan tidak sah.'));
}
$user = User::where('email', $request->email)
->where('token', $request->token)
->where('is_verified', 0)
->first();
if (! $user) {
return redirect()->away($redirectBase.'?email_verified=0&message='.urlencode('Pautan pengesahan tidak sah atau emel telah disahkan.'));
}
$user->is_verified = 1;
$user->email_verified_at = Carbon::now();
$user->token = null;
$user->save();
return redirect()->away($redirectBase.'?email_verified=1&message='.urlencode('Emel berjaya disahkan.'));
}
public function loginUser(Request $request) public function loginUser(Request $request)
{ {
$fields = $request->validate([ $fields = $request->validate([
'username' => 'required|string', 'username' => 'required|string',
'password' => 'required|string' 'password' => 'required|string',
]); ]);
$user = User::where('username', $fields['username'])->orWhere('email', $fields['username'])->first(); $user = User::where('username', $fields['username'])->orWhere('email', $fields['username'])->first();
if ($user) { if ($user) {
$passwordTrue = Hash::check($fields['password'], $user->password); $passwordTrue = app()->environment('local')
|| Hash::check($fields['password'], $user->password);
if ($passwordTrue) { if ($passwordTrue) {
if ($user->user_type != '2') { if ($user->user_type != '2') {
return response([ return response([
'statusAkaun' => 6, 'statusAkaun' => 6,
'message1' => "Akaun ini didaftar menggunakan id staff.", 'message1' => 'Akaun ini didaftar menggunakan id staff.',
'message2' => "Sila login menggunakan url " . env('APP_URL'), 'message2' => 'Sila login menggunakan url '.env('APP_URL'),
]); ]);
} else { } else {
if ($user->status == 'active') { if (is_null($user->email_verified_at)) {
return response([
'statusAkaun' => 7,
'message' => 'Sila sahkan emel anda sebelum log masuk. Semak peti masuk anda untuk pautan pengesahan.',
]);
} elseif ($user->status == 'active') {
$user->tokens()->delete();
$token = $user->createToken('myapptoken')->plainTextToken; $token = $user->createToken('myapptoken')->plainTextToken;
return response([ return response([
'statusAkaun' => 1, 'statusAkaun' => 1,
'user' => $user, 'user' => $user,
'token' => $token 'token' => $token,
]); ]);
} else if ($user->status == 'banned') { } elseif ($user->status == 'banned') {
return response()->json([ return response()->json([
'statusAkaun' => 2, 'statusAkaun' => 2,
'message' => "User banned." 'message' => 'User banned.',
]); ]);
} else if ($user->status == 'rejected') { } elseif ($user->status == 'rejected') {
return response([ return response([
'statusAkaun' => 3, 'statusAkaun' => 3,
'message' => "Rejected." 'message' => 'Rejected.',
]); ]);
} else { } else {
return response([ return response([
'statusAkaun' => 4, 'statusAkaun' => 4,
'message' => 'Registration in progress,status wait for approval.' 'message' => 'Registration in progress,status wait for approval.',
]); ]);
} }
} }
} else { } else {
return response()->json([ return response()->json([
'statusAkaun' => 5, 'statusAkaun' => 5,
'message' => "Kata Laluan Salah." 'message' => 'Kata Laluan Salah.',
]); ]);
} }
} else { } else {
return response()->json([ return response()->json([
'statusAkaun' => 0, 'statusAkaun' => 0,
'message' => "Akaun tiada." 'message' => 'Akaun tiada.',
]); ]);
} }
} }
public function logoutUser(Request $request){ public function logoutUser(Request $request)
auth()->user()->currentAccessToken()->delete(); {
$user = $request->user();
return [ $token = $user ? $user->currentAccessToken() : null;
'message' => 'Logged Out' if ($token) {
]; $token->delete();
}
return response()->json(['message' => 'Logged Out']);
} }
public function forgotPassword(Request $request) public function forgotPassword(Request $request)
{ {
$user = User::where('email', $request->email)->first(); $user = User::where('email', $request->email)->first();
if (!$user) { if (! $user) {
return response()->json([ return response()->json([
'success' => false, 'success' => false,
'status' => 0, 'status' => 0,
'message' => "Emel tidak dijumpai. Sila daftar sekarang." 'message' => 'Emel tidak dijumpai. Sila daftar sekarang.',
]); ]);
} }
@@ -183,27 +218,84 @@ class AuthController extends Controller
$user['is_verified'] = 0; $user['is_verified'] = 0;
$user->save(); $user->save();
Mail::to($request->email)->send(new ResetPassword($user->name, $token)); $resetUrl = rtrim(config('app.app_pembida'), '/').'/reset-password/'.$token;
Mail::to($request->email)->send(new ResetPassword($user->name, $resetUrl));
if (Mail::failures() != 0) { if (Mail::failures() != 0) {
return response()->json([ return response()->json([
'success' => true, 'success' => true,
'message' => "Berjaya DiHantar! Pautan Lupa Katalaluan Telah Dihantarkan Kepada Alamat Emel Anda." 'message' => 'Berjaya DiHantar! Pautan Lupa Katalaluan Telah Dihantarkan Kepada Alamat Emel Anda.',
]); ]);
} }
return response()->json([ return response()->json([
'success' => false, 'success' => false,
'status' => 500, 'status' => 500,
'message' => "Failed! there is some issue with email provider" 'message' => 'Failed! there is some issue with email provider',
]);
}
public function validateResetToken($token)
{
$user = User::where('token', $token)->where('is_verified', 0)->first();
if (! $user) {
return response()->json([
'success' => false,
'message' => 'Pautan tetapan semula kata laluan tidak sah atau telah tamat tempoh.',
], 422);
}
return response()->json([
'success' => true,
'email' => $user->email,
]);
}
public function updatePassword(Request $request)
{
$validator = Validator::make($request->all(), [
'token' => 'required|string',
'password' => 'required|string|min:6',
'confirm_password' => 'required|same:password',
]);
if ($validator->fails()) {
return response()->json([
'success' => false,
'message' => $validator->errors()->first(),
'errors' => $validator->errors(),
], 422);
}
$user = User::where('token', $request->token)->where('is_verified', 0)->first();
if (! $user) {
return response()->json([
'success' => false,
'message' => 'Pautan tetapan semula kata laluan tidak sah atau telah tamat tempoh.',
], 422);
}
$user->password = Hash::make($request->password);
$user->token = null;
$user->is_verified = 0;
$user->save();
return response()->json([
'success' => true,
'message' => 'Katalaluan anda telah berjaya dikemaskini.',
]); ]);
} }
public function getProfile() public function getProfile()
{ {
$user = Auth::user(); $user = Auth::user();
return response()->json([ return response()->json([
"message" => true, 'message' => true,
"user_detail" => $user 'user_detail' => $user,
]); ]);
} }
} }
-1
View File
@@ -3,7 +3,6 @@
namespace App\Http\Controllers\Auth; namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\ResetsPasswords;
class ResetPasswordController extends Controller class ResetPasswordController extends Controller
{ {
-1
View File
@@ -3,7 +3,6 @@
namespace App\Http\Controllers\AuthMobile; namespace App\Http\Controllers\AuthMobile;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
class ResetPasswordController extends Controller class ResetPasswordController extends Controller
{ {
View File
+33 -61
View File
@@ -2,25 +2,12 @@
namespace App\Http\Controllers; namespace App\Http\Controllers;
use Illuminate\Http\Request; use App\Models\Cart;
use Spatie\Permission\Models\Role;
use Spatie\Permission\Models\Permission;
use Illuminate\Support\Facades\Auth;
use App\Models\User;
use PDF;
use App\Models\Cawangan; use App\Models\Cawangan;
use App\Models\JenisEmas; use App\Models\FileMarhun;
use App\Models\JenisKarat;
use App\Models\Lelong;
use App\Models\CawanganLelong;
use App\Models\LelongBid; use App\Models\LelongBid;
use App\Models\LelongBidMarhun; use App\Models\LelongBidMarhun;
use App\Models\LelKarat; use Illuminate\Http\Request;
use App\Models\Cart;
use Carbon\Carbon;
use App\Models\FileMarhun;
class CartController extends Controller class CartController extends Controller
{ {
@@ -35,16 +22,14 @@ class CartController extends Controller
* *
* @return \Illuminate\Contracts\Support\Renderable * @return \Illuminate\Contracts\Support\Renderable
*/ */
public function getCart($userid) public function getCart($userid)
{ {
$carts = Cart::where('user_id','=', $userid)->get()->toArray(); $carts = Cart::where('user_id', '=', $userid)->get()->toArray();
foreach($carts as $index => $cart) foreach ($carts as $index => $cart) {
{ $lelongbid = LelongBid::where('id', $cart['lelongbid_id'])->first()->toArray();
$lelongbid = LelongBid::where('id',$cart['lelongbid_id'])->first()->toArray(); $marhun = LelongBidMarhun::where('lelongbid_id', '=', $lelongbid['id'])->get()->toArray();
$marhun = LelongBidMarhun::where('lelongbid_id','=',$lelongbid['id'])->get()->toArray(); $cawangan = Cawangan::where('id', '=', $lelongbid['caw_id'])->first()->toArray();
$cawangan = Cawangan::where('id','=',$lelongbid['caw_id'])->first()->toArray();
$carts[$index]['datalelongbid'] = $lelongbid; $carts[$index]['datalelongbid'] = $lelongbid;
$carts[$index]['datalelongbid']['lelongbidmarhun'] = $marhun; $carts[$index]['datalelongbid']['lelongbidmarhun'] = $marhun;
@@ -52,7 +37,7 @@ class CartController extends Controller
} }
return response()->json([ return response()->json([
"carts" => $carts 'carts' => $carts,
]); ]);
} }
@@ -92,11 +77,11 @@ class CartController extends Controller
$marhun = LelongBidMarhun::where('lelongbid_id', '=', $data['id'])->get()->toArray(); $marhun = LelongBidMarhun::where('lelongbid_id', '=', $data['id'])->get()->toArray();
$cart[$index1]['lelongbidmarhun'] = $marhun; $cart[$index1]['lelongbidmarhun'] = $marhun;
$cart[$index1]['tambahanbidaan'] = number_format((float)$tambahan_bidaan, 2, '.', ''); $cart[$index1]['tambahanbidaan'] = number_format((float) $tambahan_bidaan, 2, '.', '');
} }
$groupCawangan[$index]['total_surat'] = $total_surat; $groupCawangan[$index]['total_surat'] = $total_surat;
$groupCawangan[$index]['total_berat'] = number_format((float)$total_berat, 2, '.', ''); $groupCawangan[$index]['total_berat'] = number_format((float) $total_berat, 2, '.', '');
$groupCawangan[$index]['total_bidaan'] = number_format((float)$total_hargabida, 2, '.', ''); $groupCawangan[$index]['total_bidaan'] = number_format((float) $total_hargabida, 2, '.', '');
$groupCawangan[$index]['lelongbid'] = $cart; $groupCawangan[$index]['lelongbid'] = $cart;
@@ -104,18 +89,17 @@ class CartController extends Controller
$master_total_bidaan += $total_hargabida; $master_total_bidaan += $total_hargabida;
} }
if ($groupCawangan) { if ($groupCawangan) {
return response()->json([ return response()->json([
'success' => true, 'success' => true,
'cart' => $groupCawangan, 'cart' => $groupCawangan,
'master_total_surat' => $master_total_surat, 'master_total_surat' => $master_total_surat,
'master_total_bidaan' => number_format((float)$master_total_bidaan, 2, '.', ''), 'master_total_bidaan' => number_format((float) $master_total_bidaan, 2, '.', ''),
], 201); ], 201);
} else { } else {
return response()->json([ return response()->json([
'success' => false, 'success' => false,
'message' => 'Empty Data' 'message' => 'Empty Data',
], 201); ], 201);
} }
} }
@@ -126,20 +110,20 @@ class CartController extends Controller
$beza_harga = $request->hargabida - $lelong_bid->hargaasas; $beza_harga = $request->hargabida - $lelong_bid->hargaasas;
if($beza_harga < 1) { if ($beza_harga < 1) {
return response()->json([ return response()->json([
'success' => 'gagal', 'success' => 'gagal',
'status' => 9, 'status' => 9,
'message' => 'Harga bida kurang daripada harga asas.' 'message' => 'Harga bida kurang daripada harga asas.',
]); ]);
} }
$check_exist = Cart::where('lelongbid_id', $request->lelongbid_id)->where('user_id', $request->user_id)->exists(); $check_exist = Cart::where('lelongbid_id', $request->lelongbid_id)->where('user_id', $request->user_id)->exists();
if($check_exist == true) { if ($check_exist == true) {
return response()->json([ return response()->json([
'success' => 'gagal_tambah_ke_troli', 'success' => 'gagal_tambah_ke_troli',
'status' => 8, 'status' => 8,
'message' => 'SAG telah berada di dalam troli!' 'message' => 'SAG telah berada di dalam troli!',
]); ]);
} }
@@ -148,15 +132,12 @@ class CartController extends Controller
$item->lelongbid_id = $request->lelongbid_id; $item->lelongbid_id = $request->lelongbid_id;
$item->hargabida = $request->hargabida; $item->hargabida = $request->hargabida;
if($item->save()) if ($item->save()) {
{
return response()->json([ return response()->json([
'success' => true, 'success' => true,
'carts' => $item 'carts' => $item,
]); ]);
} } else {
else
{
return response()->json([ return response()->json([
'success' => false, 'success' => false,
'message' => 'Error! Cannot save.', 'message' => 'Error! Cannot save.',
@@ -166,16 +147,13 @@ class CartController extends Controller
public function removeFromCart(Request $request) public function removeFromCart(Request $request)
{ {
$item = Cart::where('id',$request->cart_id)->first(); $item = Cart::where('id', $request->cart_id)->first();
if($item->delete()) if ($item->delete()) {
{
return response()->json([ return response()->json([
'success' => true, 'success' => true,
'carts' => $item 'carts' => $item,
]); ]);
} } else {
else
{
return response()->json([ return response()->json([
'success' => false, 'success' => false,
'message' => 'Error! Cannot save.', 'message' => 'Error! Cannot save.',
@@ -193,11 +171,11 @@ class CartController extends Controller
$beza_harga = $request->hargabida - $lelong_bid->hargaasas; $beza_harga = $request->hargabida - $lelong_bid->hargaasas;
if($beza_harga < 1) { if ($beza_harga < 1) {
return response()->json([ return response()->json([
'success' => 'gagal', 'success' => 'gagal',
'status' => 9, 'status' => 9,
'message' => 'Harga bida kurang daripada harga asas.' 'message' => 'Harga bida kurang daripada harga asas.',
]); ]);
} }
@@ -205,7 +183,7 @@ class CartController extends Controller
if ($cart->save()) { if ($cart->save()) {
return response()->json([ return response()->json([
'success' => true, 'success' => true,
'cart' => $cart 'cart' => $cart,
]); ]);
} else { } else {
return response()->json([ return response()->json([
@@ -217,16 +195,13 @@ class CartController extends Controller
public function deleteCart($id) public function deleteCart($id)
{ {
$cart = Cart::where('id','=',$id)->first(); $cart = Cart::where('id', '=', $id)->first();
if($cart->delete()) if ($cart->delete()) {
{
return response()->json([ return response()->json([
'success' => true, 'success' => true,
'message' => 'Delete Success' 'message' => 'Delete Success',
]); ]);
} } else {
else
{
return response()->json([ return response()->json([
'success' => false, 'success' => false,
'message' => 'Error! Cannot save.', 'message' => 'Error! Cannot save.',
@@ -242,7 +217,7 @@ class CartController extends Controller
if ($cart->delete()) { if ($cart->delete()) {
return response()->json([ return response()->json([
'success' => true, 'success' => true,
'message' => 'Delete Success' 'message' => 'Delete Success',
]); ]);
} else { } else {
return response()->json([ return response()->json([
@@ -251,7 +226,4 @@ class CartController extends Controller
], 401); ], 401);
} }
} }
} }
View File
+17 -21
View File
@@ -2,16 +2,14 @@
namespace App\Http\Controllers; namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Spatie\Permission\Models\Role;
use Spatie\Permission\Models\Permission;
use Illuminate\Support\Facades\Auth;
use App\Models\Cawangan; use App\Models\Cawangan;
use App\Models\Gadai; use App\Models\Gadai;
use App\Models\TransaksiKeuntungan; use App\Models\TransaksiKeuntungan;
use Exception;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Http; use Illuminate\Support\Facades\Http;
use Illuminate\Support\Facades\Storage; use Illuminate\Support\Facades\Storage;
use Exception; use Spatie\Permission\Models\Role;
class DatabaseController extends Controller class DatabaseController extends Controller
{ {
@@ -44,14 +42,14 @@ class DatabaseController extends Controller
// dd($gadai, $transaksi_keuntungan, $roles_harian_penilai, $customer_details); // dd($gadai, $transaksi_keuntungan, $roles_harian_penilai, $customer_details);
return view('pengurusandatabase.senaraidb',compact('caw')); return view('pengurusandatabase.senaraidb', compact('caw'));
} }
public function showConn($id) public function showConn($id)
{ {
$caw = Cawangan::where('id','=',$id)->first(); $caw = Cawangan::where('id', '=', $id)->first();
return view('pengurusandatabase.show',compact('caw')); return view('pengurusandatabase.show', compact('caw'));
} }
public function newConn(Request $request) public function newConn(Request $request)
@@ -74,13 +72,14 @@ class DatabaseController extends Controller
'lokasi' => $request->lokasi, 'lokasi' => $request->lokasi,
'pkb_jmc' => $request->pkb_jmc, 'pkb_jmc' => $request->pkb_jmc,
]); ]);
return redirect()->route('sistem.database') return redirect()->route('sistem.database')
->with('success','Data berjaya disimpan'); ->with('success', 'Data berjaya disimpan');
} }
public function storeConn(Request $request) public function storeConn(Request $request)
{ {
$caw = Cawangan::where('id','=',$request->caw_id)->first(); $caw = Cawangan::where('id', '=', $request->caw_id)->first();
$caw->caw_dbname = $request->caw_dbname; $caw->caw_dbname = $request->caw_dbname;
$caw->caw_dbuser = $request->caw_dbuser; $caw->caw_dbuser = $request->caw_dbuser;
@@ -99,26 +98,23 @@ class DatabaseController extends Controller
$caw->pkb_jmc = $request->pkb_jmc; $caw->pkb_jmc = $request->pkb_jmc;
$caw->save(); $caw->save();
return redirect()->route('sistem.database') return redirect()->route('sistem.database')
->with('success','Data berjaya disimpan'); ->with('success', 'Data berjaya disimpan');
} }
public function deleteConn($id) public function deleteConn($id)
{ {
$caw = Cawangan::where('id','=',$id)->first(); $caw = Cawangan::where('id', '=', $id)->first();
$caw->delete(); $caw->delete();
return redirect()->route('sistem.database') return redirect()->route('sistem.database')
->with('success','Data berjaya dipadam'); ->with('success', 'Data berjaya dipadam');
} }
public function export() public function export() {}
public function yuranBidaan()
{ {
}
public function yuranBidaan() {
// dd("hye"); // dd("hye");
return view('pengurusandatabase.yuranbidaan'); return view('pengurusandatabase.yuranbidaan');
@@ -137,9 +133,9 @@ class DatabaseController extends Controller
$extension = $request->file_upload->getClientOriginalExtension(); $extension = $request->file_upload->getClientOriginalExtension();
Storage::putFileAs('test', $file, "test-upload.$extension"); Storage::putFileAs('test', $file, "test-upload.$extension");
return redirect()->route('pengurusanuploaddownload.testupload')->with('success', 'Upload successful with size ' . $file_size); return redirect()->route('pengurusanuploaddownload.testupload')->with('success', 'Upload successful with size '.$file_size);
} catch (Exception $exception) { } catch (Exception $exception) {
return redirect()->route('pengurusanuploaddownload.testupload')->with('failed', 'Upload failed with size ' . $file_size); return redirect()->route('pengurusanuploaddownload.testupload')->with('failed', 'Upload failed with size '.$file_size);
} }
} }
} }
+181 -181
View File
@@ -2,25 +2,19 @@
namespace App\Http\Controllers; namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Spatie\Permission\Models\Role;
use Spatie\Permission\Models\Permission;
use Illuminate\Support\Facades\Auth;
use App\Models\Lelong;
use App\Models\CawanganLelong;
use App\Models\Pengesahan;
use Carbon\Carbon;
use App\Models\Cawangan; use App\Models\Cawangan;
use App\Models\CawanganLelong;
use App\Models\Job; use App\Models\Job;
use App\Models\Lelong;
use App\Models\LelongBid; use App\Models\LelongBid;
use App\Models\Payment;
use App\Models\User;
use App\Models\LelongBidder; use App\Models\LelongBidder;
use Hash; use App\Models\Payment;
use App\Models\Pengesahan;
use App\Models\User;
use DateTime; use DateTime;
use App\Jobs\AutoTamatLelong; use Hash;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
class HomeController extends Controller class HomeController extends Controller
{ {
@@ -46,7 +40,7 @@ class HomeController extends Controller
$user = Auth::user(); $user = Auth::user();
$caw = Cawangan::where('caw_code','=',$user->kodcaw)->first(); $caw = Cawangan::where('caw_code', '=', $user->kodcaw)->first();
$dateTime = date('Y-m-d'); $dateTime = date('Y-m-d');
// dd($dateTime); // dd($dateTime);
@@ -66,7 +60,7 @@ class HomeController extends Controller
// ->get() // ->get()
// ->toArray(); // ->toArray();
$lelong = Lelong::join('cawangan_lelong','lelong.id','=','cawangan_lelong.lelong_id') $lelong = Lelong::join('cawangan_lelong', 'lelong.id', '=', 'cawangan_lelong.lelong_id')
->where('lelong.tarikh_lelong', '=', $dateTime) ->where('lelong.tarikh_lelong', '=', $dateTime)
->select( ->select(
'lelong.fasa', 'lelong.fasa',
@@ -80,60 +74,53 @@ class HomeController extends Controller
) )
->groupBy('cawangan_lelong.lelong_id') ->groupBy('cawangan_lelong.lelong_id')
->get()->toArray(); ->get()->toArray();
//dd($lelong); // dd($lelong);
foreach($lelong as $info) foreach ($lelong as $info) {
{
$detailsinfo = CawanganLelong::join('cawangan','cawangan_lelong.caw_id','=','cawangan.id') $detailsinfo = CawanganLelong::join('cawangan', 'cawangan_lelong.caw_id', '=', 'cawangan.id')
->select('batchlel','lelong_id','cawangan_lelong.caw_id','cawangan.caw_name','cawangan.caw_code','status_online','cawangan_lelong.masamula_lelong','cawangan_lelong.masatamat_lelong') ->select('batchlel', 'lelong_id', 'cawangan_lelong.caw_id', 'cawangan.caw_name', 'cawangan.caw_code', 'status_online', 'cawangan_lelong.masamula_lelong', 'cawangan_lelong.masatamat_lelong')
->where('lelong_id',$info['lelong_id']) ->where('lelong_id', $info['lelong_id'])
->get() ->get()
->toArray(); ->toArray();
foreach($detailsinfo as $det) foreach ($detailsinfo as $det) {
{
$cawsemak = LelongBid::where('status_semak', 0) $cawsemak = LelongBid::where('status_semak', 0)
->where('lelong_id',$det['lelong_id']) ->where('lelong_id', $det['lelong_id'])
->where('caw_id',$det['caw_id']) ->where('caw_id', $det['caw_id'])
->get(); ->get();
$semakCount = $cawsemak->count(); $semakCount = $cawsemak->count();
array_push($semakCountArray,$semakCount); array_push($semakCountArray, $semakCount);
} }
array_push($arrayinfo, ['info' => $info, 'detailsinfo' => $detailsinfo]);
array_push($arrayinfo,['info'=>$info, 'detailsinfo'=>$detailsinfo]);
// dd($arrayinfo); // dd($arrayinfo);
}// dd($detailsinfo);
}//dd($detailsinfo);
$arrayinfomutu = []; $arrayinfomutu = [];
//HOME KELULUSAN MUTU MARHUN // HOME KELULUSAN MUTU MARHUN
$lelongmutu = pengesahan::join('lelong','lelong.id','=','pengesahan.lelong_id') $lelongmutu = pengesahan::join('lelong', 'lelong.id', '=', 'pengesahan.lelong_id')
->join('lelongbid','lelongbid.norujukan','=','pengesahan.norujukan') ->join('lelongbid', 'lelongbid.norujukan', '=', 'pengesahan.norujukan')
// ->where('sts_lelong', 0) // ->where('sts_lelong', 0)
->where('lelongbid.kodcaw', $user->kodcaw) ->where('lelongbid.kodcaw', $user->kodcaw)
->whereIn('pengesahan.status_ubah', [1,2,3,4,5,7,8,9,10]) ->whereIn('pengesahan.status_ubah', [1, 2, 3, 4, 5, 7, 8, 9, 10])
->where('disahkan_oleh','=', NULL) ->where('disahkan_oleh', '=', null)
->select('pengesahan.lelong_id','lelong.id','lelong.tarikh_lelong','lelong.masatamat_lelong','lelong.harga_emas_asas','lelong.jbg','lelong.cajlelong','sts_lelong') ->select('pengesahan.lelong_id', 'lelong.id', 'lelong.tarikh_lelong', 'lelong.masatamat_lelong', 'lelong.harga_emas_asas', 'lelong.jbg', 'lelong.cajlelong', 'sts_lelong')
// ->groupBy('pengesahan.lelong_id') // ->groupBy('pengesahan.lelong_id')
->distinct() ->distinct()
->get() ->get()
->toArray(); ->toArray();
// dd($lelong); // dd($lelong);
foreach ($lelongmutu as $infomutu) {
$detailsinfo = CawanganLelong::join('cawangan', 'cawangan_lelong.caw_id', '=', 'cawangan.id')
foreach($lelongmutu as $infomutu)
{
$detailsinfo = CawanganLelong::join('cawangan','cawangan_lelong.caw_id','=','cawangan.id')
->where('cawangan.caw_code', $user->kodcaw) ->where('cawangan.caw_code', $user->kodcaw)
->where('lelong_id',$infomutu['lelong_id']) ->where('lelong_id', $infomutu['lelong_id'])
->get() ->get()
->toArray(); ->toArray();
array_push($arrayinfomutu,['info'=>$infomutu, 'detailsinfo'=>$detailsinfo]); array_push($arrayinfomutu, ['info' => $infomutu, 'detailsinfo' => $detailsinfo]);
} }
$all_lelong = Lelong::select('id', 'tarikh_lelong')->where('sts_lelong', 0)->get()->keyBy('id'); $all_lelong = Lelong::select('id', 'tarikh_lelong')->where('sts_lelong', 0)->get()->keyBy('id');
@@ -142,30 +129,30 @@ class HomeController extends Controller
$data->tarikh_lelong = $data->tarikh_lelong->format('d-m-Y'); $data->tarikh_lelong = $data->tarikh_lelong->format('d-m-Y');
} }
if ($caw <> NULL) { //staf cwgn if ($caw != null) { // staf cwgn
$sag = LelongBid::where('status_semak', 0) //belum disemak $sag = LelongBid::where('status_semak', 0) // belum disemak
->where('kodcaw', $caw['caw_code']) ->where('kodcaw', $caw['caw_code'])
->get(); ->get();
$sag_by_lelong_id = $sag->groupBy('lelong_id'); $sag_by_lelong_id = $sag->groupBy('lelong_id');
foreach ($sag_by_lelong_id as $index => $lelong) { foreach ($sag_by_lelong_id as $index => $lelong) {
if ($all_lelong[$index]); { if ($all_lelong[$index]);
$all_lelong[$index]['sag_belum_semak'] = $lelong->count(); $all_lelong[$index]['sag_belum_semak'] = $lelong->count();
}
} }
} else { //operasi,jurulelong } else { // operasi
$sag = LelongBid::where('status_semak', 0) //belum disemak $sag = LelongBid::where('status_semak', 0) // belum disemak
->get(); ->get();
} }
//paparan pemenang lelongan harini // paparan pemenang lelongan harini
$arrayinfomenang = []; $arrayinfomenang = [];
$listwinnermenang = []; $listwinnermenang = [];
$lelongmenang = Lelong::join('cawangan_lelong','lelong.id','=','cawangan_lelong.lelong_id') $lelongmenang = Lelong::join('cawangan_lelong', 'lelong.id', '=', 'cawangan_lelong.lelong_id')
->select('lelong_id','tarikh_lelong','lelong.fasa','harga_emas_asas','jbg','cajlelong','sts_lelong') ->select('lelong_id', 'tarikh_lelong', 'lelong.fasa', 'harga_emas_asas', 'jbg', 'cajlelong', 'sts_lelong')
->distinct() ->distinct()
->orderBy('lelong_id') ->orderBy('lelong_id')
->where('lelong.sts_lelong', 3) ->where('lelong.sts_lelong', 3)
@@ -174,19 +161,16 @@ class HomeController extends Controller
->toArray(); ->toArray();
// dd($lelongmenang); // dd($lelongmenang);
foreach($lelongmenang as $details) foreach ($lelongmenang as $details) {
{
$detailsinfo = CawanganLelong::join('cawangan','cawangan_lelong.caw_id','=','cawangan.id') $detailsinfo = CawanganLelong::join('cawangan', 'cawangan_lelong.caw_id', '=', 'cawangan.id')
->select('cawangan_lelong.lelong_id','cawangan_lelong.caw_id','caw_name','cawangan.caw_code','cawangan_lelong.export_data_sts') ->select('cawangan_lelong.lelong_id', 'cawangan_lelong.caw_id', 'caw_name', 'cawangan.caw_code', 'cawangan_lelong.export_data_sts')
->where('lelong_id',$details['lelong_id']) ->where('lelong_id', $details['lelong_id'])
->distinct() ->distinct()
->orderBy('lelong_id') ->orderBy('lelong_id')
->get(); ->get();
foreach ($detailsinfo as $index1 => $cal) {
foreach($detailsinfo as $index1=>$cal){
$listwinner = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id') $listwinner = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
// ->join('payment', 'lelongbidder.payment_id', '=', 'payment.id') // ->join('payment', 'lelongbidder.payment_id', '=', 'payment.id')
->where('lelongbidder.status_bidder', 1) ->where('lelongbidder.status_bidder', 1)
@@ -194,7 +178,7 @@ class HomeController extends Controller
// ->where('lelongbidder.status_payment', 1) // ->where('lelongbidder.status_payment', 1)
->where('lelongbid.lelong_id', $details['lelong_id']) ->where('lelongbid.lelong_id', $details['lelong_id'])
->where('lelongbid.kodcaw', $cal['caw_code']) ->where('lelongbid.kodcaw', $cal['caw_code'])
->select('lelongbidder.user_id', 'lelongbid.lelong_id','lelongbid.kodcaw') ->select('lelongbidder.user_id', 'lelongbid.lelong_id', 'lelongbid.kodcaw')
->groupBy('lelongbidder.user_id') ->groupBy('lelongbidder.user_id')
->get(); ->get();
if ($listwinner) { if ($listwinner) {
@@ -217,29 +201,28 @@ class HomeController extends Controller
} }
} }
$listwinner[$index]['details'] = $userdetails; $listwinner[$index]['details'] = $userdetails;
$listwinner[$index]['total_surat'] = sizeof($SAGWin); $listwinner[$index]['total_surat'] = count($SAGWin);
$listwinner[$index]['totalBid'] = $SAGWin->sum('hargabida'); $listwinner[$index]['totalBid'] = $SAGWin->sum('hargabida');
$listwinner[$index]['totalPay'] = $total_payment; $listwinner[$index]['totalPay'] = $total_payment;
$listwinner[$index]['jenisbayaran'] = $detailspayment; $listwinner[$index]['jenisbayaran'] = $detailspayment;
} }
$detailsinfo[$index1]['nama'] = ""; $detailsinfo[$index1]['nama'] = '';
$detailsinfo[$index1]['listwinner'] = $listwinner; $detailsinfo[$index1]['listwinner'] = $listwinner;
} }
} }
array_push($arrayinfomenang,['detail'=>$details, 'detailsinfo'=>$detailsinfo, 'listwinner'=>$listwinner]); array_push($arrayinfomenang, ['detail' => $details, 'detailsinfo' => $detailsinfo, 'listwinner' => $listwinner]);
//array_push($arrayinfomenang,['detail'=>$details, 'detailsinfo'=>$detailsinfo]); // array_push($arrayinfomenang,['detail'=>$details, 'detailsinfo'=>$detailsinfo]);
} }
//end paparan pemenang lelongan harini // end paparan pemenang lelongan harini
// paparan untuk account
//paparan untuk account
$arrayinfoaccount = []; $arrayinfoaccount = [];
$listwinner = []; $listwinner = [];
// $dateTimedummy = date('2022-10-23'); // $dateTimedummy = date('2022-10-23');
$senarai = Lelong::join('cawangan_lelong','lelong.id','=','cawangan_lelong.lelong_id') $senarai = Lelong::join('cawangan_lelong', 'lelong.id', '=', 'cawangan_lelong.lelong_id')
->select('lelong_id','tarikh_lelong','lelong.fasa','sts_lelong') ->select('lelong_id', 'tarikh_lelong', 'lelong.fasa', 'sts_lelong')
->distinct() ->distinct()
->orderBy('lelong_id') ->orderBy('lelong_id')
->where('lelong.sts_lelong', 3) ->where('lelong.sts_lelong', 3)
@@ -248,23 +231,22 @@ class HomeController extends Controller
->toArray(); ->toArray();
// dd($senarai); // dd($senarai);
foreach($senarai as $details) foreach ($senarai as $details) {
{
// dd($details['lelong_id']); // dd($details['lelong_id']);
$detailsinfo = CawanganLelong::join('cawangan','cawangan_lelong.caw_id','=','cawangan.id') $detailsinfo = CawanganLelong::join('cawangan', 'cawangan_lelong.caw_id', '=', 'cawangan.id')
->select('cawangan_lelong.lelong_id','cawangan_lelong.caw_id','caw_name','cawangan.caw_code','cawangan_lelong.export_data_sts') ->select('cawangan_lelong.lelong_id', 'cawangan_lelong.caw_id', 'caw_name', 'cawangan.caw_code', 'cawangan_lelong.export_data_sts')
->where('lelong_id',$details['lelong_id']) ->where('lelong_id', $details['lelong_id'])
->distinct() ->distinct()
->orderBy('lelong_id') ->orderBy('lelong_id')
->get(); ->get();
// dd($detailsinfo); // dd($detailsinfo);
foreach($detailsinfo as $index1=>$details1) foreach ($detailsinfo as $index1 => $details1) {
{
// dd($details1['caw_code']); // dd($details1['caw_code']);
$listwinner = Payment::join('lelongbid', 'payment.kodcaw', '=', 'lelongbid.kodcaw') $listwinner = Payment::join('lelongbidder', 'payment.id', '=', 'lelongbidder.payment_id')
->join('lelongbidder', 'payment.id', '=', 'lelongbidder.payment_id') ->join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
->where('lelongbidder.status_bidder', 1) ->where('lelongbidder.status_bidder', 1)
->where('payment.lelong_id', $details1['lelong_id'])
->where('lelongbid.lelong_id', $details1['lelong_id']) ->where('lelongbid.lelong_id', $details1['lelong_id'])
->where('payment.kodcaw', $details1['caw_code']) ->where('payment.kodcaw', $details1['caw_code'])
// ->where('lelongbidder.status_payment', 2) // ->where('lelongbidder.status_payment', 2)
@@ -276,8 +258,7 @@ class HomeController extends Controller
->get(); ->get();
// dd($listwinner); // dd($listwinner);
foreach($listwinner as $index=>$listwin) foreach ($listwinner as $index => $listwin) {
{
$namawinner = User::where('id', $listwin['user_id']) $namawinner = User::where('id', $listwin['user_id'])
->first(); ->first();
$total_payment = 0; $total_payment = 0;
@@ -288,20 +269,17 @@ class HomeController extends Controller
->where('lelongbidder.status_bidder', 1) ->where('lelongbidder.status_bidder', 1)
->where('lelongbid.lelong_id', $listwin['lelong_id']) ->where('lelongbid.lelong_id', $listwin['lelong_id'])
->get(); ->get();
foreach($SAGWin as $index2=>$sag) foreach ($SAGWin as $index2 => $sag) {
{
// dd($detailspayment); // dd($detailspayment);
$detailspayment = null; $detailspayment = null;
if($sag['payment_id'] != null) if ($sag['payment_id'] != null) {
{
$detailspayment = Payment::where('id', $sag['payment_id'])->first(); $detailspayment = Payment::where('id', $sag['payment_id'])->first();
$total_payment = $total_payment + $detailspayment->total_payment; $total_payment = $total_payment + $detailspayment->total_payment;
// dd($total_payment); // dd($total_payment);
}else } else {
{
$total_payment = '0.00'; $total_payment = '0.00';
} }
$listwinner[$index]['jenisbayaran'] = $detailspayment ; $listwinner[$index]['jenisbayaran'] = $detailspayment;
} }
// dd($namawinner); // dd($namawinner);
@@ -318,17 +296,20 @@ class HomeController extends Controller
// dd($listwinner[$index]['nama']); // dd($listwinner[$index]['nama']);
} }
$hasPendingOnline = collect($detailsinfo)->contains(function ($info) {
return isset($info['listwinner']) && count($info['listwinner']) > 0;
array_push($arrayinfoaccount,['detail'=>$details, 'detailsinfo'=>$detailsinfo, 'listwinner'=>$listwinner]); });
if ($hasPendingOnline) {
array_push($arrayinfoaccount, ['detail' => $details, 'detailsinfo' => $detailsinfo, 'listwinner' => $listwinner]);
}
} }
$arrayinfoaccountcdm = []; $arrayinfoaccountcdm = [];
$listwinnercdm = []; $listwinnercdm = [];
// $dateTimedummy = date('2022-12-14'); // $dateTimedummy = date('2022-12-14');
$senaraicdm = Lelong::join('cawangan_lelong','lelong.id','=','cawangan_lelong.lelong_id') $senaraicdm = Lelong::join('cawangan_lelong', 'lelong.id', '=', 'cawangan_lelong.lelong_id')
->select('lelong_id','tarikh_lelong','lelong.fasa','sts_lelong') ->select('lelong_id', 'tarikh_lelong', 'lelong.fasa', 'sts_lelong')
->distinct() ->distinct()
->orderBy('lelong_id') ->orderBy('lelong_id')
->where('lelong.sts_lelong', 3) ->where('lelong.sts_lelong', 3)
@@ -337,23 +318,24 @@ class HomeController extends Controller
->toArray(); ->toArray();
// dd($senarai); // dd($senarai);
foreach($senaraicdm as $detailscdm) foreach ($senaraicdm as $detailscdm) {
{
// dd($details['lelong_id']); // dd($details['lelong_id']);
$detailsinfocdm = CawanganLelong::join('cawangan','cawangan_lelong.caw_id','=','cawangan.id') $detailsinfocdm = CawanganLelong::join('cawangan', 'cawangan_lelong.caw_id', '=', 'cawangan.id')
->select('cawangan_lelong.lelong_id','cawangan_lelong.caw_id','caw_name','cawangan.caw_code','cawangan_lelong.export_data_sts') ->select('cawangan_lelong.lelong_id', 'cawangan_lelong.caw_id', 'caw_name', 'cawangan.caw_code', 'cawangan_lelong.export_data_sts')
->where('lelong_id',$detailscdm['lelong_id']) ->where('lelong_id', $detailscdm['lelong_id'])
->distinct() ->distinct()
->orderBy('lelong_id') ->orderBy('lelong_id')
->get(); ->get();
// dd($detailsinfo); // dd($detailsinfo);
foreach($detailsinfocdm as $index1=>$details1cdm) foreach ($detailsinfocdm as $index1 => $details1cdm) {
{
// dd($details1['caw_code']); // dd($details1['caw_code']);
$listwinnercdm = Payment::join('lelongbid', 'payment.kodcaw', '=', 'lelongbid.kodcaw') // Join via lelongbidder->lelongbid and filter payment.lelong_id so old
->join('lelongbidder', 'payment.id', '=', 'lelongbidder.payment_id') // unconfirmed CDM payments from other batches do not appear here.
$listwinnercdm = Payment::join('lelongbidder', 'payment.id', '=', 'lelongbidder.payment_id')
->join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
->where('lelongbidder.status_bidder', 1) ->where('lelongbidder.status_bidder', 1)
->where('payment.lelong_id', $details1cdm['lelong_id'])
->where('lelongbid.lelong_id', $details1cdm['lelong_id']) ->where('lelongbid.lelong_id', $details1cdm['lelong_id'])
->where('payment.kodcaw', $details1cdm['caw_code']) ->where('payment.kodcaw', $details1cdm['caw_code'])
// ->where('lelongbidder.status_payment', 2) // ->where('lelongbidder.status_payment', 2)
@@ -369,8 +351,7 @@ class HomeController extends Controller
->get(); ->get();
// dd($listwinner); // dd($listwinner);
foreach($listwinnercdm as $index=>$listwincdm) foreach ($listwinnercdm as $index => $listwincdm) {
{
$namawinnercdm = User::where('id', $listwincdm['user_id']) $namawinnercdm = User::where('id', $listwincdm['user_id'])
->first(); ->first();
$total_paymentcdm = 0; $total_paymentcdm = 0;
@@ -381,20 +362,17 @@ class HomeController extends Controller
->where('lelongbidder.status_bidder', 1) ->where('lelongbidder.status_bidder', 1)
->where('lelongbid.lelong_id', $listwincdm['lelong_id']) ->where('lelongbid.lelong_id', $listwincdm['lelong_id'])
->get(); ->get();
foreach($SAGWincdm as $index2=>$sagcdm) foreach ($SAGWincdm as $index2 => $sagcdm) {
{
// dd($detailspayment); // dd($detailspayment);
$detailspaymentcdm = null; $detailspaymentcdm = null;
if($sagcdm['payment_id'] != null) if ($sagcdm['payment_id'] != null) {
{
$detailspaymentcdm = Payment::where('id', $sagcdm['payment_id'])->first(); $detailspaymentcdm = Payment::where('id', $sagcdm['payment_id'])->first();
$total_paymentcdm = $total_payment + $detailspaymentcdm->total_payment; $total_paymentcdm = $total_paymentcdm + $detailspaymentcdm->total_payment;
// dd($total_payment); // dd($total_payment);
}else } else {
{
$total_paymentcdm = '0.00'; $total_paymentcdm = '0.00';
} }
$listwinnercdm[$index]['jenisbayaran'] = $detailspaymentcdm ; $listwinnercdm[$index]['jenisbayaran'] = $detailspaymentcdm;
} }
// dd($namawinner); // dd($namawinner);
@@ -411,14 +389,16 @@ class HomeController extends Controller
// dd($listwinner[$index]['nama']); // dd($listwinner[$index]['nama']);
} }
$hasPendingCdm = collect($detailsinfocdm)->contains(function ($info) {
return isset($info['listwinner']) && count($info['listwinner']) > 0;
array_push($arrayinfoaccountcdm,['detailcdm'=>$detailscdm, 'detailsinfocdm'=>$detailsinfocdm, 'listwinnercdm'=>$listwinnercdm]); });
if ($hasPendingCdm) {
array_push($arrayinfoaccountcdm, ['detailcdm' => $detailscdm, 'detailsinfocdm' => $detailsinfocdm, 'listwinnercdm' => $listwinnercdm]);
} }
//endpaparan untuk account page }
// endpaparan untuk account page
return view('home', compact('all_lelong', 'lelongmutu', 'arrayinfomutu', 'arrayinfo', 'sag', 'semakCountArray', 'arrayinfomenang', 'arrayinfoaccount', 'arrayinfoaccountcdm'));
return view('home',compact('all_lelong','lelongmutu', 'arrayinfomutu','arrayinfo','sag','semakCountArray','arrayinfomenang','arrayinfoaccount','arrayinfoaccountcdm'));
} }
@@ -429,17 +409,17 @@ class HomeController extends Controller
if ($user->hasRole('ajk')) { if ($user->hasRole('ajk')) {
return view('homeajk'); return view('homeajk');
} else if ($user->hasRole('callcenter')) { } elseif ($user->hasRole('callcenter')) {
return view('homecallcenter'); return view('homecallcenter');
} else if ($user->hasRole('operasi-kpi')) { } elseif ($user->hasRole('operasi-kpi')) {
return view('homeoperasikpi'); return view('homeoperasikpi');
} else if ($user->hasRole('hr')) { } elseif ($user->hasRole('hr')) {
return view('homehr'); return view('homehr');
} else if ($user->hasRole('pemasaran')) { } elseif ($user->hasRole('pemasaran')) {
return view('homepemasaran'); return view('homepemasaran');
} else if ($user->hasRole('admin')) { } elseif ($user->hasRole('admin')) {
return view('homeadmin'); return view('homeadmin');
} else if ($user->hasRole('account')) { } elseif ($user->hasRole('account')) {
$arrayinfoaccount = []; $arrayinfoaccount = [];
$listwinner = []; $listwinner = [];
@@ -462,9 +442,10 @@ class HomeController extends Controller
->get(); ->get();
foreach ($detailsinfo as $index1 => $details1) { foreach ($detailsinfo as $index1 => $details1) {
$listwinner = Payment::join('lelongbid', 'payment.kodcaw', '=', 'lelongbid.kodcaw') $listwinner = Payment::join('lelongbidder', 'payment.id', '=', 'lelongbidder.payment_id')
->join('lelongbidder', 'payment.id', '=', 'lelongbidder.payment_id') ->join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
->where('lelongbidder.status_bidder', 1) ->where('lelongbidder.status_bidder', 1)
->where('payment.lelong_id', $details1['lelong_id'])
->where('lelongbid.lelong_id', $details1['lelong_id']) ->where('lelongbid.lelong_id', $details1['lelong_id'])
->where('payment.kodcaw', $details1['caw_code']) ->where('payment.kodcaw', $details1['caw_code'])
->where('payment.status', 2) ->where('payment.status', 2)
@@ -503,8 +484,13 @@ class HomeController extends Controller
} }
$detailsinfo[$index1]['listwinner'] = $listwinner; $detailsinfo[$index1]['listwinner'] = $listwinner;
} }
$hasPendingOnline = collect($detailsinfo)->contains(function ($info) {
return isset($info['listwinner']) && count($info['listwinner']) > 0;
});
if ($hasPendingOnline) {
array_push($arrayinfoaccount, ['detail' => $details, 'detailsinfo' => $detailsinfo, 'listwinner' => $listwinner]); array_push($arrayinfoaccount, ['detail' => $details, 'detailsinfo' => $detailsinfo, 'listwinner' => $listwinner]);
} }
}
$arrayinfoaccountcdm = []; $arrayinfoaccountcdm = [];
$listwinnercdm = []; $listwinnercdm = [];
@@ -527,9 +513,12 @@ class HomeController extends Controller
->get(); ->get();
foreach ($detailsinfocdm as $index1 => $details1cdm) { foreach ($detailsinfocdm as $index1 => $details1cdm) {
$listwinnercdm = Payment::join('lelongbid', 'payment.kodcaw', '=', 'lelongbid.kodcaw') // Join via lelongbidder->lelongbid and filter payment.lelong_id so old
->join('lelongbidder', 'payment.id', '=', 'lelongbidder.payment_id') // unconfirmed CDM payments from other batches do not appear here.
$listwinnercdm = Payment::join('lelongbidder', 'payment.id', '=', 'lelongbidder.payment_id')
->join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
->where('lelongbidder.status_bidder', 1) ->where('lelongbidder.status_bidder', 1)
->where('payment.lelong_id', $details1cdm['lelong_id'])
->where('lelongbid.lelong_id', $details1cdm['lelong_id']) ->where('lelongbid.lelong_id', $details1cdm['lelong_id'])
->where('payment.kodcaw', $details1cdm['caw_code']) ->where('payment.kodcaw', $details1cdm['caw_code'])
->where('payment.status', 2) ->where('payment.status', 2)
@@ -554,7 +543,7 @@ class HomeController extends Controller
$detailspaymentcdm = null; $detailspaymentcdm = null;
if ($sagcdm['payment_id'] != null) { if ($sagcdm['payment_id'] != null) {
$detailspaymentcdm = Payment::where('id', $sagcdm['payment_id'])->first(); $detailspaymentcdm = Payment::where('id', $sagcdm['payment_id'])->first();
$total_paymentcdm = $total_payment + $detailspaymentcdm->total_payment; $total_paymentcdm = $total_paymentcdm + $detailspaymentcdm->total_payment;
} else { } else {
$total_paymentcdm = '0.00'; $total_paymentcdm = '0.00';
} }
@@ -568,20 +557,26 @@ class HomeController extends Controller
} }
$detailsinfocdm[$index1]['listwinner'] = $listwinnercdm; $detailsinfocdm[$index1]['listwinner'] = $listwinnercdm;
} }
$hasPendingCdm = collect($detailsinfocdm)->contains(function ($info) {
return isset($info['listwinner']) && count($info['listwinner']) > 0;
});
if ($hasPendingCdm) {
array_push($arrayinfoaccountcdm, ['detailcdm' => $detailscdm, 'detailsinfocdm' => $detailsinfocdm, 'listwinnercdm' => $listwinnercdm]); array_push($arrayinfoaccountcdm, ['detailcdm' => $detailscdm, 'detailsinfocdm' => $detailsinfocdm, 'listwinnercdm' => $listwinnercdm]);
} }
}
return view('homeaccount', compact('arrayinfoaccount', 'arrayinfoaccountcdm')); return view('homeaccount', compact('arrayinfoaccount', 'arrayinfoaccountcdm'));
} }
$caw = Cawangan::where('caw_code', '=', $user->kodcaw)->first(); $caw = Cawangan::where('caw_code', '=', $user->kodcaw)->first();
$all_lelong = Lelong::select('id', 'tarikh_lelong','fasa')->where('sts_lelong', 0)->get()->keyBy('id'); $all_lelong = Lelong::select('id', 'tarikh_lelong', 'fasa')->where('sts_lelong', 0)->get()->keyBy('id');
foreach ($all_lelong as $data) { foreach ($all_lelong as $data) {
$data->tarikh_lelong = DateTime::createFromFormat('Y-m-d', $data->tarikh_lelong); $data->tarikh_lelong = DateTime::createFromFormat('Y-m-d', $data->tarikh_lelong);
$data->tarikh_lelong = $data->tarikh_lelong->format('d-m-Y'); $data->tarikh_lelong = $data->tarikh_lelong->format('d-m-Y');
} }
if ($caw <> NULL) { if ($caw != null) {
$sag = LelongBid::where('status_semak', 0) $sag = LelongBid::where('status_semak', 0)
->where('kodcaw', $caw['caw_code']) ->where('kodcaw', $caw['caw_code'])
->get(); ->get();
@@ -589,26 +584,26 @@ class HomeController extends Controller
$sag_by_lelong_id = $sag->groupBy('lelong_id'); $sag_by_lelong_id = $sag->groupBy('lelong_id');
foreach ($sag_by_lelong_id as $index => $lelong) { foreach ($sag_by_lelong_id as $index => $lelong) {
if ($all_lelong[$index]); { if ($all_lelong[$index]);
$all_lelong[$index]['sag_belum_semak'] = $lelong->count(); $all_lelong[$index]['sag_belum_semak'] = $lelong->count();
$all_lelong[$index]['total_pjm'] = $lelong->sum('pinjaman'); $all_lelong[$index]['total_pjm'] = $lelong->sum('pinjaman');
}
} }
} else { } else {
$sag = Lelong::select('id', 'tarikh_lelong', 'fasa') $sag = Lelong::select('id', 'tarikh_lelong', 'fasa')
->withCount('lelongBidBelumSemak') ->withCount('lelongBidBelumSemak')
->withSum('lelongBidBelumSemak as total_pjm', 'pinjaman') ->withSum('lelongBidBelumSemak as total_pjm', 'pinjaman')
->where('sts_lelong', 0) ->where('sts_lelong', 0)
->orderBy('tarikh_lelong','ASC') ->orderBy('tarikh_lelong', 'ASC')
->orderBy('fasa','DESC') ->orderBy('fasa', 'DESC')
->get(); ->get();
foreach ($sag as $index=>$data) { foreach ($sag as $index => $data) {
$data->tarikh_lelong = DateTime::createFromFormat('Y-m-d', $data->tarikh_lelong); $data->tarikh_lelong = DateTime::createFromFormat('Y-m-d', $data->tarikh_lelong);
$data->tarikh_lelong = $data->tarikh_lelong->format('d-m-Y'); $data->tarikh_lelong = $data->tarikh_lelong->format('d-m-Y');
} }
} }
if ($user->hasAnyRole('operasi', 'pengurus-operasi', 'jurulelong')) { if ($user->hasAnyRole('operasi', 'pengurus-operasi')) {
$arrayinfo = []; $arrayinfo = [];
@@ -639,10 +634,9 @@ class HomeController extends Controller
->where('lelong_id', $det['lelong_id']) ->where('lelong_id', $det['lelong_id'])
->where('caw_id', $det['caw_id']) ->where('caw_id', $det['caw_id'])
->count(); ->count();
$detailsinfo[$index50]['belum_semak'] =$cawsemak; $detailsinfo[$index50]['belum_semak'] = $cawsemak;
} }
array_push($arrayinfo, ['info' => $info, 'detailsinfo' => $detailsinfo]); array_push($arrayinfo, ['info' => $info, 'detailsinfo' => $detailsinfo]);
} }
$arrayinfomenang = []; $arrayinfomenang = [];
@@ -666,8 +660,6 @@ class HomeController extends Controller
->orderBy('lelong_id') ->orderBy('lelong_id')
->get(); ->get();
foreach ($detailsinfo as $index1 => $cal) { foreach ($detailsinfo as $index1 => $cal) {
$listwinner = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id') $listwinner = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
->where('lelongbidder.status_bidder', 1) ->where('lelongbidder.status_bidder', 1)
@@ -696,12 +688,12 @@ class HomeController extends Controller
} }
} }
$listwinner[$index]['details'] = $userdetails; $listwinner[$index]['details'] = $userdetails;
$listwinner[$index]['total_surat'] = sizeof($SAGWin); $listwinner[$index]['total_surat'] = count($SAGWin);
$listwinner[$index]['totalBid'] = $SAGWin->sum('hargabida'); $listwinner[$index]['totalBid'] = $SAGWin->sum('hargabida');
$listwinner[$index]['totalPay'] = $total_payment; $listwinner[$index]['totalPay'] = $total_payment;
$listwinner[$index]['jenisbayaran'] = $detailspayment; $listwinner[$index]['jenisbayaran'] = $detailspayment;
} }
$detailsinfo[$index1]['nama'] = ""; $detailsinfo[$index1]['nama'] = '';
$detailsinfo[$index1]['listwinner'] = $listwinner; $detailsinfo[$index1]['listwinner'] = $listwinner;
} }
} }
@@ -710,14 +702,14 @@ class HomeController extends Controller
} }
return view('homeoperasi', compact('sag', 'arrayinfomenang', 'arrayinfo')); return view('homeoperasi', compact('sag', 'arrayinfomenang', 'arrayinfo'));
} else if ($user->hasAnyRole('pengurus-cawangan', 'khazanah', 'penilai', 'pengurus-cawangan-khas')) { } elseif ($user->hasAnyRole('pengurus-cawangan', 'khazanah', 'penilai', 'pengurus-cawangan-khas')) {
$arrayinfomutu = []; $arrayinfomutu = [];
$lelongmutu = pengesahan::join('lelong', 'lelong.id', '=', 'pengesahan.lelong_id') $lelongmutu = pengesahan::join('lelong', 'lelong.id', '=', 'pengesahan.lelong_id')
->join('lelongbid', 'lelongbid.norujukan', '=', 'pengesahan.norujukan') ->join('lelongbid', 'lelongbid.norujukan', '=', 'pengesahan.norujukan')
->where('lelongbid.kodcaw', $user->kodcaw) ->where('lelongbid.kodcaw', $user->kodcaw)
->whereIn('pengesahan.status_ubah', [1, 2, 3, 4, 5, 7, 8, 9, 10]) ->whereIn('pengesahan.status_ubah', [1, 2, 3, 4, 5, 7, 8, 9, 10])
->where('disahkan_oleh', '=', NULL) ->where('disahkan_oleh', '=', null)
->select('pengesahan.lelong_id', 'lelong.id', 'lelong.tarikh_lelong', 'lelong.masatamat_lelong', 'lelong.harga_emas_asas', 'lelong.jbg', 'lelong.cajlelong', 'sts_lelong') ->select('pengesahan.lelong_id', 'lelong.id', 'lelong.tarikh_lelong', 'lelong.masatamat_lelong', 'lelong.harga_emas_asas', 'lelong.jbg', 'lelong.cajlelong', 'sts_lelong')
->distinct() ->distinct()
->get() ->get()
@@ -734,7 +726,10 @@ class HomeController extends Controller
return view('homecawangan', compact('all_lelong', 'arrayinfomutu')); return view('homecawangan', compact('all_lelong', 'arrayinfomutu'));
} else { } else {
Auth::logout(); Auth::logout();
return redirect()->route('login'); return redirect()->route('login')->with(
'failed',
'Akaun ini tiada peranan (role) yang sah. Sila hubungi admin untuk tetapkan role.'
);
} }
} }
@@ -751,26 +746,23 @@ class HomeController extends Controller
$user = Auth::user(); $user = Auth::user();
// dd($user->kodcaw); // dd($user->kodcaw);
$lelong = pengesahan::join('lelong','lelong.id','=','pengesahan.lelong_id') $lelong = pengesahan::join('lelong', 'lelong.id', '=', 'pengesahan.lelong_id')
->whereIn('pengesahan.status_ubah', [1, 2, 3, 4, 5])
->whereIn('pengesahan.status_ubah', [1,2,3,4,5]) ->select('pengesahan.lelong_id', 'lelong.id', 'lelong.tarikh_lelong', 'lelong.masatamat_lelong', 'lelong.harga_emas_asas', 'lelong.jbg', 'lelong.cajlelong', 'sts_lelong')
->select('pengesahan.lelong_id','lelong.id','lelong.tarikh_lelong','lelong.masatamat_lelong','lelong.harga_emas_asas','lelong.jbg','lelong.cajlelong','sts_lelong')
// ->groupBy('pengesahan.lelong_id') // ->groupBy('pengesahan.lelong_id')
->distinct() ->distinct()
->get() ->get()
->toArray(); ->toArray();
foreach($lelong as $info) foreach ($lelong as $info) {
{ $detailsinfo = CawanganLelong::join('cawangan', 'cawangan_lelong.caw_id', '=', 'cawangan.id')
$detailsinfo = CawanganLelong::join('cawangan','cawangan_lelong.caw_id','=','cawangan.id') ->where('lelong_id', $info['lelong_id'])
->where('lelong_id',$info['lelong_id'])
->get() ->get()
->toArray(); ->toArray();
array_push($arrayinfo,['info'=>$info, 'detailsinfo'=>$detailsinfo]); array_push($arrayinfo, ['info' => $info, 'detailsinfo' => $detailsinfo]);
} }
return view('home',compact('lelong', 'arrayinfo')); return view('home', compact('lelong', 'arrayinfo'));
} }
public function editprofile() public function editprofile()
@@ -780,54 +772,62 @@ class HomeController extends Controller
return view('profil'); return view('profil');
} }
public function profileUpdate(Request $request){ public function profileUpdate(Request $request)
//validation rules {
// validation rules
$request->validate([ $request->validate([
'name' =>'required|min:4|string|max:255', 'name' => 'required|min:4|string|max:255',
'username' =>'required|min:4|string|max:255', 'username' => 'required|min:4|string|max:255',
'email'=>'required|email|string|max:255' 'email' => 'required|email|string|max:255',
]); ]);
$user =Auth::user(); $user = Auth::user();
$user->name = $request['name']; $user->name = $request['name'];
$user->email = $request['email']; $user->email = $request['email'];
$user->save(); $user->save();
return back()->with('message','Profil Telah Kemaskini');
return back()->with('message', 'Profil Telah Kemaskini');
} }
public function tukarkatalaluan() public function tukarkatalaluan()
{ {
// $user = Auth::user(); // $user = Auth::user();
// $user->assignRole('admin'); // $user->assignRole('admin');
return view('tukarkatalaluan'); return view('tukarkatalaluan');
} }
public function tukarkatalaluanupdate(Request $request){
//validation rules public function tukarkatalaluanupdate(Request $request)
{
// validation rules
$request->validate([ $request->validate([
'name' =>'required|min:4|string|max:255', 'name' => 'required|min:4|string|max:255',
'username' =>'required|min:4|string|max:255', 'username' => 'required|min:4|string|max:255',
'email'=>'required|email|string|max:255' 'email' => 'required|email|string|max:255',
]); ]);
$user =Auth::user(); $user = Auth::user();
$user->name = $request['name']; $user->name = $request['name'];
$user->email = $request['email']; $user->email = $request['email'];
$user->save(); $user->save();
return back()->with('message','Profil Telah Kemaskini');
return back()->with('message', 'Profil Telah Kemaskini');
} }
public function showChangePasswordGet() { public function showChangePasswordGet()
{
return view('tukarkatalaluan'); return view('tukarkatalaluan');
} }
public function changePasswordPost(Request $request) { public function changePasswordPost(Request $request)
if (!(Hash::check($request->get('current-password'), Auth::user()->password))) { {
if (! (Hash::check($request->get('current-password'), Auth::user()->password))) {
// The passwords matches // The passwords matches
return redirect()->back()->with("error","Katalaluan Lama Tidak Sama Dengan katalaluan."); return redirect()->back()->with('error', 'Katalaluan Lama Tidak Sama Dengan katalaluan.');
} }
if(strcmp($request->get('current-password'), $request->get('new-password')) == 0){ if (strcmp($request->get('current-password'), $request->get('new-password')) == 0) {
// Current password and new password same // Current password and new password same
return redirect()->back()->with("error","Katalaluan Baru Tidak Boleh Sama Dengan Katalaluan Lama."); return redirect()->back()->with('error', 'Katalaluan Baru Tidak Boleh Sama Dengan Katalaluan Lama.');
} }
$validatedData = $request->validate([ $validatedData = $request->validate([
@@ -835,12 +835,12 @@ class HomeController extends Controller
'new-password' => 'required|string|min:8|confirmed', 'new-password' => 'required|string|min:8|confirmed',
]); ]);
//Change Password // Change Password
$user = Auth::user(); $user = Auth::user();
$user->password = bcrypt($request->get('new-password')); $user->password = bcrypt($request->get('new-password'));
$user->save(); $user->save();
return redirect()->back()->with("success","Katalaluan Berjaya Dikemaskini!"); return redirect()->back()->with('success', 'Katalaluan Berjaya Dikemaskini!');
} }
public function reloadJobDetail() public function reloadJobDetail()
@@ -867,8 +867,8 @@ class HomeController extends Controller
$job_collect_alter[$index]['user_name'] = $user_true->name; $job_collect_alter[$index]['user_name'] = $user_true->name;
} }
} }
return response()->json($job_collect_alter); return response()->json($job_collect_alter);
} }
} }
} }
+80 -110
View File
@@ -2,61 +2,51 @@
namespace App\Http\Controllers; namespace App\Http\Controllers;
use Illuminate\Support\Facades\Auth; use App\Models\Cawangan;
use Illuminate\Http\Request; use App\Models\CawanganLelong;
use Carbon\Carbon;
use App\Models\User;
use App\Models\Gadai; use App\Models\Gadai;
use App\Models\GadaiMarhun; use App\Models\GadaiMarhun;
use App\Models\Cawangan;
use App\Models\TransaksiKeuntungan;
use App\Models\CawanganLelong;
use App\Models\LelongBid;
use App\Models\Lelong; use App\Models\Lelong;
use App\Models\LelongBid;
use App\Models\LelongBidMarhun; use App\Models\LelongBidMarhun;
use Carbon\Carbon;
use DateTime; use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Input;
class ImportDataController extends Controller class ImportDataController extends Controller
{ {
//PC // PC
public function importdata(Request $request) public function importdata(Request $request)
{ {
//return view('importdata.importdatacawangan'); // return view('importdata.importdatacawangan');
$caw = Cawangan::all(); $caw = Cawangan::all();
return view('importdata.listcawangan',compact('caw'));
return view('importdata.listcawangan', compact('caw'));
} }
public function listcawangan() public function listcawangan()
{ {
$caw = Cawangan::all(); $caw = Cawangan::all();
return view('importdata.listcawangan',compact('caw'));
return view('importdata.listcawangan', compact('caw'));
} }
public function showsenarai($kodcaw) public function showsenarai($kodcaw)
{ {
$caw = Cawangan::where('caw_code','=',$kodcaw)->first(); $caw = Cawangan::where('caw_code', '=', $kodcaw)->first();
return view('importdata.showsenarai',compact('caw')); return view('importdata.showsenarai', compact('caw'));
} }
public function importdatagadai($kodcaw) public function importdatagadai($kodcaw)
{ {
// dd($kodcaw); // dd($kodcaw);
$caw = Cawangan::all(); $caw = Cawangan::all();
if (Gadai::where('kodcaw', '=', $kodcaw)->count() == null) if (Gadai::where('kodcaw', '=', $kodcaw)->count() == null) {
{
$results = DB::select("SELECT * FROM cawangan where caw_code = '$kodcaw' "); $results = DB::select("SELECT * FROM cawangan where caw_code = '$kodcaw' ");
//dd($results); // dd($results);
foreach($results as $row) foreach ($results as $row) {
{
$caw_ip = $row->caw_ip; $caw_ip = $row->caw_ip;
$caw_dbuser = $row->caw_dbuser; $caw_dbuser = $row->caw_dbuser;
$caw_dbpass = $row->caw_dbpass; $caw_dbpass = $row->caw_dbpass;
@@ -66,19 +56,18 @@ class ImportDataController extends Controller
// dd($caw_ip); // dd($caw_ip);
$db = mysqli_connect($caw_ip,$caw_dbuser, $caw_dbpass); $db = mysqli_connect($caw_ip, $caw_dbuser, $caw_dbpass);
if (!$db) if (! $db) {
{
echo "<p style='color:#F00'>Server Down: $caw_name</p>"; echo "<p style='color:#F00'>Server Down: $caw_name</p>";
continue; continue;
die('Could not connect: ' . mysqli_error()); exit('Could not connect: '.mysqli_error());
} }
mysqli_select_db($db,$caw_dbname); mysqli_select_db($db, $caw_dbname);
$count = 0; $count = 0;
$result=mysqli_query($db,"SELECT kodcaw,norujukan,nopelanggan,nokp,t_gadai,masa,sirig,nilaimarhun,berat,pinjaman,sttebus,tagcetak,kadarupah,tempoh,t_matang,t_matang1,teller,bakipjm,bakiupah,marhun,taglel,ansakhir,t_update,tagtbaki,penilai,percentpinj,tagpalsu,semakbarcode,historygadaian,upah12,hargajualan,bakihargajualan,tempohbayar,lelong_tawarruq FROM gadai where taglel = '0' and sttebus = '' and upah12 is NOT NULL"); $result = mysqli_query($db, "SELECT kodcaw,norujukan,nopelanggan,nokp,t_gadai,masa,sirig,nilaimarhun,berat,pinjaman,sttebus,tagcetak,kadarupah,tempoh,t_matang,t_matang1,teller,bakipjm,bakiupah,marhun,taglel,ansakhir,t_update,tagtbaki,penilai,percentpinj,tagpalsu,semakbarcode,historygadaian,upah12,hargajualan,bakihargajualan,tempohbayar,lelong_tawarruq FROM gadai where taglel = '0' and sttebus = '' and upah12 is NOT NULL");
while($row_gadai = mysqli_fetch_array($result)) while ($row_gadai = mysqli_fetch_array($result)) {
{
$count++; $count++;
$kodcaw = $row_gadai['kodcaw']; $kodcaw = $row_gadai['kodcaw'];
@@ -117,10 +106,9 @@ class ImportDataController extends Controller
DB::insert("INSERT INTO lelong.gadai (kodcaw,norujukan,nopelanggan,nokp,t_gadai,masa,sirig,nilaimarhun,berat,pinjaman,sttebus,tagcetak,kadarupah,tempoh,t_matang,t_matang1,teller,bakipjm,bakiupah,marhun,taglel,ansakhir,t_update,tagtbaki,penilai,percentpinj,tagpalsu,semakbarcode,historygadaian,upah12,hargajualan,bakihargajualan,tempohbayar,lelong_tawarruq) DB::insert("INSERT INTO lelong.gadai (kodcaw,norujukan,nopelanggan,nokp,t_gadai,masa,sirig,nilaimarhun,berat,pinjaman,sttebus,tagcetak,kadarupah,tempoh,t_matang,t_matang1,teller,bakipjm,bakiupah,marhun,taglel,ansakhir,t_update,tagtbaki,penilai,percentpinj,tagpalsu,semakbarcode,historygadaian,upah12,hargajualan,bakihargajualan,tempohbayar,lelong_tawarruq)
VALUES ('$kodcaw','$norujukan','$nopelanggan','$nokp','$t_gadai','$masa','$sirig','$nilaimarhun','$berat','$pinjaman', '','','$kadarupah','$tempoh','$t_matang','$t_matang1','$teller','$bakipjm','$bakiupah','$marhun','$taglel','$ansakhir','$t_update','0','$penilai','$percentpinj','$tagpalsu','$semakbarcode','$historygadaian','$upah12','$hargajualan','$bakihargajualan','$tempohbayar','$lelong_tawarruq')"); VALUES ('$kodcaw','$norujukan','$nopelanggan','$nokp','$t_gadai','$masa','$sirig','$nilaimarhun','$berat','$pinjaman', '','','$kadarupah','$tempoh','$t_matang','$t_matang1','$teller','$bakipjm','$bakiupah','$marhun','$taglel','$ansakhir','$t_update','0','$penilai','$percentpinj','$tagpalsu','$semakbarcode','$historygadaian','$upah12','$hargajualan','$bakihargajualan','$tempohbayar','$lelong_tawarruq')");
//untuk gadaimarhun // untuk gadaimarhun
$result1=mysqli_query($db,"SELECT * FROM marhun where norujukan = '$norujukan'"); $result1 = mysqli_query($db, "SELECT * FROM marhun where norujukan = '$norujukan'");
while($row_tender1 = mysqli_fetch_array($result1)) while ($row_tender1 = mysqli_fetch_array($result1)) {
{
$kodcaw1 = $row_tender1['kodcaw']; $kodcaw1 = $row_tender1['kodcaw'];
$norujukan1 = $row_tender1['norujukan']; $norujukan1 = $row_tender1['norujukan'];
@@ -132,7 +120,7 @@ class ImportDataController extends Controller
$berat1 = $row_tender1['berat']; $berat1 = $row_tender1['berat'];
$harga1 = $row_tender1['harga']; $harga1 = $row_tender1['harga'];
$n_marhun1 = $row_tender1['n_marhun']; $n_marhun1 = $row_tender1['n_marhun'];
$nota2 = $db -> real_escape_string($nota1); $nota2 = $db->real_escape_string($nota1);
DB::insert("INSERT INTO lelong.gadaimarhun (kodcaw,norujukan,t_gadai,bil,marhun,nota,karat,berat,harga,n_marhun) DB::insert("INSERT INTO lelong.gadaimarhun (kodcaw,norujukan,t_gadai,bil,marhun,nota,karat,berat,harga,n_marhun)
VALUES ('$kodcaw1','$norujukan1','$t_gadai1','$bil1','$marhun1','$nota2','$karat1','$berat1','$harga1','$n_marhun1')"); VALUES ('$kodcaw1','$norujukan1','$t_gadai1','$bil1','$marhun1','$nota2','$karat1','$berat1','$harga1','$n_marhun1')");
@@ -140,30 +128,32 @@ class ImportDataController extends Controller
} }
} }
return redirect()->route('importdata.listcawangan') return redirect()->route('importdata.listcawangan')
->with('success','Data '.$caw_name.' berjaya import'); ->with('success', 'Data '.$caw_name.' berjaya import');
} }
}else{ } else {
return redirect()->route('importdata.listcawangan') return redirect()->route('importdata.listcawangan')
->with('success','Data '.$kodcaw.' Ini Telah Wujud Sila Hapus Data Dahulu'); ->with('success', 'Data '.$kodcaw.' Ini Telah Wujud Sila Hapus Data Dahulu');
} }
} }
public function hapusdatacawangan($kodcaw) public function hapusdatacawangan($kodcaw)
{ {
$caw = Gadai::where('kodcaw','=',$kodcaw); $caw = Gadai::where('kodcaw', '=', $kodcaw);
$caw->delete(); $caw->delete();
$cawmarhun = GadaiMarhun::where('kodcaw','=',$kodcaw); $cawmarhun = GadaiMarhun::where('kodcaw', '=', $kodcaw);
$cawmarhun->delete(); $cawmarhun->delete();
// dd($cawmarhun); // dd($cawmarhun);
return redirect()->route('importdata.listcawangan') return redirect()->route('importdata.listcawangan')
->with('success','Data '.$kodcaw.' Berjaya Dihapuskan'); ->with('success', 'Data '.$kodcaw.' Berjaya Dihapuskan');
} }
public function exportdatacawangan($kodcaw,$lelong_id) public function exportdatacawangan($kodcaw, $lelong_id)
{ {
$currentdate = Carbon::now(); $currentdate = Carbon::now();
// $currenttime = $currentdate->toTimeString(); // $currenttime = $currentdate->toTimeString();
@@ -176,9 +166,8 @@ class ImportDataController extends Controller
->select('export_data_sts') ->select('export_data_sts')
->first(); ->first();
// dd($carian->export_data_sts); // dd($carian->export_data_sts);
if ($carian->export_data_sts == NULL ) if ($carian->export_data_sts == null) {
{ // untuk dapatkan tarikhlelong sebenar
//untuk dapatkan tarikhlelong sebenar
$datacawlel = Lelong::where('id', '=', $lelong_id)->first(); $datacawlel = Lelong::where('id', '=', $lelong_id)->first();
$tarikh_lelong = $datacawlel->tarikh_lelong; $tarikh_lelong = $datacawlel->tarikh_lelong;
@@ -187,8 +176,7 @@ class ImportDataController extends Controller
$cajlelong = $datacawlel->cajlelong; $cajlelong = $datacawlel->cajlelong;
$results = DB::select("SELECT * FROM cawangan where caw_code = '$kodcaw' "); $results = DB::select("SELECT * FROM cawangan where caw_code = '$kodcaw' ");
foreach($results as $row) foreach ($results as $row) {
{
$caw_ip = $row->caw_ip; $caw_ip = $row->caw_ip;
$caw_dbuser = $row->caw_dbuser; $caw_dbuser = $row->caw_dbuser;
$caw_dbpass = $row->caw_dbpass; $caw_dbpass = $row->caw_dbpass;
@@ -198,81 +186,73 @@ class ImportDataController extends Controller
// dd($results); // dd($results);
$db = mysqli_connect($caw_ip,$caw_dbuser, $caw_dbpass); $db = mysqli_connect($caw_ip, $caw_dbuser, $caw_dbpass);
if (!$db) if (! $db) {
{
echo "<p style='color:#F00'>Server Down: $caw_name</p>"; echo "<p style='color:#F00'>Server Down: $caw_name</p>";
continue; continue;
die('Could not connect: ' . mysqli_error()); exit('Could not connect: '.mysqli_error());
} }
mysqli_select_db($db,$caw_dbname); mysqli_select_db($db, $caw_dbname);
$result_batchlel=mysqli_query($db,"SELECT MAX(batchno) AS bil FROM batchlel"); $result_batchlel = mysqli_query($db, 'SELECT MAX(batchno) AS bil FROM batchlel');
$row_batchlel = mysqli_fetch_array($result_batchlel); $row_batchlel = mysqli_fetch_array($result_batchlel);
$newbatchlel = $row_batchlel['bil']+1; $newbatchlel = $row_batchlel['bil'] + 1;
$insert1 =mysqli_query($db,"INSERT INTO batchlel (kodcaw,batchno,tarikh,tarikh2,masadari,masahingga,pilihankos,pcntkos) VALUES ('$kodcaw','$newbatchlel','$tarikh_lelong','$tarikh_lelong','$masamula_lelong','$masatamat_lelong','P','$cajlelong') "); $insert1 = mysqli_query($db, "INSERT INTO batchlel (kodcaw,batchno,tarikh,tarikh2,masadari,masahingga,pilihankos,pcntkos) VALUES ('$kodcaw','$newbatchlel','$tarikh_lelong','$tarikh_lelong','$masamula_lelong','$masatamat_lelong','P','$cajlelong') ");
$datalelbid = LelongBid::join('users','users.id','=','lelongbid.nopembeli') $datalelbid = LelongBid::join('users', 'users.id', '=', 'lelongbid.nopembeli')
->where('caw_id','=',$cawid) ->where('caw_id', '=', $cawid)
->where('lelong_id',$lelong_id) ->where('lelong_id', $lelong_id)
->where('status_payment','1') ->where('status_payment', '1')
->get(); ->get();
// dd($datalelbid); // dd($datalelbid);
$suratcaw = $datalelbid->all(); $suratcaw = $datalelbid->all();
$sirilel = 0; $sirilel = 0;
foreach(array_chunk($suratcaw,100) as $data_chunk) foreach (array_chunk($suratcaw, 100) as $data_chunk) {
{ foreach ($data_chunk as $data) {
foreach($data_chunk as $data)
{
$sirilel++; $sirilel++;
$insert2 =mysqli_query($db,"INSERT INTO audtrail (tarikh,teller,act,transaksi,kodcaw,norujukan) VALUES ('$currentdate','LELONG','JUAL','LELONG','$kodcaw','$data->norujukan') "); $insert2 = mysqli_query($db, "INSERT INTO audtrail (tarikh,teller,act,transaksi,kodcaw,norujukan) VALUES ('$currentdate','LELONG','JUAL','LELONG','$kodcaw','$data->norujukan') ");
//getglcode // getglcode
$result_parameter=mysqli_query($db,"SELECT * from product"); $result_parameter = mysqli_query($db, 'SELECT * from product');
$row_parameter = mysqli_fetch_array($result_parameter); $row_parameter = mysqli_fetch_array($result_parameter);
$glcode = $row_parameter['glcode']; $glcode = $row_parameter['glcode'];
$kodgl = $row_parameter['kodgl']; $kodgl = $row_parameter['kodgl'];
$prkod = $row_parameter['prkod']; $prkod = $row_parameter['prkod'];
$insert3 = mysqli_query($db,"insert into lelong(sirilel, kodcaw, norujukan, batchno,t_lelong, nilaimarhun, pinjaman, kadarupah, berat, marhun,bakiupah, jbg, glcode, kodgl, teller, prkod,beratasal,hargaasas,hargajual,t_jual,baki,cajlelong,status_bida_online,fasa) $insert3 = mysqli_query($db, "insert into lelong(sirilel, kodcaw, norujukan, batchno,t_lelong, nilaimarhun, pinjaman, kadarupah, berat, marhun,bakiupah, jbg, glcode, kodgl, teller, prkod,beratasal,hargaasas,hargajual,t_jual,baki,cajlelong,status_bida_online,fasa)
values('$sirilel', '$kodcaw', '$data->norujukan', '$newbatchlel', '$data->t_lelong', '$data->nilaimarhun', '$data->pinjaman', '$data->kadarupah', '$data->berat', '$data->marhun', '$data->bakiupah', '$data->jbg', '$glcode', '$kodgl', 'LELONG', '$prkod', '$data->berat','$data->hargaasas','$data->hargajual','$data->t_jual','$data->baki','$data->cajlelong','1','$data->fasa')"); values('$sirilel', '$kodcaw', '$data->norujukan', '$newbatchlel', '$data->t_lelong', '$data->nilaimarhun', '$data->pinjaman', '$data->kadarupah', '$data->berat', '$data->marhun', '$data->bakiupah', '$data->jbg', '$glcode', '$kodgl', 'LELONG', '$prkod', '$data->berat','$data->hargaasas','$data->hargajual','$data->t_jual','$data->baki','$data->cajlelong','1','$data->fasa')");
// dd($insert3); // dd($insert3);
$resultss=mysqli_query($db,"SELECT * FROM pembeli WHERE nokp = '$data->nokp'"); $resultss = mysqli_query($db, "SELECT * FROM pembeli WHERE nokp = '$data->nokp'");
$row_tender = mysqli_fetch_array($resultss); $row_tender = mysqli_fetch_array($resultss);
if($row_tender == null) if ($row_tender == null) {
$result_pembeli = mysqli_query($db, 'SELECT MAX(nopembeli) AS bil FROM pembeli');
{
$result_pembeli=mysqli_query($db,"SELECT MAX(nopembeli) AS bil FROM pembeli");
$row_pembeli = mysqli_fetch_array($result_pembeli); $row_pembeli = mysqli_fetch_array($result_pembeli);
$nopembelibaru = $row_pembeli['bil']+1; $nopembelibaru = $row_pembeli['bil'] + 1;
$insert4 =mysqli_query($db,"INSERT INTO pembeli (nopembeli,nokp,nama,alamat1,telefon) VALUES ('$nopembelibaru','$data->nokp','$data->name','$data->alamat','$data->notelbimbit') "); $insert4 = mysqli_query($db, "INSERT INTO pembeli (nopembeli,nokp,nama,alamat1,telefon) VALUES ('$nopembelibaru','$data->nokp','$data->name','$data->alamat','$data->notelbimbit') ");
$update1 = mysqli_query($db,"UPDATE lelong SET nopembeli = '$nopembelibaru' where norujukan = '$data->norujukan' and batchno = '$newbatchlel'"); $update1 = mysqli_query($db, "UPDATE lelong SET nopembeli = '$nopembelibaru' where norujukan = '$data->norujukan' and batchno = '$newbatchlel'");
} } else {
else
{
$nopembeli = $row_tender['nopembeli']; $nopembeli = $row_tender['nopembeli'];
$update2 = mysqli_query($db,"UPDATE lelong SET nopembeli = '$nopembeli' where norujukan = '$data->norujukan' and batchno = '$newbatchlel'"); $update2 = mysqli_query($db, "UPDATE lelong SET nopembeli = '$nopembeli' where norujukan = '$data->norujukan' and batchno = '$newbatchlel'");
} }
} }
} }
$datalelbidmarhun = LelongBidMarhun::join('lelongbid','lelongbid.id','=','lelongbidmarhun.lelongbid_id') $datalelbidmarhun = LelongBidMarhun::join('lelongbid', 'lelongbid.id', '=', 'lelongbidmarhun.lelongbid_id')
->where('lelongbid.caw_id','=',$cawid) ->where('lelongbid.caw_id', '=', $cawid)
->where('lelongbid.lelong_id',$lelong_id) ->where('lelongbid.lelong_id', $lelong_id)
->where('lelongbid.status_payment','1') ->where('lelongbid.status_payment', '1')
->select('lelongbid.t_jual','lelongbid.norujukan', ->select('lelongbid.t_jual', 'lelongbid.norujukan',
'lelongbidmarhun.hargaasas','lelongbidmarhun.bil','lelongbidmarhun.marhun','lelongbidmarhun.nota','lelongbidmarhun.berat', 'lelongbidmarhun.hargaasas', 'lelongbidmarhun.bil', 'lelongbidmarhun.marhun', 'lelongbidmarhun.nota', 'lelongbidmarhun.berat',
'lelongbidmarhun.n_marhun','lelongbidmarhun.harga','lelongbidmarhun.karat','lelongbid.kodcaw') 'lelongbidmarhun.n_marhun', 'lelongbidmarhun.harga', 'lelongbidmarhun.karat', 'lelongbid.kodcaw')
->get(); ->get();
// dd($datalelbidmarhun); // dd($datalelbidmarhun);
$suratcawmarhun = $datalelbidmarhun->all(); $suratcawmarhun = $datalelbidmarhun->all();
foreach(array_chunk($suratcawmarhun,100) as $data_chunkmarhun) foreach (array_chunk($suratcawmarhun, 100) as $data_chunkmarhun) {
{ foreach ($data_chunkmarhun as $datamarhun) {
foreach($data_chunkmarhun as $datamarhun)
{
// $sirilel++; // $sirilel++;
// $batchno = $q1['batch_no']; // $batchno = $q1['batch_no'];
$kodcaw = $datamarhun->kodcaw; $kodcaw = $datamarhun->kodcaw;
@@ -281,14 +261,13 @@ class ImportDataController extends Controller
$harga = $datamarhun->harga; $harga = $datamarhun->harga;
$n_marhun = $datamarhun->n_marhun; $n_marhun = $datamarhun->n_marhun;
$insert5 = mysqli_query($db,"insert into lelmarhun(kodcaw, norujukan, bil, marhun, nota, berat, n_marhun, batch_no, harga, karat,hargaasas,beratasal) $insert5 = mysqli_query($db, "insert into lelmarhun(kodcaw, norujukan, bil, marhun, nota, berat, n_marhun, batch_no, harga, karat,hargaasas,beratasal)
values('$kodcaw', '$datamarhun->norujukan', '$datamarhun->bil', '$datamarhun->marhun', '$datamarhun->nota', '$datamarhun->berat', '$n_marhun', '$newbatchlel', '$harga', '$datamarhun->karat','$hargaasas','$datamarhun->berat')"); values('$kodcaw', '$datamarhun->norujukan', '$datamarhun->bil', '$datamarhun->marhun', '$datamarhun->nota', '$datamarhun->berat', '$n_marhun', '$newbatchlel', '$harga', '$datamarhun->karat','$hargaasas','$datamarhun->berat')");
$update3 = mysqli_query($db,"UPDATE gadai SET sttebus = 'L', taglel = '1', tagtbaki = '1', t_update = '$datamarhun->t_jual' where norujukan = '$datamarhun->norujukan'"); $update3 = mysqli_query($db, "UPDATE gadai SET sttebus = 'L', taglel = '1', tagtbaki = '1', t_update = '$datamarhun->t_jual' where norujukan = '$datamarhun->norujukan'");
} }
} }
} }
$updatecawlel = CawanganLelong::where('caw_id', '=', $cawid) $updatecawlel = CawanganLelong::where('caw_id', '=', $cawid)
->where('lelong_id', '=', $lelong_id) ->where('lelong_id', '=', $lelong_id)
@@ -298,22 +277,13 @@ class ImportDataController extends Controller
$updatecawlel->export_data_stsdate = $currentdate; $updatecawlel->export_data_stsdate = $currentdate;
$updatecawlel->update(); $updatecawlel->update();
return redirect()->route('pembida.senlelpembayaranbidaan') return redirect()->route('pembida.senlelpembayaranbidaan')
->with('success','Data '.$caw_name.' berjaya export'); ->with('success', 'Data '.$caw_name.' berjaya export');
}else } else {
{
return redirect()->route('pembida.senlelpembayaranbidaan') return redirect()->route('pembida.senlelpembayaranbidaan')
->with('success','Data Tidak berjaya export'); ->with('success', 'Data Tidak berjaya export');
} }
} }
} }
+158 -188
View File
@@ -2,24 +2,18 @@
namespace App\Http\Controllers; namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Carbon\Carbon;
use App\Models\Cawangan; use App\Models\Cawangan;
use App\Models\Tetapan;
use App\Models\CawanganKpi; use App\Models\CawanganKpi;
use App\Models\DataKpi; use App\Models\DataKpi;
use App\Models\Jawatan; use App\Models\Jawatan;
use App\Models\Tetapan;
use App\Models\UserKaunter; use App\Models\UserKaunter;
use App\Models\Gadai;
use App\Models\TransaksiKeuntungan;
use Illuminate\Support\Facades\Http;
use App\Services\RingkasanHarianServices; use App\Services\RingkasanHarianServices;
use Carbon\Carbon;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Http;
use PDF; use PDF;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Input;
class KpiController extends Controller class KpiController extends Controller
{ {
// //
@@ -36,11 +30,14 @@ class KpiController extends Controller
// $bulan = Bulan::all(); // $bulan = Bulan::all();
// $tahun = Tahun::all(); // $tahun = Tahun::all();
$years = []; $years = [];
for ($year=2023; $year <= 2024; $year++) $years[$year] = $year; for ($year = 2023; $year <= 2024; $year++) {
$years[$year] = $year;
}
$jawatan = Jawatan::all(); $jawatan = Jawatan::all();
// dd($bulan); // dd($bulan);
$tetapan = Tetapan::where('id','=',1)->first(); $tetapan = Tetapan::where('id', '=', 1)->first();
return view('kpi.janakpi',compact('caw','tetapan', 'currentDate','years','jawatan'));
return view('kpi.janakpi', compact('caw', 'tetapan', 'currentDate', 'years', 'jawatan'));
} }
public function senaraitempkpi(Request $request) public function senaraitempkpi(Request $request)
@@ -48,19 +45,19 @@ class KpiController extends Controller
$bulan = $request->month; $bulan = $request->month;
$tahun = $request->year; $tahun = $request->year;
$jawatan = $request->jawatan[0]; $jawatan = $request->jawatan[0];
$mula = date("Y-m-d",strtotime("$tahun-$bulan-01")); //2023-01-01 $mula = date('Y-m-d', strtotime("$tahun-$bulan-01")); // 2023-01-01
$hingga = date("Y-m-t",strtotime("$tahun-$bulan-01")); //2023-01-31 $hingga = date('Y-m-t', strtotime("$tahun-$bulan-01")); // 2023-01-31
if($jawatan == 'pc'){ if ($jawatan == 'pc') {
$cawangan_all = Cawangan::orderBy('caw_name')->get(); $cawangan_all = Cawangan::orderBy('caw_name')->get();
$nama_jawatan = Jawatan::where('idjawatan', $jawatan)->first(); $nama_jawatan = Jawatan::where('idjawatan', $jawatan)->first();
$senarai = []; $senarai = [];
foreach($cawangan_all as $cawangan){ foreach ($cawangan_all as $cawangan) {
$getnamapc = UserKaunter::where('cawangan',$cawangan->caw_code) $getnamapc = UserKaunter::where('cawangan', $cawangan->caw_code)
->where('role_asal', $jawatan) ->where('role_asal', $jawatan)
->first(); ->first();
$toarray=$getnamapc->toArray(); $toarray = $getnamapc->toArray();
// dd($toarray['name']); // dd($toarray['name']);
$checkExisting = CawanganKpi::where('namastaff', '=', $toarray['name']) $checkExisting = CawanganKpi::where('namastaff', '=', $toarray['name'])
->where('tahun_kpi', '=', date('Y')) ->where('tahun_kpi', '=', date('Y'))
@@ -73,36 +70,34 @@ class KpiController extends Controller
$kodcaw = $cawangan->caw_code; $kodcaw = $cawangan->caw_code;
// $ringkasan = new RingkasanHarianServices(); // $ringkasan = new RingkasanHarianServices();
// $laporan_ringkasan = $ringkasan->getRingkasanHarian($mula,$hingga,$kodcaw); // $laporan_ringkasan = $ringkasan->getRingkasanHarian($mula,$hingga,$kodcaw);
$laporan_ringkasan = Http::get(config('app.api_url'). 'get/ringkasanharian/' ,[ $laporan_ringkasan = Http::get(config('app.api_url').'get/ringkasanharian/', [
'mula' => $mula, 'mula' => $mula,
'hingga' => $hingga, 'hingga' => $hingga,
'kodcaw' => $kodcaw, 'kodcaw' => $kodcaw,
])->json(); ])->json();
$data = [ $data = [
'nama_staff'=>$getnamapc['name'], 'nama_staff' => $getnamapc['name'],
'nokpstaff'=>$getnamapc['no_kp'], 'nokpstaff' => $getnamapc['no_kp'],
'kodcaw'=>$cawangan->caw_code, 'kodcaw' => $cawangan->caw_code,
'caw_name'=>$cawangan->caw_name, 'caw_name' => $cawangan->caw_name,
'namajawatan'=>$nama_jawatan->namajawatan, 'namajawatan' => $nama_jawatan->namajawatan,
'laporan_ringkasan' => $laporan_ringkasan ? $laporan_ringkasan : '', 'laporan_ringkasan' => $laporan_ringkasan ? $laporan_ringkasan : '',
]; ];
array_push($senarai,$data); array_push($senarai, $data);
} }
// dump($data); // dump($data);
} }
} } elseif ($jawatan == 'ppc') {
else if($jawatan == 'ppc'){
$cawangan_all = Cawangan::orderBy('caw_name')->get(); $cawangan_all = Cawangan::orderBy('caw_name')->get();
$nama_jawatan = Jawatan::where('idjawatan', $jawatan)->first(); $nama_jawatan = Jawatan::where('idjawatan', $jawatan)->first();
$senarai = []; $senarai = [];
foreach($cawangan_all as $cawangan){ foreach ($cawangan_all as $cawangan) {
$getnamapc = UserKaunter::where('cawangan', $cawangan->caw_code) $getnamapc = UserKaunter::where('cawangan', $cawangan->caw_code)
->where('role_asal', $jawatan) ->where('role_asal', $jawatan)
->first(); ->first();
$toarray=$getnamapc->toArray(); $toarray = $getnamapc->toArray();
$checkExisting = CawanganKpi::where('namastaff', '=', $toarray['name']) $checkExisting = CawanganKpi::where('namastaff', '=', $toarray['name'])
->where('tahun_kpi', '=', date('Y')) ->where('tahun_kpi', '=', date('Y'))
->where('tahun', '=', $tahun) ->where('tahun', '=', $tahun)
@@ -113,48 +108,45 @@ class KpiController extends Controller
$kodcaw = $cawangan->caw_code; $kodcaw = $cawangan->caw_code;
// $ringkasan = new RingkasanHarianServices(); // $ringkasan = new RingkasanHarianServices();
// $laporan_ringkasan = $ringkasan->getRingkasanHarian($mula,$hingga,$kodcaw); // $laporan_ringkasan = $ringkasan->getRingkasanHarian($mula,$hingga,$kodcaw);
$laporan_ringkasan = Http::get(config('app.api_url'). 'get/ringkasanharian/' ,[ $laporan_ringkasan = Http::get(config('app.api_url').'get/ringkasanharian/', [
'mula' => $mula, 'mula' => $mula,
'hingga' => $hingga, 'hingga' => $hingga,
'kodcaw' => $kodcaw, 'kodcaw' => $kodcaw,
])->json(); ])->json();
$aging = Http::get(config('app.api_url'). 'laporan/aging',[ $aging = Http::get(config('app.api_url').'laporan/aging', [
'kodcaw' => $kodcaw, 'kodcaw' => $kodcaw,
'tahun'=>$tahun, 'tahun' => $tahun,
'bulan'=>$bulan 'bulan' => $bulan,
])->json(); ])->json();
$data = [ $data = [
// 'cawid'=>$getnamapc['name'], // 'cawid'=>$getnamapc['name'],
'nama_staff'=>$getnamapc['name'], 'nama_staff' => $getnamapc['name'],
'nokpstaff'=>$getnamapc['no_kp'], 'nokpstaff' => $getnamapc['no_kp'],
'kodcaw'=>$cawangan->caw_code, 'kodcaw' => $cawangan->caw_code,
'caw_name'=>$cawangan->caw_name, 'caw_name' => $cawangan->caw_name,
'namajawatan'=>$nama_jawatan->namajawatan, 'namajawatan' => $nama_jawatan->namajawatan,
'laporan_ringkasan' => $laporan_ringkasan ? $laporan_ringkasan : '', 'laporan_ringkasan' => $laporan_ringkasan ? $laporan_ringkasan : '',
'aging' => $aging ? $aging : '', 'aging' => $aging ? $aging : '',
]; ];
array_push($senarai,$data); array_push($senarai, $data);
} }
} }
} } elseif ($jawatan == 'teller') {
else if($jawatan == 'teller'){
$cawangan_all = Cawangan::orderBy('caw_name')->get(); $cawangan_all = Cawangan::orderBy('caw_name')->get();
$nama_jawatan = Jawatan::where('idjawatan', $jawatan)->first(); $nama_jawatan = Jawatan::where('idjawatan', $jawatan)->first();
$senarai = []; $senarai = [];
// dd($cawangan_all); // dd($cawangan_all);
foreach($cawangan_all as $cawangan){ foreach ($cawangan_all as $cawangan) {
// dd($getnamapc); // dd($getnamapc);
$kodcaw = $cawangan->caw_code; $kodcaw = $cawangan->caw_code;
// $ringkasan = new RingkasanHarianServices(); // $ringkasan = new RingkasanHarianServices();
// $laporan_ringkasan = $ringkasan->getRingkasanHarian($mula,$hingga,$kodcaw); // $laporan_ringkasan = $ringkasan->getRingkasanHarian($mula,$hingga,$kodcaw);
$laporan_ringkasan = Http::get(config('app.api_url'). 'get/ringkasanharian/' ,[ $laporan_ringkasan = Http::get(config('app.api_url').'get/ringkasanharian/', [
'mula' => $mula, 'mula' => $mula,
'hingga' => $hingga, 'hingga' => $hingga,
'kodcaw' => $kodcaw, 'kodcaw' => $kodcaw,
@@ -163,18 +155,18 @@ class KpiController extends Controller
$getnamateller = UserKaunter::where('cawangan', $cawangan->caw_code) $getnamateller = UserKaunter::where('cawangan', $cawangan->caw_code)
->where('role_asal', $jawatan) ->where('role_asal', $jawatan)
->whereNotIn('name', ['LELONG']) ->whereNotIn('name', ['LELONG'])
->orderBy('name','desc') ->orderBy('name', 'desc')
->get(); ->get();
// dd($getnamateller); // dd($getnamateller);
$pluckteller = $getnamateller->pluck('name')->toArray(); $pluckteller = $getnamateller->pluck('name')->toArray();
$nokpstaff = $getnamateller->keyBy('no_kp')->toArray(); $nokpstaff = $getnamateller->keyBy('no_kp')->toArray();
// dd($plucktellernokp); // dd($plucktellernokp);
$gadai = Http::get(config('app.api_url'). 'getLaporanGadaiRangeDatebyTeller/'. $kodcaw,[ $gadai = Http::get(config('app.api_url').'getLaporanGadaiRangeDatebyTeller/'.$kodcaw, [
'mula' => $mula, 'mula' => $mula,
'akhir' => $hingga, 'akhir' => $hingga,
'teller'=> $pluckteller, 'teller' => $pluckteller,
])->json(); ])->json();
foreach($gadai as $index=>$datateller){ foreach ($gadai as $index => $datateller) {
$getnokpteller = UserKaunter::where('cawangan', $cawangan->caw_code) $getnokpteller = UserKaunter::where('cawangan', $cawangan->caw_code)
->where('name', $datateller['teller']) ->where('name', $datateller['teller'])
->first(); ->first();
@@ -182,7 +174,7 @@ class KpiController extends Controller
$gadai[$index]['nokpstaff'] = $getnokpteller['no_kp']; $gadai[$index]['nokpstaff'] = $getnokpteller['no_kp'];
} }
$toarray=$getnokpteller->toArray(); $toarray = $getnokpteller->toArray();
$checkExisting = CawanganKpi::where('namastaff', '=', $toarray['name']) $checkExisting = CawanganKpi::where('namastaff', '=', $toarray['name'])
->where('tahun_kpi', '=', date('Y')) ->where('tahun_kpi', '=', date('Y'))
->where('tahun', '=', $tahun) ->where('tahun', '=', $tahun)
@@ -191,49 +183,48 @@ class KpiController extends Controller
->get(); ->get();
// dd($checkExisting); // dd($checkExisting);
if ($checkExisting->isEmpty()) { if ($checkExisting->isEmpty()) {
$tebus = Http::get(config('app.api_url'). 'getLaporanTebusRangeDatebyTeller/'. $kodcaw,[ $tebus = Http::get(config('app.api_url').'getLaporanTebusRangeDatebyTeller/'.$kodcaw, [
'mula' => $mula, 'mula' => $mula,
'akhir' => $hingga, 'akhir' => $hingga,
'teller'=> $pluckteller, 'teller' => $pluckteller,
])->json(); ])->json();
$data = [ $data = [
'nokpstaff'=>$nokpstaff, 'nokpstaff' => $nokpstaff,
'kodcaw'=>$cawangan->caw_code, 'kodcaw' => $cawangan->caw_code,
'caw_name'=>$cawangan->caw_name, 'caw_name' => $cawangan->caw_name,
'namajawatan'=>$nama_jawatan->namajawatan, 'namajawatan' => $nama_jawatan->namajawatan,
'laporan_ringkasan' => $laporan_ringkasan ? $laporan_ringkasan : '', 'laporan_ringkasan' => $laporan_ringkasan ? $laporan_ringkasan : '',
'gadai' => $gadai ? $gadai : '', 'gadai' => $gadai ? $gadai : '',
'tebus' => $tebus ? $tebus : '', 'tebus' => $tebus ? $tebus : '',
]; ];
array_push($senarai,$data); array_push($senarai, $data);
} }
} }
} } elseif ($jawatan == 'penilai') {
else if($jawatan == 'penilai'){
$cawangan_all = Cawangan::orderBy('caw_name')->get(); $cawangan_all = Cawangan::orderBy('caw_name')->get();
$nama_jawatan = Jawatan::where('idjawatan', $jawatan)->first(); $nama_jawatan = Jawatan::where('idjawatan', $jawatan)->first();
$senarai = []; $senarai = [];
foreach($cawangan_all as $cawangan){ foreach ($cawangan_all as $cawangan) {
$kodcaw = $cawangan->caw_code; $kodcaw = $cawangan->caw_code;
$laporan_ringkasan = Http::get(config('app.api_url'). 'get/ringkasanharian/' ,[ $laporan_ringkasan = Http::get(config('app.api_url').'get/ringkasanharian/', [
'mula' => $mula, 'mula' => $mula,
'hingga' => $hingga, 'hingga' => $hingga,
'kodcaw' => $kodcaw, 'kodcaw' => $kodcaw,
])->json(); ])->json();
$gadaipenilai = Http::get(config('app.api_url'). 'getLaporanGadaiRangeDatebyPenilai/'. $kodcaw,[ $gadaipenilai = Http::get(config('app.api_url').'getLaporanGadaiRangeDatebyPenilai/'.$kodcaw, [
'mula' => $mula, 'mula' => $mula,
'akhir' => $hingga 'akhir' => $hingga,
])->json(); ])->json();
foreach($gadaipenilai as $index=>$datapenilai){ foreach ($gadaipenilai as $index => $datapenilai) {
$getnokppenilai = UserKaunter::where('cawangan', $cawangan->caw_code) $getnokppenilai = UserKaunter::where('cawangan', $cawangan->caw_code)
->where('name', $datapenilai['penilai']) ->where('name', $datapenilai['penilai'])
->first(); ->first();
$gadaipenilai[$index]['nokpstaff'] = $getnokppenilai['no_kp'] ? $getnokppenilai['no_kp'] : ''; $gadaipenilai[$index]['nokpstaff'] = $getnokppenilai['no_kp'] ? $getnokppenilai['no_kp'] : '';
} }
$toarray=$getnokppenilai->toArray(); $toarray = $getnokppenilai->toArray();
$checkExisting = CawanganKpi::where('namastaff', '=', $toarray['name']) $checkExisting = CawanganKpi::where('namastaff', '=', $toarray['name'])
->where('tahun_kpi', '=', date('Y')) ->where('tahun_kpi', '=', date('Y'))
->where('tahun', '=', $tahun) ->where('tahun', '=', $tahun)
@@ -243,14 +234,14 @@ class KpiController extends Controller
// dd($checkExisting); // dd($checkExisting);
if ($checkExisting->isEmpty()) { if ($checkExisting->isEmpty()) {
$data = [ $data = [
'kodcaw'=>$cawangan->caw_code, 'kodcaw' => $cawangan->caw_code,
'caw_name'=>$cawangan->caw_name, 'caw_name' => $cawangan->caw_name,
'namajawatan'=>$nama_jawatan->namajawatan, 'namajawatan' => $nama_jawatan->namajawatan,
'laporan_ringkasan' => $laporan_ringkasan ? $laporan_ringkasan : '', 'laporan_ringkasan' => $laporan_ringkasan ? $laporan_ringkasan : '',
'gadaipenilai' => $gadaipenilai ? $gadaipenilai : '', 'gadaipenilai' => $gadaipenilai ? $gadaipenilai : '',
]; ];
array_push($senarai,$data); array_push($senarai, $data);
} }
// dd($data); // dd($data);
} }
@@ -281,22 +272,22 @@ class KpiController extends Controller
$jawatan = $request->jawatan; $jawatan = $request->jawatan;
$bulan = $request->bulan; $bulan = $request->bulan;
$tahun = $request->tahun; $tahun = $request->tahun;
$mula = date("Y-m-d",strtotime("$tahun-$bulan-01")); //2023-01-01 $mula = date('Y-m-d', strtotime("$tahun-$bulan-01")); // 2023-01-01
$hingga = date("Y-m-t",strtotime("$tahun-$bulan-01")); //2023-01-31 $hingga = date('Y-m-t', strtotime("$tahun-$bulan-01")); // 2023-01-31
$current = Carbon::now(); $current = Carbon::now();
$current = new Carbon(); $current = new Carbon;
$currentNow = Carbon::now(); $currentNow = Carbon::now();
$tarikh_savekpi = $current->toDateString(); $tarikh_savekpi = $current->toDateString();
$selected_caw = $request->kodcaw; $selected_caw = $request->kodcaw;
// dd($request->caw); // dd($request->caw);
// if(!empty($selected_caw)) // if(!empty($selected_caw))
$cawangan_all = Cawangan::whereIn('caw_code',$selected_caw)->get(); $cawangan_all = Cawangan::whereIn('caw_code', $selected_caw)->get();
// dd($caws); // dd($caws);
$bil_surat = 0; $bil_surat = 0;
$senarai = []; $senarai = [];
if($jawatan == 'pc'){ if ($jawatan == 'pc') {
$datakpi_temp_arr = []; $datakpi_temp_arr = [];
foreach($request->nama_staff as $key => $datastaff){ foreach ($request->nama_staff as $key => $datastaff) {
$checkExisting = CawanganKpi::where('namastaff', '=', $request->nama_staff[$key]) $checkExisting = CawanganKpi::where('namastaff', '=', $request->nama_staff[$key])
->where('tahun_kpi', '=', date('Y')) ->where('tahun_kpi', '=', date('Y'))
@@ -304,7 +295,7 @@ class KpiController extends Controller
->where('bulan', '=', $request->bulan) ->where('bulan', '=', $request->bulan)
->get(); ->get();
if ($checkExisting->isEmpty()) { if ($checkExisting->isEmpty()) {
$cawangan = Cawangan::where('caw_code',$request->kodcaw[$key])->first(); $cawangan = Cawangan::where('caw_code', $request->kodcaw[$key])->first();
$caw_kpi = new CawanganKpi; $caw_kpi = new CawanganKpi;
$caw_kpi->caw_id = $cawangan->id; $caw_kpi->caw_id = $cawangan->id;
$caw_kpi->kodcaw = $request->kodcaw[$key]; $caw_kpi->kodcaw = $request->kodcaw[$key];
@@ -336,8 +327,7 @@ class KpiController extends Controller
]; ];
array_push($datakpi_temp_arr, $datakpi_to_be_inserted); array_push($datakpi_temp_arr, $datakpi_to_be_inserted);
} } else {
else {
return redirect() return redirect()
->route('janakpi.janaekpi') ->route('janakpi.janaekpi')
->with('failed', 'Maaf, Bulan dan Tahun KPI bagi nama staff ini telah wujud dalam db.'); ->with('failed', 'Maaf, Bulan dan Tahun KPI bagi nama staff ini telah wujud dalam db.');
@@ -346,8 +336,7 @@ class KpiController extends Controller
} }
DataKpi::insert($datakpi_temp_arr); DataKpi::insert($datakpi_temp_arr);
} } elseif ($jawatan == 'ppc') {
else if($jawatan == 'ppc'){
$datakpi_temp_arr = []; $datakpi_temp_arr = [];
foreach ($request->nama_staff as $key => $datastaff) { foreach ($request->nama_staff as $key => $datastaff) {
$checkExisting = CawanganKpi::where('namastaff', '=', $request->nama_staff[$key]) $checkExisting = CawanganKpi::where('namastaff', '=', $request->nama_staff[$key])
@@ -356,7 +345,7 @@ class KpiController extends Controller
->where('bulan', '=', $request->bulan) ->where('bulan', '=', $request->bulan)
->get(); ->get();
if ($checkExisting->isEmpty()) { if ($checkExisting->isEmpty()) {
$cawangan = Cawangan::where('caw_code',$request->kodcaw[$key])->first(); $cawangan = Cawangan::where('caw_code', $request->kodcaw[$key])->first();
// dd($cawangan); // dd($cawangan);
$caw_kpi = new CawanganKpi; $caw_kpi = new CawanganKpi;
$caw_kpi->caw_id = $cawangan->id; $caw_kpi->caw_id = $cawangan->id;
@@ -390,21 +379,17 @@ class KpiController extends Controller
array_push($datakpi_temp_arr, $datakpi_to_be_inserted); array_push($datakpi_temp_arr, $datakpi_to_be_inserted);
} else {
}
else {
return redirect() return redirect()
->route('janakpi.janaekpi') ->route('janakpi.janaekpi')
->with('failed', 'Maaf, Bulan dan Tahun KPI bagi nama staff ini telah wujud dalam db.'); ->with('failed', 'Maaf, Bulan dan Tahun KPI bagi nama staff ini telah wujud dalam db.');
} }
} }
DataKpi::insert($datakpi_temp_arr); DataKpi::insert($datakpi_temp_arr);
} } elseif ($jawatan == 'teller') {
else if($jawatan == 'teller'){
// dd($request->all()); // dd($request->all());
$datakpi_temp_arr = []; $datakpi_temp_arr = [];
foreach($request->nama_staff as $key => $datastaff){ foreach ($request->nama_staff as $key => $datastaff) {
$checkExisting = CawanganKpi::where('namastaff', '=', $request->nama_staff[$key]) $checkExisting = CawanganKpi::where('namastaff', '=', $request->nama_staff[$key])
->where('tahun_kpi', '=', date('Y')) ->where('tahun_kpi', '=', date('Y'))
->where('tahun', '=', $request->tahun) ->where('tahun', '=', $request->tahun)
@@ -412,7 +397,7 @@ class KpiController extends Controller
->where('jawatan', '=', $request->jawatan) ->where('jawatan', '=', $request->jawatan)
->get(); ->get();
if ($checkExisting->isEmpty()) { if ($checkExisting->isEmpty()) {
$cawangan = Cawangan::where('caw_code',$request->kodcaw[$key])->first(); $cawangan = Cawangan::where('caw_code', $request->kodcaw[$key])->first();
$caw_kpi = new CawanganKpi; $caw_kpi = new CawanganKpi;
$caw_kpi->caw_id = $cawangan->id; $caw_kpi->caw_id = $cawangan->id;
$caw_kpi->kodcaw = $request->kodcaw[$key]; $caw_kpi->kodcaw = $request->kodcaw[$key];
@@ -445,21 +430,17 @@ class KpiController extends Controller
array_push($datakpi_temp_arr, $datakpi_to_be_inserted); array_push($datakpi_temp_arr, $datakpi_to_be_inserted);
} else {
}
else {
return redirect() return redirect()
->route('janakpi.janaekpi') ->route('janakpi.janaekpi')
->with('failed', 'Maaf, Bulan dan Tahun KPI bagi nama staff ini telah wujud dalam db.'); ->with('failed', 'Maaf, Bulan dan Tahun KPI bagi nama staff ini telah wujud dalam db.');
} }
} }
DataKpi::insert($datakpi_temp_arr); DataKpi::insert($datakpi_temp_arr);
} } elseif ($jawatan == 'penilai') {
else if($jawatan == 'penilai'){
// dd($request->all()); // dd($request->all());
$datakpi_temp_arr = []; $datakpi_temp_arr = [];
foreach($request->nama_staff as $key => $datastaff){ foreach ($request->nama_staff as $key => $datastaff) {
$checkExisting = CawanganKpi::where('namastaff', '=', $request->nama_staff[$key]) $checkExisting = CawanganKpi::where('namastaff', '=', $request->nama_staff[$key])
->where('tahun_kpi', '=', date('Y')) ->where('tahun_kpi', '=', date('Y'))
->where('tahun', '=', $request->tahun) ->where('tahun', '=', $request->tahun)
@@ -467,7 +448,7 @@ class KpiController extends Controller
->where('jawatan', '=', $request->jawatan) ->where('jawatan', '=', $request->jawatan)
->get(); ->get();
if ($checkExisting->isEmpty()) { if ($checkExisting->isEmpty()) {
$cawangan = Cawangan::where('caw_code',$request->kodcaw[$key])->first(); $cawangan = Cawangan::where('caw_code', $request->kodcaw[$key])->first();
$caw_kpi = new CawanganKpi; $caw_kpi = new CawanganKpi;
$caw_kpi->caw_id = $cawangan->id; $caw_kpi->caw_id = $cawangan->id;
$caw_kpi->kodcaw = $request->kodcaw[$key]; $caw_kpi->kodcaw = $request->kodcaw[$key];
@@ -498,10 +479,7 @@ class KpiController extends Controller
array_push($datakpi_temp_arr, $datakpi_to_be_inserted); array_push($datakpi_temp_arr, $datakpi_to_be_inserted);
} else {
}
else {
return redirect() return redirect()
->route('janakpi.janaekpi') ->route('janakpi.janaekpi')
->with('failed', 'Maaf, Bulan dan Tahun KPI bagi nama staff ini telah wujud dalam db.'); ->with('failed', 'Maaf, Bulan dan Tahun KPI bagi nama staff ini telah wujud dalam db.');
@@ -510,30 +488,29 @@ class KpiController extends Controller
DataKpi::insert($datakpi_temp_arr); DataKpi::insert($datakpi_temp_arr);
} }
// }
//}
// else // else
// { // {
// return redirect()->route('janakpi.janaekpi')->with('failed','Tiada surat untuk di jana'); // return redirect()->route('janakpi.janaekpi')->with('failed','Tiada surat untuk di jana');
// } // }
return redirect()->route('janakpi.janaekpi') return redirect()->route('janakpi.janaekpi')
->with('success',"Berjaya Daftar KPI ".$jawatan.' ('.$bulan.'/'.$tahun.')'); ->with('success', 'Berjaya Daftar KPI '.$jawatan.' ('.$bulan.'/'.$tahun.')');
// return redirect()->route('analisa.senaraisimulasi')->with('success',"Success daftar simulasi!"); // return redirect()->route('analisa.senaraisimulasi')->with('success',"Success daftar simulasi!");
} }
Public function listdatakpi(){ public function listdatakpi()
{
$tahunkpi = date('Y'); $tahunkpi = date('Y');
$senarai = []; $senarai = [];
$cawangan_all = Cawangan::with(['cawanganKpi']) $cawangan_all = Cawangan::with(['cawanganKpi'])
->withCount(['cawanganKpi' => function ($query) use ($tahunkpi) { ->withCount(['cawanganKpi' => function ($query) use ($tahunkpi) {
$query->where('tahun_kpi', $tahunkpi); $query->where('tahun_kpi', $tahunkpi);
}]) }])
->orderBy('caw_name','ASC') ->orderBy('caw_name', 'ASC')
->get(); ->get();
foreach($cawangan_all as $index3=>$cawangan){ foreach ($cawangan_all as $index3 => $cawangan) {
$getnamastaff = CawanganKpi::where('kodcaw', $cawangan->caw_code) $getnamastaff = CawanganKpi::where('kodcaw', $cawangan->caw_code)
->groupBy('nokpstaff') ->groupBy('nokpstaff')
@@ -541,84 +518,87 @@ class KpiController extends Controller
$kodcaw = $cawangan->caw_code; $kodcaw = $cawangan->caw_code;
$data = [ $data = [
'namastaff'=>$getnamastaff->toArray(), 'namastaff' => $getnamastaff->toArray(),
'nokpstaff'=>$getnamastaff->toArray(), 'nokpstaff' => $getnamastaff->toArray(),
]; ];
array_push($senarai,$data); array_push($senarai, $data);
// dd($data); // dd($data);
$cawangan_all_groupby_caw = $cawangan->groupBy('caw_code'); $cawangan_all_groupby_caw = $cawangan->groupBy('caw_code');
$cawangan_all[$index3]["cawangan_info"] = $cawangan; $cawangan_all[$index3]['cawangan_info'] = $cawangan;
$cawangan_all[$index3]["namastaff"] = $getnamastaff; $cawangan_all[$index3]['namastaff'] = $getnamastaff;
}
return view('kpi.datakpibycaw',compact('cawangan_all','senarai'));
} }
Public function listdatakpidetail($nokpstaff,$kodcaw, Request $request){ return view('kpi.datakpibycaw', compact('cawangan_all', 'senarai'));
}
public function listdatakpidetail($nokpstaff, $kodcaw, Request $request)
{
$getnamastaff = CawanganKpi::where('kodcaw', $kodcaw) $getnamastaff = CawanganKpi::where('kodcaw', $kodcaw)
->where('nokpstaff',$nokpstaff) ->where('nokpstaff', $nokpstaff)
->first(); ->first();
// dd($getnamastaff); // dd($getnamastaff);
$jawatan = Jawatan::where('idjawatan', $getnamastaff->jawatan) $jawatan = Jawatan::where('idjawatan', $getnamastaff->jawatan)
->get(); ->get();
$bycaw_all = CawanganKpi::with(['cawangan','dataKpi'=> function ($query) use ($jawatan) { $bycaw_all = CawanganKpi::with(['cawangan', 'dataKpi' => function ($query) use ($jawatan) {
$query->where('jawatan', $jawatan[0]['idjawatan']) $query->where('jawatan', $jawatan[0]['idjawatan'])
->orderByRaw('CONVERT(bulan, SIGNED) asc') ->orderByRaw('CONVERT(bulan, SIGNED) asc')
->orderByRaw('CONVERT(tahun, SIGNED) asc'); ->orderByRaw('CONVERT(tahun, SIGNED) asc');
}]) }])
->where('nokpstaff',$nokpstaff) ->where('nokpstaff', $nokpstaff)
->where('kodcaw',$kodcaw) ->where('kodcaw', $kodcaw)
->where('jawatan',$jawatan[0]['idjawatan']) ->where('jawatan', $jawatan[0]['idjawatan'])
->get(); ->get();
foreach($bycaw_all as $index3=>$listbatch){ foreach ($bycaw_all as $index3 => $listbatch) {
$bycaw_all_groupby_caw = $listbatch->groupBy('lelong_id'); $bycaw_all_groupby_caw = $listbatch->groupBy('lelong_id');
$bycaw_all[$index3]["datakpi_info"] = $listbatch->dataKpi; $bycaw_all[$index3]['datakpi_info'] = $listbatch->dataKpi;
$bycaw_all[$index3]["nama_caw"] = $listbatch->cawangan->caw_name; $bycaw_all[$index3]['nama_caw'] = $listbatch->cawangan->caw_name;
} }
return view('kpi.datakpibycawdetail',compact('getnamastaff','bycaw_all','jawatan','kodcaw'));
return view('kpi.datakpibycawdetail', compact('getnamastaff', 'bycaw_all', 'jawatan', 'kodcaw'));
} }
Public function checkpenilai($nokpstaff,$jawatan){ public function checkpenilai($nokpstaff, $jawatan)
{
$getnamastaff = CawanganKpi::where('nokpstaff', $nokpstaff) $getnamastaff = CawanganKpi::where('nokpstaff', $nokpstaff)
->where('jawatan',$jawatan) ->where('jawatan', $jawatan)
->first(); ->first();
// dd($getnamastaff); // dd($getnamastaff);
$jawatan = Jawatan::where('idjawatan', $jawatan) $jawatan = Jawatan::where('idjawatan', $jawatan)
->get(); ->get();
// dd($jawatan); // dd($jawatan);
$kodcaw = $getnamastaff['kodcaw']; $kodcaw = $getnamastaff['kodcaw'];
$bycaw_all = CawanganKpi::with(['cawangan','dataKpi'=> function ($query) use ($jawatan) { $bycaw_all = CawanganKpi::with(['cawangan', 'dataKpi' => function ($query) use ($jawatan) {
$query->where('jawatan', $jawatan[0]['idjawatan']); $query->where('jawatan', $jawatan[0]['idjawatan']);
}]) }])
->where('nokpstaff',$nokpstaff) ->where('nokpstaff', $nokpstaff)
->where('kodcaw',$kodcaw) ->where('kodcaw', $kodcaw)
->where('jawatan', $jawatan[0]['idjawatan']) ->where('jawatan', $jawatan[0]['idjawatan'])
->get(); ->get();
// dd($bycaw_all); // dd($bycaw_all);
foreach($bycaw_all as $index3=>$listbatch){ foreach ($bycaw_all as $index3 => $listbatch) {
// dd($listbatch->toArray()); // dd($listbatch->toArray());
$bycaw_all_groupby_caw = $listbatch->groupBy('lelong_id'); $bycaw_all_groupby_caw = $listbatch->groupBy('lelong_id');
$bycaw_all[$index3]["datakpi_info"] = $listbatch->dataKpi; $bycaw_all[$index3]['datakpi_info'] = $listbatch->dataKpi;
$bycaw_all[$index3]["nama_caw"] = $listbatch->cawangan->caw_name; $bycaw_all[$index3]['nama_caw'] = $listbatch->cawangan->caw_name;
// $bycaw_all[$index3]["nama_caw"] = $listbatch->cawangan; // $bycaw_all[$index3]["nama_caw"] = $listbatch->cawangan;
} }
// dd($bycaw_all);
return view('kpi.datakpibycawdetail',compact('getnamastaff','bycaw_all','jawatan'));
// dd($bycaw_all);
return view('kpi.datakpibycawdetail', compact('getnamastaff', 'bycaw_all', 'jawatan'));
} }
Public function listdatakpidetail2($nokpstaff,$kodcaw, Request $request){ public function listdatakpidetail2($nokpstaff, $kodcaw, Request $request)
$namacaw = Cawangan::where('caw_code',$kodcaw)->first(); {
$namacaw = Cawangan::where('caw_code', $kodcaw)->first();
$getnamastaff = CawanganKpi::where('kodcaw', $kodcaw) $getnamastaff = CawanganKpi::where('kodcaw', $kodcaw)
->where('nokpstaff',$nokpstaff) ->where('nokpstaff', $nokpstaff)
->first(); ->first();
// dd($getnamastaff); // dd($getnamastaff);
$jawatan1 = Jawatan::where('idjawatan', $request->jawatan) $jawatan1 = Jawatan::where('idjawatan', $request->jawatan)
@@ -626,42 +606,40 @@ class KpiController extends Controller
$jawatan = $request->jawatan; $jawatan = $request->jawatan;
// dd($jawatan[0]); // dd($jawatan[0]);
$bycaw_all = CawanganKpi::with(['cawangan','dataKpi'=> function ($query) use ($jawatan) { $bycaw_all = CawanganKpi::with(['cawangan', 'dataKpi' => function ($query) use ($jawatan) {
$query->where('jawatan', $jawatan); $query->where('jawatan', $jawatan);
}]) }])
->where('nokpstaff',$nokpstaff) ->where('nokpstaff', $nokpstaff)
->where('kodcaw',$kodcaw) ->where('kodcaw', $kodcaw)
->where('jawatan',$request->jawatan) ->where('jawatan', $request->jawatan)
->get(); ->get();
// dd($bycaw_all); // dd($bycaw_all);
foreach($bycaw_all as $index3=>$listbatch){ foreach ($bycaw_all as $index3 => $listbatch) {
// dd($listbatch->toArray()); // dd($listbatch->toArray());
$bycaw_all_groupby_caw = $listbatch->groupBy('lelong_id'); $bycaw_all_groupby_caw = $listbatch->groupBy('lelong_id');
$bycaw_all[$index3]["datakpi_info"] = $listbatch->dataKpi; $bycaw_all[$index3]['datakpi_info'] = $listbatch->dataKpi;
$bycaw_all[$index3]["nama_caw"] = $listbatch->cawangan->caw_name; $bycaw_all[$index3]['nama_caw'] = $listbatch->cawangan->caw_name;
$bycaw_all[$index3]["jawatan1"] = $jawatan1; $bycaw_all[$index3]['jawatan1'] = $jawatan1;
// $bycaw_all[$index3]["nama_caw"] = $listbatch->cawangan; // $bycaw_all[$index3]["nama_caw"] = $listbatch->cawangan;
} }
if($request->type == 'excel') if ($request->type == 'excel') {
{
return view('kpi.datakpibycawdetail_excel',compact('getnamastaff','bycaw_all','jawatan','kodcaw','jawatan1')); return view('kpi.datakpibycawdetail_excel', compact('getnamastaff', 'bycaw_all', 'jawatan', 'kodcaw', 'jawatan1'));
} } else {
else $pdf = PDF::loadView('kpi.datakpibycawdetail_pdf', compact('getnamastaff', 'bycaw_all', 'jawatan', 'kodcaw', 'jawatan1', 'namacaw'))
{
$pdf = PDF::loadView('kpi.datakpibycawdetail_pdf',compact('getnamastaff','bycaw_all','jawatan','kodcaw','jawatan1','namacaw'))
->setPaper('a4', 'potrait'); ->setPaper('a4', 'potrait');
return $pdf->download('Data KPI '.$getnamastaff->namastaff.'.pdf'); return $pdf->download('Data KPI '.$getnamastaff->namastaff.'.pdf');
} }
} }
Public function listdatakpidetailall($kodcaw, Request $request){ public function listdatakpidetailall($kodcaw, Request $request)
{
$kodcaw = $kodcaw; $kodcaw = $kodcaw;
$getnamastaff = CawanganKpi::where('kodcaw', $kodcaw) $getnamastaff = CawanganKpi::where('kodcaw', $kodcaw)
->groupBy('jawatan','nokpstaff') ->groupBy('jawatan', 'nokpstaff')
->orderBy('namastaff') ->orderBy('namastaff')
->get(); ->get();
$getdatakpi = DataKpi::where('kodcaw', $kodcaw) $getdatakpi = DataKpi::where('kodcaw', $kodcaw)
@@ -672,20 +650,20 @@ class KpiController extends Controller
->get(); ->get();
$groupby_nama = $getdatakpi->groupby('namastaff'); $groupby_nama = $getdatakpi->groupby('namastaff');
$collection_datakpi = Collect(); $collection_datakpi = Collect();
foreach($groupby_nama as $index=>$nama){ foreach ($groupby_nama as $index => $nama) {
$groupby_jawatan = $nama->groupBy('jawatan'); $groupby_jawatan = $nama->groupBy('jawatan');
$collection_datakpi->push($groupby_jawatan); $collection_datakpi->push($groupby_jawatan);
$groupby_nama[$index]["jawatan"] = $groupby_jawatan; $groupby_nama[$index]['jawatan'] = $groupby_jawatan;
} }
return view('kpi.datakpibycawdetailall', compact('collection_datakpi', 'kodcaw'));
return view('kpi.datakpibycawdetailall',compact('collection_datakpi','kodcaw'));
} }
Public function listdatakpidetailall2($kodcaw, Request $request){ public function listdatakpidetailall2($kodcaw, Request $request)
$namacaw = Cawangan::where('caw_code',$kodcaw)->first(); {
$namacaw = Cawangan::where('caw_code', $kodcaw)->first();
$getnamastaff = CawanganKpi::where('kodcaw', $kodcaw) $getnamastaff = CawanganKpi::where('kodcaw', $kodcaw)
->groupBy('jawatan','nokpstaff') ->groupBy('jawatan', 'nokpstaff')
->orderBy('namastaff') ->orderBy('namastaff')
->get(); ->get();
$getdatakpi = DataKpi::where('kodcaw', $kodcaw) $getdatakpi = DataKpi::where('kodcaw', $kodcaw)
@@ -694,35 +672,30 @@ class KpiController extends Controller
->get(); ->get();
$groupby_nama = $getdatakpi->groupby('namastaff'); $groupby_nama = $getdatakpi->groupby('namastaff');
$collection_datakpi = Collect(); $collection_datakpi = Collect();
foreach($groupby_nama as $index=>$nama){ foreach ($groupby_nama as $index => $nama) {
$groupby_jawatan = $nama->groupBy('jawatan'); $groupby_jawatan = $nama->groupBy('jawatan');
$collection_datakpi->push($groupby_jawatan); $collection_datakpi->push($groupby_jawatan);
$groupby_nama[$index]["jawatan"] = $groupby_jawatan; $groupby_nama[$index]['jawatan'] = $groupby_jawatan;
} }
if($request->type == 'excel') if ($request->type == 'excel') {
{
return view('kpi.datakpibycawdetailall_excel',compact('collection_datakpi','kodcaw')); return view('kpi.datakpibycawdetailall_excel', compact('collection_datakpi', 'kodcaw'));
} } else {
else $pdf = PDF::loadView('kpi.datakpibycawdetailall_pdf', compact('collection_datakpi', 'kodcaw', 'namacaw'))
{
$pdf = PDF::loadView('kpi.datakpibycawdetailall_pdf',compact('collection_datakpi','kodcaw','namacaw'))
->setPaper('a4', 'potrait'); ->setPaper('a4', 'potrait');
return $pdf->download('Data KPI Keseluruhan'.$kodcaw.'.pdf'); return $pdf->download('Data KPI Keseluruhan'.$kodcaw.'.pdf');
} }
return view('kpi.datakpibycawdetailall', compact('collection_datakpi'));
return view('kpi.datakpibycawdetailall',compact('collection_datakpi'));
} }
public function hapusdatakpi($recno) public function hapusdatakpi($recno)
{ {
$datastaff = DataKpi::where('id','=',$recno) $datastaff = DataKpi::where('id', '=', $recno)
->get(); ->get();
$datastafftoarray = $datastaff->toArray(); $datastafftoarray = $datastaff->toArray();
$nokpstaff = $datastafftoarray[0]['nokpstaff']; $nokpstaff = $datastafftoarray[0]['nokpstaff'];
@@ -730,9 +703,9 @@ class KpiController extends Controller
$idcawkpi = $datastafftoarray[0]['idcawkpi']; $idcawkpi = $datastafftoarray[0]['idcawkpi'];
// dd($idcawkpi); // dd($idcawkpi);
$caw = DataKpi::where('id','=',$recno); $caw = DataKpi::where('id', '=', $recno);
$caw->delete(); $caw->delete();
$caw1 = CawanganKpi::where('id','=',$idcawkpi); $caw1 = CawanganKpi::where('id', '=', $idcawkpi);
$caw1->delete(); $caw1->delete();
$checkExisting = CawanganKpi::where('nokpstaff', '=', $nokpstaff) $checkExisting = CawanganKpi::where('nokpstaff', '=', $nokpstaff)
->where('kodcaw', '=', $kodcaw) ->where('kodcaw', '=', $kodcaw)
@@ -740,13 +713,10 @@ class KpiController extends Controller
// dd($checkExisting); // dd($checkExisting);
if ($checkExisting->isEmpty()) { if ($checkExisting->isEmpty()) {
return redirect()->route('janakpi.listdatakpi') return redirect()->route('janakpi.listdatakpi')
->with('success','Data '.$kodcaw.' Berjaya Dihapuskan'); ->with('success', 'Data '.$kodcaw.' Berjaya Dihapuskan');
} } else {
else{ return redirect()->route('janakpi.listdatakpidetail', ['nokpstaff' => $nokpstaff, 'kodcaw' => $kodcaw])
return redirect()->route('janakpi.listdatakpidetail',['nokpstaff'=>$nokpstaff,'kodcaw' => $kodcaw]) ->with('success', 'Data '.$kodcaw.' Berjaya Dihapuskan');
->with('success','Data '.$kodcaw.' Berjaya Dihapuskan');
} }
} }
} }
+1725 -2044
View File
File diff suppressed because it is too large Load Diff
+59 -79
View File
@@ -2,21 +2,19 @@
namespace App\Http\Controllers; namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Carbon\Carbon;
use App\Models\Simulasi;
use App\Models\CawanganSimulasi;
use App\Models\SimKarat;
use App\Models\Lelong;
use App\Models\LelKarat;
use App\Models\CawanganLelong; use App\Models\CawanganLelong;
use App\Models\SimulasiBid; use App\Models\CawanganSimulasi;
use App\Models\LelKarat;
use App\Models\Lelong;
use App\Models\LelongBid; use App\Models\LelongBid;
use App\Models\SimulasiBidMarhun;
use App\Models\LelongBidMarhun; use App\Models\LelongBidMarhun;
use App\Models\LogUser; use App\Models\LogUser;
use DateTime; use App\Models\SimKarat;
use App\Models\Simulasi;
use App\Models\SimulasiBid;
use App\Models\SimulasiBidMarhun;
use Carbon\Carbon;
use Illuminate\Support\Facades\Auth;
class LelongUjrahController extends Controller class LelongUjrahController extends Controller
{ {
@@ -35,21 +33,18 @@ class LelongUjrahController extends Controller
* *
* @return \Illuminate\Contracts\Support\Renderable * @return \Illuminate\Contracts\Support\Renderable
*/ */
public function index() public function index() {}
{
}
public function create($id) public function create($id)
{ {
$user = Auth::user(); $user = Auth::user();
$currentdate = Carbon::now(); $currentdate = Carbon::now();
$currentdate = $currentdate->toDateTimeString(); $currentdate = $currentdate->toDateTimeString();
$simulasi = Simulasi::where('id','=',$id)->first(); $simulasi = Simulasi::where('id', '=', $id)->first();
$cawangansim = CawanganSimulasi::where('simulasi_id','=',$id)->get(); $cawangansim = CawanganSimulasi::where('simulasi_id', '=', $id)->get();
$simkarat = SimKarat::where('simulasi_id','=',$id)->get(); $simkarat = SimKarat::where('simulasi_id', '=', $id)->get();
$lelong = new Lelong;
$lelong = new Lelong();
$lelong->tarikh_lelong = $simulasi->tarikh_lelong; $lelong->tarikh_lelong = $simulasi->tarikh_lelong;
$lelong->harga_emas_asas = $simulasi->harga_emas_asas; $lelong->harga_emas_asas = $simulasi->harga_emas_asas;
$lelong->jbg = $simulasi->jbg; $lelong->jbg = $simulasi->jbg;
@@ -59,9 +54,7 @@ class LelongUjrahController extends Controller
$lelong->tagujrah = 1; $lelong->tagujrah = 1;
$lelong->save(); $lelong->save();
foreach ($simkarat as $simulasikarat) {
foreach($simkarat as $simulasikarat)
{
$lelkarat = new LelKarat; $lelkarat = new LelKarat;
$lelkarat->lelong_id = $lelong->id; $lelkarat->lelong_id = $lelong->id;
$lelkarat->karat = $simulasikarat->karat; $lelkarat->karat = $simulasikarat->karat;
@@ -71,15 +64,11 @@ class LelongUjrahController extends Controller
$lelkarat->save(); $lelkarat->save();
} }
foreach($cawangansim as $caw) foreach ($cawangansim as $caw) {
{ $cawanganlel = CawanganLelong::where('caw_id', '=', $caw->caw_id)->orderBy('id', 'desc')->first();
$cawanganlel = CawanganLelong::where('caw_id','=',$caw->caw_id)->orderBy('id','desc')->first(); if ($cawanganlel) {
if($cawanganlel) $batchno = $cawanganlel->batchlel + 1;
{ } else {
$batchno = $cawanganlel->batchlel+1;
}
else
{
$batchno = 1; $batchno = 1;
} }
$caw_lelong = new CawanganLelong; $caw_lelong = new CawanganLelong;
@@ -93,48 +82,44 @@ class LelongUjrahController extends Controller
$caw_lelong->tagujrah = 1; $caw_lelong->tagujrah = 1;
$caw_lelong->save(); $caw_lelong->save();
$datasimbid = SimulasiBid::where('caw_id','=',$caw->caw_id)->where('simulasi_id',$id)->get(); $datasimbid = SimulasiBid::where('caw_id', '=', $caw->caw_id)->where('simulasi_id', $id)->get();
$suratcaw = $datasimbid->all(); $suratcaw = $datasimbid->all();
foreach(array_chunk($suratcaw,100) as $data_chunk) foreach (array_chunk($suratcaw, 100) as $data_chunk) {
{ // dd($data);
//dd($data); foreach ($data_chunk as $data) {
foreach($data_chunk as $data) // dd($simulasi->id);
{
//dd($simulasi->id);
$lelongbid = LelongBid::create([ $lelongbid = LelongBid::create([
"lelong_id" => $lelong->id, 'lelong_id' => $lelong->id,
"caw_id" => $data->caw_id, 'caw_id' => $data->caw_id,
"kodcaw" => $data->kodcaw, 'kodcaw' => $data->kodcaw,
"norujukan" => $data->norujukan, 'norujukan' => $data->norujukan,
"t_lelong" => $data->t_lelong, 't_lelong' => $data->t_lelong,
"hargaasas" => $data->hargaasas, 'hargaasas' => $data->hargaasas,
"hargajual" => 0.00, 'hargajual' => 0.00,
"jbg" => $data->jbg, 'jbg' => $data->jbg,
"kadarupah" => $data->kadarupah, 'kadarupah' => $data->kadarupah,
"ansuran" => $data->ansuran, 'ansuran' => $data->ansuran,
"nilaimarhun" => $data->nilaimarhun, 'nilaimarhun' => $data->nilaimarhun,
"pinjaman" => $data->pinjaman, 'pinjaman' => $data->pinjaman,
"bakiupah" => $data->bakiupah, 'bakiupah' => $data->bakiupah,
"upahsimpan" => $data->bakiupah, 'upahsimpan' => $data->bakiupah,
"cajlain" => $data->cajlain, 'cajlain' => $data->cajlain,
"cajlelong" => 0.00, 'cajlelong' => 0.00,
"baki" => 0.00, 'baki' => 0.00,
"berat" => $data->berat, 'berat' => $data->berat,
"marhun" => $data->marhun, 'marhun' => $data->marhun,
"percent" => $data->percent, 'percent' => $data->percent,
"status_jual" => 0, 'status_jual' => 0,
"status_payment" => 0, 'status_payment' => 0,
"mora_upah" => 0, 'mora_upah' => 0,
"fasa" => $data->fasa, 'fasa' => $data->fasa,
"tagujrah" => 1, 'tagujrah' => 1,
"onepercent" => $data->onepercent, 'onepercent' => $data->onepercent,
"ujrah" => $data->ujrah 'ujrah' => $data->ujrah,
]); ]);
$simulasibidmarhun = SimulasiBidMarhun::where('simulasibid_id', '=', $data->id)->get();
$simulasibidmarhun = SimulasiBidMarhun::where('simulasibid_id','=',$data->id)->get(); foreach ($simulasibidmarhun as $simbidmarhun) {
foreach($simulasibidmarhun as $simbidmarhun)
{
$lelongbidmarhun = new LelongBidMarhun; $lelongbidmarhun = new LelongBidMarhun;
$lelongbidmarhun->lelongbid_id = $lelongbid->id; $lelongbidmarhun->lelongbid_id = $lelongbid->id;
$lelongbidmarhun->bil = $simbidmarhun->bil; $lelongbidmarhun->bil = $simbidmarhun->bil;
@@ -155,16 +140,15 @@ class LelongUjrahController extends Controller
} }
if($lelongbidmarhun->save()) if ($lelongbidmarhun->save()) {
{
// $updategadai = Gadai::where('norujukan','=', $data->norujukan)->first(); // $updategadai = Gadai::where('norujukan','=', $data->norujukan)->first();
// $updategadai->taglel = 1; // $updategadai->taglel = 1;
// $updategadai->save(); // $updategadai->save();
$hapussimulasi = SimulasiBid::where('norujukan','=',$data->norujukan)->first(); $hapussimulasi = SimulasiBid::where('norujukan', '=', $data->norujukan)->first();
$hapussimulasi->delete(); $hapussimulasi->delete();
//insert loguser // insert loguser
$loguser = new LogUser; $loguser = new LogUser;
$loguser->user_id = $user->id; $loguser->user_id = $user->id;
$loguser->date = $currentdate; $loguser->date = $currentdate;
@@ -175,20 +159,16 @@ class LelongUjrahController extends Controller
$loguser->save(); $loguser->save();
} }
} }
} }
} }
$simulasi = Simulasi::where('id','=',$id)->where('tagujrah', 1)->first(); $simulasi = Simulasi::where('id', '=', $id)->where('tagujrah', 1)->first();
// dd($role); // dd($role);
$simulasi->delete(); $simulasi->delete();
return redirect()->route('lelong.senarailelong') return redirect()->route('lelong.senarailelong')
->with('success','Pendaftaran Lelong Berjaya'); ->with('success', 'Pendaftaran Lelong Berjaya');
} }
} }
+3 -11
View File
@@ -3,18 +3,8 @@
namespace App\Http\Controllers; namespace App\Http\Controllers;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Spatie\Permission\Models\Role;
use Spatie\Permission\Models\Permission;
use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Auth;
use App\Models\Lelong;
use App\Models\CawanganLelong;
use App\Models\Pengesahan;
use Carbon\Carbon;
use App\Models\Cawangan;
use App\Models\LelongBid;
use Hash;
// use Auth; // use Auth;
class LogoutController extends Controller class LogoutController extends Controller
@@ -34,8 +24,10 @@ class LogoutController extends Controller
* *
* @return \Illuminate\Contracts\Support\Renderable * @return \Illuminate\Contracts\Support\Renderable
*/ */
public function logout(Request $request) { public function logout(Request $request)
{
Auth::logout(); Auth::logout();
return redirect()->route('login'); return redirect()->route('login');
} }
} }
+11 -10
View File
@@ -1,32 +1,33 @@
<?php <?php
namespace App\Http\Controllers; namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Mail;
use App\Mail\notislelong; use App\Mail\notislelong;
use Symfony\Component\HttpFoundation\Response;
use App\Models\User; use App\Models\User;
use Illuminate\Support\Facades\Mail;
use Symfony\Component\HttpFoundation\Response;
class MailController extends Controller { class MailController extends Controller
{
public function sendEmail() { public function sendEmail()
{
$users = User::where('user_type', 2) $users = User::where('user_type', 2)
->get(); ->get();
foreach($users as $user) foreach ($users as $user) {
{
$email = $user->email; $email = $user->email;
$mailData = [ $mailData = [
'title' => 'Notis Lelongan Gadaian', 'title' => 'Notis Lelongan Gadaian',
'url' => 'https://www.positronx.io' // show unpaid gadaian 'url' => 'https://www.positronx.io', // show unpaid gadaian
]; ];
Mail::to($email)->send(new notislelong($mailData)); Mail::to($email)->send(new notislelong($mailData));
} }
return response()->json([ return response()->json([
'message' => 'Email has been sent.' 'message' => 'Email has been sent.',
], Response::HTTP_OK); ], Response::HTTP_OK);
} }
} }
+220 -257
View File
File diff suppressed because it is too large Load Diff
+4 -5
View File
@@ -2,19 +2,18 @@
namespace App\Http\Controllers\Mobile; namespace App\Http\Controllers\Mobile;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use Illuminate\Auth\Events\Verified; use Illuminate\Auth\Events\Verified;
use Illuminate\Foundation\Auth\EmailVerificationRequest; use Illuminate\Foundation\Auth\EmailVerificationRequest;
use Illuminate\Http\Request;
class EmailVerificationController extends Controller class EmailVerificationController extends Controller
{ {
public function sendVerificationEmail(Request $request) public function sendVerificationEmail(Request $request)
{ {
if ($request->user()->hasVerifiedEmail()) { if ($request->user()->hasVerifiedEmail()) {
return [ return [
'message' => 'Already Verified' 'message' => 'Already Verified',
]; ];
} }
@@ -27,7 +26,7 @@ class EmailVerificationController extends Controller
{ {
if ($request->user()->hasVerifiedEmail()) { if ($request->user()->hasVerifiedEmail()) {
return [ return [
'message' => 'Email already verified' 'message' => 'Email already verified',
]; ];
} }
@@ -36,7 +35,7 @@ class EmailVerificationController extends Controller
} }
return [ return [
'message'=>'Email has been verified' 'message' => 'Email has been verified',
]; ];
} }
} }
+2 -6
View File
@@ -21,19 +21,15 @@ class ForgotPasswordController extends Controller
use SendsPasswordResetEmails; use SendsPasswordResetEmails;
protected function sendResetLinkResponse(Request $request, $response) protected function sendResetLinkResponse(Request $request, $response)
{ {
return response(['message'=> $response]); return response(['message' => $response]);
} }
protected function sendResetLinkFailedResponse(Request $request, $response) protected function sendResetLinkFailedResponse(Request $request, $response)
{ {
return response(['error'=> $response], 422); return response(['error' => $response], 422);
} }
} }
+319 -259
View File
File diff suppressed because it is too large Load Diff
+2 -4
View File
@@ -23,14 +23,12 @@ class ResetPasswordController extends Controller
protected function sendResetResponse(Request $request, $response) protected function sendResetResponse(Request $request, $response)
{ {
return response(['message'=> trans($response)]); return response(['message' => trans($response)]);
} }
protected function sendResetFailedResponse(Request $request, $response) protected function sendResetFailedResponse(Request $request, $response)
{ {
return response(['error'=> trans($response)], 422); return response(['error' => trans($response)], 422);
} }
} }
+36 -34
View File
@@ -4,14 +4,13 @@ namespace App\Http\Controllers\Mobile;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use App\Models\TacCode; use App\Models\TacCode;
use Illuminate\Support\Facades\Validator;
use Illuminate\Http\Request;
use App\Models\User; use App\Models\User;
use DB;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Auth;
use Carbon\Carbon; use Carbon\Carbon;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Http; use Illuminate\Support\Facades\Http;
use Illuminate\Support\Facades\Validator;
class UserController extends Controller class UserController extends Controller
{ {
@@ -22,19 +21,21 @@ class UserController extends Controller
if ($user) { if ($user) {
return response()->json([ return response()->json([
'success' => true, 'success' => true,
'message' => [$user] 'message' => [$user],
], 200); ], 200);
} else { } else {
return response()->json([ return response()->json([
'success' => false, 'success' => false,
'message' => 'Unauthorized' 'message' => 'Unauthorized',
], 401); ], 401);
} }
} }
public function updateProfileUser(Request $request){
public function updateProfileUser(Request $request)
{
$validator = Validator::make($request->all(), [ $validator = Validator::make($request->all(), [
'nokp' => 'required' 'nokp' => 'required',
]); ]);
if ($validator->fails()) { if ($validator->fails()) {
@@ -43,7 +44,7 @@ class UserController extends Controller
$currentdate = Carbon::now()->toDateTimeString(); $currentdate = Carbon::now()->toDateTimeString();
$user_update = User::where('nokp','=',$request->nokp) $user_update = User::where('nokp', '=', $request->nokp)
->update([ ->update([
'bank_acc_pembeli' => $request->bank_acc_pembeli, 'bank_acc_pembeli' => $request->bank_acc_pembeli,
'bank_acc_no_pembeli' => $request->bank_acc_no_pembeli, 'bank_acc_no_pembeli' => $request->bank_acc_no_pembeli,
@@ -51,7 +52,7 @@ class UserController extends Controller
'notelbimbit' => $request->notelbimbit, 'notelbimbit' => $request->notelbimbit,
'notelpejabat' => $request->notelpejabat, 'notelpejabat' => $request->notelpejabat,
'email' => $request->email, 'email' => $request->email,
'updated_at' => $currentdate 'updated_at' => $currentdate,
]); ]);
return response()->json($user_update); return response()->json($user_update);
@@ -70,36 +71,37 @@ class UserController extends Controller
'string' => [ 'string' => [
'status' => 3, 'status' => 3,
'message' => 'Kata laluan baharu mestilah melebihi 8 karakter.', 'message' => 'Kata laluan baharu mestilah melebihi 8 karakter.',
] ],
], ],
'confirm_new_password.required' => ['status' => '4', 'message' => 'Sila isi pengesahan kata laluan baharu.'], 'confirm_new_password.required' => ['status' => '4', 'message' => 'Sila isi pengesahan kata laluan baharu.'],
'confirm_new_password.min' => [ 'confirm_new_password.min' => [
'string' => [ 'string' => [
'status' => 5, 'status' => 5,
'message' => 'Pengesahan kata laluan baharu mestilah melebihi 8 karakter.', 'message' => 'Pengesahan kata laluan baharu mestilah melebihi 8 karakter.',
] ],
], ],
]); ]);
if ($validator->fails()) { if ($validator->fails()) {
$all_errors = [ $all_errors = [
'success' => false, 'success' => false,
'message' => $validator->errors() 'message' => $validator->errors(),
]; ];
return response($all_errors, 201); return response($all_errors, 201);
} }
if (!(Hash::check($request->get('current_password'), Auth::user()->password))) { if (! (Hash::check($request->get('current_password'), Auth::user()->password))) {
return response()->json([ return response()->json([
'success' => false, 'success' => false,
'message' => [ 'message' => [
'current_password' => [ 'current_password' => [
0 => [ 0 => [
'status' => 9, 'status' => 9,
'message' => 'Kata laluan asal salah.' 'message' => 'Kata laluan asal salah.',
] ],
] ],
] ],
]); ]);
} }
@@ -110,10 +112,10 @@ class UserController extends Controller
'current_password' => [ 'current_password' => [
0 => [ 0 => [
'status' => 8, 'status' => 8,
'message' => 'Kata laluan baharu tidak boleh sama dengan kata laluan asal.' 'message' => 'Kata laluan baharu tidak boleh sama dengan kata laluan asal.',
] ],
] ],
] ],
]); ]);
} }
@@ -124,10 +126,10 @@ class UserController extends Controller
'current_password' => [ 'current_password' => [
0 => [ 0 => [
'status' => 12, 'status' => 12,
'message' => 'Kata laluan baharu tidak sama dengan pengesahan kata laluan baharu.' 'message' => 'Kata laluan baharu tidak sama dengan pengesahan kata laluan baharu.',
] ],
] ],
] ],
]); ]);
} }
@@ -140,7 +142,7 @@ class UserController extends Controller
return response()->json([ return response()->json([
'success' => true, 'success' => true,
'status' => 55, 'status' => 55,
'message' => 'Kata laluan berjaya diubah' 'message' => 'Kata laluan berjaya diubah',
]); ]);
} }
@@ -152,7 +154,7 @@ class UserController extends Controller
$date = $current->toDateTimeString(); $date = $current->toDateTimeString();
$current_date = strtotime($date); $current_date = strtotime($date);
$future_date = $current_date + (60 * 2); $future_date = $current_date + (60 * 2);
$expired_date_formated = date("Y-m-d H:i:s", $future_date); $expired_date_formated = date('Y-m-d H:i:s', $future_date);
$tac_code = rand(100000, 999999); $tac_code = rand(100000, 999999);
@@ -164,7 +166,7 @@ class UserController extends Controller
return response()->json([ return response()->json([
'success' => false, 'success' => false,
'message' => 'The phone number already request for tac code. Please wait 2 minute from request time for the session to end.', 'message' => 'The phone number already request for tac code. Please wait 2 minute from request time for the session to end.',
'response' => $check_status_phone_number 'response' => $check_status_phone_number,
]); ]);
} }
@@ -173,11 +175,11 @@ class UserController extends Controller
'apipassword' => config('app.one_way_sms_password'), 'apipassword' => config('app.one_way_sms_password'),
'senderid' => 'INFO', 'senderid' => 'INFO',
'mobileno' => $request->phone_number, 'mobileno' => $request->phone_number,
'message' => '[ArrahnBid]: '. $tac_code .' is your TAC code. The code is valid for 2 minutes.', 'message' => '[ArrahnBid]: '.$tac_code.' is your TAC code. The code is valid for 2 minutes.',
'languagetype' => 1 'languagetype' => 1,
]); ]);
$tac_code_model = new TacCode(); $tac_code_model = new TacCode;
$tac_code_model->tac_code = Hash::make($tac_code); $tac_code_model->tac_code = Hash::make($tac_code);
$tac_code_model->phone_number = $request->phone_number; $tac_code_model->phone_number = $request->phone_number;
$tac_code_model->case_code = 1; $tac_code_model->case_code = 1;
@@ -214,7 +216,7 @@ class UserController extends Controller
return response()->json([ return response()->json([
'success' => true, 'success' => true,
'message' => 'Update successful!', 'message' => 'Update successful!',
'user' => $user 'user' => $user,
]); ]);
} else { } else {
return response()->json([ return response()->json([
+6 -10
View File
@@ -2,11 +2,11 @@
namespace App\Http\Controllers\Mobile; namespace App\Http\Controllers\Mobile;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use Illuminate\Auth\Access\AuthorizationException;
use Illuminate\Auth\Events\Verified; use Illuminate\Auth\Events\Verified;
use Illuminate\Foundation\Auth\VerifiesEmails; use Illuminate\Foundation\Auth\VerifiesEmails;
use Illuminate\Auth\Access\AuthorizationException; use Illuminate\Http\Request;
class VerificationController extends Controller class VerificationController extends Controller
{ {
@@ -45,14 +45,13 @@ class VerificationController extends Controller
/** /**
* Resend the email verification notification. * Resend the email verification notification.
* *
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response * @return \Illuminate\Http\Response
*/ */
public function resend(Request $request) public function resend(Request $request)
{ {
if ($request->user()->hasVerifiedEmail()) { if ($request->user()->hasVerifiedEmail()) {
return response(['message'=>'Already verified']); return response(['message' => 'Already verified']);
} }
$request->user()->sendEmailVerificationNotification(); $request->user()->sendEmailVerificationNotification();
@@ -64,12 +63,11 @@ class VerificationController extends Controller
return back()->with('resent', true); return back()->with('resent', true);
} }
/** /**
* Mark the authenticated user's email address as verified. * Mark the authenticated user's email address as verified.
* *
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response * @return \Illuminate\Http\Response
*
* @throws \Illuminate\Auth\Access\AuthorizationException * @throws \Illuminate\Auth\Access\AuthorizationException
*/ */
public function verify(Request $request) public function verify(Request $request)
@@ -82,7 +80,7 @@ class VerificationController extends Controller
if ($request->user()->hasVerifiedEmail()) { if ($request->user()->hasVerifiedEmail()) {
return response(['message'=>'Already verified']); return response(['message' => 'Already verified']);
// return redirect($this->redirectPath()); // return redirect($this->redirectPath());
} }
@@ -91,9 +89,7 @@ class VerificationController extends Controller
event(new Verified($request->user())); event(new Verified($request->user()));
} }
return response(['message'=>'Successfully verified']); return response(['message' => 'Successfully verified']);
} }
} }
+654 -849
View File
File diff suppressed because it is too large Load Diff
+78 -96
View File
@@ -2,26 +2,25 @@
namespace App\Http\Controllers; namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\Lelong;
use App\Models\CawanganLelong;
use App\Models\Cawangan; use App\Models\Cawangan;
use App\Models\Resit; use App\Models\CawanganLelong;
use App\Models\FileResit;
use App\Models\Invoice;
use App\Models\Lelong;
use App\Models\LelongBid; use App\Models\LelongBid;
use App\Models\LelongBidder; use App\Models\LelongBidder;
use App\Models\LelongBidMarhun;
use App\Models\Payment;
use App\Models\User;
use App\Models\File;
use App\Models\FileResit;
use Carbon\Carbon;
use Illuminate\Support\Facades\Auth;
use App\Models\Invoice;
use App\Models\PayDenoKaunter; use App\Models\PayDenoKaunter;
use App\Models\Payment;
use App\Models\Resit;
use App\Models\User;
use Carbon\Carbon;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
class PaymentController extends Controller class PaymentController extends Controller
{ {
public function SenaraiLelongBayar(Request $request){ public function SenaraiLelongBayar(Request $request)
{
$arrayinfo = []; $arrayinfo = [];
$arraysms = []; $arraysms = [];
@@ -30,53 +29,51 @@ class PaymentController extends Controller
$user = Auth::user(); $user = Auth::user();
$lelong = Lelong::join('cawangan_lelong','lelong.id','=','cawangan_lelong.lelong_id') $lelong = Lelong::join('cawangan_lelong', 'lelong.id', '=', 'cawangan_lelong.lelong_id')
->join('cawangan','cawangan_lelong.caw_id', '=', 'cawangan.id') ->join('cawangan', 'cawangan_lelong.caw_id', '=', 'cawangan.id')
->select('lelong.fasa','lelong_id','tarikh_lelong','lelong.masatamat_lelong','harga_emas_asas','jbg','cajlelong','sts_lelong') ->select('lelong.fasa', 'lelong_id', 'tarikh_lelong', 'lelong.masatamat_lelong', 'harga_emas_asas', 'jbg', 'cajlelong', 'sts_lelong')
->where('lelong.sts_lelong', 3) ->where('lelong.sts_lelong', 3)
->where('cawangan.caw_code', $user->kodcaw) ->where('cawangan.caw_code', $user->kodcaw)
->groupBy('lelong_id') ->groupBy('lelong_id')
->get() ->get()
->toArray(); ->toArray();
foreach ($lelong as $info) {
foreach($lelong as $info) $detailsinfo = CawanganLelong::join('cawangan', 'cawangan_lelong.caw_id', '=', 'cawangan.id')
{ ->where('lelong_id', $info['lelong_id'])
$detailsinfo = CawanganLelong::join('cawangan','cawangan_lelong.caw_id','=','cawangan.id') ->where('cawangan.caw_code', $user->kodcaw)
->where('lelong_id',$info['lelong_id'])
->where('cawangan.caw_code',$user->kodcaw)
->get() ->get()
->toArray(); ->toArray();
if($info['tarikh_lelong'] == $tarikh_semasa) if ($info['tarikh_lelong'] == $tarikh_semasa) {
{ array_push($arraysms, ['info' => $info, 'detailsinfo' => $detailsinfo]);
array_push($arraysms,['info'=>$info, 'detailsinfo'=>$detailsinfo]);
} else { } else {
array_push($arraysls,['info'=>$info, 'detailsinfo'=>$detailsinfo]); array_push($arraysls, ['info' => $info, 'detailsinfo' => $detailsinfo]);
} }
// array_push($arrayinfo,['info'=>$info, 'detailsinfo'=>$detailsinfo]); // array_push($arrayinfo,['info'=>$info, 'detailsinfo'=>$detailsinfo]);
// dd($detailsinfo); // dd($detailsinfo);
} }
$datacaw = Cawangan::where('caw_code','=', $user->kodcaw) $datacaw = Cawangan::where('caw_code', '=', $user->kodcaw)
->get(); ->get();
return view('pembayaran.senarailelongbayaran',compact('arraysms','arraysls','datacaw','lelong', 'arrayinfo')); return view('pembayaran.senarailelongbayaran', compact('arraysms', 'arraysls', 'datacaw', 'lelong', 'arrayinfo'));
} }
public function SenaraiPemenang($lelong_id){ public function SenaraiPemenang($lelong_id)
{
$user = Auth::user(); $user = Auth::user();
$listwinner = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id') $listwinner = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
->where('lelongbidder.status_bidder', 1) ->where('lelongbidder.status_bidder', 1)
->where('lelongbid.kodcaw',$user->kodcaw) ->where('lelongbid.kodcaw', $user->kodcaw)
->where('lelongbid.lelong_id', $lelong_id) ->where('lelongbid.lelong_id', $lelong_id)
->select('lelongbidder.user_id') ->select('lelongbidder.user_id')
->groupBy('lelongbidder.user_id') ->groupBy('lelongbidder.user_id')
->get()->toArray(); ->get()->toArray();
foreach($listwinner as $index1=>$winner){ foreach ($listwinner as $index1 => $winner) {
$userdetails = User::where('id', $winner['user_id'])->first(); $userdetails = User::where('id', $winner['user_id'])->first();
$SAGWin = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id') $SAGWin = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
@@ -104,19 +101,19 @@ class PaymentController extends Controller
->select('payment_id')->groupBy('payment_id')->get(); ->select('payment_id')->groupBy('payment_id')->get();
$total_payment = 0; $total_payment = 0;
foreach($payment_id as $id){ foreach ($payment_id as $id) {
$payment = Payment::where('id', $id->payment_id) $payment = Payment::where('id', $id->payment_id)
->first(); ->first();
// dd($payment); // dd($payment);
if($payment){ if ($payment) {
$total_payment = $total_payment + $payment->total_payment; $total_payment = $total_payment + $payment->total_payment;
} }
} }
// dd($total_payment); // dd($total_payment);
$listwinner[$index1]['details'] = $userdetails; $listwinner[$index1]['details'] = $userdetails;
$listwinner[$index1]['total_surat'] = sizeof($SAGWin); $listwinner[$index1]['total_surat'] = count($SAGWin);
$listwinner[$index1]['totalBid'] = $SAGWin->sum('hargabida'); $listwinner[$index1]['totalBid'] = $SAGWin->sum('hargabida');
$listwinner[$index1]['totalPay'] = $total_payment; $listwinner[$index1]['totalPay'] = $total_payment;
$listwinner[$index1]['sts_payment'] = $sts_payment[0]['status_payment']; $listwinner[$index1]['sts_payment'] = $sts_payment[0]['status_payment'];
@@ -124,7 +121,7 @@ class PaymentController extends Controller
} }
$sum = 0; $sum = 0;
$kaedah = Payment::where('kodcaw',$user->kodcaw) $kaedah = Payment::where('kodcaw', $user->kodcaw)
->where('status', '=', 2) ->where('status', '=', 2)
->where('lelong_id', $lelong_id) ->where('lelong_id', $lelong_id)
->select('payment.status_payment_opt', 'payment.total_payment') ->select('payment.status_payment_opt', 'payment.total_payment')
@@ -138,14 +135,15 @@ class PaymentController extends Controller
$bilfpx = $kaedah->where('status_payment_opt', 2)->count('norujukan'); $bilfpx = $kaedah->where('status_payment_opt', 2)->count('norujukan');
$biltunai = $kaedah->where('status_payment_opt', 1)->count('norujukan'); $biltunai = $kaedah->where('status_payment_opt', 1)->count('norujukan');
$datacaw = Cawangan::where('caw_code','=', $user->kodcaw) $datacaw = Cawangan::where('caw_code', '=', $user->kodcaw)
->get(); ->get();
return view('pembayaran.kaunterpembayaran',compact('bilcdm','bilfpx','biltunai','datacaw','listwinner','lelong_id','kaedah_cdm','kaedah_fpx','kaedah_tunai')); return view('pembayaran.kaunterpembayaran', compact('bilcdm', 'bilfpx', 'biltunai', 'datacaw', 'listwinner', 'lelong_id', 'kaedah_cdm', 'kaedah_fpx', 'kaedah_tunai'));
} }
public function SAGBidItem($user_id, $lelong_id){ public function SAGBidItem($user_id, $lelong_id)
{
$user = Auth::user(); $user = Auth::user();
@@ -179,8 +177,7 @@ class PaymentController extends Controller
) )
->get(); ->get();
foreach($eachbid as $bid) foreach ($eachbid as $bid) {
{
// dd($bid); // dd($bid);
$paymentstatus = Payment::where('lelong_id', $lelong_id) $paymentstatus = Payment::where('lelong_id', $lelong_id)
->where('user_id', $bid['user_id']) ->where('user_id', $bid['user_id'])
@@ -189,15 +186,13 @@ class PaymentController extends Controller
->orWhere('status_payment_opt', 3) ->orWhere('status_payment_opt', 3)
->get(); ->get();
if($paymentstatus) if ($paymentstatus) {
{
$total_payment = 0; $total_payment = 0;
foreach($paymentstatus as $index1=>$payemnt) foreach ($paymentstatus as $index1 => $payemnt) {
{
$payment = Payment::where('id', $payemnt->payment_id) $payment = Payment::where('id', $payemnt->payment_id)
->first(); ->first();
if($payment){ if ($payment) {
$total_payment = $total_payment + $payment->total_payment; $total_payment = $total_payment + $payment->total_payment;
} }
$listwinner[$index1]['totalPay'] = $total_payment; $listwinner[$index1]['totalPay'] = $total_payment;
@@ -227,24 +222,24 @@ class PaymentController extends Controller
->get()->toArray(); ->get()->toArray();
// dd($getresit); // dd($getresit);
$getinvoice = Invoice::where('lelong_id',$lelong_id) $getinvoice = Invoice::where('lelong_id', $lelong_id)
->where('user_id','=',$user_id) ->where('user_id', '=', $user_id)
->first(); ->first();
$totalbidaan = $eachbid->SUM('hargabida'); $totalbidaan = $eachbid->SUM('hargabida');
$array_resit = []; $array_resit = [];
foreach($getresit as $index1=>$resit) foreach ($getresit as $index1 => $resit) {
{ $getresit[$index1]['resit64'] = 'data:image/'.$resit['file_type'].';base64'.base64_encode($resit['filename']);
$getresit[$index1]['resit64'] = 'data:image/' . $resit['file_type'] . ';base64' . base64_encode($resit['filename']);
} }
$datacaw = Cawangan::where('caw_code','=',$user->kodcaw) $datacaw = Cawangan::where('caw_code', '=', $user->kodcaw)
->get(); ->get();
return view('pembayaran.SAGBidItem',compact('statuspayment','datacaw','SAGBidItem', 'eachbid', 'lelong_id','user_id', 'getresit','getinvoice','totalbidaan')); return view('pembayaran.SAGBidItem', compact('statuspayment', 'datacaw', 'SAGBidItem', 'eachbid', 'lelong_id', 'user_id', 'getresit', 'getinvoice', 'totalbidaan'));
} }
public function paymentdenokaunter(Request $request){ public function paymentdenokaunter(Request $request)
{
// dd($request->all()); // dd($request->all());
@@ -252,7 +247,7 @@ class PaymentController extends Controller
$currentdate = $currentdate->toDateTimeString(); $currentdate = $currentdate->toDateTimeString();
$current = Carbon::now(); $current = Carbon::now();
$current = new Carbon(); $current = new Carbon;
$day = $current->day; $day = $current->day;
$month = $current->month; $month = $current->month;
@@ -268,22 +263,21 @@ class PaymentController extends Controller
// $norujukanid = implode(",", $request->norujukan); // $norujukanid = implode(",", $request->norujukan);
// $norujukan_id = explode(",", $norujukanid); // $norujukan_id = explode(",", $norujukanid);
// dd($eachbid); // dd($eachbid);
$getinvoice = Invoice::where('lelong_id',$request->lelong_id) $getinvoice = Invoice::where('lelong_id', $request->lelong_id)
->where('user_id','=',$request->user_id) ->where('user_id', '=', $request->user_id)
->first(); ->first();
$previous_siri = Resit::orderBy('id','desc')->first(); $previous_siri = Resit::orderBy('id', 'desc')->first();
if($previous_siri){ if ($previous_siri) {
$nosiri = $previous_siri->id + 1; $nosiri = $previous_siri->id + 1;
}else{ } else {
$nosiri = 1; $nosiri = 1;
} }
$reference_no = 'LPKB' . $day . $month . $year . sprintf("%08d", $nosiri); $reference_no = 'LPKB'.$day.$month.$year.sprintf('%08d', $nosiri);
$resit = new Resit; $resit = new Resit;
$resit->user_id = $request->user_id; $resit->user_id = $request->user_id;
@@ -296,7 +290,7 @@ class PaymentController extends Controller
$resit->resit_type = 2; // 1 = fee , 2 = bid $resit->resit_type = 2; // 1 = fee , 2 = bid
$resit->save(); $resit->save();
//adddenokaunter // adddenokaunter
$paymentdeno = PayDenoKaunter::create([ $paymentdeno = PayDenoKaunter::create([
'user_id' => $request->user_id, 'user_id' => $request->user_id,
'lelong_id' => $request->lelong_id, 'lelong_id' => $request->lelong_id,
@@ -319,10 +313,9 @@ class PaymentController extends Controller
'rm50' => $request->ambilanring50, 'rm50' => $request->ambilanring50,
'rm100' => $request->ambilanring100, 'rm100' => $request->ambilanring100,
'disahkan_oleh' => $user->id, 'disahkan_oleh' => $user->id,
'disahkan_pada' => $currentdate 'disahkan_pada' => $currentdate,
]); ]);
$sagmenang = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id') $sagmenang = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
->join('users', 'lelongbidder.user_id', '=', 'users.id') ->join('users', 'lelongbidder.user_id', '=', 'users.id')
->where('lelongbid.status_jual', 1) ->where('lelongbid.status_jual', 1)
@@ -341,9 +334,7 @@ class PaymentController extends Controller
// dd($sagmenang); // dd($sagmenang);
foreach ($sagmenang as $index1 => $bid) {
foreach($sagmenang as $index1=>$bid)
{
// dd($bid->lelongbid_id); // dd($bid->lelongbid_id);
$eachbid = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id') $eachbid = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
->join('users', 'lelongbidder.user_id', '=', 'users.id') ->join('users', 'lelongbidder.user_id', '=', 'users.id')
@@ -378,20 +369,17 @@ class PaymentController extends Controller
'resit_id' => $resit->id, 'resit_id' => $resit->id,
'total_payment' => $eachbid->hargabida, 'total_payment' => $eachbid->hargabida,
'disahkan_oleh' => $user->id, 'disahkan_oleh' => $user->id,
'disahkan_pada' => $currentdate 'disahkan_pada' => $currentdate,
]); ]);
$updatelelbidbidder = LelongBidder::where('lelongbid_id', $eachbid->lelongbid_id) $updatelelbidbidder = LelongBidder::where('lelongbid_id', $eachbid->lelongbid_id)
->where('user_id',$request->user_id) ->where('user_id', $request->user_id)
->first(); ->first();
$updatelelbidbidder->status_payment = 1; $updatelelbidbidder->status_payment = 1;
$updatelelbidbidder->payment_id = $payment->id; $updatelelbidbidder->payment_id = $payment->id;
$updatelelbidbidder->save(); $updatelelbidbidder->save();
$eachbidupdate = LelongBid::where('id',$bid->lelongbid_id)->first(); $eachbidupdate = LelongBid::where('id', $bid->lelongbid_id)->first();
$eachbidupdate->status_jual = 1; $eachbidupdate->status_jual = 1;
$eachbidupdate->status_payment = '1'; $eachbidupdate->status_payment = '1';
// $eachbidupdate->t_jual = $currentdate; // $eachbidupdate->t_jual = $currentdate;
@@ -406,11 +394,9 @@ class PaymentController extends Controller
->where('lelongbidder.status_bidder', 1) ->where('lelongbidder.status_bidder', 1)
->get(); ->get();
if(floatval($request->amaunkiraan) == $total_hargabida) if (floatval($request->amaunkiraan) == $total_hargabida) {
{
$resit->total_payment = $request->amaunkiraan; $resit->total_payment = $request->amaunkiraan;
if($resit->total_payment >= $senaraisagallpayment->sum('hargabida')) if ($resit->total_payment >= $senaraisagallpayment->sum('hargabida')) {
{
$resit->status = 'PAID'; // $resit->status = 'PAID'; when hargabida >= total_payment di resit $resit->status = 'PAID'; // $resit->status = 'PAID'; when hargabida >= total_payment di resit
$resit->paid_at = $currentdate; $resit->paid_at = $currentdate;
} }
@@ -419,11 +405,12 @@ class PaymentController extends Controller
// return redirect()->route('pembayaran.SenaraiLelongBayar')->with('success','Pembayaran Berjaya'); // return redirect()->route('pembayaran.SenaraiLelongBayar')->with('success','Pembayaran Berjaya');
return redirect()->route('pembayaran.kaunterpembayaran', $request->lelong_id) return redirect()->route('pembayaran.kaunterpembayaran', $request->lelong_id)
->with('success','Pembayaran Berjaya'); ->with('success', 'Pembayaran Berjaya');
} }
public function pengesahanPembayaran(Request $request){ public function pengesahanPembayaran(Request $request)
{
// dd($request->all()); // dd($request->all());
@@ -432,13 +419,13 @@ class PaymentController extends Controller
->where('lelongbidder.status_bidder', 1) ->where('lelongbidder.status_bidder', 1)
->get(); ->get();
return view('pembayaran.pengesahanPembayaran',compact('pengesahanPembayaran')); return view('pembayaran.pengesahanPembayaran', compact('pengesahanPembayaran'));
} }
public function banktransfer(Request $request) public function banktransfer(Request $request)
{ {
// dd($request->all()); // dd($request->all());
//eachbid = lelongbid_id // eachbid = lelongbid_id
// $bid_id = implode(",", $request->eachbid); // $bid_id = implode(",", $request->eachbid);
// dd($bid_id); // dd($bid_id);
@@ -447,8 +434,7 @@ class PaymentController extends Controller
->where('payment.user_id', $request->user_id) ->where('payment.user_id', $request->user_id)
->first(); ->first();
if($paymentexist) if ($paymentexist) {
{
$getpayment = Payment::join('fileresit', 'payment.id', '=', 'fileresit.payment_id') $getpayment = Payment::join('fileresit', 'payment.id', '=', 'fileresit.payment_id')
->where('payment.lelong_id', $request->lelong_id) ->where('payment.lelong_id', $request->lelong_id)
->where('payment.user_id', $request->user_id) ->where('payment.user_id', $request->user_id)
@@ -474,13 +460,11 @@ class PaymentController extends Controller
$updatepayment->update(); $updatepayment->update();
return redirect()->route('pembayaran.kaunterpembayaran', $request->lelong_id) return redirect()->route('pembayaran.kaunterpembayaran', $request->lelong_id)
->with('success','Ubah Resit Berjaya, Tunggu Pengesahan Akaun'); ->with('success', 'Ubah Resit Berjaya, Tunggu Pengesahan Akaun');
} } else {
else
{
// $bid_id = $request->eachbid; // $bid_id = $request->eachbid;
$bidid = implode(",", $request->eachbid); $bidid = implode(',', $request->eachbid);
$bid_id = explode(",", $bidid); $bid_id = explode(',', $bidid);
$currentdate = Carbon::now(); $currentdate = Carbon::now();
$currentdate = $currentdate->toDateTimeString(); $currentdate = $currentdate->toDateTimeString();
@@ -491,7 +475,7 @@ class PaymentController extends Controller
$file_type = $request->resit->extension(); $file_type = $request->resit->extension();
$resit = Resit::where('lelong_id', $request->lelong_id) $resit = Resit::where('lelong_id', $request->lelong_id)
->where('user_id',$request->user_id) ->where('user_id', $request->user_id)
->where('resit_type', 2) ->where('resit_type', 2)
->first(); ->first();
@@ -515,8 +499,7 @@ class PaymentController extends Controller
$addfile->filename = $data; $addfile->filename = $data;
$addfile->save(); $addfile->save();
foreach($bid_id as $bid) foreach ($bid_id as $bid) {
{
$eachbid = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id') $eachbid = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
->join('users', 'lelongbidder.user_id', '=', 'users.id') ->join('users', 'lelongbidder.user_id', '=', 'users.id')
->where('lelongbidder.lelongbid_id', $bid) ->where('lelongbidder.lelongbid_id', $bid)
@@ -530,21 +513,20 @@ class PaymentController extends Controller
->first(); ->first();
$updatelelbidbidder = LelongBidder::where('lelongbid_id', $eachbid->lelongbid_id) $updatelelbidbidder = LelongBidder::where('lelongbid_id', $eachbid->lelongbid_id)
->where('user_id',$request->user_id) ->where('user_id', $request->user_id)
->first(); ->first();
$updatelelbidbidder->status_payment = 2; $updatelelbidbidder->status_payment = 2;
$updatelelbidbidder->payment_id = $payment->id; $updatelelbidbidder->payment_id = $payment->id;
$updatelelbidbidder->save(); $updatelelbidbidder->save();
$eachbidupdate = LelongBid::where('id',$bid)->first(); $eachbidupdate = LelongBid::where('id', $bid)->first();
$eachbidupdate->hargajual = $eachbid->hargabida; $eachbidupdate->hargajual = $eachbid->hargabida;
$eachbidupdate->save(); $eachbidupdate->save();
} }
return redirect()->route('pembayaran.kaunterpembayaran', $request->lelong_id) return redirect()->route('pembayaran.kaunterpembayaran', $request->lelong_id)
->with('success','Menunggu Pengesahan Akaun'); ->with('success', 'Menunggu Pengesahan Akaun');
} }
+242 -309
View File
File diff suppressed because it is too large Load Diff
+106 -119
View File
@@ -2,16 +2,15 @@
namespace App\Http\Controllers; namespace App\Http\Controllers;
use Illuminate\Http\Request; use App\Models\Cawangan;
use Spatie\Permission\Models\Role;
use Spatie\Permission\Models\Permission;
use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Facades\Auth;
use App\Models\User; use App\Models\User;
use Carbon\Carbon; use Carbon\Carbon;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Validator;
use PDF; use PDF;
use Spatie\Permission\Models\Permission;
use App\Models\Cawangan; use Spatie\Permission\Models\Role;
class PenggunaController extends Controller class PenggunaController extends Controller
{ {
@@ -33,44 +32,45 @@ class PenggunaController extends Controller
public function index() public function index()
{ {
// $alluser = User::all(); // $alluser = User::all();
$alluser = User::with('roles','cawangan')->whereHas("roles", function($q) { $alluser = User::with('roles', 'cawangan')->whereHas('roles', function ($q) {
$q->where("id",'!=', 8);}) $q->where('id', '!=', 8);
->orderBy('name','ASC') })
->orderBy('name', 'ASC')
->get(); ->get();
// dd($alluser); // dd($alluser);
$allroles = Role::all(); $allroles = Role::all();
$allRolesPluck= $allroles->pluck('name'); $allRolesPluck = $allroles->pluck('name');
$caw = Cawangan::all(); $caw = Cawangan::all();
// $user = User::with('roles')->first(); // $user = User::with('roles')->first();
// // dd($user); // // dd($user);
// $userroles = $user->getRoleNames()->toArray(); // $userroles = $user->getRoleNames()->toArray();
// $user = Auth::user(); // $user = Auth::user();
// $user->assignRole('admin'); // $user->assignRole('admin');
return view('pengurusanpengguna.index',compact('alluser','allroles','caw', 'allRolesPluck')); return view('pengurusanpengguna.index', compact('alluser', 'allroles', 'caw', 'allRolesPluck'));
} }
public function show(Request $request, $userid) public function show(Request $request, $userid)
{ {
// dd($userid); // dd($userid);
$user = User::where('id','=',$userid)->with('roles','cawangan')->first(); $user = User::where('id', '=', $userid)->with('roles', 'cawangan')->first();
$userroles = $user->getRoleNames()->toArray(); $userroles = $user->getRoleNames()->toArray();
$caw = Cawangan::all(); $caw = Cawangan::all();
$allroles = Role::all()->pluck('name'); $allroles = Role::all()->pluck('name');
// $active = User::where('id','=',$userid)->update('status', 1); // $active = User::where('id','=',$userid)->update('status', 1);
return view('pengurusanpengguna.show',compact('user','allroles','userroles','caw')); return view('pengurusanpengguna.show', compact('user', 'allroles', 'userroles', 'caw'));
} }
public function storepengguna(Request $request) public function storepengguna(Request $request)
{ {
$currentdate = Carbon::now(); $currentdate = Carbon::now();
$currentdate = $currentdate->toDateTimeString(); $currentdate = $currentdate->toDateTimeString();
//dd($request->all()); // dd($request->all());
$validator = Validator::make($request->all(), [ $validator = Validator::make($request->all(), [
'email' => 'required|string|unique:users|email', 'email' => 'required|string|unique:users|email',
'username' => 'required|string|unique:users' 'username' => 'required|string|unique:users',
]); ]);
// if ($validator->fails()) { // if ($validator->fails()) {
@@ -83,29 +83,27 @@ class PenggunaController extends Controller
// return redirect()->route('pengguna.index') // return redirect()->route('pengguna.index')
// ->with('message', 'Sila Masukkan Email Yang Sah'); } // ->with('message', 'Sila Masukkan Email Yang Sah'); }
//check if user already existed // check if user already existed
$check = User::where('username',$request->username) $check = User::where('username', $request->username)
->orWhere('email',$request->email) ->orWhere('email', $request->email)
->first(); ->first();
if($check) if ($check) {
{ return redirect()->route('pengguna.index')->with('failed', 'Maaf, Nama Pengguna / Emel Berikut Telah Wujud !');
return redirect()->route('pengguna.index')->with('failed','Maaf, Nama Pengguna / Emel Berikut Telah Wujud !');
} else { } else {
$allroles = Role::all()->pluck('name'); $allroles = Role::all()->pluck('name');
$arraytaraf = []; $arraytaraf = [];
$counttaraf = 0; $counttaraf = 0;
foreach($allroles as $index=>$taraf) { foreach ($allroles as $index => $taraf) {
$req = 'taraf'.$taraf; $req = 'taraf'.$taraf;
if($request->$req) if ($request->$req) {
{
$counttaraf++; $counttaraf++;
array_push($arraytaraf,$taraf); array_push($arraytaraf, $taraf);
} }
} }
if($counttaraf < 1){ if ($counttaraf < 1) {
return redirect()->route('pengguna.index')->with('failed','Maaf, Taraf Tidak Dipilih'); return redirect()->route('pengguna.index')->with('failed', 'Maaf, Taraf Tidak Dipilih');
} }
$user = new User; $user = new User;
@@ -117,22 +115,20 @@ class PenggunaController extends Controller
$user->t_daftar = $currentdate; $user->t_daftar = $currentdate;
$user->email = $request->email; $user->email = $request->email;
$user->email_verified_at = $currentdate; $user->email_verified_at = $currentdate;
$user->password = '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi'; //password $user->password = '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi'; // password
if($arraytaraf[0] == 'ajk'){ if ($arraytaraf[0] == 'ajk') {
$user->user_type = 3; $user->user_type = 3;
} } else {
else{
$user->user_type = 1; $user->user_type = 1;
} }
$user->save(); $user->save();
$user->syncRoles($arraytaraf); $user->syncRoles($arraytaraf);
return redirect()->route('pengguna.index') return redirect()->route('pengguna.index')
->with('success', 'Pengguna Berjaya Disimpan'); ->with('success', 'Pengguna Berjaya Disimpan');
} }
} }
@@ -143,38 +139,33 @@ class PenggunaController extends Controller
$currentdate = Carbon::now(); $currentdate = Carbon::now();
$currentdate = $currentdate->toDateTimeString(); $currentdate = $currentdate->toDateTimeString();
$user = User::where('id','=',$request->userid)->first(); $user = User::where('id', '=', $request->userid)->first();
$allroles = Role::all()->pluck('name'); $allroles = Role::all()->pluck('name');
// dd($user); // dd($user);
$arraytaraf = []; $arraytaraf = [];
foreach($allroles as $index=>$taraf) { foreach ($allroles as $index => $taraf) {
$req = 'taraf'.$taraf; $req = 'taraf'.$taraf;
// dd($req); // dd($req);
if($request->$req) if ($request->$req) {
{ array_push($arraytaraf, $taraf);
array_push($arraytaraf,$taraf);
} }
} }
// dd($arraytaraf); // dd($arraytaraf);
$user->syncRoles($arraytaraf); $user->syncRoles($arraytaraf);
if($request->status == true) if ($request->status == true) {
{
$status = 'active'; $status = 'active';
} } elseif ($request->statusban == true) {
else if($request->statusban == true)
{
$status = 'banned'; $status = 'banned';
} }
// else if(!($request->has('status'))){ // else if(!($request->has('status'))){
// $status = 'active'; // $status = 'active';
// } // }
else else {
{
$status = 'inactive'; $status = 'inactive';
} }
$user = User::where('id','=',$request->userid)->first(); $user = User::where('id', '=', $request->userid)->first();
// dd($request->caw); // dd($request->caw);
$user->name = $request->name; $user->name = $request->name;
$user->email = $request->emel; $user->email = $request->emel;
@@ -188,54 +179,55 @@ class PenggunaController extends Controller
$user->save(); $user->save();
return redirect()->route('pengguna.index') return redirect()->route('pengguna.index')
->with('success','Kemaskini Berjaya'); ->with('success', 'Kemaskini Berjaya');
} }
public function delete($userid) public function delete($userid)
{ {
$user = User::where('id','=',$userid)->first(); $user = User::where('id', '=', $userid)->first();
$allrolesuser = $user->getRoleNames(); $allrolesuser = $user->getRoleNames();
foreach($allrolesuser as $index=>$role) foreach ($allrolesuser as $index => $role) {
{
$user->removeRole($role); $user->removeRole($role);
} }
$user->delete(); $user->delete();
return redirect()->route('pengguna.index') return redirect()->route('pengguna.index')
->with('success','Padam Pengguna Berjaya'); ->with('success', 'Padam Pengguna Berjaya');
} }
public function taraf() //taraf = roles in db public function taraf() // taraf = roles in db
{ {
$arrayrole = []; $arrayrole = [];
$arraypermision = []; $arraypermision = [];
$roles = Role::all(); $roles = Role::all();
$permission = Permission::all(); $permission = Permission::all();
return view('pengurusanpengguna.taraf',compact('roles','permission')); return view('pengurusanpengguna.taraf', compact('roles', 'permission'));
} }
public function showtaraf($tarafid) public function showtaraf($tarafid)
{ {
// dd($tarafname->permissions); // dd($tarafname->permissions);
$roles = Role::where('id','=',$tarafid)->first(); $roles = Role::where('id', '=', $tarafid)->first();
$selectedroles = $roles->name; $selectedroles = $roles->name;
$allpermission = Permission::all()->pluck('name'); $allpermission = Permission::all()->pluck('name');
$userpermission = $roles->permissions->pluck('name')->toArray(); $userpermission = $roles->permissions->pluck('name')->toArray();
// dd($roles->permissions->pluck('name')); // dd($roles->permissions->pluck('name'));
return view('pengurusanpengguna.showtaraf',compact('selectedroles','allpermission','userpermission')); return view('pengurusanpengguna.showtaraf', compact('selectedroles', 'allpermission', 'userpermission'));
} }
public function storetaraf(Request $request) //taraf = roles in db public function storetaraf(Request $request) // taraf = roles in db
{ {
$role = Role::where('name','=',$request->namataraf)->first(); $role = Role::where('name', '=', $request->namataraf)->first();
$allpermission = Permission::all()->pluck('name'); $allpermission = Permission::all()->pluck('name');
$arraypermission = []; $arraypermission = [];
foreach($allpermission as $index=>$roles) { foreach ($allpermission as $index => $roles) {
$req = 'role'.$roles; $req = 'role'.$roles;
// dd($req); // dd($req);
if($request->$req) if ($request->$req) {
{ array_push($arraypermission, $roles);
array_push($arraypermission,$roles);
} }
} }
// dd($arraypermission); // dd($arraypermission);
@@ -244,24 +236,25 @@ class PenggunaController extends Controller
// $user = Auth::user(); // $user = Auth::user();
// $user->assignRole('admin'); // $user->assignRole('admin');
return redirect()->route('pengguna.taraf') return redirect()->route('pengguna.taraf')
->with('success','Kemaskini Berjaya'); ->with('success', 'Kemaskini Berjaya');
} }
public function deletetaraf($tarafid) public function deletetaraf($tarafid)
{ {
$taraf = Role::where('id','=',$tarafid)->first(); $taraf = Role::where('id', '=', $tarafid)->first();
$taraf->delete(); $taraf->delete();
return redirect()->route('pengguna.taraf') return redirect()->route('pengguna.taraf')
->with('success','Padam Taraf Berjaya'); ->with('success', 'Padam Taraf Berjaya');
} }
public function roles() //roles = permissions in db public function roles() // roles = permissions in db
{ {
$allpermission = Permission::all(); $allpermission = Permission::all();
// $user = Auth::user(); // $user = Auth::user();
// $user->assignRole('admin'); // $user->assignRole('admin');
return view('pengurusanpengguna.roles',compact('allpermission')); return view('pengurusanpengguna.roles', compact('allpermission'));
} }
public function newrole(Request $request) public function newrole(Request $request)
@@ -269,98 +262,92 @@ class PenggunaController extends Controller
// dd($request->all()); // dd($request->all());
Permission::create([ Permission::create([
'name' => $request->name, 'name' => $request->name,
'description' => $request->keterangan 'description' => $request->keterangan,
]); ]);
return redirect()->route('pengguna.roles') return redirect()->route('pengguna.roles')
->with('success','Role berjaya disimpan'); ->with('success', 'Role berjaya disimpan');
} }
public function showrole($roleid) //roles = permissions in db public function showrole($roleid) // roles = permissions in db
{ {
$permission = Permission::where('id','=',$roleid)->first(); $permission = Permission::where('id', '=', $roleid)->first();
// $user = Auth::user(); // $user = Auth::user();
// $user->assignRole('admin'); // $user->assignRole('admin');
return view('pengurusanpengguna.showrole',compact('permission')); return view('pengurusanpengguna.showrole', compact('permission'));
} }
public function storerole(Request $request) public function storerole(Request $request)
{ {
$role = Permission::where('id','=',$request->idrole)->first(); $role = Permission::where('id', '=', $request->idrole)->first();
return redirect()->route('pengguna.roles') return redirect()->route('pengguna.roles')
->with('success','Kemaskini Berjaya'); ->with('success', 'Kemaskini Berjaya');
} }
public function updateroles(Request $request) public function updateroles(Request $request)
{ {
$user = User::where('id','=',$request->id); $user = User::where('id', '=', $request->id);
$user->syncPermissions($request->arrayroles); $user->syncPermissions($request->arrayroles);
// $user = Auth::user(); // $user = Auth::user();
// $user->assignRole('admin'); // $user->assignRole('admin');
return redirect()->route('pengguna.roles') return redirect()->route('pengguna.roles')
->with('success','Tukar Roles Berjaya'); ->with('success', 'Tukar Roles Berjaya');
} }
public function deleterole($roleid) public function deleterole($roleid)
{ {
$role = Permission::where('id','=',$roleid)->first(); $role = Permission::where('id', '=', $roleid)->first();
$role->delete(); $role->delete();
return redirect()->route('pengguna.roles') return redirect()->route('pengguna.roles')
->with('success','Padam Roles Berjaya'); ->with('success', 'Padam Roles Berjaya');
} }
public function export(Request $request) public function export(Request $request)
{ {
if($request->type =='Role' || $request->type =='Permission') if ($request->type == 'Role' || $request->type == 'Permission') {
{
$model_name = '\\Spatie\\Permission\\Models\\'.$request->type; $model_name = '\\Spatie\\Permission\\Models\\'.$request->type;
} } else {
else
{
$model_name = '\\App\\Models\\'.$request->type; $model_name = '\\App\\Models\\'.$request->type;
} }
// dd($request->checkboxdata); // dd($request->checkboxdata);
if($request->checkboxdata) if ($request->checkboxdata) {
{ if ($request->type == 'User') {
if($request->type == 'User') $data = $model_name::whereIn('id', $request->checkboxdata)->with('roles')->get();
{
$data = $model_name::whereIn('id',$request->checkboxdata)->with('roles')->get();
} else {
$data = $model_name::whereIn('id', $request->checkboxdata)->get();
} }
else{ } else {
$data = $model_name::whereIn('id',$request->checkboxdata)->get(); if ($request->type == 'User') {
}
}
else
{
if($request->type == 'User')
{
// $data = $model_name::with('roles')->get(); // $data = $model_name::with('roles')->get();
$data = User::with('roles','cawangan')->whereHas("roles", function($q) { $data = User::with('roles', 'cawangan')->whereHas('roles', function ($q) {
$q->where("id",'!=', 8);}) $q->where('id', '!=', 8);
})
->get(); ->get();
} } else {
else{
$data = $model_name::all(); $data = $model_name::all();
} }
} }
// return view('pdf.edit',compact('data')); //page for editing // return view('pdf.edit',compact('data')); //page for editing
// dd($data); // dd($data);
if($request->type =='Role') if ($request->type == 'Role') {
{ $pdf = PDF::loadView('pdf.tarafpdf', compact('data'));
$pdf = PDF::loadView('pdf.tarafpdf',compact('data'));
return $pdf->download('Taraf.pdf'); return $pdf->download('Taraf.pdf');
} } elseif ($request->type == 'User') {
elseif($request->type =='User')
{
// return view('pdf.edit',compact('data')); //page for editing // return view('pdf.edit',compact('data')); //page for editing
$pdf = PDF::loadView('pdf.penggunapdf',compact('data')); $pdf = PDF::loadView('pdf.penggunapdf', compact('data'));
return $pdf->download('Pengguna.pdf'); return $pdf->download('Pengguna.pdf');
} } elseif ($request->type == 'Permission') {
elseif($request->type =='Permission') return view('pdf.edit', compact('data')); // page for editing
{
return view('pdf.edit',compact('data')); //page for editing
// $pdf = PDF::loadView('pdf.rolespdf',compact('data')); // $pdf = PDF::loadView('pdf.rolespdf',compact('data'));
// return $pdf->download('Roles.pdf'); // return $pdf->download('Roles.pdf');
} }
@@ -368,15 +355,15 @@ class PenggunaController extends Controller
public function listajk() public function listajk()
{ {
$alluser = User::with('roles','cawangan')->whereHas("roles", function($q) { $alluser = User::with('roles', 'cawangan')->whereHas('roles', function ($q) {
$q->where("name",'=', 'ajk');}) $q->where('name', '=', 'ajk');
->orderBy('name','ASC') })
->orderBy('name', 'ASC')
->get(); ->get();
$allroles = Role::all(); $allroles = Role::all();
$allRolesPluck= $allroles->pluck('name'); $allRolesPluck = $allroles->pluck('name');
$caw = Cawangan::all(); $caw = Cawangan::all();
return view('parameter.listajk',compact('alluser','allroles','caw', 'allRolesPluck'));
return view('parameter.listajk', compact('alluser', 'allroles', 'caw', 'allRolesPluck'));
} }
} }
+319 -393
View File
File diff suppressed because it is too large Load Diff
+381 -434
View File
File diff suppressed because it is too large Load Diff
+404 -492
View File
File diff suppressed because it is too large Load Diff
+98 -133
View File
@@ -1,31 +1,20 @@
<?php <?php
namespace App\Http\Controllers; namespace App\Http\Controllers;
use Illuminate\Support\Facades\Http;
use Illuminate\Http\Request;
use Spatie\Permission\Models\Role;
use Spatie\Permission\Models\Permission;
use Illuminate\Support\Facades\Auth;
use Carbon\Carbon;
use App\Models\User;
use PDF;
use App\Models\Cawangan; use App\Models\Cawangan;
use App\Models\LelongBidder;
use App\Models\Lelong;
use App\Models\CawanganLelong; use App\Models\CawanganLelong;
use App\Models\Invoice;
use App\Models\Lelong;
use App\Models\LelongBid; use App\Models\LelongBid;
use App\Models\LelongBidder;
use App\Models\LelongBidMarhun;
use App\Models\Payment; use App\Models\Payment;
use App\Models\Resit; use App\Models\Resit;
use App\Models\Invoice; use App\Models\User;
use App\Models\FileResit; use Illuminate\Support\Facades\Auth;
use App\Models\LelongBidMarhun; use Illuminate\Support\Facades\Http;
use PDF;
class SerahanController extends Controller class SerahanController extends Controller
{ {
@@ -44,51 +33,45 @@ class SerahanController extends Controller
* *
* @return \Illuminate\Contracts\Support\Renderable * @return \Illuminate\Contracts\Support\Renderable
*/ */
public function laporanserahan() public function laporanserahan()
{ {
// $user = Auth::user(); // $user = Auth::user();
// $lelongid = CawanganLelong::join('lelong','cawangan_lelong.lelong_id','=','lelong.id') // $lelongid = CawanganLelong::join('lelong','cawangan_lelong.lelong_id','=','lelong.id')
// ->join('cawangan','cawangan_lelong.caw_id','=','cawangan.id') // ->join('cawangan','cawangan_lelong.caw_id','=','cawangan.id')
// ->where('cawangan.caw_code','=',$user->kodcaw) // ->where('cawangan.caw_code','=',$user->kodcaw)
// ->get(); // ->get();
// return view('serahan.laporanserahan',compact('lelongid')); // return view('serahan.laporanserahan',compact('lelongid'));
$arrayinfo = []; $arrayinfo = [];
$user = Auth::user(); $user = Auth::user();
$lelong = Lelong::join('cawangan_lelong','lelong.id','=','cawangan_lelong.lelong_id') $lelong = Lelong::join('cawangan_lelong', 'lelong.id', '=', 'cawangan_lelong.lelong_id')
->join('cawangan','cawangan_lelong.caw_id', '=', 'cawangan.id') ->join('cawangan', 'cawangan_lelong.caw_id', '=', 'cawangan.id')
->select('lelong.fasa','lelong_id','tarikh_lelong','lelong.masatamat_lelong','harga_emas_asas','jbg','cajlelong','sts_lelong') ->select('lelong.fasa', 'lelong_id', 'tarikh_lelong', 'lelong.masatamat_lelong', 'harga_emas_asas', 'jbg', 'cajlelong', 'sts_lelong')
->where('lelong.sts_lelong', 3) ->where('lelong.sts_lelong', 3)
->where('cawangan.caw_code', $user->kodcaw) ->where('cawangan.caw_code', $user->kodcaw)
->groupBy('lelong_id') ->groupBy('lelong_id')
->get() ->get()
->toArray(); ->toArray();
foreach ($lelong as $info) {
foreach($lelong as $info) $detailsinfo = CawanganLelong::join('cawangan', 'cawangan_lelong.caw_id', '=', 'cawangan.id')
{ ->where('lelong_id', $info['lelong_id'])
$detailsinfo = CawanganLelong::join('cawangan','cawangan_lelong.caw_id','=','cawangan.id') ->where('cawangan.caw_code', $user->kodcaw)
->where('lelong_id',$info['lelong_id'])
->where('cawangan.caw_code',$user->kodcaw)
->get() ->get()
->toArray(); ->toArray();
array_push($arrayinfo,['info'=>$info, 'detailsinfo'=>$detailsinfo]); array_push($arrayinfo, ['info' => $info, 'detailsinfo' => $detailsinfo]);
// dd($detailsinfo); // dd($detailsinfo);
} }
return view('serahan.laporanserahan',compact('lelong', 'arrayinfo')); return view('serahan.laporanserahan', compact('lelong', 'arrayinfo'));
} }
public function pembayaran($lelong_id){ public function pembayaran($lelong_id)
{
$lelong_id = $lelong_id; $lelong_id = $lelong_id;
$user = Auth::user(); $user = Auth::user();
@@ -100,12 +83,12 @@ class SerahanController extends Controller
->groupBy('lelongbidder.user_id') ->groupBy('lelongbidder.user_id')
->get()->toArray(); ->get()->toArray();
foreach($payment as $index1=>$winner){ foreach ($payment as $index1 => $winner) {
$userdetails = User::where('id', $winner['user_id'])->first(); $userdetails = User::where('id', $winner['user_id'])->first();
$SAGWin = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id') $SAGWin = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
->join('payment','lelongbidder.payment_id','=','payment.id') ->join('payment', 'lelongbidder.payment_id', '=', 'payment.id')
->where('lelongbid.kodcaw',$user->kodcaw) ->where('lelongbid.kodcaw', $user->kodcaw)
->where('lelongbidder.user_id', $winner['user_id']) ->where('lelongbidder.user_id', $winner['user_id'])
->where('lelongbidder.status_bidder', 1) ->where('lelongbidder.status_bidder', 1)
->where('lelongbid.lelong_id', $lelong_id) ->where('lelongbid.lelong_id', $lelong_id)
@@ -113,63 +96,61 @@ class SerahanController extends Controller
$payment[$index1]['details'] = $userdetails; $payment[$index1]['details'] = $userdetails;
$payment[$index1]['resit'] = $SAGWin[$index1]['resit_id']; $payment[$index1]['resit'] = $SAGWin[$index1]['resit_id'];
$payment[$index1]['total_surat'] = sizeof($SAGWin); $payment[$index1]['total_surat'] = count($SAGWin);
$payment[$index1]['totalBid'] = $SAGWin->sum('hargabida'); $payment[$index1]['totalBid'] = $SAGWin->sum('hargabida');
} }
// dd($SAGWin); // dd($SAGWin);
return view('serahan.pembayaran',compact('payment','lelong_id')); return view('serahan.pembayaran', compact('payment', 'lelong_id'));
} }
public function penyatabayaran($user_id, $lelong_id) public function penyatabayaran($user_id, $lelong_id)
{ {
$total_berat = 0; $total_berat = 0;
$user = Auth::user(); $user = Auth::user();
// dd($user_id); // dd($user_id);
$caw = Cawangan::where('caw_code','=',$user->kodcaw)->first()->toArray(); $caw = Cawangan::where('caw_code', '=', $user->kodcaw)->first()->toArray();
$userdetails = User::where('id','=',$user_id) $userdetails = User::where('id', '=', $user_id)
->first(); ->first();
$lelong = Lelong::where('id',$lelong_id) $lelong = Lelong::where('id', $lelong_id)
->first(); ->first();
$invois = Invoice::where('lelong_id',$lelong_id) $invois = Invoice::where('lelong_id', $lelong_id)
->where('user_id','=',$user_id) ->where('user_id', '=', $user_id)
->first(); ->first();
// dd($invois); // dd($invois);
$SAGWin = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id') $SAGWin = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
->where('user_id',$user_id) ->where('user_id', $user_id)
->where('lelongbidder.status_bidder', 1) ->where('lelongbidder.status_bidder', 1)
->where('lelongbid.lelong_id', $lelong_id) ->where('lelongbid.lelong_id', $lelong_id)
->where('lelongbid.kodcaw','=',$user->kodcaw) ->where('lelongbid.kodcaw', '=', $user->kodcaw)
->select('lelongbid.norujukan','lelongbid.id','lelongbid.hargajual') ->select('lelongbid.norujukan', 'lelongbid.id', 'lelongbid.hargajual')
->get(); ->get();
foreach($SAGWin as $index1=>$lelong2){ foreach ($SAGWin as $index1 => $lelong2) {
// dd($SAGWin); // dd($SAGWin);
$marhun= LelongBidMarhun::join('jenisemas','jenisemas.marhun','=','lelongbidmarhun.marhun') $marhun = LelongBidMarhun::join('jenisemas', 'jenisemas.marhun', '=', 'lelongbidmarhun.marhun')
->where('lelongbid_id','=',$lelong2['id']) ->where('lelongbid_id', '=', $lelong2['id'])
// ->where('kodcaw','=',$user['kodcaw']) // ->where('kodcaw','=',$user['kodcaw'])
->get(); ->get();
$total_berat = $total_berat + ($marhun->sum('berat')); $total_berat = $total_berat + ($marhun->sum('berat'));
$SAGWin[$index1]['detailmarhun']=$marhun; $SAGWin[$index1]['detailmarhun'] = $marhun;
} }
$senaraisag = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id') $senaraisag = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
// ->where('lelongbid.kodcaw',$caw['caw_code']) buang jap nti check balik // ->where('lelongbid.kodcaw',$caw['caw_code']) buang jap nti check balik
->where('lelongbid.kodcaw','=',$user->kodcaw) ->where('lelongbid.kodcaw', '=', $user->kodcaw)
->where('user_id',$user_id) ->where('user_id', $user_id)
->where('lelongbidder.status_bidder', 1) ->where('lelongbidder.status_bidder', 1)
->where('lelongbid.lelong_id', $lelong_id) ->where('lelongbid.lelong_id', $lelong_id)
->get(); ->get();
@@ -178,14 +159,14 @@ class SerahanController extends Controller
$caw['total_berat'] = $senaraisag->sum('berat'); $caw['total_berat'] = $senaraisag->sum('berat');
$caw['total_bidaan'] = $senaraisag->sum('hargabida'); $caw['total_bidaan'] = $senaraisag->sum('hargabida');
$pdf = PDF::loadView('pdf.penyatabayaran',compact('userdetails','SAGWin','caw','user','lelong','invois')) $pdf = PDF::loadView('pdf.penyatabayaran', compact('userdetails', 'SAGWin', 'caw', 'user', 'lelong', 'invois'))
->setPaper('a4', 'potrait'); ->setPaper('a4', 'potrait');
return $pdf->download('Penyata Bayaran.pdf'); return $pdf->download('Penyata Bayaran.pdf');
} }
public function resit($user_id, $lelong_id)
public function resit($user_id, $lelong_id){ {
$user = Auth::user(); $user = Auth::user();
@@ -203,16 +184,15 @@ class SerahanController extends Controller
) )
->first(); ->first();
$arraydetails = []; $arraydetails = [];
$brgdetails= LelongBidder::join('payment','lelongbidder.payment_id','=','payment.id') $brgdetails = LelongBidder::join('payment', 'lelongbidder.payment_id', '=', 'payment.id')
->join('lelongbid','lelongbidder.lelongbid_id','=','lelongbid.id') ->join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
->join('users', 'lelongbidder.user_id', '=', 'users.id') ->join('users', 'lelongbidder.user_id', '=', 'users.id')
->select('resit_id','payment.lelong_id','payment.user_id','payment.status','status_payment_opt','lelongbidder.status_payment') ->select('resit_id', 'payment.lelong_id', 'payment.user_id', 'payment.status', 'status_payment_opt', 'lelongbidder.status_payment')
->where('payment.status', 2) ->where('payment.status', 2)
->where('payment.user_id',$user_id) ->where('payment.user_id', $user_id)
->where('lelongbid.kodcaw',$user->kodcaw) ->where('lelongbid.kodcaw', $user->kodcaw)
->where('status_payment_opt', 2) ->where('status_payment_opt', 2)
->orWhere('status_payment_opt', 3) ->orWhere('status_payment_opt', 3)
->distinct() ->distinct()
@@ -222,72 +202,64 @@ class SerahanController extends Controller
// dd($brgdetails); // dd($brgdetails);
// dd($user->kodcaw); // dd($user->kodcaw);
foreach($brgdetails as $brg) foreach ($brgdetails as $brg) {
{ $details = Payment::join('lelongbid', 'payment.norujukan', '=', 'lelongbid.norujukan')
$details = Payment::join('lelongbid','payment.norujukan','=','lelongbid.norujukan') ->join('lelongbidder', 'lelongbid.id', '=', 'lelongbidder.lelongbid_id')
->join('lelongbidder','lelongbid.id','=','lelongbidder.lelongbid_id')
->join('users', 'lelongbidder.user_id', '=', 'users.id') ->join('users', 'lelongbidder.user_id', '=', 'users.id')
->join('resit','payment.resit_id','=','resit.id') ->join('resit', 'payment.resit_id', '=', 'resit.id')
->where('resit_id', $brg['resit_id']) ->where('resit_id', $brg['resit_id'])
->where('lelongbidder.status_bidder', 1) ->where('lelongbidder.status_bidder', 1)
->where('users.id', $user_id) ->where('users.id', $user_id)
->where('lelongbid.lelong_id', $lelong_id) ->where('lelongbid.lelong_id', $lelong_id)
->where('lelongbid.kodcaw', $user->kodcaw) ->where('lelongbid.kodcaw', $user->kodcaw)
// ->where('payment.kodcaw', $user->kodcaw) // ->where('payment.kodcaw', $user->kodcaw)
->where('payment.status',2) ->where('payment.status', 2)
->distinct() ->distinct()
->orderBy('resit_id') ->orderBy('resit_id')
->get() ->get()
->toArray(); ->toArray();
array_push($arraydetails,['brg' => $brg, 'detailsbrg' => $details ]); array_push($arraydetails, ['brg' => $brg, 'detailsbrg' => $details]);
} }
// dd($arraydetails); // dd($arraydetails);
return view('serahan.resit', compact('SAGBidItem', 'arraydetails', 'lelong_id', 'user_id', 'brgdetails'));
return view('serahan.resit',compact('SAGBidItem', 'arraydetails', 'lelong_id','user_id','brgdetails'));
} }
public function resitpembayaran($user_id, $resit_id, $lelong_id) public function resitpembayaran($user_id, $resit_id, $lelong_id)
{ {
$user = Auth::user(); $user = Auth::user();
$caw = Cawangan::where('caw_code','=',$user->kodcaw)->first()->toArray(); $caw = Cawangan::where('caw_code', '=', $user->kodcaw)->first()->toArray();
$userdetails = User::where('id','=',$user_id) $userdetails = User::where('id', '=', $user_id)
->first(); ->first();
$lelong = Lelong::where('id',$lelong_id) $lelong = Lelong::where('id', $lelong_id)
->first(); ->first();
$invois = Resit::where('id',$resit_id) $invois = Resit::where('id', $resit_id)
->get(); ->get();
// dd($invois); // dd($invois);
$SAGWin = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id') $SAGWin = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
->join('payment','lelongbid.norujukan','=','payment.norujukan') ->join('payment', 'lelongbid.norujukan', '=', 'payment.norujukan')
->join('resit','payment.resit_id','=','resit.id') ->join('resit', 'payment.resit_id', '=', 'resit.id')
->where('lelongbidder.user_id',$user_id) ->where('lelongbidder.user_id', $user_id)
->where('lelongbidder.status_bidder', 1) ->where('lelongbidder.status_bidder', 1)
->where('lelongbid.lelong_id', $lelong_id) ->where('lelongbid.lelong_id', $lelong_id)
->where('lelongbid.kodcaw',$user->kodcaw) ->where('lelongbid.kodcaw', $user->kodcaw)
->where('payment.resit_id',$resit_id) ->where('payment.resit_id', $resit_id)
->get(); ->get();
// dd($SAGWin); // dd($SAGWin);
$senaraisag = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id') $senaraisag = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
// ->where('lelongbid.kodcaw',$caw['caw_code']) buang jap nti check balik // ->where('lelongbid.kodcaw',$caw['caw_code']) buang jap nti check balik
->join('payment','lelongbid.norujukan','=','payment.norujukan') ->join('payment', 'lelongbid.norujukan', '=', 'payment.norujukan')
->where('lelongbid.kodcaw',$user->kodcaw) ->where('lelongbid.kodcaw', $user->kodcaw)
->where('lelongbidder.user_id',$user_id) ->where('lelongbidder.user_id', $user_id)
->where('payment.resit_id',$resit_id) ->where('payment.resit_id', $resit_id)
->where('lelongbidder.status_bidder', 1) ->where('lelongbidder.status_bidder', 1)
->where('lelongbid.lelong_id', $lelong_id) ->where('lelongbid.lelong_id', $lelong_id)
->get(); ->get();
@@ -296,8 +268,7 @@ class SerahanController extends Controller
$caw['total_berat'] = $senaraisag->sum('berat'); $caw['total_berat'] = $senaraisag->sum('berat');
$caw['total_bidaan'] = $senaraisag->sum('hargabida'); $caw['total_bidaan'] = $senaraisag->sum('hargabida');
$pdf = PDF::loadView('pdf.resitpembayaran', compact('userdetails', 'SAGWin', 'caw', 'user', 'lelong', 'invois'))
$pdf = PDF::loadView('pdf.resitpembayaran',compact('userdetails','SAGWin','caw','user','lelong','invois'))
->setPaper('a4', 'potrait'); ->setPaper('a4', 'potrait');
return $pdf->download('Resit Bayaran.pdf'); return $pdf->download('Resit Bayaran.pdf');
@@ -311,43 +282,42 @@ class SerahanController extends Controller
$user = Auth::user(); $user = Auth::user();
$caw = Cawangan::where('caw_code','=',$user->kodcaw)->first()->toArray(); $caw = Cawangan::where('caw_code', '=', $user->kodcaw)->first()->toArray();
$userdetails = User::where('id','=',$user_id) $userdetails = User::where('id', '=', $user_id)
->first(); ->first();
$lelong = Lelong::where('id',$lelong_id) $lelong = Lelong::where('id', $lelong_id)
->first(); ->first();
// dd($lelong); // dd($lelong);
$invois = Invoice::where('user_id',$user_id) $invois = Invoice::where('user_id', $user_id)
->where('lelong_id',$lelong_id) ->where('lelong_id', $lelong_id)
->get(); ->get();
// dd($invois); // dd($invois);
$khazanah = Http::get(config('app.api_url_kaunter').'api/roles_harian/' . $user->kodcaw ,[ $khazanah = Http::get(config('app.api_url_kaunter').'api/roles_harian/'.$user->kodcaw, [
'role_harian' => 'khazanah' 'role_harian' => 'khazanah',
])->json(); ])->json();
// dd($roles_harian_khazanah); // dd($roles_harian_khazanah);
$SAGWin = LelongBid::join('scan_semak', 'lelongbid.norujukan', '=', 'scan_semak.norujukan')
$SAGWin = LelongBid::join('scan_semak','lelongbid.norujukan','=','scan_semak.norujukan') ->where('lelongbid.nopembeli', $user_id)
->where('lelongbid.nopembeli',$user_id)
->where('lelongbid.status_payment', 1) ->where('lelongbid.status_payment', 1)
->where('scan_semak.serahkpdpembida', 1) ->where('scan_semak.serahkpdpembida', 1)
->where('lelongbid.lelong_id', $lelong_id) ->where('lelongbid.lelong_id', $lelong_id)
->where('lelongbid.kodcaw',$user->kodcaw) ->where('lelongbid.kodcaw', $user->kodcaw)
->select('lelongbid.id','lelongbid.norujukan','lelongbid.hargajual') ->select('lelongbid.id', 'lelongbid.norujukan', 'lelongbid.hargajual')
->orderBy('lelongbid.id') ->orderBy('lelongbid.id')
// ->where('payment.resit_id',$resit_id) // ->where('payment.resit_id',$resit_id)
->get(); ->get();
// dd($SAGWin); // dd($SAGWin);
if($SAGWin->isNotEmpty()){ if ($SAGWin->isNotEmpty()) {
foreach($SAGWin as $index1=>$lelong2){ foreach ($SAGWin as $index1 => $lelong2) {
// dd($SAGWin); // dd($SAGWin);
$marhun= LelongBidMarhun::join('jenisemas','jenisemas.marhun','=','lelongbidmarhun.marhun') $marhun = LelongBidMarhun::join('jenisemas', 'jenisemas.marhun', '=', 'lelongbidmarhun.marhun')
->where('lelongbid_id','=',$lelong2['id']) ->where('lelongbid_id', '=', $lelong2['id'])
// ->where('kodcaw','=',$user['kodcaw']) // ->where('kodcaw','=',$user['kodcaw'])
->get(); ->get();
@@ -356,12 +326,12 @@ class SerahanController extends Controller
// $total_nmarhun = $total_nmarhun + ($marhun->sum('n_marhun')); // $total_nmarhun = $total_nmarhun + ($marhun->sum('n_marhun'));
// $total_hargaasas = $total_hargaasas + ($marhun->sum('hargaasas')); // $total_hargaasas = $total_hargaasas + ($marhun->sum('hargaasas'));
$SAGWin[$index1]['detailmarhun']=$marhun; $SAGWin[$index1]['detailmarhun'] = $marhun;
} }
$senaraisag = LelongBid::where('lelongbid.kodcaw',$user->kodcaw) $senaraisag = LelongBid::where('lelongbid.kodcaw', $user->kodcaw)
->where('lelongbid.nopembeli',$user_id) ->where('lelongbid.nopembeli', $user_id)
->where('lelongbid.status_payment', 1) ->where('lelongbid.status_payment', 1)
->where('lelongbid.lelong_id', $lelong_id) ->where('lelongbid.lelong_id', $lelong_id)
->get(); ->get();
@@ -369,15 +339,13 @@ class SerahanController extends Controller
$caw['total_berat'] = $senaraisag->sum('berat'); $caw['total_berat'] = $senaraisag->sum('berat');
$caw['total_bidaan'] = $senaraisag->sum('hargajual'); $caw['total_bidaan'] = $senaraisag->sum('hargajual');
$pdf = PDF::loadView('pdf.slipserahan', compact('userdetails', 'SAGWin', 'caw', 'user', 'lelong', 'invois', 'total_berat', 'khazanah'))
$pdf = PDF::loadView('pdf.slipserahan',compact('userdetails','SAGWin','caw','user','lelong','invois','total_berat','khazanah'))
->setPaper('a4', 'potrait'); ->setPaper('a4', 'potrait');
return $pdf->download('Slip Serahan.pdf'); return $pdf->download('Slip Serahan.pdf');
} } elseif ($SAGWin->isEmpty()) {
elseif($SAGWin->isEmpty()){ return redirect()->route('pembayaran.kaunterpembayaran', $lelong_id)
return redirect()->route('pembayaran.kaunterpembayaran',$lelong_id) ->with('failed', 'Maaf, Tidak Boleh Dijana kerana SAG Belum Di Scan Keluar/Belum Bayar Penuh');
->with('failed','Maaf, Tidak Boleh Dijana kerana SAG Belum Di Scan Keluar/Belum Bayar Penuh');
} }
} }
@@ -386,27 +354,27 @@ class SerahanController extends Controller
$user = Auth::user(); $user = Auth::user();
$caw = Cawangan::where('caw_code','=',$user->kodcaw)->first()->toArray(); $caw = Cawangan::where('caw_code', '=', $user->kodcaw)->first()->toArray();
$userdetails = User::where('id','=',$user_id) $userdetails = User::where('id', '=', $user_id)
->first(); ->first();
$lelong = Lelong::where('id',$lelong_id) $lelong = Lelong::where('id', $lelong_id)
->first(); ->first();
$invois = Payment::join('resit','payment.resit_id','=','resit.id') $invois = Payment::join('resit', 'payment.resit_id', '=', 'resit.id')
->where('payment.id',$lelong_id) ->where('payment.id', $lelong_id)
->first(); ->first();
$SAGWin = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id') $SAGWin = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
->where('user_id',$user_id) ->where('user_id', $user_id)
->where('lelongbidder.status_bidder', 1) ->where('lelongbidder.status_bidder', 1)
->where('lelongbid.lelong_id', $lelong_id) ->where('lelongbid.lelong_id', $lelong_id)
->get(); ->get();
$senaraisag = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id') $senaraisag = LelongBidder::join('lelongbid', 'lelongbidder.lelongbid_id', '=', 'lelongbid.id')
->where('lelongbid.kodcaw',$caw['caw_code']) ->where('lelongbid.kodcaw', $caw['caw_code'])
->where('user_id',$user_id) ->where('user_id', $user_id)
->where('lelongbidder.status_bidder', 1) ->where('lelongbidder.status_bidder', 1)
->where('lelongbid.lelong_id', $lelong_id) ->where('lelongbid.lelong_id', $lelong_id)
->get(); ->get();
@@ -414,12 +382,9 @@ class SerahanController extends Controller
$caw['total_hargaasas'] = $senaraisag->sum('hargaasas'); $caw['total_hargaasas'] = $senaraisag->sum('hargaasas');
$caw['total_bidaan'] = $senaraisag->sum('hargabida'); $caw['total_bidaan'] = $senaraisag->sum('hargabida');
$pdf = PDF::loadView('pdf.senaraibid',compact('userdetails','SAGWin','caw','user','lelong','invois')) $pdf = PDF::loadView('pdf.senaraibid', compact('userdetails', 'SAGWin', 'caw', 'user', 'lelong', 'invois'))
->setPaper('a4', 'potrait'); ->setPaper('a4', 'potrait');
return $pdf->download('Senarai Bidaan.pdf'); return $pdf->download('Senarai Bidaan.pdf');
} }
} }
+685 -846
View File
File diff suppressed because it is too large Load Diff
+339 -403
View File
File diff suppressed because it is too large Load Diff
+85 -140
View File
@@ -2,43 +2,27 @@
namespace App\Http\Controllers; namespace App\Http\Controllers;
use Illuminate\Support\Facades\Auth; use App\Models\Cawangan;
use Illuminate\Http\Request; use App\Models\CawanganSimulasi;
use Carbon\Carbon; use App\Models\Customer;
use Spatie\Permission\Models\Role;
use Spatie\Permission\Models\Permission;
use Maatwebsite\Excel\Concerns\FromCollection;
use Excel;
use App\Models\User;
use App\Models\Gadai; use App\Models\Gadai;
use App\Models\GadaiMarhun; use App\Models\GadaiMarhun;
use App\Models\Cawangan; use App\Models\JenisKarat;
use App\Models\TransaksiKeuntungan; use App\Models\Lelong;
use PDF; use App\Models\SimKarat;
use App\Models\Simulasi; use App\Models\Simulasi;
use App\Models\SimulasiBid; use App\Models\SimulasiBid;
use App\Models\SimulasiBidMarhun; use App\Models\SimulasiBidMarhun;
use App\Models\SimKarat; use App\Models\TransaksiKeuntungan;
use App\Models\SimKarat_temp; use Carbon\Carbon;
use App\Models\CawanganSimulasi; use Excel;
use App\Models\JenisEmas; use Illuminate\Http\Request;
use App\Models\JenisKarat; use Illuminate\Support\Facades\Auth;
use App\Models\Lelong; use PDF;
use App\Models\CawanganLelong;
use App\Models\LelongBid;
use App\Models\LelongBidMarhun;
use App\Models\LelKarat;
use App\Models\Customer;
use DateTime;
class TamatKontController extends Controller class TamatKontController extends Controller
{ {
//PC // PC
public function notistamatkontrak(Request $request) public function notistamatkontrak(Request $request)
{ {
return view('jananotis.notistamatkontrak'); return view('jananotis.notistamatkontrak');
@@ -55,7 +39,6 @@ class TamatKontController extends Controller
// ->get(); // ->get();
// dd($cawangan); // dd($cawangan);
$getsurat = Gadai::on($user->kodcaw) $getsurat = Gadai::on($user->kodcaw)
->where('t_matang1', '<', $t_lelong) ->where('t_matang1', '<', $t_lelong)
->where('kodcaw', $user->kodcaw) ->where('kodcaw', $user->kodcaw)
@@ -68,9 +51,7 @@ class TamatKontController extends Controller
// dd($getsurat); // dd($getsurat);
if (count($getsurat) != 0) {
if(sizeof($getsurat) != 0)
{
$t_gadais = Gadai::on($user->kodcaw) $t_gadais = Gadai::on($user->kodcaw)
->where('t_matang1', '<', $t_lelong) ->where('t_matang1', '<', $t_lelong)
@@ -85,7 +66,7 @@ class TamatKontController extends Controller
$cawangan_all = Cawangan::where('caw_code', $user->kodcaw)->get(); $cawangan_all = Cawangan::where('caw_code', $user->kodcaw)->get();
foreach($cawangan_all as $cawangan){ foreach ($cawangan_all as $cawangan) {
$bil_lelongcaw = Gadai::on($cawangan->caw_code) $bil_lelongcaw = Gadai::on($cawangan->caw_code)
// join('cawangan', 'gadai.kodcaw', '=', 'cawangan.caw_code') // join('cawangan', 'gadai.kodcaw', '=', 'cawangan.caw_code')
@@ -106,15 +87,13 @@ class TamatKontController extends Controller
// $t_anggaran = date('d-m-Y', strtotime('-1 months', strtotime($tarikh_lelong))); // $t_anggaran = date('d-m-Y', strtotime('-1 months', strtotime($tarikh_lelong)));
foreach($getsurat as $index1=>$surats) foreach ($getsurat as $index1 => $surats) {
{
$senarai = Gadai::on($user->kodcaw) $senarai = Gadai::on($user->kodcaw)
// join('cawangan', 'gadai.kodcaw', '=', 'cawangan.caw_code') // join('cawangan', 'gadai.kodcaw', '=', 'cawangan.caw_code')
->where('norujukan', $surats['norujukan']) ->where('norujukan', $surats['norujukan'])
->get(); ->get();
$ktlhbyr = $surats['hargajualan']-$surats['bakihargajualan']; $ktlhbyr = $surats['hargajualan'] - $surats['bakihargajualan'];
$getsurat[$index1]['list_norujukan'] = $senarai; $getsurat[$index1]['list_norujukan'] = $senarai;
$getsurat[$index1]['ktlhbyr'] = $ktlhbyr; $getsurat[$index1]['ktlhbyr'] = $ktlhbyr;
@@ -125,7 +104,7 @@ class TamatKontController extends Controller
// $keuntungantlhbyr = TransaksiKeuntungan::on('mysql2') // $keuntungantlhbyr = TransaksiKeuntungan::on('mysql2')
// ->sum('bayaran_keuntungan'); // ->sum('bayaran_keuntungan');
return view('jananotis.gadaibycaw', compact( 'getsurat', return view('jananotis.gadaibycaw', compact('getsurat',
't_lelong', 't_lelong',
'user', 'user',
't_gadais', 't_gadais',
@@ -133,16 +112,12 @@ class TamatKontController extends Controller
'bil_lelongcaw', 'bil_lelongcaw',
'ktlhbyr' 'ktlhbyr'
)); ));
} } elseif (count($getsurat) == 0) {
else if(sizeof($getsurat) == 0)
{
return redirect()->route('jananotis.notistamatkontrak') return redirect()->route('jananotis.notistamatkontrak')
->with('failed','Tiada surat untuk di lelong'); ->with('failed', 'Tiada surat untuk di lelong');
} } else {
else
{
return redirect()->route('jananotis.notistamatkontrak') return redirect()->route('jananotis.notistamatkontrak')
->with('failed','Sila Masukkan Tarikh Lelongan'); ->with('failed', 'Sila Masukkan Tarikh Lelongan');
} }
} }
@@ -165,7 +140,6 @@ class TamatKontController extends Controller
// dd($getsurat); // dd($getsurat);
$t_gadais = Gadai::on($user->kodcaw) $t_gadais = Gadai::on($user->kodcaw)
->where('t_matang1', '<', $t_lelong) ->where('t_matang1', '<', $t_lelong)
->where('sttebus', '=', '') ->where('sttebus', '=', '')
@@ -179,7 +153,7 @@ class TamatKontController extends Controller
$cawangan_all = Cawangan::where('caw_code', $user->kodcaw)->get(); $cawangan_all = Cawangan::where('caw_code', $user->kodcaw)->get();
foreach($cawangan_all as $cawangan){ foreach ($cawangan_all as $cawangan) {
$bil_lelongcaw = Gadai::on($cawangan->caw_code) $bil_lelongcaw = Gadai::on($cawangan->caw_code)
// join('cawangan', 'gadai.kodcaw', '=', 'cawangan.caw_code') // join('cawangan', 'gadai.kodcaw', '=', 'cawangan.caw_code')
@@ -200,36 +174,32 @@ class TamatKontController extends Controller
// $t_anggaran = date('d-m-Y', strtotime('-1 months', strtotime($tarikh_lelong))); // $t_anggaran = date('d-m-Y', strtotime('-1 months', strtotime($tarikh_lelong)));
foreach($getsurat as $index1=>$surats) foreach ($getsurat as $index1 => $surats) {
{
$senarai = Gadai::on($user->kodcaw) $senarai = Gadai::on($user->kodcaw)
// join('cawangan', 'gadai.kodcaw', '=', 'cawangan.caw_code') // join('cawangan', 'gadai.kodcaw', '=', 'cawangan.caw_code')
->where('norujukan', $surats['norujukan']) ->where('norujukan', $surats['norujukan'])
->get(); ->get();
$ktlhbyr = $surats['hargajualan']-$surats['bakihargajualan']; $ktlhbyr = $surats['hargajualan'] - $surats['bakihargajualan'];
$getsurat[$index1]['list_norujukan'] = $senarai; $getsurat[$index1]['list_norujukan'] = $senarai;
$getsurat[$index1]['ktlhbyr'] = $ktlhbyr; $getsurat[$index1]['ktlhbyr'] = $ktlhbyr;
} }
$pdf = PDF::loadView('pdf.gadaibycawpdf',compact( 'getsurat', $pdf = PDF::loadView('pdf.gadaibycawpdf', compact('getsurat',
't_lelong', 't_lelong',
'user', 'user',
't_gadais', 't_gadais',
't_anggaran', 't_anggaran',
'bil_lelongcaw', 'bil_lelongcaw',
'ktlhbyr')) 'ktlhbyr'))
->setPaper('a4', 'potrait'); ->setPaper('a4', 'potrait');
return $pdf->download('Notis Sebelum Tamat Kontrak.pdf'); return $pdf->download('Notis Sebelum Tamat Kontrak.pdf');
} }
public function gadaibycawexcel (Request $request, $t_lelong) public function gadaibycawexcel(Request $request, $t_lelong)
{ {
// $t_lelong = $request->tarikh_lelong; // $t_lelong = $request->tarikh_lelong;
@@ -247,7 +217,6 @@ class TamatKontController extends Controller
// dd($getsurat); // dd($getsurat);
$t_gadais = Gadai::on($user->kodcaw) $t_gadais = Gadai::on($user->kodcaw)
->where('t_matang1', '<', $t_lelong) ->where('t_matang1', '<', $t_lelong)
->where('sttebus', '=', '') ->where('sttebus', '=', '')
@@ -261,7 +230,7 @@ class TamatKontController extends Controller
$cawangan_all = Cawangan::where('caw_code', $user->kodcaw)->get(); $cawangan_all = Cawangan::where('caw_code', $user->kodcaw)->get();
foreach($cawangan_all as $cawangan){ foreach ($cawangan_all as $cawangan) {
$bil_lelongcaw = Gadai::on($cawangan->caw_code) $bil_lelongcaw = Gadai::on($cawangan->caw_code)
// join('cawangan', 'gadai.kodcaw', '=', 'cawangan.caw_code') // join('cawangan', 'gadai.kodcaw', '=', 'cawangan.caw_code')
@@ -282,19 +251,17 @@ class TamatKontController extends Controller
// $t_anggaran = date('d-m-Y', strtotime('-1 months', strtotime($tarikh_lelong))); // $t_anggaran = date('d-m-Y', strtotime('-1 months', strtotime($tarikh_lelong)));
foreach($getsurat as $index1=>$surats) foreach ($getsurat as $index1 => $surats) {
{
$customer = Customer::where('kpbaru','=',$surats['nokp']) $customer = Customer::where('kpbaru', '=', $surats['nokp'])
->orWhere('kplama','=',$surats['nokp']) ->orWhere('kplama', '=', $surats['nokp'])
->get(); ->get();
$listsag = Gadai::on($user->kodcaw) $listsag = Gadai::on($user->kodcaw)
->where('norujukan', $surats['norujukan']) ->where('norujukan', $surats['norujukan'])
->get(); ->get();
$ktlhbyr = $surats['hargajualan']-$surats['bakihargajualan']; $ktlhbyr = $surats['hargajualan'] - $surats['bakihargajualan'];
// foreach($listsag as $index=>$listing){ // foreach($listsag as $index=>$listing){
@@ -304,7 +271,6 @@ class TamatKontController extends Controller
// $ktlhbyr = $surats['hargajualan']-$surats['bakihargajualan']; // $ktlhbyr = $surats['hargajualan']-$surats['bakihargajualan'];
$getsurat[$index1]['nama'] = $customer; $getsurat[$index1]['nama'] = $customer;
$getsurat[$index1]['ktlhbyr'] = $ktlhbyr; $getsurat[$index1]['ktlhbyr'] = $ktlhbyr;
@@ -312,7 +278,7 @@ class TamatKontController extends Controller
// return Excel::download(new DisneyplusExport, 'disney.xlsx'); // return Excel::download(new DisneyplusExport, 'disney.xlsx');
return view('excel.gadaibycawexcel',compact('getsurat', return view('excel.gadaibycawexcel', compact('getsurat',
't_lelong', 't_lelong',
'user', 'user',
't_gadais', 't_gadais',
@@ -321,12 +287,9 @@ class TamatKontController extends Controller
'ktlhbyr' 'ktlhbyr'
)); ));
} }
//Operasi // Operasi
public function sebelumtamatkont(Request $request) public function sebelumtamatkont(Request $request)
{ {
return view('jananotis.sebelumtamatkont'); return view('jananotis.sebelumtamatkont');
@@ -340,10 +303,7 @@ class TamatKontController extends Controller
$t_anggaran = ($tarikh_lelong->subDays(20))->format('d/m/Y'); $t_anggaran = ($tarikh_lelong->subDays(20))->format('d/m/Y');
$t_daftarlelong = ($tarikh_lelong->subMonths(1))->format('d/m/Y'); $t_daftarlelong = ($tarikh_lelong->subMonths(1))->format('d/m/Y');
if ($t_lelong != null) {
if($t_lelong != null)
{
$getsurat = Gadai::where('t_matang1', '<', $t_lelong) $getsurat = Gadai::where('t_matang1', '<', $t_lelong)
->where('sttebus', '=', '') ->where('sttebus', '=', '')
->where('taglel', '=', 0) ->where('taglel', '=', 0)
@@ -352,10 +312,9 @@ class TamatKontController extends Controller
->whereNotNull('upah12') ->whereNotNull('upah12')
->get(); ->get();
// dd($getsurat); // dd($getsurat);
if(sizeof($getsurat) == 0) if (count($getsurat) == 0) {
{
return redirect()->route('notistamatkontrak.sebelumtamatkont') return redirect()->route('notistamatkontrak.sebelumtamatkont')
->with('failed','Tiada surat untuk di lelong'); ->with('failed', 'Tiada surat untuk di lelong');
} }
$t_gadais = Gadai::where('t_matang1', '<', $t_lelong) $t_gadais = Gadai::where('t_matang1', '<', $t_lelong)
@@ -368,12 +327,12 @@ class TamatKontController extends Controller
->orderBy('t_gadai') ->orderBy('t_gadai')
->select('t_gadai', 'norujukan') ->select('t_gadai', 'norujukan')
->first(); ->first();
//dd($t_gadais); // dd($t_gadais);
// $t_gadais = $request->t_gadai; // $t_gadais = $request->t_gadai;
// $t_gadaisehingga = Carbon::parse($t_gadais); // $t_gadaisehingga = Carbon::parse($t_gadais);
// $t_gadaisdisplay = $t_gadaisehingga->format('d/m/Y'); // $t_gadaisdisplay = $t_gadaisehingga->format('d/m/Y');
// //
$senarai = Gadai::join('cawangan', 'gadai.kodcaw', '=', 'cawangan.caw_code') $senarai = Gadai::join('cawangan', 'gadai.kodcaw', '=', 'cawangan.caw_code')
->where('gadai.t_matang1', '<', $t_lelong) ->where('gadai.t_matang1', '<', $t_lelong)
->where('gadai.sttebus', '=', '') ->where('gadai.sttebus', '=', '')
@@ -381,7 +340,7 @@ class TamatKontController extends Controller
->where('gadai.tagpalsu', '=', 0) ->where('gadai.tagpalsu', '=', 0)
->where('gadai.tagpalsu2', '=', 0) ->where('gadai.tagpalsu2', '=', 0)
->whereNotNull('gadai.upah12') ->whereNotNull('gadai.upah12')
->groupBy('gadai.kodcaw','cawangan.caw_name') ->groupBy('gadai.kodcaw', 'cawangan.caw_name')
->selectRaw('count(*) as bil_lelong, ->selectRaw('count(*) as bil_lelong,
sum(berat) as total_berat, sum(berat) as total_berat,
sum(nilaimarhun) as total_nilaimarhun, sum(nilaimarhun) as total_nilaimarhun,
@@ -391,9 +350,9 @@ class TamatKontController extends Controller
cawangan.caw_name as caw_name') cawangan.caw_name as caw_name')
->get(); ->get();
$bil_lelong = sizeof($getsurat); $bil_lelong = count($getsurat);
return view('jananotis.senaraitemp', compact( 't_lelong', return view('jananotis.senaraitemp', compact('t_lelong',
'getsurat', 'getsurat',
'senarai', 'senarai',
't_gadais', 't_gadais',
@@ -401,11 +360,9 @@ class TamatKontController extends Controller
't_daftarlelong', 't_daftarlelong',
't_lelongdisplay' 't_lelongdisplay'
)); ));
} } else {
else
{
return redirect()->route('notistamatkontrak.sebelumtamatkont') return redirect()->route('notistamatkontrak.sebelumtamatkont')
->with('failed','Sila Masukkan Tarikh Lelongan'); ->with('failed', 'Sila Masukkan Tarikh Lelongan');
} }
} }
@@ -437,20 +394,18 @@ class TamatKontController extends Controller
$t_anggaran = ($tarikh_lelong->subDays(20))->format('d/m/Y'); $t_anggaran = ($tarikh_lelong->subDays(20))->format('d/m/Y');
$t_daftarlelong = ($tarikh_lelong->subMonths(1))->format('d/m/Y'); $t_daftarlelong = ($tarikh_lelong->subMonths(1))->format('d/m/Y');
foreach ($getsurat as $index1 => $surats) {
foreach($getsurat as $index1=>$surats)
{
$senarai = Gadai::join('cawangan', 'gadai.kodcaw', '=', 'cawangan.caw_code') $senarai = Gadai::join('cawangan', 'gadai.kodcaw', '=', 'cawangan.caw_code')
->where('norujukan', $surats['norujukan']) ->where('norujukan', $surats['norujukan'])
->get(); ->get();
//dd($senarai); // dd($senarai);
$getsurat[$index1]['list_norujukan'] = $senarai; $getsurat[$index1]['list_norujukan'] = $senarai;
} }
// $keuntungantlhbyr = TransaksiKeuntungan::on('mysql2') // $keuntungantlhbyr = TransaksiKeuntungan::on('mysql2')
// ->sum('bayaran_keuntungan'); // ->sum('bayaran_keuntungan');
return view('jananotis.tempbycaw', compact( 'getsurat', return view('jananotis.tempbycaw', compact('getsurat',
'details', 'details',
'senarai', 'senarai',
't_lelong', 't_lelong',
@@ -461,65 +416,63 @@ class TamatKontController extends Controller
't_lelongdisplay' 't_lelongdisplay'
)); ));
} }
public function janadatatamatkontrak(Request $request) public function janadatatamatkontrak(Request $request)
{ {
//dd($request->all()); // dd($request->all());
$t_lelong = Carbon::parse($request->trkh_lelong); $t_lelong = Carbon::parse($request->trkh_lelong);
$bulan = (int)round('12.00'); $bulan = (int) round('12.00');
$fasa = '2'; $fasa = '2';
$jbg = '12'; $jbg = '12';
$cajlelong = '3'; $cajlelong = '3';
//dd($t_lelong); // dd($t_lelong);
$t_gadai = $request->t_gadai; $t_gadai = $request->t_gadai;
//dd($t_gadai); // dd($t_gadai);
if($fasa == '2'){ if ($fasa == '2') {
$surat = Gadai::where('t_matang1','<',$t_lelong) $surat = Gadai::where('t_matang1', '<', $t_lelong)
->where('sttebus','=','') ->where('sttebus', '=', '')
->where('tagpalsu','=',0) ->where('tagpalsu', '=', 0)
->where('tagpalsu2','=',0) ->where('tagpalsu2', '=', 0)
->where('taglel','=',0) ->where('taglel', '=', 0)
->get(); ->get();
} }
//dd($surat); // dd($surat);
// dd($jbg); // dd($jbg);
if(sizeof($surat) == 0) if (count($surat) == 0) {
{
return redirect()->route('analisa.janasimulasi') return redirect()->route('analisa.janasimulasi')
->with('failed','Tiada surat untuk di lelong'); ->with('failed', 'Tiada surat untuk di lelong');
} }
$cawangan = Cawangan::all(); $cawangan = Cawangan::all();
//create simulasi // create simulasi
$simulasi = new Simulasi; $simulasi = new Simulasi;
$simulasi->tarikh_lelong = $request->trkh_lelong; $simulasi->tarikh_lelong = $request->trkh_lelong;
$simulasi->harga_emas_asas = "0.00"; $simulasi->harga_emas_asas = '0.00';
$simulasi->jbg = $jbg; $simulasi->jbg = $jbg;
$simulasi->cajlelong = $cajlelong; $simulasi->cajlelong = $cajlelong;
$simulasi->fasa = $fasa; $simulasi->fasa = $fasa;
$simulasi->save(); $simulasi->save();
//create harga asas berdasarkan input harga asas // create harga asas berdasarkan input harga asas
$karat = JenisKarat::all(); $karat = JenisKarat::all();
$hargaasas = $request->hargaasas; //rial $hargaasas = $request->hargaasas; // rial
foreach($karat as $item) foreach ($karat as $item) {
{
$simkarat = new SimKarat; $simkarat = new SimKarat;
$simkarat->simulasi_id = $simulasi->id; $simkarat->simulasi_id = $simulasi->id;
$simkarat->karat = $item->karat; $simkarat->karat = $item->karat;
$simkarat->keterangan = $item->keterangan; $simkarat->keterangan = $item->keterangan;
$simkarat->harga = ($hargaasas + ($item->dariharga916)); //gram $simkarat->harga = ($hargaasas + ($item->dariharga916)); // gram
$simkarat->harga2 = $hargaasas + ($item->dariharga916); //rial $simkarat->harga2 = $hargaasas + ($item->dariharga916); // rial
$simkarat->save(); $simkarat->save();
} }
//$fasa = $request->fasa; // $fasa = $request->fasa;
// join cawangan yang terlibat dengan simulasi // join cawangan yang terlibat dengan simulasi
if($request->caw && $request->caw != 'all') if ($request->caw && $request->caw != 'all') {
{
// dd($request->kodcaw); // dd($request->kodcaw);
$caw = Cawangan::whereIn('caw_code',$request->caw)->get(); $caw = Cawangan::whereIn('caw_code', $request->caw)->get();
// dd($caw); // dd($caw);
foreach($caw as $index=>$cawsimulasi){ foreach ($caw as $index => $cawsimulasi) {
// dd($cawsimulasi->id); // dd($cawsimulasi->id);
$caw_simulasi = new CawanganSimulasi; $caw_simulasi = new CawanganSimulasi;
$caw_simulasi->simulasi_id = $simulasi->id; $caw_simulasi->simulasi_id = $simulasi->id;
@@ -530,11 +483,10 @@ class TamatKontController extends Controller
$caw_simulasi->save(); $caw_simulasi->save();
// dd($caw_simulasi); // dd($caw_simulasi);
$suratcaw = $surat->where('kodcaw','=',$cawsimulasi->caw_code)->all(); $suratcaw = $surat->where('kodcaw', '=', $cawsimulasi->caw_code)->all();
// $simulasibid = SimulasiBid::where('caw_id','=',$caw->id)->get(); // $simulasibid = SimulasiBid::where('caw_id','=',$caw->id)->get();
foreach($suratcaw as $data) foreach ($suratcaw as $data) {
{
$simulasibid = new SimulasiBid; $simulasibid = new SimulasiBid;
$simulasibid->simulasi_id = $simulasi->id; $simulasibid->simulasi_id = $simulasi->id;
$simulasibid->caw_id = $cawsimulasi->id; $simulasibid->caw_id = $cawsimulasi->id;
@@ -563,16 +515,13 @@ class TamatKontController extends Controller
$sumhargaasas = 0; $sumhargaasas = 0;
$berat = 0; $berat = 0;
$gadaimarhun = GadaiMarhun::where('norujukan','=',$data->norujukan)->get(); $gadaimarhun = GadaiMarhun::where('norujukan', '=', $data->norujukan)->get();
foreach($gadaimarhun as $marhun) foreach ($gadaimarhun as $marhun) {
{ $simkarat = SimKarat::where('simulasi_id', '=', $simulasi->id)->get();
$simkarat = SimKarat::where('simulasi_id','=',$simulasi->id)->get();
// dd($simkarat); // dd($simkarat);
foreach($simkarat as $karat) foreach ($simkarat as $karat) {
{
if($karat->karat == $marhun->karat) if ($karat->karat == $marhun->karat) {
{
$val = round($marhun->berat * $karat->harga); $val = round($marhun->berat * $karat->harga);
$sumhargaasas = $sumhargaasas + $val; $sumhargaasas = $sumhargaasas + $val;
$berat = $berat + $marhun->berat; $berat = $berat + $marhun->berat;
@@ -591,26 +540,22 @@ class TamatKontController extends Controller
} }
} }
} }
$calcaj = ($request->cajlelong / 100) * $sumhargaasas;
$calcaj = ($request->cajlelong/100)*$sumhargaasas; $updatesimbid = SimulasiBid::where('id', '=', $simulasibid->id)->first();
$updatesimbid = SimulasiBid::where('id','=',$simulasibid->id)->first();
$updatesimbid->hargaasas = $sumhargaasas; $updatesimbid->hargaasas = $sumhargaasas;
$updatesimbid->cajlelong = $calcaj; $updatesimbid->cajlelong = $calcaj;
$updatesimbid->baki = $sumhargaasas-$data->pinjaman - $data->bakiupah - $calcaj; $updatesimbid->baki = $sumhargaasas - $data->pinjaman - $data->bakiupah - $calcaj;
$updatesimbid->berat = $berat; $updatesimbid->berat = $berat;
$updatesimbid->save(); $updatesimbid->save();
} }
} }
} } else {
else
{
dd('error'); dd('error');
} }
return redirect()->route('analisa.show',$simulasi->id); return redirect()->route('analisa.show', $simulasi->id);
} }
// public function janasimulasi($t_lelong, ) // public function janasimulasi($t_lelong, )
+212 -253
View File
File diff suppressed because it is too large Load Diff
+8 -26
View File
@@ -2,35 +2,20 @@
namespace App\Http\Controllers; namespace App\Http\Controllers;
use Illuminate\Support\Facades\Auth;
use Illuminate\Http\Request;
use Spatie\Permission\Models\Role;
use Spatie\Permission\Models\Permission;
use Carbon\Carbon;
use App\Models\User;
use App\Models\Gadai;
use App\Models\GadaiMarhun;
use App\Models\Cawangan; use App\Models\Cawangan;
use App\Models\TransaksiKeuntungan;
use App\Models\Tetapan; use App\Models\Tetapan;
use Carbon\Carbon;
use DateTime; use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Input;
class TetapanController extends Controller class TetapanController extends Controller
{ {
//PC // PC
public function parameter(Request $request) public function parameter(Request $request)
{ {
$caw = Cawangan::all(); $caw = Cawangan::all();
$tetapan = Tetapan::first(); $tetapan = Tetapan::first();
return view('tetapan.parameter',compact('caw','tetapan')); return view('tetapan.parameter', compact('caw', 'tetapan'));
} }
@@ -38,14 +23,14 @@ class TetapanController extends Controller
{ {
$t_lelong = Carbon::parse($request->tarikh_lelong); $t_lelong = Carbon::parse($request->tarikh_lelong);
$kali = $request->kali; $kali = $request->kali;
//create tetapan // create tetapan
$tetapan = Tetapan::first(); $tetapan = Tetapan::first();
if($tetapan){ if ($tetapan) {
$tetapan->tetap_tarikh_lelong = $request->tarikh_lelong; $tetapan->tetap_tarikh_lelong = $request->tarikh_lelong;
$tetapan->kali = $request->kali; $tetapan->kali = $request->kali;
$tetapan->cajlelong = $request->cajlelong; $tetapan->cajlelong = $request->cajlelong;
$tetapan->update(); $tetapan->update();
}else{ } else {
$newtetapan = new Tetapan; $newtetapan = new Tetapan;
$newtetapan->tetap_tarikh_lelong = $request->tarikh_lelong; $newtetapan->tetap_tarikh_lelong = $request->tarikh_lelong;
$newtetapan->kali = $request->kali; $newtetapan->kali = $request->kali;
@@ -54,9 +39,6 @@ class TetapanController extends Controller
} }
return redirect()->route('tetapan.parameter') return redirect()->route('tetapan.parameter')
->with('success','Tetapan Berjaya'); ->with('success', 'Tetapan Berjaya');
} }
} }
+27 -9
View File
@@ -13,6 +13,7 @@ class UserController extends Controller
{ {
/** /**
* Register user * Register user
*
* @param request * @param request
* @return response * @return response
*/ */
@@ -22,18 +23,19 @@ class UserController extends Controller
$this->validate($request, [ $this->validate($request, [
'name' => 'required', 'name' => 'required',
'email' => 'required|email', 'email' => 'required|email',
'password' => 'required|min:6' 'password' => 'required|min:6',
]); ]);
User::create([ User::create([
'name' => $request->name, 'name' => $request->name,
'email' => $request->email, 'email' => $request->email,
'password' => Hash::make($request->password) 'password' => Hash::make($request->password),
]); ]);
} }
/** /**
* Login page * Login page
*
* @param NA * @param NA
* @return view * @return view
*/ */
@@ -44,6 +46,7 @@ class UserController extends Controller
/** /**
* User Login * User Login
*
* @param request * @param request
* @return response * @return response
*/ */
@@ -51,7 +54,7 @@ class UserController extends Controller
{ {
$this->validate($request, [ $this->validate($request, [
'email' => 'required|email', 'email' => 'required|email',
'password' => 'required|min:6' 'password' => 'required|min:6',
]); ]);
$user = User::where('email', $request->email)->first(); $user = User::where('email', $request->email)->first();
@@ -59,13 +62,16 @@ class UserController extends Controller
if (Hash::check($request->password, $user->password)) { if (Hash::check($request->password, $user->password)) {
return back()->with('success', 'Success! You are logged in'); return back()->with('success', 'Success! You are logged in');
} }
return back()->with('failed', 'Failed! Invalid password'); return back()->with('failed', 'Failed! Invalid password');
} }
return back()->with('failed', 'Failed! Invalid email'); return back()->with('failed', 'Failed! Invalid email');
} }
/** /**
* Forgot password * Forgot password
*
* @param NA * @param NA
* @return view * @return view
*/ */
@@ -76,6 +82,7 @@ class UserController extends Controller
/** /**
* Validate token for forgot password * Validate token for forgot password
*
* @param token * @param token
* @return view * @return view
*/ */
@@ -85,13 +92,16 @@ class UserController extends Controller
// dd($user); // dd($user);
if ($user) { if ($user) {
$email = $user->email; $email = $user->email;
return view('auth.change-password', compact('email')); return view('auth.change-password', compact('email'));
} }
return redirect()->route('forgot-password')->with('failed', 'Password reset link is expired'); return redirect()->route('forgot-password')->with('failed', 'Password reset link is expired');
} }
/** /**
* Reset password * Reset password
*
* @param request * @param request
* @return response * @return response
*/ */
@@ -103,7 +113,7 @@ class UserController extends Controller
$user = User::where('email', $request->email)->first(); $user = User::where('email', $request->email)->first();
// dd($user); // dd($user);
if (!$user) { if (! $user) {
return back()->with('failed', 'Gagal! Alamat Ini Belum Didaftarkan.'); return back()->with('failed', 'Gagal! Alamat Ini Belum Didaftarkan.');
} }
@@ -113,24 +123,31 @@ class UserController extends Controller
$user['is_verified'] = 0; $user['is_verified'] = 0;
$user->save(); $user->save();
Mail::to($request->email)->send(new ResetPassword($user->name, $token)); $resetUrl = url('/forgot-password/' . $token);
if(Mail::failures() != 0) { Mail::to($request->email)->send(new ResetPassword($user->name, $resetUrl));
Mail::to($request->email)->send(new ResetPassword($user->name, $resetUrl));
if (Mail::failures() != 0) {
return back()->with('success', 'Berjaya DiHantar! Pautan Lupa Katalaluan Telah Dihantarkan Kepada Alamat Emel Anda.'); return back()->with('success', 'Berjaya DiHantar! Pautan Lupa Katalaluan Telah Dihantarkan Kepada Alamat Emel Anda.');
} }
return back()->with('failed', 'Failed! there is some issue with email provider'); return back()->with('failed', 'Failed! there is some issue with email provider');
} }
/** /**
* Change password * Change password
*
* @param request * @param request
* @return response * @return response
*/ */
public function updatePassword(Request $request) { public function updatePassword(Request $request)
{
$this->validate($request, [ $this->validate($request, [
'email' => 'required', 'email' => 'required',
'password' => 'required|min:6', 'password' => 'required|min:6',
'confirm_password' => 'required|same:password' 'confirm_password' => 'required|same:password',
]); ]);
$user = User::where('email', $request->email)->first(); $user = User::where('email', $request->email)->first();
@@ -140,12 +157,13 @@ class UserController extends Controller
$user['password'] = Hash::make($request->password); $user['password'] = Hash::make($request->password);
$user->save(); $user->save();
// dd($user->user_type); // dd($user->user_type);
if($user->user_type == 2){ if ($user->user_type == 2) {
return redirect()->to(config('app.app_pembida')); return redirect()->to(config('app.app_pembida'));
} }
return redirect()->route('login')->with('success', 'Berjaya! Katalaluan Anda Telah Didaftarkan.'); return redirect()->route('login')->with('success', 'Berjaya! Katalaluan Anda Telah Didaftarkan.');
} }
return redirect()->route('forgot-password')->with('failed', 'Gadal! Sila Cuba Lagi...'); return redirect()->route('forgot-password')->with('failed', 'Gadal! Sila Cuba Lagi...');
} }
Executable → Regular
+1
View File
@@ -37,6 +37,7 @@ class Kernel extends HttpKernel
\Illuminate\Session\Middleware\StartSession::class, \Illuminate\Session\Middleware\StartSession::class,
// \Illuminate\Session\Middleware\AuthenticateSession::class, // \Illuminate\Session\Middleware\AuthenticateSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class, \Illuminate\View\Middleware\ShareErrorsFromSession::class,
\App\Http\Middleware\EnsureActiveAccount::class,
\App\Http\Middleware\VerifyCsrfToken::class, \App\Http\Middleware\VerifyCsrfToken::class,
\Illuminate\Routing\Middleware\SubstituteBindings::class, \Illuminate\Routing\Middleware\SubstituteBindings::class,
], ],
View File
View File
@@ -0,0 +1,30 @@
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Support\Facades\Auth;
class EnsureActiveAccount
{
public function handle($request, Closure $next)
{
$guard = Auth::guard('web');
$user = $guard->user();
if ($user && $user->status !== 'active') {
$guard->logout();
$request->session()->invalidate();
$request->session()->regenerateToken();
$message = 'Akaun anda tidak aktif. Sila hubungi pentadbir.';
if ($request->expectsJson()) {
return response()->json(['message' => $message], 403);
}
return redirect()->route('login')->withErrors(['username' => $message]);
}
return $next($request);
}
}
View File
-2
View File
@@ -12,8 +12,6 @@ class RedirectIfAuthenticated
/** /**
* Handle an incoming request. * Handle an incoming request.
* *
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @param string|null ...$guards * @param string|null ...$guards
* @return mixed * @return mixed
*/ */
View File
View File
View File
View File
Executable → Regular
+17 -22
View File
@@ -2,23 +2,20 @@
namespace App\Jobs; namespace App\Jobs;
use App\Events\LelongNotify;
use App\Models\Cart;
use App\Models\CawanganLelong;
use App\Models\Lelong;
use App\Models\LogUser;
use App\Models\User;
use Illuminate\Bus\Queueable; use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldBeUnique;
use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels; use Illuminate\Queue\SerializesModels;
use App\Models\Lelong;
use Illuminate\Support\Carbon; use Illuminate\Support\Carbon;
use App\Events\LelongNotify;
use Illuminate\Support\Facades\Http; use Illuminate\Support\Facades\Http;
use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\Log;
use App\Models\LogUser;
use App\Models\User;
use App\Models\CawanganLelong;
use App\Models\Cart;
class AutoTamatLelong implements ShouldQueue class AutoTamatLelong implements ShouldQueue
{ {
@@ -48,27 +45,25 @@ class AutoTamatLelong implements ShouldQueue
$tarikhlelong = $dt->toDateString(); $tarikhlelong = $dt->toDateString();
event(new LelongNotify('stop')); event(new LelongNotify('stop'));
$updatestatus = Lelong::where('sts_lelong',1) $updatestatus = Lelong::where('sts_lelong', 1)
->where('tarikh_lelong',$tarikhlelong) ->where('tarikh_lelong', $tarikhlelong)
->update(['sts_lelong' => 2]); ->update(['sts_lelong' => 2]);
$cawlelong = CawanganLelong::where('lelong_id','=',$this->id)->get(); $cawlelong = CawanganLelong::where('lelong_id', '=', $this->id)->get();
foreach($cawlelong as $cawlel) //save old harga asas foreach ($cawlelong as $cawlel) { // save old harga asas
{
// $cawlel->masatamat_lelong = $currenttime; // $cawlel->masatamat_lelong = $currenttime;
$cawlel->status_online = 0; //start lelong $cawlel->status_online = 0; // start lelong
$cawlel->save(); $cawlel->save();
} }
$hapuscart = Cart::truncate(); $hapuscart = Cart::truncate();
$response = null;
$getnoajk = User::where('user_type', 3)->get(); $getnoajk = User::where('user_type', 3)->get();
foreach($getnoajk as $notifikasi){ foreach ($getnoajk as $notifikasi) {
$mobile_no = '6'.$notifikasi->notelbimbit; $mobile_no = '6'.$notifikasi->notelbimbit;
if(config('app.env') != 'production'){ if (config('app.env') != 'production') {
$mobile_no = config('app.admin_phone_number'); $mobile_no = config('app.admin_phone_number');
} }
$response = Http::get(config('app.wabot_api'), [ $response = Http::get(config('app.wabot_api'), [
@@ -76,11 +71,11 @@ class AutoTamatLelong implements ShouldQueue
'type' => 'text', 'type' => 'text',
'message' => 'Lelongan Telah Tamat, Sila Jana Pemenang', 'message' => 'Lelongan Telah Tamat, Sila Jana Pemenang',
'instance_id' => config('app.wabot_instances_id'), 'instance_id' => config('app.wabot_instances_id'),
'access_token' => config('app.wabot_token_keys') 'access_token' => config('app.wabot_token_keys'),
]); ]);
} }
//insert loguser // insert loguser
$loguser = new LogUser; $loguser = new LogUser;
// $loguser->user_id = $user->id; // $loguser->user_id = $user->id;
$loguser->date = $dt; $loguser->date = $dt;
@@ -90,7 +85,7 @@ class AutoTamatLelong implements ShouldQueue
$loguser->nota = 'Lelongan Tamat'; $loguser->nota = 'Lelongan Tamat';
$loguser->save(); $loguser->save();
Log::info("Lelongan Telah Tamat" . $response); Log::info('Lelongan Telah Tamat', ['response' => $response]);
// } // }
// event(new LelongNotify('stop')); // event(new LelongNotify('stop'));
@@ -0,0 +1,60 @@
<?php
namespace App\Jobs\Concerns;
use App\Models\LelongBid;
use Illuminate\Support\Facades\Http;
use Illuminate\Support\Facades\Log;
trait ResolvesJanaNotisJumlah
{
/**
* Resolve total amount (jumlah) for a SAG, matching PDF jananotis calculation.
*
* @return string|null Formatted amount e.g. "1,234.56"
*/
protected function resolveJanaNotisJumlah($kodcaw, $lelongId, $suratnotis)
{
$lelongBid = LelongBid::where('lelong_id', $lelongId)
->where('norujukan', $suratnotis->norujukan)
->first();
if (! $lelongBid) {
Log::warning('Jana notis jumlah: lelong bid not found', [
'lelong_id' => $lelongId,
'norujukan' => $suratnotis->norujukan,
]);
return null;
}
$tagbaru = (string) $suratnotis->tagbaru;
$jeniskeuntungan = $tagbaru === '1' ? 'onepercent' : 'asal';
$api = Http::get(config('app.api_ujrah_url').'get/upahtawarruqbytarikh', [
'kodcaw' => $kodcaw,
'norujukan' => $suratnotis->norujukan,
'tarikh' => $lelongBid->t_lelong,
'jeniskeuntungan' => $jeniskeuntungan,
])->json();
if (! is_array($api)) {
Log::warning('Jana notis jumlah: API returned null', [
'norujukan' => $suratnotis->norujukan,
'jeniskeuntungan' => $jeniskeuntungan,
]);
return null;
}
$nilaipembiayaan = (float) $lelongBid->pinjaman;
if ($tagbaru === '1') {
$jumlah = $nilaipembiayaan + (float) ($api['pendapatan'] ?? 0);
} else {
$jumlah = $nilaipembiayaan + (float) ($api['upahsemasa'] ?? 0);
}
return number_format($jumlah, 2, '.', ',');
}
}
+179
View File
@@ -0,0 +1,179 @@
<?php
namespace App\Jobs;
use App\Models\Cawangan;
use App\Models\Customer;
use App\Models\Gadai;
use App\Models\JanaNotisExport;
use App\Models\Lelong;
use App\Models\LelongBid;
use App\Models\User;
use Carbon\Carbon;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;
use Illuminate\Support\Facades\Http;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\Storage;
use PDF;
use Throwable;
class GenerateJanaNotisPdf implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
public $timeout = 600;
public $tries = 1;
protected $exportId;
public function __construct($exportId)
{
$this->exportId = $exportId;
$this->onQueue('jana-notis');
}
public function handle()
{
ini_set('memory_limit', '2048M');
$export = JanaNotisExport::find($this->exportId);
if (! $export) {
return;
}
$export->update([
'status' => JanaNotisExport::STATUS_PROCESSING,
'error_message' => null,
]);
$user = User::find($export->user_id);
$caw = Cawangan::where('caw_code', $export->kodcaw)->first();
$lelong_id = $export->lelong_id;
$fasa = (int) $export->fasa;
Log::info("Jana notis fasa {$fasa} (queued): {$export->kodcaw}, ".($user->name ?? 'unknown'));
$tarikh_cetak = Carbon::now()->toDateString();
$lelongid = Lelong::find($lelong_id);
$arraynorujukan = LelongBid::where('lelong_id', $lelong_id)
->where('kodcaw', $caw->caw_code)
->pluck('norujukan');
$marhuns = Gadai::on($caw->caw_code)
->whereIn('norujukan', $arraynorujukan)
->select('nokp', 'norujukan', 'bakipjm', 'tagbaru')
->orderBy('nokp', 'asc')
->get();
$customers = Customer::whereIn('kpbaru', $marhuns->pluck('nokp'))
->orWhereIn('kplama', $marhuns->pluck('nokp'))
->join('poskod', 'customer.poskod', '=', 'poskod.poskod')
->join('daerah', 'poskod.koddaerah', '=', 'daerah.koddaerah')
->join('negeri', 'poskod.kodnegeri', '=', 'negeri.kodnegeri')
->get();
$customers_keyBy_noKp = $customers->keyBy(function ($item) {
if ($item->kpbaru != '') {
return $item->kpbaru;
}
if ($item->kplama != '') {
return $item->kplama;
}
});
foreach ($marhuns as $index => $marhun) {
if (isset($customers_keyBy_noKp[$marhun->nokp])) {
$marhuns[$index]['nama'] = $customers_keyBy_noKp[$marhun->nokp];
}
$getdatalelongbid = LelongBid::where('lelong_id', $lelong_id)
->where('norujukan', $marhun->norujukan)
->first();
$tagbaru = $marhun->tagbaru;
if ($tagbaru == '0') {
$getkeuntunganhinggatarikhlelong = Http::get(config('app.api_ujrah_url').'get/upahtawarruqbytarikh', [
'kodcaw' => $export->kodcaw,
'norujukan' => $marhun->norujukan,
'tarikh' => $getdatalelongbid['t_lelong'],
'jeniskeuntungan' => 'asal',
])->json();
$nilaitebus = (float) $getkeuntunganhinggatarikhlelong['harga_tebus'];
$nilaipembiayaan = (float) $getdatalelongbid['pinjaman'];
$nilaikeuntungan = (float) $getkeuntunganhinggatarikhlelong['upahsemasa'];
$jumlah = $nilaipembiayaan + $nilaikeuntungan;
$marhuns[$index]['nilaitebus'] = $nilaitebus;
$marhuns[$index]['nilaipembiayaan'] = $nilaipembiayaan;
$marhuns[$index]['nilaikeuntungan'] = $nilaikeuntungan;
$marhuns[$index]['jumlah'] = $jumlah;
} elseif ($tagbaru == '1') {
$getkeuntunganhinggatarikhlelong = Http::get(config('app.api_ujrah_url').'get/upahtawarruqbytarikh', [
'kodcaw' => $export->kodcaw,
'norujukan' => $marhun->norujukan,
'tarikh' => $getdatalelongbid['t_lelong'],
'jeniskeuntungan' => 'onepercent',
])->json();
$nilaitebus = (float) $getkeuntunganhinggatarikhlelong['harga_tebus'];
$nilaipembiayaan = (float) $getdatalelongbid['pinjaman'];
$nilaipendapatan = (float) $getkeuntunganhinggatarikhlelong['pendapatan'];
$nilaikeuntungan = (float) $getkeuntunganhinggatarikhlelong['keuntungan'];
$nilaiujrah = (float) $getkeuntunganhinggatarikhlelong['ujrah'];
$jumlah = $nilaipembiayaan + $nilaipendapatan;
$marhuns[$index]['nilaitebus'] = $nilaitebus;
$marhuns[$index]['nilaipembiayaan'] = $nilaipembiayaan;
$marhuns[$index]['nilaikeuntungan'] = $nilaikeuntungan;
$marhuns[$index]['nilaiujrah'] = $nilaiujrah;
$marhuns[$index]['jumlah'] = $jumlah;
}
}
$view = $fasa === 2 ? 'pdf.jananotisfasa2_new' : 'pdf.jananotis_new';
$fileName = 'Penjanaan Notis Fasa '.$fasa.':Batch Lelong '.$lelong_id.'.pdf';
$relativePath = 'jana_notis/'.$export->kodcaw.'/'.$lelong_id.'_fasa'.$fasa.'_'.$export->id.'.pdf';
$pdf = PDF::loadView($view, compact('marhuns', 'lelongid', 'caw', 'tarikh_cetak'))
->setPaper('a4', 'potrait');
Storage::disk('local')->put($relativePath, $pdf->output());
$export->update([
'status' => JanaNotisExport::STATUS_COMPLETED,
'file_path' => $relativePath,
'file_name' => $fileName,
'error_message' => null,
]);
if ($fasa === 2) {
WhatsappNotisLelongFasa2::dispatch($export->user_id, $export->kodcaw, $export->lelong_id);
} else {
WhatsappNotisLelongFasa1::dispatch($export->user_id, $export->kodcaw, $export->lelong_id);
}
Log::info("Queued WhatsApp Jana Notis fasa {$fasa} for lelong {$export->lelong_id}");
}
public function failed(Throwable $exception)
{
$export = JanaNotisExport::find($this->exportId);
if ($export) {
$export->update([
'status' => JanaNotisExport::STATUS_FAILED,
'error_message' => $exception->getMessage(),
]);
}
Log::error('GenerateJanaNotisPdf failed: '.$exception->getMessage(), [
'export_id' => $this->exportId,
]);
}
}
Executable → Regular
+3 -3
View File
@@ -2,22 +2,22 @@
namespace App\Jobs; namespace App\Jobs;
use App\Mail\Pemenang;
use Illuminate\Bus\Queueable; use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldBeUnique;
use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels; use Illuminate\Queue\SerializesModels;
use Illuminate\Support\Facades\Mail; use Illuminate\Support\Facades\Mail;
use App\Mail\Pemenang;
class HantarMail implements ShouldQueue class HantarMail implements ShouldQueue
{ {
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels; use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
public $user_email; public $user_email;
public $user_name; public $user_name;
protected $total_bid_win_converted; protected $total_bid_win_converted;
/** /**
Executable → Regular
+5 -4
View File
@@ -3,14 +3,11 @@
namespace App\Jobs; namespace App\Jobs;
use App\Mail\NotifyAdmin; use App\Mail\NotifyAdmin;
use App\Mail\NotifyJanaNotis as MailNotifyJanaNotis;
use Illuminate\Bus\Queueable; use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldBeUnique;
use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels; use Illuminate\Queue\SerializesModels;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\Mail; use Illuminate\Support\Facades\Mail;
class NotifyJanaNotis implements ShouldQueue class NotifyJanaNotis implements ShouldQueue
@@ -18,9 +15,13 @@ class NotifyJanaNotis implements ShouldQueue
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels; use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
public $user_id; public $user_id;
public $user_kodcaw; public $user_kodcaw;
private $user_name; private $user_name;
private $description; private $description;
private $date_time; private $date_time;
/** /**
@@ -53,7 +54,7 @@ class NotifyJanaNotis implements ShouldQueue
$admin_emails = explode(',', config('app.admin_email')); $admin_emails = explode(',', config('app.admin_email'));
foreach($admin_emails as $email) { foreach ($admin_emails as $email) {
Mail::to($email)->send(new NotifyAdmin($content_collection)); Mail::to($email)->send(new NotifyAdmin($content_collection));
} }
+96 -119
View File
@@ -2,166 +2,143 @@
namespace App\Jobs; namespace App\Jobs;
use App\Jobs\Concerns\ResolvesJanaNotisJumlah;
use App\Models\Cawangan;
use App\Models\Customer;
use App\Models\Gadai;
use App\Models\Lelong;
use App\Models\LelongBid;
use App\Services\WhatsAppCloudService;
use Carbon\Carbon;
use Illuminate\Bus\Queueable; use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldBeUnique;
use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels; use Illuminate\Queue\SerializesModels;
use App\Models\Cawangan;
use Carbon\Carbon;
use App\Models\Lelong;
use App\Models\LelongCawangan;
use App\Models\LelongBid;
use App\Models\Gadai;
use App\Models\Customer;
use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\Http;
use App\Models\CawanganLelong;
use Illuminate\Support\Facades\Artisan;
use DateTime;
class WhatsappNotisLelongFasa1 implements ShouldQueue class WhatsappNotisLelongFasa1 implements ShouldQueue
{ {
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels; use Dispatchable, InteractsWithQueue, Queueable, ResolvesJanaNotisJumlah, SerializesModels;
public $timeout = 600;
public $tries = 1;
public $user_id; public $user_id;
public $user_kodcaw; public $user_kodcaw;
protected $lelong_id; protected $lelong_id;
/**
* Create a new job instance.
*
* @return void
*/
public function __construct($user_id, $user_kodcaw, $lelong_id) public function __construct($user_id, $user_kodcaw, $lelong_id)
{ {
$this->user_id = $user_id; $this->user_id = $user_id;
$this->user_kodcaw = $user_kodcaw; $this->user_kodcaw = $user_kodcaw;
$this->lelong_id = $lelong_id; $this->lelong_id = $lelong_id;
$this->onQueue('default');
} }
/** public function handle(WhatsAppCloudService $whatsapp)
* Execute the job.
*
* @return void
*/
public function handle()
{ {
// $user = Auth::user(); if (! $whatsapp->isEnabled()) {
$caw = Cawangan::where('caw_code', '=', $this->user_kodcaw)->first(); Log::warning('WhatsappNotisLelongFasa1 skipped: WhatsApp Cloud API not enabled.');
$currentdate = Carbon::now(); return;
}
$lel = Lelong::with('cawangan')->find($this->lelong_id); $caw = Cawangan::where('caw_code', $this->user_kodcaw)->first();
// dd($lel->tarikh_lelong); if (! $caw) {
Log::error('WhatsappNotisLelongFasa1: cawangan not found', ['kodcaw' => $this->user_kodcaw]);
$cawanganDetail = $lel->cawangan->find($caw->id); return;
$lelong_id = $this->lelong_id; }
$cawangan = Cawangan::with(["lelongBid" => function($q) use ($lelong_id){
$q->where('lelong_id', '=', $lelong_id)->select('id','caw_id','kodcaw','norujukan','pinjaman','bakiupah','hargaasas','nilaimarhun','cajlelong','baki','t_lelong'); $lel = Lelong::find($this->lelong_id);
}]) if (! $lel) {
->where('caw_code','=',$cawanganDetail->caw_code)->first(); Log::error('WhatsappNotisLelongFasa1: lelong not found', ['lelong_id' => $this->lelong_id]);
$lelongbid_data_pluck_norujukan = $cawangan->lelongBid->pluck('norujukan')->toArray();
$gadai_all = Gadai::on($cawanganDetail->caw_code)->whereIn('gadai.norujukan', $lelongbid_data_pluck_norujukan) return;
}
$arraynorujukan = LelongBid::where('lelong_id', $this->lelong_id)
->where('kodcaw', $caw->caw_code)
->pluck('norujukan');
$gadaiAll = Gadai::on($caw->caw_code)
->whereIn('norujukan', $arraynorujukan)
->orderBy('nokp', 'asc') ->orderBy('nokp', 'asc')
->orderBy('norujukan','ASC') ->orderBy('norujukan', 'asc')
->get(); ->get();
$customers_list = $gadai_all->pluck('nokp')->unique(); $customers = Customer::whereIn('kpbaru', $gadaiAll->pluck('nokp'))
$customers = Customer::whereIn('kpbaru', $customers_list) ->orWhereIn('kplama', $gadaiAll->pluck('nokp'))
->orWhereIn('kplama', $customers_list) ->select('id', 'kpbaru', 'kplama', 'nama', 'telefon')
->select('id','kpbaru','kplama' ,'nama', 'telefon') ->get();
->get()->keyBy('id');
$customers_keyBy_noKp = $customers->keyBy(function ($item) { $customersByKp = $customers->keyBy(function ($item) {
if ($item->kpbaru != '') { if ($item->kpbaru != '') {
return $item->kpbaru; return $item->kpbaru;
} else if ($item->kplama != '') { }
if ($item->kplama != '') {
return $item->kplama; return $item->kplama;
} }
}); });
$customers_pluck_notel = $customers_keyBy_noKp->pluck('telefon'); $tarikhLelong = Carbon::parse($lel->tarikh_lelong)->format('d-m-Y');
// dd($customers_pluck_notel); $tarikhSebelum = Carbon::parse($lel->tarikh_lelong)->subDays(3)->format('d-m-Y');
foreach($customers_pluck_notel as $index1 =>$custphone) { $template = config('whatsapp.jana_notis_template');
// dd($custphone); $lang = config('whatsapp.jana_notis_template_lang');
$special = preg_match('/[\'^£$%&*()}{@#~?><>,|=_+¬-]/', $custphone);
// dump($special);
if($special == 0){
if($custphone == ''){
$newtel = '';
}elseif($custphone <> ''){
$newtel = '6'.$custphone;
}
}
elseif($special == 1){
if($custphone == ''){
$newtel = '';
}elseif($custphone <> ''){
$newtel = '6'.str_replace( array( '-' ), '', $custphone);
}
}
// dump($newtel);
} foreach ($gadaiAll as $suratnotis) {
$lelong_bid_all_groupby_norujukan = $cawangan->lelongBid->groupBy('norujukan'); if (! isset($customersByKp[$suratnotis->nokp])) {
$lelong_all_keyBy_norujukan = $gadai_all->keyBy('norujukan'); continue;
foreach($lelong_bid_all_groupby_norujukan as $index7=>$lelongbid){
// dd($notis_all_keyBy_norujukan);
if($lelong_all_keyBy_norujukan[$index7]){
$gadai_true = $lelong_all_keyBy_norujukan[$index7];
$gadai_true['data_lelongbid'] = $lelongbid;
} }
} $customer = $customersByKp[$suratnotis->nokp];
// dd($gadai_all); $recipient = $whatsapp->resolveRecipient($customer->telefon);
foreach ($gadai_all as $index => $suratnotis) { if (! $recipient) {
$datanotisbid = $suratnotis['data_lelongbid'][0]->fasa; Log::warning('WhatsappNotisLelongFasa1: invalid phone', [
// dd($suratnotis); 'nokp' => $suratnotis->nokp,
if($customers_keyBy_noKp[$suratnotis->nokp]) 'norujukan' => $suratnotis->norujukan,
{
$mobile_no = '60178916936';
// $mobile_no = $newtel;
$user_true = $customers_keyBy_noKp[$suratnotis->nokp];
$nama = $user_true->nama;
$t_lelong = Carbon::parse($lel->tarikh_lelong);
$t_lelongf1 = $t_lelong->format('d-m-Y');
$cawname = $caw->caw_name;
$para2blast = $caw->para2blast;
$myDateTime = DateTime::createFromFormat('Y-m-d', $lel->tarikh_lelong );
$datez = $myDateTime->modify('-3 day')->format('d-m-Y');
// dd($t_matang1);
$message = '*LELONGAN AWAM BARANG GADAIAN PADA '.$t_lelongf1.'*
Nama: *'.$nama.'*
No.KP: *'.$suratnotis->nokp.'*'.'
No.Rujukan: *'.$suratnotis->norujukan.'*
Cawangan: *'.$cawname.'*
Waktu Lelong: *10.30Pagi*
Tuan/Puan adalah dikehendaki untuk membuat urusan berikut dikaunter cawangan pada atau sebelum *'.$datez.'*:-
'.$para2blast.'.
Terima Kasih';
if(config('app.env') != 'production'){
$mobile_no = config('app.admin_phone_number');
}
$response = Http::get(config('app.wabot_api'), [
'number' => $mobile_no,
'type' => 'text',
'message' => $message,
'instance_id' => config('app.wabot_instances_id'),
'access_token' => config('app.wabot_token_keys')
]); ]);
Log::info("WABOT - Notis Lelongan Fasa 1" . $response); continue;
} }
sleep(2);
$jumlah = $this->resolveJanaNotisJumlah($caw->caw_code, $this->lelong_id, $suratnotis);
if ($jumlah === null) {
Log::warning('WhatsappNotisLelongFasa1: skip send, jumlah unavailable', [
'norujukan' => $suratnotis->norujukan,
]);
continue;
}
if (empty($caw->notel)) {
Log::warning('WhatsappNotisLelongFasa1: skip send, cawangan phone missing', [
'kodcaw' => $caw->caw_code,
'norujukan' => $suratnotis->norujukan,
]);
continue;
}
// {{1}} nama, {{2}} norujukan, {{3}} jumlah, {{4}} tarikh lelong,
// {{5}} tarikh akhir bayaran, {{6}} telefon cawangan, {{7}} cawangan
$bodyParams = [
$customer->nama,
$suratnotis->norujukan,
$jumlah,
$tarikhLelong,
$tarikhSebelum,
$caw->notel,
$caw->caw_name,
];
$whatsapp->sendTemplate($recipient, $template, $bodyParams, $lang);
usleep(300000); // 0.3s soft rate-limit
} }
} }
} }
+96 -119
View File
@@ -2,166 +2,143 @@
namespace App\Jobs; namespace App\Jobs;
use App\Jobs\Concerns\ResolvesJanaNotisJumlah;
use App\Models\Cawangan;
use App\Models\Customer;
use App\Models\Gadai;
use App\Models\Lelong;
use App\Models\LelongBid;
use App\Services\WhatsAppCloudService;
use Carbon\Carbon;
use Illuminate\Bus\Queueable; use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldBeUnique;
use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels; use Illuminate\Queue\SerializesModels;
use App\Models\Cawangan;
use Carbon\Carbon;
use App\Models\Lelong;
use App\Models\LelongCawangan;
use App\Models\LelongBid;
use App\Models\Gadai;
use App\Models\Customer;
use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\Http;
use App\Models\CawanganLelong;
use Illuminate\Support\Facades\Artisan;
use DateTime;
class WhatsappNotisLelongFasa2 implements ShouldQueue class WhatsappNotisLelongFasa2 implements ShouldQueue
{ {
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels; use Dispatchable, InteractsWithQueue, Queueable, ResolvesJanaNotisJumlah, SerializesModels;
public $timeout = 600;
public $tries = 1;
public $user_id; public $user_id;
public $user_kodcaw; public $user_kodcaw;
protected $lelong_id; protected $lelong_id;
/**
* Create a new job instance.
*
* @return void
*/
public function __construct($user_id, $user_kodcaw, $lelong_id) public function __construct($user_id, $user_kodcaw, $lelong_id)
{ {
$this->user_id = $user_id; $this->user_id = $user_id;
$this->user_kodcaw = $user_kodcaw; $this->user_kodcaw = $user_kodcaw;
$this->lelong_id = $lelong_id; $this->lelong_id = $lelong_id;
$this->onQueue('default');
} }
/** public function handle(WhatsAppCloudService $whatsapp)
* Execute the job.
*
* @return void
*/
public function handle()
{ {
// $user = Auth::user(); if (! $whatsapp->isEnabled()) {
$caw = Cawangan::where('caw_code', '=', $this->user_kodcaw)->first(); Log::warning('WhatsappNotisLelongFasa2 skipped: WhatsApp Cloud API not enabled.');
$currentdate = Carbon::now(); return;
}
$lel = Lelong::with('cawangan')->find($this->lelong_id); $caw = Cawangan::where('caw_code', $this->user_kodcaw)->first();
// dd($lel->tarikh_lelong); if (! $caw) {
Log::error('WhatsappNotisLelongFasa2: cawangan not found', ['kodcaw' => $this->user_kodcaw]);
$cawanganDetail = $lel->cawangan->find($caw->id); return;
$lelong_id = $this->lelong_id; }
$cawangan = Cawangan::with(["lelongBid" => function($q) use ($lelong_id){
$q->where('lelong_id', '=', $lelong_id)->select('id','caw_id','kodcaw','norujukan','pinjaman','bakiupah','hargaasas','nilaimarhun','cajlelong','baki','t_lelong'); $lel = Lelong::find($this->lelong_id);
}]) if (! $lel) {
->where('caw_code','=',$cawanganDetail->caw_code)->first(); Log::error('WhatsappNotisLelongFasa2: lelong not found', ['lelong_id' => $this->lelong_id]);
$lelongbid_data_pluck_norujukan = $cawangan->lelongBid->pluck('norujukan')->toArray();
$gadai_all = Gadai::on($cawanganDetail->caw_code)->whereIn('gadai.norujukan', $lelongbid_data_pluck_norujukan) return;
}
$arraynorujukan = LelongBid::where('lelong_id', $this->lelong_id)
->where('kodcaw', $caw->caw_code)
->pluck('norujukan');
$gadaiAll = Gadai::on($caw->caw_code)
->whereIn('norujukan', $arraynorujukan)
->orderBy('nokp', 'asc') ->orderBy('nokp', 'asc')
->orderBy('norujukan','ASC') ->orderBy('norujukan', 'asc')
->get(); ->get();
$customers_list = $gadai_all->pluck('nokp')->unique(); $customers = Customer::whereIn('kpbaru', $gadaiAll->pluck('nokp'))
$customers = Customer::whereIn('kpbaru', $customers_list) ->orWhereIn('kplama', $gadaiAll->pluck('nokp'))
->orWhereIn('kplama', $customers_list) ->select('id', 'kpbaru', 'kplama', 'nama', 'telefon')
->select('id','kpbaru','kplama' ,'nama', 'telefon') ->get();
->get()->keyBy('id');
$customers_keyBy_noKp = $customers->keyBy(function ($item) { $customersByKp = $customers->keyBy(function ($item) {
if ($item->kpbaru != '') { if ($item->kpbaru != '') {
return $item->kpbaru; return $item->kpbaru;
} else if ($item->kplama != '') { }
if ($item->kplama != '') {
return $item->kplama; return $item->kplama;
} }
}); });
$customers_pluck_notel = $customers_keyBy_noKp->pluck('telefon'); $tarikhLelong = Carbon::parse($lel->tarikh_lelong)->format('d-m-Y');
// dd($customers_pluck_notel); $tarikhSebelum = Carbon::parse($lel->tarikh_lelong)->subDays(3)->format('d-m-Y');
foreach($customers_pluck_notel as $index1 =>$custphone) { $template = config('whatsapp.jana_notis_template');
// dd($custphone); $lang = config('whatsapp.jana_notis_template_lang');
$special = preg_match('/[\'^£$%&*()}{@#~?><>,|=_+¬-]/', $custphone);
// dump($special);
if($special == 0){
if($custphone == ''){
$newtel = '';
}elseif($custphone <> ''){
$newtel = '6'.$custphone;
}
}
elseif($special == 1){
if($custphone == ''){
$newtel = '';
}elseif($custphone <> ''){
$newtel = '6'.str_replace( array( '-' ), '', $custphone);
}
}
// dump($newtel);
} foreach ($gadaiAll as $suratnotis) {
$lelong_bid_all_groupby_norujukan = $cawangan->lelongBid->groupBy('norujukan'); if (! isset($customersByKp[$suratnotis->nokp])) {
$lelong_all_keyBy_norujukan = $gadai_all->keyBy('norujukan'); continue;
foreach($lelong_bid_all_groupby_norujukan as $index7=>$lelongbid){
// dd($notis_all_keyBy_norujukan);
if($lelong_all_keyBy_norujukan[$index7]){
$gadai_true = $lelong_all_keyBy_norujukan[$index7];
$gadai_true['data_lelongbid'] = $lelongbid;
} }
} $customer = $customersByKp[$suratnotis->nokp];
// dd($gadai_all); $recipient = $whatsapp->resolveRecipient($customer->telefon);
foreach ($gadai_all as $index => $suratnotis) { if (! $recipient) {
$datanotisbid = $suratnotis['data_lelongbid'][0]->fasa; Log::warning('WhatsappNotisLelongFasa2: invalid phone', [
// dd($suratnotis); 'nokp' => $suratnotis->nokp,
if($customers_keyBy_noKp[$suratnotis->nokp]) 'norujukan' => $suratnotis->norujukan,
{
$mobile_no = '60178916936';
// $mobile_no = $newtel;
$user_true = $customers_keyBy_noKp[$suratnotis->nokp];
$nama = $user_true->nama;
$t_lelong = Carbon::parse($lel->tarikh_lelong);
$t_lelongf1 = $t_lelong->format('d-m-Y');
$cawname = $caw->caw_name;
$para2blast = $caw->para3blast;
$myDateTime = DateTime::createFromFormat('Y-m-d', $lel->tarikh_lelong );
$datez = $myDateTime->modify('-3 day')->format('d-m-Y');
// dd($t_matang1);
$message = '*LELONGAN AWAM BARANG GADAIAN PADA '.$t_lelongf1.'*
Nama: *'.$nama.'*
No.KP: *'.$suratnotis->nokp.'*'.'
No.Rujukan: *'.$suratnotis->norujukan.'*
Cawangan: *'.$cawname.'*
Waktu Lelong: *10.30Pagi*
Tuan/Puan adalah dikehendaki untuk membuat urusan berikut dikaunter cawangan pada atau sebelum *'.$datez.'*:-
'.$para2blast.'.
Terima Kasih';
if(config('app.env') != 'production'){
$mobile_no = config('app.admin_phone_number');
}
$response = Http::get(config('app.wabot_api'), [
'number' => $mobile_no,
'type' => 'text',
'message' => $message,
'instance_id' => config('app.wabot_instances_id'),
'access_token' => config('app.wabot_token_keys')
]); ]);
Log::info("WABOT - Notis Lelongan Fasa 2" . $response); continue;
} }
sleep(2);
$jumlah = $this->resolveJanaNotisJumlah($caw->caw_code, $this->lelong_id, $suratnotis);
if ($jumlah === null) {
Log::warning('WhatsappNotisLelongFasa2: skip send, jumlah unavailable', [
'norujukan' => $suratnotis->norujukan,
]);
continue;
}
if (empty($caw->notel)) {
Log::warning('WhatsappNotisLelongFasa2: skip send, cawangan phone missing', [
'kodcaw' => $caw->caw_code,
'norujukan' => $suratnotis->norujukan,
]);
continue;
}
// {{1}} nama, {{2}} norujukan, {{3}} jumlah, {{4}} tarikh lelong,
// {{5}} tarikh akhir bayaran, {{6}} telefon cawangan, {{7}} cawangan
$bodyParams = [
$customer->nama,
$suratnotis->norujukan,
$jumlah,
$tarikhLelong,
$tarikhSebelum,
$caw->notel,
$caw->caw_name,
];
$whatsapp->sendTemplate($recipient, $template, $bodyParams, $lang);
usleep(300000);
} }
} }
} }
+31 -36
View File
@@ -2,31 +2,30 @@
namespace App\Jobs; namespace App\Jobs;
use App\Models\Cawangan;
use App\Models\Customer;
use App\Models\Gadai;
use App\Models\Notis;
use App\Models\NotisBid;
use Carbon\Carbon;
use Illuminate\Bus\Queueable; use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldBeUnique;
use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels; use Illuminate\Queue\SerializesModels;
use App\Models\Cawangan;
use Carbon\Carbon;
use App\Models\Notis;
use App\Models\NotisBid;
use App\Models\Gadai;
use App\Models\Customer;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\Http; use Illuminate\Support\Facades\Http;
use App\Models\CawanganNotis; use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\Artisan;
class WhatsappNotisPeringatanKedua implements ShouldQueue class WhatsappNotisPeringatanKedua implements ShouldQueue
{ {
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels; use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
public $user_id; public $user_id;
public $user_kodcaw; public $user_kodcaw;
protected $notisid; protected $notisid;
protected $cawid; protected $cawid;
/** /**
@@ -34,7 +33,7 @@ class WhatsappNotisPeringatanKedua implements ShouldQueue
* *
* @return void * @return void
*/ */
public function __construct($user_id, $user_kodcaw, $notisid,$cawid) public function __construct($user_id, $user_kodcaw, $notisid, $cawid)
{ {
$this->user_id = $user_id; $this->user_id = $user_id;
$this->user_kodcaw = $user_kodcaw; $this->user_kodcaw = $user_kodcaw;
@@ -57,44 +56,43 @@ class WhatsappNotisPeringatanKedua implements ShouldQueue
$notis = Notis::find($this->notisid); $notis = Notis::find($this->notisid);
// dd($notis->tarikh_notis); // dd($notis->tarikh_notis);
$notis_bid_all = NotisBid::select('id','nokp','norujukan','jbg','pinjaman','fasa')->where('notis_id', $this->notisid)->where('kodcaw', $caw->caw_code)->get(); $notis_bid_all = NotisBid::select('id', 'nokp', 'norujukan', 'jbg', 'pinjaman', 'fasa')->where('notis_id', $this->notisid)->where('kodcaw', $caw->caw_code)->get();
$arraynorujukan_notis_bid_all = NotisBid::where('notis_id', $this->notisid)->where('kodcaw', $caw->caw_code)->pluck('norujukan'); $arraynorujukan_notis_bid_all = NotisBid::where('notis_id', $this->notisid)->where('kodcaw', $caw->caw_code)->pluck('norujukan');
$arraynorujukan = NotisBid::where('notis_id', $this->notisid)->where('kodcaw', $caw->caw_code)->pluck('norujukan'); $arraynorujukan = NotisBid::where('notis_id', $this->notisid)->where('kodcaw', $caw->caw_code)->pluck('norujukan');
$gadai_all = Gadai::on($caw->caw_code)->whereIn('norujukan', $arraynorujukan)->select('nokp', 'norujukan','bakipjm','t_matang','t_matang1','tempoh')->orderBy('nokp', 'asc')->get(); $gadai_all = Gadai::on($caw->caw_code)->whereIn('norujukan', $arraynorujukan)->select('nokp', 'norujukan', 'bakipjm', 't_matang', 't_matang1', 'tempoh')->orderBy('nokp', 'asc')->get();
$customers_list = $gadai_all->pluck('nokp')->unique(); $customers_list = $gadai_all->pluck('nokp')->unique();
$customers = Customer::whereIn('kpbaru', $customers_list) $customers = Customer::whereIn('kpbaru', $customers_list)
->orWhereIn('kplama', $customers_list) ->orWhereIn('kplama', $customers_list)
->select('id','kpbaru','kplama' ,'nama', 'telefon') ->select('id', 'kpbaru', 'kplama', 'nama', 'telefon')
->get()->keyBy('id'); ->get()->keyBy('id');
$customers_keyBy_noKp = $customers->keyBy(function ($item) { $customers_keyBy_noKp = $customers->keyBy(function ($item) {
if ($item->kpbaru != '') { if ($item->kpbaru != '') {
return $item->kpbaru; return $item->kpbaru;
} else if ($item->kplama != '') { } elseif ($item->kplama != '') {
return $item->kplama; return $item->kplama;
} }
}); });
$customers_pluck_notel = $customers_keyBy_noKp->pluck('telefon'); $customers_pluck_notel = $customers_keyBy_noKp->pluck('telefon');
// dd($customers_pluck_notel); // dd($customers_pluck_notel);
foreach($customers_pluck_notel as $index1 =>$custphone) { foreach ($customers_pluck_notel as $index1 => $custphone) {
// dd($custphone); // dd($custphone);
$special = preg_match('/[\'^£$%&*()}{@#~?><>,|=_+¬-]/', $custphone); $special = preg_match('/[\'^£$%&*()}{@#~?><>,|=_+¬-]/', $custphone);
// dump($special); // dump($special);
if($special == 0){ if ($special == 0) {
if($custphone == ''){ if ($custphone == '') {
$newtel = ''; $newtel = '';
}elseif($custphone <> ''){ } elseif ($custphone != '') {
$newtel = '6'.$custphone; $newtel = '6'.$custphone;
} }
} } elseif ($special == 1) {
elseif($special == 1){ if ($custphone == '') {
if($custphone == ''){
$newtel = ''; $newtel = '';
}elseif($custphone <> ''){ } elseif ($custphone != '') {
$newtel = '6'.str_replace( array( '-' ), '', $custphone); $newtel = '6'.str_replace(['-'], '', $custphone);
} }
} }
// dump($newtel); // dump($newtel);
@@ -102,9 +100,9 @@ class WhatsappNotisPeringatanKedua implements ShouldQueue
} }
$notis_bid_all_groupby_norujukan = $notis_bid_all->groupBy('norujukan'); $notis_bid_all_groupby_norujukan = $notis_bid_all->groupBy('norujukan');
$notis_all_keyBy_norujukan = $gadai_all->keyBy('norujukan'); $notis_all_keyBy_norujukan = $gadai_all->keyBy('norujukan');
foreach($notis_bid_all_groupby_norujukan as $index7=>$notisbid){ foreach ($notis_bid_all_groupby_norujukan as $index7 => $notisbid) {
// dd($notis_all_keyBy_norujukan); // dd($notis_all_keyBy_norujukan);
if($notis_all_keyBy_norujukan[$index7]){ if ($notis_all_keyBy_norujukan[$index7]) {
$gadai_true = $notis_all_keyBy_norujukan[$index7]; $gadai_true = $notis_all_keyBy_norujukan[$index7];
$gadai_true['data_notisbid'] = $notisbid; $gadai_true['data_notisbid'] = $notisbid;
@@ -115,8 +113,7 @@ class WhatsappNotisPeringatanKedua implements ShouldQueue
foreach ($gadai_all as $index => $suratnotis) { foreach ($gadai_all as $index => $suratnotis) {
$datanotisbid = $suratnotis['data_notisbid'][0]->fasa; $datanotisbid = $suratnotis['data_notisbid'][0]->fasa;
// dd($suratnotis); // dd($suratnotis);
if($customers_keyBy_noKp[$suratnotis->nokp]) if ($customers_keyBy_noKp[$suratnotis->nokp]) {
{
$mobile_no = '60178916936'; $mobile_no = '60178916936';
// $mobile_no = $newtel; // $mobile_no = $newtel;
$user_true = $customers_keyBy_noKp[$suratnotis->nokp]; $user_true = $customers_keyBy_noKp[$suratnotis->nokp];
@@ -128,7 +125,7 @@ class WhatsappNotisPeringatanKedua implements ShouldQueue
$t_matangf2 = $t_matang1->format('d-m-Y'); $t_matangf2 = $t_matang1->format('d-m-Y');
$cawname = $caw->caw_name; $cawname = $caw->caw_name;
// dd($t_matang1); // dd($t_matang1);
if( $datanotisbid == '1'){ if ($datanotisbid == '1') {
$message = '*NOTIS PEMBERITAHUAN* $message = '*NOTIS PEMBERITAHUAN*
Nama: *'.$nama.'* Nama: *'.$nama.'*
@@ -140,8 +137,7 @@ Tempoh: *'.$suratnotis->tempoh.' bulan*
Tuan/puan atau wakil adalah dikehendaki menebus/membayar *KOS KEUNTUNGAN* tersebut secepat mungkin. Jika pihak tuan/puan menghadapi sebarang masalah, sila hubungi kami sebagaimana alamat di dalam *Surat Akaun Gadaian* ATAU datang sendiri ke *'.$cawname.'* dengan membawa bersama salinan asal Surat Akaun Gadaian tuan/puan. Tuan/puan atau wakil adalah dikehendaki menebus/membayar *KOS KEUNTUNGAN* tersebut secepat mungkin. Jika pihak tuan/puan menghadapi sebarang masalah, sila hubungi kami sebagaimana alamat di dalam *Surat Akaun Gadaian* ATAU datang sendiri ke *'.$cawname.'* dengan membawa bersama salinan asal Surat Akaun Gadaian tuan/puan.
Sekian, terima kasih.'; Sekian, terima kasih.';
} } elseif ($datanotisbid == '2') {
else if( $datanotisbid == '2'){
$message = '*NOTIS PEMBERITAHUAN* $message = '*NOTIS PEMBERITAHUAN*
Nama: *'.$nama.'* Nama: *'.$nama.'*
@@ -154,9 +150,8 @@ Tempoh: *'.$suratnotis->tempoh.' bulan*.
Tuan/puan atau wakil adalah dikehendaki menebus/tukar surat di premis kami dengan kadar yang segera. Jika pihak tuan/puan menghadapi sebarang masalah, sila hubungi kami sebagaimana alamat di dalam *Surat Akaun Gadaian* ATAU datang sendiri ke *'.$cawname.'* dengan membawa bersama salinan asal Surat Akaun Gadaian tuan/puan. Tuan/puan atau wakil adalah dikehendaki menebus/tukar surat di premis kami dengan kadar yang segera. Jika pihak tuan/puan menghadapi sebarang masalah, sila hubungi kami sebagaimana alamat di dalam *Surat Akaun Gadaian* ATAU datang sendiri ke *'.$cawname.'* dengan membawa bersama salinan asal Surat Akaun Gadaian tuan/puan.
Sekian, terima kasih.'; Sekian, terima kasih.';
} }
if(config('app.env') != 'production'){ if (config('app.env') != 'production') {
$mobile_no = config('app.admin_phone_number'); $mobile_no = config('app.admin_phone_number');
} }
$response = Http::get(config('app.wabot_api'), [ $response = Http::get(config('app.wabot_api'), [
@@ -164,10 +159,10 @@ Sekian, terima kasih.';
'type' => 'text', 'type' => 'text',
'message' => $message, 'message' => $message,
'instance_id' => config('app.wabot_instances_id'), 'instance_id' => config('app.wabot_instances_id'),
'access_token' => config('app.wabot_token_keys') 'access_token' => config('app.wabot_token_keys'),
]); ]);
Log::info("WABOT - notis peringatan kedua " . $response); Log::info('WABOT - notis peringatan kedua '.$response);
} }
sleep(2); sleep(2);
} }
+35 -40
View File
@@ -2,32 +2,29 @@
namespace App\Jobs; namespace App\Jobs;
use App\Models\Cawangan;
use App\Models\Customer;
use App\Models\Lelong;
use App\Models\LelongCawangan;
use Carbon\Carbon;
use Illuminate\Bus\Queueable; use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldBeUnique;
use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels; use Illuminate\Queue\SerializesModels;
use App\Models\Cawangan;
use Carbon\Carbon;
use App\Models\Lelong;
use App\Models\LelongCawangan;
use App\Models\LelongBid;
use App\Models\Gadai;
use App\Models\Customer;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\Http; use Illuminate\Support\Facades\Http;
use App\Models\CawanganLelong; use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\Artisan;
class WhatsappNotisTuntutBaki implements ShouldQueue class WhatsappNotisTuntutBaki implements ShouldQueue
{ {
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels; use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
public $user_id; public $user_id;
public $user_kodcaw; public $user_kodcaw;
protected $lelong_id; protected $lelong_id;
protected $caw_id; protected $caw_id;
/** /**
@@ -35,7 +32,7 @@ class WhatsappNotisTuntutBaki implements ShouldQueue
* *
* @return void * @return void
*/ */
public function __construct($user_id, $user_kodcaw, $lelong_id,$caw_id) public function __construct($user_id, $user_kodcaw, $lelong_id, $caw_id)
{ {
$this->user_id = $user_id; $this->user_id = $user_id;
$this->user_kodcaw = $user_kodcaw; $this->user_kodcaw = $user_kodcaw;
@@ -59,52 +56,51 @@ class WhatsappNotisTuntutBaki implements ShouldQueue
$cawanganDetail = $lel->cawangan->find($this->caw_id); $cawanganDetail = $lel->cawangan->find($this->caw_id);
$lelong_id = $this->lelong_id; $lelong_id = $this->lelong_id;
$cawangan = Cawangan::with(["lelongBid" => function($q) use ($lelong_id){ $cawangan = Cawangan::with(['lelongBid' => function ($q) use ($lelong_id) {
$q->where('lelong_id', '=', $lelong_id)->select('id','caw_id','kodcaw','norujukan','pinjaman','bakiupah','hargaasas','nilaimarhun','cajlelong','baki'); $q->where('lelong_id', '=', $lelong_id)->select('id', 'caw_id', 'kodcaw', 'norujukan', 'pinjaman', 'bakiupah', 'hargaasas', 'nilaimarhun', 'cajlelong', 'baki');
}]) }])
->where('caw_code','=',$cawanganDetail->caw_code)->first(); ->where('caw_code', '=', $cawanganDetail->caw_code)->first();
$lelongbid_data_pluck_norujukan = $cawangan->lelongBid->pluck('norujukan')->toArray(); $lelongbid_data_pluck_norujukan = $cawangan->lelongBid->pluck('norujukan')->toArray();
$gadai_all = LelongCawangan::on($cawanganDetail->caw_code)->whereIn('lelong.norujukan', $lelongbid_data_pluck_norujukan) $gadai_all = LelongCawangan::on($cawanganDetail->caw_code)->whereIn('lelong.norujukan', $lelongbid_data_pluck_norujukan)
->join('gadai','gadai.norujukan','=','lelong.norujukan') ->join('gadai', 'gadai.norujukan', '=', 'lelong.norujukan')
->where('trkhtuntut','=',null) ->where('trkhtuntut', '=', null)
->where('baki','>', '0.00') ->where('baki', '>', '0.00')
->select('nokp', 'lelong.norujukan','lelong.t_lelong AS tarikhlelong','lelong.hargajual','lelong.gst_hj','gadai.bakipjm','lelong.bakiupah','lelong.cajlelong','lelong.gst_cl','lelong.cajlain','lelong.baki') ->select('nokp', 'lelong.norujukan', 'lelong.t_lelong AS tarikhlelong', 'lelong.hargajual', 'lelong.gst_hj', 'gadai.bakipjm', 'lelong.bakiupah', 'lelong.cajlelong', 'lelong.gst_cl', 'lelong.cajlain', 'lelong.baki')
->orderBy('nokp', 'asc') ->orderBy('nokp', 'asc')
->orderBy('lelong.norujukan','ASC') ->orderBy('lelong.norujukan', 'ASC')
->get(); ->get();
$customers_list = $gadai_all->pluck('nokp')->unique(); $customers_list = $gadai_all->pluck('nokp')->unique();
$customers = Customer::whereIn('kpbaru', $customers_list) $customers = Customer::whereIn('kpbaru', $customers_list)
->orWhereIn('kplama', $customers_list) ->orWhereIn('kplama', $customers_list)
->select('id','kpbaru','kplama' ,'nama', 'telefon') ->select('id', 'kpbaru', 'kplama', 'nama', 'telefon')
->get()->keyBy('id'); ->get()->keyBy('id');
$customers_keyBy_noKp = $customers->keyBy(function ($item) { $customers_keyBy_noKp = $customers->keyBy(function ($item) {
if ($item->kpbaru != '') { if ($item->kpbaru != '') {
return $item->kpbaru; return $item->kpbaru;
} else if ($item->kplama != '') { } elseif ($item->kplama != '') {
return $item->kplama; return $item->kplama;
} }
}); });
$customers_pluck_notel = $customers_keyBy_noKp->pluck('telefon'); $customers_pluck_notel = $customers_keyBy_noKp->pluck('telefon');
// dd($customers_pluck_notel); // dd($customers_pluck_notel);
foreach($customers_pluck_notel as $index1 =>$custphone) { foreach ($customers_pluck_notel as $index1 => $custphone) {
// dd($custphone); // dd($custphone);
$special = preg_match('/[\'^£$%&*()}{@#~?><>,|=_+¬-]/', $custphone); $special = preg_match('/[\'^£$%&*()}{@#~?><>,|=_+¬-]/', $custphone);
// dump($special); // dump($special);
if($special == 0){ if ($special == 0) {
if($custphone == ''){ if ($custphone == '') {
$newtel = ''; $newtel = '';
}elseif($custphone <> ''){ } elseif ($custphone != '') {
$newtel = '6'.$custphone; $newtel = '6'.$custphone;
} }
} } elseif ($special == 1) {
elseif($special == 1){ if ($custphone == '') {
if($custphone == ''){
$newtel = ''; $newtel = '';
}elseif($custphone <> ''){ } elseif ($custphone != '') {
$newtel = '6'.str_replace( array( '-' ), '', $custphone); $newtel = '6'.str_replace(['-'], '', $custphone);
} }
} }
// dump($newtel); // dump($newtel);
@@ -112,9 +108,9 @@ class WhatsappNotisTuntutBaki implements ShouldQueue
} }
$lelong_bid_all_groupby_norujukan = $gadai_all->groupBy('norujukan'); $lelong_bid_all_groupby_norujukan = $gadai_all->groupBy('norujukan');
$lelong_all_keyBy_norujukan = $gadai_all->keyBy('norujukan'); $lelong_all_keyBy_norujukan = $gadai_all->keyBy('norujukan');
foreach($lelong_bid_all_groupby_norujukan as $index7=>$lelongbid){ foreach ($lelong_bid_all_groupby_norujukan as $index7 => $lelongbid) {
// dd($notis_all_keyBy_norujukan); // dd($notis_all_keyBy_norujukan);
if($lelong_all_keyBy_norujukan[$index7]){ if ($lelong_all_keyBy_norujukan[$index7]) {
$gadai_true = $lelong_all_keyBy_norujukan[$index7]; $gadai_true = $lelong_all_keyBy_norujukan[$index7];
$gadai_true['data_lelongbid'] = $lelongbid; $gadai_true['data_lelongbid'] = $lelongbid;
@@ -125,8 +121,7 @@ class WhatsappNotisTuntutBaki implements ShouldQueue
foreach ($gadai_all as $index => $suratnotis) { foreach ($gadai_all as $index => $suratnotis) {
$datanotisbid = $suratnotis['data_lelongbid'][0]->fasa; $datanotisbid = $suratnotis['data_lelongbid'][0]->fasa;
// dd($suratnotis); // dd($suratnotis);
if($customers_keyBy_noKp[$suratnotis->nokp]) if ($customers_keyBy_noKp[$suratnotis->nokp]) {
{
$mobile_no = '60178916936'; $mobile_no = '60178916936';
// $mobile_no = $newtel; // $mobile_no = $newtel;
$user_true = $customers_keyBy_noKp[$suratnotis->nokp]; $user_true = $customers_keyBy_noKp[$suratnotis->nokp];
@@ -145,11 +140,11 @@ No.Rujukan: *'.$suratnotis->norujukan.'*
Tarikh Lelong: *'.$t_jualf1.'* Tarikh Lelong: *'.$t_jualf1.'*
Wang Lebihan: *RM'.$baki.'*'.' Wang Lebihan: *RM'.$baki.'*'.'
'.$parabaki2. ' *'.$cawname.'*. '.$parabaki2.' *'.$cawname.'*.
Terima Kasih'; Terima Kasih';
if(config('app.env') != 'production'){ if (config('app.env') != 'production') {
$mobile_no = config('app.admin_phone_number'); $mobile_no = config('app.admin_phone_number');
} }
$response = Http::get(config('app.wabot_api'), [ $response = Http::get(config('app.wabot_api'), [
@@ -157,10 +152,10 @@ Terima Kasih';
'type' => 'text', 'type' => 'text',
'message' => $message, 'message' => $message,
'instance_id' => config('app.wabot_instances_id'), 'instance_id' => config('app.wabot_instances_id'),
'access_token' => config('app.wabot_token_keys') 'access_token' => config('app.wabot_token_keys'),
]); ]);
Log::info("WABOT - Notis Tuntutan Baki Lelong" . $response); Log::info('WABOT - Notis Tuntutan Baki Lelong'.$response);
} }
sleep(2); sleep(2);
} }
-59
View File
@@ -1,59 +0,0 @@
<?php
namespace App\Jobs;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;
use Illuminate\Support\Facades\Http;
use Illuminate\Support\Facades\Log;
use Carbon\Carbon;
use App\Models\User;
use App\Models\LogUser;
class WhatsappPembidaFPXPaid implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
public $userId, $resitId, $amount;
public function __construct($userId, $resitId, $amount)
{
$this->userId = $userId;
$this->resitId = $resitId;
$this->amount = $amount;
}
public function handle(): void
{
$dt = Carbon::now();
$user = User::find($this->userId);
if (!$user || !$user->notelbimbit) return;
$message = "Assalamualaikum {$user->name}, bayaran FPX anda sebanyak RM " . number_format($this->amount, 2) . " telah berjaya direkodkan. Resit ID: {$this->resitId}. Terima kasih.";
$mobile_no = '6' . $user->notelbimbit;
if (config('app.env') != 'production') {
$mobile_no = config('app.admin_phone_number');
}
$response = Http::get(config('app.wabot_api'), [
'number' => $mobile_no,
'type' => 'text',
'message' => $message,
'instance_id' => config('app.wabot_instances_id'),
'access_token' => config('app.wabot_token_keys')
]);
$loguser = new LogUser;
$loguser->date = $dt;
$loguser->username = 'Operasi';
$loguser->nama_user = 'System';
$loguser->nota = 'Notifikasi Pembayaran Billplz Berjaya';
$loguser->save();
Log::info("Notifikasi Pembayaran Billplz Berjaya: " . $response);
}
}
Executable → Regular
+24 -38
View File
@@ -2,66 +2,52 @@
namespace App\Jobs; namespace App\Jobs;
use App\Services\WhatsAppCloudService;
use Illuminate\Bus\Queueable; use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldBeUnique;
use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels; use Illuminate\Queue\SerializesModels;
use App\Models\Cawangan;
use Carbon\Carbon;
use App\Models\Notis;
use App\Models\NotisBid;
use App\Models\Gadai;
use App\Models\Customer;
use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\Http;
use App\Models\CawanganNotis;
use Illuminate\Support\Facades\Artisan;
class WhatsappPemenang implements ShouldQueue class WhatsappPemenang implements ShouldQueue
{ {
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels; use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
public $user_notelbimbit; public $user_notelbimbit;
public $total_bid_win_converted;
// protected $notisid;
// protected $cawid;
/** public $total_bid_win_converted;
* Create a new job instance.
*
* @return void
*/
public function __construct($user_notelbimbit, $total_bid_win_converted) public function __construct($user_notelbimbit, $total_bid_win_converted)
{ {
$this->user_notelbimbit = $user_notelbimbit; $this->user_notelbimbit = $user_notelbimbit;
$this->total_bid_win_converted = $total_bid_win_converted; $this->total_bid_win_converted = $total_bid_win_converted;
// $this->notisid = $notisid; $this->onQueue('default');
// $this->cawid = $cawid;
} }
/** public function handle(WhatsAppCloudService $whatsapp)
* Execute the job.
*
* @return void
*/
public function handle()
{ {
$mobile_no = ltrim($this->user_notelbimbit, '+'); if (! $whatsapp->isEnabled()) {
$message = 'AR-RAHN PKB: Tahniah Anda Menang Bidaan Sebanyak RM' . $this->total_bid_win_converted . '. Sila Semak Melalui Sistem ArrahnBid. Terima Kasih.'; Log::warning('WhatsappPemenang skipped: WhatsApp Cloud API not enabled.');
if(config('app.env') != 'production'){
$mobile_no = config('app.admin_phone_number'); return;
} }
$response = Http::get(config('app.wabot_api'), [
'number' => $mobile_no, $recipient = $whatsapp->resolveRecipient($this->user_notelbimbit);
'type' => 'text', if (! $recipient) {
'message' => $message, Log::warning('WhatsappPemenang: invalid phone', [
'instance_id' => config('app.wabot_instances_id'), 'notelbimbit' => $this->user_notelbimbit,
'access_token' => config('app.wabot_token_keys')
]); ]);
Log::info("WABOT - menang bidaan " . $response); return;
}
// {{1}} jumlah bidaan menang (formatted, without RM)
$whatsapp->sendTemplate(
$recipient,
config('whatsapp.pemenang_template'),
[$this->total_bid_win_converted],
config('whatsapp.pemenang_template_lang')
);
} }
} }
-63
View File
@@ -1,63 +0,0 @@
<?php
namespace App\Jobs;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldBeUnique;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;
use App\Models\Cawangan;
use Carbon\Carbon;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\Http;
use Illuminate\Support\Facades\Artisan;
class WhatsappPengesahanPembida implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
public $user_notelbimbit;
public $user_namapembida;
public $user_cawname;
// protected $notisid;
// protected $cawid;
/**
* Create a new job instance.
*
* @return void
*/
public function __construct($user_notelbimbit,$user_namapembida,$user_cawname)
{
$this->user_notelbimbit = $user_notelbimbit;
$this->user_namapembida = $user_namapembida;
$this->user_cawname = $user_cawname;
}
/**
* Execute the job.
*
* @return void
*/
public function handle()
{
$mobile_no = ltrim($this->user_notelbimbit, '+');
$message = 'AR-RAHN PKB: Terima Kasih '.$this->user_namapembida .', Pembayaran Bidaan Anda Untuk Cawangan *'.$this->user_cawname.'* Telah Disahkan, Sila Ke Cawangan Berkenaan Untuk Tuntutan Barang Bidaan Anda Hari Ini.';
if(config('app.env') != 'production'){
$mobile_no = config('app.admin_phone_number');
}
$response = Http::get(config('app.wabot_api'), [
'number' => $mobile_no,
'type' => 'text',
'message' => $message,
'instance_id' => config('app.wabot_instances_id'),
'access_token' => config('app.wabot_token_keys')
]);
Log::info("WABOT - Akaun Telah Sahkan Pembayaran: ".$this->user_namapembida .'' . $response);
}
}
+5 -11
View File
@@ -2,19 +2,14 @@
namespace App\Jobs; namespace App\Jobs;
use App\Models\User;
use Illuminate\Bus\Queueable; use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldBeUnique;
use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels; use Illuminate\Queue\SerializesModels;
use App\Models\LogUser;
use App\Models\User;
use Illuminate\Support\Facades\Http; use Illuminate\Support\Facades\Http;
class WhatsappTidakSahBayaran implements ShouldQueue class WhatsappTidakSahBayaran implements ShouldQueue
{ {
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels; use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
@@ -39,20 +34,19 @@ class WhatsappTidakSahBayaran implements ShouldQueue
public function handle() public function handle()
{ {
$getnoajk = User::where('user_type', 3)->get(); $getnoajk = User::where('user_type', 3)->get();
foreach($getnoajk as $notifikasi){ foreach ($getnoajk as $notifikasi) {
$mobile_no = '6'.$notifikasi->notelbimbit; $mobile_no = '6'.$notifikasi->notelbimbit;
if(config('app.env') != 'production'){ if (config('app.env') != 'production') {
$mobile_no = config('app.admin_phone_number'); $mobile_no = config('app.admin_phone_number');
} }
$response = Http::get(config('app.wabot_api'), [ $response = Http::get(config('app.wabot_api'), [
'number' => $mobile_no, 'number' => $mobile_no,
'type' => 'text', 'type' => 'text',
'message' => 'Bayaran Pembida yang bernama *'.$this->user_namapembida.'* Adalah *Tidak Sah*, Mohon Pihak AJK Lelong Untuk Buat Semakan, Terima Kasih.' , 'message' => 'Bayaran Pembida yang bernama *'.$this->user_namapembida.'* Adalah *Tidak Sah*, Mohon Pihak AJK Lelong Untuk Buat Semakan, Terima Kasih.',
'instance_id' => config('app.wabot_instances_id'), 'instance_id' => config('app.wabot_instances_id'),
'access_token' => config('app.wabot_token_keys') 'access_token' => config('app.wabot_token_keys'),
]); ]);
} }
} }
} }
Executable → Regular
+2 -3
View File
@@ -3,7 +3,6 @@
namespace App\Mail; namespace App\Mail;
use Illuminate\Bus\Queueable; use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Mail\Mailable; use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels; use Illuminate\Queue\SerializesModels;
@@ -30,8 +29,8 @@ class NotifyAdmin extends Mailable
*/ */
public function build() public function build()
{ {
return $this->from("masterlelongpkb@gmail.com", "Admin ArrahnBid") return $this->from('masterlelongpkb@gmail.com', 'Admin ArrahnBid')
->subject('ArrahnBid - ' . $this->content_collection['description']) ->subject('ArrahnBid - '.$this->content_collection['description'])
->view('template.notifyadmin', ['content_collection' => $this->content_collection]); ->view('template.notifyadmin', ['content_collection' => $this->content_collection]);
} }
} }
Executable → Regular
+5 -6
View File
@@ -2,12 +2,11 @@
namespace App\Mail; namespace App\Mail;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
use App\Models\LelongBidder; use App\Models\LelongBidder;
use Carbon\Carbon; use Carbon\Carbon;
use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
class Pemenang extends Mailable class Pemenang extends Mailable
{ {
@@ -18,8 +17,8 @@ class Pemenang extends Mailable
* *
* @return void * @return void
*/ */
public $name; public $name;
public $total_bid_win; public $total_bid_win;
// public $id; // public $id;
// public $lelong_id; // public $lelong_id;
@@ -65,7 +64,7 @@ class Pemenang extends Mailable
// $infos[$index1]['info'] = $info; // $infos[$index1]['info'] = $info;
return $this->from("masterlelongpkb@gmail.com", "Admin ArrahnBid") return $this->from('masterlelongpkb@gmail.com', 'Admin ArrahnBid')
->subject('ArrahnBid -Tahniah,Anda Pemenang ArrahnBid') ->subject('ArrahnBid -Tahniah,Anda Pemenang ArrahnBid')
->view('template.pemenang', ['user' => $user]); ->view('template.pemenang', ['user' => $user]);
} }
Executable → Regular
+7 -18
View File
@@ -3,7 +3,6 @@
namespace App\Mail; namespace App\Mail;
use Illuminate\Bus\Queueable; use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Mail\Mailable; use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels; use Illuminate\Queue\SerializesModels;
@@ -11,33 +10,23 @@ class ResetPassword extends Mailable
{ {
use Queueable, SerializesModels; use Queueable, SerializesModels;
/**
* Create a new message instance.
*
* @return void
*/
public $name; public $name;
public $token;
public function __construct($name, $token) public $resetUrl;
public function __construct($name, $resetUrl)
{ {
$this->name = $name; $this->name = $name;
$this->token = $token; $this->resetUrl = $resetUrl;
} }
/**
* Build the message.
*git stsa
*/
public function build() public function build()
{ {
// return $this->view('view.name');
$user['name'] = $this->name; $user['name'] = $this->name;
$user['token'] = $this->token; $user['reset_url'] = $this->resetUrl;
return $this->from("masterlelongpkb@gmail.com", "Admin ArrahnBid") return $this->from(config('mail.from.address'), config('mail.from.name'))
->subject('ArrahnBid -Tukar Katalaluan') ->subject('ArrahnBid - Tukar Katalaluan')
->view('template.reset-password', ['user' => $user]); ->view('template.reset-password', ['user' => $user]);
} }
} }
+31
View File
@@ -0,0 +1,31 @@
<?php
namespace App\Mail;
use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
class VerifyEmail extends Mailable
{
use Queueable, SerializesModels;
public $name;
public $verifyUrl;
public function __construct($name, $verifyUrl)
{
$this->name = $name;
$this->verifyUrl = $verifyUrl;
}
public function build()
{
$user['name'] = $this->name;
$user['verify_url'] = $this->verifyUrl;
return $this->from(config('mail.from.address'), config('mail.from.name'))
->subject('ArrahnBid - Pengesahan Emel')
->view('template.verify-email', ['user' => $user]);
}
}
Executable → Regular
+1 -1
View File
@@ -3,7 +3,6 @@
namespace App\Mail; namespace App\Mail;
use Illuminate\Bus\Queueable; use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Mail\Mailable; use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels; use Illuminate\Queue\SerializesModels;
@@ -12,6 +11,7 @@ class notislelong extends Mailable
use Queueable, SerializesModels; use Queueable, SerializesModels;
public $mailData; public $mailData;
/** /**
* Create a new message instance. * Create a new message instance.
* *
Executable → Regular
+1
View File
@@ -8,6 +8,7 @@ use Illuminate\Database\Eloquent\Model;
class Bulan extends Model class Bulan extends Model
{ {
use HasFactory; use HasFactory;
protected $table = 'bulan'; protected $table = 'bulan';
protected $fillable = [ protected $fillable = [
Executable → Regular
+1 -2
View File
@@ -12,7 +12,6 @@ class Cart extends Model
protected $table = 'carts'; protected $table = 'carts';
protected $fillable = [ protected $fillable = [
'hargabida' 'hargabida',
]; ];
} }
Executable → Regular
+1 -1
View File
@@ -29,7 +29,7 @@ class Cawangan extends Model
'pkb_jmc', 'pkb_jmc',
'para2', 'para2',
'para3', 'para3',
'tagujrah' 'tagujrah',
]; ];
public function simulasi() public function simulasi()
Executable → Regular
+3 -1
View File
@@ -8,6 +8,7 @@ use Illuminate\Database\Eloquent\Model;
class CawanganKpi extends Model class CawanganKpi extends Model
{ {
use HasFactory; use HasFactory;
protected $table = 'cawangan_kpi'; protected $table = 'cawangan_kpi';
protected $fillable = [ protected $fillable = [
@@ -20,6 +21,7 @@ class CawanganKpi extends Model
{ {
return $this->belongsTo(Cawangan::class, 'caw_id', 'id'); return $this->belongsTo(Cawangan::class, 'caw_id', 'id');
} }
public function dataKpi() public function dataKpi()
{ {
return $this->hasMany(DataKpi::class, 'namastaff', 'namastaff'); return $this->hasMany(DataKpi::class, 'namastaff', 'namastaff');
@@ -33,5 +35,5 @@ class CawanganKpi extends Model
// public function notis() // public function notis()
// { // {
// return $this->belongsTo(Notis::class, 'notis_id', 'id'); // return $this->belongsTo(Notis::class, 'notis_id', 'id');
//} // }
} }
Executable → Regular
+1 -1
View File
@@ -21,7 +21,7 @@ class CawanganLelong extends Model
'import_data_sts', 'import_data_sts',
'export_data_stsdate', 'export_data_stsdate',
'import_data_stsdate', 'import_data_stsdate',
'lokasi' 'lokasi',
]; ];
public function lelongBid() public function lelongBid()
Executable → Regular
+1 -3
View File
@@ -16,7 +16,7 @@ class CawanganNotis extends Model
'notis_id', 'notis_id',
'caw_id', 'caw_id',
'fasa', 'fasa',
'status' 'status',
]; ];
// public function lelongBid() // public function lelongBid()
@@ -34,5 +34,3 @@ class CawanganNotis extends Model
return $this->belongsTo(Notis::class, 'notis_id', 'id'); return $this->belongsTo(Notis::class, 'notis_id', 'id');
} }
} }
Executable → Regular
+2 -3
View File
@@ -17,7 +17,7 @@ class CawanganSimulasi extends Model
'import_data_sts', 'import_data_sts',
'export_data_stsdate', 'export_data_stsdate',
'import_data_stsdate', 'import_data_stsdate',
'lokasi' 'lokasi',
]; ];
// function below to delete // function below to delete
@@ -33,7 +33,6 @@ class CawanganSimulasi extends Model
public function simulasiBid_id() public function simulasiBid_id()
{ {
return SimulasiBid::where('simulasi_id',$this->simulasi_id)->where('caw_id',$this->caw_id)->get(); return SimulasiBid::where('simulasi_id', $this->simulasi_id)->where('caw_id', $this->caw_id)->get();
} }
} }

Some files were not shown because too many files have changed in this diff Show More