package com.ydtech.modules.inv.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ydtech.core.page.HttpResult; import com.ydtech.core.page.PageRequest; import com.ydtech.modules.inv.model.InvAccountIncoice; import com.ydtech.modules.inv.model.InvAccountIncoiceResult; import com.ydtech.modules.inv.model.vo.InvAccountIncoiceQueryVo; import com.ydtech.modules.inv.service.InvAccountIncoiceService; import com.ydtech.utils.StringUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.util.ObjectUtils; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.io.Serializable; import java.math.BigDecimal; import java.util.List; import java.util.stream.DoubleStream; /** * 发票管理表(InvAccountIncoice)表控制层 * * @author makejava * @since 2024-01-18 16:01:25 */ @RestController @RequestMapping("invAccountIncoice") @Api(tags = "发票管理表", value = "发票管理表") public class InvAccountIncoiceController { /** * 服务对象 */ @Resource private InvAccountIncoiceService invAccountIncoiceService; @PostMapping("excel") @ApiOperation("导出开票记录表") public HttpResult selectAccountIncoiceExcel(@RequestBody InvAccountIncoiceQueryVo invAccountIncoiceQueryVo) { return HttpResult.ok("",invAccountIncoiceService.excel(invAccountIncoiceQueryVo)); } /** * 分页查询所有数据 * * @param invAccountIncoice 查询实体 * @return 所有数据 */ @PostMapping("page") @ApiOperation("分页查询") public HttpResult selectAll(@RequestBody InvAccountIncoiceQueryVo invAccountIncoice) { PageRequest pageRequest = new PageRequest(); pageRequest.setPageNum(invAccountIncoice.getPageNo()); pageRequest.setPageSize(invAccountIncoice.getPageSize()); Page page = PageRequest.buildPageRequest(pageRequest); LambdaQueryWrapper lambdaQuery = new LambdaQueryWrapper<>(); lambdaQuery .like(!StringUtils.isEmpty(invAccountIncoice.getBiller()), InvAccountIncoice::getBiller, invAccountIncoice.getBiller()) .like(!StringUtils.isEmpty(invAccountIncoice.getInvoiceBy()), InvAccountIncoice::getInvoiceBy, invAccountIncoice.getInvoiceBy()) .eq(InvAccountIncoice::getDelFlag, "0") .eq(!StringUtils.isEmpty(invAccountIncoice.getInvoiceType()), InvAccountIncoice::getInvoiceType, invAccountIncoice.getInvoiceType()) .like(!StringUtils.isEmpty(invAccountIncoice.getOtherUnit()), InvAccountIncoice::getOtherUnit,invAccountIncoice.getOtherUnit()); if (!ObjectUtils.isEmpty(invAccountIncoice.getInvoiceTime())) { lambdaQuery.eq(InvAccountIncoice::getInvoiceTime, invAccountIncoice.getInvoiceTime().toString()); } Page invAccountIncoicePage = this.invAccountIncoiceService.page(page, lambdaQuery); InvAccountIncoiceResult invAccountIncoiceResult = new InvAccountIncoiceResult(); invAccountIncoiceResult.setRecords(invAccountIncoicePage.getRecords()); invAccountIncoiceResult.setPages(invAccountIncoicePage.getPages()); invAccountIncoiceResult.setTotal(invAccountIncoicePage.getTotal()); invAccountIncoiceResult.setSize(invAccountIncoicePage.getSize()); List records = invAccountIncoicePage.getRecords(); invAccountIncoiceResult.setNotPayoutMoneySum("0"); invAccountIncoiceResult.setInvoiceMoneySum("0"); invAccountIncoiceResult.setNoHasTaxSum("0"); invAccountIncoiceResult.setInvoiceNumSum("0"); invAccountIncoiceResult.setPayoutMoneySum("0"); invAccountIncoiceResult.setTaxSum("0"); records.forEach(inv -> { invAccountIncoiceResult.setNotPayoutMoneySum(String.valueOf(new BigDecimal(inv.getInvoiceMoney()).add(new BigDecimal(invAccountIncoiceResult.getNotPayoutMoneySum())))); invAccountIncoiceResult.setInvoiceMoneySum(String.valueOf(new BigDecimal(inv.getInvoiceMoney()).add(new BigDecimal(invAccountIncoiceResult.getInvoiceMoneySum())))); invAccountIncoiceResult.setNoHasTaxSum(String.valueOf(new BigDecimal(inv.getNoHasTax()).add(new BigDecimal(invAccountIncoiceResult.getNoHasTaxSum())))); invAccountIncoiceResult.setInvoiceNumSum(String.valueOf(new BigDecimal(inv.getInvoiceNum()).add(new BigDecimal(invAccountIncoiceResult.getInvoiceNumSum())))); invAccountIncoiceResult.setPayoutMoneySum(String.valueOf(new BigDecimal(inv.getPayoutMoney()).add(new BigDecimal(invAccountIncoiceResult.getPayoutMoneySum())))); invAccountIncoiceResult.setTaxSum(String.valueOf(new BigDecimal(inv.getTax()).add(new BigDecimal(invAccountIncoiceResult.getTaxSum())))); }); return HttpResult.ok(invAccountIncoiceResult); } /** * 通过主键查询单条数据 * * @param id 主键 * @return 单条数据 */ @GetMapping("byId/{id}") @ApiOperation("根据id查询") public HttpResult selectOne(@PathVariable("id") Serializable id) { return HttpResult.ok(this.invAccountIncoiceService.getById(id)); } /** * 新增数据 * * @param invAccountIncoice 实体对象 * @return 新增结果 */ @PostMapping @ApiOperation("新增") public HttpResult insert(@RequestBody InvAccountIncoice invAccountIncoice) { return this.invAccountIncoiceService.insertInvAccountIncoice(invAccountIncoice); } /** * 新增收入 */ @PostMapping("update") @ApiOperation("新增收入") public HttpResult updateIncome(@RequestBody InvAccountIncoice invAccountIncoice) { return this.invAccountIncoiceService.updateInvAccountIncoice(invAccountIncoice); } /** * 撤销 */ @DeleteMapping @ApiOperation("删除") public HttpResult delete(@RequestParam("id") String id) { if (id == null) { throw new RuntimeException("id不能为空"); } InvAccountIncoice invAccountIncoice = new InvAccountIncoice(); invAccountIncoice.setInvoiceId(id); invAccountIncoice.setDelFlag("1"); return this.invAccountIncoiceService.delInvAccountIncoice(invAccountIncoice); } }