新增收支项目和结算账户功能
This commit is contained in:
parent
55135acaaa
commit
2aaad2bc74
BIN
WebRoot/WEB-INF/classes/com/jsh/action/basic/AccountAction.class
Normal file
BIN
WebRoot/WEB-INF/classes/com/jsh/action/basic/AccountAction.class
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
WebRoot/WEB-INF/classes/com/jsh/dao/basic/AccountDAO.class
Normal file
BIN
WebRoot/WEB-INF/classes/com/jsh/dao/basic/AccountDAO.class
Normal file
Binary file not shown.
BIN
WebRoot/WEB-INF/classes/com/jsh/dao/basic/AccountIDAO.class
Normal file
BIN
WebRoot/WEB-INF/classes/com/jsh/dao/basic/AccountIDAO.class
Normal file
Binary file not shown.
BIN
WebRoot/WEB-INF/classes/com/jsh/dao/basic/InOutItemDAO.class
Normal file
BIN
WebRoot/WEB-INF/classes/com/jsh/dao/basic/InOutItemDAO.class
Normal file
Binary file not shown.
BIN
WebRoot/WEB-INF/classes/com/jsh/dao/basic/InOutItemIDAO.class
Normal file
BIN
WebRoot/WEB-INF/classes/com/jsh/dao/basic/InOutItemIDAO.class
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
WebRoot/WEB-INF/classes/com/jsh/model/po/Account.class
Normal file
BIN
WebRoot/WEB-INF/classes/com/jsh/model/po/Account.class
Normal file
Binary file not shown.
36
WebRoot/WEB-INF/classes/com/jsh/model/po/Account.hbm.xml
Normal file
36
WebRoot/WEB-INF/classes/com/jsh/model/po/Account.hbm.xml
Normal file
@ -0,0 +1,36 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
|
||||
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
|
||||
<hibernate-mapping>
|
||||
<class name="com.jsh.model.po.Account" table="jsh_account">
|
||||
<id name="Id" type="java.lang.Long">
|
||||
<column name="Id"/>
|
||||
<generator class="native"/>
|
||||
</id>
|
||||
<property generated="never" lazy="false" name="Name" type="java.lang.String">
|
||||
<column length="50" name="Name">
|
||||
<comment>名称</comment>
|
||||
</column>
|
||||
</property>
|
||||
<property generated="never" lazy="false" name="SerialNo" type="java.lang.String">
|
||||
<column length="50" name="SerialNo">
|
||||
<comment>编号</comment>
|
||||
</column>
|
||||
</property>
|
||||
<property generated="never" lazy="false" name="InitialAmount" type="java.lang.Double">
|
||||
<column name="InitialAmount" precision="22" scale="3">
|
||||
<comment>期初金额</comment>
|
||||
</column>
|
||||
</property>
|
||||
<property generated="never" lazy="false" name="CurrentAmount" type="java.lang.Double">
|
||||
<column name="CurrentAmount" precision="22" scale="3">
|
||||
<comment>当前余额</comment>
|
||||
</column>
|
||||
</property>
|
||||
<property generated="never" lazy="false" name="Remark" type="java.lang.String">
|
||||
<column length="100" name="Remark">
|
||||
<comment>备注</comment>
|
||||
</column>
|
||||
</property>
|
||||
</class>
|
||||
</hibernate-mapping>
|
||||
BIN
WebRoot/WEB-INF/classes/com/jsh/model/po/InOutItem.class
Normal file
BIN
WebRoot/WEB-INF/classes/com/jsh/model/po/InOutItem.class
Normal file
Binary file not shown.
26
WebRoot/WEB-INF/classes/com/jsh/model/po/InOutItem.hbm.xml
Normal file
26
WebRoot/WEB-INF/classes/com/jsh/model/po/InOutItem.hbm.xml
Normal file
@ -0,0 +1,26 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
|
||||
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
|
||||
<hibernate-mapping>
|
||||
<class name="com.jsh.model.po.InOutItem" table="jsh_inoutitem">
|
||||
<id name="Id" type="java.lang.Long">
|
||||
<column name="Id"/>
|
||||
<generator class="native"/>
|
||||
</id>
|
||||
<property generated="never" lazy="false" name="Name" type="java.lang.String">
|
||||
<column length="50" name="Name">
|
||||
<comment>名称</comment>
|
||||
</column>
|
||||
</property>
|
||||
<property generated="never" lazy="false" name="Type" type="java.lang.String">
|
||||
<column length="20" name="Type">
|
||||
<comment>类型</comment>
|
||||
</column>
|
||||
</property>
|
||||
<property generated="never" lazy="false" name="Remark" type="java.lang.String">
|
||||
<column length="100" name="Remark">
|
||||
<comment>备注</comment>
|
||||
</column>
|
||||
</property>
|
||||
</class>
|
||||
</hibernate-mapping>
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -18,6 +18,7 @@
|
||||
org.hibernate.dialect.MySQL5Dialect
|
||||
</property>
|
||||
<property name="show_sql">true</property>
|
||||
<!-- 一般重新建库用create(慎用),只更新字段用update -->
|
||||
<property name="hbm2ddl.auto">update</property>
|
||||
|
||||
<!-- 对应的实体映射 -->
|
||||
@ -39,5 +40,7 @@
|
||||
<mapping resource="com/jsh/model/po/Building.hbm.xml" />
|
||||
<mapping resource="com/jsh/model/po/DepotHead.hbm.xml" />
|
||||
<mapping resource="com/jsh/model/po/DepotItem.hbm.xml" />
|
||||
<mapping resource="com/jsh/model/po/Account.hbm.xml" />
|
||||
<mapping resource="com/jsh/model/po/InOutItem.hbm.xml" />
|
||||
</session-factory>
|
||||
</hibernate-configuration>
|
||||
</hibernate-configuration>
|
||||
|
||||
@ -321,4 +321,28 @@
|
||||
<property name="logService" ref="logService"/>
|
||||
</bean>
|
||||
<!--仓管通明细配置结束 -->
|
||||
</beans>
|
||||
|
||||
<!--结算账户配置开始 -->
|
||||
<bean id="accountService" class="com.jsh.service.basic.AccountService">
|
||||
<property name="baseDao" ref="baseDao"/>
|
||||
<property name="accountDao" ref="accountDao"/>
|
||||
</bean>
|
||||
<!-- spring整合struts2需要默认为request或者 prototype,不能是单例 -->
|
||||
<bean id="accountAction" class="com.jsh.action.basic.AccountAction" scope="prototype">
|
||||
<property name="accountService" ref="accountService"/>
|
||||
<property name="logService" ref="logService"/>
|
||||
</bean>
|
||||
<!--结算账户配置结束 -->
|
||||
|
||||
<!--收支项目配置开始 -->
|
||||
<bean id="inOutItemService" class="com.jsh.service.basic.InOutItemService">
|
||||
<property name="baseDao" ref="baseDao"/>
|
||||
<property name="inOutItemDao" ref="inOutItemDao"/>
|
||||
</bean>
|
||||
<!-- spring整合struts2需要默认为request或者 prototype,不能是单例 -->
|
||||
<bean id="inOutItemAction" class="com.jsh.action.basic.InOutItemAction" scope="prototype">
|
||||
<property name="inOutItemService" ref="inOutItemService"/>
|
||||
<property name="logService" ref="logService"/>
|
||||
</bean>
|
||||
<!--收支项目配置结束 -->
|
||||
</beans>
|
||||
|
||||
@ -47,5 +47,9 @@
|
||||
<!-- 配置depotHeadDao组件 -->
|
||||
<bean id="depotHeadDao" parent="daoTemplate" class="com.jsh.dao.materials.DepotHeadDAO"/>
|
||||
<!-- 配置depotItemDao组件 -->
|
||||
<bean id="depotItemDao" parent="daoTemplate" class="com.jsh.dao.materials.DepotItemDAO"/>
|
||||
<bean id="depotItemDao" parent="daoTemplate" class="com.jsh.dao.materials.DepotItemDAO"/>
|
||||
<!-- 配置accountDao组件 -->
|
||||
<bean id="accountDao" parent="daoTemplate" class="com.jsh.dao.basic.AccountDAO"/>
|
||||
<!-- 配置inOutItemDao组件 -->
|
||||
<bean id="inOutItemDao" parent="daoTemplate" class="com.jsh.dao.basic.InOutItemDAO"/>
|
||||
</beans>
|
||||
11
WebRoot/WEB-INF/classes/struts2/account-struts.xml
Normal file
11
WebRoot/WEB-INF/classes/struts2/account-struts.xml
Normal file
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE struts PUBLIC
|
||||
"-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
|
||||
"http://struts.apache.org/dtds/struts-2.1.7.dtd">
|
||||
<struts>
|
||||
<package name="account" namespace="/account" extends="json-default">
|
||||
<action name="*" class="accountAction" method="{1}">
|
||||
<result type="json"/>
|
||||
</action>
|
||||
</package>
|
||||
</struts>
|
||||
11
WebRoot/WEB-INF/classes/struts2/inOutItem-struts.xml
Normal file
11
WebRoot/WEB-INF/classes/struts2/inOutItem-struts.xml
Normal file
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE struts PUBLIC
|
||||
"-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
|
||||
"http://struts.apache.org/dtds/struts-2.1.7.dtd">
|
||||
<struts>
|
||||
<package name="inOutItem" namespace="/inOutItem" extends="json-default">
|
||||
<action name="*" class="inOutItemAction" method="{1}">
|
||||
<result type="json"/>
|
||||
</action>
|
||||
</package>
|
||||
</struts>
|
||||
@ -12,35 +12,6 @@
|
||||
<title>ERP系统</title>
|
||||
<link href="<%=path%>/js/HoorayOS_mini/js/HoorayLibs/hooraylibs.css" rel="stylesheet" />
|
||||
<link href="<%=path%>/js/HoorayOS_mini/img/ui/index.css" rel="stylesheet" />
|
||||
<style type="text/css">
|
||||
.newsTitle {
|
||||
text-align: center;
|
||||
color: red;
|
||||
font-weight: bold;
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
.newsContent {
|
||||
padding-top: 10px;
|
||||
color: red;
|
||||
font-weight: bold;
|
||||
height: 140px;
|
||||
overflow: hidden;
|
||||
line-height: 20px;
|
||||
}
|
||||
|
||||
.newsFoot {
|
||||
text-align: right;
|
||||
color: red;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.newsTime {
|
||||
text-align: right;
|
||||
color: red;
|
||||
font-weight: bold;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="loading"></div>
|
||||
@ -134,16 +105,6 @@
|
||||
//加载桌面
|
||||
HROS.base.init();
|
||||
}
|
||||
if ('@ViewData["News"].ToString()'.length > 0) {
|
||||
$.messager.show({
|
||||
title: '公 告',
|
||||
msg: '最新公告',
|
||||
timeout: 20000,
|
||||
showType: 'slide',
|
||||
width: 500,
|
||||
height: 280
|
||||
});
|
||||
}
|
||||
function JSGetCookie(Name) {
|
||||
var search = Name + "="
|
||||
if (document.cookie.length > 0) {
|
||||
|
||||
518
WebRoot/pages/manage/account.jsp
Normal file
518
WebRoot/pages/manage/account.jsp
Normal file
@ -0,0 +1,518 @@
|
||||
<%@page import="com.jsh.util.common.Tools"%>
|
||||
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
|
||||
<%
|
||||
String path = request.getContextPath();
|
||||
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
|
||||
String clientIp = Tools.getCurrentUserIP();
|
||||
%>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>结算账户</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<!-- 指定以IE8的方式来渲染 -->
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8"/>
|
||||
<link rel="shortcut icon" href="<%=path%>/images/favicon.ico" type="image/x-icon" />
|
||||
<link rel="stylesheet" type="text/css" href="<%=path %>/js/easyui-1.3.5/themes/default/easyui.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="<%=path %>/js/easyui-1.3.5/themes/icon.css"/>
|
||||
<link type="text/css" rel="stylesheet" href="<%=path %>/css/common.css" />
|
||||
<script type="text/javascript" src="<%=path %>/js/jquery-1.8.0.min.js"></script>
|
||||
<script type="text/javascript" src="<%=path %>/js/easyui-1.3.5/jquery.easyui.min.js"></script>
|
||||
<script type="text/javascript" src="<%=path %>/js/easyui-1.3.5/locale/easyui-lang-zh_CN.js"></script>
|
||||
<script type="text/javascript" src="<%=path %>/js/common/common.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<!-- 查询 -->
|
||||
<div id = "searchPanel" class="easyui-panel" style="padding:10px;" title="查询窗口" iconCls="icon-search" collapsible="true" closable="false">
|
||||
<table id="searchTable">
|
||||
<tr>
|
||||
<td>名 称:</td>
|
||||
<td>
|
||||
<input type="text" name="searchName" id="searchName" style="width:70px;"/>
|
||||
</td>
|
||||
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
<td id="searchSerialNoLabel">编 号:</td>
|
||||
<td>
|
||||
<input type="text" name="searchSerialNo" id="searchSerialNo" style="width:70px;"/>
|
||||
</td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
<td id="searchRemarkLabel">备 注:</td>
|
||||
<td>
|
||||
<input type="text" name="searchRemark" id="searchRemark" style="width:70px;"/>
|
||||
</td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
<td>
|
||||
<a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-search" id="searchBtn">查询</a>
|
||||
<a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-redo" id="searchResetBtn">重置</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<!-- 数据显示table -->
|
||||
<div id = "tablePanel" class="easyui-panel" style="padding:1px;top:300px;" title="结算账户" iconCls="icon-list" collapsible="true" closable="false">
|
||||
<table id="tableData" style="top:300px;border-bottom-color:#FFFFFF"></table>
|
||||
</div>
|
||||
<div id="accountDlg" class="easyui-dialog" style="width:380px;padding:10px 20px"
|
||||
closed="true" buttons="#dlg-buttons" modal="true" collapsible="false" closable="true">
|
||||
<form id="accountFM" method="post" novalidate>
|
||||
<div class="fitem" style="padding:5px">
|
||||
<label id="nameLabel">名 称</label>
|
||||
<input name="name" id="name" class="easyui-validatebox" data-options="required:true,validType:'length[2,30]'" style="width: 230px;height: 20px"/>
|
||||
</div>
|
||||
<div class="fitem" style="padding:5px">
|
||||
<label id="serialNoLabel">编 号</label>
|
||||
<input name="serialNo" id="serialNo" class="easyui-validatebox" data-options="required:true,validType:'length[2,30]'" style="width: 230px;height: 20px"/>
|
||||
</div>
|
||||
<div class="fitem" style="padding:5px">
|
||||
<label id="initialAmountLabel">期初金额</label>
|
||||
<input name="initialAmount" id="initialAmount" type="text" class="easyui-numberbox" data-options="min:0,precision:2" style="width: 230px;height: 20px"></input>
|
||||
</div>
|
||||
<div class="fitem" style="padding:5px">
|
||||
<label id="currentAmountLabel">当前余额</label>
|
||||
<input name="currentAmount" id="currentAmount" type="text" class="easyui-numberbox" data-options="min:0,precision:2" style="width: 230px;height: 20px"></input>
|
||||
</div>
|
||||
<div class="fitem" style="padding:5px">
|
||||
<label id="remarkLabel">备 注</label>
|
||||
<textarea name="remark" id="remark" rows="2" cols="2" style="width: 230px;"></textarea>
|
||||
</div>
|
||||
<input type="hidden" name="clientIp" id="clientIp" value="<%=clientIp %>"/>
|
||||
</form>
|
||||
</div>
|
||||
<div id="dlg-buttons">
|
||||
<a href="javascript:void(0)" id="saveAccount" class="easyui-linkbutton" iconCls="icon-ok">保存</a>
|
||||
<a href="javascript:void(0)" id="cancelAccount" class="easyui-linkbutton" iconCls="icon-cancel" onclick="javascript:$('#accountDlg').dialog('close')">取消</a>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
//初始化界面
|
||||
$(function()
|
||||
{
|
||||
initTableData();
|
||||
ininPager();
|
||||
browserFit();
|
||||
});
|
||||
|
||||
//浏览器适配
|
||||
function browserFit()
|
||||
{
|
||||
if(getOs()=='MSIE')
|
||||
{
|
||||
$("#searchSerialNoLabel").empty().append("编 号:");
|
||||
$("#searchRemarkLabel").empty().append("备 注:");
|
||||
$("#nameLabel").empty().append("名 称");
|
||||
$("#serialNoLabel").empty().append("编 号");
|
||||
$("#initialAmountLabel").empty().append("期初金额");
|
||||
$("#currentAmountLabel").empty().append("当前余额");
|
||||
$("#remarkLabel").empty().append("备 注");
|
||||
}
|
||||
else
|
||||
{
|
||||
$("#searchSerialNoLabel").empty().append("编 号:");
|
||||
$("#searchRemarkLabel").empty().append("备 注:");
|
||||
$("#nameLabel").empty().append("名 称");
|
||||
$("#serialNoLabel").empty().append("编 号");
|
||||
$("#initialAmountLabel").empty().append("期初金额");
|
||||
$("#currentAmountLabel").empty().append("当前余额");
|
||||
$("#remarkLabel").empty().append("备 注");
|
||||
}
|
||||
}
|
||||
|
||||
//初始化表格数据
|
||||
function initTableData()
|
||||
{
|
||||
$('#tableData').datagrid({
|
||||
//title:'结算账户',
|
||||
//iconCls:'icon-save',
|
||||
//width:700,
|
||||
height:heightInfo,
|
||||
nowrap: false,
|
||||
rownumbers: false,
|
||||
//动画效果
|
||||
animate:false,
|
||||
//选中单行
|
||||
singleSelect : true,
|
||||
collapsible:false,
|
||||
selectOnCheck:false,
|
||||
//fitColumns:true,
|
||||
//单击行是否选中
|
||||
checkOnSelect : false,
|
||||
//交替出现背景
|
||||
striped : true,
|
||||
url:'<%=path %>/account/findBy.action?pageSize=' + initPageSize,
|
||||
pagination: true,
|
||||
//自动截取数据
|
||||
//nowrap : true,
|
||||
//loadFilter: pagerFilter,
|
||||
pageSize: initPageSize,
|
||||
pageList: initPageNum,
|
||||
columns:[[
|
||||
{ field: 'id',width:35,align:"center",checkbox:true},
|
||||
{ title: '名称',field: 'name',width:100},
|
||||
{ title: '编号', field: 'serialNo',width:100,align:"center"},
|
||||
{ title: '期初金额', field: 'initialAmount',width:100,align:"center"},
|
||||
{ title: '当前余额', field: 'currentAmount',width:100,align:"center"},
|
||||
{ title: '备注',field: 'remark',width:100},
|
||||
{ title: '操作',field: 'op',align:"center",width:130,formatter:function(value,rec)
|
||||
{
|
||||
var str = '';
|
||||
var rowInfo = rec.id + 'AaBb' + rec.name +'AaBb' + rec.serialNo +'AaBb' + rec.initialAmount +'AaBb' + rec.currentAmount + 'AaBb'+ rec.remark;
|
||||
if(1 == value)
|
||||
{
|
||||
str += '<img src="<%=path%>/js/easyui-1.3.5/themes/icons/pencil.png" style="cursor: pointer;" onclick="editAccount(\'' + rowInfo + '\');"/> <a onclick="editAccount(\'' + rowInfo + '\');" style="text-decoration:none;color:black;" href="javascript:void(0)">编辑</a> ';
|
||||
str += '<img src="<%=path%>/js/easyui-1.3.5/themes/icons/edit_remove.png" style="cursor: pointer;" onclick="deleteAccount(\'' + rowInfo + '\');"/> <a onclick="deleteAccount(\'' + rowInfo + '\');" style="text-decoration:none;color:black;" href="javascript:void(0)">删除</a> ';
|
||||
}
|
||||
return str;
|
||||
}
|
||||
}
|
||||
]],
|
||||
toolbar:[
|
||||
{
|
||||
id:'addAccount',
|
||||
text:'增加',
|
||||
iconCls:'icon-add',
|
||||
handler:function()
|
||||
{
|
||||
addAccount();
|
||||
}
|
||||
},
|
||||
{
|
||||
id:'deleteAccount',
|
||||
text:'删除',
|
||||
iconCls:'icon-remove',
|
||||
handler:function()
|
||||
{
|
||||
batDeleteAccount();
|
||||
}
|
||||
}
|
||||
],
|
||||
onLoadError:function()
|
||||
{
|
||||
$.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error');
|
||||
return;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
//初始化键盘enter事件
|
||||
$(document).keydown(function(event)
|
||||
{
|
||||
//兼容 IE和firefox 事件
|
||||
var e = window.event || event;
|
||||
var k = e.keyCode||e.which||e.charCode;
|
||||
//兼容 IE,firefox 兼容
|
||||
var obj = e.srcElement ? e.srcElement : e.target;
|
||||
//绑定键盘事件为 id是指定的输入框才可以触发键盘事件 13键盘事件
|
||||
if(k == "13"&&(obj.id=="name" || obj.id=="serialNo" || obj.id=="initialAmount" || obj.id=="currentAmount" || obj.id=="remark"))
|
||||
{
|
||||
$("#saveAccount").click();
|
||||
}
|
||||
|
||||
//搜索按钮添加快捷键
|
||||
if(k == "13"&&(obj.id=="searchName" || obj.id=="searchSerialNo" || obj.id=="searchRemark"))
|
||||
{
|
||||
$("#searchBtn").click();
|
||||
}
|
||||
});
|
||||
//分页信息处理
|
||||
function ininPager()
|
||||
{
|
||||
try
|
||||
{
|
||||
var opts = $("#tableData").datagrid('options');
|
||||
var pager = $("#tableData").datagrid('getPager');
|
||||
pager.pagination({
|
||||
onSelectPage:function(pageNum, pageSize)
|
||||
{
|
||||
opts.pageNumber = pageNum;
|
||||
opts.pageSize = pageSize;
|
||||
pager.pagination('refresh',
|
||||
{
|
||||
pageNumber:pageNum,
|
||||
pageSize:pageSize
|
||||
});
|
||||
showAccountDetails(pageNum,pageSize);
|
||||
}
|
||||
});
|
||||
}
|
||||
catch (e)
|
||||
{
|
||||
$.messager.alert('异常处理提示',"分页信息异常 : " + e.name + ": " + e.message,'error');
|
||||
}
|
||||
}
|
||||
|
||||
//删除结算账户
|
||||
function deleteAccount(accountInfo)
|
||||
{
|
||||
$.messager.confirm('删除确认','确定要删除此结算账户吗?',function(r)
|
||||
{
|
||||
if (r)
|
||||
{
|
||||
var accountTotalInfo = accountInfo.split("AaBb");
|
||||
$.ajax({
|
||||
type:"post",
|
||||
url: "<%=path %>/account/delete.action",
|
||||
dataType: "json",
|
||||
data: ({
|
||||
accountID : accountTotalInfo[0],
|
||||
name:accountTotalInfo[1],
|
||||
clientIp:'<%=clientIp %>'
|
||||
}),
|
||||
success: function (tipInfo)
|
||||
{
|
||||
var msg = tipInfo.showModel.msgTip;
|
||||
if(msg == '成功')
|
||||
//加载完以后重新初始化
|
||||
$("#searchBtn").click();
|
||||
else
|
||||
$.messager.alert('删除提示','删除结算账户失败,请稍后再试!','error');
|
||||
},
|
||||
//此处添加错误处理
|
||||
error:function()
|
||||
{
|
||||
$.messager.alert('删除提示','删除结算账户异常,请稍后再试!','error');
|
||||
return;
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
//批量删除结算账户
|
||||
function batDeleteAccount()
|
||||
{
|
||||
var row = $('#tableData').datagrid('getChecked');
|
||||
if(row.length == 0)
|
||||
{
|
||||
$.messager.alert('删除提示','没有记录被选中!','info');
|
||||
return;
|
||||
}
|
||||
if(row.length > 0)
|
||||
{
|
||||
$.messager.confirm('删除确认','确定要删除选中的' + row.length + '条结算账户吗?',function(r)
|
||||
{
|
||||
if (r)
|
||||
{
|
||||
var ids = "";
|
||||
for(var i = 0;i < row.length; i ++)
|
||||
{
|
||||
if(i == row.length-1)
|
||||
{
|
||||
ids += row[i].id;
|
||||
break;
|
||||
}
|
||||
ids += row[i].id + ",";
|
||||
}
|
||||
$.ajax({
|
||||
type:"post",
|
||||
url: "<%=path %>/account/batchDelete.action",
|
||||
dataType: "json",
|
||||
async : false,
|
||||
data: ({
|
||||
accountIDs : ids,
|
||||
clientIp:'<%=clientIp %>'
|
||||
}),
|
||||
success: function (tipInfo)
|
||||
{
|
||||
var msg = tipInfo.showModel.msgTip;
|
||||
if(msg == '成功')
|
||||
{
|
||||
//加载完以后重新初始化
|
||||
$("#searchBtn").click();
|
||||
$(":checkbox").attr("checked",false);
|
||||
}
|
||||
else
|
||||
$.messager.alert('删除提示','删除结算账户失败,请稍后再试!','error');
|
||||
},
|
||||
//此处添加错误处理
|
||||
error:function()
|
||||
{
|
||||
$.messager.alert('删除提示','删除结算账户异常,请稍后再试!','error');
|
||||
return;
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
//增加结算账户
|
||||
var url;
|
||||
var accountID = 0;
|
||||
//保存编辑前的名称
|
||||
var orgaccount = "";
|
||||
|
||||
function addAccount()
|
||||
{
|
||||
$('#accountDlg').dialog('open').dialog('setTitle','<img src="<%=path%>/js/easyui-1.3.5/themes/icons/edit_add.png"/> 增加结算账户');
|
||||
$(".window-mask").css({ width: webW ,height: webH});
|
||||
$('#accountFM').form('clear');
|
||||
|
||||
var row = {
|
||||
clientIp:'<%=clientIp %>'
|
||||
};
|
||||
$('#accountFM').form('load',row);
|
||||
|
||||
$("#account").focus();
|
||||
orgAccount = "";
|
||||
accountID = 0;
|
||||
url = '<%=path %>/account/create.action';
|
||||
}
|
||||
|
||||
//保存结算账户
|
||||
$("#saveAccount").unbind().bind({
|
||||
click:function()
|
||||
{
|
||||
if(checkAccountName())
|
||||
return;
|
||||
|
||||
$('#accountFM').form('submit',{
|
||||
url: url,
|
||||
onSubmit: function()
|
||||
{
|
||||
return $(this).form('validate');
|
||||
},
|
||||
success: function(result)
|
||||
{
|
||||
var result = eval('('+result+')');
|
||||
if (!result)
|
||||
{
|
||||
$.messager.show({
|
||||
title: '错误提示',
|
||||
msg: '保存结算账户失败,请稍后重试!'
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
$('#accountDlg').dialog('close');
|
||||
//$('#tableData').datagrid('reload');
|
||||
//加载完以后重新初始化
|
||||
//$("#searchBtn").click();
|
||||
var opts = $("#tableData").datagrid('options');
|
||||
showAccountDetails(opts.pageNumber,opts.pageSize);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
//编辑结算账户
|
||||
function editAccount(accountTotalInfo)
|
||||
{
|
||||
var accountInfo = accountTotalInfo.split("AaBb");
|
||||
var row = {
|
||||
name : accountInfo[1],
|
||||
serialNo : accountInfo[2],
|
||||
initialAmount : accountInfo[3],
|
||||
currentAmount : accountInfo[4],
|
||||
remark : accountInfo[5],
|
||||
clientIp:'<%=clientIp %>'
|
||||
};
|
||||
orgAccount = accountInfo[1];
|
||||
$('#accountDlg').dialog('open').dialog('setTitle','<img src="<%=path%>/js/easyui-1.3.5/themes/icons/pencil.png"/> 编辑结算账户');
|
||||
$(".window-mask").css({ width: webW ,height: webH});
|
||||
$('#accountFM').form('load',row);
|
||||
accountID = accountInfo[0];
|
||||
//焦点在名称输入框==定焦在输入文字后面
|
||||
$("#account").val("").focus().val(accountInfo[1]);
|
||||
url = '<%=path %>/account/update.action?accountID=' + accountInfo[0];
|
||||
}
|
||||
|
||||
//检查结算账户 名称是否存在 ++ 重名无法提示问题需要跟进
|
||||
function checkAccountName()
|
||||
{
|
||||
var accountName = $.trim($("#name").val());
|
||||
//表示是否存在 true == 存在 false = 不存在
|
||||
var flag = false;
|
||||
//开始ajax名称检验,不能重名
|
||||
if(accountName.length > 0 &&( orgAccount.length ==0 || accountName != orgAccount))
|
||||
{
|
||||
$.ajax({
|
||||
type:"post",
|
||||
url: "<%=path %>/account/checkIsNameExist.action",
|
||||
dataType: "json",
|
||||
async : false,
|
||||
data: ({
|
||||
accountID : accountID,
|
||||
name : accountName
|
||||
}),
|
||||
success: function (tipInfo)
|
||||
{
|
||||
flag = tipInfo;
|
||||
if(tipInfo)
|
||||
{
|
||||
$.messager.alert('提示','结算账户名称已经存在','info');
|
||||
return;
|
||||
}
|
||||
},
|
||||
//此处添加错误处理
|
||||
error:function()
|
||||
{
|
||||
$.messager.alert('提示','检查结算账户名称是否存在异常,请稍后再试!','error');
|
||||
return;
|
||||
}
|
||||
});
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
//搜索处理
|
||||
$("#searchBtn").unbind().bind({
|
||||
click:function()
|
||||
{
|
||||
showAccountDetails(1,initPageSize);
|
||||
var opts = $("#tableData").datagrid('options');
|
||||
var pager = $("#tableData").datagrid('getPager');
|
||||
opts.pageNumber = 1;
|
||||
opts.pageSize = initPageSize;
|
||||
pager.pagination('refresh',
|
||||
{
|
||||
pageNumber:1,
|
||||
pageSize:initPageSize
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
function showAccountDetails(pageNo,pageSize)
|
||||
{
|
||||
$.ajax({
|
||||
type:"post",
|
||||
url: "<%=path %>/account/findBy.action",
|
||||
dataType: "json",
|
||||
data: ({
|
||||
name:$.trim($("#searchName").val()),
|
||||
serialNo:$.trim($("#searchSerialNo").val()),
|
||||
remark:$.trim($("#searchRemark").val()),
|
||||
pageNo:pageNo,
|
||||
pageSize:pageSize
|
||||
}),
|
||||
success: function (data)
|
||||
{
|
||||
$("#tableData").datagrid('loadData',data);
|
||||
},
|
||||
//此处添加错误处理
|
||||
error:function()
|
||||
{
|
||||
$.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error');
|
||||
return;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
//重置按钮
|
||||
$("#searchResetBtn").unbind().bind({
|
||||
click:function(){
|
||||
$("#searchName").val("");
|
||||
$("#searchSerialNo").val("");
|
||||
$("#searchRemark").val("");
|
||||
//加载完以后重新初始化
|
||||
$("#searchBtn").click();
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
510
WebRoot/pages/manage/inOutItem.jsp
Normal file
510
WebRoot/pages/manage/inOutItem.jsp
Normal file
@ -0,0 +1,510 @@
|
||||
<%@page import="com.jsh.util.common.Tools"%>
|
||||
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
|
||||
<%
|
||||
String path = request.getContextPath();
|
||||
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
|
||||
String clientIp = Tools.getCurrentUserIP();
|
||||
%>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>收支项目</title>
|
||||
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<!-- 指定以IE8的方式来渲染 -->
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8"/>
|
||||
<link rel="shortcut icon" href="<%=path%>/images/favicon.ico" type="image/x-icon" />
|
||||
<link rel="stylesheet" type="text/css" href="<%=path %>/js/easyui-1.3.5/themes/default/easyui.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="<%=path %>/js/easyui-1.3.5/themes/icon.css"/>
|
||||
<link type="text/css" rel="stylesheet" href="<%=path %>/css/common.css" />
|
||||
<script type="text/javascript" src="<%=path %>/js/jquery-1.8.0.min.js"></script>
|
||||
<script type="text/javascript" src="<%=path %>/js/easyui-1.3.5/jquery.easyui.min.js"></script>
|
||||
<script type="text/javascript" src="<%=path %>/js/easyui-1.3.5/locale/easyui-lang-zh_CN.js"></script>
|
||||
<script type="text/javascript" src="<%=path %>/js/common/common.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<!-- 查询 -->
|
||||
<div id = "searchPanel" class="easyui-panel" style="padding:10px;" title="查询窗口" iconCls="icon-search" collapsible="true" closable="false">
|
||||
<table id="searchTable">
|
||||
<tr>
|
||||
<td>名 称:</td>
|
||||
<td>
|
||||
<input type="text" name="searchName" id="searchName" style="width:70px;"/>
|
||||
</td>
|
||||
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
<td id="searchTypeLabel">类 型:</td>
|
||||
<td>
|
||||
<select name="searchType" id="searchType" style="width:70px;">
|
||||
<option value="">全部</option>
|
||||
<option value="收入">收入</option>
|
||||
<option value="支出">支出</option>
|
||||
</select>
|
||||
</td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
<td id="searchRemarkLabel">备 注:</td>
|
||||
<td>
|
||||
<input type="text" name="searchRemark" id="searchRemark" style="width:70px;"/>
|
||||
</td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
<td>
|
||||
<a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-search" id="searchBtn">查询</a>
|
||||
<a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-redo" id="searchResetBtn">重置</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<!-- 数据显示table -->
|
||||
<div id = "tablePanel" class="easyui-panel" style="padding:1px;top:300px;" title="收支项目" iconCls="icon-list" collapsible="true" closable="false">
|
||||
<table id="tableData" style="top:300px;border-bottom-color:#FFFFFF"></table>
|
||||
</div>
|
||||
<div id="inOutItemDlg" class="easyui-dialog" style="width:380px;padding:10px 20px"
|
||||
closed="true" buttons="#dlg-buttons" modal="true" collapsible="false" closable="true">
|
||||
<form id="inOutItemFM" method="post" novalidate>
|
||||
<div class="fitem" style="padding:5px">
|
||||
<label id="nameLabel">名 称</label>
|
||||
<input name="name" id="name" class="easyui-validatebox" data-options="required:true,validType:'length[2,30]'" style="width: 230px;height: 20px"/>
|
||||
</div>
|
||||
<div class="fitem" style="padding:5px">
|
||||
<label id="typeLabel">类 型</label>
|
||||
<select name="type" id="type" style="width:230px;">
|
||||
<option value="收入">收入</option>
|
||||
<option value="支出">支出</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="fitem" style="padding:5px">
|
||||
<label id="remarkLabel">备 注</label>
|
||||
<textarea name="remark" id="remark" rows="2" cols="2" style="width: 230px;"></textarea>
|
||||
</div>
|
||||
<input type="hidden" name="clientIp" id="clientIp" value="<%=clientIp %>"/>
|
||||
</form>
|
||||
</div>
|
||||
<div id="dlg-buttons">
|
||||
<a href="javascript:void(0)" id="saveInOutItem" class="easyui-linkbutton" iconCls="icon-ok">保存</a>
|
||||
<a href="javascript:void(0)" id="cancelInOutItem" class="easyui-linkbutton" iconCls="icon-cancel" onclick="javascript:$('#inOutItemDlg').dialog('close')">取消</a>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
//初始化界面
|
||||
$(function()
|
||||
{
|
||||
initTableData();
|
||||
ininPager();
|
||||
browserFit();
|
||||
});
|
||||
|
||||
//浏览器适配
|
||||
function browserFit()
|
||||
{
|
||||
if(getOs()=='MSIE')
|
||||
{
|
||||
$("#searchTypeLabel").empty().append("类 型:");
|
||||
$("#searchRemarkLabel").empty().append("备 注:");
|
||||
$("#nameLabel").empty().append("名 称");
|
||||
$("#typeLabel").empty().append("类 型");
|
||||
$("#remarkLabel").empty().append("备 注");
|
||||
}
|
||||
else
|
||||
{
|
||||
$("#searchTypeLabel").empty().append("类 型:");
|
||||
$("#searchRemarkLabel").empty().append("备 注:");
|
||||
$("#nameLabel").empty().append("名 称");
|
||||
$("#typeLabel").empty().append("类 型");
|
||||
$("#remarkLabel").empty().append("备 注");
|
||||
}
|
||||
}
|
||||
|
||||
//初始化表格数据
|
||||
function initTableData()
|
||||
{
|
||||
$('#tableData').datagrid({
|
||||
//title:'收支项目',
|
||||
//iconCls:'icon-save',
|
||||
//width:700,
|
||||
height:heightInfo,
|
||||
nowrap: false,
|
||||
rownumbers: false,
|
||||
//动画效果
|
||||
animate:false,
|
||||
//选中单行
|
||||
singleSelect : true,
|
||||
collapsible:false,
|
||||
selectOnCheck:false,
|
||||
//fitColumns:true,
|
||||
//单击行是否选中
|
||||
checkOnSelect : false,
|
||||
//交替出现背景
|
||||
striped : true,
|
||||
url:'<%=path %>/inOutItem/findBy.action?pageSize=' + initPageSize,
|
||||
pagination: true,
|
||||
//自动截取数据
|
||||
//nowrap : true,
|
||||
//loadFilter: pagerFilter,
|
||||
pageSize: initPageSize,
|
||||
pageList: initPageNum,
|
||||
columns:[[
|
||||
{ field: 'id',width:35,align:"center",checkbox:true},
|
||||
{ title: '名称',field: 'name',width:200},
|
||||
{ title: '类型', field: 'type',width:100,align:"center"},
|
||||
{ title: '描述',field: 'remark',width:200},
|
||||
{ title: '操作',field: 'op',align:"center",width:130,formatter:function(value,rec)
|
||||
{
|
||||
var str = '';
|
||||
var rowInfo = rec.id + 'AaBb' + rec.name +'AaBb' + rec.type + 'AaBb'+ rec.remark;
|
||||
if(1 == value)
|
||||
{
|
||||
str += '<img src="<%=path%>/js/easyui-1.3.5/themes/icons/pencil.png" style="cursor: pointer;" onclick="editInOutItem(\'' + rowInfo + '\');"/> <a onclick="editInOutItem(\'' + rowInfo + '\');" style="text-decoration:none;color:black;" href="javascript:void(0)">编辑</a> ';
|
||||
str += '<img src="<%=path%>/js/easyui-1.3.5/themes/icons/edit_remove.png" style="cursor: pointer;" onclick="deleteInOutItem(\'' + rowInfo + '\');"/> <a onclick="deleteInOutItem(\'' + rowInfo + '\');" style="text-decoration:none;color:black;" href="javascript:void(0)">删除</a> ';
|
||||
}
|
||||
return str;
|
||||
}
|
||||
}
|
||||
]],
|
||||
toolbar:[
|
||||
{
|
||||
id:'addInOutItem',
|
||||
text:'增加',
|
||||
iconCls:'icon-add',
|
||||
handler:function()
|
||||
{
|
||||
addInOutItem();
|
||||
}
|
||||
},
|
||||
{
|
||||
id:'deleteInOutItem',
|
||||
text:'删除',
|
||||
iconCls:'icon-remove',
|
||||
handler:function()
|
||||
{
|
||||
batDeleteInOutItem();
|
||||
}
|
||||
}
|
||||
],
|
||||
onLoadError:function()
|
||||
{
|
||||
$.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error');
|
||||
return;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
//初始化键盘enter事件
|
||||
$(document).keydown(function(event)
|
||||
{
|
||||
//兼容 IE和firefox 事件
|
||||
var e = window.event || event;
|
||||
var k = e.keyCode||e.which||e.charCode;
|
||||
//兼容 IE,firefox 兼容
|
||||
var obj = e.srcElement ? e.srcElement : e.target;
|
||||
//绑定键盘事件为 id是指定的输入框才可以触发键盘事件 13键盘事件
|
||||
if(k == "13"&&(obj.id=="name" || obj.id=="remark"))
|
||||
{
|
||||
$("#saveInOutItem").click();
|
||||
}
|
||||
|
||||
//搜索按钮添加快捷键
|
||||
if(k == "13"&&(obj.id=="searchName" || obj.id=="searchRemark"))
|
||||
{
|
||||
$("#searchBtn").click();
|
||||
}
|
||||
});
|
||||
//分页信息处理
|
||||
function ininPager()
|
||||
{
|
||||
try
|
||||
{
|
||||
var opts = $("#tableData").datagrid('options');
|
||||
var pager = $("#tableData").datagrid('getPager');
|
||||
pager.pagination({
|
||||
onSelectPage:function(pageNum, pageSize)
|
||||
{
|
||||
opts.pageNumber = pageNum;
|
||||
opts.pageSize = pageSize;
|
||||
pager.pagination('refresh',
|
||||
{
|
||||
pageNumber:pageNum,
|
||||
pageSize:pageSize
|
||||
});
|
||||
showInOutItemDetails(pageNum,pageSize);
|
||||
}
|
||||
});
|
||||
}
|
||||
catch (e)
|
||||
{
|
||||
$.messager.alert('异常处理提示',"分页信息异常 : " + e.name + ": " + e.message,'error');
|
||||
}
|
||||
}
|
||||
|
||||
//删除收支项目
|
||||
function deleteInOutItem(inOutItemInfo)
|
||||
{
|
||||
$.messager.confirm('删除确认','确定要删除此收支项目吗?',function(r)
|
||||
{
|
||||
if (r)
|
||||
{
|
||||
var inOutItemTotalInfo = inOutItemInfo.split("AaBb");
|
||||
$.ajax({
|
||||
type:"post",
|
||||
url: "<%=path %>/inOutItem/delete.action",
|
||||
dataType: "json",
|
||||
data: ({
|
||||
inOutItemID : inOutItemTotalInfo[0],
|
||||
name:inOutItemTotalInfo[1],
|
||||
clientIp:'<%=clientIp %>'
|
||||
}),
|
||||
success: function (tipInfo)
|
||||
{
|
||||
var msg = tipInfo.showModel.msgTip;
|
||||
if(msg == '成功')
|
||||
//加载完以后重新初始化
|
||||
$("#searchBtn").click();
|
||||
else
|
||||
$.messager.alert('删除提示','删除收支项目失败,请稍后再试!','error');
|
||||
},
|
||||
//此处添加错误处理
|
||||
error:function()
|
||||
{
|
||||
$.messager.alert('删除提示','删除收支项目异常,请稍后再试!','error');
|
||||
return;
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
//批量删除收支项目
|
||||
function batDeleteInOutItem()
|
||||
{
|
||||
var row = $('#tableData').datagrid('getChecked');
|
||||
if(row.length == 0)
|
||||
{
|
||||
$.messager.alert('删除提示','没有记录被选中!','info');
|
||||
return;
|
||||
}
|
||||
if(row.length > 0)
|
||||
{
|
||||
$.messager.confirm('删除确认','确定要删除选中的' + row.length + '条收支项目吗?',function(r)
|
||||
{
|
||||
if (r)
|
||||
{
|
||||
var ids = "";
|
||||
for(var i = 0;i < row.length; i ++)
|
||||
{
|
||||
if(i == row.length-1)
|
||||
{
|
||||
ids += row[i].id;
|
||||
break;
|
||||
}
|
||||
ids += row[i].id + ",";
|
||||
}
|
||||
$.ajax({
|
||||
type:"post",
|
||||
url: "<%=path %>/inOutItem/batchDelete.action",
|
||||
dataType: "json",
|
||||
async : false,
|
||||
data: ({
|
||||
inOutItemIDs : ids,
|
||||
clientIp:'<%=clientIp %>'
|
||||
}),
|
||||
success: function (tipInfo)
|
||||
{
|
||||
var msg = tipInfo.showModel.msgTip;
|
||||
if(msg == '成功')
|
||||
{
|
||||
//加载完以后重新初始化
|
||||
$("#searchBtn").click();
|
||||
$(":checkbox").attr("checked",false);
|
||||
}
|
||||
else
|
||||
$.messager.alert('删除提示','删除收支项目失败,请稍后再试!','error');
|
||||
},
|
||||
//此处添加错误处理
|
||||
error:function()
|
||||
{
|
||||
$.messager.alert('删除提示','删除收支项目异常,请稍后再试!','error');
|
||||
return;
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
//增加收支项目
|
||||
var url;
|
||||
var inOutItemID = 0;
|
||||
//保存编辑前的名称
|
||||
var orgInOutItem = "";
|
||||
|
||||
function addInOutItem()
|
||||
{
|
||||
$('#inOutItemDlg').dialog('open').dialog('setTitle','<img src="<%=path%>/js/easyui-1.3.5/themes/icons/edit_add.png"/> 增加收支项目');
|
||||
$(".window-mask").css({ width: webW ,height: webH});
|
||||
$('#inOutItemFM').form('clear');
|
||||
|
||||
var row = {
|
||||
clientIp:'<%=clientIp %>'
|
||||
};
|
||||
$('#inOutItemFM').form('load',row);
|
||||
|
||||
$("#inOutItem").focus();
|
||||
orgInOutItem = "";
|
||||
inOutItemID = 0;
|
||||
url = '<%=path %>/inOutItem/create.action';
|
||||
}
|
||||
|
||||
//保存收支项目
|
||||
$("#saveInOutItem").unbind().bind({
|
||||
click:function()
|
||||
{
|
||||
if(checkInOutItemName())
|
||||
return;
|
||||
|
||||
$('#inOutItemFM').form('submit',{
|
||||
url: url,
|
||||
onSubmit: function()
|
||||
{
|
||||
return $(this).form('validate');
|
||||
},
|
||||
success: function(result)
|
||||
{
|
||||
var result = eval('('+result+')');
|
||||
if (!result)
|
||||
{
|
||||
$.messager.show({
|
||||
title: '错误提示',
|
||||
msg: '保存收支项目失败,请稍后重试!'
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
$('#inOutItemDlg').dialog('close');
|
||||
//$('#tableData').datagrid('reload');
|
||||
//加载完以后重新初始化
|
||||
//$("#searchBtn").click();
|
||||
var opts = $("#tableData").datagrid('options');
|
||||
showInOutItemDetails(opts.pageNumber,opts.pageSize);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
//编辑收支项目
|
||||
function editInOutItem(inOutItemTotalInfo)
|
||||
{
|
||||
var inOutItemInfo = inOutItemTotalInfo.split("AaBb");
|
||||
var row = {
|
||||
name : inOutItemInfo[1],
|
||||
type : inOutItemInfo[2],
|
||||
remark : inOutItemInfo[3],
|
||||
clientIp:'<%=clientIp %>'
|
||||
};
|
||||
orgInOutItem = inOutItemInfo[1];
|
||||
$('#inOutItemDlg').dialog('open').dialog('setTitle','<img src="<%=path%>/js/easyui-1.3.5/themes/icons/pencil.png"/> 编辑收支项目');
|
||||
$(".window-mask").css({ width: webW ,height: webH});
|
||||
$('#inOutItemFM').form('load',row);
|
||||
inOutItemID = inOutItemInfo[0];
|
||||
//焦点在名称输入框==定焦在输入文字后面
|
||||
$("#inOutItem").val("").focus().val(inOutItemInfo[1]);
|
||||
url = '<%=path %>/inOutItem/update.action?inOutItemID=' + inOutItemInfo[0];
|
||||
}
|
||||
|
||||
//检查收支项目 名称是否存在 ++ 重名无法提示问题需要跟进
|
||||
function checkInOutItemName()
|
||||
{
|
||||
var inOutItemName = $.trim($("#name").val());
|
||||
//表示是否存在 true == 存在 false = 不存在
|
||||
var flag = false;
|
||||
//开始ajax名称检验,不能重名
|
||||
if(inOutItemName.length > 0 &&( orgInOutItem.length ==0 || inOutItemName != orgInOutItem))
|
||||
{
|
||||
$.ajax({
|
||||
type:"post",
|
||||
url: "<%=path %>/inOutItem/checkIsNameExist.action",
|
||||
dataType: "json",
|
||||
async : false,
|
||||
data: ({
|
||||
inOutItemID : inOutItemID,
|
||||
name : inOutItemName
|
||||
}),
|
||||
success: function (tipInfo)
|
||||
{
|
||||
flag = tipInfo;
|
||||
if(tipInfo)
|
||||
{
|
||||
$.messager.alert('提示','收支项目名称已经存在','info');
|
||||
return;
|
||||
}
|
||||
},
|
||||
//此处添加错误处理
|
||||
error:function()
|
||||
{
|
||||
$.messager.alert('提示','检查收支项目名称是否存在异常,请稍后再试!','error');
|
||||
return;
|
||||
}
|
||||
});
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
//搜索处理
|
||||
$("#searchBtn").unbind().bind({
|
||||
click:function()
|
||||
{
|
||||
showInOutItemDetails(1,initPageSize);
|
||||
var opts = $("#tableData").datagrid('options');
|
||||
var pager = $("#tableData").datagrid('getPager');
|
||||
opts.pageNumber = 1;
|
||||
opts.pageSize = initPageSize;
|
||||
pager.pagination('refresh',
|
||||
{
|
||||
pageNumber:1,
|
||||
pageSize:initPageSize
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
function showInOutItemDetails(pageNo,pageSize)
|
||||
{
|
||||
$.ajax({
|
||||
type:"post",
|
||||
url: "<%=path %>/inOutItem/findBy.action",
|
||||
dataType: "json",
|
||||
data: ({
|
||||
name:$.trim($("#searchName").val()),
|
||||
type:$.trim($("#searchType").val()),
|
||||
remark:$.trim($("#searchRemark").val()),
|
||||
pageNo:pageNo,
|
||||
pageSize:pageSize
|
||||
}),
|
||||
success: function (data)
|
||||
{
|
||||
$("#tableData").datagrid('loadData',data);
|
||||
},
|
||||
//此处添加错误处理
|
||||
error:function()
|
||||
{
|
||||
$.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error');
|
||||
return;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
//重置按钮
|
||||
$("#searchResetBtn").unbind().bind({
|
||||
click:function(){
|
||||
$("#searchName").val("");
|
||||
$("#searchType").val("");
|
||||
$("#searchRemark").val("");
|
||||
//加载完以后重新初始化
|
||||
$("#searchBtn").click();
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@ -18,6 +18,7 @@
|
||||
org.hibernate.dialect.MySQL5Dialect
|
||||
</property>
|
||||
<property name="show_sql">true</property>
|
||||
<!-- 一般重新建库用create(慎用),只更新字段用update -->
|
||||
<property name="hbm2ddl.auto">update</property>
|
||||
|
||||
<!-- 对应的实体映射 -->
|
||||
@ -39,5 +40,7 @@
|
||||
<mapping resource="com/jsh/model/po/Building.hbm.xml" />
|
||||
<mapping resource="com/jsh/model/po/DepotHead.hbm.xml" />
|
||||
<mapping resource="com/jsh/model/po/DepotItem.hbm.xml" />
|
||||
<mapping resource="com/jsh/model/po/Account.hbm.xml" />
|
||||
<mapping resource="com/jsh/model/po/InOutItem.hbm.xml" />
|
||||
</session-factory>
|
||||
</hibernate-configuration>
|
||||
</hibernate-configuration>
|
||||
|
||||
@ -321,4 +321,28 @@
|
||||
<property name="logService" ref="logService"/>
|
||||
</bean>
|
||||
<!--仓管通明细配置结束 -->
|
||||
</beans>
|
||||
|
||||
<!--结算账户配置开始 -->
|
||||
<bean id="accountService" class="com.jsh.service.basic.AccountService">
|
||||
<property name="baseDao" ref="baseDao"/>
|
||||
<property name="accountDao" ref="accountDao"/>
|
||||
</bean>
|
||||
<!-- spring整合struts2需要默认为request或者 prototype,不能是单例 -->
|
||||
<bean id="accountAction" class="com.jsh.action.basic.AccountAction" scope="prototype">
|
||||
<property name="accountService" ref="accountService"/>
|
||||
<property name="logService" ref="logService"/>
|
||||
</bean>
|
||||
<!--结算账户配置结束 -->
|
||||
|
||||
<!--收支项目配置开始 -->
|
||||
<bean id="inOutItemService" class="com.jsh.service.basic.InOutItemService">
|
||||
<property name="baseDao" ref="baseDao"/>
|
||||
<property name="inOutItemDao" ref="inOutItemDao"/>
|
||||
</bean>
|
||||
<!-- spring整合struts2需要默认为request或者 prototype,不能是单例 -->
|
||||
<bean id="inOutItemAction" class="com.jsh.action.basic.InOutItemAction" scope="prototype">
|
||||
<property name="inOutItemService" ref="inOutItemService"/>
|
||||
<property name="logService" ref="logService"/>
|
||||
</bean>
|
||||
<!--收支项目配置结束 -->
|
||||
</beans>
|
||||
|
||||
@ -47,5 +47,9 @@
|
||||
<!-- 配置depotHeadDao组件 -->
|
||||
<bean id="depotHeadDao" parent="daoTemplate" class="com.jsh.dao.materials.DepotHeadDAO"/>
|
||||
<!-- 配置depotItemDao组件 -->
|
||||
<bean id="depotItemDao" parent="daoTemplate" class="com.jsh.dao.materials.DepotItemDAO"/>
|
||||
<bean id="depotItemDao" parent="daoTemplate" class="com.jsh.dao.materials.DepotItemDAO"/>
|
||||
<!-- 配置accountDao组件 -->
|
||||
<bean id="accountDao" parent="daoTemplate" class="com.jsh.dao.basic.AccountDAO"/>
|
||||
<!-- 配置inOutItemDao组件 -->
|
||||
<bean id="inOutItemDao" parent="daoTemplate" class="com.jsh.dao.basic.InOutItemDAO"/>
|
||||
</beans>
|
||||
11
config/struts2/account-struts.xml
Normal file
11
config/struts2/account-struts.xml
Normal file
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE struts PUBLIC
|
||||
"-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
|
||||
"http://struts.apache.org/dtds/struts-2.1.7.dtd">
|
||||
<struts>
|
||||
<package name="account" namespace="/account" extends="json-default">
|
||||
<action name="*" class="accountAction" method="{1}">
|
||||
<result type="json"/>
|
||||
</action>
|
||||
</package>
|
||||
</struts>
|
||||
11
config/struts2/inOutItem-struts.xml
Normal file
11
config/struts2/inOutItem-struts.xml
Normal file
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE struts PUBLIC
|
||||
"-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
|
||||
"http://struts.apache.org/dtds/struts-2.1.7.dtd">
|
||||
<struts>
|
||||
<package name="inOutItem" namespace="/inOutItem" extends="json-default">
|
||||
<action name="*" class="inOutItemAction" method="{1}">
|
||||
<result type="json"/>
|
||||
</action>
|
||||
</package>
|
||||
</struts>
|
||||
335
src/com/jsh/action/basic/AccountAction.java
Normal file
335
src/com/jsh/action/basic/AccountAction.java
Normal file
@ -0,0 +1,335 @@
|
||||
package com.jsh.action.basic;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.sql.Timestamp;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import net.sf.json.JSONArray;
|
||||
import net.sf.json.JSONObject;
|
||||
|
||||
import org.springframework.dao.DataAccessException;
|
||||
|
||||
import com.jsh.base.BaseAction;
|
||||
import com.jsh.base.Log;
|
||||
import com.jsh.model.po.Logdetails;
|
||||
import com.jsh.model.po.Account;
|
||||
import com.jsh.model.vo.basic.AccountModel;
|
||||
import com.jsh.service.basic.AccountIService;
|
||||
import com.jsh.util.common.PageUtil;
|
||||
/**
|
||||
* 结算账户
|
||||
* @author ji sheng hua
|
||||
*/
|
||||
@SuppressWarnings("serial")
|
||||
public class AccountAction extends BaseAction<AccountModel>
|
||||
{
|
||||
private AccountIService accountService;
|
||||
private AccountModel model = new AccountModel();
|
||||
|
||||
/**
|
||||
* 增加结算账户
|
||||
* @return
|
||||
*/
|
||||
public void create()
|
||||
{
|
||||
Log.infoFileSync("==================开始调用增加结算账户方法===================");
|
||||
Boolean flag = false;
|
||||
try
|
||||
{
|
||||
Account Account = new Account();
|
||||
Account.setName(model.getName());
|
||||
Account.setSerialNo(model.getSerialNo());
|
||||
Account.setInitialAmount(model.getInitialAmount());
|
||||
Account.setCurrentAmount(model.getCurrentAmount());
|
||||
Account.setRemark(model.getRemark());
|
||||
accountService.create(Account);
|
||||
|
||||
//========标识位===========
|
||||
flag = true;
|
||||
//记录操作日志使用
|
||||
tipMsg = "成功";
|
||||
tipType = 0;
|
||||
}
|
||||
catch (DataAccessException e)
|
||||
{
|
||||
Log.errorFileSync(">>>>>>>>>>>>>>>>>>>增加结算账户异常", e);
|
||||
flag = false;
|
||||
tipMsg = "失败";
|
||||
tipType = 1;
|
||||
}
|
||||
finally
|
||||
{
|
||||
try
|
||||
{
|
||||
toClient(flag.toString());
|
||||
}
|
||||
catch (IOException e)
|
||||
{
|
||||
Log.errorFileSync(">>>>>>>>>>>>增加结算账户回写客户端结果异常", e);
|
||||
}
|
||||
}
|
||||
|
||||
logService.create(new Logdetails(getUser(), "增加结算账户", model.getClientIp(),
|
||||
new Timestamp(System.currentTimeMillis())
|
||||
, tipType, "增加结算账户名称为 "+ model.getName() + " " + tipMsg + "!", "增加结算账户" + tipMsg));
|
||||
Log.infoFileSync("==================结束调用增加结算账户方法===================");
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除结算账户
|
||||
* @return
|
||||
*/
|
||||
public String delete()
|
||||
{
|
||||
Log.infoFileSync("====================开始调用删除结算账户信息方法delete()================");
|
||||
try
|
||||
{
|
||||
accountService.delete(model.getAccountID());
|
||||
tipMsg = "成功";
|
||||
tipType = 0;
|
||||
}
|
||||
catch (DataAccessException e)
|
||||
{
|
||||
Log.errorFileSync(">>>>>>>>>>>删除ID为 " + model.getAccountID() + " 的结算账户异常", e);
|
||||
tipMsg = "失败";
|
||||
tipType = 1;
|
||||
}
|
||||
model.getShowModel().setMsgTip(tipMsg);
|
||||
logService.create(new Logdetails(getUser(), "删除结算账户", model.getClientIp(),
|
||||
new Timestamp(System.currentTimeMillis())
|
||||
, tipType, "删除结算账户ID为 "+ model.getAccountID() + ",名称为 " + model.getName() + tipMsg + "!", "删除结算账户" + tipMsg));
|
||||
Log.infoFileSync("====================结束调用删除结算账户信息方法delete()================");
|
||||
return SUCCESS;
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新结算账户
|
||||
* @return
|
||||
*/
|
||||
public void update()
|
||||
{
|
||||
Boolean flag = false;
|
||||
try
|
||||
{
|
||||
Account Account = accountService.get(model.getAccountID());
|
||||
Account.setName(model.getName());
|
||||
Account.setSerialNo(model.getSerialNo());
|
||||
Account.setInitialAmount(model.getInitialAmount());
|
||||
Account.setCurrentAmount(model.getCurrentAmount());
|
||||
Account.setRemark(model.getRemark());
|
||||
accountService.update(Account);
|
||||
|
||||
flag = true;
|
||||
tipMsg = "成功";
|
||||
tipType = 0;
|
||||
}
|
||||
catch (DataAccessException e)
|
||||
{
|
||||
Log.errorFileSync(">>>>>>>>>>>>>修改结算账户ID为 : " + model.getAccountID() + "信息失败", e);
|
||||
flag = false;
|
||||
tipMsg = "失败";
|
||||
tipType = 1;
|
||||
}
|
||||
finally
|
||||
{
|
||||
try
|
||||
{
|
||||
toClient(flag.toString());
|
||||
}
|
||||
catch (IOException e)
|
||||
{
|
||||
Log.errorFileSync(">>>>>>>>>>>>修改结算账户回写客户端结果异常", e);
|
||||
}
|
||||
}
|
||||
logService.create(new Logdetails(getUser(), "更新结算账户", model.getClientIp(),
|
||||
new Timestamp(System.currentTimeMillis())
|
||||
, tipType, "更新结算账户ID为 "+ model.getAccountID() + " " + tipMsg + "!", "更新结算账户" + tipMsg));
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除指定ID结算账户
|
||||
* @return
|
||||
*/
|
||||
public String batchDelete()
|
||||
{
|
||||
try
|
||||
{
|
||||
accountService.batchDelete(model.getAccountIDs());
|
||||
model.getShowModel().setMsgTip("成功");
|
||||
//记录操作日志使用
|
||||
tipMsg = "成功";
|
||||
tipType = 0;
|
||||
}
|
||||
catch (DataAccessException e)
|
||||
{
|
||||
Log.errorFileSync(">>>>>>>>>>>批量删除结算账户ID为:" + model.getAccountIDs() + "信息异常", e);
|
||||
tipMsg = "失败";
|
||||
tipType = 1;
|
||||
}
|
||||
|
||||
logService.create(new Logdetails(getUser(), "批量删除结算账户", model.getClientIp(),
|
||||
new Timestamp(System.currentTimeMillis())
|
||||
, tipType, "批量删除结算账户ID为 "+ model.getAccountIDs() + " " + tipMsg + "!", "批量删除结算账户" + tipMsg));
|
||||
return SUCCESS;
|
||||
}
|
||||
|
||||
/**
|
||||
* 检查输入名称是否存在
|
||||
*/
|
||||
public void checkIsNameExist()
|
||||
{
|
||||
Boolean flag = false;
|
||||
try
|
||||
{
|
||||
flag = accountService.checkIsNameExist("name", model.getName(), "id", model.getAccountID());
|
||||
}
|
||||
catch (DataAccessException e)
|
||||
{
|
||||
Log.errorFileSync(">>>>>>>>>>>>>>>>>检查结算账户名称为:" + model.getName() + " ID为: " + model.getAccountID() + " 是否存在异常!");
|
||||
}
|
||||
finally
|
||||
{
|
||||
try
|
||||
{
|
||||
toClient(flag.toString());
|
||||
}
|
||||
catch (IOException e)
|
||||
{
|
||||
Log.errorFileSync(">>>>>>>>>>>>回写检查结算账户名称为:" + model.getName() + " ID为: " + model.getAccountID() + " 是否存在异常!",e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 查找结算账户信息
|
||||
* @return
|
||||
*/
|
||||
public void findBy()
|
||||
{
|
||||
try
|
||||
{
|
||||
PageUtil<Account> pageUtil = new PageUtil<Account>();
|
||||
pageUtil.setPageSize(model.getPageSize());
|
||||
pageUtil.setCurPage(model.getPageNo());
|
||||
pageUtil.setAdvSearch(getCondition());
|
||||
accountService.find(pageUtil);
|
||||
List<Account> dataList = pageUtil.getPageList();
|
||||
|
||||
JSONObject outer = new JSONObject();
|
||||
outer.put("total", pageUtil.getTotalCount());
|
||||
//存放数据json数组
|
||||
JSONArray dataArray = new JSONArray();
|
||||
if(null != dataList)
|
||||
{
|
||||
for(Account account:dataList)
|
||||
{
|
||||
JSONObject item = new JSONObject();
|
||||
item.put("id", account.getId());
|
||||
//结算账户名称
|
||||
item.put("name", account.getName());
|
||||
item.put("serialNo", account.getSerialNo());
|
||||
item.put("initialAmount", account.getInitialAmount());
|
||||
item.put("currentAmount", account.getCurrentAmount());
|
||||
item.put("remark", account.getRemark());
|
||||
item.put("op", 1);
|
||||
dataArray.add(item);
|
||||
}
|
||||
}
|
||||
outer.put("rows", dataArray);
|
||||
//回写查询结果
|
||||
toClient(outer.toString());
|
||||
}
|
||||
catch (DataAccessException e)
|
||||
{
|
||||
Log.errorFileSync(">>>>>>>>>查找结算账户信息异常", e);
|
||||
}
|
||||
catch (IOException e)
|
||||
{
|
||||
Log.errorFileSync(">>>>>>>>>回写查询结算账户信息结果异常", e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 查找结算账户信息-下拉框
|
||||
* @return
|
||||
*/
|
||||
public void findBySelect()
|
||||
{
|
||||
try
|
||||
{
|
||||
PageUtil<Account> pageUtil = new PageUtil<Account>();
|
||||
pageUtil.setPageSize(0);
|
||||
pageUtil.setCurPage(0);
|
||||
pageUtil.setAdvSearch(getCondition_select());
|
||||
accountService.find(pageUtil);
|
||||
List<Account> dataList = pageUtil.getPageList();
|
||||
//存放数据json数组
|
||||
JSONArray dataArray = new JSONArray();
|
||||
if(null != dataList)
|
||||
{
|
||||
for(Account account:dataList)
|
||||
{
|
||||
JSONObject item = new JSONObject();
|
||||
item.put("id", account.getId());
|
||||
//结算账户名称
|
||||
item.put("name", account.getName());
|
||||
dataArray.add(item);
|
||||
}
|
||||
}
|
||||
//回写查询结果
|
||||
toClient(dataArray.toString());
|
||||
}
|
||||
catch (DataAccessException e)
|
||||
{
|
||||
Log.errorFileSync(">>>>>>>>>查找结算账户信息异常", e);
|
||||
}
|
||||
catch (IOException e)
|
||||
{
|
||||
Log.errorFileSync(">>>>>>>>>回写查询结算账户信息结果异常", e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 拼接搜索条件
|
||||
* @return
|
||||
*/
|
||||
private Map<String,Object> getCondition()
|
||||
{
|
||||
/**
|
||||
* 拼接搜索条件
|
||||
*/
|
||||
Map<String,Object> condition = new HashMap<String,Object>();
|
||||
condition.put("name_s_like", model.getName());
|
||||
condition.put("serialNo_s_like", model.getSerialNo());
|
||||
condition.put("remark_s_like", model.getRemark());
|
||||
condition.put("id_s_order", "desc");
|
||||
return condition;
|
||||
}
|
||||
|
||||
/**
|
||||
* 拼接搜索条件-下拉框-结算账户
|
||||
* @return
|
||||
*/
|
||||
private Map<String,Object> getCondition_select()
|
||||
{
|
||||
/**
|
||||
* 拼接搜索条件
|
||||
*/
|
||||
Map<String,Object> condition = new HashMap<String,Object>();
|
||||
condition.put("id_s_order", "desc");
|
||||
return condition;
|
||||
}
|
||||
|
||||
//=============以下spring注入以及Model驱动公共方法,与Action处理无关==================
|
||||
@Override
|
||||
public AccountModel getModel()
|
||||
{
|
||||
return model;
|
||||
}
|
||||
public void setAccountService(AccountIService accountService)
|
||||
{
|
||||
this.accountService = accountService;
|
||||
}
|
||||
}
|
||||
@ -30,7 +30,10 @@ import com.jsh.service.basic.AppIService;
|
||||
import com.jsh.service.basic.UserBusinessIService;
|
||||
import com.jsh.util.common.PageUtil;
|
||||
//import com.opensymphony.xwork2.ActionContext;
|
||||
|
||||
/**
|
||||
* 应用
|
||||
* @author ji_sheng_hua
|
||||
*/
|
||||
@SuppressWarnings("serial")
|
||||
public class AppAction extends BaseAction<AppModel>
|
||||
{
|
||||
|
||||
328
src/com/jsh/action/basic/InOutItemAction.java
Normal file
328
src/com/jsh/action/basic/InOutItemAction.java
Normal file
@ -0,0 +1,328 @@
|
||||
package com.jsh.action.basic;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.sql.Timestamp;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import net.sf.json.JSONArray;
|
||||
import net.sf.json.JSONObject;
|
||||
|
||||
import org.springframework.dao.DataAccessException;
|
||||
|
||||
import com.jsh.base.BaseAction;
|
||||
import com.jsh.base.Log;
|
||||
import com.jsh.model.po.Logdetails;
|
||||
import com.jsh.model.po.InOutItem;
|
||||
import com.jsh.model.vo.basic.InOutItemModel;
|
||||
import com.jsh.service.basic.InOutItemIService;
|
||||
import com.jsh.util.common.PageUtil;
|
||||
/**
|
||||
* 收支项目
|
||||
* @author ji*sheng*hua
|
||||
*/
|
||||
@SuppressWarnings("serial")
|
||||
public class InOutItemAction extends BaseAction<InOutItemModel>
|
||||
{
|
||||
private InOutItemIService inOutItemService;
|
||||
private InOutItemModel model = new InOutItemModel();
|
||||
|
||||
/**
|
||||
* 增加收支项目
|
||||
* @return
|
||||
*/
|
||||
public void create()
|
||||
{
|
||||
Log.infoFileSync("==================开始调用增加收支项目方法===================");
|
||||
Boolean flag = false;
|
||||
try
|
||||
{
|
||||
InOutItem inOutItem = new InOutItem();
|
||||
inOutItem.setName(model.getName());
|
||||
inOutItem.setType(model.getType());
|
||||
inOutItem.setRemark(model.getRemark());
|
||||
inOutItemService.create(inOutItem);
|
||||
|
||||
//========标识位===========
|
||||
flag = true;
|
||||
//记录操作日志使用
|
||||
tipMsg = "成功";
|
||||
tipType = 0;
|
||||
}
|
||||
catch (DataAccessException e)
|
||||
{
|
||||
Log.errorFileSync(">>>>>>>>>>>>>>>>>>>增加收支项目异常", e);
|
||||
flag = false;
|
||||
tipMsg = "失败";
|
||||
tipType = 1;
|
||||
}
|
||||
finally
|
||||
{
|
||||
try
|
||||
{
|
||||
toClient(flag.toString());
|
||||
}
|
||||
catch (IOException e)
|
||||
{
|
||||
Log.errorFileSync(">>>>>>>>>>>>增加收支项目回写客户端结果异常", e);
|
||||
}
|
||||
}
|
||||
|
||||
logService.create(new Logdetails(getUser(), "增加收支项目", model.getClientIp(),
|
||||
new Timestamp(System.currentTimeMillis())
|
||||
, tipType, "增加收支项目名称为 "+ model.getName() + " " + tipMsg + "!", "增加收支项目" + tipMsg));
|
||||
Log.infoFileSync("==================结束调用增加收支项目方法===================");
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除收支项目
|
||||
* @return
|
||||
*/
|
||||
public String delete()
|
||||
{
|
||||
Log.infoFileSync("====================开始调用删除收支项目信息方法delete()================");
|
||||
try
|
||||
{
|
||||
inOutItemService.delete(model.getInOutItemID());
|
||||
tipMsg = "成功";
|
||||
tipType = 0;
|
||||
}
|
||||
catch (DataAccessException e)
|
||||
{
|
||||
Log.errorFileSync(">>>>>>>>>>>删除ID为 " + model.getInOutItemID() + " 的收支项目异常", e);
|
||||
tipMsg = "失败";
|
||||
tipType = 1;
|
||||
}
|
||||
model.getShowModel().setMsgTip(tipMsg);
|
||||
logService.create(new Logdetails(getUser(), "删除收支项目", model.getClientIp(),
|
||||
new Timestamp(System.currentTimeMillis())
|
||||
, tipType, "删除收支项目ID为 "+ model.getInOutItemID() + ",名称为 " + model.getName() + tipMsg + "!", "删除收支项目" + tipMsg));
|
||||
Log.infoFileSync("====================结束调用删除收支项目信息方法delete()================");
|
||||
return SUCCESS;
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新收支项目
|
||||
* @return
|
||||
*/
|
||||
public void update()
|
||||
{
|
||||
Boolean flag = false;
|
||||
try
|
||||
{
|
||||
InOutItem inOutItem = inOutItemService.get(model.getInOutItemID());
|
||||
inOutItem.setName(model.getName());
|
||||
inOutItem.setType(model.getType());
|
||||
inOutItem.setRemark(model.getRemark());
|
||||
inOutItemService.update(inOutItem);
|
||||
|
||||
flag = true;
|
||||
tipMsg = "成功";
|
||||
tipType = 0;
|
||||
}
|
||||
catch (DataAccessException e)
|
||||
{
|
||||
Log.errorFileSync(">>>>>>>>>>>>>修改收支项目ID为 : " + model.getInOutItemID() + "信息失败", e);
|
||||
flag = false;
|
||||
tipMsg = "失败";
|
||||
tipType = 1;
|
||||
}
|
||||
finally
|
||||
{
|
||||
try
|
||||
{
|
||||
toClient(flag.toString());
|
||||
}
|
||||
catch (IOException e)
|
||||
{
|
||||
Log.errorFileSync(">>>>>>>>>>>>修改收支项目回写客户端结果异常", e);
|
||||
}
|
||||
}
|
||||
logService.create(new Logdetails(getUser(), "更新收支项目", model.getClientIp(),
|
||||
new Timestamp(System.currentTimeMillis())
|
||||
, tipType, "更新收支项目ID为 "+ model.getInOutItemID() + " " + tipMsg + "!", "更新收支项目" + tipMsg));
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除指定ID收支项目
|
||||
* @return
|
||||
*/
|
||||
public String batchDelete()
|
||||
{
|
||||
try
|
||||
{
|
||||
inOutItemService.batchDelete(model.getInOutItemIDs());
|
||||
model.getShowModel().setMsgTip("成功");
|
||||
//记录操作日志使用
|
||||
tipMsg = "成功";
|
||||
tipType = 0;
|
||||
}
|
||||
catch (DataAccessException e)
|
||||
{
|
||||
Log.errorFileSync(">>>>>>>>>>>批量删除收支项目ID为:" + model.getInOutItemIDs() + "信息异常", e);
|
||||
tipMsg = "失败";
|
||||
tipType = 1;
|
||||
}
|
||||
|
||||
logService.create(new Logdetails(getUser(), "批量删除收支项目", model.getClientIp(),
|
||||
new Timestamp(System.currentTimeMillis())
|
||||
, tipType, "批量删除收支项目ID为 "+ model.getInOutItemIDs() + " " + tipMsg + "!", "批量删除收支项目" + tipMsg));
|
||||
return SUCCESS;
|
||||
}
|
||||
|
||||
/**
|
||||
* 检查输入名称是否存在
|
||||
*/
|
||||
public void checkIsNameExist()
|
||||
{
|
||||
Boolean flag = false;
|
||||
try
|
||||
{
|
||||
flag = inOutItemService.checkIsNameExist("name",model.getName(),"id", model.getInOutItemID());
|
||||
}
|
||||
catch (DataAccessException e)
|
||||
{
|
||||
Log.errorFileSync(">>>>>>>>>>>>>>>>>检查收支项目名称为:" + model.getName() + " ID为: " + model.getInOutItemID() + " 是否存在异常!");
|
||||
}
|
||||
finally
|
||||
{
|
||||
try
|
||||
{
|
||||
toClient(flag.toString());
|
||||
}
|
||||
catch (IOException e)
|
||||
{
|
||||
Log.errorFileSync(">>>>>>>>>>>>回写检查收支项目名称为:" + model.getName() + " ID为: " + model.getInOutItemID() + " 是否存在异常!",e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 查找收支项目信息
|
||||
* @return
|
||||
*/
|
||||
public void findBy()
|
||||
{
|
||||
try
|
||||
{
|
||||
PageUtil<InOutItem> pageUtil = new PageUtil<InOutItem>();
|
||||
pageUtil.setPageSize(model.getPageSize());
|
||||
pageUtil.setCurPage(model.getPageNo());
|
||||
pageUtil.setAdvSearch(getCondition());
|
||||
inOutItemService.find(pageUtil);
|
||||
List<InOutItem> dataList = pageUtil.getPageList();
|
||||
|
||||
JSONObject outer = new JSONObject();
|
||||
outer.put("total", pageUtil.getTotalCount());
|
||||
//存放数据json数组
|
||||
JSONArray dataArray = new JSONArray();
|
||||
if(null != dataList)
|
||||
{
|
||||
for(InOutItem inOutItem:dataList)
|
||||
{
|
||||
JSONObject item = new JSONObject();
|
||||
item.put("id", inOutItem.getId());
|
||||
//收支项目名称
|
||||
item.put("name", inOutItem.getName());
|
||||
item.put("type", inOutItem.getType());
|
||||
item.put("remark", inOutItem.getRemark());
|
||||
item.put("op", 1);
|
||||
dataArray.add(item);
|
||||
}
|
||||
}
|
||||
outer.put("rows", dataArray);
|
||||
//回写查询结果
|
||||
toClient(outer.toString());
|
||||
}
|
||||
catch (DataAccessException e)
|
||||
{
|
||||
Log.errorFileSync(">>>>>>>>>查找收支项目信息异常", e);
|
||||
}
|
||||
catch (IOException e)
|
||||
{
|
||||
Log.errorFileSync(">>>>>>>>>回写查询收支项目信息结果异常", e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 查找收支项目信息-下拉框
|
||||
* @return
|
||||
*/
|
||||
public void findBySelect()
|
||||
{
|
||||
try
|
||||
{
|
||||
PageUtil<InOutItem> pageUtil = new PageUtil<InOutItem>();
|
||||
pageUtil.setPageSize(0);
|
||||
pageUtil.setCurPage(0);
|
||||
pageUtil.setAdvSearch(getCondition_select());
|
||||
inOutItemService.find(pageUtil);
|
||||
List<InOutItem> dataList = pageUtil.getPageList();
|
||||
//存放数据json数组
|
||||
JSONArray dataArray = new JSONArray();
|
||||
if(null != dataList)
|
||||
{
|
||||
for(InOutItem inOutItem:dataList)
|
||||
{
|
||||
JSONObject item = new JSONObject();
|
||||
item.put("id", inOutItem.getId());
|
||||
//收支项目名称
|
||||
item.put("name", inOutItem.getName());
|
||||
dataArray.add(item);
|
||||
}
|
||||
}
|
||||
//回写查询结果
|
||||
toClient(dataArray.toString());
|
||||
}
|
||||
catch (DataAccessException e)
|
||||
{
|
||||
Log.errorFileSync(">>>>>>>>>查找收支项目信息异常", e);
|
||||
}
|
||||
catch (IOException e)
|
||||
{
|
||||
Log.errorFileSync(">>>>>>>>>回写查询收支项目信息结果异常", e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 拼接搜索条件
|
||||
* @return
|
||||
*/
|
||||
private Map<String,Object> getCondition()
|
||||
{
|
||||
/**
|
||||
* 拼接搜索条件
|
||||
*/
|
||||
Map<String,Object> condition = new HashMap<String,Object>();
|
||||
condition.put("name_s_like", model.getName());
|
||||
condition.put("remark_s_like", model.getRemark());
|
||||
condition.put("id_s_order", "desc");
|
||||
return condition;
|
||||
}
|
||||
|
||||
/**
|
||||
* 拼接搜索条件-下拉框-收支项目
|
||||
* @return
|
||||
*/
|
||||
private Map<String,Object> getCondition_select()
|
||||
{
|
||||
/**
|
||||
* 拼接搜索条件
|
||||
*/
|
||||
Map<String,Object> condition = new HashMap<String,Object>();
|
||||
condition.put("id_s_order", "desc");
|
||||
return condition;
|
||||
}
|
||||
|
||||
//=============以下spring注入以及Model驱动公共方法,与Action处理无关==================
|
||||
@Override
|
||||
public InOutItemModel getModel()
|
||||
{
|
||||
return model;
|
||||
}
|
||||
public void setInOutItemService(InOutItemIService inOutItemService)
|
||||
{
|
||||
this.inOutItemService = inOutItemService;
|
||||
}
|
||||
}
|
||||
17
src/com/jsh/dao/basic/AccountDAO.java
Normal file
17
src/com/jsh/dao/basic/AccountDAO.java
Normal file
@ -0,0 +1,17 @@
|
||||
package com.jsh.dao.basic;
|
||||
|
||||
import com.jsh.base.BaseDAO;
|
||||
import com.jsh.model.po.Account;
|
||||
|
||||
public class AccountDAO extends BaseDAO<Account> implements AccountIDAO
|
||||
{
|
||||
/**
|
||||
* 设置dao映射基类
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public Class<Account> getEntityClass()
|
||||
{
|
||||
return Account.class;
|
||||
}
|
||||
}
|
||||
9
src/com/jsh/dao/basic/AccountIDAO.java
Normal file
9
src/com/jsh/dao/basic/AccountIDAO.java
Normal file
@ -0,0 +1,9 @@
|
||||
package com.jsh.dao.basic;
|
||||
|
||||
import com.jsh.base.BaseIDAO;
|
||||
import com.jsh.model.po.Account;
|
||||
|
||||
public interface AccountIDAO extends BaseIDAO<Account>
|
||||
{
|
||||
|
||||
}
|
||||
17
src/com/jsh/dao/basic/InOutItemDAO.java
Normal file
17
src/com/jsh/dao/basic/InOutItemDAO.java
Normal file
@ -0,0 +1,17 @@
|
||||
package com.jsh.dao.basic;
|
||||
|
||||
import com.jsh.base.BaseDAO;
|
||||
import com.jsh.model.po.InOutItem;
|
||||
|
||||
public class InOutItemDAO extends BaseDAO<InOutItem> implements InOutItemIDAO
|
||||
{
|
||||
/**
|
||||
* 设置dao映射基类
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public Class<InOutItem> getEntityClass()
|
||||
{
|
||||
return InOutItem.class;
|
||||
}
|
||||
}
|
||||
9
src/com/jsh/dao/basic/InOutItemIDAO.java
Normal file
9
src/com/jsh/dao/basic/InOutItemIDAO.java
Normal file
@ -0,0 +1,9 @@
|
||||
package com.jsh.dao.basic;
|
||||
|
||||
import com.jsh.base.BaseIDAO;
|
||||
import com.jsh.model.po.InOutItem;
|
||||
|
||||
public interface InOutItemIDAO extends BaseIDAO<InOutItem>
|
||||
{
|
||||
|
||||
}
|
||||
@ -36,24 +36,4 @@ public class DepotItemDAO extends BaseDAO<DepotItem> implements DepotItemIDAO
|
||||
pageUtil.setTotalCount(query.list().size());
|
||||
pageUtil.setPageList(query.list());
|
||||
}
|
||||
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
public void findOrderByMaterial(PageUtil<DepotItem> pageUtil) throws JshException
|
||||
{
|
||||
//多表联查,多表连查,此处用到了createSQLQuery,可以随便写sql语句,很方便
|
||||
Query query = this.getHibernateTemplate().getSessionFactory().getCurrentSession().createSQLQuery("select * from jsh_depotitem where 1=1 " + SearchConditionUtil.getCondition(pageUtil.getAdvSearch()));
|
||||
pageUtil.setTotalCount(query.list().size());
|
||||
|
||||
// 分页查询
|
||||
int pageNo = pageUtil.getCurPage();
|
||||
int pageSize = pageUtil.getPageSize();
|
||||
if (0 != pageNo && 0 != pageSize)
|
||||
{
|
||||
query.setFirstResult((pageNo - 1) * pageSize);
|
||||
query.setMaxResults(pageSize);
|
||||
}
|
||||
pageUtil.setPageList(query.list());
|
||||
}
|
||||
}
|
||||
|
||||
@ -8,7 +8,5 @@ import com.jsh.util.common.PageUtil;
|
||||
|
||||
public interface DepotItemIDAO extends BaseIDAO<DepotItem>
|
||||
{
|
||||
void findByType(PageUtil<DepotItem> pageUtil,String type,Long MId, String MonthTime,Boolean isPrev) throws JshException;
|
||||
|
||||
void findOrderByMaterial(PageUtil<DepotItem> pageUtil) throws JshException;
|
||||
void findByType(PageUtil<DepotItem> pageUtil,String type,Long MId, String MonthTime,Boolean isPrev) throws JshException;
|
||||
}
|
||||
|
||||
@ -1,24 +1,24 @@
|
||||
package com.jsh.filter.common;
|
||||
|
||||
import org.hibernate.FlushMode;
|
||||
import org.hibernate.Session;
|
||||
import org.hibernate.SessionFactory;
|
||||
import org.springframework.dao.DataAccessResourceFailureException;
|
||||
import org.springframework.orm.hibernate3.support.OpenSessionInViewFilter;
|
||||
|
||||
public class OpenSessionInViewFilterExtend extends OpenSessionInViewFilter
|
||||
{
|
||||
@Override
|
||||
protected Session getSession(SessionFactory sessionFactory)
|
||||
throws DataAccessResourceFailureException
|
||||
{
|
||||
this.setFlushMode(FlushMode.AUTO);
|
||||
return super.getSession(sessionFactory);
|
||||
}
|
||||
@Override
|
||||
protected void closeSession(Session session, SessionFactory sessionFactory)
|
||||
{
|
||||
session.flush();
|
||||
super.closeSession(session, sessionFactory);
|
||||
}
|
||||
}
|
||||
package com.jsh.filter.common;
|
||||
|
||||
import org.hibernate.FlushMode;
|
||||
import org.hibernate.Session;
|
||||
import org.hibernate.SessionFactory;
|
||||
import org.springframework.dao.DataAccessResourceFailureException;
|
||||
import org.springframework.orm.hibernate3.support.OpenSessionInViewFilter;
|
||||
|
||||
public class OpenSessionInViewFilterExtend extends OpenSessionInViewFilter
|
||||
{
|
||||
@Override
|
||||
protected Session getSession(SessionFactory sessionFactory)
|
||||
throws DataAccessResourceFailureException
|
||||
{
|
||||
this.setFlushMode(FlushMode.AUTO);
|
||||
return super.getSession(sessionFactory);
|
||||
}
|
||||
@Override
|
||||
protected void closeSession(Session session, SessionFactory sessionFactory)
|
||||
{
|
||||
session.flush();
|
||||
super.closeSession(session, sessionFactory);
|
||||
}
|
||||
}
|
||||
|
||||
36
src/com/jsh/model/po/Account.hbm.xml
Normal file
36
src/com/jsh/model/po/Account.hbm.xml
Normal file
@ -0,0 +1,36 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
|
||||
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
|
||||
<hibernate-mapping>
|
||||
<class name="com.jsh.model.po.Account" table="jsh_account">
|
||||
<id name="Id" type="java.lang.Long">
|
||||
<column name="Id"/>
|
||||
<generator class="native"/>
|
||||
</id>
|
||||
<property generated="never" lazy="false" name="Name" type="java.lang.String">
|
||||
<column length="50" name="Name">
|
||||
<comment>名称</comment>
|
||||
</column>
|
||||
</property>
|
||||
<property generated="never" lazy="false" name="SerialNo" type="java.lang.String">
|
||||
<column length="50" name="SerialNo">
|
||||
<comment>编号</comment>
|
||||
</column>
|
||||
</property>
|
||||
<property generated="never" lazy="false" name="InitialAmount" type="java.lang.Double">
|
||||
<column name="InitialAmount" precision="22" scale="3">
|
||||
<comment>期初金额</comment>
|
||||
</column>
|
||||
</property>
|
||||
<property generated="never" lazy="false" name="CurrentAmount" type="java.lang.Double">
|
||||
<column name="CurrentAmount" precision="22" scale="3">
|
||||
<comment>当前余额</comment>
|
||||
</column>
|
||||
</property>
|
||||
<property generated="never" lazy="false" name="Remark" type="java.lang.String">
|
||||
<column length="100" name="Remark">
|
||||
<comment>备注</comment>
|
||||
</column>
|
||||
</property>
|
||||
</class>
|
||||
</hibernate-mapping>
|
||||
90
src/com/jsh/model/po/Account.java
Normal file
90
src/com/jsh/model/po/Account.java
Normal file
@ -0,0 +1,90 @@
|
||||
package com.jsh.model.po;
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
public class Account implements java.io.Serializable
|
||||
{
|
||||
private Long Id;
|
||||
private String Name;
|
||||
private String SerialNo;
|
||||
private Double InitialAmount;
|
||||
private Double CurrentAmount;
|
||||
private String Remark;
|
||||
|
||||
public Account()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public Account(Long Id)
|
||||
{
|
||||
this.Id = Id;
|
||||
}
|
||||
|
||||
public Account(String name, String serialNo, Double initialAmount, Double currentAmount, String remark) {
|
||||
Name = name;
|
||||
SerialNo = serialNo;
|
||||
InitialAmount = initialAmount;
|
||||
CurrentAmount = currentAmount;
|
||||
Remark = remark;
|
||||
}
|
||||
|
||||
public void setId(Long id)
|
||||
{
|
||||
Id = id;
|
||||
}
|
||||
|
||||
public Long getId()
|
||||
{
|
||||
return Id;
|
||||
}
|
||||
|
||||
public void setName(String name)
|
||||
{
|
||||
Name = name;
|
||||
}
|
||||
|
||||
public String getName()
|
||||
{
|
||||
return Name;
|
||||
}
|
||||
|
||||
public void setSerialNo(String serialNo)
|
||||
{
|
||||
SerialNo = serialNo;
|
||||
}
|
||||
|
||||
public String getSerialNo()
|
||||
{
|
||||
return SerialNo;
|
||||
}
|
||||
|
||||
public void setInitialAmount(Double initialAmount)
|
||||
{
|
||||
InitialAmount = initialAmount;
|
||||
}
|
||||
|
||||
public Double getInitialAmount()
|
||||
{
|
||||
return InitialAmount;
|
||||
}
|
||||
|
||||
public void setCurrentAmount(Double currentAmount)
|
||||
{
|
||||
CurrentAmount = currentAmount;
|
||||
}
|
||||
|
||||
public Double getCurrentAmount()
|
||||
{
|
||||
return CurrentAmount;
|
||||
}
|
||||
|
||||
public void setRemark(String remark)
|
||||
{
|
||||
Remark = remark;
|
||||
}
|
||||
|
||||
public String getRemark()
|
||||
{
|
||||
return Remark;
|
||||
}
|
||||
}
|
||||
@ -1,103 +1,103 @@
|
||||
package com.jsh.model.po;
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
public class DepotItem implements java.io.Serializable
|
||||
{
|
||||
private Long Id;
|
||||
private DepotHead HeaderId;
|
||||
private Material MaterialId;
|
||||
private Double OperNumber;
|
||||
private Double UnitPrice;
|
||||
private Double Incidentals;
|
||||
private String Remark;
|
||||
private String Img;
|
||||
|
||||
public DepotItem()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public DepotItem(Long Id)
|
||||
{
|
||||
this.Id = Id ;
|
||||
}
|
||||
|
||||
public DepotItem(DepotHead headerId, Material materialId,
|
||||
Double operNumber, Double unitPrice, Double incidentals,
|
||||
String remark, String img) {
|
||||
super();
|
||||
HeaderId = headerId;
|
||||
MaterialId = materialId;
|
||||
OperNumber = operNumber;
|
||||
UnitPrice = unitPrice;
|
||||
Incidentals = incidentals;
|
||||
Remark = remark;
|
||||
Img = img;
|
||||
}
|
||||
|
||||
public Long getId() {
|
||||
return Id;
|
||||
}
|
||||
|
||||
public void setId(Long id) {
|
||||
Id = id;
|
||||
}
|
||||
|
||||
public DepotHead getHeaderId() {
|
||||
return HeaderId;
|
||||
}
|
||||
|
||||
public void setHeaderId(DepotHead headerId) {
|
||||
HeaderId = headerId;
|
||||
}
|
||||
|
||||
public Material getMaterialId() {
|
||||
return MaterialId;
|
||||
}
|
||||
|
||||
public void setMaterialId(Material materialId) {
|
||||
MaterialId = materialId;
|
||||
}
|
||||
|
||||
public Double getOperNumber() {
|
||||
return OperNumber;
|
||||
}
|
||||
|
||||
public void setOperNumber(Double operNumber) {
|
||||
OperNumber = operNumber;
|
||||
}
|
||||
|
||||
public Double getUnitPrice() {
|
||||
return UnitPrice;
|
||||
}
|
||||
|
||||
public void setUnitPrice(Double unitPrice) {
|
||||
UnitPrice = unitPrice;
|
||||
}
|
||||
|
||||
public Double getIncidentals() {
|
||||
return Incidentals;
|
||||
}
|
||||
|
||||
public void setIncidentals(Double incidentals) {
|
||||
Incidentals = incidentals;
|
||||
}
|
||||
|
||||
public String getRemark() {
|
||||
return Remark;
|
||||
}
|
||||
|
||||
public void setRemark(String remark) {
|
||||
Remark = remark;
|
||||
}
|
||||
|
||||
public String getImg() {
|
||||
return Img;
|
||||
}
|
||||
|
||||
public void setImg(String img) {
|
||||
Img = img;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
package com.jsh.model.po;
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
public class DepotItem implements java.io.Serializable
|
||||
{
|
||||
private Long Id;
|
||||
private DepotHead HeaderId;
|
||||
private Material MaterialId;
|
||||
private Double OperNumber;
|
||||
private Double UnitPrice;
|
||||
private Double Incidentals;
|
||||
private String Remark;
|
||||
private String Img;
|
||||
|
||||
public DepotItem()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public DepotItem(Long Id)
|
||||
{
|
||||
this.Id = Id ;
|
||||
}
|
||||
|
||||
public DepotItem(DepotHead headerId, Material materialId,
|
||||
Double operNumber, Double unitPrice, Double incidentals,
|
||||
String remark, String img) {
|
||||
super();
|
||||
HeaderId = headerId;
|
||||
MaterialId = materialId;
|
||||
OperNumber = operNumber;
|
||||
UnitPrice = unitPrice;
|
||||
Incidentals = incidentals;
|
||||
Remark = remark;
|
||||
Img = img;
|
||||
}
|
||||
|
||||
public Long getId() {
|
||||
return Id;
|
||||
}
|
||||
|
||||
public void setId(Long id) {
|
||||
Id = id;
|
||||
}
|
||||
|
||||
public DepotHead getHeaderId() {
|
||||
return HeaderId;
|
||||
}
|
||||
|
||||
public void setHeaderId(DepotHead headerId) {
|
||||
HeaderId = headerId;
|
||||
}
|
||||
|
||||
public Material getMaterialId() {
|
||||
return MaterialId;
|
||||
}
|
||||
|
||||
public void setMaterialId(Material materialId) {
|
||||
MaterialId = materialId;
|
||||
}
|
||||
|
||||
public Double getOperNumber() {
|
||||
return OperNumber;
|
||||
}
|
||||
|
||||
public void setOperNumber(Double operNumber) {
|
||||
OperNumber = operNumber;
|
||||
}
|
||||
|
||||
public Double getUnitPrice() {
|
||||
return UnitPrice;
|
||||
}
|
||||
|
||||
public void setUnitPrice(Double unitPrice) {
|
||||
UnitPrice = unitPrice;
|
||||
}
|
||||
|
||||
public Double getIncidentals() {
|
||||
return Incidentals;
|
||||
}
|
||||
|
||||
public void setIncidentals(Double incidentals) {
|
||||
Incidentals = incidentals;
|
||||
}
|
||||
|
||||
public String getRemark() {
|
||||
return Remark;
|
||||
}
|
||||
|
||||
public void setRemark(String remark) {
|
||||
Remark = remark;
|
||||
}
|
||||
|
||||
public String getImg() {
|
||||
return Img;
|
||||
}
|
||||
|
||||
public void setImg(String img) {
|
||||
Img = img;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
26
src/com/jsh/model/po/InOutItem.hbm.xml
Normal file
26
src/com/jsh/model/po/InOutItem.hbm.xml
Normal file
@ -0,0 +1,26 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
|
||||
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
|
||||
<hibernate-mapping>
|
||||
<class name="com.jsh.model.po.InOutItem" table="jsh_inoutitem">
|
||||
<id name="Id" type="java.lang.Long">
|
||||
<column name="Id"/>
|
||||
<generator class="native"/>
|
||||
</id>
|
||||
<property generated="never" lazy="false" name="Name" type="java.lang.String">
|
||||
<column length="50" name="Name">
|
||||
<comment>名称</comment>
|
||||
</column>
|
||||
</property>
|
||||
<property generated="never" lazy="false" name="Type" type="java.lang.String">
|
||||
<column length="20" name="Type">
|
||||
<comment>类型</comment>
|
||||
</column>
|
||||
</property>
|
||||
<property generated="never" lazy="false" name="Remark" type="java.lang.String">
|
||||
<column length="100" name="Remark">
|
||||
<comment>备注</comment>
|
||||
</column>
|
||||
</property>
|
||||
</class>
|
||||
</hibernate-mapping>
|
||||
66
src/com/jsh/model/po/InOutItem.java
Normal file
66
src/com/jsh/model/po/InOutItem.java
Normal file
@ -0,0 +1,66 @@
|
||||
package com.jsh.model.po;
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
public class InOutItem implements java.io.Serializable
|
||||
{
|
||||
private Long Id;
|
||||
private String Name;
|
||||
private String Type;
|
||||
private String Remark;
|
||||
|
||||
public InOutItem()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public InOutItem(Long Id)
|
||||
{
|
||||
this.Id = Id;
|
||||
}
|
||||
|
||||
public InOutItem(String name, String type, String remark) {
|
||||
Name = name;
|
||||
Type = type;
|
||||
Remark = remark;
|
||||
}
|
||||
|
||||
public void setId(Long id)
|
||||
{
|
||||
Id = id;
|
||||
}
|
||||
|
||||
public Long getId()
|
||||
{
|
||||
return Id;
|
||||
}
|
||||
|
||||
public void setName(String name)
|
||||
{
|
||||
Name = name;
|
||||
}
|
||||
|
||||
public String getName()
|
||||
{
|
||||
return Name;
|
||||
}
|
||||
|
||||
public void setType(String type)
|
||||
{
|
||||
Type = type;
|
||||
}
|
||||
|
||||
public String getType()
|
||||
{
|
||||
return Type;
|
||||
}
|
||||
|
||||
public void setRemark(String remark)
|
||||
{
|
||||
Remark = remark;
|
||||
}
|
||||
|
||||
public String getRemark()
|
||||
{
|
||||
return Remark;
|
||||
}
|
||||
}
|
||||
170
src/com/jsh/model/vo/basic/AccountModel.java
Normal file
170
src/com/jsh/model/vo/basic/AccountModel.java
Normal file
@ -0,0 +1,170 @@
|
||||
package com.jsh.model.vo.basic;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
public class AccountModel implements Serializable
|
||||
{
|
||||
private AccountShowModel showModel = new AccountShowModel();
|
||||
|
||||
/**======开始接受页面参数=================**/
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
private String name = "";
|
||||
|
||||
/**
|
||||
* 编号
|
||||
*/
|
||||
private String serialNo = "";
|
||||
|
||||
/**
|
||||
* 期初金额
|
||||
*/
|
||||
private Double initialAmount;
|
||||
|
||||
/**
|
||||
* 当前余额
|
||||
*/
|
||||
private Double currentAmount;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark = "";
|
||||
|
||||
/**
|
||||
* 分类ID
|
||||
*/
|
||||
private Long accountID = 0l;
|
||||
|
||||
/**
|
||||
* 分类IDs 批量操作使用
|
||||
*/
|
||||
private String accountIDs = "";
|
||||
|
||||
/**
|
||||
* 每页显示的个数
|
||||
*/
|
||||
private int pageSize = 10;
|
||||
|
||||
/**
|
||||
* 当前页码
|
||||
*/
|
||||
private int pageNo = 1;
|
||||
|
||||
/**
|
||||
* 用户IP,用户记录操作日志
|
||||
*/
|
||||
private String clientIp = "";
|
||||
|
||||
public void setShowModel(AccountShowModel showModel)
|
||||
{
|
||||
this.showModel = showModel;
|
||||
}
|
||||
|
||||
public AccountShowModel getShowModel()
|
||||
{
|
||||
return showModel;
|
||||
}
|
||||
|
||||
public void setName(String name)
|
||||
{
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public String getName()
|
||||
{
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setSerialNo(String serialNo)
|
||||
{
|
||||
this.serialNo = serialNo;
|
||||
}
|
||||
|
||||
public String getSerialNo()
|
||||
{
|
||||
return serialNo;
|
||||
}
|
||||
|
||||
public void setInitialAmount(Double initialAmount)
|
||||
{
|
||||
this.initialAmount = initialAmount;
|
||||
}
|
||||
|
||||
public Double getInitialAmount()
|
||||
{
|
||||
return initialAmount;
|
||||
}
|
||||
|
||||
public void setCurrentAmount(Double currentAmount)
|
||||
{
|
||||
this.currentAmount = currentAmount;
|
||||
}
|
||||
|
||||
public Double getCurrentAmount()
|
||||
{
|
||||
return currentAmount;
|
||||
}
|
||||
|
||||
public void setRemark(String remark)
|
||||
{
|
||||
this.remark = remark;
|
||||
}
|
||||
|
||||
public String getRemark()
|
||||
{
|
||||
return remark;
|
||||
}
|
||||
|
||||
public void setAccountID(Long accountID)
|
||||
{
|
||||
this.accountID = accountID;
|
||||
}
|
||||
|
||||
public Long getAccountID()
|
||||
{
|
||||
return accountID;
|
||||
}
|
||||
|
||||
public void setAccountIDs(String accountIDs)
|
||||
{
|
||||
this.accountIDs = accountIDs;
|
||||
}
|
||||
|
||||
public String getAccountIDs()
|
||||
{
|
||||
return accountIDs;
|
||||
}
|
||||
|
||||
public void setPageSize(int pageSize)
|
||||
{
|
||||
this.pageSize = pageSize;
|
||||
}
|
||||
|
||||
public int getPageSize()
|
||||
{
|
||||
return pageSize;
|
||||
}
|
||||
|
||||
public void setPageNo(int pageNo)
|
||||
{
|
||||
this.pageNo = pageNo;
|
||||
}
|
||||
|
||||
public int getPageNo()
|
||||
{
|
||||
return pageNo;
|
||||
}
|
||||
|
||||
public void setClientIp(String clientIp)
|
||||
{
|
||||
this.clientIp = clientIp;
|
||||
}
|
||||
|
||||
public String getClientIp()
|
||||
{
|
||||
return clientIp;
|
||||
}
|
||||
}
|
||||
43
src/com/jsh/model/vo/basic/AccountShowModel.java
Normal file
43
src/com/jsh/model/vo/basic/AccountShowModel.java
Normal file
@ -0,0 +1,43 @@
|
||||
package com.jsh.model.vo.basic;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
public class AccountShowModel implements Serializable
|
||||
{
|
||||
/**
|
||||
* 提示信息
|
||||
*/
|
||||
private String msgTip = "";
|
||||
|
||||
/**
|
||||
* 系统数据
|
||||
*/
|
||||
@SuppressWarnings("rawtypes")
|
||||
private Map<String,List> map = new HashMap<String,List>();
|
||||
|
||||
public String getMsgTip()
|
||||
{
|
||||
return msgTip;
|
||||
}
|
||||
|
||||
public void setMsgTip(String msgTip)
|
||||
{
|
||||
this.msgTip = msgTip;
|
||||
}
|
||||
|
||||
@SuppressWarnings("rawtypes")
|
||||
public Map<String, List> getMap() {
|
||||
return map;
|
||||
}
|
||||
|
||||
@SuppressWarnings("rawtypes")
|
||||
public void setMap(Map<String, List> map) {
|
||||
this.map = map;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
140
src/com/jsh/model/vo/basic/InOutItemModel.java
Normal file
140
src/com/jsh/model/vo/basic/InOutItemModel.java
Normal file
@ -0,0 +1,140 @@
|
||||
package com.jsh.model.vo.basic;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
public class InOutItemModel implements Serializable
|
||||
{
|
||||
private InOutItemShowModel showModel = new InOutItemShowModel();
|
||||
|
||||
/**======开始接受页面参数=================**/
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
private String name = "";
|
||||
|
||||
/**
|
||||
* 类型
|
||||
*/
|
||||
private String type = "";
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark = "";
|
||||
|
||||
/**
|
||||
* 分类ID
|
||||
*/
|
||||
private Long inOutItemID = 0l;
|
||||
|
||||
/**
|
||||
* 分类IDs 批量操作使用
|
||||
*/
|
||||
private String inOutItemIDs = "";
|
||||
|
||||
/**
|
||||
* 每页显示的个数
|
||||
*/
|
||||
private int pageSize = 10;
|
||||
|
||||
/**
|
||||
* 当前页码
|
||||
*/
|
||||
private int pageNo = 1;
|
||||
|
||||
/**
|
||||
* 用户IP,用户记录操作日志
|
||||
*/
|
||||
private String clientIp = "";
|
||||
|
||||
public void setShowModel(InOutItemShowModel showModel)
|
||||
{
|
||||
this.showModel = showModel;
|
||||
}
|
||||
|
||||
public InOutItemShowModel getShowModel()
|
||||
{
|
||||
return showModel;
|
||||
}
|
||||
|
||||
public void setName(String name)
|
||||
{
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public String getName()
|
||||
{
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setType(String type)
|
||||
{
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
public String getType()
|
||||
{
|
||||
return type;
|
||||
}
|
||||
|
||||
public void setRemark(String remark)
|
||||
{
|
||||
this.remark = remark;
|
||||
}
|
||||
|
||||
public String getRemark()
|
||||
{
|
||||
return remark;
|
||||
}
|
||||
|
||||
public void setInOutItemID(Long inOutItemID)
|
||||
{
|
||||
this.inOutItemID = inOutItemID;
|
||||
}
|
||||
|
||||
public Long getInOutItemID()
|
||||
{
|
||||
return inOutItemID;
|
||||
}
|
||||
|
||||
public void setInOutItemIDs(String inOutItemIDs)
|
||||
{
|
||||
this.inOutItemIDs = inOutItemIDs;
|
||||
}
|
||||
|
||||
public String getInOutItemIDs()
|
||||
{
|
||||
return inOutItemIDs;
|
||||
}
|
||||
|
||||
public void setPageSize(int pageSize)
|
||||
{
|
||||
this.pageSize = pageSize;
|
||||
}
|
||||
|
||||
public int getPageSize()
|
||||
{
|
||||
return pageSize;
|
||||
}
|
||||
|
||||
public void setPageNo(int pageNo)
|
||||
{
|
||||
this.pageNo = pageNo;
|
||||
}
|
||||
|
||||
public int getPageNo()
|
||||
{
|
||||
return pageNo;
|
||||
}
|
||||
|
||||
public void setClientIp(String clientIp)
|
||||
{
|
||||
this.clientIp = clientIp;
|
||||
}
|
||||
|
||||
public String getClientIp()
|
||||
{
|
||||
return clientIp;
|
||||
}
|
||||
}
|
||||
43
src/com/jsh/model/vo/basic/InOutItemShowModel.java
Normal file
43
src/com/jsh/model/vo/basic/InOutItemShowModel.java
Normal file
@ -0,0 +1,43 @@
|
||||
package com.jsh.model.vo.basic;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
public class InOutItemShowModel implements Serializable
|
||||
{
|
||||
/**
|
||||
* 提示信息
|
||||
*/
|
||||
private String msgTip = "";
|
||||
|
||||
/**
|
||||
* 系统数据
|
||||
*/
|
||||
@SuppressWarnings("rawtypes")
|
||||
private Map<String,List> map = new HashMap<String,List>();
|
||||
|
||||
public String getMsgTip()
|
||||
{
|
||||
return msgTip;
|
||||
}
|
||||
|
||||
public void setMsgTip(String msgTip)
|
||||
{
|
||||
this.msgTip = msgTip;
|
||||
}
|
||||
|
||||
@SuppressWarnings("rawtypes")
|
||||
public Map<String, List> getMap() {
|
||||
return map;
|
||||
}
|
||||
|
||||
@SuppressWarnings("rawtypes")
|
||||
public void setMap(Map<String, List> map) {
|
||||
this.map = map;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
9
src/com/jsh/service/basic/AccountIService.java
Normal file
9
src/com/jsh/service/basic/AccountIService.java
Normal file
@ -0,0 +1,9 @@
|
||||
package com.jsh.service.basic;
|
||||
|
||||
import com.jsh.base.BaseIService;
|
||||
import com.jsh.model.po.Account;
|
||||
|
||||
public interface AccountIService extends BaseIService<Account>
|
||||
{
|
||||
|
||||
}
|
||||
23
src/com/jsh/service/basic/AccountService.java
Normal file
23
src/com/jsh/service/basic/AccountService.java
Normal file
@ -0,0 +1,23 @@
|
||||
package com.jsh.service.basic;
|
||||
|
||||
import com.jsh.base.BaseService;
|
||||
import com.jsh.dao.basic.AccountIDAO;
|
||||
import com.jsh.model.po.Account;
|
||||
|
||||
public class AccountService extends BaseService<Account> implements AccountIService
|
||||
{
|
||||
@SuppressWarnings("unused")
|
||||
private AccountIDAO accountDao;
|
||||
|
||||
public void setAccountDao(AccountIDAO accountDao)
|
||||
{
|
||||
this.accountDao = accountDao;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Class<Account> getEntityClass()
|
||||
{
|
||||
return Account.class;
|
||||
}
|
||||
|
||||
}
|
||||
9
src/com/jsh/service/basic/InOutItemIService.java
Normal file
9
src/com/jsh/service/basic/InOutItemIService.java
Normal file
@ -0,0 +1,9 @@
|
||||
package com.jsh.service.basic;
|
||||
|
||||
import com.jsh.base.BaseIService;
|
||||
import com.jsh.model.po.InOutItem;
|
||||
|
||||
public interface InOutItemIService extends BaseIService<InOutItem>
|
||||
{
|
||||
|
||||
}
|
||||
23
src/com/jsh/service/basic/InOutItemService.java
Normal file
23
src/com/jsh/service/basic/InOutItemService.java
Normal file
@ -0,0 +1,23 @@
|
||||
package com.jsh.service.basic;
|
||||
|
||||
import com.jsh.base.BaseService;
|
||||
import com.jsh.dao.basic.InOutItemIDAO;
|
||||
import com.jsh.model.po.InOutItem;
|
||||
|
||||
public class InOutItemService extends BaseService<InOutItem> implements InOutItemIService
|
||||
{
|
||||
@SuppressWarnings("unused")
|
||||
private InOutItemIDAO inOutItemDao;
|
||||
|
||||
public void setInOutItemDao(InOutItemIDAO inOutItemDao)
|
||||
{
|
||||
this.inOutItemDao = inOutItemDao;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Class<InOutItem> getEntityClass()
|
||||
{
|
||||
return InOutItem.class;
|
||||
}
|
||||
|
||||
}
|
||||
@ -16,8 +16,6 @@ public interface DepotItemIService extends BaseIService<DepotItem>
|
||||
{
|
||||
void findByType(PageUtil<DepotItem> depotItem, String type, Long MId, String MonthTime,Boolean isPrev)throws JshException;
|
||||
|
||||
void findOrderByMaterial(PageUtil<DepotItem> depotItem)throws JshException;
|
||||
|
||||
/**
|
||||
* 导出信息
|
||||
* @return
|
||||
|
||||
@ -50,12 +50,6 @@ public class DepotItemService extends BaseService<DepotItem> implements DepotIte
|
||||
depotItemDao.findByType(pageUtil, type, MId, MonthTime,isPrev);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void findOrderByMaterial(PageUtil<DepotItem> pageUtil) throws JshException
|
||||
{
|
||||
depotItemDao.findOrderByMaterial(pageUtil);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出Excel表格
|
||||
*/
|
||||
|
||||
Loading…
Reference in New Issue
Block a user