1、今日完成任务:
(1)完成业务管理-财务收款模块的代码书写及测试工作
2、核心源码:
package com.dw.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.dw.entity.Money;
import com.dw.service.MoneyService;
@Controller
public class MoneyController {
@Autowired
private MoneyService ms;
@RequestMapping("/saveMoney")
@ResponseBody
public void saveMoney(Money money){
try {
ms.save(money);
} catch (Exception e) {
e.printStackTrace();
}
}
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>财务收款</title>
<link rel="stylesheet" type="text/css" href="../../js/easyui/themes/default/easyui.css"/>
<link rel="stylesheet" type="text/css" href="../../js/easyui/themes/icon.css"/>
<link rel="stylesheet" type="text/css" href="../../js/easyui/ext/portal.css"/>
<link rel="stylesheet" type="text/css" href="../../css/default.css"/>
<script src="../../js/jquery-1.8.3.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/easyui/jquery.easyui.min.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/easyui/ext/jquery.portal.js" type="text/javascript" charset="utf-8"></script>
<script src="../../js/easyui/locale/easyui-lang-zh_CN.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
var getmoney;
var shouldmoney;
var owemoney;
$(function(){
$('#dg').datagrid({
toolbar: [{
id: 'jiesuan',
text:'结算',
iconCls: 'icon-save',
handler: function(){
var rows = $("#dg").datagrid('getSelections');
if(rows.length!=1){
$.messager.alert('提示信息','请选择要结算的派车单!','warning');
}else if(rows[0].status!=0){
$.messager.alert('提示信息','请选择未结算的派车单!','warning');
}else{
$("#ff").form('load',rows[0]);
$("#dispatchid").val(rows[0].id);
$("#clerkname").val(rows[0].clerk.name);
$("#carnumber").val(rows[0].car.carnumber);
$("#drivername").val(rows[0].driver.name);
$("#company").val(rows[0].customer.company);
getmoney = rows[0].money==null?0:rows[0].money.getmoney;
shouldmoney = rows[0].money==null?rows[0].realmoney:rows[0].money.shouldmoney;
owemoney = rows[0].money==null?rows[0].realmoney:rows[0].money.owemoney;
$("#getmoney").numberbox('setValue',getmoney);
$("#shouldmoney").numberbox('setValue',shouldmoney);
$("#owemoney").numberbox('setValue',owemoney);
$("#remark").val('');
$("#chargedate").datebox('reset');
$("#truemoney").numberbox('reset');
$("#win").window('open');
}
}
}]
});
$("#save").click(function(){
if($("#ff").form('validate')){
$("#ff").form('submit',{
success:function(data){
$("#win").window('close');
$("#dg").datagrid('reload');
}
});
}else{
$.messager.alert('警告','表单中包含非法数据!','warning');
}
});
});
function changeMoney(){
$("#getmoney").numberbox('setValue',getmoney);
$("#shouldmoney").numberbox('setValue',shouldmoney);
$("#owemoney").numberbox('setValue',owemoney);
$("#getmoney").numberbox('setValue',Number($("#truemoney").val())+Number($("#getmoney").val()));
$("#owemoney").numberbox('setValue',$("#shouldmoney").val()-$("#truemoney").val());
$("#shouldmoney").numberbox('setValue',$("#shouldmoney").val()-$("#truemoney").val());
}
</script>
</head>
<body>
<table id="dg" class="easyui-datagrid"
data-options="url:'../../queryAllDispatch',fitColumns:true,rownumbers:true,singleSelect:true">
<thead>
<tr>
<th data-options="field:'id',width:70,align:'center'">派车单号</th>
<th data-options="field:'clerk.name',width:70,align:'center',formatter: function(value,row,index){return row.clerk.name;}">业务员</th>
<th data-options="field:'customer.company',width:100,align:'center',formatter: function(value,row,index){return row.customer.company;}">用车单位</th>
<th data-options="field:'customer.name',width:70,align:'center',formatter: function(value,row,index){return row.customer.name;}">联系人</th>
<th data-options="field:'customer.phone',width:100,align:'center',formatter: function(value,row,index){return row.customer.phone;}">联系电话</th>
<th data-options="field:'car.carnumber',width:80,align:'center',formatter: function(value,row,index){return row.car.carnumber;}">车牌号码</th>
<th data-options="field:'driver.name',width:70,align:'center',formatter: function(value,row,index){return row.driver.name;}">驾驶员</th>
<th data-options="field:'senddate',width:100,align:'center'">出车日期</th>
<th data-options="field:'sendtime',width:70,align:'center'">出车时间</th>
<th data-options="field:'start',width:120,align:'center'">起始地点</th>
<th data-options="field:'rentmoney',width:70,align:'center'">租车费</th>
<th data-options="field:'paytype',width:70,align:'center'">结算方式</th>
<th data-options="field:'money.chargedate',width:100,align:'center',formatter: function(value,row,index){return row.money==null?'':row.money.chargedate;}">收款日期</th>
<th data-options="field:'money.shouldmoney',width:70,align:'center',formatter: function(value,row,index){return row.money==null?'':row.money.shouldmoney;}">应收金额</th>
<th data-options="field:'status',width:90,align:'center',formatter: function(value,row,index){if(row.status==-1){return '未审核未收款';}else if(row.status==0){return '已审核未收款';}else{return '已审核已收款';}}">状态</th>
</tr>
</thead>
</table>
<div id="win" class="easyui-window" title="财务收款" style="width:1000px;height:450px;"
data-options="modal:true,minimizable:false,maximizable:false,closed:true">
<div class="datagrid-toolbar">
<a id="save" href="#" class="easyui-linkbutton" icon="icon-save">保存</a>
</div>
<form id="ff" method="post" action="../../saveMoney">
<table class="table-edit" align="center" width="80%">
<tr class="title">
<td colspan="6">财务收款</td>
</tr>
<tr>
<td>派车单号:</td>
<td><input id="dispatchid" class="easyui-textbox" type="text" name="dispatch.id" data-options="required:true" readonly="readonly"/></td>
<td>业务员:</td>
<td><input id="clerkname" class="easyui-textbox" type="text" name="clerk.name" data-options="required:true" readonly="readonly"/> </td>
</tr>
<tr>
<td>车牌号码:</td>
<td><input id="carnumber" class="easyui-textbox" type="text" name="car.carnumber" data-options="required:true" readonly="readonly"/></td>
<td>驾驶员:</td>
<td><input id="drivername" class="easyui-textbox" type="text" name="driver.name" data-options="required:true" readonly="readonly" /></td>
</tr>
<tr>
<td>用车单位:</td>
<td><input id="company" class="easyui-textbox" type="text" name="customer.company" data-options="required:true" readonly="readonly" /></td>
<td>起始地点:</td>
<td><input class="easyui-validatebox" type="text" name="start" data-options="required:true" readonly="readonly"/></td>
</tr>
<tr>
<td>出车日期:</td>
<td><input class="easyui-validatebox" type="text" name="senddate" data-options="required:true" readonly="readonly"/></td>
<td>出车时间:</td>
<td><input class="easyui-validatebox" type="text" name="sendtime" data-options="required:true" readonly="readonly"/></td>
</tr>
<tr>
<td>实际金额:</td>
<td><input class="easyui-numberbox" type="text" name="realmoney" data-options="required:true" readonly="readonly"/></td>
<td>支付方式:</td>
<td><input class="easyui-validatebox" type="text" name="paytype" data-options="required:true" readonly="readonly"/></td>
</tr>
<tr>
<td>收款日期:</td>
<td><input id="chargedate" class="easyui-datebox" type="text" name="chargedate" data-options="required:true"/></td>
<td>已收金额:</td>
<td><input id="getmoney" class="easyui-numberbox" type="text" name="getmoney" data-options="required:true" readonly="readonly"/></td>
</tr>
<tr>
<td>应收金额:</td>
<td><input id="shouldmoney" class="easyui-numberbox" type="text" name="shouldmoney" data-options="required:true" readonly="readonly"/></td>
<td>实收金额:</td>
<td><input id="truemoney" class="easyui-numberbox" type="text" name="truemoney" data-options="required:true" onchange="changeMoney()"/></td>
</tr>
<tr>
<td>欠款余额:</td>
<td><input id="owemoney" class="easyui-numberbox" type="text" name="owemoney" data-options="required:true" readonly="readonly"/></td>
<td>备注:</td>
<td><input id="remark" class="easyui-textbox" type="text" name="remark" data-options="required:true"/></td>
</tr>
</table>
</form>
</div>
</body>
</html>
3、遇到的问题:
(1)打开收款窗口时需要动态显示应收实收以及欠款金额
4、解决的方法:
(1)每次打开窗口或改变金额时都重置应收实收以及欠款输入框的金额值
function changeMoney(){
$("#getmoney").numberbox('setValue',getmoney);
$("#shouldmoney").numberbox('setValue',shouldmoney);
$("#owemoney").numberbox('setValue',owemoney);
$("#getmoney").numberbox('setValue',Number($("#truemoney").val())+Number($("#getmoney").val()));
$("#owemoney").numberbox('setValue',$("#shouldmoney").val()-$("#truemoney").val());
$("#shouldmoney").numberbox('setValue',$("#shouldmoney").val()-$("#truemoney").val());
}
5、项目燃尽图更新: