package controller; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.servlet.ModelAndView; import pojo.BillSummary; import pojo.BillSummaryPager; import pojo.Desk; import pojo.DeskBillPager; import pojo.DeskInfo_detail; import pojo.Deskbill; import service.desk.DeskService; import service.deskbill.DeskBillService; import tools.BillCodeUtil; import tools.PagerTools; import tools.RedisUtil; import com.alibaba.fastjson.JSON; @Controller public class DeskBillController { @Autowired private DeskBillService deskBillService; @Resource(name="redisUtil") private RedisUtil redisUtil; @Autowired private DeskService deskService; // ajax结账 @RequestMapping("/pay.do") @ResponseBody public Object pay(Deskbill deskBill) { deskBill.setBillCode(BillCodeUtil.getBillCode());// 设置账单编号为当前毫秒数 deskBillService.addDeskBill(deskBill);//添加账单 int deskBillId=deskBill.getId();//得到本次账单的id int deskId=deskBill.getDeskId();//得到该账单所属的桌位id Desk desk=deskService.getDeskById(deskId+"");//查询该ID的桌位 String deskCode=desk.getDeskCode();//得到桌位编号 //从缓存取出菜单列表,并且遍历账单列表一条一条插入账单详情 List<DeskInfo_detail> deskDishes=redisUtil.getList(deskCode);//取出菜单列表 if(deskDishes!=null){ for (DeskInfo_detail deskInfo_detail : deskDishes) { if(deskInfo_detail.getDrinkBillCode()!=null && !deskInfo_detail.getDrinkBillCode().equals("")){//增加销售信息 deskBillService.sellDrink(deskInfo_detail.getDrinkBillCode(),deskInfo_detail.getDishNum()); } deskInfo_detail.setDeskBillId(deskBillId); deskBillService.addDeskBillDetail(deskInfo_detail); } //滞空桌位号码,删除缓存内数据 redisUtil.del(deskCode);//删除缓存数据 desk.setStatus(1); desk.setPeopleNum(0); deskService.updateDesk(desk); } return JSON.toJSONString("OK"); } //今日账单 @RequestMapping("/todayBill.html") public String showTodayBill(HttpSession session, Model model, DeskBillPager pager, BillSummaryPager bpager){ if(session.getAttribute("user")==null){//权限控制 return "redirect:login.html"; } int totalCount=deskBillService.getCount(new Date());//查询当天账单总条数 bpager.setOpr("today");//设置查询类型 bpager.setFirstData(0); bpager.setPageSize(1); pager.setBillDate(new Date());//设置日期为当天 pager.setTotalCount(totalCount);//设置总数 pager.setPageSize(PagerTools.deskBillPagerSize);//设置每一页数据量 pager.count();//格式化数据 model.addAttribute("billSummarys", deskBillService.getBillSummarys(bpager));//当天账单汇总 List<Deskbill> deskBills=deskBillService.getDekBills(pager);//分页查询 pager.setList(deskBills);//将数据保存在pager对象内 model.addAttribute("deskBillpager", pager); return "/bill/bill"; } //ajax加载桌位账单详情 @RequestMapping("/getBillDetail.do") @ResponseBody public Object getBillDetail(Deskbill deskbill){ List<DeskInfo_detail> deskInfo_details=null; if(deskbill!=null){ deskInfo_details=deskBillService.getDeskInfo_detailByDeskBillId(deskbill.getId()); } return JSON.toJSONString(deskInfo_details); } //日账单 @RequestMapping("/dateBill.html") public String showDateBill(HttpSession session,Model model,BillSummaryPager bpager){ if(session.getAttribute("user")==null){//权限控制 return "redirect:login.html"; } if(bpager.getBeginDate()!=null && bpager.getEndDate()==null){//当只填写了开始日期时单独查询这天的账单 bpager.setOpr("otherday"); bpager.setOthDate(bpager.getBeginDate()); bpager.setTotalCount(1);//给pager设置总数据量 bpager.setPageSize(PagerTools.billSummaryPagerSize);//设置页面大小 bpager.count();//格式化数据 }else if(bpager.getBeginDate()!=null && bpager.getEndDate()!=null){//都填写了 int billSummaryCount=deskBillService.getBillSummaryCount(bpager);//得到总数据量 bpager.setTotalCount(billSummaryCount);//给pager设置总数据量 bpager.setPageSize(PagerTools.billSummaryPagerSize);//设置页面大小 bpager.count();//格式化数据 }else{//都没填写 bpager.setOpr("date"); int billSummaryCount=deskBillService.getBillSummaryCount(bpager);//得到总数据量 bpager.setTotalCount(billSummaryCount);//给pager设置总数据量 bpager.setPageSize(PagerTools.billSummaryPagerSize);//设置页面大小 bpager.count();//格式化数据 } bpager.setList(deskBillService.getBillSummarys(bpager)); model.addAttribute("bpager", bpager); return "/bill/datebill"; } //日详情 @ResponseBody @RequestMapping("/ajax") public ModelAndView ajax(ModelAndView m,DeskBillPager dpager,BillSummaryPager bpager){ int totalCount=deskBillService.getCount(dpager.getBillDate());//查询当天账单总条数 bpager.setOpr("otherday");//设置查询类型 bpager.setFirstData(0); bpager.setPageSize(1); dpager.setTotalCount(totalCount);//设置总数 dpager.setPageSize(PagerTools.deskBillPagerSize);//设置每一页数据量 dpager.count();//格式化数据 Map map=new HashMap(); map.put("billSummarys", deskBillService.getBillSummarys(bpager));//当天账单汇总 List<Deskbill> deskBills=deskBillService.getDekBills(dpager);//分页查询 dpager.setList(deskBills);//将数据保存在pager对象内 m.setViewName("/bill/dateDetail"); map.put("deskBillpager", dpager); m.addAllObjects(map); m.addObject("a", "CHANGEX"); return m; } //ajax查看账单曲线 @RequestMapping("/chart.do") @ResponseBody public Object showDateChart(BillSummaryPager bpager){ List<BillSummary> billSummarys=deskBillService.getBillSummarys(bpager); return JSON.toJSONString(billSummarys); }; //月账单 @RequestMapping("/monthBill.html") public String showMonthBill(HttpSession session,Model model,BillSummaryPager bpager){ if(session.getAttribute("user")==null){//权限控制 return "redirect:login.html"; } bpager.setOpr("month"); int billSummaryCount=deskBillService.getBillSummaryCount(bpager);//得到总数据量 bpager.setTotalCount(billSummaryCount);//给pager设置总数据量 bpager.setPageSize(PagerTools.billSummaryPagerSize);//设置页面大小 bpager.count();//格式化数据 bpager.setList(deskBillService.getBillSummarys(bpager)); model.addAttribute("bpager", bpager); return "/bill/monthbill"; } //年账单 @RequestMapping("/yearBill.html") public String showYearBill(HttpSession session, Model model, BillSummaryPager bpager){ if(session.getAttribute("user")==null){//权限控制 return "redirect:login.html"; } bpager.setOpr("year"); int billSummaryCount=deskBillService.getBillSummaryCount(bpager);//得到总数据量 bpager.setTotalCount(billSummaryCount);//给pager设置总数据量 bpager.setPageSize(PagerTools.billSummaryPagerSize);//设置页面大小 bpager.count();//格式化数据 bpager.setList(deskBillService.getBillSummarys(bpager)); model.addAttribute("bpager", bpager); return "/bill/yearbill"; } }

lilong007 LV23
2023年12月30日
xiongwei11231 LV9
2023年5月25日
604183463 LV2
2023年2月28日
阳光12345 LV3
2023年1月11日
LITIANYU084414 LV11
2022年12月29日
ZYK123321 LV2
2022年12月1日
见不远万里 LV6
2022年11月23日
ttppbb LV4
2022年10月15日
qwer123546 LV13
2022年9月28日
123456mg LV3
2022年5月15日