function GroupSavePay() { $pdo = PdoDataAccess::getPdoObject(); $pdo->beginTransaction(); $parts = json_decode($_POST["parts"]); $FirstPay = true; $DocObj = null; $sumAmount = 0; foreach ($parts as $partStr) { $arr = preg_split("/_/", $partStr); $RequestID = $arr[0]; $PayAmount = $arr[1]; $obj = new LON_BackPays(); PdoDataAccess::FillObjectByArray($obj, $_POST); $obj->RequestID = $RequestID; $obj->PayAmount = $PayAmount; $obj->IsGroup = "YES"; if ($obj->PayType == "9") { $obj->ChequeStatus = 3; } $obj->Add($pdo); $ReqObj = new LON_requests($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, true); } else { $result = RegisterCustomerPayDoc($DocObj, $obj, $_POST["CostID"], $_POST["TafsiliID"], $_POST["TafsiliID2"], isset($_POST["CenterAccount"]) ? true : false, $_POST["BranchID"], $_POST["FirstCostID"], $_POST["SecondCostID"], $pdo, true); } if (!$result) { $pdo->rollback(); print_r(ExceptionHandler::PopAllExceptions()); echo Response::createObjectiveResponse(false, "خطا در صدور سند حسابداری"); die; } if ($FirstPay) { $DocID = LON_BackPays::GetAccDoc($obj->BackPayID, $pdo); $DocObj = new ACC_docs($DocID, $pdo); $FirstPay = false; } $sumAmount += $PayAmount * 1; } if ($_POST["PayType"] == "9") { $obj = new LON_BackPays(); PdoDataAccess::FillObjectByArray($obj, $_POST); $obj->ChequeStatus = "1"; $obj->PayAmount = $sumAmount; $result = RegisterOuterCheque($DocID, $obj, $pdo); $obj->ChequeStatus = "3"; $result = RegisterOuterCheque($DocID, $obj, $pdo); } $pdo->commit(); echo Response::createObjectiveResponse(true, ""); die; }