Use resume conclusion tables
This commit is contained in:
@@ -663,25 +663,95 @@ class Resume extends MY_Controller
|
||||
$this->sys_ok($result);
|
||||
exit;
|
||||
}
|
||||
function save()
|
||||
{
|
||||
if (!$this->isLogin) {
|
||||
$this->sys_error("Invalid Token");
|
||||
exit;
|
||||
}
|
||||
$prm = $this->sys_input;
|
||||
$act = $prm['data']['act'];
|
||||
$data = $prm['data'];
|
||||
$userid = $this->sys_user["M_UserID"];
|
||||
if ($act == 'VAL') {
|
||||
if (
|
||||
$data['fitnessCategory'] == '' ||
|
||||
intval($data['fitnessCategory']) == 0 ||
|
||||
$data['fitnessCategory'] == null
|
||||
) {
|
||||
$this->sys_error("Pilih kategori fitness atau generate terlebih dahulu");
|
||||
exit;
|
||||
}
|
||||
function save()
|
||||
{
|
||||
if (!$this->isLogin) {
|
||||
$this->sys_error("Invalid Token");
|
||||
exit;
|
||||
}
|
||||
$prm = $this->sys_input;
|
||||
$data = isset($prm['data']) && is_array($prm['data']) ? $prm['data'] : $prm;
|
||||
$header = isset($data['header']) && is_array($data['header']) ? $data['header'] : [];
|
||||
$act = $data['act'] ?? ($header['act'] ?? 'NEW');
|
||||
$userid = $this->sys_user["M_UserID"];
|
||||
$fitnessCategoryData = $data['fitnessCategory'] ?? ($header['fitnessCategory'] ?? null);
|
||||
$fitnessCategoryID = 0;
|
||||
if (is_array($fitnessCategoryData)) {
|
||||
$fitnessCategoryID = intval($fitnessCategoryData['Mcu_FitnessCategoryID'] ?? ($fitnessCategoryData['id'] ?? 0));
|
||||
}
|
||||
else {
|
||||
$fitnessCategoryID = intval($fitnessCategoryData);
|
||||
}
|
||||
|
||||
$conclusionRows = [];
|
||||
if (isset($header['conclusions']) && is_array($header['conclusions'])) {
|
||||
foreach ($header['conclusions'] as $conclusionRow) {
|
||||
if (!is_array($conclusionRow)) {
|
||||
continue;
|
||||
}
|
||||
$details = isset($conclusionRow['details']) && is_array($conclusionRow['details']) ? $conclusionRow['details'] : [];
|
||||
$conclusionRows[] = [
|
||||
'id' => intval($conclusionRow['id'] ?? 0),
|
||||
'code' => strtoupper(trim($conclusionRow['code'] ?? '')),
|
||||
'kesimpulan' => trim($details['kesimpulan'] ?? ''),
|
||||
'rekomendasi' => trim($details['rekomendasi'] ?? ''),
|
||||
'saran' => trim($details['saran'] ?? ''),
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
if (empty($conclusionRows)) {
|
||||
$conclusionRows[] = [
|
||||
'id' => 1,
|
||||
'code' => 'ID',
|
||||
'kesimpulan' => trim($header['kesimpulan'] ?? ''),
|
||||
'rekomendasi' => trim($header['rekomendasi'] ?? ''),
|
||||
'saran' => trim($header['saran'] ?? ''),
|
||||
];
|
||||
if (
|
||||
trim($header['conclusion'] ?? '') !== '' ||
|
||||
trim($header['recomendation'] ?? '') !== '' ||
|
||||
trim($header['advice'] ?? '') !== ''
|
||||
) {
|
||||
$conclusionRows[] = [
|
||||
'id' => 2,
|
||||
'code' => 'EN',
|
||||
'kesimpulan' => trim($header['conclusion'] ?? ''),
|
||||
'rekomendasi' => trim($header['recomendation'] ?? ''),
|
||||
'saran' => trim($header['advice'] ?? ''),
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
$defaultConclusion = [
|
||||
'kesimpulan' => '',
|
||||
'rekomendasi' => '',
|
||||
'saran' => '',
|
||||
];
|
||||
$idConclusion = $defaultConclusion;
|
||||
$engConclusion = $defaultConclusion;
|
||||
foreach ($conclusionRows as $conclusionRow) {
|
||||
if ($idConclusion === $defaultConclusion && ($conclusionRow['code'] === 'ID' || intval($conclusionRow['id']) === 1)) {
|
||||
$idConclusion = $conclusionRow;
|
||||
}
|
||||
if ($engConclusion === $defaultConclusion && ($conclusionRow['code'] === 'EN' || intval($conclusionRow['id']) === 2)) {
|
||||
$engConclusion = $conclusionRow;
|
||||
}
|
||||
}
|
||||
if ($idConclusion === $defaultConclusion && !empty($conclusionRows)) {
|
||||
$idConclusion = $conclusionRows[0];
|
||||
}
|
||||
if ($engConclusion === $defaultConclusion && count($conclusionRows) > 1) {
|
||||
$engConclusion = $conclusionRows[1];
|
||||
}
|
||||
|
||||
if ($act == 'VAL') {
|
||||
if (
|
||||
$fitnessCategoryID == 0
|
||||
) {
|
||||
$this->sys_error("Pilih kategori fitness atau generate terlebih dahulu");
|
||||
exit;
|
||||
}
|
||||
|
||||
$sql = "";
|
||||
$query = $this->db_onedev->query($sql, [$data['orderID']]);
|
||||
@@ -744,40 +814,25 @@ class Resume extends MY_Controller
|
||||
VALUES(?,?,?,?,?,?,?,?,?)";
|
||||
$query = $this->db_onedev->query($sql, [
|
||||
$data['orderID'],
|
||||
$status,
|
||||
$val,
|
||||
$dt,
|
||||
$userid,
|
||||
$data['header']['kesimpulan'],
|
||||
$data['header']['rekomendasi'],
|
||||
$data['header']['saran'],
|
||||
$data['fitnessCategory'],
|
||||
]);
|
||||
if (!$query) {
|
||||
$message = $this->db_onedev->error();
|
||||
$message['qry'] = $this->db_onedev->last_query();
|
||||
$this->sys_error($message);
|
||||
$status,
|
||||
$val,
|
||||
$dt,
|
||||
$userid,
|
||||
$idConclusion['kesimpulan'],
|
||||
$idConclusion['rekomendasi'],
|
||||
$idConclusion['saran'],
|
||||
$fitnessCategoryID,
|
||||
]);
|
||||
if (!$query) {
|
||||
$message = $this->db_onedev->error();
|
||||
$message['qry'] = $this->db_onedev->last_query();
|
||||
$this->sys_error($message);
|
||||
exit;
|
||||
}
|
||||
$resumeID = $this->db_onedev->insert_id();
|
||||
|
||||
$sql = "INSERT INTO mcu_resume_eng(
|
||||
Mcu_ResumeEngMcu_ResumeID,
|
||||
Mcu_ResumeEngAdvice,
|
||||
Mcu_ResumeEngConlusion,
|
||||
Mcu_ResumeEngRecomendation,
|
||||
Mcu_ResumeEngCreated,
|
||||
Mcu_ResumeEngCreatedUserID)
|
||||
VALUES(?,?,?,?,NOW(),?)";
|
||||
$query = $this->db_onedev->query($sql, [
|
||||
$resumeID,
|
||||
$data['header']['advice'],
|
||||
$data['header']['conclusion'],
|
||||
$data['header']['recomendation'],
|
||||
$userid
|
||||
]);
|
||||
}
|
||||
else {
|
||||
}
|
||||
else {
|
||||
if ($act != 'VAL' && $act != 'UNVAL') {
|
||||
$statusLog = "UPDATE";
|
||||
}
|
||||
@@ -816,64 +871,32 @@ class Resume extends MY_Controller
|
||||
Mcu_ResumeMcu_FitnessCategoryID = ?
|
||||
WHERE Mcu_ResumeID = ?";
|
||||
$query = $this->db_onedev->query($sql, [
|
||||
$status,
|
||||
$val,
|
||||
$dt,
|
||||
$userid,
|
||||
$data['header']['kesimpulan'],
|
||||
$data['header']['rekomendasi'],
|
||||
$data['header']['saran'],
|
||||
$data['fitnessCategory'],
|
||||
$resumeID,
|
||||
]);
|
||||
if (!$query) {
|
||||
$message = $this->db_onedev->error();
|
||||
$status,
|
||||
$val,
|
||||
$dt,
|
||||
$userid,
|
||||
$idConclusion['kesimpulan'],
|
||||
$idConclusion['rekomendasi'],
|
||||
$idConclusion['saran'],
|
||||
$fitnessCategoryID,
|
||||
$resumeID,
|
||||
]);
|
||||
if (!$query) {
|
||||
$message = $this->db_onedev->error();
|
||||
$message['qry'] = $this->db_onedev->last_query();
|
||||
$this->sys_error($message);
|
||||
exit;
|
||||
}
|
||||
$sql = "SELECT * FROM mcu_resume_eng WHERE Mcu_ResumeEngMcu_ResumeID = ? AND Mcu_ResumeEngIsActive = 'Y'";
|
||||
$query = $this->db_onedev->query($sql, [
|
||||
$resumeID,
|
||||
]);
|
||||
$cekEng = $query->result_array();
|
||||
if (empty($cekEng)) {
|
||||
$sql = "INSERT INTO mcu_resume_eng(
|
||||
Mcu_ResumeEngMcu_ResumeID,
|
||||
Mcu_ResumeEngAdvice,
|
||||
Mcu_ResumeEngConlusion,
|
||||
Mcu_ResumeEngRecomendation,
|
||||
Mcu_ResumeEngCreated,
|
||||
Mcu_ResumeEngCreatedUserID)
|
||||
VALUES(?,?,?,?,NOW(),?)";
|
||||
$query = $this->db_onedev->query($sql, [
|
||||
$resumeID,
|
||||
$data['header']['advice'],
|
||||
$data['header']['conclusion'],
|
||||
$data['header']['recomendation'],
|
||||
$userid
|
||||
]);
|
||||
}
|
||||
else {
|
||||
$sql = "UPDATE mcu_resume_eng
|
||||
SET Mcu_ResumeEngAdvice = ?,
|
||||
Mcu_ResumeEngConlusion = ?,
|
||||
Mcu_ResumeEngRecomendation = ?
|
||||
WHERE Mcu_ResumeEngMcu_ResumeID = ? AND Mcu_ResumeEngIsActive = 'Y'";
|
||||
$query = $this->db_onedev->query($sql, [
|
||||
$data['header']['advice'],
|
||||
$data['header']['conclusion'],
|
||||
$data['header']['recomendation'],
|
||||
$resumeID,
|
||||
]);
|
||||
}
|
||||
}
|
||||
for ($i = 0; $i < count($data['detail']); $i++) {
|
||||
$detail = $data['detail'][$i];
|
||||
$result = $detail['result'];
|
||||
if ($result == null) {
|
||||
$result = '';
|
||||
}
|
||||
}
|
||||
$this->syncResumeConclusions($resumeID, $conclusionRows, $userid);
|
||||
|
||||
$detailRows = isset($data['detail']) && is_array($data['detail']) ? $data['detail'] : [];
|
||||
for ($i = 0; $i < count($detailRows); $i++) {
|
||||
$detail = $detailRows[$i];
|
||||
$result = $detail['result'];
|
||||
if ($result == null) {
|
||||
$result = '';
|
||||
}
|
||||
if ($detail['category'] == 'LAB') {
|
||||
|
||||
$sql = "SELECT Mcu_ResumeDetailsID
|
||||
@@ -1047,9 +1070,77 @@ class Resume extends MY_Controller
|
||||
$this->sys_error($message);
|
||||
exit;
|
||||
}
|
||||
$this->sys_ok('ok');
|
||||
}
|
||||
function getlab($id, $isApi)
|
||||
$this->sys_ok('ok');
|
||||
}
|
||||
|
||||
private function syncResumeConclusions($resumeID, $conclusionRows, $userid)
|
||||
{
|
||||
foreach ($conclusionRows as $conclusionRow) {
|
||||
$langID = intval($conclusionRow['id'] ?? 0);
|
||||
if ($langID <= 0) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$sql = "SELECT Mcu_ResumeConclusionID
|
||||
FROM mcu_resume_conclusion
|
||||
WHERE Mcu_ResumeConclusionMcu_ResumeID = ?
|
||||
AND Mcu_ResumeConclusionM_LangID = ?
|
||||
AND Mcu_ResumeConclusionIsActive = 'Y'
|
||||
LIMIT 1";
|
||||
$query = $this->db_onedev->query($sql, [$resumeID, $langID]);
|
||||
if (!$query) {
|
||||
$message = $this->db_onedev->error();
|
||||
$message['qry'] = $this->db_onedev->last_query();
|
||||
$this->sys_error($message);
|
||||
exit;
|
||||
}
|
||||
|
||||
$existingConclusion = $query->row_array();
|
||||
if (empty($existingConclusion)) {
|
||||
$sql = "INSERT INTO mcu_resume_conclusion(
|
||||
Mcu_ResumeConclusionMcu_ResumeID,
|
||||
Mcu_ResumeConclusionM_LangID,
|
||||
Mcu_ResumeConclusionKesimpulan,
|
||||
Mcu_ResumeConclusionRekomendasi,
|
||||
Mcu_ResumeConclusionSaran,
|
||||
Mcu_ResumeConclusionCreated,
|
||||
Mcu_ResumeConclusionCreatedUserID)
|
||||
VALUES(?,?,?,?,?,NOW(),?)";
|
||||
$query = $this->db_onedev->query($sql, [
|
||||
$resumeID,
|
||||
$langID,
|
||||
$conclusionRow['kesimpulan'],
|
||||
$conclusionRow['rekomendasi'],
|
||||
$conclusionRow['saran'],
|
||||
$userid,
|
||||
]);
|
||||
}
|
||||
else {
|
||||
$sql = "UPDATE mcu_resume_conclusion
|
||||
SET Mcu_ResumeConclusionKesimpulan = ?,
|
||||
Mcu_ResumeConclusionRekomendasi = ?,
|
||||
Mcu_ResumeConclusionSaran = ?,
|
||||
Mcu_ResumeConclusionLastUpdated = NOW(),
|
||||
Mcu_ResumeConclusionLastUpdatedUserID = ?
|
||||
WHERE Mcu_ResumeConclusionID = ?";
|
||||
$query = $this->db_onedev->query($sql, [
|
||||
$conclusionRow['kesimpulan'],
|
||||
$conclusionRow['rekomendasi'],
|
||||
$conclusionRow['saran'],
|
||||
$userid,
|
||||
$existingConclusion['Mcu_ResumeConclusionID'],
|
||||
]);
|
||||
}
|
||||
|
||||
if (!$query) {
|
||||
$message = $this->db_onedev->error();
|
||||
$message['qry'] = $this->db_onedev->last_query();
|
||||
$this->sys_error($message);
|
||||
exit;
|
||||
}
|
||||
}
|
||||
}
|
||||
function getlab($id, $isApi)
|
||||
{
|
||||
$prm = $this->sys_input;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user