diff --git a/Modules/Internal/Services/MemberEnrollmentService.php b/Modules/Internal/Services/MemberEnrollmentService.php index a8755249..54168c67 100755 --- a/Modules/Internal/Services/MemberEnrollmentService.php +++ b/Modules/Internal/Services/MemberEnrollmentService.php @@ -253,7 +253,7 @@ class MemberEnrollmentService "Payor ID", "Member ID", "Mapping ID", - "Link Medis Member ID", + "LinkSehat Member ID", "Corporate ID", "NIK", "Division", @@ -374,6 +374,15 @@ class MemberEnrollmentService if (empty($row['principal_id'])) { throw new ImportRowException(__('enrollment.PRINCIPAL_ID_REQUIRED'), 0, null, $row); } + if (empty($row['relationship_with_principal'])){ + throw new ImportRowException(__('enrollment.RELATIONSHIP_WITH_PRICIPAL_REQUIRED'), 0, null, $row); + } + if (!empty($row['relationship_with_principal']) && !in_array($row['relationship_with_principal'], ['H', 'W', 'D', 'S'])){ + throw new ImportRowException(__('enrollment.RELATIONSHIP_WITH_PRICIPAL_REQUIRED'), 0, null, $row); + } + if ($row['principal_id'] == $row['member_id']){ + throw new ImportRowException(__('enrollment.PRINCIPAL_ID_NOT_SAME_MEMBER_ID'), 0, null, $row); + } } // TODO RECORD BCA ONLY @@ -518,6 +527,7 @@ class MemberEnrollmentService "race" => $row['race'] ?? null, "marital_status" => $row['marital_status'] ?? null, "record_type" => $row['record_type'] ?? null, + "record_mode" => $row['record_mode'] ?? null, "principal_id" => $row['principal_id'] ?? null, "relation_with_principal" => $row['relationship_with_principal'] ?? null, "bpjs_class" => $row['bpjs_class'] ?? null, diff --git a/database/migrations/2023_05_17_151415_add_recode_mode_members_table.php b/database/migrations/2023_05_17_151415_add_recode_mode_members_table.php new file mode 100644 index 00000000..e4984918 --- /dev/null +++ b/database/migrations/2023_05_17_151415_add_recode_mode_members_table.php @@ -0,0 +1,32 @@ +string('record_mode')->after('postal_code')->nullable(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('members', function (Blueprint $table) { + $table->dropColumn('record_mode'); + }); + } +}; diff --git a/lang/en/enrollment.php b/lang/en/enrollment.php index dababf6d..a744af9f 100755 --- a/lang/en/enrollment.php +++ b/lang/en/enrollment.php @@ -43,6 +43,7 @@ return [ "PRINCIPAL_ID_NOT_REQUIRED" => "Mapping ID should only be filled for dependents", "CORPORATE_ID_REQUIRED" => "Corporate ID must be filled", "PRINCIPAL_ID_REQUIRED" => "Mapping ID must be filled", + "PRINCIPAL_ID_NOT_SAME_MEMBER_ID" => "Mapping ID cannot be filled with the same Member ID.", "BRANCH_CODE_NOT_REQUIRED" => "Dependents don't need to fill in Branch Code ", "INVALID_LANGUAGE" => "Language (field 12) is invalid", "INVALID_DATE" => "Format Date (:title) is invalid", @@ -65,5 +66,8 @@ return [ "DATE_OF_TERMINATED" => "Date of Terminated must be filled", "SEX_REQUIRED" => "Sex must be filled", "SEX_CODE_NOT_VALID" => "Sex must be filled F or M", + + "RELATIONSHIP_WITH_PRICIPAL_REQUIRED" => "Relationship must be filled", + "RELATIONSHIP_WITH_PRICIPAL_NOT_VALID" => "Relationship must be filled W, S, D or H", ]; diff --git a/public/files/Corporate Membership Import.xlsx b/public/files/Corporate Membership Import.xlsx old mode 100755 new mode 100644 index c978c9c1..70e4c1d5 Binary files a/public/files/Corporate Membership Import.xlsx and b/public/files/Corporate Membership Import.xlsx differ