package cn.zhku.jsj144.zk.financialManage.controller;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
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.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import com.alibaba.fastjson.JSON;
import cn.zhku.jsj144.zk.financialManage.pojo.News;
import cn.zhku.jsj144.zk.financialManage.pojo.PageBean;
import cn.zhku.jsj144.zk.financialManage.pojo.ShouzhiCategory;
import cn.zhku.jsj144.zk.financialManage.pojo.ShouzhiRecord;
import cn.zhku.jsj144.zk.financialManage.pojo.User;
import cn.zhku.jsj144.zk.financialManage.service.NewsService;
import cn.zhku.jsj144.zk.financialManage.service.ShouzhiCategoryService;
import cn.zhku.jsj144.zk.financialManage.service.ShouzhiRecordService;
@Controller
@RequestMapping("/shouzhiRecord") //访问路径是 /shouzhiRecord/xxx
public class ShouzhiRecordController {
//注入shouzhiRecordService
@Autowired
private ShouzhiRecordService shouzhiRecordService;
@Autowired
private ShouzhiCategoryService shouzhiCategoryService;//注入shouzhiCategoryService
@Autowired
private NewsService newsService;
//登录之后,跳转到账单明细
//账单明细 +分页查询 +多条件查询
@RequestMapping(value="findShouzhiRecord.action")
public String findShouzhiRecord(ShouzhiRecord shouzhiRecord,HttpServletRequest request) throws UnsupportedEncodingException{
//获取当前页 和 用户名
int currentPage=0;
//使用错误 request.getAttribute("currentPage")!=null
if(request.getParameter("currentPage")!=null){
currentPage=Integer.parseInt((String) request.getParameter("currentPage"));
}
//错误 User user=(User) request.getAttribute("user");
User user=(User) request.getSession().getAttribute("user");
if(user==null){
return "/index.jsp";//登录页面
}
//System.out.println("当前用户未空吗?---"+user.getUid());
//保存查询条件
if(shouzhiRecord!=null){
if(shouzhiRecord.getSzr_date()!=null){
// System.out.println("日期-----:"+shouzhiRecord.getSzr_date());
// request.getSession().setAttribute("date_condition", shouzhiRecord.getSzr_date());
request.setAttribute("date_condition", shouzhiRecord.getSzr_date());
}
if(shouzhiRecord.getSzr_comment()!=null){
// if(szr_comment!=null){
// System.out.println("备注-----:"+shouzhiRecord.getSzr_comment());
String com=new String((shouzhiRecord.getSzr_comment()).getBytes("ISO-8859-1"),"utf-8");
// System.out.println("备注222-----:"+com);
// request.getSession().setAttribute("comment_condition", com);
request.setAttribute("comment_condition", com);
shouzhiRecord.setSzr_comment(com);//重新赋值
}
}
//查询账单明细
PageBean<ShouzhiRecord> pageBean= shouzhiRecordService.findShouzhiRecord(currentPage,user,shouzhiRecord);
// System.out.println("pageBean.getPageList().size():"+pageBean.getPageList().size());
// String szr_comment=null;
// if(request.getParameter("szr_comment")!=null){
// szr_comment=new String(request.getParameter("szr_comment").getBytes("ISO-8859-1"),"utf-8");//以此来转化编码,就会出现乱码问题。
// }
//查询收入子类型 --通过父分类,从而查询其下的所有子分类
List<ShouzhiCategory> incomes=shouzhiCategoryService.findShouzhiCategoryByParent("收入");
request.setAttribute("incomes", incomes);
//查询支出子类型
List<ShouzhiCategory> spends=shouzhiCategoryService.findShouzhiCategoryByParent("支出");
request.setAttribute("spends", spends);
//查出8条财务新闻,通过录入时间 和 访问量的多少来决定显示
List<News> newsList=newsService.findNewsEightList();
request.setAttribute("newsList", newsList);//财务新闻
if(pageBean.getPageList().size()==0){//查询结果为null时,确保数据为空
pageBean.setPageList(null);
}
request.setAttribute("pageBean", pageBean);//分页记录
return "/jsp/main.jsp";//跳转到主页
}
//ajax异步请求,去修改信息页面,根据id获取所需要的参数,从而进行回显
@RequestMapping("toEdit.action")
@ResponseBody
public String toEdit(Long id,HttpServletRequest request){
// System.out.println("进入修改信息的页面........................................");
//此处,注意id的类型!!!!!!!!!!
User user = (User) request.getSession().getAttribute("user");
if(user==null){
return "/index.jsp";//登录页面
}
Map<String,Integer> map=new HashMap<String,Integer>();
map.put("uid", user.getUid());//所属用户
map.put("szrid", id.intValue());//所属收支记录
//根据id查询收支记录信息
ShouzhiRecord shouzhiRecord=shouzhiRecordService.findShouzhiRecordById(map);
//数据库中时间:为String类型之后,省去了对于时间的管理
//Date类型变为 String类型数据
/* Date szr_date = shouzhiRecord.getSzr_date();
System.out.println("时间:-------"+szr_date);
String formatDate=null;
DateFormat dFormat = new SimpleDateFormat("yyyy-MM-dd"); //HH表示24小时制;
formatDate = dFormat.format(szr_date);
System.out.println("格式化之后的时间:------------"+formatDate); */
//获得该类型的父类型
String parent_category = shouzhiRecord.getShouzhiCategory().getParent_category();
// System.out.println("父类型是:---------------"+parent_category);
//通过父类型,从而查询出该父类型的所有子类型,从而进行显示
List<String> son=shouzhiCategoryService.findSonCategoryByParent(parent_category);
//如何保存数据类型,从而显示到页面中
Map<String,Object> jsonMap = new HashMap<String,Object>();
jsonMap.put("shouzhiRecord", shouzhiRecord);//一个shouzhiRecord对象
jsonMap.put("son", son);//一个list对象
//jsonMap.put("formatDate",formatDate);//保存格式化之后的时间对象
//fastjson将map对象转为json格式字符串
String jsonString = JSON.toJSONString(jsonMap);
//调试结果
System.out.println("jsonString:\n"+jsonString);
//当前类别 --无效
//1)异步请求,设置request无效!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
//2)尝试设置session 存在延迟效应,仍旧失败
//3)在ajax获得data后,通过 js添加标签完成!
//request.setAttribute("currentCategory", shouzhiRecord.getShouzhiCategory().getSon_category());
/* request.getSession().setAttribute("currentCategory", shouzhiRecord.getShouzhiCategory().getSon_category());
List<ShouzhiCategory> list=new ArrayList<ShouzhiCategory>();
for (String one : son) {
ShouzhiCategory shouzhiCategory=new ShouzhiCategory();
shouzhiCategory.setSon_category(one);
list.add(shouzhiCategory);
}
//request.setAttribute("sonCategory", list);//所有类别 保存在request中
request.getSession().setAttribute("sonCategory", list);*/
//{"shouzhiRecord":
//{"shouzhiCategory":{"parent_category":"支出","son_category":"伙食费","szcid":2},
//"szr_comment":"午餐","szr_date":1519920000000,"szr_num":-10,"szrid":2,"user_id":1},
//"son":["伙食费","住宿费","交通费","通讯费"]}
return jsonString;
}
//修改用户收支信息
@RequestMapping("edit.action")
@ResponseBody
public String editShouzhiRecord(ShouzhiRecord shouzhiRecord,HttpServletRequest request){
//System.out.println("-----修改用户信息成功-----");
User user=(User)request.getSession().getAttribute("user");
if(user==null){
return "/index.jsp";//登录页面
}
shouzhiRecord.setUser_id(user.getUid());
//根据收支子类型,获得收支分类id 对象
ShouzhiCategory shouzhiCategory=shouzhiCategoryService.findCategoryBySonCategory(shouzhiRecord.getShouzhiCategory().getSon_category());
shouzhiRecord.setShouzhiCategory(shouzhiCategory);
//加一道判断机制
//为收入时,确保金额为为整数
if("收入"==shouzhiCategory.getParent_category()){
int num=shouzhiRecord.getSzr_num();
没有合适的资源?快使用搜索试试~ 我知道了~
基于web的大学生个人财务管理系统源码+项目说明.zip
共1049个文件
css:259个
png:241个
js:179个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 24 浏览量
2024-05-13
20:19:13
上传
评论
收藏 19.15MB ZIP 举报
温馨提示
基于web的大学生个人财务管理系统 本web系统,设计之初就是为了兼容手机和电脑的,所以系统设计成响应式的页面,在手机和web端都可以完美的展示出来。 此外,系统的开发,兼顾了普通使用者和管理员,所以系统分为了两部分,分别是:前台部分,以及后台部分。划分原因:根据不同的用户而划分的,前台部分:游客,普通用户使用;后台部分:管理员使用。其中前台部分是本系统的主要使用人群,而后台部分是为了维护本系统的一些数据而设计的。 对于前台部分,其中的主要功能分为以下几个模块: 用户模块: 用户注册 用户登录 用户修改密码 用户修改个人信息 用户注销登录 财务管理模块 收入记账 支出记账 收支明细 修改记账信息 删除记账信息 搜索账单信息 收支类别模块 添加收入类别 添加支出类别 财务统计模块 按年度统计 按月度统计 按时间统计 财务分析模块 按月份分析(这个月和上个月同期对比) 财务预算模块 添加预算 编辑预算 删除预算 预算报表 心愿单模块 添加心愿 编辑心愿 删除心愿 我的心愿 备忘录模块 添加备忘 编辑备忘 删除备忘 我的备忘录 财务新闻模块 财务新闻列表 财务新闻信息 计算器模块 简易计算
资源推荐
资源详情
资源评论
收起资源包目录
基于web的大学生个人财务管理系统源码+项目说明.zip (1049个子文件)
MemorandumController.class 8KB
NewsManageController.class 8KB
ShouzhiRecordController.class 7KB
ShouzhiRecordServiceImpl.class 7KB
FinancialCountController.class 7KB
UserManageController.class 6KB
UserController.class 5KB
FinancialAnalysisController.class 5KB
CategoryManageController.class 5KB
NewsServiceImpl.class 4KB
WishListController.class 4KB
UserServiceImpl.class 4KB
CategoryManageServiceImpl.class 4KB
NewsController.class 4KB
FileTypeInterceptor.class 4KB
LoginInterceptor.class 3KB
MemorandumServiceImpl.class 3KB
WishListServiceImpl.class 3KB
BudgetController.class 3KB
DateTest.class 2KB
PageBean.class 2KB
FinancialAnalysisServiceImpl.class 2KB
ShouzhiCategoryServiceImpl.class 2KB
ShouzhiCategoryController.class 2KB
ShouzhiRecordService.class 2KB
ShouzhiRecord.class 2KB
UeditorServlet.class 2KB
News.class 2KB
ShouzhiRecordMapper.class 2KB
WishList.class 2KB
User.class 1KB
AdminServiceImpl.class 1KB
ShouzhiRecordQueryVo.class 1KB
BudgetServiceImpl.class 1KB
MonthAnalysis.class 1KB
Memorandum.class 1KB
Budget.class 1KB
ShouzhiCategory.class 1KB
MonthCount.class 1018B
CategoryManageService.class 1010B
DayCount.class 1006B
UserService.class 982B
Admin.class 973B
CategoryManageMapper.class 965B
UserMapper.class 929B
NewsService.class 863B
MemorandumMapper.class 804B
WishListMapper.class 802B
NewsMapper.class 788B
MemorandumService.class 711B
WishListService.class 682B
ShouzhiCategoryService.class 668B
ShouzhiCategoryMapper.class 665B
FinancialAnalysisMapper.class 544B
FinancialAnalysisService.class 431B
BudgetService.class 393B
BudgetMapper.class 390B
AdminService.class 372B
AdminMapper.class 369B
bootstrap.css 149KB
bootstrap.min.css 118KB
bootstrap.min.css 118KB
easyui.css 70KB
easyui.css 70KB
easyui.css 70KB
easyui.css 70KB
easyui.css 68KB
easyui.css 67KB
ueditor.css 45KB
ueditor.min.css 34KB
jedate.css 30KB
bootstrap-theme.css 26KB
bootstrap-theme.min.css 23KB
video-js.css 22KB
image.css 19KB
video.css 15KB
attachment.css 15KB
angular.css 11KB
video-js.min.css 11KB
bootstrap-datetimepicker.min.css 11KB
tabs.css 10KB
tabs.css 10KB
tabs.css 10KB
tabs.css 10KB
tabs.css 8KB
tabs.css 8KB
mobile.css 7KB
shCoreDefault.css 7KB
color.css 6KB
datagrid.css 6KB
datagrid.css 6KB
datagrid.css 6KB
datagrid.css 6KB
panel.css 6KB
panel.css 6KB
panel.css 6KB
panel.css 6KB
main.css 5KB
datagrid.css 5KB
datagrid.css 5KB
共 1049 条
- 1
- 2
- 3
- 4
- 5
- 6
- 11
资源评论
FL1768317420
- 粉丝: 4282
- 资源: 4728
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功