<?xml version="1.0" encoding="UTF-8"?>
<a:service xmlns:ns1="leaf.application.action" xmlns:p="uncertain.proc" xmlns:a="http://www.leaf-framework.org/application" xmlns:s="leaf.plugin.script" trace="true">
    <a:init-procedure>
        <s:server-script import="app/app_login_check.js"><![CDATA[
            function con_contract_query() {
                var contract_list_details;
                var all_status = 'Y';
                try {
                    var contract_list_bm = $bm('wx.WX100.con_contract_query');
                    var contract_list_map;
                    var inputData = $ctx.parameter.inputData;
                    if (inputData == null){
                        contract_list_map = contract_list_bm.queryAsMap({
                            id_no:$ctx.parameter.idNo,
                            id_type:$ctx.parameter.IdType,
                            account_type: $ctx.parameter.accountType,
                            organization_id:$ctx.parameter.organizationId
                        });
                    }else{
                        contract_list_map = contract_list_bm.queryAsMap({
                            id_no:$ctx.parameter.idNo,
                            id_type:$ctx.parameter.IdType,
                            account_type: $ctx.parameter.accountType,
                            organization_id:$ctx.parameter.organizationId,
                            contract_number:inputData,
                        });
                    }
                    contract_list_details = contract_list_map.getChildren();
                    var unSignContracts = [];
                    if (contract_list_details) {
                        for (var i = 0;i < contract_list_details.length;i++) {
                            var contract_list_detail = contract_list_details[i];
                            var contract_id = contract_list_detail.contract_id;
                            var ec_sign_type = contract_list_detail.ec_sign_type;
                            if(ec_sign_type == 'NEW'||ec_sign_type == 'INITIATE' ||ec_sign_type == 'SIGNING') {
                                var signFiles = [];
                                //未完成签署附件信息表查询
                                var file_list_bm = $bm('wx.WX100.con_file_list_query');
                                var file_list_map = file_list_bm.queryAsMap({
                                    contract_id: contract_id,
                                    id_no: $ctx.parameter.idNo,
                                    id_type: $ctx.parameter.IdType
                                });
                                var file_list_details = file_list_map.getChildren();
                                for (var j = 0; j < file_list_details.length; j++) {
                                    signFiles.push({
                                        fileName: file_list_details[j].file_name
                                    });
                                }
                                unSignContracts.push({
                                    "contractNumber": contract_list_detail.contract_number,
                                    "telentName": contract_list_detail.bp_id_tenant_n,
                                    "agentName": contract_list_detail.bp_id_agent_level1_n,
                                    "serialNo": contract_list_detail.machine_number,
                                    "contractStatus": contract_list_detail.contract_status_n,
                                    "esignStatus": contract_list_detail.ec_sign_type_n,
                                    "brand": contract_list_detail.brand_id_n,
                                    "modelNo": contract_list_detail.modelcd,
                                    "totalTimes": contract_list_detail.lease_times,
                                    "leaseStartDate":contract_list_detail.lease_start_date,
                                    "signAmt": contract_list_detail.total_sign,
                                    "signUrl":contract_list_detail.sign_url,
                                    "userSignStatus":contract_list_detail.userSignStatus,
                                    "signFiles": signFiles
                                });
                                var contract_list_detail = contract_list_details[i];
                                if (contract_list_detail.userSignStatus == 'N'){
                                    all_status = 'N';
                                }
                            }
                        }
                    }
                    $ctx.parameter.return_status = '0';
                    $ctx.parameter.return_message = '执行成功';
                } catch (e) {
                    $ctx.success = "true";
                    $ctx.parameter.return_status = '1';
                    $ctx.parameter.return_message = String(e);
                }

                //返回结果
                var result = {
                    code: $ctx.parameter.return_status,
                    message: $ctx.parameter.return_message,
                    allConSignStatus:all_status,
                    unSignContracts: unSignContracts
                };
                $ctx.parameter.json = JSON.stringify(result);
            }
            if ($ctx.parameter.return_status != 'E' && $ctx.parameter.return_status != 'TIMEOUT') {
                con_contract_query();
            }
        ]]></s:server-script>
    </a:init-procedure>
    <a:service-output output="/parameter/@json"/>
</a:service>