Example #1
0
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;
}
Example #2
0
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;
}