<?xml version="1.0" encoding="UTF-8"?> <!-- $Author: xuls $Date: 2014-9-19 下午13:10:33 $Revision: 1.0 $Purpose: --> <a:screen xmlns:a="http://www.leaf-framework.org/application"> <a:init-procedure/> <a:view> <script type="text/javascript"><![CDATA[ /*退出*/ function csh710_deduction_return(){ $('csh710_deducate_detail_link').close(); } /*抵扣执行*/ function csh710_deducate_exe(){ var inflow_count = $('csh710_deduction_inflow_ds').getAll().length; if (inflow_count==0){ /*确保抵扣收付项均存在*/ Leaf.showMessage('${l:HLS.PROMPT}','${l:CSH710.CONFIRM_DEDUCTION_INOUT_ITEM}'); return; } var unreceived_amount = $('csh710_outflow_cashflow_ds').getAt(0).get('unreceived_amount'); var total_inflow_amount = $('csh710_outflow_cashflow_ds').getAt(0).get('total_inflow_amount'); if (unreceived_amount<total_inflow_amount){/*确保抵扣应收项总额不超过应付项总额*/ Leaf.showMessage('${l:HLS.PROMPT}','${l:CSH710.CONFIRM_DEDUCTION_INOUT_ITEM}'); return; } $('csh710_outflow_cashflow_ds').submit(); } /*应收更新事件*/ function csh710_deduction_inflow_update(ds,record,name,value,oldvalue){ if(name=='transaction_amount'){ var rs = ds.getAll(); var amount = 0; for (var i =0 ; i<rs.length;i++){ var transaction_amount = rs[i].get('transaction_amount'); if(!transaction_amount){ transaction_amount = 0; } amount += transaction_amount; } $('csh710_outflow_cashflow_ds').getAt(0).set('total_inflow_amount',amount); } } /*应收删除记录事件*/ function csh710_deduction_inflow_delete(record){ var rs = $('csh710_deduction_inflow_ds').getAll(); var amount = 0; for (var i =0 ; i<rs.length;i++){ var transaction_amount = rs[i].get('transaction_amount'); if(!transaction_amount){ transaction_amount = 0; } amount += transaction_amount; } $('csh710_outflow_cashflow_ds').getAt(0).set('total_inflow_amount',amount); } /*单行金额校验*/ function csh710_transaction_amount_validate(record,name,value){ var unreceived_amount = record.get('unreceived_amount'); if (value > unreceived_amount){ return '本次核销金额不能超过剩余金额'; } return true; } /*单行金额总额校验*/ function csh710_transaction_pi_validate(record,name,value){ var transaction_amount = record.get('transaction_amount'); var transaction_principal = record.get('transaction_principal'); var transaction_interest = record.get('transaction_interest'); if (!transaction_principal) {transaction_principal = 0;} if (!transaction_interest) {transaction_interest = 0;} var total_amount = transaction_principal + transaction_interest; if (total_amount > transaction_amount){ return '本金和利息之和应该等于本次核销金额'; } return true; } function csh710_submit_sucess_fun(ds,res){ csh710_deduction_return(); } ]]></script> <a:dataSets> <a:dataSet id="csh710_inflow_cashflow_ds" fetchAll="true" model="csh.CSH710.csh_deduction_cashflow_v" queryUrl="${/request/@context_path}/autocrud/csh.CSH710.csh_deduction_cashflow_v/query?cf_direction=INFLOW&contract_id=${/parameter/@contract_id}&bp_id=${/parameter/@bp_id}" selectable="true"> <a:fields> <a:field name="due_date" datatype="java.util.Date"/> </a:fields> </a:dataSet> <a:dataSet id="csh710_outflow_cashflow_ds" submitUrl="${/request/@context_path}/modules/csh/CSH710/csh_deduction_write_off.lsc"> <a:fields> <a:field name="transaction_category" defaultValue="BUSINESS"/> <a:field name="transaction_type" defaultValue="DEDUCTION"/> <a:field name="write_off_type" defaultValue="PAYMENT_DEBT"/> <a:field name="cf_item_name" lovHeight="550" lovService="csh.CSH710.csh_deduction_cashflow_v?cf_direction=OUTFLOW&contract_id=${/parameter/@contract_id}&bp_id=${/parameter/@bp_id}" lovWidth="750" required="true"> <a:mapping> <a:map from="bp_id_tenant" to="bp_id_tenant"/> <a:map from="bp_name" to="bp_name"/> <a:map from="cf_item_name" to="cf_item_name"/> <a:map from="times" to="times"/> <a:map from="due_date" to="due_date"/> <a:map from="due_amount" to="due_amount"/> <a:map from="received_amount" to="received_amount"/> <a:map from="unreceived_amount" to="unreceived_amount"/> <a:map from="unreceived_principal" to="unreceived_principal"/> <a:map from="unreceived_interest" to="unreceived_interest"/> <a:map from="unreceived_amount" to="transaction_amount"/> <a:map from="unreceived_principal" to="transaction_principal"/> <a:map from="unreceived_interest" to="transaction_interest"/> <a:map from="contract_id" to="contract_id"/> <a:map from="cashflow_id" to="cashflow_id"/> </a:mapping> </a:field> <a:field name="document_category" defaultValue="CON_CONTRACT"/> <a:field name="due_date" datatype="java.util.Date"/> <a:field name="total_inflow_amount"/> <a:field name="transaction_date" required="true"/> </a:fields> <a:events> <a:event name="submitsuccess" handler="csh710_submit_sucess_fun"/> </a:events> </a:dataSet> <a:dataSet id="csh710_deduction_head_ds" autoCreate="true"/> <a:dataSet id="csh710_deduction_inflow_ds" bindName="inflows" bindTarget="csh710_outflow_cashflow_ds" selectable="true"> <a:fields> <a:field name="document_category" defaultValue="CON_CONTRACT"/> <a:field name="transaction_category" defaultValue="BUSINESS"/> <a:field name="write_off_type" defaultValue="RECEIPT_CREDIT"/> <a:field name="transaction_type" defaultValue="DEDUCTION"/> <a:field name="contract_id" defaultValue="${/parameter/@contract_id}"/> <a:field name="cf_item_name" lovHeight="550" lovService="csh.CSH710.csh_deduction_cashflow_v?cf_direction=INFLOW&contract_id=${/parameter/@contract_id}&bp_id=${/parameter/@bp_id}" lovWidth="750"> <a:mapping> <a:map from="cf_item_name" to="cf_item_name"/> <a:map from="times" to="times"/> <a:map from="due_date" to="due_date"/> <a:map from="due_amount" to="due_amount"/> <a:map from="received_amount" to="received_amount"/> <a:map from="unreceived_amount" to="unreceived_amount"/> <a:map from="unreceived_principal" to="unreceived_principal"/> <a:map from="unreceived_interest" to="unreceived_interest"/> <a:map from="unreceived_amount" to="transaction_amount"/> <a:map from="unreceived_principal" to="transaction_principal"/> <a:map from="unreceived_interest" to="transaction_interest"/> <a:map from="contract_id" to="contract_id"/> <a:map from="cashflow_id" to="cashflow_id"/> <a:map from="penalty" to="penalty"/> <a:map from="penalty_cashflow_id" to="penalty_cashflow_id"/> </a:mapping> </a:field> <a:field name="transaction_amount" required="true" validator="csh710_transaction_amount_validate"/> <a:field name="transaction_principal" validator="csh710_transaction_pi_validate"/> <a:field name="transaction_interest" validator="csh710_transaction_pi_validate"/> </a:fields> <a:events> <a:event name="update" handler="csh710_deduction_inflow_update"/> <a:event name="remove" handler="csh710_deduction_inflow_delete"/> </a:events> </a:dataSet> </a:dataSets> <a:screenBody> <a:screenTopToolbar> <a:screenTitle/> <a:gridButton click="csh710_deduction_return" text="HLS.CLOSE"/> <a:gridButton click="csh710_deducate_exe" text="CSH710.PAYMENT_DECUCATE"/> </a:screenTopToolbar> <a:form marginWidth="30" title="收付抵扣"> <a:hBox> <a:datePicker name="transaction_date" bindTarget="csh710_outflow_cashflow_ds" prompt="HLS.WRITE_OFF_DATE"/> <a:lov name="cf_item_name" bindTarget="csh710_outflow_cashflow_ds" prompt="HLS.CF_ITEM_DESC"/> <a:numberField name="times" bindTarget="csh710_outflow_cashflow_ds" prompt="HLS.TIMES" readOnly="true"/> <a:datePicker name="due_date" bindTarget="csh710_outflow_cashflow_ds" prompt="TRE502.PAYABLE_DATE" readOnly="true" renderer="Leaf.formatDate"/> </a:hBox> <a:hBox> <a:numberField name="due_amount" bindTarget="csh710_outflow_cashflow_ds" prompt="CSH502.CSH_PAYMENT_AMOUNT" readOnly="true" renderer="Leaf.formatMoney"/> <a:numberField name="received_amount" bindTarget="csh710_outflow_cashflow_ds" prompt="CSH710.PAYED_AMOUNT" readOnly="true" renderer="Leaf.formatMoney"/> <a:numberField name="unreceived_amount" align="right" bindTarget="csh710_outflow_cashflow_ds" prompt="CSH513.UNRECEIVED_AMOUNT" readOnly="true" renderer="Leaf.formatMoney"/> <a:numberField name="total_inflow_amount" align="right" bindTarget="csh710_outflow_cashflow_ds" prompt="CSH710.DEDUCTION_AMOUNT" readOnly="true" renderer="Leaf.formatMoney"/> </a:hBox> <a:hBox> <a:textField name="bp_name" bindTarget="csh710_outflow_cashflow_ds" prompt="HLS.TENANT_CODE" readOnly="true"/> <a:textField name="transaction_description" bindTarget="csh710_outflow_cashflow_ds" prompt="HLS.COMMENT" width="600"/> </a:hBox> </a:form> <a:grid id="csh710_deduction_infolow_detail_gd" bindTarget="csh710_deduction_inflow_ds" marginHeight="250" marginWidth="30" navBar="true"> <a:toolBar> <a:button type="add"/> <a:button type="delete"/> </a:toolBar> <a:columns> <a:column name="cf_item_name" editor="csh710_loved" prompt="HLS.CF_ITEM_DESC"/> <a:column name="times" align="center" prompt="HLS.TIMES" width="50"/> <a:column name="due_date" align="center" prompt="CSH710.DUE_DATE" renderer="Leaf.formatDate"/> <a:column name="due_amount" align="right" prompt="ACR.DUE_AMOUNT" renderer="Leaf.formatMoney"/> <a:column name="received_amount" align="right" prompt="ACR.RECEIVED_AMOUNT" renderer="Leaf.formatMoney"/> <a:column name="unreceived_amount" align="right" prompt="CSH513.UNRECEIVED_AMOUNT" renderer="Leaf.formatMoney"/> <a:column name="unreceived_principal" align="right" prompt="CSH513.UNRECEIVED_PRINCIPAL" renderer="Leaf.formatMoney"/> <a:column name="unreceived_interest" align="right" prompt="CSH513.UNRECEIVED_INTEREST" renderer="Leaf.formatMoney"/> <a:column prompt="CSH301.CSH_WRITE_OFF_DETAIL"> <a:column name="transaction_amount" align="right" editor="csh710_numed" prompt="CSH513.WRITE_OFF_DUE_AMOUNT" renderer="Leaf.formatMoney"/> <a:column name="transaction_principal" align="right" editor="csh710_numed" prompt="CON500.CON_CONTRACT_CASHFLOW.PRINCIPAL" renderer="Leaf.formatMoney"/> <a:column name="transaction_interest" align="right" editor="csh710_numed" prompt="CON500.CON_CONTRACT_CASHFLOW.INTEREST" renderer="Leaf.formatMoney"/> <a:column name="penalty" align="right" editor="csh710_numed" prompt="CSH513.WRITE_OFF_PENALTY"/> </a:column> <a:column name="description" editor="csh710_texted" prompt="HLS.DESCRIPTION"/> </a:columns> <a:editors> <a:lov id="csh710_loved"/> <a:numberField id="csh710_numed" allowFormat="true"/> <a:textField id="csh710_texted"/> </a:editors> </a:grid> </a:screenBody> </a:view> </a:screen>