Active Job

This commit is contained in:
CHIEFSOFT\ameye
2023-05-15 18:55:18 -04:00
parent eef1857ec4
commit eb999b3631
8 changed files with 110 additions and 1 deletions
+1
View File
@@ -6,4 +6,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);
#endif
@@ -228,6 +228,7 @@ enum { PARTNER_STRIPE };
#define WRENCHBOARD_JOB_LISTJOBS 13005
#define WRENCHBOARD_JOB_OFFERS 13006
#define WRENCHBOARD_JOB_ACTIVE 13008
#define WRENCHBOARD_JOB_USERACTIVE 13009
#define WRENCHBOARD_JOB_CREATEJOB 13010
#define WRENCHBOARD_JOB_DELETEJOB 13011
+4
View File
@@ -43,6 +43,10 @@ long jobs_calls(CVars in, CVars &out) {
case WRENCHBOARD_JOB_ACTIVE: //
return WrenchJobManagerActiveTasksList(in, out);
break;
case WRENCHBOARD_JOB_USERACTIVE:
return WrenchUsersActiveTasksList( in, &out);
break;
case WRENCHBOARD_JOB_CREATEJOB:
job_mode = REQ_LONG(in, "job_mode", 1, -1);
switch(job_mode){
@@ -358,3 +358,96 @@ long WrenchJobManagerActiveTasksList(CVars in, CVars &out) {
}
long WrenchUsersActiveTasksList(CVars in, CVars &out) {
logfmt(logINFO, "WrenchJobManagerActiveTasksList()");
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);
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, "
" (CASE WHEN mc.status=4 THEN 'Review' "
" WHEN mc.status = 1 AND mc.delivery_date > now() THEN 'Active' "
" WHEN mc.status = 1 AND mc.delivery_date <now() THEN 'Past Due' "
" ELSE 'Others' END) AS status_description,mc.delivery_date "
" 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 "
" WHERE mc.client_id =%lu AND mc.status IN (1,2,4) AND mc.delivery_date > now() "
" ORDER BY mc.id DESC LIMIT %lu OFFSET %lu", in["member_id"].Long(), 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), "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), "contract_id_%05d", i);
out[vname] = rec["contract_id"];
}
}
ret = PHP_API_OK;
out["status"] = "OK";
} catch (bad_parameter) {
logfmt(logINFO, "ERROR CALL long WrenchJobManagerActiveTasksList(CVars in, CVars &out)");
}
logfmt(logINFO, "/WrenchJobManagerActiveTasksList()");
return ret;
}
+1
View File
@@ -221,6 +221,7 @@ define('WRENCHBOARD_JOB_POSTAGREE', 13002);
define('WRENCHBOARD_JOB_LISTJOBS', 13005);
define('WRENCHBOARD_JOB_OFFERS', 13006);
define('WRENCHBOARD_JOB_ACTIVE', 13008);
define('WRENCHBOARD_JOB_USERACTIVE',13009);
define('WRENCHBOARD_JOB_CREATEJOB',13010 );
define('WRENCHBOARD_JOB_DELETEJOB',13011 );
+4
View File
@@ -103,6 +103,10 @@ class WrenchApi extends BaseController
$in["action"] = WRENCHBOARD_FAMILY_LIST;
break;
case 'activetaskslist':
$in["action"] = WRENCHBOARD_JOB_USERACTIVE;
break;
case 'familyadd':
$in["action"] = WRENCHBOARD_FAMILY_ADD;
break;
+2 -1
View File
@@ -127,8 +127,9 @@ define('WRENCHBOARD_JOB_POSTAGREE', 13002);
define('WRENCHBOARD_JOB_LISTJOBS', 13005);
define('WRENCHBOARD_JOB_OFFERS', 13006);
define('WRENCHBOARD_JOB_ACTIVE', 13008);
define('WRENCHBOARD_JOB_USERACTIVE',13009);
define('WRENCHBOARD_JOB_CREATEJOB',13010 );
define('WRENCHBOARD_JOB_CREATEJOB',13010 );
define('WRENCHBOARD_JOB_DELETEJOB',13011 );
define('WRENCHBOARD_JOB_GROUP_MEMBER', 13015) ;
+4
View File
@@ -138,6 +138,10 @@ switch ($endpoint) {
$in["action"] = WRENCHBOARD_FAMILY_LIST;
break;
case 'activetaskslist':
$in["action"] = WRENCHBOARD_JOB_USERACTIVE;
break;
case 'familyadd':
$in["action"] = WRENCHBOARD_FAMILY_ADD;
break;