Commit 4d3fbe35 authored by jianglingfeng's avatar jianglingfeng

发票

parent 4b5b3017
......@@ -35,7 +35,7 @@ public class FncCompanyController extends BaseController
private IFncCompanyService fncCompanyService;
/**
* 查询记账公司列表
* 查询记账公司列表(分页)
*/
@PreAuthorize("@ss.hasPermi('finance:company:list')")
@GetMapping("/list")
......@@ -46,6 +46,18 @@ public class FncCompanyController extends BaseController
return getDataTable(list);
}
/**
* 查询记账公司列表
*/
@PreAuthorize("@ss.hasPermi('finance:company:list')")
@GetMapping("/listall")
public TableDataInfo listall()
{
List<FncCompany> list = fncCompanyService.selectFncCompanyList(null);
return getDataTable(list);
}
/**
* 导出记账公司列表
*/
......
package com.ruoyi.system.controller;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.system.domain.vo.FncInvoiceVo;
import com.ruoyi.system.service.IFncInvoiceService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import com.ruoyi.common.core.page.TableDataInfo;
import javax.servlet.http.HttpServletResponse;
import java.util.Arrays;
import java.util.List;
/**
* 发票Controller
*
* @author jlf
* @date 2022-11-20
*/
@Api(tags = "发票Controller")
@RestController
@RequestMapping("/finance/invoice")
public class FncInvoiceController extends BaseController {
@Autowired
private IFncInvoiceService fncInvoiceService;
@ApiOperation("查询发票列表")
@PreAuthorize("@ss.hasPermi('finance:invoice:list')")
@GetMapping("/list")
public TableDataInfo<FncInvoiceVo> list(FncInvoiceVo entity) {
return fncInvoiceService.queryList(entity);
}
@ApiOperation("查询发票所有列表")
@GetMapping("/listAll")
public AjaxResult listAll(FncInvoiceVo entity) {
return AjaxResult.success("查询成功", fncInvoiceService.queryAll(entity));
}
@ApiOperation("导出发票列表")
@PreAuthorize("@ss.hasPermi('finance:invoice:export')")
@Log(title = "发票", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, FncInvoiceVo entity) {
List<FncInvoiceVo> list = fncInvoiceService.queryAll(entity);
ExcelUtil<FncInvoiceVo> util = new ExcelUtil<>(FncInvoiceVo.class);
util.exportExcel(response, list, "发票数据");
}
@ApiOperation("获取发票详细信息")
@PreAuthorize("@ss.hasPermi('finance:invoice:query')")
@GetMapping(value = "/getInfo/{invoiceId}")
public AjaxResult getInfo(@PathVariable("invoiceId") Long invoiceId) {
return AjaxResult.success("查询成功", fncInvoiceService.queryById(invoiceId));
}
@ApiOperation("新增发票")
@PreAuthorize("@ss.hasPermi('finance:invoice:add')")
@Log(title = "发票", businessType = BusinessType.INSERT)
@PostMapping("add")
public AjaxResult add(@RequestBody FncInvoiceVo entity) {
return toAjax(fncInvoiceService.save(entity));
}
@ApiOperation("修改发票")
@PreAuthorize("@ss.hasPermi('finance:invoice:edit')")
@Log(title = "发票", businessType = BusinessType.UPDATE)
@PostMapping("edit")
public AjaxResult edit(@RequestBody FncInvoiceVo entity) {
return toAjax(fncInvoiceService.updateById(entity));
}
@ApiOperation("删除发票")
@PreAuthorize("@ss.hasPermi('finance:invoice:remove')")
@Log(title = "发票", businessType = BusinessType.DELETE)
@GetMapping("/remove/{invoiceIds}")
public AjaxResult remove(@PathVariable Long[] invoiceIds) {
return toAjax(fncInvoiceService.removeByIds(Arrays.asList(invoiceIds)) ? 1 : 0);
}
}
package com.ruoyi.system.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
......@@ -16,6 +17,7 @@ public class FncCompany extends BaseEntity
private static final long serialVersionUID = 1L;
/** 记账公司id */
@TableId
private Long companyId;
/** 记账公司名称 */
......
package com.ruoyi.system.domain;
import java.math.BigDecimal;
import java.util.List;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import lombok.experimental.Accessors;
/**
* 发票对象 fnc_invoice
*
* @author jlf
* @date 2022-11-20
*/
@Data
@Accessors(chain = true)
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = true)
public class FncInvoice extends BaseEntity {
/**
* 发票id
*/
@TableId
private Long invoiceId;
/**
* 公司id
*/
@Excel(name = "公司id")
private Long companyId;
/**
* 公司名称
*/
@Excel(name = "公司名称")
private String companyName;
/**
* 发票类型(0:普通发票,1:增值税专用发票)
*/
@Excel(name = "发票类型", readConverterExp = "0=:普通发票,1:增值税专用发票")
private Integer invoiceType;
/**
* 发票性质 (0:进项,1:出项)
*/
@Excel(name = "发票性质 (0:进项,1:出项)")
private Integer invoiceNature;
/**
* 部门名称
*/
@Excel(name = "部门名称")
private String depName;
/**
* 发票日期
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "发票日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date invoiceDate;
/**
* 购买方名称
*/
@Excel(name = "购买方名称")
private String buyName;
/**
* 购买方纳税人识别号
*/
@Excel(name = "购买方纳税人识别号")
private String buyTaxpayerNo;
/**
* 购买方地址
*/
@Excel(name = "购买方地址")
private String buyAddress;
/**
* 购买方电话
*/
@Excel(name = "购买方电话")
private String buyPhone;
/**
* 购买方开户行
*/
@Excel(name = "购买方开户行")
private String buyBankDeposit;
/**
* 购买方银行账号
*/
@Excel(name = "购买方银行账号")
private String buyBankAccount;
/**
* 申请人
*/
@Excel(name = "申请人")
private String applicant;
/**
* 审核人
*/
@Excel(name = "审核人")
private String checker;
/**
* 项目编号/发票号码
*/
@Excel(name = "项目编号/发票号码")
private String projectOrInvoiceNo;
/**
* 合计金额
*/
@Excel(name = "合计金额")
private BigDecimal amountSum;
/**
* 合计税额
*/
@Excel(name = "合计税额")
private BigDecimal taxSum;
/**
* 价税合计(大写)
*/
@Excel(name = "价税合计", readConverterExp = "大=写")
private String amountTaxCapital;
/**
* 价税合计(小写)
*/
@Excel(name = "价税合计", readConverterExp = "小=写")
private BigDecimal amountTaxLower;
/**
* 销售方名称
*/
@Excel(name = "销售方名称")
private String saleName;
/**
* 销售方纳税人识别号
*/
@Excel(name = "销售方纳税人识别号")
private String saleTaxpayerNo;
/**
* 销售方地址
*/
@Excel(name = "销售方地址")
private String saleAddress;
/**
* 销售方电话
*/
@Excel(name = "销售方电话")
private String salePhone;
/**
* 销售方开户行
*/
@Excel(name = "销售方开户行")
private String saleBankDeposit;
/**
* 销售方银行账号
*/
@Excel(name = "销售方银行账号")
private String saleBankAccount;
/**
* 备注
*/
@Excel(name = "备注")
private String note;
/**
* 收款人
*/
@Excel(name = "收款人")
private String payee;
/**
* 复核人
*/
@Excel(name = "复核人")
private String reviewer;
/**
* 开票人
*/
@Excel(name = "开票人")
private String drawer;
/**
* 发票项信息
*/
@TableField(exist = false)
private List<FncInvoiceItem> fncInvoiceItemList;
}
package com.ruoyi.system.domain;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableId;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
/**
* 发票项对象 fnc_invoice_item
*
* @author jlf
* @date 2022-11-20
*/
public class FncInvoiceItem extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 发票项id
*/
@TableId
private Long invoiceItemId;
/**
* 发票id
*/
@Excel(name = "发票id")
private Long invoiceId;
/**
~+ * 货物或应税劳务、服务名称
*/
@Excel(name = "货物或应税劳务、服务名称")
private String objectName;
/**
* 规格型号
*/
@Excel(name = "规格型号")
private String specs;
/**
* 单位
*/
@Excel(name = "单位")
private String unit;
/**
* 数量
*/
@Excel(name = "数量")
private BigDecimal quantity;
/**
* 单价(含税)
*/
@Excel(name = "单价(含税)")
private BigDecimal unitPriceTax;
/**
* 金额(不含税)
*/
@Excel(name = "金额(不含税)")
private BigDecimal amountNoTax;
/**
* 税率
*/
@Excel(name = "税率")
private BigDecimal taxRate;
/**
* 税额
*/
@Excel(name = "税额")
private BigDecimal taxAmount;
public void setInvoiceItemId(Long invoiceItemId) {
this.invoiceItemId = invoiceItemId;
}
public Long getInvoiceItemId() {
return invoiceItemId;
}
public void setInvoiceId(Long invoiceId) {
this.invoiceId = invoiceId;
}
public Long getInvoiceId() {
return invoiceId;
}
public void setObjectName(String objectName) {
this.objectName = objectName;
}
public String getObjectName() {
return objectName;
}
public void setSpecs(String specs) {
this.specs = specs;
}
public String getSpecs() {
return specs;
}
public void setUnit(String unit) {
this.unit = unit;
}
public String getUnit() {
return unit;
}
public void setQuantity(BigDecimal quantity) {
this.quantity = quantity;
}
public BigDecimal getQuantity() {
return quantity;
}
public void setUnitPriceTax(BigDecimal unitPriceTax) {
this.unitPriceTax = unitPriceTax;
}
public BigDecimal getUnitPriceTax() {
return unitPriceTax;
}
public void setAmountNoTax(BigDecimal amountNoTax) {
this.amountNoTax = amountNoTax;
}
public BigDecimal getAmountNoTax() {
return amountNoTax;
}
public void setTaxRate(BigDecimal taxRate) {
this.taxRate = taxRate;
}
public BigDecimal getTaxRate() {
return taxRate;
}
public void setTaxAmount(BigDecimal taxAmount) {
this.taxAmount = taxAmount;
}
public BigDecimal getTaxAmount() {
return taxAmount;
}
@Override
public String toString() {
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
.append("invoiceItemId", getInvoiceItemId())
.append("invoiceId", getInvoiceId())
.append("objectName", getObjectName())
.append("specs", getSpecs())
.append("unit", getUnit())
.append("quantity", getQuantity())
.append("unitPriceTax", getUnitPriceTax())
.append("amountNoTax", getAmountNoTax())
.append("taxRate", getTaxRate())
.append("taxAmount", getTaxAmount())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.toString();
}
}
......@@ -2,6 +2,7 @@ package com.ruoyi.system.domain;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
......@@ -21,6 +22,7 @@ public class FncLedger extends BaseEntity
private static final long serialVersionUID = 1L;
/** 项目台账id */
@TableId
private Long ledgerId;
/** 分类 */
......
package com.ruoyi.system.domain.vo;
import java.math.BigDecimal;
import com.ruoyi.system.domain.FncInvoiceItem;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import lombok.experimental.Accessors;
/**
* 发票项Vo对象 fnc_invoice_item
*
* @author jlf
* @date 2022-11-20
*/
@Data
@Accessors(chain = true)
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = true)
public class FncInvoiceItemVo extends FncInvoiceItem {
}
package com.ruoyi.system.domain.vo;
import java.math.BigDecimal;
import java.util.List;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.system.domain.FncInvoice;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import lombok.experimental.Accessors;
/**
* 发票Vo对象 fnc_invoice
*
* @author jlf
* @date 2022-11-20
*/
@Data
@Accessors(chain = true)
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = true)
public class FncInvoiceVo extends FncInvoice {
}
package com.ruoyi.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.system.domain.FncInvoiceItem;
import com.ruoyi.system.domain.vo.FncInvoiceItemVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 发票项Mapper接口
*
* @author jlf
* @date 2022-11-20
*/
public interface FncInvoiceItemMapper extends BaseMapper<FncInvoiceItem> {
Page<FncInvoiceItemVo> queryList(Page<?> page, @Param("entity") FncInvoiceItemVo entity);
List<FncInvoiceItemVo> queryList(@Param("entity") FncInvoiceItemVo entity);
FncInvoiceItemVo queryById(@Param("id") Long invoiceItemId);
}
package com.ruoyi.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.system.domain.FncInvoice;
import com.ruoyi.system.domain.vo.FncInvoiceVo;
import com.ruoyi.system.domain.FncInvoiceItem;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 发票Mapper接口
*
* @author jlf
* @date 2022-11-20
*/
public interface FncInvoiceMapper extends BaseMapper<FncInvoice> {
Page<FncInvoiceVo> queryList(Page<?> page, @Param("entity") FncInvoiceVo entity);
List<FncInvoiceVo> queryList(@Param("entity") FncInvoiceVo entity);
FncInvoiceVo queryById(@Param("id") Long invoiceId);
}
package com.ruoyi.system.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.system.domain.FncInvoiceItem;
import com.ruoyi.system.domain.vo.FncInvoiceItemVo;
import java.util.List;
/**
* 发票项Service接口
*
* @author jlf
* @date 2022-11-20
*/
public interface IFncInvoiceItemService extends IService<FncInvoiceItem> {
/**
* 分页查询
*
* @param entity
* @return
*/
TableDataInfo<FncInvoiceItemVo> queryList(FncInvoiceItemVo entity);
/**
* 查询全部
*
* @param entity
* @return
*/
List<FncInvoiceItemVo> queryAll(FncInvoiceItemVo entity);
/**
* 根据ID查询
*
* @param invoiceItemId
* @return
*/
FncInvoiceItemVo queryById(Long invoiceItemId);
}
package com.ruoyi.system.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.system.domain.FncInvoice;
import com.ruoyi.system.domain.vo.FncInvoiceVo;
import java.util.List;
/**
* 发票Service接口
*
* @author jlf
* @date 2022-11-20
*/
public interface IFncInvoiceService extends IService<FncInvoice> {
/**
* 分页查询
*
* @param entity
* @return
*/
TableDataInfo<FncInvoiceVo> queryList(FncInvoiceVo entity);
/**
* 查询全部
*
* @param entity
* @return
*/
List<FncInvoiceVo> queryAll(FncInvoiceVo entity);
/**
* 根据ID查询
*
* @param invoiceId
* @return
*/
FncInvoiceVo queryById(Long invoiceId);
}
package com.ruoyi.system.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.utils.PageUtils;
import com.ruoyi.system.domain.FncInvoiceItem;
import com.ruoyi.system.domain.vo.FncInvoiceItemVo;
import com.ruoyi.system.mapper.FncInvoiceItemMapper;
import com.ruoyi.system.service.IFncInvoiceItemService;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 发票项Service业务层处理
*
* @author jlf
* @date 2022-11-20
*/
@Service
public class FncInvoiceItemServiceImpl extends ServiceImpl<FncInvoiceItemMapper, FncInvoiceItem> implements IFncInvoiceItemService {
@Override
public TableDataInfo<FncInvoiceItemVo> queryList(FncInvoiceItemVo entity) {
return PageUtils.buildDataInfo(this.baseMapper.queryList(PageUtils.buildPage(), entity));
}
@Override
public List<FncInvoiceItemVo> queryAll(FncInvoiceItemVo entity) {
return this.baseMapper.queryList(entity);
}
@Override
public FncInvoiceItemVo queryById(Long invoiceItemId) {
return this.baseMapper.queryById(invoiceItemId);
}
}
package com.ruoyi.system.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.baomidou.mybatisplus.extension.toolkit.SqlHelper;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.utils.EmptyUtil;
import com.ruoyi.common.utils.PageUtils;
import com.ruoyi.system.domain.FncInvoice;
import com.ruoyi.system.domain.vo.FncInvoiceItemVo;
import com.ruoyi.system.domain.vo.FncInvoiceVo;
import com.ruoyi.system.mapper.FncInvoiceItemMapper;
import com.ruoyi.system.mapper.FncInvoiceMapper;
import com.ruoyi.system.service.IFncInvoiceItemService;
import com.ruoyi.system.service.IFncInvoiceService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.io.Serializable;
import java.util.ArrayList;
import com.ruoyi.system.domain.FncInvoiceItem;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.Collection;
import java.util.List;
/**
* 发票Service业务层处理
*
* @author jlf
* @date 2022-11-20
*/
@Service
public class FncInvoiceServiceImpl extends ServiceImpl<FncInvoiceMapper, FncInvoice> implements IFncInvoiceService {
@Resource
FncInvoiceItemMapper fncInvoiceItemMapper;
@Autowired
IFncInvoiceItemService fncInvoiceItemService;
@Override
@Transactional(rollbackFor = Exception.class)
public boolean removeByIds(Collection<? extends Serializable> idList) {
fncInvoiceItemMapper.delete(new LambdaQueryWrapper<FncInvoiceItem>().in(FncInvoiceItem::getInvoiceId,idList));
return SqlHelper.retBool(baseMapper.deleteBatchIds(idList));
}
@Override
@Transactional(rollbackFor = Exception.class)
public boolean save(FncInvoice entity) {
baseMapper.insert(entity);
Long invoiceId = entity.getInvoiceId();
List<FncInvoiceItem> fncInvoiceItemList = entity.getFncInvoiceItemList();
fncInvoiceItemList.forEach(item -> {
item.setInvoiceId(invoiceId);
});
return fncInvoiceItemService.saveBatch(fncInvoiceItemList);
}
@Override
@Transactional(rollbackFor = Exception.class)
public boolean updateById(FncInvoice entity) {
Long invoiceId = entity.getInvoiceId();
fncInvoiceItemService.remove(new LambdaQueryWrapper<FncInvoiceItem>().eq(FncInvoiceItem::getInvoiceId,invoiceId));
List<FncInvoiceItem> invoiceItemList = entity.getFncInvoiceItemList();
invoiceItemList.forEach(item -> {
item.setInvoiceId(invoiceId);
});
fncInvoiceItemService.saveBatch(invoiceItemList);
return SqlHelper.retBool(baseMapper.updateById(entity));
}
@Override
public TableDataInfo<FncInvoiceVo> queryList(FncInvoiceVo entity) {
Page<FncInvoiceVo> page = this.baseMapper.queryList(PageUtils.buildPage(), entity);
page.getRecords().forEach(item -> {
List<FncInvoiceItem> fncInvoiceItemList = fncInvoiceItemMapper.selectList(new LambdaQueryWrapper<FncInvoiceItem>()
.eq(FncInvoiceItem::getInvoiceId, item.getInvoiceId()));
item.setFncInvoiceItemList(fncInvoiceItemList);
});
return PageUtils.buildDataInfo(this.baseMapper.queryList(PageUtils.buildPage(), entity));
}
@Override
public List<FncInvoiceVo> queryAll(FncInvoiceVo entity) {
List<FncInvoiceVo> fncInvoiceVos = this.baseMapper.queryList(entity);
fncInvoiceVos.forEach(item -> {
List<FncInvoiceItem> fncInvoiceItemList = fncInvoiceItemMapper.selectList(new LambdaQueryWrapper<FncInvoiceItem>()
.eq(FncInvoiceItem::getInvoiceId, item.getInvoiceId()));
item.setFncInvoiceItemList(fncInvoiceItemList);
});
return fncInvoiceVos;
}
@Override
public FncInvoiceVo queryById(Long invoiceId) {
FncInvoiceVo fncInvoiceVo = this.baseMapper.queryById(invoiceId);
List<FncInvoiceItem> fncInvoiceItemList = fncInvoiceItemMapper.selectList(new LambdaQueryWrapper<FncInvoiceItem>()
.eq(FncInvoiceItem::getInvoiceId, fncInvoiceVo.getInvoiceId()));
fncInvoiceVo.setFncInvoiceItemList(fncInvoiceItemList);
return fncInvoiceVo;
}
}
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.system.mapper.FncInvoiceItemMapper">
<sql id="querySql">
select <include refid="allField"/>
from fnc_invoice_item A
<include refid="search"/>
</sql>
<select id="queryList" resultType="com.ruoyi.system.domain.vo.FncInvoiceItemVo">
<include refid="querySql"/>
<if test="entity.invoiceId != null and entity.invoiceId != 0">
and A.invoice_id = #{entity.invoiceId}
</if>
<if test="entity.objectName != null and entity.objectName != ''">
and A.object_name like concat('%', #{entity.objectName}, '%')
</if>
<if test="entity.specs != null and entity.specs != ''">
and A.specs like concat('%', #{entity.specs}, '%')
</if>
<if test="entity.unit != null and entity.unit != ''">
and A.unit like concat('%', #{entity.unit}, '%')
</if>
<if test="entity.quantity != null and entity.quantity != 0">
and A.quantity = #{entity.quantity}
</if>
<if test="entity.unitPriceTax != null and entity.unitPriceTax != 0">
and A.unit_price_tax = #{entity.unitPriceTax}
</if>
<if test="entity.amountNoTax != null and entity.amountNoTax != 0">
and A.amount_no_tax = #{entity.amountNoTax}
</if>
<if test="entity.taxRate != null and entity.taxRate != 0">
and A.tax_rate = #{entity.taxRate}
</if>
<if test="entity.taxAmount != null and entity.taxAmount != 0">
and A.tax_amount = #{entity.taxAmount}
</if>
order by A.create_time desc
</select>
<select id="queryById" resultType="com.ruoyi.system.domain.vo.FncInvoiceItemVo">
<include refid="querySql"/>
and A.invoice_item_id = #{id}
</select>
<sql id="allField">
A.invoice_item_id,
A.invoice_id,
A.object_name,
A.specs,
A.unit,
A.quantity,
A.unit_price_tax,
A.amount_no_tax,
A.tax_rate,
A.tax_amount,
A.create_by,
A.create_time,
A.update_by,
A.update_time
</sql>
<sql id="search">
-- where A.delete_status = 1
</sql>
</mapper>
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.system.mapper.FncInvoiceMapper">
<sql id="querySql">
select <include refid="allField"/>
from fnc_invoice A
<include refid="search"/>
</sql>
<select id="queryList" resultType="com.ruoyi.system.domain.vo.FncInvoiceVo">
<include refid="querySql"/>
<if test="entity.companyId != null and entity.companyId != 0">
and A.company_id = #{entity.companyId}
</if>
<if test="entity.companyName != null and entity.companyName != ''">
and A.company_name like concat('%', #{entity.companyName}, '%')
</if>
<if test="entity.invoiceType != null and entity.invoiceType != 0">
and A.invoice_type = #{entity.invoiceType}
</if>
<if test="entity.invoiceNature != null and entity.invoiceNature != 0">
and A.invoice_nature = #{entity.invoiceNature}
</if>
<if test="entity.depName != null and entity.depName != ''">
and A.dep_name like concat('%', #{entity.depName}, '%')
</if>
<if test="entity.invoiceDate != null and entity.invoiceDate != 0">
and A.invoice_date = #{entity.invoiceDate}
</if>
<if test="entity.buyName != null and entity.buyName != ''">
and A.buy_name like concat('%', #{entity.buyName}, '%')
</if>
<if test="entity.buyTaxpayerNo != null and entity.buyTaxpayerNo != ''">
and A.buy_taxpayer_no like concat('%', #{entity.buyTaxpayerNo}, '%')
</if>
<if test="entity.buyAddress != null and entity.buyAddress != ''">
and A.buy_address like concat('%', #{entity.buyAddress}, '%')
</if>
<if test="entity.buyPhone != null and entity.buyPhone != ''">
and A.buy_phone like concat('%', #{entity.buyPhone}, '%')
</if>
<if test="entity.buyBankDeposit != null and entity.buyBankDeposit != ''">
and A.buy_bank_deposit like concat('%', #{entity.buyBankDeposit}, '%')
</if>
<if test="entity.buyBankAccount != null and entity.buyBankAccount != ''">
and A.buy_bank_account like concat('%', #{entity.buyBankAccount}, '%')
</if>
<if test="entity.applicant != null and entity.applicant != ''">
and A.applicant like concat('%', #{entity.applicant}, '%')
</if>
<if test="entity.checker != null and entity.checker != ''">
and A.checker like concat('%', #{entity.checker}, '%')
</if>
<if test="entity.projectOrInvoiceNo != null and entity.projectOrInvoiceNo != ''">
and A.project_or_invoice_no like concat('%', #{entity.projectOrInvoiceNo}, '%')
</if>
<if test="entity.amountSum != null and entity.amountSum != 0">
and A.amount_sum = #{entity.amountSum}
</if>
<if test="entity.taxSum != null and entity.taxSum != 0">
and A.tax_sum = #{entity.taxSum}
</if>
<if test="entity.amountTaxCapital != null and entity.amountTaxCapital != ''">
and A.amount_tax_capital like concat('%', #{entity.amountTaxCapital}, '%')
</if>
<if test="entity.amountTaxLower != null and entity.amountTaxLower != 0">
and A.amount_tax_lower = #{entity.amountTaxLower}
</if>
<if test="entity.saleName != null and entity.saleName != ''">
and A.sale_name like concat('%', #{entity.saleName}, '%')
</if>
<if test="entity.saleTaxpayerNo != null and entity.saleTaxpayerNo != ''">
and A.sale_taxpayer_no like concat('%', #{entity.saleTaxpayerNo}, '%')
</if>
<if test="entity.saleAddress != null and entity.saleAddress != ''">
and A.sale_address like concat('%', #{entity.saleAddress}, '%')
</if>
<if test="entity.salePhone != null and entity.salePhone != ''">
and A.sale_phone like concat('%', #{entity.salePhone}, '%')
</if>
<if test="entity.saleBankDeposit != null and entity.saleBankDeposit != ''">
and A.sale_bank_deposit like concat('%', #{entity.saleBankDeposit}, '%')
</if>
<if test="entity.saleBankAccount != null and entity.saleBankAccount != ''">
and A.sale_bank_account like concat('%', #{entity.saleBankAccount}, '%')
</if>
<if test="entity.note != null and entity.note != ''">
and A.note like concat('%', #{entity.note}, '%')
</if>
<if test="entity.payee != null and entity.payee != ''">
and A.payee like concat('%', #{entity.payee}, '%')
</if>
<if test="entity.reviewer != null and entity.reviewer != ''">
and A.reviewer like concat('%', #{entity.reviewer}, '%')
</if>
<if test="entity.drawer != null and entity.drawer != ''">
and A.drawer like concat('%', #{entity.drawer}, '%')
</if>
order by A.create_time desc
</select>
<select id="queryById" resultType="com.ruoyi.system.domain.vo.FncInvoiceVo">
<include refid="querySql"/>
and A.invoice_id = #{id}
</select>
<sql id="allField">
A.invoice_id,
A.company_id,
A.company_name,
A.invoice_type,
A.invoice_nature,
A.dep_name,
A.invoice_date,
A.buy_name,
A.buy_taxpayer_no,
A.buy_address,
A.buy_phone,
A.buy_bank_deposit,
A.buy_bank_account,
A.applicant,
A.checker,
A.project_or_invoice_no,
A.amount_sum,
A.tax_sum,
A.amount_tax_capital,
A.amount_tax_lower,
A.sale_name,
A.sale_taxpayer_no,
A.sale_address,
A.sale_phone,
A.sale_bank_deposit,
A.sale_bank_account,
A.note,
A.payee,
A.reviewer,
A.drawer,
A.create_by,
A.create_time,
A.update_by,
A.update_time
</sql>
<sql id="search">
-- where A.delete_status = 1
</sql>
</mapper>
import request from '@/utils/request'
// 查询记账公司列表
// 查询记账公司列表(分页)
export function listCompany(query) {
return request({
url: '/finance/company/list',
......@@ -9,6 +9,14 @@ export function listCompany(query) {
})
}
// 查询记账公司列表
export function listAllCompany() {
return request({
url: '/finance/company/list',
method: 'get',
})
}
// 查询记账公司详细
export function getCompany(companyId) {
return request({
......
import request from '@/utils/request'
// 查询发票列表
export function listInvoice(query) {
return request({
url: '/finance/invoice/list',
method: 'get',
params: query
})
}
// 查询发票所有列表
export function listAllInvoice(query) {
return request({
url: '/finance/invoice/listAll',
method: 'get',
params: query
})
}
// 查询发票详细
export function getInvoice(invoiceId) {
return request({
url: '/finance/invoice/getInfo/' + invoiceId,
method: 'get'
})
}
// 新增发票
export function addInvoice(data) {
return request({
url: '/finance/invoice/add',
method: 'post',
data: data
})
}
// 修改发票
export function updateInvoice(data) {
return request({
url: '/finance/invoice/edit',
method: 'post',
data: data
})
}
// 删除发票
export function delInvoice(invoiceId) {
return request({
url: '/finance/invoice/remove/' + invoiceId,
method: 'get'
})
}
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment