コード例 #1
0
ファイル: Pos.php プロジェクト: ranvijayj/htmlasa
    /**
     * Add relation between AP and PO
     * @param $po
     * @param $invAmount
     * @param $invDate
     * @param $invNumber
     * @param $invReference
     */
    public static function addApPORelation($po, $invAmount, $invDate, $invNumber, $invReference)
    {
        $condition = new CDbCriteria();
        $condition->join = "LEFT JOIN documents ON documents.Document_ID=t.Document_ID";
        $condition->condition = "t.Vendor_ID = '" . $po->Vendor_ID ."'";
        $condition->addCondition("t.Invoice_Amount = $invAmount");
        $condition->addCondition("t.Invoice_Number = '$invNumber'");
        $condition->addCondition("t.Invoice_Date = '$invDate'");
        $condition->addCondition("documents.Project_ID = '" . $po->document->Project_ID . "'");
        $relatedAP = Aps::model()->find($condition);

        if ($relatedAP !== null) {
            if ($relatedAP->PO_ID != 0) {
                $condition = new CDbCriteria();
                $condition->condition = "PO_ID = '" . $relatedAP->PO_ID . "'";
                $condition->addCondition("PO_Trkng_Inv_Date = '$invDate'");
                $condition->addCondition("PO_Trkng_Pmt_Amt = $invAmount");
                $condition->addCondition("PO_Trkng_Inv_Number = '$invNumber'");
                PoPmtsTraking::model()->deleteAll($condition);
            }

            $relatedAP->PO_ID = $po->PO_ID;
            $relatedAP->save();
        }

        $poTrack = new PoPmtsTraking();
        $poTrack->PO_ID = $po->PO_ID;
        $poTrack->PO_Trkng_Beg_Balance = $po->PO_Total;
        $poTrack->PO_Trkng_Desc = $invReference;
        $poTrack->PO_Trkng_Inv_Date = $invDate;
        $poTrack->PO_Trkng_Inv_Number = $invNumber;
        $poTrack->PO_Trkng_Pmt_Amt = $invAmount;
        if ($poTrack->validate()) {
            $poTrack->save();
        }
    }