/** * */ package com.mvc.controller; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; 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.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import com.alibaba.fastjson.JSON; import com.base.constants.SessionKeyConstants; import com.base.enums.IsDelete; import com.base.enums.ReceiveMoneyStatus; import com.mvc.entity.Contract; import com.mvc.entity.ReceiveMoney; import com.mvc.entity.User; import com.mvc.service.ReceiveMoneyService; import com.mvc.service.ReceiveNodeService; import com.utils.Pager; import net.sf.json.JSONObject; /** * 到款 * * @author zjn * @date 2016年10月27日 */ @Controller @RequestMapping("/receiveMoney") public class ReceiveMoneyController { @Autowired ReceiveMoneyService receiveMoneyService; @Autowired ReceiveNodeService receiveNodeService; /** * 返回收据界面 * * @return */ @RequestMapping("/toBillMngInvoicePage.do") public String InvoiceReceivePage() { return "billInformation/index"; } /** * 根据状态获取到款列表 * * @param request * @param session * @return */ @RequestMapping(value = "/selectRemoTasksByState.do") public @ResponseBody String getReceiveMoneyList(HttpServletRequest request, HttpSession session) { JSONObject jsonObject = new JSONObject(); User user = (User) session.getAttribute(SessionKeyConstants.LOGIN); Integer remoState = Integer.valueOf(request.getParameter("remoState")); Integer totalRow = receiveMoneyService.countByState(user.getUser_id(), remoState);// -1表示全部,0表示未核对,1表示已核对 Pager pager = new Pager(); pager.setPage(Integer.valueOf(request.getParameter("page"))); pager.setTotalRow(totalRow); List<ReceiveMoney> list = receiveMoneyService.findListByState(user.getUser_id(), remoState, pager.getOffset(), pager.getLimit()); jsonObject.put("list", list); jsonObject.put("totalPage", pager.getTotalPage()); return jsonObject.toString(); } /** * 根据合同ID获取到款列表 * * @param request * @param session * @return */ @RequestMapping(value = "/selectReceiveMoneysByContId.do") public @ResponseBody String getReceiveMoneyListByContId(HttpServletRequest request, HttpSession session) { JSONObject jsonObject = new JSONObject(); Integer contId = Integer.valueOf(request.getParameter("contId")); Integer remoState = Integer.valueOf(request.getParameter("remoState")); Integer totalRow = receiveMoneyService.countByParam(contId, remoState);// -1表示全部,0表示未核对,1表示已核对 Pager pager = new Pager(); pager.setPage(Integer.valueOf(request.getParameter("page"))); pager.setTotalRow(totalRow); List<ReceiveMoney> list = receiveMoneyService.findListByParam(contId, remoState, pager.getOffset(), pager.getLimit()); jsonObject.put("list", list); jsonObject.put("totalPage", pager.getTotalPage()); return jsonObject.toString(); } /** * 根据Id查询详情 * * @param request * @param session * @return */ @RequestMapping(value = "/selectReceiveMoneyById.do") public @ResponseBody String findReceiveMoneyById(HttpServletRequest request, HttpSession session) { JSONObject jsonObject = new JSONObject(); Integer remoId = Integer.valueOf(request.getParameter("remoId")); ReceiveMoney receiveMoney = receiveMoneyService.findByRemoId(remoId); jsonObject.put("receiveMoney", receiveMoney); return jsonObject.toString(); } /** * 根据合同Id查询到款总金额 * * @param request * @param session * @return */ @RequestMapping(value = "/receiveMoneyByContId.do") public @ResponseBody String totalMoneyByContId(HttpServletRequest request, HttpSession session) { JSONObject jsonObject = new JSONObject(); Integer contId = Integer.valueOf(request.getParameter("contId")); Float totalMoney = receiveMoneyService.receiveMoneyByContId(contId); jsonObject.put("totalMoney", totalMoney); return jsonObject.toString(); } /** * 校核完成更改到款状态 * * @param request * @param session * @return * @throws ParseException */ @RequestMapping(value = "/auditReceiveMoney.do") public @ResponseBody String updateState(HttpServletRequest request, HttpSession session) throws ParseException { Integer remoId = Integer.valueOf(request.getParameter("remoId")); Float remoAmoney = Float.valueOf(request.getParameter("remoAmoney")); boolean result = receiveMoneyService.updateRemoStateById(remoId, remoAmoney); ReceiveMoney receiveMoney = receiveMoneyService.findByRemoId(remoId); int cont_id = receiveMoney.getContract().getCont_id(); // 更新收款节点的收款状态 if (remoAmoney > 0) { receiveNodeService.updateRenoStateAndMoney(cont_id, remoAmoney); } return JSON.toJSONString(result); } /** * 新增到款 * * @param request * @param session * @return * @throws ParseException */ @RequestMapping(value = "/addReMoneyTask.do") public @ResponseBody String addReMoney(HttpServletRequest request, HttpSession session) throws ParseException { User creater = (User) session.getAttribute(SessionKeyConstants.LOGIN); JSONObject jsonObject = JSONObject.fromObject(request.getParameter("receiveMoney")); ReceiveMoney receiveMoney = new ReceiveMoney(); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); Contract contract = new Contract(); contract.setCont_id(Integer.valueOf(request.getParameter("contId"))); receiveMoney.setContract(contract); receiveMoney.setCreater(creater); if (jsonObject.containsKey("remo_time")) { Date remoTime = format.parse(jsonObject.getString("remo_time")); receiveMoney.setRemo_time(remoTime); } if (jsonObject.containsKey("remo_money")) { receiveMoney.setRemo_money(Float.valueOf(jsonObject.getString("remo_money"))); } if (jsonObject.containsKey("remo_remark")) { receiveMoney.setRemo_remark(jsonObject.getString("remo_remark")); } if (jsonObject.containsKey("operater")) { JSONObject tmp = JSONObject.fromObject(jsonObject.getString("operater")); User operater = new User(); operater.setUser_id(Integer.valueOf(tmp.getString("user_id"))); receiveMoney.setOperater(operater); } receiveMoney.setRemo_state(ReceiveMoneyStatus.waitAudit.value); receiveMoney.setRemo_isdelete(IsDelete.NO.value); receiveMoney.setRemo_amoney(Float.valueOf(0)); boolean result = false; if (jsonObject.containsKey("remo_id")) { receiveMoney.setRemo_id(Integer.valueOf(jsonObject.getString("remo_id"))); result = receiveMoneyService.save(receiveMoney); } else { result = receiveMoneyService.save(receiveMoney); } return JSON.toJSONString(result); } /** * 删除到款记录 * * @param request * @param session * @return */ @RequestMapping(value = "/deleteReceMoney.do") public @ResponseBody String deleteReceMoney(HttpServletRequest request, HttpSession session) { Integer remoId = Integer.valueOf(request.getParameter("remoId")); boolean result = receiveMoneyService.delete(remoId); return JSON.toJSONString(result); } }