JOB GROUP

This commit is contained in:
CHIEFSOFT\ameye
2023-12-24 15:25:31 -05:00
parent 1f8380ebbb
commit 6087239d4d
4 changed files with 86 additions and 2 deletions
+76
View File
@@ -31,6 +31,7 @@ long WrenchSendJobsOfferFamily(CVars in, CVars &out);
long WrenchSendJobsOfferCreateAssign(CVars in, CVars &out);
long WrenchJobsOfferInterestList(CVars in, CVars &out);
long WrenchUserJobsInterestList(CVars in, CVars &out);
long WrenchJobsGroupList(CVars in, CVars &out);
long jobs_calls(CVars in, CVars &out) {
logfmt(logINFO, "jobs_calls()");
@@ -152,6 +153,15 @@ long jobs_calls(CVars in, CVars &out) {
case WRENCHBOARD_JOB_CANCEL_OFFER:
return WrenchJobPostCancelOffer(in, out);
break;
case WRENCHBOARD_JOB_JOBGROUPS: // 13045
return WrenchJobsGroupList(in, out);
break;
case WRENCHBOARD_JOB_JOBGROUPADD:
break;
}
logfmt(logINFO, "/jobs_calls()");
return 0;
@@ -1759,6 +1769,72 @@ long WrenchSendJobsOfferGroup(CVars in, CVars &out) {
return ret;
}
long WrenchJobsGroupList(CVars in, CVars &out) {
long ret = PHP_API_BAD_PARAM;
char vname[30];
CVars rec;
out = in;
try {
long member_id = REQ_LONG(in, "member_id", 1, -1);
// long offset = REQ_LONG(in, "offset", 1, -1);
// long limit = REQ_LONG(in, "limit", 1, -1);
const PGresult *res = pgsql_query("SELECT * FROM members_job_group "
" WHERE member_id= %lu AND status = 1 "
" ORDER BY group_name ASC",member_id);
if (res != NULL && pgsql_num_rows(res) > 0) {
out["total_record"] = pgsql_num_rows(res);
for (int i = 0, n = pgsql_num_rows(res); i < n; i++) {
map<const char*, const char*>f = pgsql_fetch_assoc(res, i);
if (f.empty()) continue;
map_to_cvars(f, rec);
snprintf(vname, sizeof (vname), "group_uid_%05d", i);
out[vname] = rec["uid"];
snprintf(vname, sizeof (vname), "group_id_%05d", i);
out[vname] = rec["id"];
snprintf(vname, sizeof (vname), "group_name_%05d", i);
out[vname] = rec["group_name"];
}
}
const PGresult *res1 = pgsql_query("SELECT * FROM members_job_groupmember "
" WHERE member_id= %lu AND status =1",member_id);
if (res1 != NULL && pgsql_num_rows(res1) > 0) {
out["gm_total_record"] = pgsql_num_rows(res1);
for (int i = 0, n = pgsql_num_rows(res1); i < n; i++) {
map<const char*, const char*>f = pgsql_fetch_assoc(res1, i);
if (f.empty()) continue;
map_to_cvars(f, rec);
snprintf(vname, sizeof (vname), "gm_uid_%05d", i);
out[vname] = rec["uid"];
snprintf(vname, sizeof (vname), "gm_group_id_%05d", i);
out[vname] = rec["group_id"];
snprintf(vname, sizeof (vname), "gm_firstname_%05d", i);
out[vname] = rec["firstname"];
snprintf(vname, sizeof (vname), "gm_lastname_%05d", i);
out[vname] = rec["lastname"];
snprintf(vname, sizeof (vname), "gm_email_%05d", i);
out[vname] = rec["email"];
}
}
ret = PHP_API_OK;
} catch (bad_parameter) {
out["log_status"] = "Error WrenchJobsGroupList";
}
return ret;
}
long WrenchDeleteJobsGroup(CVars in, CVars &out) {
long ret = PHP_API_BAD_PARAM;
try {