Compare commits

..

216 Commits
dev ... live

Author SHA1 Message Date
Ubuntu
b81c70fd4e MERGE_LIVE_BUG_FIXES 2026-07-21 12:44:59 +05:30
Ubuntu
58cc95d7d0 MERGE_UAT_BUG_FIXES 2026-07-21 12:21:58 +05:30
Ubuntu
a8a6a6943c MERGE_TEST_BUG_FIXES 2026-07-21 12:21:52 +05:30
Ubuntu
571f8fcc36 MERGE_LIVE_BUG_FIXES 2026-07-20 18:57:10 +05:30
Ubuntu
1c5a14475f MERGE_UAT_BUG_FIXES 2026-07-20 17:16:42 +05:30
Ubuntu
7827ce17ed MERGE_TEST_BUG_FIXES 2026-07-20 17:16:36 +05:30
Ubuntu
297c1da9ca MERGE_LIVE_BUG_FIXES 2026-07-15 15:34:19 +05:30
Ubuntu
74a7626973 MERGE_UAT_BUG_FIXES 2026-07-15 12:37:04 +05:30
Ubuntu
10fc5c8e26 MERGE_TEST_BUG_FIXES 2026-07-15 12:36:57 +05:30
Ubuntu
3881263b30 MERGE_UAT_BUG_FIXES 2026-07-15 11:33:37 +05:30
Ubuntu
2b02e66225 MERGE_TEST_BUG_FIXES 2026-07-15 11:33:31 +05:30
Ubuntu
a9c2ee4d39 MERGE_UAT_BUG_FIXES 2026-07-15 11:18:47 +05:30
Ubuntu
48af9788a6 MERGE_TEST_BUG_FIXES 2026-07-15 11:18:41 +05:30
Ubuntu
c5fcb67949 MERGE_LIVE_BUG_FIXES 2026-07-03 11:35:45 +05:30
Ubuntu
2c0dabf150 MERGE_UAT_BUG_FIXES 2026-07-03 11:35:39 +05:30
Ubuntu
17e56f4e83 MERGE_TEST_BUG_FIXES 2026-07-03 11:35:33 +05:30
Ubuntu
8cbd6002f3 MERGE_LIVE_BUG_FIXES 2026-07-02 15:59:09 +05:30
Ubuntu
fd0e76ba34 MERGE_UAT_BUG_FIXES 2026-07-02 15:59:02 +05:30
Ubuntu
60f27c56a9 MERGE_TEST_BUG_FIXES 2026-07-02 15:58:54 +05:30
Ubuntu
5b95279b64 MERGE_LIVE_BUG_FIXES 2026-07-02 14:42:23 +05:30
Ubuntu
dd15651966 MERGE_UAT_BUG_FIXES 2026-07-02 14:42:16 +05:30
Ubuntu
af010ef913 MERGE_TEST_BUG_FIXES 2026-07-02 14:42:09 +05:30
Ubuntu
27490efb9d MERGE_LIVE_BUG_FIXES 2026-07-02 12:57:50 +05:30
Ubuntu
21815f75d0 MERGE_UAT_BUG_FIXES 2026-07-02 12:57:43 +05:30
Ubuntu
4ebd27090a MERGE_TEST_BUG_FIXES 2026-07-02 12:57:37 +05:30
Ubuntu
a5ef6e21cf MERGE_LIVE_BUG_FIXES 2026-07-02 09:18:22 +05:30
Ubuntu
ebeff19d75 MERGE_UAT_BUG_FIXES 2026-07-02 09:18:16 +05:30
Ubuntu
5b3f39ccb7 MERGE_TEST_BUG_FIXES 2026-07-02 09:18:09 +05:30
Ubuntu
2a0d26a4ab MERGE_LIVE_BUG_FIXES 2026-07-01 18:18:05 +05:30
Ubuntu
415bf08983 MERGE_UAT_BUG_FIXES 2026-07-01 18:17:57 +05:30
Ubuntu
af89c9e0d4 MERGE_TEST_BUG_FIXES 2026-07-01 18:17:50 +05:30
Ubuntu
08211c2c33 MERGE_LIVE_BUG_FIXES 2026-06-30 17:51:50 +05:30
Ubuntu
d44edd14fe MERGE_UAT_BUG_FIXES 2026-06-30 17:51:43 +05:30
Ubuntu
8c1c99b7cf MERGE_TEST_BUG_FIXES 2026-06-30 17:51:36 +05:30
Ubuntu
9b816e6ffe MERGE_LIVE_BUG_FIXES 2026-06-30 14:06:50 +05:30
Ubuntu
78eec85f4d MERGE_UAT_BUG_FIXES 2026-06-30 14:06:44 +05:30
Ubuntu
1d8b0faedb MERGE_TEST_BUG_FIXES 2026-06-30 14:06:38 +05:30
Ubuntu
f3e6878bd0 MERGE_LIVE_BUG_FIXES 2026-06-30 11:06:22 +05:30
Ubuntu
1ebcb299e3 MERGE_UAT_BUG_FIXES 2026-06-30 11:06:16 +05:30
Ubuntu
debefacdec MERGE_TEST_BUG_FIXES 2026-06-30 11:06:09 +05:30
Ubuntu
d51be53bf1 MERGE_LIVE_BUG_FIXES 2026-06-26 11:35:17 +05:30
Ubuntu
5972ca802d MERGE_UAT_BUG_FIXES 2026-06-26 11:35:11 +05:30
Ubuntu
e12ddfa326 MERGE_TEST_BUG_FIXES 2026-06-26 11:35:04 +05:30
Ubuntu
1143f6c1a0 MERGE_LIVE_MAIL-CR 2026-06-24 12:41:51 +05:30
Ubuntu
c8b32c8b2f MERGE_UAT_MAIL-CR 2026-06-24 12:41:44 +05:30
Ubuntu
6708ba2593 MERGE_TEST_MAIL-CR 2026-06-24 12:41:37 +05:30
Ubuntu
9f4f35e3d2 MERGE_LIVE_RATE_LIMIT_FIX 2026-06-10 12:55:53 +05:30
Ubuntu
7d382a1eb2 MERGE_UAT_RATE_LIMIT_FIX 2026-06-10 12:55:39 +05:30
Ubuntu
940d568ead MERGE_TEST_RATE_LIMIT_FIX 2026-06-10 12:55:23 +05:30
Ubuntu
7c9880cd0a MERGE_LIVE_DATE_FORMAT 2026-05-27 12:29:45 +05:30
Ubuntu
7c18705e75 MERGE_UAT_DATE_FORMAT 2026-05-27 12:29:39 +05:30
Ubuntu
bfb1406043 MERGE_TEST_DATE_FORMAT 2026-05-27 12:29:32 +05:30
Ubuntu
694ad36865 MERGE_LIVE_SESSION_ISSUE 2026-05-22 15:05:51 +05:30
Ubuntu
296d10142f MERGE_UAT_SESSION_ISSUE 2026-05-22 15:05:44 +05:30
Ubuntu
65e5f3db24 MERGE_TEST_SESSION_ISSUE 2026-05-22 15:05:38 +05:30
Ubuntu
3bea33033a MERGE_LIVE_FIXES 2026-05-16 10:22:31 +05:30
Ubuntu
8881496db5 MERGE_UAT_FIXES 2026-05-16 10:22:24 +05:30
Ubuntu
4abaa59f5b MERGE_TEST_FIXES 2026-05-16 10:22:17 +05:30
Ubuntu
e0e298c107 MERGE_LIVE_TOEKN_ISSUE2 2026-05-15 11:49:13 +05:30
Ubuntu
3552f6def4 MERGE_UAT_TOEKN_ISSUE2 2026-05-15 11:49:06 +05:30
Ubuntu
e4e5c812e9 MERGE_TEST_TOEKN_ISSUE2 2026-05-15 11:48:58 +05:30
Ubuntu
50f758c4f0 MERGE_LIVE_TOEKN_ISSUE 2026-05-15 11:34:45 +05:30
Ubuntu
92d1b495ff MERGE_UAT_TOEKN_ISSUE 2026-05-15 11:34:38 +05:30
Ubuntu
ca24e29817 MERGE_TEST_TOEKN_ISSUE 2026-05-15 11:34:30 +05:30
Ubuntu
0a14d12a17 MERGE_LIVE_SAML 2026-05-12 18:30:33 +05:30
Ubuntu
049ddc7867 MERGE_UAT_SAML 2026-05-12 18:30:25 +05:30
Ubuntu
57837dd38b MERGE_TEST_SAML 2026-05-12 18:30:16 +05:30
Ubuntu
a7268b1274 MERGE_LIVE_LIVE_ISSUES 2026-05-08 17:29:43 +05:30
Ubuntu
0b7ad7ce15 MERGE_UAT_LIVE_ISSUES 2026-05-08 17:29:36 +05:30
Ubuntu
ecf4b60e21 MERGE_TEST_LIVE_ISSUES 2026-05-08 17:29:29 +05:30
Ubuntu
ea42906717 MERGE_LIVE_MINOR_AUTH_ISSUES 2026-04-24 09:58:19 +05:30
Ubuntu
15683de668 MERGE_UAT_MINOR_AUTH_ISSUES 2026-04-24 09:58:12 +05:30
Ubuntu
ce109c9792 MERGE_TEST_MINOR_AUTH_ISSUES 2026-04-24 09:58:05 +05:30
Ubuntu
7607c87387 MERGE_LIVE_SAML 2026-04-21 15:36:04 +05:30
Ubuntu
2c341e9311 MERGE_UAT_SAML 2026-04-21 15:35:56 +05:30
Ubuntu
111f35d1af MERGE_TEST_SAML 2026-04-21 15:35:49 +05:30
Ubuntu
0f1d77c009 MERGE_LIVE_HR_LOGIN 2026-04-20 17:46:16 +05:30
Ubuntu
13f4129b7c MERGE_UAT_HR_LOGIN 2026-04-20 17:46:09 +05:30
Ubuntu
cab52deccc MERGE_TEST_HR_LOGIN 2026-04-20 17:46:02 +05:30
Ubuntu
62e7c54763 MERGE_LIVE_HR LOGIN ISSUE 2026-04-18 17:02:09 +05:30
Ubuntu
d6e5fa3832 MERGE_UAT_HR LOGIN ISSUE 2026-04-18 17:02:02 +05:30
Ubuntu
050e1e9714 MERGE_TEST_HR LOGIN ISSUE 2026-04-18 17:01:55 +05:30
Ubuntu
c494d909ec MERGE_LIVE_OPD&MINOR_ISSUES 2026-04-16 09:53:47 +05:30
Ubuntu
3eccfaa678 MERGE_UAT_OPD&MINOR_ISSUES 2026-04-16 09:53:39 +05:30
Ubuntu
2b3969399c MERGE_TEST_OPD&MINOR_ISSUES 2026-04-16 09:53:32 +05:30
Ubuntu
6574e603f4 MERGE_LIVE_OPD_TPA&LIVE_ISSUES 2026-04-09 19:02:09 +05:30
Ubuntu
15a57136a4 MERGE_UAT_OPD_TPA&LIVE_ISSUES 2026-04-09 19:02:01 +05:30
Ubuntu
45743d57e5 MERGE_TEST_OPD_TPA&LIVE_ISSUES 2026-04-09 19:01:53 +05:30
Ubuntu
530043c7bd MERGE_LIVE_OPD 2026-04-09 11:49:14 +05:30
Ubuntu
1e779e4a74 MERGE_UAT_OPD 2026-04-09 11:49:08 +05:30
Ubuntu
cb5d871d0e MERGE_TEST_OPD 2026-04-09 11:49:00 +05:30
Ubuntu
329e9ca991 MERGE_LIVE_SAML 2026-04-07 09:54:58 +05:30
Ubuntu
5dc8844c8e MERGE_UAT_SAML 2026-04-07 09:54:51 +05:30
Ubuntu
87b39097f0 MERGE_TEST_SAML 2026-04-07 09:54:45 +05:30
Ubuntu
0b55c1473f MERGE_LIVE_FEAT_AUTH_SAML 2026-04-03 15:22:19 +05:30
Ubuntu
bb90a2642b MERGE_UAT_FEAT_AUTH_SAML 2026-04-03 15:22:12 +05:30
Ubuntu
ee9eeb95c2 MERGE_TEST_FEAT_AUTH_SAML 2026-04-03 15:22:05 +05:30
Ubuntu
0769ecba33 MERGE_LIVE_EMPCODE_DUP_CHECK 2026-03-27 17:45:17 +05:30
Ubuntu
0d3f7d7e77 MERGE_UAT_EMPCODE_DUP_CHECK 2026-03-27 17:45:10 +05:30
Ubuntu
054fe57afe MERGE_TEST_EMPCODE_DUP_CHECK 2026-03-27 17:45:03 +05:30
Ubuntu
6cf8097590 MERGE_LIVE_FORM_VALIDATION&MEDIBUDDY&LIVE_ISSUES 2026-03-27 14:31:20 +05:30
Ubuntu
8baaabb9e6 MERGE_UAT_FORM_VALIDATION&MEDIBUDDY&LIVE_ISSUES 2026-03-27 14:31:14 +05:30
Ubuntu
e1272226b7 MERGE_TEST_FORM_VALIDATION&MEDIBUDDY&LIVE_ISSUES 2026-03-27 14:31:08 +05:30
Ubuntu
5433b49347 MERGE_LIVE_ENROLISSUE 2026-03-25 13:09:10 +05:30
Ubuntu
1b34fc19bc MERGE_UAT_ENROLISSUE 2026-03-25 13:09:04 +05:30
Ubuntu
01652cd7d8 MERGE_TEST_ENROLISSUE 2026-03-25 13:08:58 +05:30
Ubuntu
5913b65864 MERGE_LIVE_LIVE_ISSUES 2026-03-20 11:46:45 +05:30
Ubuntu
7600453df6 MERGE_UAT_LIVE_ISSUES 2026-03-20 11:46:39 +05:30
Ubuntu
b6ecb1a565 MERGE_TEST_LIVE_ISSUES 2026-03-20 11:46:33 +05:30
Ubuntu
9b2599e42d MERGE_LIVE_LIVE_ISSUES2 2026-03-19 10:02:28 +05:30
Ubuntu
ffbe751089 MERGE_UAT_LIVE_ISSUES2 2026-03-19 10:02:22 +05:30
Ubuntu
684bddd93d MERGE_TEST_LIVE_ISSUES2 2026-03-19 10:02:15 +05:30
Ubuntu
c4feb6d8e3 MERGE_LIVE_LIVE_ISSUES 2026-03-19 09:55:55 +05:30
Ubuntu
276fd10f20 MERGE_UAT_LIVE_ISSUES 2026-03-19 09:55:48 +05:30
Ubuntu
9bed8731ec MERGE_TEST_LIVE_ISSUES 2026-03-19 09:55:43 +05:30
Ubuntu
a1cfc45f15 MERGE_LIVE_VALIDATION 2026-03-17 12:28:00 +05:30
Ubuntu
9e1f8091ca MERGE_UAT_VALIDATION 2026-03-17 12:27:53 +05:30
Ubuntu
5a6f3421f8 MERGE_TEST_VALIDATION 2026-03-17 12:27:46 +05:30
Ubuntu
f188594fa2 MERGE_LIVE_COMMIT_RELESE_MSG 2026-03-16 14:05:40 +05:30
Ubuntu
bfc7d94ead MERGE_UAT_COMMIT_RELESE_MSG 2026-03-16 13:24:57 +05:30
Ubuntu
59aeb3cd4c MERGE_TEST_COMMIT_RELESE_MSG 2026-03-16 13:24:50 +05:30
Ubuntu
8c49be7f9a MERGE_LIVE_HR_BRANCH_TOKEN&MINOR_ISSUES 2026-02-26 17:38:39 +05:30
Ubuntu
6e7f253dc1 MERGE_UAT_HR_BRANCH_TOKEN&MINOR_ISSUES 2026-02-26 17:38:33 +05:30
Ubuntu
afa4bc99b8 MERGE_TEST_HR_BRANCH_TOKEN&MINOR_ISSUES 2026-02-26 17:38:27 +05:30
Ubuntu
9a3e3fbfb6 MERGE_LIVE_API_RATE_LIMIT_&OT_ISSUES 2026-02-23 18:59:47 +05:30
Ubuntu
e7e768b193 MERGE_UAT_API_RATE_LIMIT_&OT_ISSUES 2026-02-23 18:59:40 +05:30
Ubuntu
e2662624e7 MERGE_TEST_API_RATE_LIMIT_&OT_ISSUES 2026-02-23 18:59:34 +05:30
Ubuntu
0c39deb2e1 MERGE_UAT_429_ISSUE_CHECK 2026-02-11 12:35:23 +05:30
Ubuntu
fe72e36d0e MERGE_TEST_429_ISSUE_CHECK 2026-02-11 12:35:17 +05:30
Ubuntu
60a62bb24e MERGE_UAT_SECURITY&MINIOR_ISSUES 2026-02-11 11:32:08 +05:30
Ubuntu
3681a22f9e MERGE_TEST_SECURITY&MINIOR_ISSUES 2026-02-11 11:32:01 +05:30
Ubuntu
900a1bb0c7 MERGE_UAT_SEC_RATE_LIMIT_OT_MINOR_ISSUES 2026-02-09 14:27:15 +05:30
Ubuntu
0795b1527c MERGE_TEST_SEC_RATE_LIMIT_OT_MINOR_ISSUES 2026-02-09 14:27:09 +05:30
Ubuntu
b25db36699 MERGE_UAT_HR_CHANGES 2026-02-05 09:22:11 +05:30
Ubuntu
ce610218e9 MERGE_TEST_HR_CHANGES 2026-02-05 09:22:06 +05:30
Ubuntu
02e8b37625 MERGE_UAT_VAPT&HR_CHANGES 2026-01-28 10:05:47 +05:30
Ubuntu
fb992a50eb MERGE_TEST_VAPT&HR_CHANGES 2026-01-28 10:05:41 +05:30
Ubuntu
fa8b38c4f4 MERGE_UAT_SECURITY_MPIN 2026-01-13 11:13:41 +05:30
Ubuntu
f338613264 MERGE_TEST_SECURITY_MPIN 2026-01-13 11:13:35 +05:30
Ubuntu
2b73fbaa3c MERGE_LIVE_ENV_CHECK 2026-01-02 14:11:13 +05:30
Ubuntu
658615a322 MERGE_UAT_ENV_CHECK 2026-01-02 14:11:08 +05:30
Ubuntu
c3408b6307 MERGE_TEST_ENV_CHECK 2026-01-02 14:11:01 +05:30
Ubuntu
c473c8572b MERGE_LIVE_HR_REPORTED_ISSUES 2025-12-30 14:30:24 +05:30
Ubuntu
76b6221ca2 MERGE_UAT_HR_REPORTED_ISSUES 2025-12-30 14:30:18 +05:30
Ubuntu
8bc77a4fce MERGE_TEST_HR_REPORTED_ISSUES 2025-12-30 14:30:12 +05:30
Ubuntu
b45b639af4 MERGE_LIVE_BATCH_RELEASE_WITH_POST 2025-12-24 22:56:08 +05:30
Ubuntu
2a6da8c70e MERGE_UAT_BATCH_RELEASE_WITH_POST 2025-12-24 22:56:01 +05:30
Ubuntu
649bf560c8 MERGE_TEST_BATCH_RELEASE_WITH_POST 2025-12-24 22:55:55 +05:30
Ubuntu
1b410f7c59 MERGE_LIVE_RETAIL&OT_UI_CHNAGES_OF_FE 2025-12-20 09:39:05 +05:30
Ubuntu
efa1832184 MERGE_UAT_RETAIL&OT_UI_CHNAGES_OF_FE 2025-12-20 09:38:58 +05:30
Ubuntu
cb4aa5592c MERGE_TEST_RETAIL&OT_UI_CHNAGES_OF_FE 2025-12-20 09:38:52 +05:30
Ubuntu
ebca238487 MERGE_LIVE_LOGIN_API&MINOR 2025-12-12 17:34:39 +05:30
Ubuntu
79bdb310e3 MERGE_UAT_LOGIN_API&MINOR 2025-12-12 17:34:33 +05:30
Ubuntu
dfa0df5388 MERGE_TEST_LOGIN_API&MINOR 2025-12-12 17:34:27 +05:30
Ubuntu
7da57e08d9 MERGE_LIVE_MAIL_ISSUE 2025-11-17 17:12:22 +05:30
Ubuntu
f8422c7178 MERGE_UAT_MAIL_ISSUE 2025-11-17 17:12:16 +05:30
Ubuntu
18424b8cff MERGE_TEST_MAIL_ISSUE 2025-11-17 17:12:10 +05:30
Ubuntu
8f50c64d00 MERGE_LIVE_ISSUES 2025-11-13 18:26:47 +05:30
Ubuntu
86d7a5e77c MERGE_UAT_ISSUES 2025-11-13 18:26:41 +05:30
Ubuntu
25f86c7bb1 MERGE_TEST_ISSUES 2025-11-13 18:26:34 +05:30
Ubuntu
c70312a545 MERGE_LIVE_AUTO_MAIL_HEADER&FOOTER 2025-10-11 18:29:34 +05:30
Ubuntu
03763fc23a MERGE_UAT_AUTO_MAIL_HEADER&FOOTER 2025-10-11 18:29:27 +05:30
Ubuntu
d460221f2f MERGE_TEST_AUTO_MAIL_HEADER&FOOTER 2025-10-11 18:29:21 +05:30
Ubuntu
9216b857e1 MERGE_LIVE_AUTO_MAIL_TEMPLATES 2025-09-29 10:00:24 +05:30
Ubuntu
71c12b1836 MERGE_UAT_AUTO_MAIL_TEMPLATES 2025-09-29 10:00:17 +05:30
Ubuntu
6f35703777 MERGE_TEST_AUTO_MAIL_TEMPLATES 2025-09-29 10:00:09 +05:30
Ubuntu
4d6c081ad8 MERGE_LIVE_ISSUES 2025-08-26 18:57:57 +05:30
Ubuntu
c9563d2b1b MERGE_UAT_ISSUES 2025-08-26 18:57:50 +05:30
Ubuntu
34faa18b12 MERGE_TEST_ISSUES 2025-08-26 18:57:42 +05:30
Ubuntu
de5dde0234 MERGE_LIVE_MINOR_ISSUES 2025-08-16 23:03:00 +05:30
Ubuntu
d237d79863 MERGE_UAT_MINOR_ISSUES 2025-08-16 23:02:53 +05:30
Ubuntu
380c7e1af3 MERGE_TEST_MINOR_ISSUES 2025-08-16 23:02:46 +05:30
Ubuntu
2d64fd92a4 MERGE_LIVE_MINOR_ISSUES&CRS 2025-08-08 18:13:39 +05:30
Ubuntu
aca3acc24c MERGE_UAT_MINOR_ISSUES&CRS 2025-08-08 18:13:32 +05:30
Ubuntu
357fb69fa3 MERGE_TEST_MINOR_ISSUES&CRS 2025-08-08 18:13:22 +05:30
Ubuntu
d3a679576c MERGE_LIVE_OTP_ISSUE 2025-07-23 14:58:11 +05:30
Ubuntu
f547989b55 MERGE_UAT_OTP_ISSUE 2025-07-23 14:58:02 +05:30
Ubuntu
259e82f74b MERGE_TEST_OTP_ISSUE 2025-07-23 14:57:54 +05:30
Ubuntu
694663389d MERGE_LIVE_AUTHLOGS 2025-07-21 15:29:06 +05:30
Ubuntu
386f44943e MERGE_UAT_AUTHLOGS 2025-07-21 15:28:57 +05:30
Ubuntu
ff189e98bb MERGE_TEST_AUTHLOGS 2025-07-21 15:28:49 +05:30
Ubuntu
0aeed144fc MERGE_LIVE_MPIN&HR_ADD 2025-07-17 10:38:26 +05:30
Ubuntu
3071002c59 MERGE_UAT_MPIN&HR_ADD 2025-07-17 10:38:19 +05:30
Ubuntu
d8bdc78148 MERGE_TEST_MPIN&HR_ADD 2025-07-17 10:38:12 +05:30
Ubuntu
0eed656a70 MERGE_LIVE_MULTI_TAB_ISSUE 2025-06-18 11:27:40 +05:30
Ubuntu
a99c9d8f74 MERGE_UAT_MULTI_TAB_ISSUE 2025-06-18 11:27:33 +05:30
Ubuntu
3caa5de0a0 MERGE_TEST_MULTI_TAB_ISSUE 2025-06-18 11:27:27 +05:30
Ubuntu
255ccd7dfe MERGE_LIVE_LIVE_CRITICAL_ISSUES 2025-05-22 17:56:43 +05:30
Ubuntu
f0d33eed8c MERGE_UAT_LIVE_CRITICAL_ISSUES 2025-05-22 17:56:36 +05:30
Ubuntu
039dd3b47f MERGE_TEST_LIVE_CRITICAL_ISSUES 2025-05-22 17:56:29 +05:30
Ubuntu
2ac673e187 MERGE_LIVE_LIVE_ISSUES&DISPLAY_PRE_FLAG 2025-05-14 18:03:54 +05:30
Ubuntu
cdadd1ebf3 MERGE_UAT_LIVE_ISSUES&DISPLAY_PRE_FLAG 2025-05-14 18:03:48 +05:30
Ubuntu
da4297afda MERGE_TEST_LIVE_ISSUES&DISPLAY_PRE_FLAG 2025-05-14 18:03:41 +05:30
Ubuntu
ad8f65110e MERGE_LIVE_DISPLAY_PRE_SUMMARY_ENABLED 2025-05-07 20:17:11 +05:30
Ubuntu
f4236ee51c MERGE_UAT_DISPLAY_PRE_SUMMARY_ENABLED 2025-05-07 20:17:04 +05:30
Ubuntu
91709c0657 MERGE_TEST_DISPLAY_PRE_SUMMARY_ENABLED 2025-05-07 20:16:56 +05:30
Ubuntu
6583985722 MERGE_LIVE_ISSUES 2025-05-02 09:24:46 +05:30
Ubuntu
c34d6167d0 MERGE_UAT_ISSUES 2025-05-02 09:24:39 +05:30
Ubuntu
77beddccec MERGE_TEST_ISSUES 2025-05-02 09:24:33 +05:30
Ubuntu
d86cc0ce23 MERGE_LIVE_LIVE_ISSUES 2025-04-22 18:17:56 +05:30
Ubuntu
ab337cf670 MERGE_UAT_LIVE_ISSUES 2025-04-22 18:17:49 +05:30
Ubuntu
703d21d605 MERGE_TEST_LIVE_ISSUES 2025-04-22 18:17:42 +05:30
velz
daae740799 Merge branch 'uat' into live 2025-03-24 10:54:14 +05:30
velz
e30491891c Merge branch 'test' into uat 2025-03-24 10:52:50 +05:30
velz
7be290fc02 Merge branch 'dev' into test 2025-03-24 10:51:24 +05:30
Venba
a19731f82f MERGE_LIVE_SI_MAPPING_ISSUE 2025-03-04 07:05:24 +00:00
Venba
d2269334a0 MERGE_UAT_SI_MAPPING_ISSUE 2025-03-04 07:04:56 +00:00
Venba
e5a620158c MERGE_TEST_SI_MAPPING_ISSUE 2025-03-04 07:04:27 +00:00
Venba
9231391b7c MERGE_UAT_MINOR_ISSUES_FIXED 2025-03-04 05:54:08 +00:00
Venba
3d29b0753b MERGE_TEST_MINOR_ISSUES_FIXED 2025-03-04 05:53:36 +00:00
Venba
4811c13f09 MERGE_LIVE_POLICY_LIST_ISSUE&EMP_HISTORY 2025-03-01 10:39:23 +00:00
Venba
5a2a5feabc MERGE_UAT_POLICY_LIST_ISSUE&EMP_HISTORY 2025-03-01 10:38:50 +00:00
Venba
e03c438172 MERGE_TEST_POLICY_LIST_ISSUE&EMP_HISTORY 2025-03-01 10:38:05 +00:00
Venba
12b8409200 MERGE_LIVE_FIRST_LIVE_RELEASE 2025-02-28 05:14:49 +00:00
Venba
730b0a6075 MERGE_UAT_FIRST_LIVE_RELEASE 2025-02-28 05:13:58 +00:00
Venba
63a077e3e5 MERGE_TEST_FIRST_LIVE_RELEASE 2025-02-28 05:13:13 +00:00
4 changed files with 33 additions and 531 deletions

