public static function GetLastKode($cKey, $lUpdate = true, $dTgl = '', $nLen = 18) { global $scDb; if ($dTgl == '') { $dTglTransaksi = scDate::GetTglTransaksi(); $dTgl = $dTglTransaksi; } $dTgl = date("dmy", strtotime(scDate::Date2String($dTgl))); $dTgl = str_replace("-", "", $dTgl); $cCabang = scSys::GetCabangUser(); $cKey .= $cCabang . $dTgl; //TBcabang2013100100001 $nKey = strlen($cKey); $nRow = self::GetLastInt($cKey, $lUpdate); $cLastKode = $cKey . str_repeat("0", $nLen - $nKey - strlen($nRow)) . $nRow; return $cLastKode; }
public static function SaveLvAccess($cFileLoc, $cTable, $cTableId, $cTableValue, $cId = "") { global $scDb; $cUserName = GetSession("cSession_UserName"); $vaAccess = self::GetLvAccess($cFileLoc); $cTableValue = json_encode($cTableValue); $cMd5Val = md5($cTableValue); $vaArray = array("TableName" => $cTable, "TableId" => $cTableId, "TableValue" => $cTableValue, "Md5Val" => md5($cTableValue)); $cReturn = false; if ($cId == "") { scArray::ArrayMe($vaArray, "DateInsert", scDate::Date2String(scDate::GetTglTransaksi())); scArray::ArrayMe($vaArray, "UserName_Maker", $cUserName); scArray::ArrayMe($vaArray, "DatetimeInsert_Maker", date("Y-m-d h:i:s")); if ($vaAccess['lSigner'] || $vaAccess['lChecker']) { //signer all scArray::ArrayMe($vaArray, "Status", "1"); scArray::ArrayMe($vaArray, "UserName_Checker", $cUserName); scArray::ArrayMe($vaArray, "DatetimeInsert_Checker", date("Y-m-d h:i:s")); } } else { $dbRowLast = scSys::GetKeterangan("*", "Id = '{$cId}'", "sc_access_input"); $vaRowLog = @json_decode($dbRowLast['UserName_Log'], true); if (!is_array($vaRowLog)) { $vaRowLog = unserialize($dbRowLast['UserName_Log']); } if (!is_array($vaRowLog)) { $vaRowLog = array(); } if ($vaAccess['lMaker'] && !$vaAccess['lChecker'] && !$vaAccess['lSigner']) { //edit maker if ($dbRowLast['UserName_Maker'] !== $cUserName) { scArray::ArrayMe($vaArray, "UserName_Maker", $cUserName); if ($dbRowLast['UserName_Maker'] !== "") { $vaRowLog[]['UserName_Maker@' . time()] = $dbRowLast['UserName_Maker']; } } scArray::ArrayMe($vaArray, "Status", "0"); scArray::ArrayMe($vaArray, "DatetimeUpdate_Maker", date("Y-m-d h:i:s")); } if ($vaAccess['lChecker'] && !$vaAccess['lSigner']) { //edit maker if ($dbRowLast['UserName_Checker'] !== $cUserName) { scArray::ArrayMe($vaArray, "UserName_Checker", $cUserName); if ($dbRowLast['UserName_Checker'] !== "") { $vaRowLog[]['UserName_Checker@' . time()] = $dbRowLast['UserName_Checker']; } } scArray::ArrayMe($vaArray, "DatetimeUpdate_Checker", date("Y-m-d h:i:s")); scArray::ArrayMe($vaArray, "Status", "1"); } if (!empty($vaRowLog)) { scArray::ArrayMe($vaArray, "UserName_Log", json_encode($vaRowLog)); } } scArray::ArrayMe($vaArray, "StatusOnView", "0"); if ($vaAccess['lSigner']) { //signer all $cReturn = true; scArray::ArrayMe($vaArray, "UserName_Signer", $cUserName); scArray::ArrayMe($vaArray, "DatetimeInsert_Signer", date("Y-m-d h:i:s")); scArray::ArrayMe($vaArray, "Status", "2"); scArray::ArrayMe($vaArray, "StatusOnView", "2"); } $scDb->Update("sc_access_input", $vaArray, "Id = '{$cId}'", false, array("Cabang" => GetSession("cSession_Cabang"))); if ($cReturn) { $cReturn = scSys::GetKeteranganOne("Id", "TableName = '{$cTable}' and TableId = '{$cTableId}' and Md5Val = '{$cMd5Val}'", "sc_access_input"); } else { $cReturn = ""; } return $cReturn; }