COMPLEDED JOBS

This commit is contained in:
CHIEFSOFT\ameye
2024-01-21 20:10:49 -05:00
parent 3dab44943c
commit b48728a79d
4 changed files with 129 additions and 1 deletions
+1
View File
@@ -7,4 +7,5 @@ long WrenchJobManagerOffers( CVars in, CVars &out);
long WrenchJobManagerList( CVars in, CVars &out );
long WrenchJobManagerActiveTasksList( CVars in, CVars &out);
long WrenchUsersActiveTasksList(CVars in, CVars &out);
long WrenchUsersTasksReportList(CVars in, CVars &out);
#endif
+1 -1
View File
@@ -57,7 +57,7 @@ long jobs_calls(CVars in, CVars &out) {
return WrenchUsersActiveTasksList( in, out);
break;
case WRENCHBOARD_JOB_REPORT:
return WrenchUsersActiveTasksList( in, out);
return WrenchUsersTasksReportList( in, out);
break;
case WRENCHBOARD_JOB_CREATEJOB:
job_mode = REQ_LONG(in, "job_mode", 1, -1);
+126
View File
@@ -619,5 +619,131 @@ long WrenchUsersActiveTasksList(CVars in, CVars &out) {
}
long WrenchUsersTasksReportList(CVars in, CVars &out) {
logfmt(logINFO, "WrenchUsersTasksReportList()");
char extraq[60];
char vname[30];
long ret = PHP_API_BAD_PARAM;
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);
long allstatus = REQ_LONG(in, "allstatus", 1, -1);
if ( allstatus == 100 ){
snprintf(extraq, sizeof (extraq), "");
}
else
{
// snprintf(extraq, sizeof (extraq), " AND mc.delivery_date > now() ");
}
out["total_record"] = "0";
const PGresult *res;
res = pgsql_query("SELECT mc.id AS contract_id, mc.job_id AS job_id, mc.price, mc.timeline_days,mc.contract, "
" mj.title, mj.description AS description,mc.job_detail AS job_description,mc.uid AS contract_uid, "
" mj.banner AS banner, c.code AS currency_code, c.description AS currency_description, mj.uid AS job_uid, "
" (CASE WHEN mc.status=4 THEN 'REVIEW' "
" WHEN mc.status = 5 AND mc.delivery_date > now() THEN 'COMPLETED' "
" WHEN mc.status = 1 AND mc.delivery_date <now() THEN 'PASTDUE' "
" ELSE 'Others' END) AS status_description,mc.delivery_date, "
" (CASE WHEN mc.member_id = %lu THEN 'OWNER' ELSE 'WORKER' END) AS owner_status, mc.ext_request AS ext_request "
" FROM members_jobs_contract mc "
" LEFT JOIN members_jobs mj ON mj.id = mc.job_id "
" LEFT JOIN members m ON m.id=mc.client_id "
" LEFT JOIN currency c ON c.country=mj.country "
" WHERE mc.client_id =%lu AND mc.status IN (5) %s "
" ORDER BY mc.id DESC LIMIT %lu OFFSET %lu",member_id, member_id,extraq, limit, offset);
//ORDER BY id DESC LIMIT %lu OFFSET %lu", in["member_id"].Long(), limit, offset);
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;
CVars rec;
map_to_cvars(f, rec);
snprintf(vname, sizeof (vname), "id_%05d", i);
out[vname] = rec["contract_id"];
snprintf(vname, sizeof (vname), "job_detail_%05d", i);
out[vname] = "";
snprintf(vname, sizeof (vname), "expire_%05d", i);
out[vname] = rec["expire"];
snprintf(vname, sizeof (vname), "title_%05d", i);
out[vname] = rec["title"];
snprintf(vname, sizeof (vname), "project_%05d", i);
out[vname] = rec["project"];
snprintf(vname, sizeof (vname), "description_%05d", i);
out[vname] = rec["description"];
snprintf(vname, sizeof (vname), "status_description_%05d", i);
out[vname] = rec["status_description"];
snprintf(vname, sizeof (vname), "delivery_date_%05d", i);
out[vname] = rec["delivery_date"];
snprintf(vname, sizeof (vname), "status_description_%05d", i);
out[vname] = rec["status_description"];
snprintf(vname, sizeof (vname), "ext_request_%05d", i);
out[vname] = rec["ext_request"];
snprintf(vname, sizeof (vname), "timeline_days_%05d", i);
out[vname] = rec["timeline_days"];
snprintf(vname, sizeof (vname), "contract_%05d", i);
out[vname] = rec["contract"];
snprintf(vname, sizeof (vname), "job_description_%05d", i);
out[vname] = rec["job_description"];
snprintf(vname, sizeof (vname), "price_%05d", i);
out[vname] = rec["price"];
snprintf(vname, sizeof (vname), "job_id_%05d", i);
out[vname] = rec["job_id"];
snprintf(vname, sizeof (vname), "origin_job_uid_%05d", i); // added to support original job UID
out[vname] = rec["job_uid"];
snprintf(vname, sizeof (vname), "contract_id_%05d", i);
out[vname] = rec["contract_id"];
snprintf(vname, sizeof (vname), "owner_status_%05d", i);
out[vname] = rec["owner_status"];
snprintf(vname, sizeof (vname), "contract_uid_%05d", i);
out[vname] = rec["contract_uid"];
snprintf(vname, sizeof (vname), "banner_%05d", i);
out[vname] = rec["banner"];
snprintf(vname, sizeof (vname), "currency_%05d", i);
out[vname] = rec["currency_description"];
snprintf(vname, sizeof (vname), "currency_code_%05d", i);
out[vname] = rec["currency_code"];
}
}
ret = PHP_API_OK;
out["status"] = "OK";
} catch (bad_parameter) {
logfmt(logINFO, "ERROR CALL long WrenchUsersTasksReportList(CVars in, CVars &out)");
}
logfmt(logINFO, "/WrenchUsersTasksReportList()");
return ret;
}
+1
View File
@@ -646,6 +646,7 @@ class ResultFormatter extends Model
case WRENCHBOARD_JOB_OFFERS:
case WRENCHBOARD_JOB_ACTIVE:
case WRENCHBOARD_JOB_USERACTIVE:
CASE WRENCHBOARD_JOB_REPORT:
$total = $out["total_record"];
$res = array(