api.php 3.08 KB
<?php

class api extends CI_Controller
{
    public function dueDiligence($id)
    {
        $order = api('order/detail/'.$id);
        $dueDiligence = api('dueDiligence/'.$id);
        $type = api('dueDiligence/type/'.$id);

        $to = [
            ['dueDiligenceBasicInformationVO.companyAddress', 'clientUnitOutputVO.currentUnitAddress'],
            ['dueDiligenceBasicInformationVO.companyName', 'clientUnitOutputVO.unitName'],
            ['dueDiligenceBasicInformationVO.idNumber', 'clientInfoOutputVO.idCard'],
            ['dueDiligenceBasicInformationVO.maritalCondition', 'clientInfoOutputVO.marriageState'],
            ['dueDiligenceBasicInformationVO.nowAddress', 'clientInfoOutputVO.currentAddress'],
            ['dueDiligenceBasicInformationVO.unitPhone', 'clientUnitOutputVO.unitPhone'],
            ['dueDiligenceBasicInformationVO.userName', 'clientInfoOutputVO.userName'],
            ['dueDiligenceBasicInformationVO.userPhone', 'clientInfoOutputVO.phoneNumber'],

            ['dueDiligenceWorkConditionVO.companyAddressHasReal', '.'],
            ['dueDiligenceAssetsLiabilitiesVO.houseNumber', '.'],

            ['dueDiligenceAssetsLiabilitiesVO.loanPurpose', 'OrderVO.use'],
            ['dueDiligenceCompanyReconnaissanceVO.workSiteNature', '.'],
            ['dueDiligenceCompanyReconnaissanceVO.interviewTime', '.'],
            ['dueDiligenceClientCompanyAssetConditionVO.houseNumber', '.'],
            ['dueDiligenceCompanyOperationConditionVO.mainManageProject', '.'],
            ['dueDiligenceComprehensiveAssessmentVO.loanPurposeHasReal', '.'],
            ['dueDiligenceSurveyAddressVO.addressHasReal', '.'],

            ['dueDiligenceAssetsLiabilitiesVO.orderId', 'clientInfoOutputVO.id'],
            ['dueDiligenceBasicInformationVO.orderId', 'clientInfoOutputVO.id'],
            ['dueDiligenceWorkConditionVO.orderId', 'clientInfoOutputVO.id'],
            ['dueDiligenceClientCompanyAssetConditionVO.orderId', 'clientInfoOutputVO.id'],
            ['dueDiligenceCompanyOperationConditionVO.orderId', 'clientInfoOutputVO.id'],
            ['dueDiligenceCompanyReconnaissanceVO.orderId', 'clientInfoOutputVO.id'],
            ['dueDiligenceComprehensiveAssessmentVO.orderId', 'clientInfoOutputVO.id'],
            ['dueDiligenceSurveyAddressVO.orderId', 'clientInfoOutputVO.id'],
            ['dueDiligenceWorkConditionVO.orderId', 'clientInfoOutputVO.id'],
        ];

        $this->to($dueDiligence, $order, $to);

        $dueDiligence->orderStatus = $order->orderVO->status;

        $this->output
            ->set_content_type('application/json')
            ->set_output(json_encode($dueDiligence));
    }

    private function To($x, $y, $z)
    {
        foreach($z as $v) {
            $v[0] = explode('.', $v[0]);
            $a = $v[0][0];
            $b = $v[0][1];

            if(isset($x->$a) && isset($x->$a->$b) && $x->$a->$b != '') {
                continue;
            } else {
                $v[1] = explode('.', $v[1]);
                $c = $v[1][0];
                $d = $v[1][1];

                @$x->$a->$b = $y->$c->$d;
            }
        }

        return $x;
    }
}