View File

@ -1,189 +0,0 @@
<?php
/**
* Manual test for EmployeePolicyModel global search.
*
* Usage:
* php spark test:employee-global-search
* php spark test:employee-global-search --search Self
* php spark test:employee-global-search --client_id cede2d63a7c04ebd4cb55a2228c7141a --client_policy_id 5769 --client_branch_id 444 --search john
*/
namespace App\Commands;
use App\Models\EmployeePolicyModel;
use CodeIgniter\CLI\BaseCommand;
use CodeIgniter\CLI\CLI;
use Config\Database;
class TestEmployeeGlobalSearch extends BaseCommand
{
protected $group = 'Testing';
protected $name = 'test:employee-global-search';
protected $description = 'Test getEmployeePolicy global search (emp_code, name, mobile, email, tpa_id, dob, relationship, status)';
protected $usage = 'test:employee-global-search [--client_id ...] [--client_policy_id ...] [--client_branch_id ...] [--search ...]';
protected $options = [
'--client_id' => 'Client id (md5 hash or numeric)',
'--client_policy_id' => 'Client policy id',
'--client_branch_id' => 'Client branch id',
'--search' => 'Global search term',
'--limit' => 'Max rows to print (default 10)',
];
public function run(array $params)
{
$clientId = $this->optionValue($params, 'client_id', 'cede2d63a7c04ebd4cb55a2228c7141a');
$clientPolicyId = $this->optionValue($params, 'client_policy_id', '5769');
$clientBranchId = $this->optionValue($params, 'client_branch_id', '444');
$search = $this->optionValue($params, 'search', '');
$limit = (int) $this->optionValue($params, 'limit', '10');
$model = new EmployeePolicyModel();
$withoutSearch = $model->getEmployeePolicy(
client_id: $clientId,
policy_id: $clientPolicyId,
status: 0,
branch_id: $clientBranchId,
status_type: 'hr'
);
// Fallback to a real active employee_policy row when defaults have no data
if (count($withoutSearch) === 0 && !$this->hasExplicitIds($params)) {
$fixture = $this->findSampleIds();
if ($fixture === null) {
CLI::error('No active employee_policy rows found to test against.');
return;
}
$clientId = (string) $fixture['client_id'];
$clientPolicyId = (string) $fixture['client_policy_id'];
$clientBranchId = (string) $fixture['client_branch_id'];
CLI::write('Default IDs had no rows. Using sample from DB:', 'yellow');
CLI::write(" client_id : {$clientId}");
CLI::write(" client_policy_id : {$clientPolicyId}");
CLI::write(" client_branch_id : {$clientBranchId}");
CLI::newLine();
$withoutSearch = $model->getEmployeePolicy(
client_id: $clientId,
policy_id: $clientPolicyId,
status: 0,
branch_id: $clientBranchId,
status_type: 'hr'
);
}
if ($search === '' && count($withoutSearch) > 0) {
$search = (string) ($withoutSearch[0]['emp_code'] ?? $withoutSearch[0]['name'] ?? 'Self');
CLI::write("No --search given. Using sample term from first row: {$search}", 'yellow');
CLI::newLine();
}
CLI::write('Params:', 'yellow');
CLI::write(" client_id : {$clientId}");
CLI::write(" client_policy_id : {$clientPolicyId}");
CLI::write(" client_branch_id : {$clientBranchId}");
CLI::write(' search : ' . ($search !== '' ? $search : '(none)'));
CLI::newLine();
$withSearch = $model->getEmployeePolicy(
client_id: $clientId,
policy_id: $clientPolicyId,
status: 0,
branch_id: $clientBranchId,
status_type: 'hr',
search: $search
);
CLI::write('Result counts:', 'green');
CLI::write(' without search : ' . count($withoutSearch));
CLI::write(' with search : ' . count($withSearch));
CLI::newLine();
$rows = $search !== '' ? $withSearch : $withoutSearch;
$preview = array_slice($rows, 0, max(1, $limit));
CLI::write('Preview fields (emp_code | name | mobile | email | tpa_id | dob | relationship | status):', 'yellow');
foreach ($preview as $i => $row) {
CLI::write(sprintf(
'%d) %s | %s | %s | %s | %s | %s | %s | %s',
$i + 1,
$row['emp_code'] ?? '',
$row['name'] ?? '',
$row['mobile'] ?? '',
$row['email_corporate'] ?? '',
$row['tpa_id'] ?? '',
$row['formatted_dob'] ?? ($row['dob'] ?? ''),
$row['relationship'] ?? '',
$row['status'] ?? ($row['emp_status'] ?? '')
));
}
if (count($rows) > $limit) {
CLI::write('... ' . (count($rows) - $limit) . ' more row(s)');
}
if ($search !== '' && count($withSearch) > 0) {
CLI::newLine();
CLI::write('Matched sample JSON:', 'green');
CLI::write(json_encode(array_map(static function ($row) {
return [
'emp_code' => $row['emp_code'] ?? null,
'name' => $row['name'] ?? null,
'mobile' => $row['mobile'] ?? null,
'email_corporate' => $row['email_corporate'] ?? null,
'tpa_id' => $row['tpa_id'] ?? null,
'dob' => $row['dob'] ?? null,
'formatted_dob' => $row['formatted_dob'] ?? null,
'relationship' => $row['relationship'] ?? null,
'status' => $row['status'] ?? null,
'emp_status' => $row['emp_status'] ?? null,
];
}, array_slice($withSearch, 0, 3)), JSON_PRETTY_PRINT));
} elseif ($search !== '') {
CLI::write('No rows matched the search term.', 'red');
}
}
private function optionValue(array $params, string $name, string $default = ''): string
{
$value = $params[$name] ?? CLI::getOption($name);
if ($value === null || $value === false || $value === '') {
return $default;
}
return (string) $value;
}
private function hasExplicitIds(array $params): bool
{
foreach (['client_id', 'client_policy_id', 'client_branch_id'] as $key) {
$value = $params[$key] ?? CLI::getOption($key);
if ($value !== null && $value !== false && $value !== '') {
return true;
}
}
return false;
}
private function findSampleIds(): ?array
{
$db = Database::connect('default');
$row = $db->query(
"SELECT emp.client_id, ep.client_policy_id, emp.client_branch_id
FROM employee_polices ep
JOIN employees emp ON emp.id = ep.employee_id
WHERE ep.is_active = 1
AND emp.is_active = 1
ORDER BY ep.id DESC
LIMIT 1"
)->getRowArray();
return $row ?: null;
}
}

