123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246 |
- package com.huiju.estateagents.property.controller;
-
-
- import com.alibaba.fastjson.JSONObject;
- import com.huiju.estateagents.base.BaseController;
- import com.huiju.estateagents.base.ResponseBean;
- import com.huiju.estateagents.center.taUser.entity.TaUser;
- import com.huiju.estateagents.property.common.UserElement;
- import com.huiju.estateagents.property.model.Bill;
- import com.huiju.estateagents.property.model.BillInvoice;
- import com.huiju.estateagents.property.service.IBillInvoiceService;
- import com.huiju.estateagents.property.service.IBillService;
- import io.swagger.annotations.Api;
- import io.swagger.annotations.ApiImplicitParam;
- import io.swagger.annotations.ApiImplicitParams;
- import io.swagger.annotations.ApiOperation;
- import org.apache.commons.lang3.StringUtils;
- import org.apache.poi.hssf.usermodel.HSSFWorkbook;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.*;
-
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import javax.servlet.http.HttpSession;
- import java.io.OutputStream;
- import java.util.List;
-
- /**
- * <p>
- * 缴费单 前端控制器
- * </p>
- *
- * @author weiximei
- * @since 2019-02-13
- */
- @RestController
- @RequestMapping("/api")
-
- @Api(value = "缴费单 API", description = "缴费单 API")
- public class BillInvoiceController extends BaseController {
-
- @Autowired
- private IBillInvoiceService iBillInvoiceService;
-
- @Autowired
- private IBillService iBillService;
-
- // @ApiOperation(value = "查询缴费单", notes = "查询缴费单")
- @ApiImplicitParams({
- @ApiImplicitParam(dataTypeClass = String.class, paramType = "body", name = "parameter", value = "billId: 缴费项目id," +
- "phase: 期,building: 栋,unit: 单元,roomNo: 户号,ownerName: 业主姓名," +
- "billStatus: 缴费状态,payName: 缴费人,pageSize: 一页多少行,pageNum: 第几页"),
- })
- @RequestMapping(value = "/admin/bill/invoice/list", method = RequestMethod.POST)
- public ResponseBean getBillList(HttpServletRequest request, @RequestBody String parameter) {
- ResponseBean responseBean = new ResponseBean();
- TaUser userElement = getTaUser(request);
- responseBean = iBillInvoiceService.getBillList(parameter, userElement);
- return responseBean;
- }
-
- @RequestMapping(value = "/admin/bill/invoice/collection", method = RequestMethod.POST)
- public ResponseBean collectionBillList(HttpServletRequest request, @RequestBody BillInvoice billInvoice) {
- ResponseBean responseBean = new ResponseBean();
- TaUser userElement = getTaUser(request);
- responseBean = iBillInvoiceService.collectionBillList(billInvoice, userElement);
- return responseBean;
- }
-
- // @ApiOperation(value = "修改缴费项 收费项名称,缴费项说明,截止时间", notes = "修改缴费项 收费项名称,缴费项说明,截止时间")
- @ApiImplicitParams({
- @ApiImplicitParam(dataTypeClass = String.class, paramType = "body", name = "parameter", value = "billName收费项名称,billExplain缴费项说明,endDate截止时间"),
-
- })
- @RequestMapping(value = "/admin/bill/invoice/updateBill", method = RequestMethod.PUT)
- public ResponseBean updateBill(HttpServletRequest request, @RequestBody Bill bill) {
- ResponseBean responseBean = new ResponseBean();
-
- TaUser userElement = getTaUser(request);
- responseBean = iBillService.updateBillNameAndBillExplainAndEndDate(userElement, bill);
- return responseBean;
- }
-
- // @ApiOperation(value = "根据 id集合 删除缴费单", notes = "根据 id集合 删除缴费单")
- @ApiImplicitParams({
- @ApiImplicitParam(dataTypeClass = String.class, paramType = "body", name = "ids", value = "id集合"),
-
- })
- @RequestMapping(value = "/admin/bill/invoice/delete", method = RequestMethod.POST)
- public ResponseBean delete(HttpServletRequest request, @RequestBody List<Integer> ids) {
- ResponseBean responseBean = new ResponseBean();
- TaUser userElement = getTaUser(request);
-
- responseBean = iBillInvoiceService.deleteBillInvoice(ids, userElement);
- return responseBean;
- }
-
- // @ApiOperation(value = "设置线下缴费", notes = "设置线下缴费")
- @ApiImplicitParams({
- @ApiImplicitParam(dataTypeClass = String.class, paramType = "body", name = "ids", value = "id集合"),
-
- })
- @RequestMapping(value = "/admin/bill/invoice/offlinePayment", method = RequestMethod.POST)
- public ResponseBean offlinePayment(HttpServletRequest request, @RequestBody List<Integer> ids) {
- ResponseBean responseBean = new ResponseBean();
-
- responseBean = iBillInvoiceService.offlinePayment(ids, getUserId(request).toString());
- return responseBean;
- }
-
- // @ApiOperation(value = "由前台批量添加收费单, 默认定为 作废", notes = "由前台批量添加收费单, 默认定为 作废")
- @ApiImplicitParams({
- @ApiImplicitParam(dataTypeClass = String.class, paramType = "body", name = "parameter", value = "billId缴费项编号,phase期/区," +
- "building栋,unit单元,roomNo户号,worthOf截止时间(催缴日期),billInvoiceExplain收费单说明,payPrice收费金额"),
-
- })
- @RequestMapping(value = "/admin/bill/invoice/addTempBillInvoice", method = RequestMethod.POST)
- public ResponseBean addTempBillInvoice(HttpServletRequest request, @RequestBody String parameter) {
- ResponseBean responseBean = new ResponseBean();
- TaUser userElement = getTaUser(request);
- responseBean = iBillInvoiceService.addTempBillInvoice(parameter, userElement);
- return responseBean;
- }
-
- // @ApiOperation(value = "由前台批量添加收费单, 进行统一的提交, 修改为有效", notes = "由前台批量添加收费单, 进行统一的提交, 修改为有效")
- @ApiImplicitParams({
- @ApiImplicitParam(dataTypeClass = String.class, paramType = "body", name = "ids", value = "id集合"),
-
- })
- @RequestMapping(value = "/admin/bill/invoice/updateBillInvoiceStatus", method = RequestMethod.POST)
- public ResponseBean updateBillInvoiceStatus(HttpServletRequest request, @RequestBody List<Integer> ids) {
- ResponseBean responseBean = new ResponseBean();
- TaUser userElement = getTaUser(request);
- responseBean = iBillInvoiceService.updateBillInvoiceStatus(ids, userElement);
- return responseBean;
- }
-
- // @ApiOperation(value = "查询前台批量添加的收费单, 状态是作废", notes = "查询前台批量添加的收费单, 状态是作废")
- @ApiImplicitParams({
- @ApiImplicitParam(dataTypeClass = String.class, paramType = "path", name = "billId", value = "缴费id"),
-
- })
- @RequestMapping(value = "/admin/bill/invoice/getTempBillInvoice/{billId}", method = RequestMethod.GET)
- public ResponseBean getTempBillInvoice(HttpServletRequest request, @PathVariable("billId") Integer billId) {
- ResponseBean responseBean = new ResponseBean();
- TaUser userElement = getTaUser(request);
- responseBean = iBillInvoiceService.getTempBillInvoice(billId, userElement);
- return responseBean;
- }
-
- // @ApiOperation(value = "根据id删除收费单, 只能删除作废的", notes = "根据id删除收费单, 只能删除作废的")
- @ApiImplicitParams({
- @ApiImplicitParam(dataTypeClass = String.class, paramType = "path", name = "billId", value = "缴费id"),
-
- })
- @RequestMapping(value = "/admin/bill/invoice/deleteTempBillInvoice/{billId}", method = RequestMethod.DELETE)
- public ResponseBean deleteTempBillInvoice(HttpServletRequest request, @PathVariable("billId") Integer billId) {
- ResponseBean responseBean = new ResponseBean();
- TaUser userElement = getTaUser(request);
- responseBean = iBillInvoiceService.deleteTempBillInvoice(billId, userElement);
- return responseBean;
- }
-
- // @ApiOperation(value = "根据缴费单id, 修改金额", notes = "根据缴费单id, 修改金额")
- @ApiImplicitParams({
- @ApiImplicitParam(dataTypeClass = String.class, paramType = "path", name = "billId", value = "缴费id"),
- @ApiImplicitParam(dataTypeClass = String.class, paramType = "body", name = "parameter", value = "payPrice金额"),
-
- })
- @RequestMapping(value = "/admin/bill/invoice/updateBillInvoiceIdPayPrice/{billId}", method = RequestMethod.POST)
- public ResponseBean updateBillInvoiceIdPayPrice(HttpServletRequest request, @PathVariable Integer billId, @RequestBody String parameter) {
- ResponseBean responseBean = new ResponseBean();
- TaUser userElement = getTaUser(request);
- Double payPrice = JSONObject.parseObject(parameter).getDouble("payPrice");
- responseBean = iBillInvoiceService.updateBillInvoiceIdPayPrice(billId, (int) (payPrice * 100 ), userElement);
- return responseBean;
- }
-
- // @ApiOperation(value = "根据缴费单id, 修改收费说明", notes = "根据缴费单id, 修改收费说明")
- @ApiImplicitParams({
- @ApiImplicitParam(dataTypeClass = String.class, paramType = "path", name = "billId", value = "缴费id"),
- @ApiImplicitParam(dataTypeClass = String.class, paramType = "body", name = "parameter", value = "billInvoiceExplain收费说明"),
-
- })
- @RequestMapping(value = "/admin/bill/invoice/updateBillInvoiceIdBillInvoiceExplain/{billId}", method = RequestMethod.POST)
- public ResponseBean updateBillInvoiceIdBillInvoiceExplain(HttpServletRequest request, @PathVariable Integer billId, @RequestBody String parameter) {
- ResponseBean responseBean = new ResponseBean();
- TaUser userElement = getTaUser(request);
- String billInvoiceExplain = JSONObject.parseObject(parameter).getString("billInvoiceExplain");
- if (StringUtils.isBlank(billInvoiceExplain)) {
- responseBean.addError("收费说明不能为空!");
- return responseBean;
- }
- BillInvoice billInvoice = iBillInvoiceService.getById(billId);
- billInvoice.setBillInvoiceExplain(billInvoiceExplain);
- boolean b = iBillInvoiceService.updateById(billInvoice);
- if (b) {
- responseBean.addSuccess("操作成功!");
- return responseBean;
- }
- responseBean.addError("操作失败!");
- return responseBean;
- }
-
-
- // @ApiOperation(value = "导出Excel", notes = "导出Excel")
- @ApiImplicitParams({
- @ApiImplicitParam(dataTypeClass = String.class, paramType = "path", name = "billId", value = "缴费id"),
-
- })
- @RequestMapping(value = "/admin/bill/invoice/exportExcel/{billId}", method = RequestMethod.GET)
- public void exportExcel(HttpServletResponse response, HttpServletRequest request, @PathVariable("billId") Integer billId) {
- ResponseBean responseBean = new ResponseBean();
- TaUser userElement = getTaUser(request);
- HSSFWorkbook workbook = (HSSFWorkbook) iBillInvoiceService.exportExcel(userElement, billId).getData();
- //响应到客户端
- try {
- response.setContentType("application/octet-stream");
- response.setCharacterEncoding("utf-8");
- response.setHeader("Content-disposition", "attachment;filename=缴费单.xlsx");
- OutputStream os = response.getOutputStream();
- workbook.write(os);
- os.flush();
- os.close();
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
-
-
- // @ApiOperation(value = "根据缴费项id, 查询草稿", notes = "根据缴费项id, 查询草稿")
- @ApiImplicitParams({
- @ApiImplicitParam(dataTypeClass = String.class, paramType = "path", name = "billId", value = "billId缴费项id,pageNum当前页,pageSize一页多少行"),
-
- })
- @RequestMapping(value = "/admin/bill/invoice/getInvoiceInvalid", method = RequestMethod.POST)
- public ResponseBean getInvoiceInvalid(HttpServletRequest request, @RequestBody String parameter) {
- ResponseBean responseBean = new ResponseBean();
- TaUser userElement = getTaUser(request);
- responseBean = iBillInvoiceService.getInvoiceInvalid(userElement, parameter);
- return responseBean;
- }
-
-
- }
|