lms-sync 1.0.47 → 1.0.49

Sign up to get free protection for your applications and to get access to all the features.
@@ -19,7 +19,8 @@ const {
19
19
  Subjects,
20
20
  Schedules,
21
21
  Users,
22
- Semesters
22
+ Semesters,
23
+ Employees,
23
24
 
24
25
  } = db
25
26
 
@@ -29,7 +30,7 @@ const server = {
29
30
  try {
30
31
  console.log("");
31
32
  console.log("########################################################")
32
- console.log(" Campuses Migration ")
33
+ console.log(" Campuses Migration ")
33
34
  console.log("########################################################")
34
35
  console.log("");
35
36
 
@@ -66,9 +67,9 @@ const server = {
66
67
  defaults: userDefPayload
67
68
  });
68
69
 
69
- if (createdUser){
70
- logger.info(`Created Migration User :>> ${userDefault.email}`);
71
- }
70
+ // if (createdUser){
71
+ // logger.info(`Created Migration User :>> ${userDefault.email}`);
72
+ // }
72
73
 
73
74
  const userMail = await Users.findOne({ where: { email: 'ccci_integrator@gmail.com' } });
74
75
 
@@ -199,7 +200,7 @@ const server = {
199
200
  }
200
201
  }
201
202
 
202
- // bulk create new campus records
203
+ // bulk create new campus Records
203
204
  if (newCampus.length > 0) {
204
205
  await Campuses.bulkCreate(newCampus)
205
206
  createdCounter += newCampus.length
@@ -213,9 +214,9 @@ const server = {
213
214
  console.log("########################################################")
214
215
  console.log("")
215
216
  logger.info('Campus Data Migration Completed');
216
- logger.info(`Total successful Campus records created: ${createdCounter}/${createdCounter}`);
217
- logger.info(`Total Campus Error Records: ${errorCounter}/${errorCounter}`);
218
- logger.info(`Total records: ${createdCounter + errorCounter}`);
217
+ logger.info(`Total Successful Campus Records Created: ${createdCounter}/${createdCounter}`);
218
+ logger.info(`Total Existing Campus Records: ${errorCounter}/${errorCounter}`);
219
+ logger.info(`Total Records: ${createdCounter + errorCounter}`);
219
220
  console.log("")
220
221
  console.log("########################################################")
221
222
  console.log("")
@@ -342,7 +343,7 @@ const server = {
342
343
  }
343
344
  }
344
345
 
345
- // bulk create new campus records
346
+ // bulk create new campus Records
346
347
  if (newColleges.length > 0) {
347
348
  await Colleges.bulkCreate(newColleges)
348
349
  createdCounter += newColleges.length
@@ -358,9 +359,9 @@ const server = {
358
359
  console.log("########################################################")
359
360
  console.log("")
360
361
  logger.info('College Data Migration Completed');
361
- logger.info(`Total successful College records created: ${createdCounter}/${createdCounter}`);
362
- logger.info(`Total College Error Records: ${errorCounter}/${errorCounter}`);
363
- logger.info(`Total records: ${itemLength}`)
362
+ logger.info(`Total Successful College Records Created: ${createdCounter}/${createdCounter}`);
363
+ logger.info(`Total Existing College Records: ${errorCounter}/${errorCounter}`);
364
+ logger.info(`Total Records: ${itemLength}`)
364
365
  console.log("")
365
366
  console.log("########################################################")
366
367
  console.log("")
@@ -572,9 +573,9 @@ const server = {
572
573
  console.log("########################################################")
573
574
  console.log("")
574
575
  logger.info('Academic Department Data Migration Completed');
575
- logger.info(`Total successful Academic Department records created: ${createdCounter}/${createdCounter}`);
576
- logger.info(`Total Academic Department Error Records: ${errorCounter}/${errorCounter}`);
577
- logger.info(`Total records: ${createdCounter + errorCounter}`);
576
+ logger.info(`Total Successful Academic Department Records Created: ${createdCounter}/${createdCounter}`);
577
+ logger.info(`Total Existing Academic Department Records: ${errorCounter}/${errorCounter}`);
578
+ logger.info(`Total Records: ${createdCounter + errorCounter}`);
578
579
  console.log("")
579
580
  console.log("########################################################")
580
581
  console.log("")
@@ -601,7 +602,6 @@ const server = {
601
602
  console.log("########################################################")
602
603
  console.log("");
603
604
 
604
-
605
605
  const db_schema = schema
606
606
  let maxIds = await Users.max('_id'); //Fetch maximum _id directly from the Users model
607
607
  let maxIdsIns = await Instructors.max('_id'); //Fetch maximum _id directly from the Users model
@@ -620,6 +620,8 @@ const server = {
620
620
 
621
621
  const departmentSeq = await AcademicDepartments.findAll()
622
622
  const campusSeq = await Campuses.findAll()
623
+ const employeeSeq = await Employees.findAll()
624
+ const userSeq = await Users.findAll()
623
625
 
624
626
  const userMail = await Users.findOne({ where: { email: 'ccci_integrator@gmail.com' } });
625
627
  if (!userMail){}
@@ -679,6 +681,15 @@ const server = {
679
681
  let acadDepartmentMap = departmentApi.find(a => a.name === _instructor?.department_name)
680
682
  let _acadDepartment = departmentSeq.find(b => b.name === acadDepartmentMap?.name)
681
683
  let campusMap = campusSeq.find(c => c._id === _acadDepartment?.campusId)
684
+
685
+ let employeeFind = employeeSeq.find(emps => emps.employeeNumber === _instructor?.faculty_id)
686
+ let userFind = userSeq.find(eus => eus._id === employeeFind?.userId)
687
+ let _userFind = userSeq.find(e => e.firstName === _instructor?.first_name && e.middleName === _instructor?.middle_name && e.lastName === _instructor?.last_name)
688
+
689
+ // console.log('userFind :>> ', userFind);
690
+
691
+ if(!employeeFind){}
692
+ if(!userFind){}
682
693
 
683
694
  let modifiedById = userMail?._id
684
695
  let createdById = userMail?._id
@@ -714,6 +725,10 @@ const server = {
714
725
  let employeeNumber = _instructor?.faculty_id
715
726
  let departmentId = _acadDepartment?._id??departmentDefault?._id
716
727
  let campusId = campusMap?._id??_campusDefault?._id
728
+ let employeeId = employeeFind?._id??null
729
+ let userId = userFind?._id??_userFind?._id
730
+
731
+ // console.log('userId :>> ', userId);
717
732
 
718
733
  if(uEmail.has(email) && uPass.has(password) && uTPass.has(temporaryPassword) && uULname.has(lastName) && uUFname.has(firstName) && uUMname.has(middleName) && uScopes.has(adminScopes)){
719
734
  const errorMsg = `Duplicate Payload Found: [${email} - ${password} ${temporaryPassword}] - ${lastName}, ${firstName} ${middleName} ${adminScopes}`
@@ -792,7 +807,9 @@ const server = {
792
807
  migratedAt,
793
808
  migratedTable,
794
809
  // referenceId,
795
- isMigrated
810
+ isMigrated,
811
+ userId: userId || null,
812
+ employeeId,
796
813
  })
797
814
  }
798
815
 
@@ -813,11 +830,12 @@ const server = {
813
830
 
814
831
  if (newInstructor.length > 0) {
815
832
  // Associate userIds with new instructors
816
- newInstructor = newInstructor.map((inst, index) => ({
817
- ...inst,
818
- userId: userIds[index]
819
- }));
820
-
833
+ // if(!newInstructor.userId){
834
+ // newInstructor = newInstructor.map((inst, index) => ({
835
+ // ...inst,
836
+ // userId: userIds[index]
837
+ // }));
838
+ // }
821
839
  await Instructors.bulkCreate(newInstructor);
822
840
  createdCounter += newInstructor.length;
823
841
 
@@ -825,27 +843,16 @@ const server = {
825
843
  logger.info(`${index + 1}/${index + 1}: New Instructor Record Created: [${inst.employeeNumber}] - ${inst.lastName}, ${inst.firstName} ${inst.middleName} [ departmentId: ${inst.departmentId}, campusId: ${inst.campusId}]`);
826
844
  });
827
845
  }
828
-
829
-
830
- // if (newInstructor.length > 0) {
831
-
832
- // await Instructors.bulkCreate(newInstructor)
833
- // createdCounter += newInstructor.length
834
-
835
- // newInstructor.forEach((inst, index) => {
836
- // logger.info(`${index + 1}/${index + 1}: New Instructor Record Created: [${inst.employeeNumber}] - ${inst.lastName}, ${inst.firstName} ${inst.middleName} [ departmentId: ${inst.departmentId}, campusId: ${inst.campusId}]`)
837
- // });
838
-
839
- // }
846
+
840
847
 
841
848
 
842
849
  console.log("");
843
850
  console.log("########################################################")
844
851
  console.log("")
845
- logger.info('User Instructors Data Creation Completed');
846
- logger.info(`Total successful User Instructors records created: ${createdCounter}/${createdCounter}`);
847
- logger.info(`Total User Instructors Error Records: ${errorCounter}/${errorCounter}`);
848
- logger.info(`Total records: ${createdCounter + errorCounter}`);
852
+ logger.info('Instructors Data Migration Completed');
853
+ logger.info(`Total Successful Instructors Records Created: ${createdCounter}/${createdCounter}`);
854
+ logger.info(`Total Existing Instructors Records: ${errorCounter}/${errorCounter}`);
855
+ logger.info(`Total Records: ${createdCounter + errorCounter}`);
849
856
 
850
857
  console.log("")
851
858
  console.log("########################################################")
@@ -865,182 +872,182 @@ const server = {
865
872
  }
866
873
  },
867
874
 
868
- async Instructorsss(){
869
- try {
870
- console.log("");
871
- console.log("########################################################")
872
- console.log(" Instructors Migration ")
873
- console.log("########################################################")
874
- console.log("");
875
-
876
- const db_schema = schema
877
- let maxIds = await Instructors.max('_id'); //Fetch maximum _id directly from the Instructors model
878
- let maxId = maxIds|| 0;
879
- await db.sequelize.query(`CREATE SEQUENCE IF NOT EXISTS ${db_schema}."Instructors__id_seq"`);
880
- await db.sequelize.query(`ALTER SEQUENCE ${db_schema}."Instructors__id_seq" RESTART WITH ${maxId + 1}`);
881
-
882
- const instructorApi = await api.Instructor()
883
- const departmentApi = await api.Department()
884
-
885
- const departmentSeq = await AcademicDepartments.findAll()
886
- const campusSeq = await Campuses.findAll()
887
- const userSeq = await Users.findAll()
888
-
889
- const userMail = await Users.findOne({ where: { email: 'ccci_integrator@gmail.com' } });
890
- if (!userMail){}
891
- const campusDefault = await Campuses.findOne({ where: { name: 'Campus Default' } });
892
- const departmentDefault = await AcademicDepartments.findOne({ where: { name: 'AcademicDepartments Default' } });
875
+ // async Instructorsss(){
876
+ // try {
877
+ // console.log("");
878
+ // console.log("########################################################")
879
+ // console.log(" Instructors Migration ")
880
+ // console.log("########################################################")
881
+ // console.log("");
882
+
883
+ // const db_schema = schema
884
+ // let maxIds = await Instructors.max('_id'); //Fetch maximum _id directly from the Instructors model
885
+ // let maxId = maxIds|| 0;
886
+ // await db.sequelize.query(`CREATE SEQUENCE IF NOT EXISTS ${db_schema}."Instructors__id_seq"`);
887
+ // await db.sequelize.query(`ALTER SEQUENCE ${db_schema}."Instructors__id_seq" RESTART WITH ${maxId + 1}`);
888
+
889
+ // const instructorApi = await api.Instructor()
890
+ // const departmentApi = await api.Department()
891
+
892
+ // const departmentSeq = await AcademicDepartments.findAll()
893
+ // const campusSeq = await Campuses.findAll()
894
+ // const userSeq = await Users.findAll()
895
+
896
+ // const userMail = await Users.findOne({ where: { email: 'ccci_integrator@gmail.com' } });
897
+ // if (!userMail){}
898
+ // const campusDefault = await Campuses.findOne({ where: { name: 'Campus Default' } });
899
+ // const departmentDefault = await AcademicDepartments.findOne({ where: { name: 'AcademicDepartments Default' } });
893
900
 
894
- let defaultPayload = {
895
- firstName: 'Instructor',
896
- lastName: 'Default',
897
- middleName: 'Migration',
898
- employeeNumber: '_Instructor',
899
- departmentId: departmentDefault?._id,
900
- campusId: campusDefault?._id,
901
- modifiedById: userMail?._id,
902
- createdById: userMail?._id
903
- };
901
+ // let defaultPayload = {
902
+ // firstName: 'Instructor',
903
+ // lastName: 'Default',
904
+ // middleName: 'Migration',
905
+ // employeeNumber: '_Instructor',
906
+ // departmentId: departmentDefault?._id,
907
+ // campusId: campusDefault?._id,
908
+ // modifiedById: userMail?._id,
909
+ // createdById: userMail?._id
910
+ // };
904
911
 
905
- let [defaults, createddef] = await Instructors.findOrCreate({
906
- where: { employeeNumber: defaultPayload.employeeNumber, lastName: defaultPayload.lastName},
907
- defaults: defaultPayload
908
- });
912
+ // let [defaults, createddef] = await Instructors.findOrCreate({
913
+ // where: { employeeNumber: defaultPayload.employeeNumber, lastName: defaultPayload.lastName},
914
+ // defaults: defaultPayload
915
+ // });
909
916
 
910
- let createdCounter = 0
911
- let errorCounter = 0
912
- let uniqueErrors = new Set()
917
+ // let createdCounter = 0
918
+ // let errorCounter = 0
919
+ // let uniqueErrors = new Set()
913
920
 
914
- let uDept = new Set()
915
- let uCamp = new Set()
916
- let uLname = new Set()
917
- let uMname = new Set()
918
- let uFname = new Set()
919
- let uNum = new Set()
921
+ // let uDept = new Set()
922
+ // let uCamp = new Set()
923
+ // let uLname = new Set()
924
+ // let uMname = new Set()
925
+ // let uFname = new Set()
926
+ // let uNum = new Set()
920
927
 
921
- let newInstructor = []
928
+ // let newInstructor = []
922
929
 
923
- const exInst = await Instructors.findAll()
924
- const exInstMap = new Map(exInst.map(inst => [`[${inst.employeeNumber}] - ${inst.lastName}, ${inst.firstName} ${inst.middleName} [${inst.departmentId}, ${inst.campusId}]` , inst]))
930
+ // const exInst = await Instructors.findAll()
931
+ // const exInstMap = new Map(exInst.map(inst => [`[${inst.employeeNumber}] - ${inst.lastName}, ${inst.firstName} ${inst.middleName} [${inst.departmentId}, ${inst.campusId}]` , inst]))
925
932
 
926
933
 
927
- for (let i = 0; i < instructorApi.length; i++){
928
- try {
934
+ // for (let i = 0; i < instructorApi.length; i++){
935
+ // try {
929
936
 
930
- let _instructor = instructorApi[i]
937
+ // let _instructor = instructorApi[i]
931
938
 
932
- let findUser = await userSeq.find( f => f.lastName === _instructor?.last_name && f.firstName === _instructor?.first_name && f.middleName === _instructor?.middle_name)
939
+ // let findUser = await userSeq.find( f => f.lastName === _instructor?.last_name && f.firstName === _instructor?.first_name && f.middleName === _instructor?.middle_name)
933
940
 
934
- let acadDepartmentMap = departmentApi.find(a => a.name === _instructor?.department_name)
935
- let _acadDepartment = departmentSeq.find(b => b.name === acadDepartmentMap?.name)
936
- let campusMap = campusSeq.find(c => c._id === _acadDepartment?.campusId)
941
+ // let acadDepartmentMap = departmentApi.find(a => a.name === _instructor?.department_name)
942
+ // let _acadDepartment = departmentSeq.find(b => b.name === acadDepartmentMap?.name)
943
+ // let campusMap = campusSeq.find(c => c._id === _acadDepartment?.campusId)
937
944
 
938
- let modifiedById = userMail?._id
939
- let createdById = userMail?._id
945
+ // let modifiedById = userMail?._id
946
+ // let createdById = userMail?._id
940
947
 
941
- let campusDefault = "MSC - Boac Campus"
942
- let _campusDefault = campusSeq.find(ccc => ccc.name === campusDefault)
948
+ // let campusDefault = "MSC - Boac Campus"
949
+ // let _campusDefault = campusSeq.find(ccc => ccc.name === campusDefault)
943
950
 
944
- let role = _instructor?.role
945
- let isChairPerson = false
946
- let isDean = false
951
+ // let role = _instructor?.role
952
+ // let isChairPerson = false
953
+ // let isDean = false
947
954
 
948
- if(role === "Program Chair"){
949
- isChairPerson = true
950
- }
951
- if(role === "Dean"){
952
- isDean = true
953
- }
955
+ // if(role === "Program Chair"){
956
+ // isChairPerson = true
957
+ // }
958
+ // if(role === "Dean"){
959
+ // isDean = true
960
+ // }
954
961
 
955
- let firstName = _instructor?.first_name
956
- let lastName = _instructor?.last_name
957
- let middleName = _instructor?.middle_name
958
- let employeeNumber = _instructor?.faculty_id
959
- let departmentId = _acadDepartment?._id??departmentDefault?._id
960
- let campusId = campusMap?._id??_campusDefault?._id
961
- let userId = findUser?._id
962
-
963
- if(uNum.has(employeeNumber) && uLname.has(lastName) && uFname.has(firstName) && uMname.has(middleName) && uDept.has(departmentId) && uCamp.has(campusId)){
964
- const errorMsg = `Duplicate Payload Found: [${employeeNumber}] - ${lastName}, ${firstName} ${middleName} [departmentId: ${departmentId}, campusId:${campusId}]`
965
- if(!uniqueErrors.has(errorMsg)){
966
- logger.error(`${errorCounter + 1}/${errorCounter + 1}: ${errorMsg}`)
967
- uniqueErrors.add(errorMsg)
968
- errorCounter++
969
- }
970
- }
971
- else if ( exInstMap.has(`[${employeeNumber}] - ${lastName}, ${firstName} ${middleName} [${departmentId}, ${campusId}]`)){
972
- const exInst = exInstMap.get(`[${employeeNumber}] - ${lastName}, ${firstName} ${middleName} [${departmentId}, ${campusId}]`)
973
- const errorMsg = `Existing Data Found:[${exInst.employeeNumber}] - ${exInst.lastName}, ${exInst.firstName} ${exInst.middleName} [departmentId: ${exInst.departmentId}, campusId: ${exInst.campusId}]`
974
- if(!uniqueErrors.has(errorMsg)){
975
- logger.error(`${errorCounter + 1}/${errorCounter + 1}: ${errorMsg}`)
976
- uniqueErrors.add(errorMsg)
977
- errorCounter++
978
- }
979
- }
980
- else{
981
- uNum.add(employeeNumber)
982
- uLname.add(lastName)
983
- uFname.add(firstName)
984
- uMname.add(middleName)
985
- uDept.add(departmentId)
986
- uCamp.add(campusId)
987
- newInstructor.push({
988
- firstName: _instructor?.first_name,
989
- lastName: _instructor?.last_name,
990
- middleName: _instructor?.middle_name,
991
- employeeNumber: _instructor?.faculty_id,
992
- departmentId: _acadDepartment?._id??departmentDefault?._id,
993
- academicDepartmentId: _acadDepartment?._id??departmentDefault?._id,
994
- campusId: campusMap?._id??_campusDefault?._id??campusDefault?._id,
995
- isDean,
996
- isChairPerson,
997
- modifiedById,
998
- createdById,
999
- userId
1000
- })
1001
- }
962
+ // let firstName = _instructor?.first_name
963
+ // let lastName = _instructor?.last_name
964
+ // let middleName = _instructor?.middle_name
965
+ // let employeeNumber = _instructor?.faculty_id
966
+ // let departmentId = _acadDepartment?._id??departmentDefault?._id
967
+ // let campusId = campusMap?._id??_campusDefault?._id
968
+ // let userId = findUser?._id
969
+
970
+ // if(uNum.has(employeeNumber) && uLname.has(lastName) && uFname.has(firstName) && uMname.has(middleName) && uDept.has(departmentId) && uCamp.has(campusId)){
971
+ // const errorMsg = `Duplicate Payload Found: [${employeeNumber}] - ${lastName}, ${firstName} ${middleName} [departmentId: ${departmentId}, campusId:${campusId}]`
972
+ // if(!uniqueErrors.has(errorMsg)){
973
+ // logger.error(`${errorCounter + 1}/${errorCounter + 1}: ${errorMsg}`)
974
+ // uniqueErrors.add(errorMsg)
975
+ // errorCounter++
976
+ // }
977
+ // }
978
+ // else if ( exInstMap.has(`[${employeeNumber}] - ${lastName}, ${firstName} ${middleName} [${departmentId}, ${campusId}]`)){
979
+ // const exInst = exInstMap.get(`[${employeeNumber}] - ${lastName}, ${firstName} ${middleName} [${departmentId}, ${campusId}]`)
980
+ // const errorMsg = `Existing Data Found:[${exInst.employeeNumber}] - ${exInst.lastName}, ${exInst.firstName} ${exInst.middleName} [departmentId: ${exInst.departmentId}, campusId: ${exInst.campusId}]`
981
+ // if(!uniqueErrors.has(errorMsg)){
982
+ // logger.error(`${errorCounter + 1}/${errorCounter + 1}: ${errorMsg}`)
983
+ // uniqueErrors.add(errorMsg)
984
+ // errorCounter++
985
+ // }
986
+ // }
987
+ // else{
988
+ // uNum.add(employeeNumber)
989
+ // uLname.add(lastName)
990
+ // uFname.add(firstName)
991
+ // uMname.add(middleName)
992
+ // uDept.add(departmentId)
993
+ // uCamp.add(campusId)
994
+ // newInstructor.push({
995
+ // firstName: _instructor?.first_name,
996
+ // lastName: _instructor?.last_name,
997
+ // middleName: _instructor?.middle_name,
998
+ // employeeNumber: _instructor?.faculty_id,
999
+ // departmentId: _acadDepartment?._id??departmentDefault?._id,
1000
+ // academicDepartmentId: _acadDepartment?._id??departmentDefault?._id,
1001
+ // campusId: campusMap?._id??_campusDefault?._id??campusDefault?._id,
1002
+ // isDean,
1003
+ // isChairPerson,
1004
+ // modifiedById,
1005
+ // createdById,
1006
+ // userId
1007
+ // })
1008
+ // }
1002
1009
 
1003
- } catch (error) {
1004
- logger.error(`Error occurred: ${error} ${error.stack}`);
1005
- }
1006
- }
1010
+ // } catch (error) {
1011
+ // logger.error(`Error occurred: ${error} ${error.stack}`);
1012
+ // }
1013
+ // }
1007
1014
 
1008
- if (newInstructor.length > 0) {
1015
+ // if (newInstructor.length > 0) {
1009
1016
 
1010
- await Instructors.bulkCreate(newInstructor)
1011
- createdCounter += newInstructor.length
1017
+ // await Instructors.bulkCreate(newInstructor)
1018
+ // createdCounter += newInstructor.length
1012
1019
 
1013
- newInstructor.forEach((inst, index) => {
1014
- logger.info(`${index + 1}/${index + 1}: New Instructor Record Created: [${inst.employeeNumber}] - ${inst.lastName}, ${inst.firstName} ${inst.middleName} [ departmentId: ${inst.departmentId}, campusId: ${inst.campusId}]`)
1015
- });
1016
-
1017
- }
1018
-
1019
- console.log("");
1020
- console.log("########################################################")
1021
- console.log("")
1022
- logger.info('Instructors Data Migration Completed');
1023
- logger.info(`Total successful Instructors records created: ${createdCounter}/${createdCounter}`);
1024
- logger.info(`Total Instructors Error Records: ${errorCounter}/${errorCounter}`);
1025
- logger.info(`Total records: ${createdCounter + errorCounter}`);
1026
-
1027
- console.log("")
1028
- console.log("########################################################")
1029
- console.log("")
1030
-
1031
- let totalSummary = {
1032
- itemLength: createdCounter + errorCounter,
1033
- error: errorCounter,
1034
- success: createdCounter
1035
- }
1036
- return totalSummary
1037
-
1038
- } catch (error) {
1039
- ;
1040
- logger.error(`Error occurred: ${error} ${error.stack} `);
1020
+ // newInstructor.forEach((inst, index) => {
1021
+ // logger.info(`${index + 1}/${index + 1}: New Instructor Record Created: [${inst.employeeNumber}] - ${inst.lastName}, ${inst.firstName} ${inst.middleName} [ departmentId: ${inst.departmentId}, campusId: ${inst.campusId}]`)
1022
+ // });
1023
+
1024
+ // }
1025
+
1026
+ // console.log("");
1027
+ // console.log("########################################################")
1028
+ // console.log("")
1029
+ // logger.info('Instructors Data Migration Completed');
1030
+ // logger.info(`Total Successful Instructors Records Created: ${createdCounter}/${createdCounter}`);
1031
+ // logger.info(`Total Existing Instructors Records: ${errorCounter}/${errorCounter}`);
1032
+ // logger.info(`Total Records: ${createdCounter + errorCounter}`);
1033
+
1034
+ // console.log("")
1035
+ // console.log("########################################################")
1036
+ // console.log("")
1037
+
1038
+ // let totalSummary = {
1039
+ // itemLength: createdCounter + errorCounter,
1040
+ // error: errorCounter,
1041
+ // success: createdCounter
1042
+ // }
1043
+ // return totalSummary
1044
+
1045
+ // } catch (error) {
1046
+ // ;
1047
+ // logger.error(`Error occurred: ${error} ${error.stack} `);
1041
1048
 
1042
- }
1043
- },
1049
+ // }
1050
+ // },
1044
1051
 
1045
1052
  async Course(){
1046
1053
  try {
@@ -1185,8 +1192,8 @@ const server = {
1185
1192
  console.log("########################################################")
1186
1193
  console.log("")
1187
1194
  logger.info('Course Data Migration Completed');
1188
- logger.info(`Total successful Course records created: ${createdCounter}/${createdCounter}`);
1189
- logger.info(`Total Course Error Records: ${errorCounter}/${errorCounter}`);
1195
+ logger.info(`Total Successful Course Records Created: ${createdCounter}/${createdCounter}`);
1196
+ logger.info(`Total Existing Course Records: ${errorCounter}/${errorCounter}`);
1190
1197
  console.log("")
1191
1198
  console.log("########################################################")
1192
1199
  console.log("")
@@ -1335,9 +1342,9 @@ const server = {
1335
1342
  console.log("########################################################")
1336
1343
  console.log("")
1337
1344
  logger.info('Room Data Migration Completed');
1338
- logger.info(`Total successful Room records created: ${createdCounter}/${createdCounter}`);
1339
- logger.info(`Total Room Error Records: ${errorCounter}/${errorCounter}`);
1340
- logger.info(`Total records: ${createdCounter + errorCounter}`);
1345
+ logger.info(`Total Successful Room Records Created: ${createdCounter}/${createdCounter}`);
1346
+ logger.info(`Total Existing Room Records: ${errorCounter}/${errorCounter}`);
1347
+ logger.info(`Total Records: ${createdCounter + errorCounter}`);
1341
1348
  console.log("")
1342
1349
  console.log("########################################################")
1343
1350
  console.log("")
@@ -1466,9 +1473,9 @@ const server = {
1466
1473
  console.log("########################################################")
1467
1474
  console.log("")
1468
1475
  logger.info('Academic Years Data Migration Completed');
1469
- logger.info(`Total successful Academic Years records created: ${createdCounter}/${createdCounter}`);
1470
- logger.info(`Total Academic Years Error Records: ${errorCounter}/${errorCounter}`);
1471
- logger.info(`Total records: ${createdCounter + errorCounter}`);
1476
+ logger.info(`Total Successful Academic Years Records Created: ${createdCounter}/${createdCounter}`);
1477
+ logger.info(`Total Existing Academic Years Records: ${errorCounter}/${errorCounter}`);
1478
+ logger.info(`Total Records: ${createdCounter + errorCounter}`);
1472
1479
  console.log("")
1473
1480
  console.log("########################################################")
1474
1481
  console.log("")
@@ -1637,8 +1644,8 @@ const server = {
1637
1644
  console.log("########################################################")
1638
1645
  console.log("")
1639
1646
  logger.info('Subjects Data Migration Completed');
1640
- logger.info(`Total successful Subjects records created: ${createdCounter}/${createdCounter}`);
1641
- logger.info(`Total Subjects Error Records: ${errorCounter}/${errorCounter}`);
1647
+ logger.info(`Total Successful Subjects Records Created: ${createdCounter}/${createdCounter}`);
1648
+ logger.info(`Total Existing Subjects Records: ${errorCounter}/${errorCounter}`);
1642
1649
  console.log("")
1643
1650
  console.log("########################################################")
1644
1651
  console.log("")
@@ -1659,6 +1666,9 @@ const server = {
1659
1666
 
1660
1667
  async Schedule(){
1661
1668
  try {
1669
+
1670
+ await db.sequelize.query('DROP FUNCTION IF EXISTS pg_temp.testfunc()');
1671
+
1662
1672
  console.log("");
1663
1673
  console.log("########################################################")
1664
1674
  console.log(" Schedules Migration ")
@@ -1670,7 +1680,8 @@ const server = {
1670
1680
  let maxId = maxIds|| 0;
1671
1681
  await db.sequelize.query(`CREATE SEQUENCE IF NOT EXISTS ${db_schema}."Schedules__id_seq"`);
1672
1682
  await db.sequelize.query(`ALTER SEQUENCE ${db_schema}."Schedules__id_seq" RESTART WITH ${maxId + 1}`);
1673
-
1683
+ await db.sequelize.query(`DROP FUNCTION IF EXISTS ${db_schema}."pg_temp.testfunc()"`);
1684
+
1674
1685
  const scheduleApi = await api.Schedule()
1675
1686
  const userMail = await Users.findOne({ where: { email: 'ccci_integrator@gmail.com' } });
1676
1687
 
@@ -1793,9 +1804,9 @@ const server = {
1793
1804
  console.log("########################################################")
1794
1805
  console.log("")
1795
1806
  logger.info('Schedule Data Migration Completed');
1796
- logger.info(`Total successful Schedule records created: ${createdCounter}/${createdCounter}`);
1797
- logger.info(`Total Schedule Error Records: ${errorCounter}/${errorCounter}`);
1798
- logger.info(`Total records: ${createdCounter + errorCounter}`);
1807
+ logger.info(`Total Successful Schedule Records Created: ${createdCounter}/${createdCounter}`);
1808
+ logger.info(`Total Existing Schedule Records: ${errorCounter}/${errorCounter}`);
1809
+ logger.info(`Total Records: ${createdCounter + errorCounter}`);
1799
1810
  console.log("")
1800
1811
  console.log("########################################################")
1801
1812
  console.log("")
@@ -2042,9 +2053,9 @@ const server = {
2042
2053
  console.log("########################################################")
2043
2054
  console.log("")
2044
2055
  logger.info('Student Data Migration Completed');
2045
- logger.info(`Total successful Student records created: ${createdCounter}/${createdCounter}`);
2046
- logger.info(`Total Student Error Records: ${errorCounter}/${errorCounter}`);
2047
- logger.info(`Total records: ${createdCounter + errorCounter}`);
2056
+ logger.info(`Total Successful Student Records Created: ${createdCounter}/${createdCounter}`);
2057
+ logger.info(`Total Existing Student Records: ${errorCounter}/${errorCounter}`);
2058
+ logger.info(`Total Records: ${createdCounter + errorCounter}`);
2048
2059
  console.log("")
2049
2060
  console.log("########################################################")
2050
2061
  console.log("")
@@ -2062,166 +2073,166 @@ const server = {
2062
2073
  }
2063
2074
  },
2064
2075
 
2065
- async Studentsss(){
2066
- try {
2067
- console.log("");
2068
- console.log("########################################################")
2069
- console.log(" Students Migration ")
2070
- console.log("########################################################")
2071
- console.log("");
2072
-
2073
- const db_schema = schema
2074
- let maxIds = await Students.max('_id'); // Fetch maximum _id directly from the Students model
2075
- let maxId = maxIds|| 0;
2076
- await db.sequelize.query(`CREATE SEQUENCE IF NOT EXISTS ${db_schema}."Students__id_seq"`);
2077
- await db.sequelize.query(`ALTER SEQUENCE ${db_schema}."Students__id_seq" RESTART WITH ${maxId + 1}`);
2078
-
2079
- const studentApi = await api.Student()
2080
-
2081
- const campusSeq = await Campuses.findAll()
2082
- const courseSeq = await Courses.findAll()
2083
- const collegeSeq = await Colleges.findAll()
2084
- const semesterSeq = await Semesters.findAll()
2085
- const acadYearSeq = await AcademicYears.findAll()
2086
- const userSeq = await Users.findAll()
2087
-
2088
- const userMail = await Users.findOne({ where: { email: 'ccci_integrator@gmail.com' } });
2089
- const campusDefault = await Campuses.findOne({ where: { name: 'Campus Default' } });
2090
- const courseDefault = await Courses.findOne({ where: { name: 'Course Default' } });
2091
- const collegeDefault = await Colleges.findOne({ where: { name: 'Colleges Default' } });
2092
-
2093
- let createdCounter = 0
2094
- let errorCounter = 0
2095
- let uniqueErrors = new Set()
2096
-
2097
- let uNum = new Set()
2098
- let uLname = new Set()
2099
- let uMname = new Set()
2100
- let uFname = new Set()
2101
- let uCourse = new Set()
2102
- let uCampus = new Set()
2103
-
2104
- let newStudent = []
2105
-
2106
- const exStudent = await Students.findAll()
2107
- const exStudentMap = new Map(exStudent.map(student => [`[${student.studentNumber}] - ${student.lastName}, ${student.firstName} ${student.middleName} [${student.courseId}, ${student.campusId}]`, student]))
2076
+ // async Studentsss(){
2077
+ // try {
2078
+ // console.log("");
2079
+ // console.log("########################################################")
2080
+ // console.log(" Students Migration ")
2081
+ // console.log("########################################################")
2082
+ // console.log("");
2083
+
2084
+ // const db_schema = schema
2085
+ // let maxIds = await Students.max('_id'); // Fetch maximum _id directly from the Students model
2086
+ // let maxId = maxIds|| 0;
2087
+ // await db.sequelize.query(`CREATE SEQUENCE IF NOT EXISTS ${db_schema}."Students__id_seq"`);
2088
+ // await db.sequelize.query(`ALTER SEQUENCE ${db_schema}."Students__id_seq" RESTART WITH ${maxId + 1}`);
2089
+
2090
+ // const studentApi = await api.Student()
2091
+
2092
+ // const campusSeq = await Campuses.findAll()
2093
+ // const courseSeq = await Courses.findAll()
2094
+ // const collegeSeq = await Colleges.findAll()
2095
+ // const semesterSeq = await Semesters.findAll()
2096
+ // const acadYearSeq = await AcademicYears.findAll()
2097
+ // const userSeq = await Users.findAll()
2098
+
2099
+ // const userMail = await Users.findOne({ where: { email: 'ccci_integrator@gmail.com' } });
2100
+ // const campusDefault = await Campuses.findOne({ where: { name: 'Campus Default' } });
2101
+ // const courseDefault = await Courses.findOne({ where: { name: 'Course Default' } });
2102
+ // const collegeDefault = await Colleges.findOne({ where: { name: 'Colleges Default' } });
2103
+
2104
+ // let createdCounter = 0
2105
+ // let errorCounter = 0
2106
+ // let uniqueErrors = new Set()
2107
+
2108
+ // let uNum = new Set()
2109
+ // let uLname = new Set()
2110
+ // let uMname = new Set()
2111
+ // let uFname = new Set()
2112
+ // let uCourse = new Set()
2113
+ // let uCampus = new Set()
2114
+
2115
+ // let newStudent = []
2116
+
2117
+ // const exStudent = await Students.findAll()
2118
+ // const exStudentMap = new Map(exStudent.map(student => [`[${student.studentNumber}] - ${student.lastName}, ${student.firstName} ${student.middleName} [${student.courseId}, ${student.campusId}]`, student]))
2108
2119
 
2109
- const {data} = studentApi
2120
+ // const {data} = studentApi
2110
2121
 
2111
- for (let i = 0; i < data.length; i++){
2112
- try {
2113
- let _student = data[i]
2122
+ // for (let i = 0; i < data.length; i++){
2123
+ // try {
2124
+ // let _student = data[i]
2114
2125
 
2115
- let _campus = campusSeq.find(a => a.name === _student?.campus)
2116
- let _course = courseSeq.find(b => b.name === _student?.course)
2117
- let _college = collegeSeq.find(c => c.name === _student?.college)
2126
+ // let _campus = campusSeq.find(a => a.name === _student?.campus)
2127
+ // let _course = courseSeq.find(b => b.name === _student?.course)
2128
+ // let _college = collegeSeq.find(c => c.name === _student?.college)
2118
2129
 
2119
- let findUser = await userSeq.find( f => f.lastName === _student?.last_name && f.firstName === _student?.first_name && f.middleName === _student?.middle_name)
2130
+ // let findUser = await userSeq.find( f => f.lastName === _student?.last_name && f.firstName === _student?.first_name && f.middleName === _student?.middle_name)
2120
2131
 
2121
- let modifiedById = userMail?._id
2122
- let createdById = userMail?._id
2132
+ // let modifiedById = userMail?._id
2133
+ // let createdById = userMail?._id
2123
2134
 
2124
- let fromPrompts = await Picked()
2135
+ // let fromPrompts = await Picked()
2125
2136
 
2126
- // let semester = "2nd Semester"
2127
- let semester = fromPrompts.semester
2128
- let yearsFrom = fromPrompts.yearFrom
2129
- let yearsTo = fromPrompts.yearTo
2130
-
2131
- let _semester = semesterSeq.find(sem => sem.code === semester)
2132
- let _acadYear = acadYearSeq.find(yr => yr.from === parseInt(yearsFrom) && yr.to === parseInt(yearsTo))
2133
-
2134
- let studentNumber = _student?.student_number
2135
- let firstName = _student?.first_name
2136
- let lastName = _student?.last_name
2137
- let middleName = _student?.middle_name
2138
- let courseId = _course?._id??courseDefault?._id
2139
- let campusId = _campus?._id??campusDefault?._id
2140
-
2141
- let getUserName = Mixins.generateUsername(firstName, lastName)
2142
- let email = `${getUserName}@msumarinduque.edu.ph`
2143
-
2144
- let userId = findUser?._id
2145
-
2146
-
2147
- if(uNum.has(studentNumber) && uLname.has(lastName) && uFname.has(firstName) && uMname.has(middleName) && uCourse.has(courseId) && uCampus.has(campusId)){
2148
- const errorMsg = `Duplicate Payload Found: [${studentNumber}] - ${lastName}, ${firstName} ${middleName} [courseId: ${courseId}, campusId:${campusId}]`
2149
- if(!uniqueErrors.has(errorMsg)){
2150
- logger.error(`${errorCounter + 1}/${errorCounter + 1}: ${errorMsg}`)
2151
- uniqueErrors.add(errorMsg)
2152
- errorCounter++
2153
- }
2154
- }
2155
- else if ( exStudentMap.has(`[${studentNumber}] - ${lastName}, ${firstName} ${middleName} [${courseId}, ${campusId}]`)){
2156
- const exStudent = exStudentMap.get(`[${studentNumber}] - ${lastName}, ${firstName} ${middleName} [${courseId}, ${campusId}]`)
2157
- const errorMsg = `Existing Data Found:[${exStudent.studentNumber}] - ${exStudent.lastName}, ${exStudent.firstName} ${exStudent.middleName} [courseId: ${exStudent.courseId}, campusId: ${exStudent.campusId}]`
2158
- if(!uniqueErrors.has(errorMsg)){
2159
- logger.error(`${errorCounter + 1}/${errorCounter + 1}: ${errorMsg}`)
2160
- uniqueErrors.add(errorMsg)
2161
- errorCounter++
2162
- }
2163
- }
2164
- else{
2165
- uNum.add(studentNumber)
2166
- uLname.add(lastName)
2167
- uMname.add(middleName)
2168
- uFname.add(firstName)
2169
- uCourse.add(courseId)
2170
- uCampus.add(campusId)
2171
- newStudent.push({
2172
- studentNumber: _student?.student_number,
2173
- firstName: _student?.first_name,
2174
- lastName: _student?.last_name,
2175
- middleName: _student?.middle_name,
2176
- email: email,
2177
- courseId: _course?._id??courseDefault?._id,
2178
- campusId: _campus?._id??campusDefault?._id,
2179
- collegeId: _college?._id??collegeDefault?._id,
2180
- admittedYearId: _acadYear?._id ?? null,
2181
- admittedSemId: _semester?._id ?? null,
2182
- modifiedById,
2183
- createdById,
2184
- userId
2185
- })
2186
- }
2137
+ // // let semester = "2nd Semester"
2138
+ // let semester = fromPrompts.semester
2139
+ // let yearsFrom = fromPrompts.yearFrom
2140
+ // let yearsTo = fromPrompts.yearTo
2141
+
2142
+ // let _semester = semesterSeq.find(sem => sem.code === semester)
2143
+ // let _acadYear = acadYearSeq.find(yr => yr.from === parseInt(yearsFrom) && yr.to === parseInt(yearsTo))
2144
+
2145
+ // let studentNumber = _student?.student_number
2146
+ // let firstName = _student?.first_name
2147
+ // let lastName = _student?.last_name
2148
+ // let middleName = _student?.middle_name
2149
+ // let courseId = _course?._id??courseDefault?._id
2150
+ // let campusId = _campus?._id??campusDefault?._id
2151
+
2152
+ // let getUserName = Mixins.generateUsername(firstName, lastName)
2153
+ // let email = `${getUserName}@msumarinduque.edu.ph`
2154
+
2155
+ // let userId = findUser?._id
2156
+
2157
+
2158
+ // if(uNum.has(studentNumber) && uLname.has(lastName) && uFname.has(firstName) && uMname.has(middleName) && uCourse.has(courseId) && uCampus.has(campusId)){
2159
+ // const errorMsg = `Duplicate Payload Found: [${studentNumber}] - ${lastName}, ${firstName} ${middleName} [courseId: ${courseId}, campusId:${campusId}]`
2160
+ // if(!uniqueErrors.has(errorMsg)){
2161
+ // logger.error(`${errorCounter + 1}/${errorCounter + 1}: ${errorMsg}`)
2162
+ // uniqueErrors.add(errorMsg)
2163
+ // errorCounter++
2164
+ // }
2165
+ // }
2166
+ // else if ( exStudentMap.has(`[${studentNumber}] - ${lastName}, ${firstName} ${middleName} [${courseId}, ${campusId}]`)){
2167
+ // const exStudent = exStudentMap.get(`[${studentNumber}] - ${lastName}, ${firstName} ${middleName} [${courseId}, ${campusId}]`)
2168
+ // const errorMsg = `Existing Data Found:[${exStudent.studentNumber}] - ${exStudent.lastName}, ${exStudent.firstName} ${exStudent.middleName} [courseId: ${exStudent.courseId}, campusId: ${exStudent.campusId}]`
2169
+ // if(!uniqueErrors.has(errorMsg)){
2170
+ // logger.error(`${errorCounter + 1}/${errorCounter + 1}: ${errorMsg}`)
2171
+ // uniqueErrors.add(errorMsg)
2172
+ // errorCounter++
2173
+ // }
2174
+ // }
2175
+ // else{
2176
+ // uNum.add(studentNumber)
2177
+ // uLname.add(lastName)
2178
+ // uMname.add(middleName)
2179
+ // uFname.add(firstName)
2180
+ // uCourse.add(courseId)
2181
+ // uCampus.add(campusId)
2182
+ // newStudent.push({
2183
+ // studentNumber: _student?.student_number,
2184
+ // firstName: _student?.first_name,
2185
+ // lastName: _student?.last_name,
2186
+ // middleName: _student?.middle_name,
2187
+ // email: email,
2188
+ // courseId: _course?._id??courseDefault?._id,
2189
+ // campusId: _campus?._id??campusDefault?._id,
2190
+ // collegeId: _college?._id??collegeDefault?._id,
2191
+ // admittedYearId: _acadYear?._id ?? null,
2192
+ // admittedSemId: _semester?._id ?? null,
2193
+ // modifiedById,
2194
+ // createdById,
2195
+ // userId
2196
+ // })
2197
+ // }
2187
2198
 
2188
- } catch (error) {
2189
- logger.error(`Error occurred: ${error.stack} ${error}`);
2190
- }
2191
- }
2192
-
2193
- if (newStudent.length > 0) {
2194
- await Students.bulkCreate(newStudent)
2195
- createdCounter += newStudent.length
2199
+ // } catch (error) {
2200
+ // logger.error(`Error occurred: ${error.stack} ${error}`);
2201
+ // }
2202
+ // }
2203
+
2204
+ // if (newStudent.length > 0) {
2205
+ // await Students.bulkCreate(newStudent)
2206
+ // createdCounter += newStudent.length
2196
2207
 
2197
- newStudent.forEach((exStudent, index) => {
2198
- logger.info(`${index + 1}/${index + 1}: New Student Record Created: [${exStudent.studentNumber}] - ${exStudent.lastName}, ${exStudent.firstName} ${exStudent.middleName} [courseId: ${exStudent.courseId}, campusId: ${exStudent.campusId}]`)
2199
- });
2200
- }
2201
-
2202
- console.log("");
2203
- console.log("########################################################")
2204
- console.log("")
2205
- logger.info('Student Data Migration Completed');
2206
- logger.info(`Total successful Student records created: ${createdCounter}/${createdCounter}`);
2207
- logger.info(`Total Student Error Records: ${errorCounter}/${errorCounter}`);
2208
- logger.info(`Total records: ${createdCounter + errorCounter}`);
2209
- console.log("")
2210
- console.log("########################################################")
2211
- console.log("")
2212
-
2213
- let totalSummary = {
2214
- itemLength: createdCounter + errorCounter,
2215
- error: errorCounter,
2216
- success: createdCounter
2217
- }
2218
- return totalSummary
2219
-
2220
- } catch (error) {
2221
- logger.error(`Error occurred: ${error.stack} ${error}`);
2208
+ // newStudent.forEach((exStudent, index) => {
2209
+ // logger.info(`${index + 1}/${index + 1}: New Student Record Created: [${exStudent.studentNumber}] - ${exStudent.lastName}, ${exStudent.firstName} ${exStudent.middleName} [courseId: ${exStudent.courseId}, campusId: ${exStudent.campusId}]`)
2210
+ // });
2211
+ // }
2212
+
2213
+ // console.log("");
2214
+ // console.log("########################################################")
2215
+ // console.log("")
2216
+ // logger.info('Student Data Migration Completed');
2217
+ // logger.info(`Total Successful Student Records Created: ${createdCounter}/${createdCounter}`);
2218
+ // logger.info(`Total Existing Student Records: ${errorCounter}/${errorCounter}`);
2219
+ // logger.info(`Total Records: ${createdCounter + errorCounter}`);
2220
+ // console.log("")
2221
+ // console.log("########################################################")
2222
+ // console.log("")
2223
+
2224
+ // let totalSummary = {
2225
+ // itemLength: createdCounter + errorCounter,
2226
+ // error: errorCounter,
2227
+ // success: createdCounter
2228
+ // }
2229
+ // return totalSummary
2230
+
2231
+ // } catch (error) {
2232
+ // logger.error(`Error occurred: ${error.stack} ${error}`);
2222
2233
 
2223
- }
2224
- },
2234
+ // }
2235
+ // },
2225
2236
 
2226
2237
  async Section() {
2227
2238
  try {
@@ -2419,9 +2430,9 @@ const server = {
2419
2430
  console.log("########################################################");
2420
2431
  console.log("");
2421
2432
  logger.info('Section Data Migration Completed');
2422
- logger.info(`Total successful Section records created: ${createdCounter}/${createdCounter}`);
2423
- logger.info(`Total Section Error Records: ${errorCounter}/${errorCounter}`);
2424
- logger.info(`Total records: ${createdCounter + errorCounter}`);
2433
+ logger.info(`Total Successful Section Records Created: ${createdCounter}/${createdCounter}`);
2434
+ logger.info(`Total Existing Section Records: ${errorCounter}/${errorCounter}`);
2435
+ logger.info(`Total Records: ${createdCounter + errorCounter}`);
2425
2436
  console.log("");
2426
2437
  console.log("########################################################");
2427
2438
  console.log("");
@@ -2439,246 +2450,12 @@ const server = {
2439
2450
  }
2440
2451
  },
2441
2452
 
2442
- async EnrolledStudentss(){
2443
- try {
2444
- console.log("");
2445
- console.log("########################################################")
2446
- console.log(" Enrolled Students Migration ")
2447
- console.log("########################################################")
2448
- console.log("");
2449
-
2450
- const db_schema = schema
2451
- let maxIds = await EnrolledStudents.max('_id'); // Fetch maximum _id directly from the EnrolledStudents model
2452
- let maxId = maxIds|| 0;
2453
- await db.sequelize.query(`CREATE SEQUENCE IF NOT EXISTS ${db_schema}."EnrolledStudents__id_seq"`);
2454
- await db.sequelize.query(`ALTER SEQUENCE ${db_schema}."EnrolledStudents__id_seq" RESTART WITH ${maxId + 1}`);
2455
-
2456
- const studentApi = (await api.Student()).data
2457
- const instructorApi = await api.Instructor()
2458
-
2459
- const studentSeq = await Students.findAll()
2460
- const courseSeq = await Courses.findAll()
2461
- const campusSeq = await Campuses.findAll()
2462
- const acadYearSeq = await AcademicYears.findAll()
2463
- const semesterSeq = await Semesters.findAll()
2464
- const sectionSeq = await Sections.findAll()
2465
- const instructorSeq = await Instructors.findAll()
2466
- const subjectSeq = await Subjects.findAll()
2467
-
2468
- const userMail = await Users.findOne({ where: { email: 'ccci_integrator@gmail.com' } });
2469
-
2470
- let createdCounter = 0
2471
- let errorCounter = 0
2472
- let uniqueErrors = new Set()
2473
-
2474
- let uStud = new Set()
2475
- let uCrs = new Set()
2476
- let uIns = new Set()
2477
- let uSec = new Set()
2478
- let uCam = new Set()
2479
- let uYear = new Set()
2480
- let uSem = new Set()
2481
- let uGrade = new Set()
2482
- let uRemarks = new Set()
2483
- let uAllStat = new Set()
2484
-
2485
- let newEnroll = []
2486
-
2487
- const existings = await EnrolledStudents.findAll()
2488
- const existingEnrolledMap = new Map(existings.map(enroll => [`[${enroll.studentId} ${enroll.instructorId} ${enroll.sectionId}] ${enroll.finalGrade} ${enroll.remarks} ${enroll.overAllStatus}`, enroll]))
2489
-
2490
- for (let i = 0; i < studentApi.length; i++){
2491
- try {
2492
- let _student = studentApi[i]
2493
- let student = studentSeq.find(st => st.studentNumber === _student?.student_number)
2494
- let campus = campusSeq.find(ca => ca.name === _student?.campus)
2495
- let course = courseSeq.find(cr => cr.name === _student?.course)
2496
- let _students = studentApi[i].subjects_enrolled
2497
-
2498
- let fromPrompts = await Picked()
2499
-
2500
- let semester = fromPrompts.semester
2501
- let yearsFrom = fromPrompts.yearFrom
2502
- let yearsTo = fromPrompts.yearTo
2503
- let _semester = semesterSeq.find(sem => sem.code === semester)
2504
- let _acadYear = acadYearSeq.find(yr => yr.from === parseInt(yearsFrom) && yr.to === parseInt(yearsTo))
2505
-
2506
- let modifiedById = userMail?._id;
2507
- let createdById = userMail?._id;
2508
-
2509
- let migratedAt = new Date() //present date of the migration
2510
- let migratedTable = 'campuses' // sql counterpart main table
2511
- let referenceId = _campus?.id // id of the data
2512
- let isMigrated = true
2513
-
2514
- for (let j = 0; j < _students.length; j++){
2515
- let instrcutor = _students[j].faculty_id
2516
- let sections = _students[j].section_name
2517
- let fGrade = _students[j].final_grade
2518
- let rmarks = _students[j].remarks
2519
-
2520
- let _inst = instructorApi.find(i => i.faculty_id === instrcutor)
2521
- let _instructor = instructorSeq.find(ins => ins.employeeNumber === _inst?.faculty_id)
2522
- let _section = sectionSeq.find(sec => sec.name === sections)
2523
-
2524
-
2525
- if (!_inst) {
2526
- continue;
2527
- }
2528
-
2529
- if (!_student) {
2530
- continue;
2531
- }
2532
-
2533
- if (!student) {
2534
- continue;
2535
- }
2536
-
2537
- let overAllStatus = null
2538
- let finalG = fGrade
2539
-
2540
- let graded = false
2541
- if (finalG){
2542
- graded = true
2543
- }
2544
- else if (!finalG){
2545
- finalG = 0
2546
- }
2547
-
2548
- let remarks = rmarks?.toUpperCase()??null
2549
- if (remarks === 'INCOMPLETE'){
2550
- finalG = 0
2551
- overAllStatus = "INC"
2552
- }
2553
- else if (remarks === 'UNOFFICIALLY DROPPED'){
2554
- finalG = 0
2555
- overAllStatus = "UD"
2556
- }
2557
- else if (remarks === 'UNAUTHORIZED WITHDRAWAL'){
2558
- finalG = 0
2559
- overAllStatus = "UW"
2560
- }
2561
- else if (remarks === 'DROPPED'){
2562
- finalG = 0
2563
- overAllStatus = "DRP"
2564
- }
2565
- else if (remarks === 'NO CREDIT'){
2566
- finalG = 0
2567
- overAllStatus = "IN-PROG"
2568
- }
2569
- else if (remarks === 'CREDITED'){
2570
- finalG = 0
2571
- overAllStatus = "UD"
2572
- }
2573
- else if (remarks === 'PASSED'){
2574
- overAllStatus = "PASSED"
2575
- }
2576
- else if (!remarks){
2577
- finalG = 0
2578
- }
2579
- if(finalG === 5.00){
2580
- remarks = "FAILED"
2581
- overAllStatus = "FAILED"
2582
- }
2583
-
2584
-
2585
- let studentId = student?._id
2586
- let courseId = course?._id
2587
- let instructorId = _instructor?._id??null
2588
- let sectionId = _section?._id??null
2589
- let campusId = campus?._id
2590
- let academicYearId = _acadYear?._id
2591
- let semesterId = _semester?._id
2592
- let finalGrade = finalG
2593
-
2594
- if(uStud.has(studentId) && uIns.has(instructorId) && uSec.has(sectionId) && uGrade.has(finalGrade) && uRemarks.has(remarks) && uAllStat.has(overAllStatus)){
2595
- const errorMsg = `Duplicate Payload Found: [${studentId}] - [${courseId}, ${instructorId}, ${sectionId}] = ${finalGrade}, ${remarks}, ${overAllStatus}`
2596
- if(!uniqueErrors.has(errorMsg)){
2597
- logger.error(`${errorCounter + 1}/${errorCounter + 1}: ${errorMsg}`)
2598
- uniqueErrors.add(errorMsg)
2599
- errorCounter++
2600
- }
2601
- }
2602
- else if (existingEnrolledMap.has(`[${studentId} ${instructorId} ${sectionId} ${finalGrade}] ${remarks} ${overAllStatus}`)){
2603
- const existings = existingEnrolledMap.get(`[${studentId} ${instructorId} ${sectionId} ${finalGrade}] ${remarks} ${overAllStatus}`)
2604
- const errorMsg = `Existing Data Found: [${existings.studentId}] - [${existings.courseId}, ${existings.instructorId}, ${existings.sectionId}] = ${existings.finalGrade}, ${existings.remarks}, ${existings.overAllStatus}`
2605
- if(!uniqueErrors.has(errorMsg)){
2606
- logger.error(`${errorCounter + 1}/${errorCounter + 1}: ${errorMsg}`)
2607
- uniqueErrors.add(errorMsg)
2608
- errorCounter++
2609
- }
2610
- }
2611
- else{
2612
- uStud.add(studentId)
2613
- uCrs.add(courseId)
2614
- uIns.add(instructorId)
2615
- uSec.add(sectionId)
2616
- uCam.add(campusId)
2617
- uYear.add(academicYearId)
2618
- uSem.add(semesterId)
2619
- uGrade.add(finalGrade)
2620
- uAllStat.add(overAllStatus)
2621
- uRemarks.add(remarks)
2622
- newEnroll.push({
2623
- studentId: student?._id,
2624
- courseId: course?._id,
2625
- instructorId: _instructor?._id??null,
2626
- sectionId: _section?._id??null,
2627
- campusId: campus?._id,
2628
- academicYearId: _acadYear?._id,
2629
- semesterId: _semester?._id,
2630
- finalGrade: finalG,
2631
- graded,
2632
- overAllStatus,
2633
- remarks,
2634
- createdById,
2635
- modifiedById,
2636
- })
2637
- }
2638
- }
2639
- } catch (error) {
2640
- logger.error(`Error occurred: ${error.stack} ${error}`);
2641
- }
2642
- }
2643
-
2644
- if (newEnroll.length > 0) {
2645
- await EnrolledStudents.bulkCreate(newEnroll)
2646
- createdCounter += newEnroll.length
2647
-
2648
- newEnroll.forEach((es, index) => {
2649
- logger.info(`${index + 1}/${index + 1}: New Enrolled Students Record Created: [${es.studentId}] - [${es.courseId}, ${es.instructorId}, ${es.sectionId}] = ${es.finalGrade}, ${es.remarks}, ${es.overAllStatus}`)
2650
- });
2651
- }
2652
-
2653
- console.log("");
2654
- console.log("########################################################")
2655
- console.log("")
2656
- logger.info('Enrolled Student Data Migration Completed');
2657
- logger.info(`Total successful Enrolled Student records created: ${createdCounter}/${createdCounter}`);
2658
- logger.info(`Total Enrolled Student Error Records: ${errorCounter}/${errorCounter}`);
2659
- logger.info(`Total records: ${createdCounter + errorCounter}`);
2660
- console.log("")
2661
- console.log("########################################################")
2662
- console.log("")
2663
-
2664
- let totalSummary = {
2665
- itemLength: createdCounter + errorCounter,
2666
- error: errorCounter,
2667
- success: createdCounter
2668
- }
2669
- return totalSummary
2670
-
2671
- } catch (error) {
2672
- logger.error(`Error occurred: ${error.stack} ${error}`);
2673
-
2674
- }
2675
- },
2676
2453
 
2677
2454
  async EnrolledStudent(){
2678
2455
  try {
2679
2456
  console.log("");
2680
2457
  console.log("########################################################")
2681
- console.log(" Enrolled Students Migration ")
2458
+ console.log(" Enrolled Students Migration ")
2682
2459
  console.log("########################################################")
2683
2460
  console.log("");
2684
2461
 
@@ -2862,8 +2639,8 @@ const server = {
2862
2639
  console.log("########################################################")
2863
2640
  console.log("")
2864
2641
  logger.info(' Enrolled Student Data Migration Completed');
2865
- logger.info(`Total successful Enrolled Student records created: ${createdCounter}/${createdCounter}`);
2866
- logger.info(`Total Enrolled Student Error Records: ${errorCounter}/${errorCounter}`);
2642
+ logger.info(`Total Successful Enrolled Student Records Created: ${createdCounter}/${createdCounter}`);
2643
+ logger.info(`Total Existing Enrolled Student Records: ${errorCounter}/${errorCounter}`);
2867
2644
  console.log("")
2868
2645
  console.log("########################################################")
2869
2646
  console.log("")
@@ -2904,7 +2681,7 @@ async function runServerFunctions() {
2904
2681
  console.log("");
2905
2682
  console.log(`${key.toUpperCase()}:`);
2906
2683
  logger.info(`total Success ${key} Record: ${value?.success??""}/${value?.itemLength??""}`);
2907
- logger.info(`total Error ${key} Record: ${value?.error??""}/${value?.itemLength??""}`);
2684
+ logger.info(`total Existing ${key} Record: ${value?.error??""}/${value?.itemLength??""}`);
2908
2685
  console.log("");
2909
2686
  });
2910
2687
 
@@ -2925,12 +2702,10 @@ module.exports = {
2925
2702
  AcademicDepartments: server.AcademicDepartment,
2926
2703
  Course: server.Course,
2927
2704
  Room: server.Room,
2928
- UserInstructor: server.UserInstructor,
2929
2705
  Instructor: server.Instructor,
2930
2706
  AcademicYear: server.AcademicYear,
2931
2707
  Subject: server.Subject,
2932
2708
  Schedule: server.Schedule,
2933
- UserStudents: server.UserStudents,
2934
2709
  Student: server.Student,
2935
2710
  Section: server.Section,
2936
2711
  EnrolledStudent: server.EnrolledStudent,