View File

@ -363,7 +363,7 @@ $routes->group("/util", ["filter" => "authMVC"], function ($routes) {
$routes->post('checkSIMapping','ClientController::checkSIMapping');
$routes->post('deleteMapping','ClientController::deleteMapping');
$routes->get('removeLevelContacts','ClientController::removeLevelContacts');
$routes->get("downloadEmployeeListExcel", "EmployeeRestController::downloadEmployeeListExcel");
});
$routes->group("policy_tranction", ["filter" => "authMVC"], function ($routes) {
@ -488,7 +488,6 @@ $routes->group("employeeRest", ['filter' => [ 'GlobalPostFileUploadGuard', 'appS
$routes->post("iAgreeForAddOn", "EmployeeRestController::iAgreeForAddOn");
$routes->get("exportDataByClientPolicyId", "EmployeeRestController::exportDataByClientPolicyId");
$routes->get("downloadEmployeeListExcel", "EmployeeRestController::downloadEmployeeListExcel");
$routes->get("getPolicyLevelEmployeeSummaryData", "EmployeeRestController::getPolicyLevelEmployeeSummaryData");
$routes->get("exportCashDepositData", "EmployeeRestController::exportCashDepositData");

View File

@ -691,139 +691,19 @@ class EmployeeRestController extends AdminController
public function getEmployeeAndDependenceByClientId()
{
try {
$cardDataParam = strtolower(trim((string) ($this->request->getGet('card_data') ?? '')));
$cardDataParam = str_replace(['-', ' '], '_', $cardDataParam);
$search = trim((string) ($this->request->getGet('search') ?? ''));
$cardFilters = ['all', 'emp_count', 'submitted', 'logged_in', 'not_logged_in', 'draft'];
$empData = $this->employeePolicyModel->getEmployeePolicy(
client_id: $this->request->getGet('client_id'),
policy_id: $this->request->getGet('client_policy_id'),
status: 0,
branch_id: $this->request->getGet('client_branch_id'),
status_type: 'hr',
search: $cardDataParam === 'all' ? '' : $search
) ?: [];
if (in_array($cardDataParam, $cardFilters, true)) {
$response = $this->prepareMemberCardDataResponse($empData, $cardDataParam);
return $this->respond([
'status' => 'success',
'code' => 200,
'data' => $response['data'],
'card_data' => $response['card_data'],
], 200);
}
$empData = $this->employeePolicyModel->getEmployeePolicy( client_id:$this->request->getGet('client_id'),policy_id: $this->request->getGet('client_policy_id'),status:0,branch_id:$this->request->getGet('client_branch_id'), status_type: 'hr');
if ($empData) {
return $this->respond(['status' => 'success', 'code' => 200, 'data' => $empData], 200);
} else {
return $this->respond(['status' => 'failed', 'code' => 404, 'data' => []], 200);
}
return $this->respond(['status' => 'failed', 'code' => 404, 'data' => []], 200);
} catch (\Exception $e) {
return $this->respond(['status' => 'failed','code' => 500,'data' => $e->getMessage()], 500);
}
}
/**
* Build Member Details response for card_data filters (Self relationship only).
*
* @return array{data: array, card_data: array}
*/
private function prepareMemberCardDataResponse(array $empData, string $cardDataParam): array
{
$cardData = $this->buildMemberCardData($empData);
if ($cardDataParam === 'all') {
return [
'data' => [],
'card_data' => $cardData,
];
}
$filteredData = array_values(array_filter($empData, function ($row) use ($cardDataParam) {
return $this->matchesMemberCardFilter($row, $cardDataParam);
}));
return [
'data' => $filteredData,
'card_data' => $cardData,
];
}
/**
* Whether a row matches the selected card filter (Self only).
*/
private function matchesMemberCardFilter(array $row, string $cardDataParam): bool
{
if (strtolower(trim((string) ($row['relationship'] ?? ''))) !== 'self') {
return false;
}
if ($cardDataParam === 'emp_count') {
return true;
}
$status = strtolower(trim((string) ($row['status'] ?? '')));
$empStatus = strtolower(trim((string) ($row['emp_status'] ?? '')));
$isSubmitted = in_array($status, ['submitted', 'enrolled'], true)
|| $empStatus === 'enrolled';
$isLoggedIn = strtolower((string) ($row['logged_in'] ?? '')) === 'yes';
return match ($cardDataParam) {
'submitted' => $isSubmitted,
'logged_in' => $isLoggedIn,
'not_logged_in' => !$isLoggedIn,
'draft' => !$isSubmitted,
default => false,
};
}
/**
* Member Details badge counts Self relationship only.
*/
private function buildMemberCardData(array $empData): array
{
$counts = [
'emp_count' => 0,
'submitted' => 0,
'logged_in' => 0,
'not_logged_in' => 0,
'draft' => 0,
];
foreach ($empData as $row) {
if (strtolower(trim((string) ($row['relationship'] ?? ''))) !== 'self') {
continue;
}
$counts['emp_count']++;
$status = strtolower(trim((string) ($row['status'] ?? '')));
$empStatus = strtolower(trim((string) ($row['emp_status'] ?? '')));
$isSubmitted = in_array($status, ['submitted', 'enrolled'], true)
|| $empStatus === 'enrolled';
if ($isSubmitted) {
$counts['submitted']++;
}
$isLoggedIn = strtolower((string) ($row['logged_in'] ?? '')) === 'yes';
if ($isLoggedIn) {
$counts['logged_in']++;
} else {
$counts['not_logged_in']++;
}
// Draft = Self who has not submitted (matches Emp Count - Submitted).
if (!$isSubmitted) {
$counts['draft']++;
}
}
return $counts;
}
public function exportDataByClientPolicyId()
@ -903,108 +783,6 @@ class EmployeeRestController extends AdminController
}
/**
* Download employee + dependent list Excel.
* Filters: client_id, branch_id, policy_id only (same as getEmployeePolicy base filters).
* Columns: Emp Code, Name, TPA ID, Relationship, Date Of Birth, Gender, Mobile, Email, Status
*/
public function downloadEmployeeListExcel()
{
try {
$clientId = $this->request->getGet('client_id');
$branchId = $this->request->getGet('branch_id');
$policyId = $this->request->getGet('policy_id');
$empData = $this->employeePolicyModel->getEmployeePolicy(
client_id: $clientId,
policy_id: $policyId,
status: 0,
branch_id: $branchId
);
if (!count($empData)) {
return $this->respond(['status' => 'failed', 'code' => 404, 'data' => [], 'message' => 'No employee data found'], 200);
}
$headers = [
'Emp Code' => 'emp_code',
'Name' => 'name',
'TPA ID' => 'tpa_id',
'Relationship' => 'relationship',
'Date Of Birth' => 'formatted_dob',
'Gender' => 'gender',
'Mobile' => 'mobile',
'Email' => 'email_corporate',
'Status' => 'status',
];
$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
$sheet->setTitle('Employee List');
$column = 'A';
foreach ($headers as $header => $dbField) {
$sheet->setCellValue($column . '1', $header);
$column++;
}
$headerRange = 'A1:I1';
$sheet->getStyle($headerRange)->getFont()->setBold(true);
$sheet->getStyle($headerRange)->getFill()
->setFillType(\PhpOffice\PhpSpreadsheet\Style\Fill::FILL_SOLID)
->getStartColor()->setRGB('BDD7EE');
$row = 2;
foreach ($empData as $employee) {
$column = 'A';
foreach ($headers as $dbField) {
$value = $employee[$dbField] ?? '';
if ($dbField === 'formatted_dob' && empty($value) && !empty($employee['dob'])) {
$value = date('d/m/Y', strtotime($employee['dob']));
}
if ($dbField === 'gender' && $value !== '') {
$genderLower = strtolower(trim((string) $value));
if ($genderLower === 'male' || $genderLower === 'm') {
$value = 'M';
} elseif ($genderLower === 'female' || $genderLower === 'f') {
$value = 'F';
}
}
$sheet->setCellValue($column . $row, $value);
$column++;
}
$row++;
}
foreach (range('A', 'I') as $col) {
$sheet->getColumnDimension($col)->setAutoSize(true);
}
$policyName = $empData[0]['policy_name'] ?? 'Employee';
$filename = preg_replace('/[^A-Za-z0-9_\-]/', '_', $policyName) . '-Employee-List.xlsx';
// Write to memory and return via CI Response so CORS after() filters still run.
// Raw header() + exit skips filters and causes CORS errors for cross-origin fetch.
$tempFile = tempnam(sys_get_temp_dir(), 'emp_list_');
$writer = new Xlsx($spreadsheet);
$writer->save($tempFile);
$excelData = file_get_contents($tempFile);
@unlink($tempFile);
return $this->response
->setStatusCode(200)
->setHeader('Content-Type', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet')
->setHeader('Content-Disposition', 'attachment;filename="' . $filename . '"')
->setHeader('Cache-Control', 'max-age=0')
->setBody($excelData);
} catch (\Exception $e) {
return $this->respond(['status' => 'failed', 'code' => 500, 'data' => $e->getMessage()], 500);
}
}
//not in use
public function getClientPolicy()
{
@ -2406,36 +2184,6 @@ class EmployeeRestController extends AdminController
// }
// }
private function hasValidClientLogo(?string $logo): bool
{
if ($logo === null || trim($logo) === '') {
return false;
}
$path = parse_url(trim($logo), PHP_URL_PATH) ?? trim($logo);
$filename = basename(rtrim($path, '/'));
return $filename !== '' && strcasecmp($filename, 'logo') !== 0;
}
private function getPreClientLogoUrl($preClientId): string
{
if (is_string($preClientId) && preg_match('/^[a-f0-9]{32}$/i', $preClientId)) {
$preClient = $this->clientModel->where('MD5(id)', $preClientId)->first();
} else {
$preClient = $this->clientModel->where('id', $preClientId)->first();
}
$logoFilename = $preClient['client_logo'] ?? '';
$logoPath = ROOTPATH . 'public/uploads/logo/' . $logoFilename;
if (!empty($logoFilename) && file_exists($logoPath)) {
return base_url() . 'public/uploads/logo/' . $logoFilename;
}
return '';
}
public function getClientDetails()
{
try {
@ -2443,48 +2191,28 @@ class EmployeeRestController extends AdminController
$pre_branch_id = $this->request->getGet('pre_branch_id');
$post_client_id = $this->request->getGet('post_client_id');
$post_branch_id = $this->request->getGet('post_branch_id');
// Both pre and post: prefer post data; fall back to pre logo if post has none
if (!empty($pre_client_id) && !empty($post_client_id)) {
$restAuthController = new RestAuthenticationController;
$queryParams = [
'client_id' => $post_client_id,
'client_branch_id' => $post_branch_id
];
$postResponse = $restAuthController->callThirdPartyGETAPI($queryParams, 'getClientDetails');
$postData = is_string($postResponse) ? json_decode($postResponse, true) : null;
if (
is_array($postData)
&& (($postData['status'] ?? '') === 'success' || (int) ($postData['code'] ?? 0) === 200)
&& !empty($postData['data']['client'])
) {
$postLogo = $postData['data']['client']['client_logo'] ?? '';
if (!$this->hasValidClientLogo($postLogo)) {
$postData['data']['client']['client_logo'] = $this->getPreClientLogoUrl($pre_client_id);
}
return $this->respond($postData, 200);
}
return $this->respond(['status' => 'failed', 'code' => 404, 'data' => []], 200);
}
if (!empty($pre_client_id)) {
if (is_string($pre_client_id) && preg_match('/^[a-f0-9]{32}$/i', $pre_client_id)) {
$client = $this->clientModel->where('MD5(id)', $pre_client_id)->first();
} else {
}else{
$client = $this->clientModel->where('id', $pre_client_id)->first();
}
}
if ($client) {
$client['client_logo'] = $this->getPreClientLogoUrl($pre_client_id);
$client['client_logo'] = base_url() . 'public/uploads/logo/' . $client['client_logo'];
$clientPolicy = $this->clientPolicyModel
->where('client_id', $client['id'] ?? null)
->where('client_branch_id', $pre_branch_id)
->findAll();
return $this->respond([
'status' => 'success',
'code' => 200,
@ -2493,34 +2221,27 @@ class EmployeeRestController extends AdminController
'client_policy' => $clientPolicy
]
], 200);
} else {
return $this->respond(['status' => 'failed', 'code' => 404, 'data' => []], 200);
}
return $this->respond(['status' => 'failed', 'code' => 404, 'data' => []], 200);
}
if (!empty($post_client_id)) {
} elseif (!empty($post_client_id)) {
$restAuthController = new RestAuthenticationController;
$queryParams = [
'client_id' => $post_client_id,
'client_branch_id' => $post_branch_id
];
$postResponse = $restAuthController->callThirdPartyGETAPI($queryParams, 'getClientDetails');
$postData = is_string($postResponse) ? json_decode($postResponse, true) : null;
return $restAuthController->callThirdPartyGETAPI($queryParams, 'getClientDetails');
if (
is_array($postData)
&& !empty($postData['data']['client'])
&& !$this->hasValidClientLogo($postData['data']['client']['client_logo'] ?? '')
) {
$postData['data']['client']['client_logo'] = '';
return $this->respond($postData, 200);
}
return $postResponse;
} else {
return $this->respond(['status' => 'failed', 'code' => 404, 'data' => []], 200);
}
return $this->respond(['status' => 'failed', 'code' => 404, 'data' => []], 200);
} catch (\Exception $e) {
return $this->respond(['status' => 'failed', 'code' => 500, 'data' => $e->getMessage()], 500);
}
}
@ -4906,21 +4627,21 @@ class EmployeeRestController extends AdminController
(
SELECT id FROM client_policy
WHERE policy_type_id = 3
AND base_policy = gmc_client_policy_id AND is_active = 1
AND base_policy = gmc_client_policy_id
LIMIT 1
) AS gmc_parent_policy_id,
(
SELECT id FROM client_policy
WHERE policy_type_id = 4
AND base_policy = gmc_client_policy_id AND is_active = 1
AND base_policy = gmc_client_policy_id
LIMIT 1
) AS gmc_topup_policy_id,
(
SELECT id FROM client_policy
WHERE policy_type_id = 72
AND base_policy = gmc_client_policy_id AND is_active = 1
AND base_policy = gmc_client_policy_id
LIMIT 1
) AS opd_topup_policy_id
")
@ -4931,7 +4652,6 @@ class EmployeeRestController extends AdminController
->where([
'employees.is_active' => 1,
'employee_polices.is_active' => 1,
'client_policy.is_active' => 1,
'client_policy.policy_type_id' => 2,
'employees.family_floater_key' => 'self',
'employees.emp_code' => $emp_code ?? null,

View File

@ -82,7 +82,7 @@ class EmployeePolicyModel extends Model
}
// ----------------------------------------------------------------------------------------------------------
public function getEmployeePolicy($client_id = 0, $policy_id = 0, $status = [], $branch_id = 0, $emp_code = "", $emp_name = "", $status_type = "", $search = "")
public function getEmployeePolicy($client_id = 0, $policy_id = 0, $status = [], $branch_id = 0, $emp_code = "", $emp_name = "", $status_type = "")
{
// dd($status);
@ -301,10 +301,6 @@ class EmployeePolicyModel extends Model
$result->like('emp.name', $emp_name);
}
if (!empty($search)) {
$this->applyEmployeeGlobalSearch($result, $search);
}
// Always check these conditions
$result->where('employee_polices.is_active', 1)
->where('emp.is_active', 1);
@ -315,30 +311,6 @@ class EmployeePolicyModel extends Model
return $res;
}
/**
* Global search across emp_code, name, mobile, email, tpa_id, dob, relationship, status.
*/
protected function applyEmployeeGlobalSearch($builder, string $search)
{
$search = trim($search);
if ($search === '') {
return $builder;
}
return $builder->groupStart()
->like('emp.emp_code', $search)
->orLike('emp.name', $search)
->orLike('emp.mobile', $search)
->orLike('emp.email_corporate', $search)
->orLike('employee_polices.tpa_id', $search)
->orLike('emp.dob', $search)
->orWhere("DATE_FORMAT(emp.dob, '%d/%m/%Y') LIKE " . $this->db->escape('%' . $search . '%'), null, false)
->orLike('emp.relationship', $search)
->orLike('employee_polices.status', $search)
->orLike('emp.emp_status', $search)
->groupEnd();
}
// public function getEmployeePolicy($client_id = 0, $policy_id = 0, $status = [], $branch_id = 0, $emp_code = "", $emp_name = "")
// {