add posexcutive date
This commit is contained in:
parent
180cdd225e
commit
f781af3151
7 changed files with 984 additions and 155 deletions
|
|
@ -196,11 +196,11 @@ export class ReportController extends Controller {
|
|||
@Query() sort: "ASC" | "DESC" = "ASC",
|
||||
) {
|
||||
const _null: any = null;
|
||||
if(!dateStart) {
|
||||
dateStart = _null
|
||||
if (!dateStart) {
|
||||
dateStart = _null;
|
||||
}
|
||||
if(!dateEnd) {
|
||||
dateEnd = _null
|
||||
if (!dateEnd) {
|
||||
dateEnd = _null;
|
||||
}
|
||||
if (ageMin && (ageMin < 18 || ageMin > 60)) {
|
||||
throw new HttpError(HttpStatus.NOT_FOUND, "ageMin must be between 18 and 60");
|
||||
|
|
@ -247,18 +247,17 @@ export class ReportController extends Controller {
|
|||
}
|
||||
|
||||
let retireLawCondition = "1=1";
|
||||
if(isRetireLaw) {
|
||||
if (isRetireLaw) {
|
||||
retireLawCondition =
|
||||
"DATE(registryOfficer.dateRetireLaw) >= :startDateRetireLaw AND DATE(registryOfficer.dateRetireLaw) <= :endDateRetireLaw";
|
||||
"DATE(registryOfficer.dateRetireLaw) >= :startDateRetireLaw AND DATE(registryOfficer.dateRetireLaw) <= :endDateRetireLaw";
|
||||
}
|
||||
|
||||
let tenureTypeCondition = "1=1";
|
||||
if(tenureType != "" && tenureType == "position") {
|
||||
if (tenureType != "" && tenureType == "position") {
|
||||
tenureTypeCondition = "registryOfficer.Years BETWEEN :tenureMin AND :tenureMax";
|
||||
} else if (tenureType != "" && tenureType == "level") {
|
||||
tenureTypeCondition = "registryOfficer.Years BETWEEN :tenureMin AND :tenureMax"; //xxxxxxxxxxxx
|
||||
}
|
||||
else if (tenureType != "" && tenureType == "level") {
|
||||
tenureTypeCondition = "registryOfficer.posxecutiveYears BETWEEN :tenureMin AND :tenureMax";
|
||||
}
|
||||
|
||||
const [lists, total] = await AppDataSource.getRepository(viewRegistryOfficer)
|
||||
.createQueryBuilder("registryOfficer")
|
||||
|
|
@ -278,36 +277,36 @@ export class ReportController extends Controller {
|
|||
endDateAppoint: dateEnd?.toISOString().split("T")[0],
|
||||
})
|
||||
.andWhere(retireLawCondition, {
|
||||
startDateRetireLaw: new Date(new Date().getFullYear() - 1, 9, 1, 0, 0, 0, 0)?.toISOString().split("T")[0],
|
||||
endDateRetireLaw: new Date(new Date().getFullYear(), 8, 30, 23, 59, 59, 999).toISOString().split("T")[0],
|
||||
startDateRetireLaw: new Date(new Date().getFullYear() - 1, 9, 1, 0, 0, 0, 0)
|
||||
?.toISOString()
|
||||
.split("T")[0],
|
||||
endDateRetireLaw: new Date(new Date().getFullYear(), 8, 30, 23, 59, 59, 999)
|
||||
.toISOString()
|
||||
.split("T")[0],
|
||||
})
|
||||
.andWhere("registryOfficer.isProbation = :isProbation", {
|
||||
isProbation: isProbation,
|
||||
})
|
||||
.andWhere(IsLeavecondition.join(" AND "), parameters)
|
||||
.andWhere(
|
||||
posType != null && posType != ""
|
||||
? "registryOfficer.posTypeName LIKE :posTypeName"
|
||||
: "1=1",
|
||||
posType != null && posType != "" ? "registryOfficer.posTypeName LIKE :posTypeName" : "1=1",
|
||||
{
|
||||
posTypeName: `%${posType}%`,
|
||||
}
|
||||
},
|
||||
)
|
||||
.andWhere(
|
||||
posLevel != null && posLevel != ""
|
||||
? "registryOfficer.posLevelName LIKE :posLevelName"
|
||||
posLevel != null && posLevel != ""
|
||||
? "registryOfficer.posLevelName LIKE :posLevelName"
|
||||
: "1=1",
|
||||
{
|
||||
posLevelName: `%${posLevel}%`,
|
||||
}
|
||||
},
|
||||
)
|
||||
.andWhere(
|
||||
position != null && position != ""
|
||||
? "registryOfficer.position LIKE :position"
|
||||
: "1=1",
|
||||
position != null && position != "" ? "registryOfficer.position LIKE :position" : "1=1",
|
||||
{
|
||||
position: `%${position}%`,
|
||||
}
|
||||
},
|
||||
)
|
||||
.andWhere(
|
||||
positionExecutive != null && positionExecutive != ""
|
||||
|
|
@ -315,31 +314,22 @@ export class ReportController extends Controller {
|
|||
: "1=1",
|
||||
{
|
||||
posExecutiveName: `%${positionExecutive}%`,
|
||||
}
|
||||
},
|
||||
)
|
||||
.andWhere(gender != null && gender != "" ? "registryOfficer.gender LIKE :gender" : "1=1", {
|
||||
gender: `%${gender}%`,
|
||||
})
|
||||
.andWhere(
|
||||
gender != null && gender != ""
|
||||
? "registryOfficer.gender LIKE :gender"
|
||||
: "1=1",
|
||||
{
|
||||
gender: `%${gender}%`,
|
||||
}
|
||||
)
|
||||
.andWhere(
|
||||
status != null && status != ""
|
||||
? "registryOfficer.relationship LIKE :relationship"
|
||||
: "1=1",
|
||||
status != null && status != "" ? "registryOfficer.relationship LIKE :relationship" : "1=1",
|
||||
{
|
||||
relationship: `%${status}%`,
|
||||
}
|
||||
},
|
||||
)
|
||||
.andWhere(
|
||||
education != null && education != ""
|
||||
? "registryOfficer.degree LIKE :degree"
|
||||
: "1=1",
|
||||
education != null && education != "" ? "registryOfficer.degree LIKE :degree" : "1=1",
|
||||
{
|
||||
degree: `%${education}%`,
|
||||
}
|
||||
},
|
||||
)
|
||||
.orderBy(`registryOfficer.${sortBy}`, sort)
|
||||
.getManyAndCount();
|
||||
|
|
@ -381,12 +371,24 @@ export class ReportController extends Controller {
|
|||
age: x.age,
|
||||
currentPosition: null,
|
||||
lengthPosition: null,
|
||||
Years: x.Years,
|
||||
Months: x.Months,
|
||||
Days: x.Days,
|
||||
// posExecutiveYears: x.posExecutiveYears,
|
||||
// posExecutiveMonths: x.posExecutiveMonths,
|
||||
// posExecutiveDays: x.posExecutiveDays
|
||||
positionDate: {
|
||||
Years: x.Years,
|
||||
Months: x.Months,
|
||||
Days: x.Days,
|
||||
},
|
||||
posExcutiveDate: {
|
||||
Years: x.posExecutiveYears,
|
||||
Months: x.posExecutiveMonths,
|
||||
Days: x.posExecutiveDays,
|
||||
},
|
||||
posLevelDate: {
|
||||
// Years: x.levelYears,
|
||||
// Months: x.levelMonths,
|
||||
// Days: x.levelDays,
|
||||
Years: 0,
|
||||
Months: 0,
|
||||
Days: 0,
|
||||
},
|
||||
}));
|
||||
return new HttpSuccess({
|
||||
data: mapData,
|
||||
|
|
@ -536,11 +538,11 @@ export class ReportController extends Controller {
|
|||
@Query() sort: "ASC" | "DESC" = "ASC",
|
||||
) {
|
||||
const _null: any = null;
|
||||
if(!dateStart) {
|
||||
dateStart = _null
|
||||
if (!dateStart) {
|
||||
dateStart = _null;
|
||||
}
|
||||
if(!dateEnd) {
|
||||
dateEnd = _null
|
||||
if (!dateEnd) {
|
||||
dateEnd = _null;
|
||||
}
|
||||
if (ageMin && (ageMin < 18 || ageMin > 60)) {
|
||||
throw new HttpError(HttpStatus.NOT_FOUND, "ageMin must be between 18 and 60");
|
||||
|
|
@ -587,9 +589,9 @@ export class ReportController extends Controller {
|
|||
}
|
||||
|
||||
let retireLawCondition = "1=1";
|
||||
if(isRetireLaw) {
|
||||
if (isRetireLaw) {
|
||||
retireLawCondition =
|
||||
"DATE(registryEmployee.dateRetireLaw) >= :startDateRetireLaw AND DATE(registryEmployee.dateRetireLaw) <= :endDateRetireLaw";
|
||||
"DATE(registryEmployee.dateRetireLaw) >= :startDateRetireLaw AND DATE(registryEmployee.dateRetireLaw) <= :endDateRetireLaw";
|
||||
}
|
||||
|
||||
const [lists, total] = await AppDataSource.getRepository(viewRegistryEmployee)
|
||||
|
|
@ -606,8 +608,12 @@ export class ReportController extends Controller {
|
|||
endDateAppoint: dateEnd?.toISOString().split("T")[0],
|
||||
})
|
||||
.andWhere(retireLawCondition, {
|
||||
startDateRetireLaw: new Date(new Date().getFullYear() - 1, 9, 1, 0, 0, 0, 0)?.toISOString().split("T")[0],
|
||||
endDateRetireLaw: new Date(new Date().getFullYear(), 8, 30, 23, 59, 59, 999).toISOString().split("T")[0],
|
||||
startDateRetireLaw: new Date(new Date().getFullYear() - 1, 9, 1, 0, 0, 0, 0)
|
||||
?.toISOString()
|
||||
.split("T")[0],
|
||||
endDateRetireLaw: new Date(new Date().getFullYear(), 8, 30, 23, 59, 59, 999)
|
||||
.toISOString()
|
||||
.split("T")[0],
|
||||
})
|
||||
.andWhere("registryEmployee.isProbation = :isProbation", {
|
||||
isProbation: isProbation,
|
||||
|
|
@ -615,52 +621,39 @@ export class ReportController extends Controller {
|
|||
.andWhere(IsLeavecondition.join(" AND "), parameters)
|
||||
.andWhere("registryEmployee.employeeClass = 'PERM'")
|
||||
.andWhere(
|
||||
posType != null && posType != ""
|
||||
? "registryEmployee.posTypeName LIKE :posTypeName"
|
||||
: "1=1",
|
||||
posType != null && posType != "" ? "registryEmployee.posTypeName LIKE :posTypeName" : "1=1",
|
||||
{
|
||||
posTypeName: `%${posType}%`,
|
||||
}
|
||||
},
|
||||
)
|
||||
.andWhere(
|
||||
posLevel != null && posLevel != ""
|
||||
? "registryEmployee.posLevelName LIKE :posLevelName"
|
||||
posLevel != null && posLevel != ""
|
||||
? "registryEmployee.posLevelName LIKE :posLevelName"
|
||||
: "1=1",
|
||||
{
|
||||
posLevelName: `%${posLevel}%`,
|
||||
}
|
||||
},
|
||||
)
|
||||
.andWhere(
|
||||
position != null && position != ""
|
||||
? "registryEmployee.position LIKE :position"
|
||||
: "1=1",
|
||||
position != null && position != "" ? "registryEmployee.position LIKE :position" : "1=1",
|
||||
{
|
||||
position: `%${position}%`,
|
||||
}
|
||||
},
|
||||
)
|
||||
.andWhere(gender != null && gender != "" ? "registryEmployee.gender LIKE :gender" : "1=1", {
|
||||
gender: `%${gender}%`,
|
||||
})
|
||||
.andWhere(
|
||||
gender != null && gender != ""
|
||||
? "registryEmployee.gender LIKE :gender"
|
||||
: "1=1",
|
||||
{
|
||||
gender: `%${gender}%`,
|
||||
}
|
||||
)
|
||||
.andWhere(
|
||||
status != null && status != ""
|
||||
? "registryEmployee.relationship LIKE :relationship"
|
||||
: "1=1",
|
||||
status != null && status != "" ? "registryEmployee.relationship LIKE :relationship" : "1=1",
|
||||
{
|
||||
relationship: `%${status}%`,
|
||||
}
|
||||
},
|
||||
)
|
||||
.andWhere(
|
||||
education != null && education != ""
|
||||
? "registryEmployee.degree LIKE :degree"
|
||||
: "1=1",
|
||||
education != null && education != "" ? "registryEmployee.degree LIKE :degree" : "1=1",
|
||||
{
|
||||
degree: `%${education}%`,
|
||||
}
|
||||
},
|
||||
)
|
||||
.orderBy(`registryEmployee.${sortBy}`, sort)
|
||||
.getManyAndCount();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue