<?xml version="1.0" encoding="UTF-8"?>
<!--
    $Author: sf
    $Date: 2019-09-06 上午11:10:33
    $Revision: 1.0
    $Purpose: 根据角色来确定用户是否可以进行操作
-->
<a:screen xmlns:a="http://www.leaf-framework.org/application" customizationEnabled="true" trace="true">
    <a:init-procedure>
        <a:model-query defaultWhereClause="t1.user_id=${/session/@user_id}" fetchAll="true"
                       model="csh.CSH509.query_roles_info" rootPath="position_code"/>
        <a:model-query defaultWhereClause="t1.enabled_flag=&apos;Y&apos;" fetchAll="true"
                       model="basic.csh_payment_method_for_lov" rootPath="payment_method_path"/>
        <a:model-query fetchAll="true" model="gld.gld_currency_vl" rootPath="currency"/>
        <a:model-query
                defaultWhereClause="t.code = &apos;CSH511_TRANSACTION_TYPE&apos; and t.code_value in (&apos;RECEIPT&apos;,&apos;ADVANCE_RECEIPT&apos;)"
                fetchAll="true" model="sys.sys_code_values_v" rootPath="transaction_type"/>
        <a:model-query
                defaultWhereClause="t.code = &apos;CSH510_RETURN_SELECT&apos; and t.code_value not in (&apos;RETURN&apos;)"
                fetchAll="true" model="sys.sys_code_values_v" rootPath="returned_flag_rp"/>
        <a:model-query
                defaultWhereClause="t.code = &apos;CSH510_REVERSE_SELECT&apos; and t.code_value not in (&apos;R&apos;)"
                fetchAll="true" model="sys.sys_code_values_v" rootPath="reversed_flag_rp"/>
    </a:init-procedure>
    <a:view>
        <a:link id="csh_transaction_receipt_link"
                url="${/request/@context_path}/modules/csh/CSH511/csh_transaction_receipt.lview"/>
        <a:link id="sys_service_welcome_link" url="${/request/@context_path}/welcome.lview"/>
        <a:link id="csh_transaction_receipt_update_link"
                url="${/request/@context_path}/modules/csh/CSH510/csh_transaction_receipt_update.lview"/>
        <a:link id="csh_transaction_receipt_maintain_post_link"
                url="${/request/@context_path}/modules/csh/CSH510/csh_transaction_receipt_update.lview"/>
        <!-- <a:link id="csh_transaction_receipt_maintain_post_link" url="${/request/@context_path}/modules/csh/CSH510/csh_transaction_receipt_post_query.lview"/> -->
        <a:link id="csh510_csh_transaction_batch_update" model="csh.CSH510.csh_transaction_delete"
                modelaction="batch_update"/>
        <a:link id="csh511_csh_transaction_batch_post_link" model="csh.CSH511.csh_transaction_post"
                modelaction="batch_update"/>
        <!--更新收款单据的状态-->
        <a:link id="csh510N_csh_transaction_batch_update_confirmed_flag" model="csh.CSH510.csh_transaction_update"
                modelaction="batch_update"/>
        <a:link id="csh509_batch_update_confirmed_flag" model="csh.CSH509.query_roles_info" modelaction="batch_update"/>
        <a:link id="csh_transaction_receipt_maintain_readonly_link"
                url="${/request/@context_path}/modules/csh/CSH510/csh_transaction_hand_receipt_update_readonly.lview"/>
        <!-- <a:link id="csh510_csh_transaction_import_link" url="${/request/@context_path}/modules/csh/CSH510/csh_transaction_import.lview"/>-->

        <a:link id="csh510_csh_transaction_import_link"
                url="${/request/@context_path}/modules/csh/CSH510N/csh_transaction_import.lview"/>
        <a:link id="csh509_csh_transaction_upload_link" url="${/request/@context_path}/modules/csh/CSH509/csh509_transaction_upload.lview"/>
        <a:link id="csh509_match_result_link" url="${/request/@context_path}/modules/csh/CSH509/csh509_match_result.lview"/>
        <script type="text/javascript"><![CDATA[

        //添加一个全局变量,该变量用于判断是债权内勤还是会计担当进行确认
        var confirmed_by = '';

        //判断是债权内勤还是会计担当

        function judgeRoles(position_code) {

            var datas = $('position_code_ds').data;
            for (var i = 0; i < datas.length; i++) {
                if (datas[i].data.position_code == position_code) {

                    return true;
                }
            }
            return false;
        }

        //对函数进行封装
        function update_confirmed_flag(updateData) {

            //弹出确认修改的提示框
            $L.showConfirm("提示", '确认执行该操作?', function () {
                //锁屏
                lock_current_window();
                //作废单据
                Leaf.request({
                    url: $('csh509_batch_update_confirmed_flag').getUrl(),
                    para: updateData,
                    success: function () {
                        unlock_current_window();
                        $('csh_transaction_receipt_maintain_result_ds').query();
                        Leaf.showMessage('${l:PROMPT}', '操作成功!');
                        $('csh509_csh_trx_bank_business_confirm').enable();
                        $('csh509_csh_trx_bank_refuse').enable();
                        // $('csh509_csh_trx_bank_drop').enable();
                    }, failure: function () {
                        unlock_current_window();
                        $('csh509_csh_trx_bank_business_confirm').enable();
                        $('csh509_csh_trx_bank_refuse').enable();
                    },
                    error: function () {
                        unlock_current_window();
                        $('csh509_csh_trx_bank_business_confirm').enable();t
                        $('csh509_csh_trx_bank_refuse').enable();
                    },
                    scope: this
                });
            }, function () {
                $('csh509_csh_trx_bank_business_confirm').enable();
                $('csh509_csh_trx_bank_refuse').enable();
            })

        }

        //营业人员确认
        function csh509_csh_trx_bank_business_confirm() {
            //console.log('${/session/@user_id}');
            $('csh509_csh_trx_bank_business_confirm').disable();
            //根据身份判断所选择的数据是否可以确认
            var datas = $('csh_transaction_receipt_maintain_result_ds').selected;
            if (datas.length == 0) {
                Leaf.showInfoMessage("提示", "请先选择数据");
                $('csh509_csh_trx_bank_business_confirm').enable();
                return;
            }
            var updateData = [];
            for (var i = 0; i < datas.length; i++) {
                var confirmed_flag = datas[i].get('confirmed_flag');
                if (confirmed_flag != 'ACCAUDITING' && confirmed_flag != 'DEBTAUDITING') {
                    $L.showInfoMessage("提示", '请选择确认中的收款单据');
                    $('csh509_csh_trx_bank_business_confirm').enable();
                    return;
                }
                // var  paid_byother_flag = datas[i].get('paid_byother_flag');
                var  transaction_type = datas[i].get('guarantor_name_duty');

                // var transaction_type = '';
                // if (paid_byother_flag == 'T'){
                //     if (guarantor_name_duty == '是'){
                //         transaction_type = 'PAYMENT';
                //     }else{
                //         transaction_type = 'ADVANCE_RECEIPT';
                //     }
                // }

                //
                //   if(confirmed_flag=='ACCAUDITING'){
                //       confirmed_by='00321';
                //       if(!judgeRoles("00321")){
                //           $L.showInfoMessage("提示",'需要会计担当确认单据');
                //           return;
                //       }
                //   }else if(confirmed_flag=='DEBTAUDITING'){
                //         confirmed_by='00217';
                //       if(!judgeRoles("00217")){
                //           $L.showInfoMessage("提示",'需要债权内勤确认单据');
                //           return;
                //       }
                //
                //   }else{
                //       $L.showInfoMessage("提示",'该身份没有确认的权限');
                //       return;
                //   }
                //保存要修改的数据
                //岗位
                confirmed_by = '014';
                updateData.push({
                    transaction_id: datas[i].get('transaction_id'),
                    wanted_confirmed_flag: 'ACCAUDITED',
                    wanted_written_off_flag: 'NOT',
                    confirmed_by: confirmed_by,
                    transaction_type: transaction_type,
                    _status: 'update'
                })
            }
            //更新数据
            update_confirmed_flag(updateData);


        }


        //营业人员驳回单据
        function csh509_csh_trx_bank_refuse() {
            //驳回收款单
            $('csh509_csh_trx_bank_refuse').disable();
            //根据身份判断所选择的数据是否可以确认
            var datas = $('csh_transaction_receipt_maintain_result_ds').selected;
            if (datas.length == 0) {
                $('csh509_csh_trx_bank_refuse').enable();
                $L.showInfoMessage("提示", '请先选择数据');
                return;
            }
            var updateData = [];
            for (var i = 0; i < datas.length; i++) {
                var confirmed_flag = datas[i].get('confirmed_flag');
                if(confirmed_flag!='ACCAUDITING'){
                    $L.showInfoMessage("提示",'请选择收款确认中的收款单据');
                    $('csh509_csh_trx_bank_refuse').enable();
                    return;
                }
                //     //需要债权用户和会计担当才能驳回单据
                //       if(confirmed_flag=='ACCAUDITING'){
                //      if(!judgeRoles("00321")){
                //          $L.showInfoMessage("提示",'需要会计担驳回单据');
                //          return;
                //      }
                //  }
                //  if(confirmed_flag=='DEBTAUDITING'){
                //      if(!judgeRoles("00217")){
                //          $L.showInfoMessage("提示",'需要债权内勤驳回单据');
                //          return;
                //      }
                //  }
                //保存要修改的数据
                updateData.push({
                    transaction_id: datas[i].get('transaction_id'),
                    wanted_confirmed_flag: 'CT_REJECTED',
                    _status: 'update'
                })
            }

            //更新数据
            update_confirmed_flag(updateData);

        }

        //新增单据的作废
        function csh509_csh_trx_bank_drop() {
            //驳回收款单
            //根据身份判断所选择的数据是否可以确认
            $('csh509_csh_trx_bank_drop').disable();
            var datas = $('csh_transaction_receipt_maintain_result_ds').selected;
            if (datas.length == 0) {
                $L.showInfoMessage("提示", '请先选择数据');
                $('csh509_csh_trx_bank_drop').enable();
                return;
            }
            var updateData = [];
            for (var i = 0; i < datas.length; i++) {
                var confirmed_flag = datas[i].get('confirmed_flag');
                if (confirmed_flag != 'ACCAUDITING' && confirmed_flag != 'DEBTAUDITING') {
                    $L.showInfoMessage("提示", '请选择新增确认中的收款单据');
                    return;
                }
                //需要债权用户和会计担当才能驳回单据
                if (confirmed_flag == 'ACCAUDITING') {
                    if (!judgeRoles("00321")) {
                        $L.showInfoMessage("提示", '需要会计担当作废单据');
                        return;
                    }
                }
                if (confirmed_flag == 'DEBTAUDITING') {
                    if (!judgeRoles("00217")) {
                        $L.showInfoMessage("提示", '需要债权内勤作废单据');
                        return;
                    }

                }

                //保存要修改的数据
                updateData.push({
                    transaction_id: datas[i].get('transaction_id'),
                    wanted_confirmed_flag: 'CANCELLED',
                    _status: 'update'
                })
            }
            //更新数据
            update_confirmed_flag(updateData);
        }

        function lock_current_window() {
            Leaf.Masker.mask(Ext.getBody(), '${l:HLS.EXECUTING}');
        }

        //解锁
        function unlock_current_window() {
            Leaf.Masker.unmask(Ext.getBody());
        }

        function dateValidator(record, name, value) { //日期校验方法
            if (name == 'transaction_date_from' || name == 'transaction_date_to') {
                var start_date = Leaf.formatDate(record.get('transaction_date_from'));
                var end_date = Leaf.formatDate(record.get('transaction_date_to'));
                if (!!end_date) { //由于结束日期非必填,只有在结束日期填了才进行比较
                    if (!compareDate(start_date, end_date)) {
                        return '${l:CSH510.CSH_RECEIPT_DATE_CHECK}'; //校验不通过返回字符串
                    }
                }
                return true; //校验通过返回true
            }
        }

        function compareDate(start, end) {
            if (start > end) {
                return false;
            }
            return true;
        }

        function csh510_receipt_query() {

            var record = $('csh_transaction_receipt_maintain_query_ds').getAt(0);
            var dirty_flag = 'N';
            for (var name in record.data) {
                var value = record.get(name);
                if (value != 'undefined' && value != null && value != '') {
                    dirty_flag = 'Y';
                }
            }
            if (dirty_flag == 'N') {
                Leaf.showConfirm('${l:PROMPT}', '${l:CSH510.CSH_RECEIPT_QUERY_INFORMATION}', function () {
                    return;
                }, function () {
                    $('csh_transaction_receipt_maintain_result_ds').query();

                }, null, null);
            } else {
                $('csh_transaction_receipt_maintain_result_ds').query();
            }
        }

        function csh510_receipt_reset() {
            $('csh_transaction_receipt_maintain_query_ds').reset();
        }

        function csh510_receipt_back() {
            history.go(-1);
        }

        function csh510_receipt_forward() {
            history.go(1);
        }

        function csh510_receipt_quit() {
            location.href = $('sys_service_welcome_link').getUrl();
            parent.shMenu('show');
        }

        function seedetail_transaction_num(value, record, name) {
            if (record.get('transaction_id')) {
                var url;
                url = $('csh_transaction_receipt_maintain_readonly_link').getUrl() + '?transaction_id=' + record.get('transaction_id');
            }
            return '<a href="javascript:openWindow(\'' + url + '\');">' + value + '</a>';

        }

        function openWindow(url) {
            var win = new Leaf.Window({
                id: 'csh_transaction_receipt_link_winid',
                params: {
                    winId: 'csh_transaction_receipt_link_winid'
                },
                url: url,
                title: '${l:CSH510.CSH_RECEIPT_UPDATE}',
                fullScreen: true
            });
            win.on('close', function () {
                $('csh_transaction_receipt_maintain_result_ds').query();
            });
        }

        function construct_from_to() {
            var config = ['transaction_num', 'bank_slip_num', 'transaction_amount', 'currency_code', 'bank_account_code'];
            var pattern = ['_from', '_to'];
            var obj = {};
            for (var i = 0, j = config.length; i < j; i++) {
                for (var m = 0, n = pattern.length; m < n; m++) {
                    obj[config[i] + pattern[m]] = config[i] + pattern[n - 1 - m];
                }
            }
            return obj;
        }

        function csh510_receipt_maintain_update(ds, record, name, value, oldvalue) {
            var from_to = construct_from_to();
            var opposite_name = from_to[name];
            if (!Ext.isEmpty(opposite_name)) {
                var opposite_value = record.get(opposite_name);
                if (!Ext.isEmpty(value) && Ext.isEmpty(opposite_value)) {
                    record.set(opposite_name, value);
                }
            }
        }

        function csh510_receipt_remove() {
            var records = $('csh_transaction_receipt_maintain_result_ds').getSelected();
            if (!records.length) {
                Leaf.showMessage('${l:HLS.PROMPT}', '${l:HLS.SELECT_RECORD}');
                return;
            }
            var saveData = [];
            for (var i = 0; i < records.length; i++) {
                records[i].set('_status', 'delete');
                saveData.push(records[i].data);
            }
            Leaf.showConfirm('${l:PROMPT}', '${l:HLS.DELETE_CONFIRM}', function () {
                Leaf.Masker.mask(Ext.getBody(), '${l:HLS.DELETING}');
                Leaf.request({
                    url: '${/request/@context_path}/autocrud/csh.CSH510.csh_transaction_delete/batch_update',
                    para: saveData,
                    success: function () {
                        Leaf.SideBar.show({
                            msg: '${l:HLS.SUBMIT_SUCCESS}',
                            duration: 2000
                        });
                        csh510_delete_remove(records);
                        Leaf.Masker.unmask(Ext.getBody());
                    },
                    failure: function () {
                        Leaf.Masker.unmask(Ext.getBody());
                    },
                    error: function () {
                        Leaf.Masker.unmask(Ext.getBody());
                    },
                    scope: this
                });
            }, function () {
                return;
            }, null, null);
        }

        function csh510_delete_remove(records) {
            while (records[0]) {
                $('csh_transaction_receipt_maintain_result_ds').removeLocal(records[0]);
            }
        }

        function csh510_receipt() {
            Leaf.showConfirm('${l:PROMPT}', '非财务人员请勿操作!', function () {
                var records = $('csh_transaction_receipt_maintain_result_ds').getSelected();
                if (records.length != 1) {
                    Leaf.showMessage('${l:PROMPT}', '请选择1条数据!');
                    return;
                }
                if (records[0].get('transaction_id')) {
                    var url;
                    if (records[0].get('posted_flag') == 'N') {
                        url = $('csh_transaction_receipt_maintain_post_link').getUrl() + '?transaction_id=' + records[0].get('transaction_id') + '&claim=F';
                    } else {
                        Leaf.showMessage('${l:PROMPT}', '该单据已经被认领,无需再次认领!');
                        return;
                    }
                    openWindow(url);
                }
            });
        }

        function csh510_batch_update() {

            var ds_id = 'csh_transaction_receipt_maintain_result_ds';
            var ds = $(ds_id)
            var records = ds.getSelected();
            if (records.length < 1) {
                Leaf.showMessage('${l:PROMPT}', '请至少选择一条要处理的单据');
                return;
            }


            var auto_write_record = $('csh510_collection_classes_batch_update_ds').getAt(0);

            var collection_classes = auto_write_record.get('collection_classes');
            if (collection_classes) {
                lock_current_window();

                var post_data = [];
                for (var i = 0; i < records.length; i++) {
                    if (records[i].get('write_off_flag') == 'FULL') {
                        Leaf.showMessage('${l:PROMPT}', '选择数据中包含已完全核销的数据');
                        return;
                    }
                    post_data.push({
                        'transaction_id': records[i].get('transaction_id'),
                        'collection_classes': auto_write_record.get('collection_classes'),
                        '_status': 'update'
                    });
                }
                Leaf.request({
                    url: $('csh510_csh_transaction_batch_update').getUrl(),
                    para: post_data,
                    success: function () {
                        unlock_current_window();
                        ds.query(ds.currentpage);
                        Leaf.showMessage('${l:PROMPT}', '操作成功!');
                    }, failure: function () {
                        unlock_current_window();
                    },
                    error: function () {
                        unlock_current_window();
                    },
                    scope: this
                });
            }
        }

        function csh510_csh_transaction_batch_update() {

            //
            var records = $('csh_transaction_receipt_maintain_result_ds').getSelected();
            if (records.length == 0) {
                Leaf.showMessage('${l:PROMPT}', '请选择一条记录!');
                return;
            }

            var post_data = [];
            for (var i = 0; i < records.length; i++) {

                post_data.push({
                    'transaction_id': records[i].get('transaction_id'),
                    '_status': 'update'
                });
            }

            Leaf.Masker.mask(Ext.getBody(), '${l:HLS.EXECUTING}');
            Leaf.request({
                url: $('csh511_csh_transaction_batch_post_link').getUrl(),
                para: post_data,
                success: function (res) {

                    Leaf.showMessage('${l:PROMPT}', '${l:HLS.SUBMIT_SUCCESS}');
                    csh510_receipt_query();
                    Leaf.Masker.unmask(Ext.getBody());
                },
                failure: function () {
                    Leaf.Masker.unmask(Ext.getBody());
                },
                error: function () {
                    Leaf.Masker.unmask(Ext.getBody());
                },
                scope: this
            });


        }

        function csh510_csh_trx_bank_import() {

            var url_l = $('csh510_csh_transaction_import_link').getUrl();

            var win = new Leaf.Window({
                id: 'csh510_csh_transaction_import_win',
                url: url_l,
                params: {

                    'winid': 'csh510_csh_transaction_import_win',
                    'session_id': '${/session/@session_id}',
                    'parent_ds_id': 'csh_transaction_receipt_maintain_result_ds'
                },
                title: '信息导入',
                width: 430,
                height: 390
            });
            win.on('close', function () {
                $('csh_transaction_receipt_maintain_result_ds').query();
            });


        }

        function csh510_export() {
            $('csh_transaction_receipt_maintain_grid_ds')._export(null, '收款维护');
        }

        //add by 26887cz 2021-08-31 收款单导入匹配
        function csh510_receipt_import() {
            new Leaf.Window({
                id: 'upload_window',
                url: $('csh509_csh_transaction_upload_link').getUrl(),
                title: '${l:PROMPT.LOADDATA}',
                width: 420,
                height: 280
            });
        }

        window.onload = function() {
            var kind  = '${/parameter/@kind}';
            if(kind == 'import'){
                Leaf.request({
                    url: '${/request/@context_path}/autocrud/csh.CSH509.csh509_information/query',
                    para: '',
                    success: function (data) {
                        if (data.result.record) {
                            var win =  new Leaf.Window({
                                id: 'csh509_match_result_window_id',
                                url: $('csh509_match_result_link').getUrl(),
                                params: {
                                    winId: 'csh509_match_result_window_id'
                                },
                                title: '导入不匹配信息',
                                height: 350,
                                width: 700
                            });
                        }
                    },
                    failure: function () {
                        Leaf.Masker.unmask(Ext.getBody());
                    },
                    error: function () {
                        Leaf.Masker.unmask(Ext.getBody());
                    },
                    scope: this
                });
            }
        }

        ]]></script>
        <a:dataSets>
            <a:dataSet id="import_source_ds" lookupCode="CSH510_IMPORT_SOURCE"/>
            <a:dataSet id="position_code_ds">
                <a:datas dataSource="/model/position_code"/>
            </a:dataSet>
            <a:dataSet id="write_off_flag_ds" lookupCode="WRITE_OFF_FLAG"/>

            <a:dataSet id="confirmed_flag_ds">
                <a:datas>
                    <a:record code_value="ACCAUDITING" code_value_name="收款确认中"/>
                    <a:record code_value="ACCAUDITED" code_value_name="收款已确认"/>
                </a:datas>
            </a:dataSet>
            <a:dataSet id="payment_method_ds">
                <a:datas dataSource="/model/payment_method_path"/>
            </a:dataSet>
            <a:dataSet id="receipt_type_ds" lookupCode="RECEIPT_TYPE"/>
            <a:dataSet id="currency_ds">
                <a:datas dataSource="/model/currency"/>
            </a:dataSet>
            <a:dataSet id="transaction_type_ds">
                <a:datas dataSource="/model/transaction_type"/>
            </a:dataSet>
            <!-- <a:dataSet id="transaction_type_ds" lookupCode="CSH511_TRANSACTION_TYPE"/> -->
            <a:dataSet id="posted_flag_ds" lookupCode="CSH510_POST_SELECT"/>
            <!-- 去掉退款事务 -->
            <a:dataSet id="returned_flag_ds">
                <a:datas dataSource="/model/returned_flag_rp"/>
            </a:dataSet>
            <!-- 去掉反冲事务 -->
            <a:dataSet id="reversed_flag_ds">
                <a:datas dataSource="/model/reversed_flag_rp"/>
            </a:dataSet>
            <a:dataSet id="ds_collection_classes_ds" lookupCode="DS_COLLECTION_CLASSES"/>
            <a:dataSet id="csh510_collection_classes_batch_update_ds">
                <a:fields>
                    <a:field name="collection_classes_desc" options="ds_collection_classes_ds"
                             displayField="code_value_name" returnField="collection_classes" valueField="code_value"/>

                </a:fields>
            </a:dataSet>
            <a:dataSet id="csh_transaction_receipt_maintain_query_ds" autoCreate="true">
                <a:fields>
                    <a:field name="bank_account_name" autoComplete="true" lovGridHeight="350" lovHeight="550"
                             lovLabelWidth="90" lovService="csh.CSH101.csh_bank_account_lov" lovWidth="850"
                             title="CSH511.BANK_ACCOUNT_CODE">
                        <a:mapping>
                            <a:map from="precision" to="precision"/>
                            <a:map from="zero_amounts_allowed" to="zero_amounts_allowed"/>
                            <a:map from="bank_account_id" to="bank_account_id"/>
                            <a:map from="bank_account_num" to="bank_account_num"/>
                            <a:map from="bank_account_name" to="bank_account_name"/>
                            <a:map from="bank_account_code" to="bank_account_code"/>
                            <a:map from="currency_code" to="currency_code"/>
                            <a:map from="currency_name" to="currency_name"/>
                            <a:map from="bank_account_type" to="bank_account_type"/>
                            <a:map from="bank_account_type_name" to="bank_account_type_name"/>
                            <a:map from="bank_branch_name" to="bank_branch_name"/>
                        </a:mapping>
                    </a:field>
                    <a:field name="bank_branch_name" autoComplete="true" lovGridHeight="350" lovHeight="550"
                             lovLabelWidth="90" lovService="csh.CSH101.csh_bank_account_lov" lovWidth="850"
                             title="CSH511.BANK_ACCOUNT_CODE">
                        <a:mapping>
                            <a:map from="precision" to="precision"/>
                            <a:map from="zero_amounts_allowed" to="zero_amounts_allowed"/>
                            <a:map from="bank_account_id" to="bank_account_id"/>
                            <a:map from="bank_account_num" to="bank_account_num"/>
                            <a:map from="bank_account_name" to="bank_account_name"/>
                            <a:map from="bank_account_code" to="bank_account_code"/>
                            <a:map from="currency_code" to="currency_code"/>
                            <a:map from="currency_name" to="currency_name"/>
                            <a:map from="bank_account_type" to="bank_account_type"/>
                            <a:map from="bank_account_type_name" to="bank_account_type_name"/>
                            <a:map from="bank_branch_name" to="bank_branch_name"/>
                        </a:mapping>
                    </a:field>
                    <a:field name="bank_account_num" autoComplete="true" lovGridHeight="350" lovHeight="550"
                             lovLabelWidth="90" lovService="csh.CSH101.csh_bank_account_lov" lovWidth="850"
                             title="CSH511.BANK_ACCOUNT_CODE">
                        <a:mapping>
                            <a:map from="precision" to="precision"/>
                            <a:map from="zero_amounts_allowed" to="zero_amounts_allowed"/>
                            <a:map from="bank_account_id" to="bank_account_id"/>
                            <a:map from="bank_account_num" to="bank_account_num"/>
                            <a:map from="bank_account_name" to="bank_account_name"/>
                            <a:map from="bank_account_code" to="bank_account_code"/>
                            <a:map from="currency_code" to="currency_code"/>
                            <a:map from="currency_name" to="currency_name"/>
                            <a:map from="bank_account_type" to="bank_account_type"/>
                            <a:map from="bank_account_type_name" to="bank_account_type_name"/>
                            <a:map from="bank_branch_name" to="bank_branch_name"/>
                        </a:mapping>
                    </a:field>
                    <a:field name="confirmed_flag_desc" options="confirmed_flag_ds" valueField="code_value"
                             displayField="code_value_name" returnField="confirmed_flag" defaultValue="收款确认中"/>
                    <a:field name="confirmed_flag" defaultValue="ACCAUDITING"/>
                    <a:field name="payment_method_display" displayField="description" options="payment_method_ds"
                             returnField="payment_method_id" valueField="payment_method_id"/>
                    <a:field name="bp_name_from" lovGridHeight="350" lovHeight="500"
                             lovService="basic.hls_bp_master_v_for_lov" lovWidth="500" title="HLS.BP_TITLE">
                        <a:mapping>
                            <a:map from="bp_id" to="bp_id_from"/>
                            <a:map from="bp_name" to="bp_name_from"/>
                        </a:mapping>
                    </a:field>
                    <a:field name="bp_id_from"/>
                    <a:field name="bp_name_to" lovGridHeight="350" lovHeight="500"
                             lovService="basic.hls_bp_master_v_for_lov" lovWidth="500" title="HLS.BP_TITLE">
                        <a:mapping>
                            <a:map from="bp_id" to="bp_id_to"/>
                            <a:map from="bp_name" to="bp_name_to"/>
                        </a:mapping>
                    </a:field>
                    <a:field name="bp_id_to"/>
                    <a:field name="transaction_num_from"/>
                    <a:field name="transaction_num_to"/>
                    <a:field name="bank_slip_num_from"/>
                    <a:field name="bank_slip_num_to"/>

                    <a:field name="guarantor_name_duty"/>
                    <a:field name="paid_byother_flag"/>

                    <a:field name="transaction_date_from" validator="dateValidator"/>
                    <a:field name="transaction_date_to" validator="dateValidator"/>
                    <a:field name="bank_account_code" autoCompleteField="bank_account_num" lovGridHeight="350"
                             lovHeight="550" lovLabelWidth="90" lovService="csh.CSH101.csh_bank_account_lov"
                             lovWidth="580" title="CSH511.BANK_ACCOUNT_CODE">
                        <a:mapping>
                            <a:map from="bank_account_code" to="bank_account_code"/>
                        </a:mapping>
                    </a:field>
                    <a:field name="bank_account_code_from" autoCompleteField="bank_account_num" lovGridHeight="350"
                             lovHeight="550" lovLabelWidth="90" lovService="csh.CSH101.csh_bank_account_lov"
                             lovWidth="580" title="CSH511.BANK_ACCOUNT_CODE">
                        <a:mapping>
                            <a:map from="bank_account_code" to="bank_account_code_from"/>
                        </a:mapping>
                    </a:field>
                    <a:field name="bank_account_from_id"/>
                    <a:field name="bank_account_code_to" autoComplete="true" autoCompleteField="bank_account_num"
                             lovGridHeight="350" lovHeight="550" lovLabelWidth="90"
                             lovService="csh.CSH101.csh_bank_account_lov" lovWidth="580"
                             title="CSH511.BANK_ACCOUNT_CODE">
                        <a:mapping>
                            <a:map from="bank_account_code" to="bank_account_code_to"/>
                        </a:mapping>
                    </a:field>
                    <a:field name="transaction_amount_from"/>
                    <a:field name="transaction_amount_to"/>
                    <a:field name="posted_flag_display" displayField="code_value_name" options="posted_flag_ds"
                             returnField="posted_flag" valueField="code_value"/>
                    <!--                    <a:field name="posted_flag" defaultValue="N"/>-->
                    <a:field name="returned_flag_display" displayField="code_value_name" options="returned_flag_ds"
                             returnField="returned_flag" valueField="code_value"/>
                    <a:field name="reversed_flag_display" displayField="code_value_name" options="reversed_flag_ds"
                             returnField="reversed_flag" valueField="code_value"/>
                    <a:field name="period_name" lovGridHeight="300" lovHeight="500" lovService="gld.gld_period_lov"
                             lovWidth="500" title="GLD_PERIODS.PERIOD_NAME">
                        <a:mapping>
                            <a:map from="period_name" to="period_name"/>
                        </a:mapping>
                    </a:field>
                    <a:field name="user_desc" autoComplete="true" lovGridHeight="300" lovHeight="450"
                             lovService="basic.sys_user_for_lov" lovWidth="500" prompt="AUT_TRX_USER_AUTHORIZE.USER_ID"
                             title="员工选择">
                        <a:mapping>
                            <a:map from="description" to="user_desc"/>
                            <a:map from="user_id" to="user_id"/>
                        </a:mapping>
                    </a:field>
                    <a:field name="transaction_type_display" displayField="code_value_name"
                             options="transaction_type_ds" returnField="transaction_type" valueField="code_value"/>
                    <a:field name="currency_name_from_display" displayField="currency_name" options="currency_ds"
                             returnField="currency_code_from" valueField="currency_code"/>
                    <a:field name="currency_code_from"/>
                    <a:field name="confirmed" defaultValue="Y"/>
                    <a:field name="currency_name_to_display" displayField="currency_name" options="currency_ds"
                             returnField="currency_code_to" valueField="currency_code"/>
                    <a:field name="currency_code_to"/>
                    <!--                    <a:field name="transaction_type" defaultValue="RECEIPT"/>-->
                    <a:field name="transaction_category" defaultValue="BUSINESS"/>
                    <a:field name="write_off_flag_desc" displayField="code_value_name" options="write_off_flag_ds"
                             returnField="write_off_flag" valueField="code_value"/>
                    <a:field name="not_reversed_flag_r" defaultValue="NOT"/>
                    <a:field name="receipt_type"/>
                    <a:field name="receipt_type_des" displayField="code_value_name" options="receipt_type_ds"
                             returnField="receipt_type" valueField="code_value"/>
                    <a:field name="description"/>
                    <a:field name="bp_name" lovGridHeight="350" lovHeight="500"
                             lovService="basic.hls_bp_master_v_for_lov" lovWidth="500" title="HLS.BP_TITLE">
                        <a:mapping>
                            <a:map from="bp_id" to="bp_id"/>
                            <a:map from="bp_name" to="bp_name"/>
                        </a:mapping>
                    </a:field>
                    <a:field name="collection_classes_n" options="ds_collection_classes_ds"
                             displayField="code_value_name" returnField="collection_classes" valueField="code_value"/>
                    <!--对方账户的-->
                    <a:field name="bp_bank_account_name" lovGridHeight="350" lovHeight="550"
                             lovService="csh.CSH510.csh_transaction_for_lov" lovLabelWidth="90" lovWidth="580"
                             title="对方账户信息">
                        <a:mapping>
                            <a:map from="bp_bank_account_name" to="bp_bank_account_name"/>
                            <a:map from="opposite_band_na" to="opposite_band_na"/>
                            <a:map from="bp_bank_account_num" to="bp_bank_account_num"/>
                        </a:mapping>
                    </a:field>
                    <a:field name="opposite_band_na" lovGridHeight="350" lovHeight="550"
                             lovService="csh.CSH510.csh_transaction_for_lov" lovLabelWidth="90" lovWidth="580"
                             title="对方账户信息">
                        <a:mapping>
                            <a:map from="bp_bank_account_name" to="bp_bank_account_name"/>
                            <a:map from="opposite_band_na" to="opposite_band_na"/>
                            <a:map from="bp_bank_account_num" to="bp_bank_account_num"/>
                        </a:mapping>
                    </a:field>
                    <a:field name="bp_bank_account_num" lovGridHeight="350" lovHeight="550"
                             lovService="csh.CSH510.csh_transaction_for_lov" lovLabelWidth="90" lovWidth="580"
                             title="对方账户信息">
                        <a:mapping>
                            <a:map from="bp_bank_account_name" to="bp_bank_account_name"/>
                            <a:map from="opposite_band_na" to="opposite_band_na"/>
                            <a:map from="bp_bank_account_num" to="bp_bank_account_num"/>
                        </a:mapping>
                    </a:field>
                    <a:field name="import_source_desc"  options="import_source_ds" valueField="code_value" displayField="code_value_name" returnField="import_source"/>
                </a:fields>
                <a:events>
                    <a:event name="update" handler="csh510_receipt_maintain_update"/>
                </a:events>
            </a:dataSet>
            <a:dataSet id="csh_transaction_receipt_maintain_result_ds" autoPageSize="true" autoQuery="true"
                       model="csh.CSH510.csh_transaction_miantain_query"
                       queryDataSet="csh_transaction_receipt_maintain_query_ds" selectable="true"/>
        </a:dataSets>
        <a:screenBody>
            <a:screenTopToolbar>
                <a:screenTitle/>
                <!-- <a:gridButton click="csh510_receipt_back" text="HLS.BACK"/>
                <a:gridButton click="csh510_receipt_forward" text="HLS.FORWARD"/> -->
                <!-- <a:gridButton click="csh510_receipt_quit" text="HLS.EXIT"/> -->
                <a:gridButton click="csh509_csh_trx_bank_business_confirm"
                              text="确认"
                              id="csh509_csh_trx_bank_business_confirm"/>
                <a:gridButton click="csh509_csh_trx_bank_refuse" text="驳回"
                              id="csh509_csh_trx_bank_refuse"/>
                <!--                <a:gridButton click="csh509_csh_trx_bank_drop" text="CSH509.CSH_RECEIPT_CONFIRM.DROP_BTN" id="csh509_csh_trx_bank_drop"/>-->
                <a:gridButton click="csh510_receipt_query" text="CSH509.CSH_RECEIPT_CONFIRM.QUERY_BTN"
                              id="csh510_receipt_query"/>
                <!--<a:gridButton click="csh510_receipt_remove" text="HLS.REMOVE"/>-->
                <!-- <a:gridButton click="csh510_csh_trx_bank_apply_new" text="CSH510.CSH_TRANSACTION.APPLY_NEW_BTN"/>
                 <a:gridButton click="csh510_csh_trx_bank_drop" text="CSH510.CSH_TRANSACTION.DROP_BTN"/>-->
                <a:gridButton click="csh510_receipt_reset" text="HLS.RESET"/>
                <!--  <a:gridButton click="csh510_csh_transaction_batch_update" text="批量过账"/>-->
                <!-- <a:gridButton click="csh510_receipt" text="财务认领"/> -->
                <a:gridButton click="csh510_receipt_import" text="导入"/>
            </a:screenTopToolbar>
            <a:form bindTarget="csh_transaction_receipt_write_off_query_ds" labelWidth="120" marginWidth="80"
                    title="收款核销" style="margin-left:20px">
                <a:hBox>
                    <a:fieldSet column="4" labelWidth="150" title="HLS.QUERY_TITLE">
                        <a:datePicker name="transaction_date_from"
                                      bindTarget="csh_transaction_receipt_maintain_query_ds"
                                      prompt="CSH510.CSH_TRANSACTION.TRANSACTION_DATE_FROM"/>
                        <a:datePicker name="transaction_date_to" bindTarget="csh_transaction_receipt_maintain_query_ds"
                                      prompt="CSH510.CSH_TRANSACTION.TRANSACTION_DATE_TO"/>
                        <a:numberField name="transaction_amount_from"
                                       bindTarget="csh_transaction_receipt_maintain_query_ds"
                                       prompt="CSH510.CSH_TRANSACTION.TRANSACTION_AMOUNT_FROM" align="right"/>
                        <a:numberField name="transaction_amount_to"
                                       bindTarget="csh_transaction_receipt_maintain_query_ds"
                                       prompt="CSH510.CSH_TRANSACTION.TRANSACTION_AMOUNT_TO" align="right"/>
                        <!--我方账户户名-->
<!--                        <a:lov name="bank_account_name" bindTarget="csh_transaction_receipt_maintain_query_ds"-->
<!--                               prompt="CSH510.CSH_TRANSACTION.MY_ACCOUNT_NAME"/>-->
<!--                        <a:lov name="bank_branch_name" bindTarget="csh_transaction_receipt_maintain_query_ds"-->
<!--                               prompt="CSH510.CSH_TRANSACTION.MY_BANK_NAME"/>-->
<!--                        <a:lov name="bank_account_num" bindTarget="csh_transaction_receipt_maintain_query_ds"-->
<!--                               prompt="CSH510.CSH_TRANSACTION.MY_ACCOUNT_USERNAME"/>-->
                        <!--银行流水号-->
<!--                        <a:textField name="bank_slip_num" bindTarget="csh_transaction_receipt_maintain_query_ds"-->
<!--                                     prompt="CSH510.CSH_TRANSACTION.BANK_CASH_CODE"/>-->
                        <!--对方账户户名-->
                        <a:lov name="bp_bank_account_name" bindTarget="csh_transaction_receipt_maintain_query_ds"
                               prompt="CSH510.CSH_TRANSACTION.YOUR_ACCOUNT_NAME"/>
                        <!--对方银行名称-->
<!--                        <a:lov name="opposite_band_na" bindTarget="csh_transaction_receipt_maintain_query_ds"-->
<!--                               prompt="CSH510.CSH_TRANSACTION.YOUR_BANK_NAME"/>-->
                        <!--对方账户账号-->
