package com.hotelmaster.action; import java.io.PrintWriter; import java.math.BigDecimal; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import net.sf.json.JSONArray; import net.sf.json.JSONObject; import org.apache.log4j.Logger; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.multiaction.MultiActionController; import com.hotelmaster.home.web.json.CheckinOrderJson; import com.hotelmaster.home.web.util.CheckinOrderUtil; import com.hotelmaster.po.BaseInfo; import com.hotelmaster.po.CheckinItem; import com.hotelmaster.po.CheckinOrder; import com.hotelmaster.po.ReservOrder; import com.hotelmaster.po.Room; import com.hotelmaster.service.BusinessService; public class CheckinController extends MultiActionController { private final static Logger log = Logger.getLogger(CheckinController.class); private BusinessService businessService; public ModelAndView init(HttpServletRequest request, HttpServletResponse response) throws Exception { return null; } /** * * 创建登记信息 * * @param request * @param response * @return * @throws Exception */ public ModelAndView checkin(HttpServletRequest request, HttpServletResponse response) throws Exception {//进行入住登记 request.setCharacterEncoding("UTF-8"); //设置请求编码 response.setContentType("text/json;charset=utf-8"); //设置响应文本格式 CheckinOrder checkinOrder=CheckinOrderUtil. createCheckinOrder(request);//创建入住登记订单 String rooms=(String) request.getParameter("roomDataes").trim();//获得入住房间信息 JSONArray jsonArray=JSONArray.fromObject(rooms);//转换成JSON数组 Iterator iterator=jsonArray.iterator(); //获得数组迭代器 JSONObject jsonObject=new JSONObject(); //新建JSON对象 List<CheckinItem> checkinItemList=new ArrayList();//新建入住信息列表 while(iterator.hasNext()){ //遍历JSON数组 jsonObject=JSONObject.fromObject(iterator.next());//获得入住房间信息 CheckinItem checkinItem=new CheckinItem(); //新建入住信息类实例对象 String roomId=jsonObject.getString("rmId"); //获得入住房间编号信息 Room room=businessService.findRoomById(roomId); //查找房间信息 checkinItem.setRoom(room); //设置房间信息 checkinItem.setCimPrctPrice(new BigDecimal (jsonObject.getString("rmSetPrctPrice")));//设置房间实际价格 checkinItem.setCimDiscount(new BigDecimal (jsonObject.getString("rmSetPrctDiscount")));//设置房间折扣 checkinItemList.add(checkinItem); } checkinOrder.setCioState("已入住"); //设置登记状态 checkinOrder.setCioGuestCatalog("散客"); //设置客人类别 checkinOrder.setCioOrderId(createCheckinOrderId());//设置订单编号 if(businessService.createCheckinOrder (checkinOrder,checkinItemList)){//创建订单成功 response.getWriter().write("{success: true}");//输出成功JSON字符串 }else { response.getWriter().write("" + "{errors:'登记信息添加失败,请重新尝试!'}");//输出错误JSON字符串 } return null; } /** * * 获取登记单信息 * * @param request * @param response * @return * @throws Exception */ public ModelAndView getCheckinInfo(HttpServletRequest request, HttpServletResponse response) throws Exception { if(request.getParameter("rmId")!=null){ String rmId=(String)request.getParameter("rmId").trim(); CheckinOrder checkinOrder=businessService.findCheckinOrderByRmId(rmId); CheckinOrderJson checkinOrderJson=new CheckinOrderJson(checkinOrder); JSONObject jsonBack=checkinOrderJson.getJSONObject(); jsonBack.put("success", true); System.out.println(jsonBack); request.setCharacterEncoding("utf-8"); response.setContentType("application/json;charset=utf-8"); PrintWriter out = response.getWriter(); out.print(jsonBack); }else{ log.error("getCheckinInfo failed,rmId==null"); } return null; } /** * * 预定入住登记信息加载 * * @param request * @param response * @return * @throws Exception */ public ModelAndView reservInLoad(HttpServletRequest request, HttpServletResponse response) throws Exception { log.info("Someone come from ip address <" + request.getRemoteAddr() + ">"); System.out.println("reach checkinController reservInLoad()"); if(request.getParameter("roId")!=null){ String roId=(String)request.getParameter("roId").trim(); ReservOrder reservOrder=businessService.findReservById(roId); CheckinOrderJson checkinOrderJson=new CheckinOrderJson(reservOrder); JSONObject jsonBack=checkinOrderJson.getReservJSONObject(); jsonBack.put("success", true); System.out.println(jsonBack); request.setCharacterEncoding("utf-8"); response.setContentType("application/json;charset=utf-8"); PrintWriter out = response.getWriter(); out.print(jsonBack); }else if(request.getParameter("rmId")!=null){ String rmId=(String)request.getParameter("rmId").trim(); ReservOrder reservOrder=businessService.findReservOrderByRmId(rmId); CheckinOrderJson checkinOrderJson=new CheckinOrderJson(reservOrder); JSONObject jsonBack=checkinOrderJson.getReservJSONObject(); jsonBack.put("success", true); System.out.println(jsonBack); request.setCharacterEncoding("utf-8"); response.setContentType("application/json;charset=utf-8"); PrintWriter out = response.getWriter(); out.print(jsonBack); } else{ log.error("reservInLoad failed,roId==null"); } return null; } /** * * 获取登记项信息(房间) * * @param request * @param response * @return * @throws Exception */ public ModelAndView findCheckinRooms(HttpServletRequest request, //单条记录删除 HttpServletResponse response) throws Exception { if(request.getParameter("rmId")!=null && request.getParameter("type")==null){ String rmId=(String)request.getParameter("rmId").trim(); CheckinOrder checkinOrder=businessService.findCheckinOrderByRmId(rmId); CheckinOrderJson checkinOrderJson=new CheckinOrderJson(checkinOrder); JSONObject jsonBack=checkinOrderJson.getItemJsonObject(); //jsonBack.put("success", true); System.out.println(jsonBack); request.setCharacterEncoding("utf-8"); response.setContentType("application/json;charset=utf-8"); PrintWriter out = response.getWriter(); out.print(jsonBack); }else if(request.getParameter("rmId")!=null && request.getParameter("type")!=null){ String rmId=(String)request.getParameter("rmId").trim(); ReservOrder reservOrder=businessService.findReservOrderByRmId(rmId); CheckinOrderJson checkinOrderJson=new CheckinOrderJson(reservOrder); JSONObject jsonBack=checkinOrderJson.getReservItemJsonObject(); System.out.println(jsonBack); request.setCharacterEncoding("utf-8"); response.setContentType("application/json;charset=utf-8"); PrintWriter out = response.getWriter(); out.print(jsonBack); } else if(request.getParameter("cioId")!=null){ //由登记单PKID获得登记信息 String cioId=(String)request.getParameter("cioId").trim(); }else if(request.getParameter("roId")!=null){ String roId=(String)request.getParameter("roId").trim(); ReservOrder reservOrder=businessService.findReservById(roId); CheckinOrderJson checkinOrderJson=new CheckinOrderJson(reservOrder); JSONObject jsonBack=checkinOrderJson.getReservItemJsonObject(); System.out.println(jsonBack); request.setCharacterEncoding("utf-8"); response.setContentType("application/json;charset=utf-8"); PrintWriter out = response.getWriter(); out.print(jsonBack); } else{ log.error("getCheckinInfo failed,rmId==null"); } return null; } private String createCheckinOrderId(){ String orderId="CIO",baseString=""; BaseInfo orderIdBaseInfo=businessService.findBaseInfoByName("CheckinOrderID"); String baseId=orderIdBaseInfo.getBioValue(); System.out.println(baseId); for(int i=baseId.length();i<8;i++){ baseString=baseString+"0"; } orderId=orderId+baseString+baseId; int baseIdNum=Integer.parseInt(baseId); int updateIdNum=baseIdNum+1; orderIdBaseInfo.setBioValue(String.valueOf(updateIdNum)); businessService.updateBaseInfoCioOrder(orderIdBaseInfo); System.out.println(orderId); return orderId; } public BusinessService getBusinessService() { return businessService; } public void setBusinessService(BusinessService businessService) { this.businessService = businessService; } }

微笑刺客 LV21
2024年11月25日
张泽帅 LV6
2024年10月17日
不不要 LV1
2024年5月15日
rrya58 LV1
2024年5月12日
微信网友_6906962132258816 LV7
2024年4月15日
大大大大大大D LV2
2024年1月3日
12345678aaa LV1
2023年12月19日
2741658843 LV1
2023年12月15日
sworduhan LV1
2023年12月9日
asdfasfs12321 LV1
2023年10月25日

adlzcc LV2
6月11日
槐序的故事是这样 LV1
5月24日
2022102154 LV1
3月27日
唐唐丶 LV34
2月17日
srl2881552 LV10
1月7日
2602275348 LV12
2024年12月24日
拜托你仔细听 LV3
2024年12月23日
微笑刺客 LV21
2024年11月25日
ww6688
2024年11月22日
暂无贡献等级
张泽帅 LV6
2024年10月17日