function ReturnLatestOperation($returnMode = false) { $OuterObj = new ACC_IncomeCheques($_POST["IncomeChequeID"]); $pdo = PdoDataAccess::getPdoObject(); $pdo->beginTransaction(); $dt = PdoDataAccess::runquery("select max(DocID) docID from ACC_DocItems di\r\n\t\twhere SourceType=" . DOCTYPE_INCOMERCHEQUE . " AND SourceID=?", array($OuterObj->IncomeChequeID), $pdo); $DocID = $dt[0][0]; if ($DocID > 0) { $temp = PdoDataAccess::runquery("select TafsiliID2 from ACC_DocItems where DocID<>? AND \r\n\t\tSourceType=? AND SourceID=? order by DocID desc", array($DocID, DOCTYPE_INCOMERCHEQUE, $OuterObj->IncomeChequeID)); $OuterObj->ChequeStatus = count($temp) > 0 ? $temp[0][0] : INCOMECHEQUE_NOTVOSUL; PdoDataAccess::runquery("delete from ACC_DocItems \r\n\t\t\twhere DocID=? AND SourceType=" . DOCTYPE_INCOMERCHEQUE . " AND SourceID=?", array($DocID, $OuterObj->IncomeChequeID), $pdo); PdoDataAccess::runquery("delete from ACC_DocItems \r\n\t\t\twhere DocID=? AND CostID=?", array($DocID, COSTID_Bank), $pdo); PdoDataAccess::runquery("delete d from ACC_docs d left join ACC_DocItems using(DocID)\r\n\t\t\twhere DocID=? AND ItemID is null", array($DocID), $pdo); } else { $OuterObj->ChequeStatus = INCOMECHEQUE_NOTVOSUL; } $OuterObj->Edit($pdo); //.................................................. ACC_IncomeCheques::AddToHistory($OuterObj->IncomeChequeID, $OuterObj->ChequeStatus, $pdo); //.................................................. $dt = $OuterObj->GetBackPays($pdo); foreach ($dt as $row) { $PayObj = new LON_BackPays($row["BackPayID"]); ReturnCustomerPayDoc($PayObj, $pdo); } //.................................................. if (ExceptionHandler::GetExceptionCount() > 0) { $pdo->rollBack(); print_r(ExceptionHandler::PopAllExceptions()); echo Response::createObjectiveResponse(false, "خطا در برگشت"); die; } $pdo->commit(); if ($returnMode) { return true; } echo Response::createObjectiveResponse(true, ""); die; }
function EditBackPayDoc() { $obj = new LON_BackPays($_POST["BackPayID"]); $pdo = PdoDataAccess::getPdoObject(); $pdo->beginTransaction(); $DocID = LON_BackPays::GetAccDoc($obj->BackPayID); if ($DocID == 0) { echo Response::createObjectiveResponse(false, "سند مربوطه یافت نشد"); die; } $DocObj = new ACC_docs($DocID); //----------------------------------------------------------------- if (!ReturnCustomerPayDoc($obj, $pdo, true)) { echo Response::createObjectiveResponse(false, ExceptionHandler::GetExceptionsToString()); die; } $ReqObj = new LON_requests($obj->RequestID); $PersonObj = new BSC_persons($ReqObj->ReqPersonID); if ($PersonObj->IsSupporter == "YES") { $result = RegisterSHRTFUNDCustomerPayDoc($DocObj, $obj, $_POST["CostID"], $_POST["TafsiliID"], $_POST["TafsiliID2"], isset($_POST["CenterAccount"]) ? true : false, $_POST["BranchID"], $_POST["FirstCostID"], $_POST["SecondCostID"], $pdo); } else { $result = RegisterCustomerPayDoc($DocObj, $obj, $_POST["CostID"], $_POST["TafsiliID"], $_POST["TafsiliID2"], isset($_POST["CenterAccount"]) ? true : false, $_POST["BranchID"], $_POST["FirstCostID"], $_POST["SecondCostID"], $pdo); } if (!$result) { $pdo->rollback(); //print_r(ExceptionHandler::PopAllExceptions()); echo Response::createObjectiveResponse(false, ExceptionHandler::GetExceptionsToString()); die; } $pdo->commit(); echo Response::createObjectiveResponse(true, ""); die; }