<!--                        <a:lov name="bp_bank_account_num" bindTarget="csh_transaction_receipt_maintain_query_ds"-->
<!--                               prompt="CSH510.CSH_TRANSACTION.YOUR_ACCOUNT_USERNAME"/>-->
<!--                        <a:textField style="display:none"/>-->
                        <a:comboBox name="receipt_type_des" bindTarget="csh_transaction_receipt_maintain_query_ds"
                                    prompt="收款类型"/>
                        <a:lov name="bp_name" bindTarget="csh_transaction_receipt_maintain_query_ds"
                               prompt="CSH510.CSH_TRANSACTION.BUSINESS_PARTNER"/>
                        <a:comboBox name="confirmed_flag_desc" bindTarget="csh_transaction_receipt_maintain_query_ds"
                                    prompt="单据审批状态"/>
                        <!--                        <a:comboBox name="write_off_flag_desc" bindTarget="csh_transaction_receipt_maintain_query_ds" prompt="CSH510.CSH_TRANSACTION.WRITTEN_OFF_STATUS"/>-->
                        <a:comboBox name="collection_classes_n" bindTarget="csh_transaction_receipt_maintain_query_ds"
                                    prompt="CSH510.CSH_TRANSACTION.PURPOSE_OF_FUNDS"/>
                        <a:comboBox name="import_source_desc" bindTarget="csh_transaction_receipt_maintain_query_ds" prompt="新增路径"/>

                    </a:fieldSet>


                </a:hBox>
            </a:form>
            <a:fieldSet labelWidth="150" title="收款单" style="margin-left:20px">
                <a:grid id="csh_transaction_receipt_maintain_grid_ds"
                        bindTarget="csh_transaction_receipt_maintain_result_ds" marginHeight="190" marginWidth="80"
                        navBar="true">
                    <!--<a:toolBar>
                        <a:button click="csh510_export" text="导出"/>
                    </a:toolBar>-->

                    <a:columns>
                        <a:column name="transaction_num" prompt="CSH510.CSH_TRANSACTION.CSH_TRANSACTION_NUM"
                                  renderer="seedetail_transaction_num" width="110"/>
                        <!--                        <a:column name="receipt_type_n" align="center" prompt="CSH510.CSH_TRANSACTION.RECEIPT_TYPE" width="100"/>-->
                        <a:column name="transaction_amount" align="right" prompt="CSH510.CSH_TRANSACTION.RECEIPT_AMOUNT"
                                  width="100" renderer="Leaf.formatMoney"/>
                        <a:column name="transaction_date" renderer="Leaf.formatDate" align="center"/>
                        <a:column name="receipt_type_n" prompt="收款类型"
                                  align="center"/>
                        <a:column name="returned_amount" prompt="CSH510.CSH_TRANSACTION.RETURN_AMOUNT" align="right"
                                  renderer="Leaf.formatMoney"/>
                        <a:column name="use_money_amount" prompt="CSH510.CSH_TRANSACTION.USEFUL_AMOUNT" align="right"
                                  renderer="Leaf.formatMoney"/>
                        <a:column name="collection_classes_desc" prompt="CSH510.CSH_TRANSACTION.PURPOSE_OF_FUNDS"
                                  align="center"/>
                        <a:column name="bp_name" prompt="CSH510.CSH_TRANSACTION.BUSINESS_PARTNER" align="center"/>
                        <a:column name="bank_slip_num" prompt="CSH510.CSH_TRANSACTION.BANK_CASH_CODE" align="center"/>
                        <a:column name="description" prompt="CSH510.CSH_TRANSACTION.DESCRIPTION" align="center"/>

                        <a:column name="guarantor_name_duty"  hidden="true" />
                        <a:column name="paid_byother_flag" hidden="true"/>
                        <a:column name="import_source_desc"   prompt="新增路径" align="center"/>
                        <a:column name="confirmed_flag_desc" prompt="单据审批状态"
                                  align="center"/>
                        <!--                        <a:column name="written_off_flag_desc" prompt="CSH510.CSH_TRANSACTION.WRITTEN_OFF_STATUS"-->
                        <!--                                  align="center"/>-->
                        <a:column prompt="CSH510.CSH_TRANSACTION.MY_ACCOUNT" align="center">
                            <a:column prompt="CSH510.CSH_TRANSACTION.ACCOUNT_NAME" name="bank_account_name"
                                      align="center"/>
                            <a:column prompt="CSH510.CSH_TRANSACTION.ACCOUNT_BANK" name="bank_branch_name"
                                      align="center"/>
                            <a:column prompt="CSH510.CSH_TRANSACTION.ACCOUNT_NUM" name="bank_account_num"
                                      align="center"/>
                        </a:column>
                        <a:column prompt="CSH510.CSH_TRANSACTION.YOUR_ACCOUNT">
                            <a:column prompt="CSH510.CSH_TRANSACTION.ACCOUNT_NAME" name="bp_bank_account_name"
                                      align="center"/>
                            <a:column prompt="CSH510.CSH_TRANSACTION.ACCOUNT_BANK" name="opposite_band_na"
                                      align="center"/>
                            <a:column prompt="CSH510.CSH_TRANSACTION.ACCOUNT_NUM" name="bp_bank_account_num"
                                      align="center"/>
                        </a:column>
                        <a:column name="user_desc" prompt="HLS.DOCUMENT_CREATED_BY" align="center"/>
                        <!--                        <a:column name="debt_confirmed_by_desc" prompt="CSH510.CSH_TRANSACTION.DEPT_CONFIRMER"-->
                        <!--                                  align="center"/>-->
                        <a:column name="acc_confirmed_by_desc" prompt="收款确认人"
                                  align="center"/>
                    </a:columns>
                </a:grid>
            </a:fieldSet>
        </a:screenBody>
    </a:view>
</a:screen>