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
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"
label-width="68px">
<el-form-item label="记账公司名称" prop="companyName">
<el-input
v-model="queryParams.companyName"
placeholder="请输入记账公司名称"
clearable
@keyup.enter.native="handleQuery"
/>
<el-input v-model="queryParams.companyName" placeholder="请输入记账公司名称" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="营业执照号" prop="licenseNo">
<el-input
v-model="queryParams.licenseNo"
placeholder="请输入营业执照号"
clearable
@keyup.enter.native="handleQuery"
/>
<el-input v-model="queryParams.licenseNo" placeholder="请输入营业执照号" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="公司地址" prop="companyAddress">
<el-input
v-model="queryParams.companyAddress"
placeholder="请输入公司地址"
clearable
@keyup.enter.native="handleQuery"
/>
<el-input v-model="queryParams.companyAddress" placeholder="请输入公司地址" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="联系方式" prop="contactInformation">
<el-input
v-model="queryParams.contactInformation"
placeholder="请输入联系方式"
clearable
@keyup.enter.native="handleQuery"
/>
<el-input v-model="queryParams.contactInformation" placeholder="请输入联系方式" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="开户行" prop="bankDeposit">
<el-input
v-model="queryParams.bankDeposit"
placeholder="请输入开户行"
clearable
@keyup.enter.native="handleQuery"
/>
<el-input v-model="queryParams.bankDeposit" placeholder="请输入开户行" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="银行账户名称" prop="bankAccountName">
<el-input
v-model="queryParams.bankAccountName"
placeholder="请输入银行账户名称"
clearable
@keyup.enter.native="handleQuery"
/>
<el-input v-model="queryParams.bankAccountName" placeholder="请输入银行账户名称" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="银行账户" prop="bankAccount">
<el-input
v-model="queryParams.bankAccount"
placeholder="请输入银行账户"
clearable
@keyup.enter.native="handleQuery"
/>
<el-input v-model="queryParams.bankAccount" placeholder="请输入银行账户" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索
</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['finance:company:add']"
>新增</el-button>
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['finance:company:add']">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['finance:company:edit']"
>修改</el-button>
<el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single"
@click="handleUpdate" v-hasPermi="['finance:company:edit']">修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['finance:company:remove']"
>删除</el-button>
<el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple"
@click="handleDelete" v-hasPermi="['finance:company:remove']">删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['finance:company:export']"
>导出</el-button>
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
v-hasPermi="['finance:company:export']">导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
......@@ -121,31 +69,16 @@
<el-table-column label="银行账户" align="center" prop="bankAccount" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['finance:company:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['finance:company:remove']"
>删除</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['finance:company:edit']">修改</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['finance:company:remove']">删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<pagination v-show="total>0" :total="total" :page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize" @pagination="getList" />
<!-- 添加或修改记账公司对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
......@@ -181,7 +114,13 @@
</template>
<script>
import { listCompany, getCompany, delCompany, addCompany, updateCompany } from "@/api/finance/company";
import {
listCompany,
getCompany,
delCompany,
addCompany,
updateCompany,
} from "@/api/finance/company";
export default {
name: "Company",
......@@ -220,8 +159,7 @@ export default {
// 表单参数
form: {},
// 表单校验
rules: {
}
rules: {},
};
},
created() {
......@@ -231,7 +169,7 @@ export default {
/** 查询记账公司列表 */
getList() {
this.loading = true;
listCompany(this.queryParams).then(response => {
listCompany(this.queryParams).then((response) => {
this.companyList = response.rows;
this.total = response.total;
this.loading = false;
......@@ -256,7 +194,7 @@ export default {
createBy: null,
createTime: null,
updateBy: null,
updateTime: null
updateTime: null,
};
this.resetForm("form");
},
......@@ -272,9 +210,9 @@ export default {
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.companyId)
this.single = selection.length!==1
this.multiple = !selection.length
this.ids = selection.map((item) => item.companyId);
this.single = selection.length !== 1;
this.multiple = !selection.length;
},
/** 新增按钮操作 */
handleAdd() {
......@@ -285,8 +223,8 @@ export default {
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const companyId = row.companyId || this.ids
getCompany(companyId).then(response => {
const companyId = row.companyId || this.ids;
getCompany(companyId).then((response) => {
this.form = response.data;
this.open = true;
this.title = "修改记账公司";
......@@ -294,16 +232,16 @@ export default {
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
this.$refs["form"].validate((valid) => {
if (valid) {
if (this.form.companyId != null) {
updateCompany(this.form).then(response => {
updateCompany(this.form).then((response) => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addCompany(this.form).then(response => {
addCompany(this.form).then((response) => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
......@@ -315,19 +253,27 @@ export default {
/** 删除按钮操作 */
handleDelete(row) {
const companyIds = row.companyId || this.ids;
this.$modal.confirm('是否确认删除记账公司编号为"' + companyIds + '"的数据项?').then(function() {
this.$modal
.confirm('是否确认删除记账公司编号为"' + companyIds + '"的数据项?')
.then(function () {
return delCompany(companyIds);
}).then(() => {
})
.then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
})
.catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('finance/company/export', {
...this.queryParams
}, `company_${new Date().getTime()}.xlsx`)
}
}
this.download(
"finance/company/export",
{
...this.queryParams,
},
`company_${new Date().getTime()}.xlsx`
);
},
},
};
</script>
<template>
<div class="app-container">
<el-row :gutter="20">
<el-col :span="6">
<el-form ref="form" :model="form" label-width="80px">
<el-row>
<!-- <el-col :span="8" v-if="form.parentId !== 0">
<el-form-item label="上级部门" prop="parentId">
<el-input v-model="test" placeholder="" size="normal" clearable></el-input>
</el-form-item>
</el-col> -->
<el-col :span="8">
<el-button type="primary" v-print="printObj">打印</el-button>
</el-col>
</el-row>
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"
label-width="68px">
<el-form-item label="公司名称" prop="companyName">
<!-- <el-input v-model="queryParams.companyName" placeholder="请输入公司名称" clearable
@keyup.enter.native="handleQuery" /> -->
<el-select v-model="queryParams.companyName" placeholder="请选择公司名称">
<el-option v-for="item in companyList" :key="item.companyId" :label="item.companyName"
:value="item.companyId">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="发票类型" prop="invoiceType">
<el-input v-model="queryParams.invoiceType" placeholder="请输入发票类型" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="发票性质" prop="invoiceNature">
<el-input v-model="queryParams.invoiceNature" placeholder="请输入发票性质 (0:进项,1:出项)" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="发票日期" prop="invoiceDate">
<el-date-picker clearable v-model="queryParams.invoiceDate" type="date"
value-format="yyyy-MM-dd HH:mm:ss" placeholder="请选择发票日期">
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索
</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
</el-col>
<el-col :span="18">
<body>
<div class="toptip c-red">模板样式仅供参考,不可用于实际开票依据!</div>
<div class="invoicMain" id="printDiv">
<!-- head start -->
<div class="invoiceHeader">
<div class="headerLeft">
<div>
<img src="qrcode.png" width="83" height="83" alt="">
</div>
<div>
<p class="c-red">3700194130</p>
<p class="c"><label>机器编号:</label><br><span>499098532085</span></p>
</div>
</div>
<div class="headerMiddle">
<h1>增值税专用发票</h1>
<div class="line"></div>
</div>
<div class="headerRight">
<p><strong></strong><span class="c-red">35891172</span></p>
<p>3700194130</p>
<p>35891172</p>
<p><label>开票日期:</label><span> 2021年06月07日</span></p>
</div>
</div>
<!-- head end -->
<!-- invoice body start -->
<div class="invoiceBody">
<div class="userInfo">
<div class="buy">购买方</div>
<ul>
<li>
<label>&nbsp;&nbsp;&nbsp;&nbsp;称:</label><span>山东济南网络信息技术有限公司</span>
</li>
<li>
<label>纳税人识别号:</label><span class="f-big">913564523096023930</span>
</li>
<li>
<label>地址、&nbsp;电话:</label><span class="f-small">济南市槐荫区经十路4214209号
0531-85094547</span>
</li>
<li>
<label>开户行及账号:</label><span class="f-small">中国银行股份有限公司济南大学科技园支行
6225885410839945</span>
</li>
</ul>
<div class="password">密码区</div>
<div class="pwdInfo"><span class="f-big">0357+39177127583965+0*13>3>0<>
<22908-+<+03*<-84>40>
<3<64-076746-2+2082*9112+057188 /07-228<135701+4 />039*1630-817</span>>
</div>
</div>
<div>
<table class="GoodsTable" cellpadding="0" cellspacing="0">
<thead>
<tr>
<td style="width: 24%">货物或应税劳务、服务名称</td>
<td style="width: 10%">规格型号</td>
<td style="width: 7%">单位</td>
<td style="width: 10%">数 量</td>
<td style="width: 10%">单 价</td>
<td style="width: 16%">金 额</td>
<td style="width: 7%">税率</td>
<td style="width: 16%; border-right: none;">税 额</td>
</tr>
</thead>
<tbody class="invoice-list" style="height: 126px;">
<tr>
<td><span>*乳制品*新希望天香透明</span></td>
<td><span>180ML</span></td>
<td><span></span></td>
<td><span>5</span></td>
<td><span>2.364</span></td>
<td><span>11.82</span></td>
<td><span>1%</span></td>
<td><span>1.18</span></td>
</tr>
<tr>
<td><span>新希望天香透明袋纯牛奶</span></td>
<td><span>180ML</span></td>
<td><span></span></td>
<td><span>5</span></td>
<td><span>2.364</span></td>
<td><span>11.82</span></td>
<td><span>1%</span></td>
<td><span>1.18</span></td>
</tr>
<tr>
<td><span>新希望天香透明袋纯牛奶</span></td>
<td><span>180ML</span></td>
<td><span></span></td>
<td><span>5</span></td>
<td><span>2.364</span></td>
<td><span>11.82</span></td>
<td><span>1%</span></td>
<td><span>1.18</span></td>
</tr>
<tr>
<td><span>新希望天香透明袋纯牛奶</span></td>
<td><span>180ML</span></td>
<td><span></span></td>
<td><span>5</span></td>
<td><span>2.364</span></td>
<td><span>11.82</span></td>
<td><span>1%</span></td>
<td><span>1.18</span></td>
</tr>
<tr>
<td><span>新希望天香透明袋纯牛奶</span></td>
<td><span>180ML</span></td>
<td><span></span></td>
<td><span>5</span></td>
<td><span>2.364</span></td>
<td><span>11.82</span></td>
<td><span>1%</span></td>
<td><span>1.18</span></td>
</tr>
<tr>
<td><span>新希望天香透明袋纯牛奶</span></td>
<td><span>180ML</span></td>
<td><span></span></td>
<td><span>5</span></td>
<td><span>2.364</span></td>
<td><span>11.82</span></td>
<td><span>1%</span></td>
<td><span>1.18</span></td>
</tr>
</tbody>
<tfoot>
<tr class="total">
<td>&nbsp;&nbsp;&nbsp;</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td><span class="rmb"></span>1425.00</td>
<td></td>
<td><span class="rmb"></span>1425.00</td>
</tr>
<tr class="GoodsTotal">
<td>价税合计(大写)</td>
<td colspan="7">
<div style="width: 100%;display:flex">
<div type="text" style="width: 60%"><span class='c-black'>ⓧ壹万叁仟元整</span>
</div>
<div type="text" style="width: 30%"> (小写) <span class='c-black'><span
class="rmb"></span>1425.00</span></div>
</div>
</td>
</tr>
</tfoot>
</table>
<div class="userInfo">
<div class="buy">销售方</div>
<ul>
<li>
<label>&nbsp;&nbsp;&nbsp;&nbsp;称:</label><span>山东济南网络信息技术有限公司</span>
</li>
<li>
<label>纳税人识别号:</label><span class="f-big">913564523596023930</span>
</li>
<li>
<label>地址、&nbsp;电话:</label><span
class="f-small2">山东省济南市槐荫区经十路28988号乐梦公寓3号楼1单元605号
0531-87527787</span>
</li>
<li>
<label>开户行及账号:</label><span class="f-small">中国银行股份有限公司济南大学科技园支行
6225885410839945</span>
</li>
</ul>
<div class="password">备注</div>
<div class="pwdInfo">aaa</div>
</div>
</div>
</div>
<!-- invoice body start -->
<ul class="invoicetFooter">
<li>
<label>收款人:</label><span>张莫某</span>
</li>
<li>
<label>复核:</label><span>张莫某</span>
</li>
<li>
<label>开票人:</label><span>张莫某</span>
</li>
<li>
<label>销售方:(章)</label>
</li>
</ul>
</div>
</body>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['finance:invoice:add']">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single"
@click="handleUpdate" v-hasPermi="['finance:invoice:edit']">修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple"
@click="handleDelete" v-hasPermi="['finance:invoice:remove']">删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
v-hasPermi="['finance:invoice:export']">导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="invoiceList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<!-- <el-table-column label="发票id" align="center" prop="invoiceId" /> -->
<!-- <el-table-column label="公司id" align="center" prop="companyId" /> -->
<el-table-column label="公司名称" align="center" prop="companyName" />
<el-table-column label="发票类型" align="center" prop="invoiceType" />
<el-table-column label="发票性质" align="center" prop="invoiceNature" />
<el-table-column label="部门名称" align="center" prop="depName" />
<el-table-column label="发票日期" align="center" prop="invoiceDate" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.invoiceDate) }}</span>
</template>
</el-table-column>
<el-table-column label="购买方名称" align="center" prop="buyName" />
<el-table-column label="销售方名称" align="center" prop="saleName" />
<!-- <el-table-column label="购买方纳税人识别号" align="center" prop="buyTaxpayerNo" />
<el-table-column label="购买方地址" align="center" prop="buyAddress" /> -->
<!-- <el-table-column label="购买方电话" align="center" prop="buyPhone" />
<el-table-column label="购买方开户行" align="center" prop="buyBankDeposit" />
<el-table-column label="购买方银行账号" align="center" prop="buyBankAccount" />
<el-table-column label="申请人" align="center" prop="applicant" />
<el-table-column label="审核人" align="center" prop="checker" />
<el-table-column label="项目编号/发票号码" align="center" prop="projectOrInvoiceNo" /> -->
<el-table-column label="合计金额" align="center" prop="amountSum" />
<el-table-column label="合计税额" align="center" prop="taxSum" />
<el-table-column label="价税合计" align="center" prop="amountTaxCapital" />
<el-table-column label="价税合计" align="center" prop="amountTaxLower" />
<!-- <el-table-column label="销售方纳税人识别号" align="center" prop="saleTaxpayerNo" />
<el-table-column label="销售方地址" align="center" prop="saleAddress" />
<el-table-column label="销售方电话" align="center" prop="salePhone" />
<el-table-column label="销售方开户行" align="center" prop="saleBankDeposit" />
<el-table-column label="销售方银行账号" align="center" prop="saleBankAccount" />
<el-table-column label="备注" align="center" prop="note" />
<el-table-column label="收款人" align="center" prop="payee" />
<el-table-column label="复核人" align="center" prop="reviewer" />
<el-table-column label="开票人" align="center" prop="drawer" /> -->
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['finance:invoice:edit']">修改</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['finance:invoice:remove']">删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination v-show="total>0" :total="total" :page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize" @pagination="getList" />
<!-- 添加或修改发票对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="公司id" prop="companyId">
<el-input v-model="form.companyId" placeholder="请输入公司id" />
</el-form-item>
<el-form-item label="公司名称" prop="companyName">
<el-input v-model="form.companyName" placeholder="请输入公司名称" />
</el-form-item>
<el-form-item label="发票类型" prop="invoiceType">
<el-input v-model="form.invoiceType" placeholder="请输入发票类型" />
</el-form-item>
<el-form-item label="发票性质" prop="invoiceNature">
<el-input v-model="form.invoiceNature" placeholder="请输入发票性质" />
</el-form-item>
<el-form-item label="部门名称" prop="depName">
<el-input v-model="form.depName" placeholder="请输入部门名称" />
</el-form-item>
<el-form-item label="发票日期" prop="invoiceDate">
<el-date-picker clearable v-model="form.invoiceDate" type="date" value-format="yyyy-MM-dd"
placeholder="请选择发票日期">
</el-date-picker>
</el-form-item>
<el-form-item label="购买方名称" prop="buyName">
<el-input v-model="form.buyName" placeholder="请输入购买方名称" />
</el-form-item>
<el-form-item label="购买方纳税人识别号" prop="buyTaxpayerNo">
<el-input v-model="form.buyTaxpayerNo" placeholder="请输入购买方纳税人识别号" />
</el-form-item>
<el-form-item label="购买方地址" prop="buyAddress">
<el-input v-model="form.buyAddress" placeholder="请输入购买方地址" />
</el-form-item>
<el-form-item label="购买方电话" prop="buyPhone">
<el-input v-model="form.buyPhone" placeholder="请输入购买方电话" />
</el-form-item>
<el-form-item label="购买方开户行" prop="buyBankDeposit">
<el-input v-model="form.buyBankDeposit" placeholder="请输入购买方开户行" />
</el-form-item>
<el-form-item label="购买方银行账号" prop="buyBankAccount">
<el-input v-model="form.buyBankAccount" placeholder="请输入购买方银行账号" />
</el-form-item>
<el-form-item label="申请人" prop="applicant">
<el-input v-model="form.applicant" placeholder="请输入申请人" />
</el-form-item>
<el-form-item label="审核人" prop="checker">
<el-input v-model="form.checker" placeholder="请输入审核人" />
</el-form-item>
<el-form-item label="项目编号/发票号码" prop="projectOrInvoiceNo">
<el-input v-model="form.projectOrInvoiceNo" placeholder="请输入项目编号/发票号码" />
</el-form-item>
<el-form-item label="合计金额" prop="amountSum">
<el-input v-model="form.amountSum" placeholder="请输入合计金额" />
</el-form-item>
<el-form-item label="合计税额" prop="taxSum">
<el-input v-model="form.taxSum" placeholder="请输入合计税额" />
</el-form-item>
<el-form-item label="价税合计" prop="amountTaxCapital">
<el-input v-model="form.amountTaxCapital" placeholder="请输入价税合计" />
</el-form-item>
<el-form-item label="价税合计" prop="amountTaxLower">
<el-input v-model="form.amountTaxLower" placeholder="请输入价税合计" />
</el-form-item>
<el-form-item label="销售方名称" prop="saleName">
<el-input v-model="form.saleName" placeholder="请输入销售方名称" />
</el-form-item>
<el-form-item label="销售方纳税人识别号" prop="saleTaxpayerNo">
<el-input v-model="form.saleTaxpayerNo" placeholder="请输入销售方纳税人识别号" />
</el-form-item>
<el-form-item label="销售方地址" prop="saleAddress">
<el-input v-model="form.saleAddress" placeholder="请输入销售方地址" />
</el-form-item>
<el-form-item label="销售方电话" prop="salePhone">
<el-input v-model="form.salePhone" placeholder="请输入销售方电话" />
</el-form-item>
<el-form-item label="销售方开户行" prop="saleBankDeposit">
<el-input v-model="form.saleBankDeposit" placeholder="请输入销售方开户行" />
</el-form-item>
<el-form-item label="销售方银行账号" prop="saleBankAccount">
<el-input v-model="form.saleBankAccount" placeholder="请输入销售方银行账号" />
</el-form-item>
<el-form-item label="备注" prop="note">
<el-input v-model="form.note" placeholder="请输入备注" />
</el-form-item> -->
<el-form-item label="收款人" prop="payee">
<el-input v-model="form.payee" placeholder="请输入收款人" />
</el-form-item>
<el-form-item label="复核人" prop="reviewer">
<el-input v-model="form.reviewer" placeholder="请输入复核人" />
</el-form-item>
<el-form-item label="开票人" prop="drawer">
<el-input v-model="form.drawer" placeholder="请输入开票人" />
</el-form-item>
<el-divider content-position="center">发票项信息</el-divider>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" icon="el-icon-plus" size="mini"
@click="handleAddFncInvoiceItem">添加</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="danger" icon="el-icon-delete" size="mini"
@click="handleDeleteFncInvoiceItem">删除</el-button>
</el-col>
</el-row>
<el-table :data="fncInvoiceItemList" :row-class-name="rowFncInvoiceItemIndex"
@selection-change="handleFncInvoiceItemSelectionChange" ref="fncInvoiceItem">
<el-table-column type="selection" width="50" align="center" />
<el-table-column label="序号" align="center" prop="index" width="50" />
<el-table-column label="发票id" prop="invoiceId" width="150">
<template slot-scope="scope">
<el-input v-model="scope.row.invoiceId" placeholder="请输入发票id" />
</template>
</el-table-column>
<el-table-column label="货物或应税劳务、服务名称" prop="objectName" width="150">
<template slot-scope="scope">
<el-input v-model="scope.row.objectName" placeholder="请输入货物或应税劳务、服务名称" />
</template>
</el-table-column>
<el-table-column label="规格型号" prop="specs" width="150">
<template slot-scope="scope">
<el-input v-model="scope.row.specs" placeholder="请输入规格型号" />
</template>
</el-table-column>
<el-table-column label="单位" prop="unit" width="150">
<template slot-scope="scope">
<el-input v-model="scope.row.unit" placeholder="请输入单位" />
</template>
</el-table-column>
<el-table-column label="数量" prop="quantity" width="150">
<template slot-scope="scope">
<el-input v-model="scope.row.quantity" placeholder="请输入数量" />
</template>
</el-table-column>
<el-table-column label="单价(含税)" prop="unitPriceTax" width="150">
<template slot-scope="scope">
<el-input v-model="scope.row.unitPriceTax" placeholder="请输入单价(含税)" />
</template>
</el-table-column>
<el-table-column label="金额(不含税)" prop="amountNoTax" width="150">
<template slot-scope="scope">
<el-input v-model="scope.row.amountNoTax" placeholder="请输入金额(不含税)" />
</template>
</el-table-column>
<el-table-column label="税率" prop="taxRate" width="150">
<template slot-scope="scope">
<el-input v-model="scope.row.taxRate" placeholder="请输入税率" />
</template>
</el-table-column>
<el-table-column label="税额" prop="taxAmount" width="150">
<template slot-scope="scope">
<el-input v-model="scope.row.taxAmount" placeholder="请输入税额" />
</template>
</el-table-column>
</el-table>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import {
listInvoice,
getInvoice,
delInvoice,
addInvoice,
updateInvoice,
} from "@/api/finance/invoice";
import {
listCompany,
listAllCompany,
getCompany,
delCompany,
addCompany,
updateCompany,
} from "@/api/finance/company";
export default {
components: {},
name: "Invoice",
data() {
return {
test: "",
// 根路径
baseURL: process.env.VUE_APP_BASE_API,
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 子表选中数据
checkedFncInvoiceItem: [],
// 记账公司列表
companyList: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 发票表格数据
invoiceList: [],
// 发票项表格数据
fncInvoiceItemList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
companyId: null,
companyName: null,
invoiceType: null,
invoiceNature: null,
depName: null,
invoiceDate: null,
buyName: null,
buyTaxpayerNo: null,
buyAddress: null,
buyPhone: null,
buyBankDeposit: null,
buyBankAccount: null,
applicant: null,
checker: null,
projectOrInvoiceNo: null,
amountSum: null,
taxSum: null,
amountTaxCapital: null,
amountTaxLower: null,
saleName: null,
saleTaxpayerNo: null,
saleAddress: null,
salePhone: null,
saleBankDeposit: null,
saleBankAccount: null,
note: null,
payee: null,
reviewer: null,
drawer: null,
},
// 表单参数
form: {},
printObj: {
id: "printDiv",
popTitle: "发票打印",
// 表单校验
rules: {
invoiceId: [
{ required: true, message: "发票id不能为空", trigger: "blur" },
],
companyId: [
{ required: true, message: "公司id不能为空", trigger: "blur" },
],
companyName: [
{ required: true, message: "公司名称不能为空", trigger: "blur" },
],
invoiceType: [
{ required: true, message: "发票类型不能为空", trigger: "change" },
],
invoiceNature: [
{
required: true,
message: "发票性质 (0:进项,1:出项)不能为空",
trigger: "blur",
},
],
depName: [
{ required: true, message: "部门名称不能为空", trigger: "blur" },
],
invoiceDate: [
{ required: true, message: "发票日期不能为空", trigger: "blur" },
],
buyName: [
{ required: true, message: "购买方名称不能为空", trigger: "blur" },
],
buyTaxpayerNo: [
{
required: true,
message: "购买方纳税人识别号不能为空",
trigger: "blur",
},
],
buyAddress: [
{ required: true, message: "购买方地址不能为空", trigger: "blur" },
],
buyPhone: [
{ required: true, message: "购买方电话不能为空", trigger: "blur" },
],
buyBankDeposit: [
{ required: true, message: "购买方开户行不能为空", trigger: "blur" },
],
buyBankAccount: [
{
required: true,
message: "购买方银行账号不能为空",
trigger: "blur",
},
],
applicant: [
{ required: true, message: "申请人不能为空", trigger: "blur" },
],
checker: [
{ required: true, message: "审核人不能为空", trigger: "blur" },
],
projectOrInvoiceNo: [
{
required: true,
message: "项目编号/发票号码不能为空",
trigger: "blur",
},
],
amountSum: [
{ required: true, message: "合计金额不能为空", trigger: "blur" },
],
taxSum: [
{ required: true, message: "合计税额不能为空", trigger: "blur" },
],
amountTaxCapital: [
{ required: true, message: "价税合计不能为空", trigger: "blur" },
],
amountTaxLower: [
{ required: true, message: "价税合计不能为空", trigger: "blur" },
],
saleName: [
{ required: true, message: "销售方名称不能为空", trigger: "blur" },
],
saleTaxpayerNo: [
{
required: true,
message: "销售方纳税人识别号不能为空",
trigger: "blur",
},
],
saleAddress: [
{ required: true, message: "销售方地址不能为空", trigger: "blur" },
],
salePhone: [
{ required: true, message: "销售方电话不能为空", trigger: "blur" },
],
saleBankDeposit: [
{ required: true, message: "销售方开户行不能为空", trigger: "blur" },
],
saleBankAccount: [
{
required: true,
message: "销售方银行账号不能为空",
trigger: "blur",
},
],
note: [{ required: true, message: "备注不能为空", trigger: "blur" }],
payee: [{ required: true, message: "收款人不能为空", trigger: "blur" }],
reviewer: [
{ required: true, message: "复核人不能为空", trigger: "blur" },
],
drawer: [
{ required: true, message: "开票人不能为空", trigger: "blur" },
],
},
};
},
//监听属性 类似于data概念
computed: {},
//监控data中的数据变化
watch: {},
//方法集合
created() {
this.getList();
this.getCompanyList();
},
methods: {
prints() {
var prints = document.getElementById("printDiv");
prints.title = "打印的标题";
/** 查询公司列表 */
getCompanyList() {
this.loading = true;
listAllCompany().then((response) => {
this.companyList = response.rows;
});
},
/** 查询发票列表 */
getList() {
this.loading = true;
listInvoice(this.queryParams).then((response) => {
this.invoiceList = response.rows;
this.total = response.total;
this.loading = false;
});
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
invoiceId: null,
companyId: null,
companyName: null,
invoiceType: null,
invoiceNature: null,
depName: null,
invoiceDate: null,
buyName: null,
buyTaxpayerNo: null,
buyAddress: null,
buyPhone: null,
buyBankDeposit: null,
buyBankAccount: null,
applicant: null,
checker: null,
projectOrInvoiceNo: null,
amountSum: null,
taxSum: null,
amountTaxCapital: null,
amountTaxLower: null,
saleName: null,
saleTaxpayerNo: null,
saleAddress: null,
salePhone: null,
saleBankDeposit: null,
saleBankAccount: null,
note: null,
payee: null,
reviewer: null,
drawer: null,
};
this.fncInvoiceItemList = [];
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map((item) => item.invoiceId);
this.single = selection.length !== 1;
this.multiple = !selection.length;
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加发票";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const invoiceId = row.invoiceId || this.ids;
getInvoice(invoiceId).then((response) => {
this.form = response.data;
this.fncInvoiceItemList = response.data.fncInvoiceItemList;
this.open = true;
this.title = "修改发票";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate((valid) => {
if (valid) {
this.form.fncInvoiceItemList = this.fncInvoiceItemList;
if (this.form.invoiceId != null) {
updateInvoice(this.form).then((response) => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addInvoice(this.form).then((response) => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const invoiceIds = row.invoiceId || this.ids;
this.$modal
.confirm('是否确认删除发票编号为"' + invoiceIds + '"的数据项?')
.then(function () {
return delInvoice(invoiceIds);
})
.then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
})
.catch(() => {});
},
/** 发票项序号 */
rowFncInvoiceItemIndex({ row, rowIndex }) {
row.index = rowIndex + 1;
},
/** 发票项添加按钮操作 */
handleAddFncInvoiceItem() {
let obj = {};
obj.invoiceId = "";
obj.objectName = "";
obj.specs = "";
obj.unit = "";
obj.quantity = "";
obj.unitPriceTax = "";
obj.amountNoTax = "";
obj.taxRate = "";
obj.taxAmount = "";
this.fncInvoiceItemList.push(obj);
},
/** 发票项删除按钮操作 */
handleDeleteFncInvoiceItem() {
if (this.checkedFncInvoiceItem.length == 0) {
this.$modal.msgError("请先选择要删除的发票项数据");
} else {
const fncInvoiceItemList = this.fncInvoiceItemList;
const checkedFncInvoiceItem = this.checkedFncInvoiceItem;
this.fncInvoiceItemList = fncInvoiceItemList.filter(function (item) {
return checkedFncInvoiceItem.indexOf(item.index) == -1;
});
}
},
/** 复选框选中数据 */
handleFncInvoiceItemSelectionChange(selection) {
this.checkedFncInvoiceItem = selection.map((item) => item.index);
},
/** 导出按钮操作 */
handleExport() {
this.download(
"finance/invoice/export",
{
...this.queryParams,
},
`invoice_${new Date().getTime()}.xlsx`
);
},
},
//生命周期 - 创建完成(可以访问当前this实例)
created() {},
//生命周期 - 挂载完成(可以访问DOM元素)
mounted() {},
beforeCreate() {}, //生命周期 - 创建之前
beforeMount() {}, //生命周期 - 挂载之前
beforeUpdate() {}, //生命周期 - 更新之前
updated() {}, //生命周期 - 更新之后
beforeDestroy() {}, //生命周期 - 销毁之前
destroyed() {}, //生命周期 - 销毁完成
activated() {}, //如果页面有keep-alive缓存功能,这个函数会触发
};
</script>
<style scoped>
* {
padding: 0;
margin: 0;
}
ul,
ul li {
list-style: none;
margin: 0;
padding: 0;
}
body {
font-family: "simsun";
}
label {
color: #008000;
}
.rmb {
font-family: Arial, Helvetica, sans-serif;
}
.c-red {
color: #ff3133;
}
.c-black {
color: #000;
}
.f-big {
font-size: 20px;
}
.f-small {
font-size: 12px;
}
.f-small2 {
font-size: 10px;
}
.invoicMain {
width: 920px;
margin: 0 auto;
font-size: 14px;
color: #000;
padding: 20px;
border: 1px dotted #000;
}
.toptip {
text-align: center;
padding-top: 4px;
height: 20px;
}
.invoiceHeader {
height: 126px;
display: flex;
/* justify-content: space-between; */
align-items: center;
}
.headerLeft {
width: 300px;
display: flex;
}
.headerLeft div:nth-child(1) {
width: 85px;
line-height: 26px;
}
.headerLeft div p {
line-height: 26px;
}
.headerLeft div:nth-child(2) p.c-red {
width: 170px;
height: 46px;
text-align: center;
line-height: 42px;
font-size: 24px;
letter-spacing: 2px;
}
.headerLeft div p.c span {
font-size: 18px;
letter-spacing: 1px;
}
.headerRight {
padding-left: 28px;
width: 316px;
}
.headerRight p:nth-child(1) {
font-size: 24px;
}
.headerRight p:nth-child(1) strong {
font-family: "LiSu";
font-size: 30px;
padding-right: 20px;
}
.headerRight p:nth-child(2) {
text-align: right;
margin-top: -5px;
}
.headerRight p:nth-child(3) {
text-align: right;
font-size: 18px;
letter-spacing: 1px;
}
.headerRight p:nth-child(4) {
text-align: center;
letter-spacing: 1px;
}
.headerMiddle {
text-align: center;
width: 300px;
}
.headerMiddle h1 {
font-size: 32px;
color: #008000;
padding-bottom: 22px;
}
.total .rmb {
font-size: 16px;
}
.line {
height: 2px;
border-top: #008000 1px solid;
border-bottom: #008000 1px solid;
margin-bottom: 30px;
}
.headerRight li {
line-height: 24px;
}
.invoiceBody {
border: 1px solid #008000;
}
.userInfo {
width: 100%;
display: flex;
align-items: center;
height: 96px;
border-bottom: 1px solid #008000;
}
.userInfo ul {
width: 50%;
margin: 0 5px;
padding: 0;
}
.userInfo ul li {
line-height: 24px;
}
.userInfo ul li:nth-child(2) .f-big {
padding-left: 24px;
letter-spacing: 2px;
}
.userInfo ul li:nth-child(3) {
position: relative;
}
.userInfo ul li .f-small2 {
position: absolute;
width: 120%;
transform: scale(0.8);
left: 44px;
}
.buy {
width: 20px;
border-right: 1px solid #008000;
/* padding: 0 10px; */
text-align: center;
height: 100%;
display: flex;
align-items: center;
color: #008000;
line-height: 20px;
}
.password {
width: 20px;
/* padding: 0 10px; */
border-right: 1px solid #008000;
border-left: 1px solid #008000;
text-align: center;
height: 100%;
display: flex;
align-items: center;
color: #008000;
line-height: 20px;
}
.pwdInfo {
flex: 1;
padding: 0 15px;
height: 88px;
overflow: hidden;
word-break: break-all;
letter-spacing: 2px;
}
.goodsInfo {
height: 210px;
margin: 0;
padding: 0;
}
.goodsInfo li {
display: flex;
color: #008000;
text-align: center;
}
.name {
width: 260px;
border-right: 1px solid #008000;
}
.spec {
width: 140px;
border-right: 1px solid #008000;
}
.qty {
width: 108px;
border-right: 1px solid #008000;
}
.unit,
.taxRate {
width: 65px;
border-right: 1px solid #008000;
}
.qty,
.price {
width: 160px;
border-right: 1px solid #008000;
}
.money {
flex: 1;
border-right: 1px solid #008000;
}
.taxAmount {
flex: 1;
}
.GoodsTable {
height: 210px;
width: 100%;
border-collapse: collapse;
table-layout: fixed;
}
.GoodsTable td {
border-right: 1px solid #008000;
color: #008000;
padding: 0 4px;
}
.invoice-list td {
color: #000;
vertical-align: middle;
}
.invoice-list td:nth-child(5),
.invoice-list td:nth-child(6),
.invoice-list td:nth-child(7),
.invoice-list td:nth-child(8),
.total td:nth-child(5),
.total td:nth-child(6),
.total td:nth-child(7),
.total td:nth-child(8) {
text-align: right;
}
.invoice-list {
height: 126px;
overflow: hidden;
}
.invoice-list tr td {
height: 21px;
}
.GoodsTable thead tr {
height: 24px;
text-align: center;
}
.GoodsTotal {
height: 34px;
}
.GoodsTotal {
border-top: 1px solid #008000;
border-bottom: 1px solid #008000;
}
.total td {
color: #000;
}
.total td:nth-child(1) {
text-align: center;
color: #008000;
}
.total td:nth-child(6),
.total td:nth-child(8) {
font-size: 18px;
}
.invoicetFooter {
padding-top: 2px;
display: flex;
justify-content: space-between;
}
.invoicetFooter li {
width: 25%;
}
.invoiceHeader-left {
width: 67%;
display: flex;
align-items: center;
justify-content: space-between;
}
</style>
\ No newline at end of file
<template>
<div class="app-container">
<el-row :gutter="20">
<el-col :span="6">
<el-form ref="form" :model="form" label-width="80px">
<el-row>
<!-- <el-col :span="8" v-if="form.parentId !== 0">
<el-form-item label="上级部门" prop="parentId">
<el-input v-model="test" placeholder="" size="normal" clearable></el-input>
</el-form-item>
</el-col> -->
<el-col :span="8">
<el-button type="primary" v-print="printObj">打印</el-button>
</el-col>
</el-row>
</el-form>
</el-col>
<el-col :span="18">
<body>
<div class="toptip c-red">模板样式仅供参考,不可用于实际开票依据!</div>
<div class="invoicMain" id="printDiv">
<!-- head start -->
<div class="invoiceHeader">
<div class="headerLeft">
<div>
<img src="qrcode.png" width="83" height="83" alt="">
</div>
<div>
<p class="c-red">3700194130</p>
<p class="c"><label>机器编号:</label><br><span>499098532085</span></p>
</div>
</div>
<div class="headerMiddle">
<h1>增值税专用发票</h1>
<div class="line"></div>
</div>
<div class="headerRight">
<p><strong></strong><span class="c-red">35891172</span></p>
<p>3700194130</p>
<p>35891172</p>
<p><label>开票日期:</label><span> 2021年06月07日</span></p>
</div>
</div>
<!-- head end -->
<!-- invoice body start -->
<div class="invoiceBody">
<div class="userInfo">
<div class="buy">购买方</div>
<ul>
<li>
<label>&nbsp;&nbsp;&nbsp;&nbsp;称:</label><span>山东济南网络信息技术有限公司</span>
</li>
<li>
<label>纳税人识别号:</label><span class="f-big">913564523096023930</span>
</li>
<li>
<label>地址、&nbsp;电话:</label><span class="f-small">济南市槐荫区经十路4214209号
0531-85094547</span>
</li>
<li>
<label>开户行及账号:</label><span class="f-small">中国银行股份有限公司济南大学科技园支行
6225885410839945</span>
</li>
</ul>
<div class="password">密码区</div>
<div class="pwdInfo"><span class="f-big">0357+39177127583965+0*13>3>0<>
<22908-+<+03*<-84>40>
<3<64-076746-2+2082*9112+057188 /07-228<135701+4 />039*1630-817</span>>
</div>
</div>
<div>
<table class="GoodsTable" cellpadding="0" cellspacing="0">
<thead>
<tr>
<td style="width: 24%">货物或应税劳务、服务名称</td>
<td style="width: 10%">规格型号</td>
<td style="width: 7%">单位</td>
<td style="width: 10%">数 量</td>
<td style="width: 10%">单 价</td>
<td style="width: 16%">金 额</td>
<td style="width: 7%">税率</td>
<td style="width: 16%; border-right: none;">税 额</td>
</tr>
</thead>
<tbody class="invoice-list" style="height: 126px;">
<tr>
<td><span>*乳制品*新希望天香透明</span></td>
<td><span>180ML</span></td>
<td><span></span></td>
<td><span>5</span></td>
<td><span>2.364</span></td>
<td><span>11.82</span></td>
<td><span>1%</span></td>
<td><span>1.18</span></td>
</tr>
<tr>
<td><span>新希望天香透明袋纯牛奶</span></td>
<td><span>180ML</span></td>
<td><span></span></td>
<td><span>5</span></td>
<td><span>2.364</span></td>
<td><span>11.82</span></td>
<td><span>1%</span></td>
<td><span>1.18</span></td>
</tr>
<tr>
<td><span>新希望天香透明袋纯牛奶</span></td>
<td><span>180ML</span></td>
<td><span></span></td>
<td><span>5</span></td>
<td><span>2.364</span></td>
<td><span>11.82</span></td>
<td><span>1%</span></td>
<td><span>1.18</span></td>
</tr>
<tr>
<td><span>新希望天香透明袋纯牛奶</span></td>
<td><span>180ML</span></td>
<td><span></span></td>
<td><span>5</span></td>
<td><span>2.364</span></td>
<td><span>11.82</span></td>
<td><span>1%</span></td>
<td><span>1.18</span></td>
</tr>
<tr>
<td><span>新希望天香透明袋纯牛奶</span></td>
<td><span>180ML</span></td>
<td><span></span></td>
<td><span>5</span></td>
<td><span>2.364</span></td>
<td><span>11.82</span></td>
<td><span>1%</span></td>
<td><span>1.18</span></td>
</tr>
<tr>
<td><span>新希望天香透明袋纯牛奶</span></td>
<td><span>180ML</span></td>
<td><span></span></td>
<td><span>5</span></td>
<td><span>2.364</span></td>
<td><span>11.82</span></td>
<td><span>1%</span></td>
<td><span>1.18</span></td>
</tr>
</tbody>
<tfoot>
<tr class="total">
<td>&nbsp;&nbsp;&nbsp;</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td><span class="rmb"></span>1425.00</td>
<td></td>
<td><span class="rmb"></span>1425.00</td>
</tr>
<tr class="GoodsTotal">
<td>价税合计(大写)</td>
<td colspan="7">
<div style="width: 100%;display:flex">
<div type="text" style="width: 60%"><span class='c-black'>ⓧ壹万叁仟元整</span>
</div>
<div type="text" style="width: 30%"> (小写) <span class='c-black'><span
class="rmb"></span>1425.00</span></div>
</div>
</td>
</tr>
</tfoot>
</table>
<div class="userInfo">
<div class="buy">销售方</div>
<ul>
<li>
<label>&nbsp;&nbsp;&nbsp;&nbsp;称:</label><span>山东济南网络信息技术有限公司</span>
</li>
<li>
<label>纳税人识别号:</label><span class="f-big">913564523596023930</span>
</li>
<li>
<label>地址、&nbsp;电话:</label><span
class="f-small2">山东省济南市槐荫区经十路28988号乐梦公寓3号楼1单元605号
0531-87527787</span>
</li>
<li>
<label>开户行及账号:</label><span class="f-small">中国银行股份有限公司济南大学科技园支行
6225885410839945</span>
</li>
</ul>
<div class="password">备注</div>
<div class="pwdInfo">aaa</div>
</div>
</div>
</div>
<!-- invoice body start -->
<ul class="invoicetFooter">
<li>
<label>收款人:</label><span>张莫某</span>
</li>
<li>
<label>复核:</label><span>张莫某</span>
</li>
<li>
<label>开票人:</label><span>张莫某</span>
</li>
<li>
<label>销售方:(章)</label>
</li>
</ul>
</div>
</body>
</el-col>
</el-row>
</div>
</template>
<script>
export default {
components: {},
data() {
return {
test: "",
form: {},
printObj: {
id: "printDiv",
popTitle: "发票打印",
},
};
},
//监听属性 类似于data概念
computed: {},
//监控data中的数据变化
watch: {},
//方法集合
methods: {
prints() {
var prints = document.getElementById("printDiv");
prints.title = "打印的标题";
},
},
//生命周期 - 创建完成(可以访问当前this实例)
created() {},
//生命周期 - 挂载完成(可以访问DOM元素)
mounted() {},
beforeCreate() {}, //生命周期 - 创建之前
beforeMount() {}, //生命周期 - 挂载之前
beforeUpdate() {}, //生命周期 - 更新之前
updated() {}, //生命周期 - 更新之后
beforeDestroy() {}, //生命周期 - 销毁之前
destroyed() {}, //生命周期 - 销毁完成
activated() {}, //如果页面有keep-alive缓存功能,这个函数会触发
};
</script>
<style scoped>
* {
padding: 0;
margin: 0;
}
ul,
ul li {
list-style: none;
margin: 0;
padding: 0;
}
body {
font-family: "simsun";
}
label {
color: #008000;
}
.rmb {
font-family: Arial, Helvetica, sans-serif;
}
.c-red {
color: #ff3133;
}
.c-black {
color: #000;
}
.f-big {
font-size: 20px;
}
.f-small {
font-size: 12px;
}
.f-small2 {
font-size: 10px;
}
.invoicMain {
width: 920px;
margin: 0 auto;
font-size: 14px;
color: #000;
padding: 20px;
border: 1px dotted #000;
}
.toptip {
text-align: center;
padding-top: 4px;
height: 20px;
}
.invoiceHeader {
height: 126px;
display: flex;
/* justify-content: space-between; */
align-items: center;
}
.headerLeft {
width: 300px;
display: flex;
}
.headerLeft div:nth-child(1) {
width: 85px;
line-height: 26px;
}
.headerLeft div p {
line-height: 26px;
}
.headerLeft div:nth-child(2) p.c-red {
width: 170px;
height: 46px;
text-align: center;
line-height: 42px;
font-size: 24px;
letter-spacing: 2px;
}
.headerLeft div p.c span {
font-size: 18px;
letter-spacing: 1px;
}
.headerRight {
padding-left: 28px;
width: 316px;
}
.headerRight p:nth-child(1) {
font-size: 24px;
}
.headerRight p:nth-child(1) strong {
font-family: "LiSu";
font-size: 30px;
padding-right: 20px;
}
.headerRight p:nth-child(2) {
text-align: right;
margin-top: -5px;
}
.headerRight p:nth-child(3) {
text-align: right;
font-size: 18px;
letter-spacing: 1px;
}
.headerRight p:nth-child(4) {
text-align: center;
letter-spacing: 1px;
}
.headerMiddle {
text-align: center;
width: 300px;
}
.headerMiddle h1 {
font-size: 32px;
color: #008000;
padding-bottom: 22px;
}
.total .rmb {
font-size: 16px;
}
.line {
height: 2px;
border-top: #008000 1px solid;
border-bottom: #008000 1px solid;
margin-bottom: 30px;
}
.headerRight li {
line-height: 24px;
}
.invoiceBody {
border: 1px solid #008000;
}
.userInfo {
width: 100%;
display: flex;
align-items: center;
height: 96px;
border-bottom: 1px solid #008000;
}
.userInfo ul {
width: 50%;
margin: 0 5px;
padding: 0;
}
.userInfo ul li {
line-height: 24px;
}
.userInfo ul li:nth-child(2) .f-big {
padding-left: 24px;
letter-spacing: 2px;
}
.userInfo ul li:nth-child(3) {
position: relative;
}
.userInfo ul li .f-small2 {
position: absolute;
width: 120%;
transform: scale(0.8);
left: 44px;
}
.buy {
width: 20px;
border-right: 1px solid #008000;
/* padding: 0 10px; */
text-align: center;
height: 100%;
display: flex;
align-items: center;
color: #008000;
line-height: 20px;
}
.password {
width: 20px;
/* padding: 0 10px; */
border-right: 1px solid #008000;
border-left: 1px solid #008000;
text-align: center;
height: 100%;
display: flex;
align-items: center;
color: #008000;
line-height: 20px;
}
.pwdInfo {
flex: 1;
padding: 0 15px;
height: 88px;
overflow: hidden;
word-break: break-all;
letter-spacing: 2px;
}
.goodsInfo {
height: 210px;
margin: 0;
padding: 0;
}
.goodsInfo li {
display: flex;
color: #008000;
text-align: center;
}
.name {
width: 260px;
border-right: 1px solid #008000;
}
.spec {
width: 140px;
border-right: 1px solid #008000;
}
.qty {
width: 108px;
border-right: 1px solid #008000;
}
.unit,
.taxRate {
width: 65px;
border-right: 1px solid #008000;
}
.qty,
.price {
width: 160px;
border-right: 1px solid #008000;
}
.money {
flex: 1;
border-right: 1px solid #008000;
}
.taxAmount {
flex: 1;
}
.GoodsTable {
height: 210px;
width: 100%;
border-collapse: collapse;
table-layout: fixed;
}
.GoodsTable td {
border-right: 1px solid #008000;
color: #008000;
padding: 0 4px;
}
.invoice-list td {
color: #000;
vertical-align: middle;
}
.invoice-list td:nth-child(5),
.invoice-list td:nth-child(6),
.invoice-list td:nth-child(7),
.invoice-list td:nth-child(8),
.total td:nth-child(5),
.total td:nth-child(6),
.total td:nth-child(7),
.total td:nth-child(8) {
text-align: right;
}
.invoice-list {
height: 126px;
overflow: hidden;
}
.invoice-list tr td {
height: 21px;
}
.GoodsTable thead tr {
height: 24px;
text-align: center;
}
.GoodsTotal {
height: 34px;
}
.GoodsTotal {
border-top: 1px solid #008000;
border-bottom: 1px solid #008000;
}
.total td {
color: #000;
}
.total td:nth-child(1) {
text-align: center;
color: #008000;
}
.total td:nth-child(6),
.total td:nth-child(8) {
font-size: 18px;
}
.invoicetFooter {
padding-top: 2px;
display: flex;
justify-content: space-between;
}
.invoicetFooter li {
width: 25%;
}
.invoiceHeader-left {
width: 67%;
display: flex;
align-items: center;
justify-content: space-between;
}
</style>
\ No newline at end of file
/*
Navicat Premium Data Transfer
Source Server : localhost_3306
Source Server : 192.168.182.130-mysql
Source Server Type : MySQL
Source Server Version : 50736
Source Host : localhost:3306
Source Server Version : 50738
Source Host : 192.168.182.130:3306
Source Schema : ry-vue
Target Server Type : MySQL
Target Server Version : 50736
Target Server Version : 50738
File Encoding : 65001
Date: 18/11/2022 17:26:53
Date: 21/11/2022 08:01:55
*/
SET NAMES utf8mb4;
......@@ -31,11 +31,11 @@ CREATE TABLE `fnc_company` (
`bank_account_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '银行账户名称',
`bank_account` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '银行账户',
`create_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人',
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人',
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`company_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '记账公司表' ROW_FORMAT = Dynamic;
) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '记账公司表' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of fnc_company
......@@ -50,7 +50,7 @@ DROP TABLE IF EXISTS `fnc_invoice`;
CREATE TABLE `fnc_invoice` (
`invoice_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '发票id',
`company_id` bigint(20) NULL DEFAULT NULL COMMENT '公司id',
`compant_name` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '公司名称',
`company_name` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '公司名称',
`invoice_type` int(4) NOT NULL COMMENT '发票类型(0:普通发票,1:增值税专用发票)',
`invoice_nature` int(4) NOT NULL COMMENT '发票性质 (0:进项,1:出项)',
`dep_name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '部门名称',
......@@ -79,11 +79,11 @@ CREATE TABLE `fnc_invoice` (
`reviewer` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '复核人',
`drawer` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '开票人',
`create_by` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人',
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人',
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`invoice_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '发票' ROW_FORMAT = Dynamic;
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '发票' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of fnc_invoice
......@@ -105,11 +105,11 @@ CREATE TABLE `fnc_invoice_item` (
`tax_rate` decimal(5, 3) NULL DEFAULT NULL COMMENT '税率',
`tax_amount` decimal(21, 6) NULL DEFAULT NULL COMMENT '税额',
`create_by` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人',
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人',
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`invoice_item_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '发票项' ROW_FORMAT = Dynamic;
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '发票项' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of fnc_invoice_item
......@@ -132,11 +132,11 @@ CREATE TABLE `fnc_ledger` (
`business_type` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '业务性质',
`sale_evaluation` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '销售额评估',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人',
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人',
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`ledger_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 16760 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '项目台账' ROW_FORMAT = Dynamic;
) ENGINE = InnoDB AUTO_INCREMENT = 16760 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '项目台账' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of fnc_ledger
......@@ -2435,12 +2435,12 @@ CREATE TABLE `fnc_subject_type` (
`subject_type_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '科目类别名称',
`order_num` int(4) NULL DEFAULT NULL COMMENT '显示顺序',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人',
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人',
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
`delete_status` int(4) NULL DEFAULT NULL COMMENT '是否删除',
PRIMARY KEY (`subject_type_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 9 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '科目类别' ROW_FORMAT = Dynamic;
) ENGINE = InnoDB AUTO_INCREMENT = 9 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '科目类别' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of fnc_subject_type
......@@ -2475,12 +2475,12 @@ CREATE TABLE `gen_table` (
`gen_path` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '/' COMMENT '生成路径(不填默认项目路径)',
`options` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '其它生成选项',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者',
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者',
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`table_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 21 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '代码生成业务表' ROW_FORMAT = Dynamic;
) ENGINE = InnoDB AUTO_INCREMENT = 23 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '代码生成业务表' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of gen_table
......@@ -2488,6 +2488,8 @@ CREATE TABLE `gen_table` (
INSERT INTO `gen_table` VALUES (18, 'fnc_company', '记账公司表', NULL, NULL, 'FncCompany', 'crud', 'com.ruoyi.system', 'system', 'company', '记账公司', 'ruoyi', '0', '/', NULL, 'admin', '2022-11-16 11:35:57', '', NULL, NULL);
INSERT INTO `gen_table` VALUES (19, 'fnc_ledger', '项目台账', NULL, NULL, 'FncLedger', 'crud', 'com.ruoyi.finance', 'finance', 'ledger', '项目台账', 'ruoyi', '0', '/', '{}', 'admin', '2022-11-16 14:39:19', '', '2022-11-16 14:41:51', NULL);
INSERT INTO `gen_table` VALUES (20, 'fnc_subject_type', '科目类别', NULL, NULL, 'FncSubjectType', 'crud', 'com.ruoyi.system', 'system', 'subjectType', '科目类别', 'jlf', '0', '/', '{}', 'admin', '2022-11-17 10:37:45', '', '2022-11-17 10:39:33', NULL);
INSERT INTO `gen_table` VALUES (21, 'fnc_invoice', '发票', 'fnc_invoice_item', 'invoice_item_id', 'FncInvoice', 'sub', 'com.ruoyi.system', 'finance', 'invoice', '发票', 'jlf', '0', '/', '{}', 'admin', '2022-11-20 02:16:10', '', '2022-11-20 03:06:15', NULL);
INSERT INTO `gen_table` VALUES (22, 'fnc_invoice_item', '发票项', NULL, NULL, 'FncInvoiceItem', 'crud', 'com.ruoyi.system', 'system', 'item', '发票项', 'jlf', '0', '/', NULL, 'admin', '2022-11-20 02:16:11', '', NULL, NULL);
-- ----------------------------
-- Table structure for gen_table_column
......@@ -2513,11 +2515,11 @@ CREATE TABLE `gen_table_column` (
`dict_type` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '字典类型',
`sort` int(11) NULL DEFAULT NULL COMMENT '排序',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者',
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者',
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`column_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 211 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '代码生成业务表字段' ROW_FORMAT = Dynamic;
) ENGINE = InnoDB AUTO_INCREMENT = 260 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '代码生成业务表字段' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of gen_table_column
......@@ -2558,6 +2560,54 @@ INSERT INTO `gen_table_column` VALUES (207, '20', 'create_time', '创建时间',
INSERT INTO `gen_table_column` VALUES (208, '20', 'update_by', '更新人', 'varchar(64)', 'String', 'updateBy', '0', '0', NULL, '1', '1', NULL, NULL, 'EQ', 'input', '', 7, 'admin', '2022-11-17 10:37:45', '', '2022-11-17 14:05:37');
INSERT INTO `gen_table_column` VALUES (209, '20', 'update_time', '更新时间', 'datetime', 'Date', 'updateTime', '0', '0', NULL, '1', '1', NULL, NULL, 'EQ', 'datetime', '', 8, 'admin', '2022-11-17 10:37:45', '', '2022-11-17 14:05:37');
INSERT INTO `gen_table_column` VALUES (210, '20', 'delete_status', '是否删除', 'int(4)', 'Integer', 'deleteStatus', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'radio', '', 9, '', '2022-11-17 14:05:37', '', NULL);
INSERT INTO `gen_table_column` VALUES (211, '21', 'invoice_id', '发票id', 'bigint(20)', 'Long', 'invoiceId', '1', '1', NULL, '1', NULL, NULL, NULL, 'EQ', 'input', '', 1, 'admin', '2022-11-20 02:16:10', '', '2022-11-20 03:06:15');
INSERT INTO `gen_table_column` VALUES (212, '21', 'company_id', '公司id', 'bigint(20)', 'Long', 'companyId', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 2, 'admin', '2022-11-20 02:16:10', '', '2022-11-20 03:06:15');
INSERT INTO `gen_table_column` VALUES (214, '21', 'invoice_type', '发票类型(0:普通发票,1:增值税专用发票)', 'int(4)', 'Integer', 'invoiceType', '0', '0', '1', '1', '1', '1', '1', 'EQ', 'input', '', 4, 'admin', '2022-11-20 02:16:10', '', '2022-11-20 03:06:15');
INSERT INTO `gen_table_column` VALUES (215, '21', 'invoice_nature', '发票性质 (0:进项,1:出项)', 'int(4)', 'Integer', 'invoiceNature', '0', '0', '1', '1', '1', '1', '1', 'EQ', 'input', '', 5, 'admin', '2022-11-20 02:16:10', '', '2022-11-20 03:06:15');
INSERT INTO `gen_table_column` VALUES (216, '21', 'dep_name', '部门名称', 'varchar(20)', 'String', 'depName', '0', '0', NULL, '1', '1', '1', '1', 'LIKE', 'input', '', 6, 'admin', '2022-11-20 02:16:10', '', '2022-11-20 03:06:15');
INSERT INTO `gen_table_column` VALUES (217, '21', 'invoice_date', '发票日期', 'date', 'Date', 'invoiceDate', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'datetime', '', 7, 'admin', '2022-11-20 02:16:10', '', '2022-11-20 03:06:15');
INSERT INTO `gen_table_column` VALUES (218, '21', 'buy_name', '购买方名称', 'varchar(30)', 'String', 'buyName', '0', '0', NULL, '1', '1', '1', '1', 'LIKE', 'input', '', 8, 'admin', '2022-11-20 02:16:10', '', '2022-11-20 03:06:15');
INSERT INTO `gen_table_column` VALUES (219, '21', 'buy_taxpayer_no', '购买方纳税人识别号', 'varchar(50)', 'String', 'buyTaxpayerNo', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 9, 'admin', '2022-11-20 02:16:10', '', '2022-11-20 03:06:16');
INSERT INTO `gen_table_column` VALUES (220, '21', 'buy_address', '购买方地址', 'varchar(80)', 'String', 'buyAddress', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 10, 'admin', '2022-11-20 02:16:10', '', '2022-11-20 03:06:16');
INSERT INTO `gen_table_column` VALUES (221, '21', 'buy_phone', '购买方电话', 'varchar(3)', 'String', 'buyPhone', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 11, 'admin', '2022-11-20 02:16:10', '', '2022-11-20 03:06:16');
INSERT INTO `gen_table_column` VALUES (222, '21', 'buy_bank_deposit', '购买方开户行', 'varchar(80)', 'String', 'buyBankDeposit', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 12, 'admin', '2022-11-20 02:16:10', '', '2022-11-20 03:06:16');
INSERT INTO `gen_table_column` VALUES (223, '21', 'buy_bank_account', '购买方银行账号', 'varchar(50)', 'String', 'buyBankAccount', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 13, 'admin', '2022-11-20 02:16:10', '', '2022-11-20 03:06:16');
INSERT INTO `gen_table_column` VALUES (224, '21', 'applicant', '申请人', 'varchar(20)', 'String', 'applicant', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 14, 'admin', '2022-11-20 02:16:10', '', '2022-11-20 03:06:16');
INSERT INTO `gen_table_column` VALUES (225, '21', 'checker', '审核人', 'varchar(20)', 'String', 'checker', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 15, 'admin', '2022-11-20 02:16:10', '', '2022-11-20 03:06:16');
INSERT INTO `gen_table_column` VALUES (226, '21', 'project_or_invoice_no', '项目编号/发票号码', 'varchar(40)', 'String', 'projectOrInvoiceNo', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 16, 'admin', '2022-11-20 02:16:10', '', '2022-11-20 03:06:16');
INSERT INTO `gen_table_column` VALUES (227, '21', 'amount_sum', '合计金额', 'decimal(21,6)', 'BigDecimal', 'amountSum', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 17, 'admin', '2022-11-20 02:16:10', '', '2022-11-20 03:06:16');
INSERT INTO `gen_table_column` VALUES (228, '21', 'tax_sum', '合计税额', 'decimal(21,6)', 'BigDecimal', 'taxSum', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 18, 'admin', '2022-11-20 02:16:10', '', '2022-11-20 03:06:16');
INSERT INTO `gen_table_column` VALUES (229, '21', 'amount_tax_capital', '价税合计(大写)', 'varchar(30)', 'String', 'amountTaxCapital', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 19, 'admin', '2022-11-20 02:16:10', '', '2022-11-20 03:06:16');
INSERT INTO `gen_table_column` VALUES (230, '21', 'amount_tax_lower', '价税合计(小写)', 'decimal(21,6)', 'BigDecimal', 'amountTaxLower', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 20, 'admin', '2022-11-20 02:16:10', '', '2022-11-20 03:06:16');
INSERT INTO `gen_table_column` VALUES (231, '21', 'sale_name', '销售方名称', 'varchar(40)', 'String', 'saleName', '0', '0', NULL, '1', '1', '1', '1', 'LIKE', 'input', '', 21, 'admin', '2022-11-20 02:16:10', '', '2022-11-20 03:06:16');
INSERT INTO `gen_table_column` VALUES (232, '21', 'sale_taxpayer_no', '销售方纳税人识别号', 'varchar(50)', 'String', 'saleTaxpayerNo', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 22, 'admin', '2022-11-20 02:16:10', '', '2022-11-20 03:06:16');
INSERT INTO `gen_table_column` VALUES (233, '21', 'sale_address', '销售方地址', 'varchar(80)', 'String', 'saleAddress', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 23, 'admin', '2022-11-20 02:16:11', '', '2022-11-20 03:06:16');
INSERT INTO `gen_table_column` VALUES (234, '21', 'sale_phone', '销售方电话', 'varchar(50)', 'String', 'salePhone', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 24, 'admin', '2022-11-20 02:16:11', '', '2022-11-20 03:06:16');
INSERT INTO `gen_table_column` VALUES (235, '21', 'sale_bank_deposit', '销售方开户行', 'varchar(80)', 'String', 'saleBankDeposit', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 25, 'admin', '2022-11-20 02:16:11', '', '2022-11-20 03:06:16');
INSERT INTO `gen_table_column` VALUES (236, '21', 'sale_bank_account', '销售方银行账号', 'varchar(50)', 'String', 'saleBankAccount', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 26, 'admin', '2022-11-20 02:16:11', '', '2022-11-20 03:06:16');
INSERT INTO `gen_table_column` VALUES (237, '21', 'note', '备注', 'varchar(255)', 'String', 'note', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 27, 'admin', '2022-11-20 02:16:11', '', '2022-11-20 03:06:16');
INSERT INTO `gen_table_column` VALUES (238, '21', 'payee', '收款人', 'varchar(30)', 'String', 'payee', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 28, 'admin', '2022-11-20 02:16:11', '', '2022-11-20 03:06:16');
INSERT INTO `gen_table_column` VALUES (239, '21', 'reviewer', '复核人', 'varchar(30)', 'String', 'reviewer', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 29, 'admin', '2022-11-20 02:16:11', '', '2022-11-20 03:06:16');
INSERT INTO `gen_table_column` VALUES (240, '21', 'drawer', '开票人', 'varchar(30)', 'String', 'drawer', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 30, 'admin', '2022-11-20 02:16:11', '', '2022-11-20 03:06:16');
INSERT INTO `gen_table_column` VALUES (241, '21', 'create_by', '创建人', 'varchar(30)', 'String', 'createBy', '0', '0', NULL, '1', NULL, NULL, NULL, 'EQ', 'input', '', 31, 'admin', '2022-11-20 02:16:11', '', '2022-11-20 03:06:16');
INSERT INTO `gen_table_column` VALUES (242, '21', 'create_time', '创建时间', 'datetime', 'Date', 'createTime', '0', '0', NULL, '1', NULL, NULL, NULL, 'EQ', 'datetime', '', 32, 'admin', '2022-11-20 02:16:11', '', '2022-11-20 03:06:16');
INSERT INTO `gen_table_column` VALUES (243, '21', 'update_by', '更新人', 'varchar(30)', 'String', 'updateBy', '0', '0', NULL, '1', '1', NULL, NULL, 'EQ', 'input', '', 33, 'admin', '2022-11-20 02:16:11', '', '2022-11-20 03:06:16');
INSERT INTO `gen_table_column` VALUES (244, '21', 'update_time', '更新时间', 'datetime', 'Date', 'updateTime', '0', '0', NULL, '1', '1', NULL, NULL, 'EQ', 'datetime', '', 34, 'admin', '2022-11-20 02:16:11', '', '2022-11-20 03:06:16');
INSERT INTO `gen_table_column` VALUES (245, '22', 'invoice_item_id', '发票项id', 'bigint(20)', 'Long', 'invoiceItemId', '1', '1', NULL, '1', NULL, NULL, NULL, 'EQ', 'input', '', 1, 'admin', '2022-11-20 02:16:11', '', NULL);
INSERT INTO `gen_table_column` VALUES (246, '22', 'invoice_id', '发票id', 'bigint(20)', 'Long', 'invoiceId', '0', '0', '1', '1', '1', '1', '1', 'EQ', 'input', '', 2, 'admin', '2022-11-20 02:16:11', '', NULL);
INSERT INTO `gen_table_column` VALUES (247, '22', 'object_name', '货物或应税劳务、服务名称', 'varchar(40)', 'String', 'objectName', '0', '0', NULL, '1', '1', '1', '1', 'LIKE', 'input', '', 3, 'admin', '2022-11-20 02:16:11', '', NULL);
INSERT INTO `gen_table_column` VALUES (248, '22', 'specs', '规格型号', 'varchar(40)', 'String', 'specs', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 4, 'admin', '2022-11-20 02:16:11', '', NULL);
INSERT INTO `gen_table_column` VALUES (249, '22', 'unit', '单位', 'varchar(20)', 'String', 'unit', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 5, 'admin', '2022-11-20 02:16:11', '', NULL);
INSERT INTO `gen_table_column` VALUES (250, '22', 'quantity', '数量', 'decimal(21,6)', 'BigDecimal', 'quantity', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 6, 'admin', '2022-11-20 02:16:11', '', NULL);
INSERT INTO `gen_table_column` VALUES (251, '22', 'unit_price_tax', '单价(含税)', 'decimal(21,6)', 'BigDecimal', 'unitPriceTax', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 7, 'admin', '2022-11-20 02:16:11', '', NULL);
INSERT INTO `gen_table_column` VALUES (252, '22', 'amount_no_tax', '金额(不含税)', 'decimal(21,6)', 'BigDecimal', 'amountNoTax', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 8, 'admin', '2022-11-20 02:16:11', '', NULL);
INSERT INTO `gen_table_column` VALUES (253, '22', 'tax_rate', '税率', 'decimal(5,3)', 'BigDecimal', 'taxRate', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 9, 'admin', '2022-11-20 02:16:11', '', NULL);
INSERT INTO `gen_table_column` VALUES (254, '22', 'tax_amount', '税额', 'decimal(21,6)', 'BigDecimal', 'taxAmount', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 10, 'admin', '2022-11-20 02:16:11', '', NULL);
INSERT INTO `gen_table_column` VALUES (255, '22', 'create_by', '创建人', 'varchar(30)', 'String', 'createBy', '0', '0', NULL, '1', NULL, NULL, NULL, 'EQ', 'input', '', 11, 'admin', '2022-11-20 02:16:11', '', NULL);
INSERT INTO `gen_table_column` VALUES (256, '22', 'create_time', '创建时间', 'datetime', 'Date', 'createTime', '0', '0', NULL, '1', NULL, NULL, NULL, 'EQ', 'datetime', '', 12, 'admin', '2022-11-20 02:16:11', '', NULL);
INSERT INTO `gen_table_column` VALUES (257, '22', 'update_by', '更新人', 'varchar(30)', 'String', 'updateBy', '0', '0', NULL, '1', '1', NULL, NULL, 'EQ', 'input', '', 13, 'admin', '2022-11-20 02:16:11', '', NULL);
INSERT INTO `gen_table_column` VALUES (258, '22', 'update_time', '更新时间', 'datetime', 'Date', 'updateTime', '0', '0', NULL, '1', '1', NULL, NULL, 'EQ', 'datetime', '', 14, 'admin', '2022-11-20 02:16:11', '', NULL);
INSERT INTO `gen_table_column` VALUES (259, '21', 'company_name', '公司名称', 'varchar(40)', 'String', 'companyName', '0', '0', NULL, '1', '1', '1', '1', 'LIKE', 'input', '', 3, '', '2022-11-20 02:27:35', '', '2022-11-20 03:06:15');
-- ----------------------------
-- Table structure for sys_config
......@@ -2570,12 +2620,12 @@ CREATE TABLE `sys_config` (
`config_value` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '参数键值',
`config_type` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 'N' COMMENT '系统内置(Y是 N否)',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者',
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者',
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`config_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 100 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '参数配置表' ROW_FORMAT = Dynamic;
) ENGINE = InnoDB AUTO_INCREMENT = 6 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '参数配置表' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of sys_config
......@@ -2602,11 +2652,11 @@ CREATE TABLE `sys_dept` (
`status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '部门状态(0正常 1停用)',
`del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者',
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者',
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`dept_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 201 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '部门表' ROW_FORMAT = Dynamic;
) ENGINE = InnoDB AUTO_INCREMENT = 201 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '部门表' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of sys_dept
......@@ -2638,12 +2688,12 @@ CREATE TABLE `sys_dict_data` (
`is_default` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 'N' COMMENT '是否默认(Y是 N否)',
`status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '状态(0正常 1停用)',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者',
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者',
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`dict_code`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 102 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '字典数据表' ROW_FORMAT = Dynamic;
) ENGINE = InnoDB AUTO_INCREMENT = 102 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '字典数据表' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of sys_dict_data
......@@ -2690,13 +2740,13 @@ CREATE TABLE `sys_dict_type` (
`dict_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '字典类型',
`status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '状态(0正常 1停用)',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者',
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者',
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`dict_id`) USING BTREE,
UNIQUE INDEX `dict_type`(`dict_type`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 101 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '字典类型表' ROW_FORMAT = Dynamic;
) ENGINE = InnoDB AUTO_INCREMENT = 101 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '字典类型表' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of sys_dict_type
......@@ -2727,12 +2777,12 @@ CREATE TABLE `sys_job` (
`concurrent` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '1' COMMENT '是否并发执行(0允许 1禁止)',
`status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '状态(0正常 1暂停)',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者',
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者',
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '备注信息',
PRIMARY KEY (`job_id`, `job_name`, `job_group`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 100 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '定时任务调度表' ROW_FORMAT = Dynamic;
) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '定时任务调度表' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of sys_job
......@@ -2753,9 +2803,9 @@ CREATE TABLE `sys_job_log` (
`job_message` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '日志信息',
`status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '执行状态(0正常 1失败)',
`exception_info` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '异常信息',
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
PRIMARY KEY (`job_log_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '定时任务调度日志表' ROW_FORMAT = Dynamic;
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '定时任务调度日志表' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of sys_job_log
......@@ -2774,9 +2824,9 @@ CREATE TABLE `sys_logininfor` (
`os` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '操作系统',
`status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '登录状态(0成功 1失败)',
`msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '提示消息',
`login_time` datetime(0) NULL DEFAULT NULL COMMENT '访问时间',
`login_time` datetime NULL DEFAULT NULL COMMENT '访问时间',
PRIMARY KEY (`info_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 134 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统访问记录' ROW_FORMAT = Dynamic;
) ENGINE = InnoDB AUTO_INCREMENT = 137 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统访问记录' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of sys_logininfor
......@@ -2815,6 +2865,9 @@ INSERT INTO `sys_logininfor` VALUES (130, 'admin', '127.0.0.1', '内网IP', 'Chr
INSERT INTO `sys_logininfor` VALUES (131, 'admin', '127.0.0.1', '内网IP', 'Chrome 10', 'Windows 10', '0', '登录成功', '2022-11-18 09:10:19');
INSERT INTO `sys_logininfor` VALUES (132, 'admin', '127.0.0.1', '内网IP', 'Chrome 10', 'Windows 10', '0', '登录成功', '2022-11-18 10:09:33');
INSERT INTO `sys_logininfor` VALUES (133, 'admin', '127.0.0.1', '内网IP', 'Chrome 10', 'Windows 10', '0', '登录成功', '2022-11-18 14:50:31');
INSERT INTO `sys_logininfor` VALUES (134, 'admin', '127.0.0.1', '内网IP', 'Chrome 10', 'Windows 10', '0', '登录成功', '2022-11-20 02:15:37');
INSERT INTO `sys_logininfor` VALUES (135, 'admin', '127.0.0.1', '内网IP', 'Chrome 10', 'Windows 10', '0', '登录成功', '2022-11-20 06:24:54');
INSERT INTO `sys_logininfor` VALUES (136, 'admin', '127.0.0.1', '内网IP', 'Chrome 10', 'Windows 10', '0', '登录成功', '2022-11-20 07:28:40');
-- ----------------------------
-- Table structure for sys_menu
......@@ -2836,12 +2889,12 @@ CREATE TABLE `sys_menu` (
`perms` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '权限标识',
`icon` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '#' COMMENT '菜单图标',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者',
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者',
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '备注',
PRIMARY KEY (`menu_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 2022 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '菜单权限表' ROW_FORMAT = Dynamic;
) ENGINE = InnoDB AUTO_INCREMENT = 2028 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '菜单权限表' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of sys_menu
......@@ -2950,7 +3003,13 @@ INSERT INTO `sys_menu` VALUES (2017, '科目类别新增', 2015, 2, '#', '', NUL
INSERT INTO `sys_menu` VALUES (2018, '科目类别修改', 2015, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'finance:subjectType:edit', '#', 'admin', '2022-11-17 11:56:57', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2019, '科目类别删除', 2015, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'finance:subjectType:remove', '#', 'admin', '2022-11-17 11:56:57', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2020, '科目类别导出', 2015, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'finance:subjectType:export', '#', 'admin', '2022-11-17 11:56:57', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2021, '发票通知管理', 2000, 2, 'invoice', 'finance/invoice/index', NULL, 1, 0, 'C', '0', '0', 'invoice', 'button', 'admin', '2022-11-18 08:49:45', 'admin', '2022-11-18 08:50:04', '');
INSERT INTO `sys_menu` VALUES (2021, '发票通知管理', 2000, 2, 'invoice2', 'finance/invoice/index2', NULL, 1, 0, 'C', '0', '0', 'invoice', 'button', 'admin', '2022-11-18 08:49:45', 'admin', '2022-11-18 08:50:04', '');
INSERT INTO `sys_menu` VALUES (2022, '发票', 2000, 1, 'invoice', 'finance/invoice/index', NULL, 1, 0, 'C', '0', '0', 'finance:invoice:list', '#', 'admin', '2022-11-20 02:35:00', '', NULL, '发票菜单');
INSERT INTO `sys_menu` VALUES (2023, '发票查询', 2022, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'finance:invoice:query', '#', 'admin', '2022-11-20 02:35:01', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2024, '发票新增', 2022, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'finance:invoice:add', '#', 'admin', '2022-11-20 02:35:01', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2025, '发票修改', 2022, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'finance:invoice:edit', '#', 'admin', '2022-11-20 02:35:01', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2026, '发票删除', 2022, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'finance:invoice:remove', '#', 'admin', '2022-11-20 02:35:01', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2027, '发票导出', 2022, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'finance:invoice:export', '#', 'admin', '2022-11-20 02:35:01', '', NULL, '');
-- ----------------------------
-- Table structure for sys_notice
......@@ -2963,12 +3022,12 @@ CREATE TABLE `sys_notice` (
`notice_content` longblob NULL COMMENT '公告内容',
`status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '公告状态(0正常 1关闭)',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者',
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者',
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`notice_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 10 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '通知公告表' ROW_FORMAT = Dynamic;
) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '通知公告表' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of sys_notice
......@@ -2996,9 +3055,9 @@ CREATE TABLE `sys_oper_log` (
`json_result` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '返回参数',
`status` int(1) NULL DEFAULT 0 COMMENT '操作状态(0正常 1异常)',
`error_msg` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '错误消息',
`oper_time` datetime(0) NULL DEFAULT NULL COMMENT '操作时间',
`oper_time` datetime NULL DEFAULT NULL COMMENT '操作时间',
PRIMARY KEY (`oper_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 197 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '操作日志记录' ROW_FORMAT = Dynamic;
) ENGINE = InnoDB AUTO_INCREMENT = 202 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '操作日志记录' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of sys_oper_log
......@@ -3100,6 +3159,11 @@ INSERT INTO `sys_oper_log` VALUES (193, '科目类别', 1, 'com.ruoyi.web.contro
INSERT INTO `sys_oper_log` VALUES (194, '科目类别', 1, 'com.ruoyi.web.controller.finance.FncSubjectTypeController.add()', 'POST', 1, 'admin', NULL, '/finance/subjectType/add', '127.0.0.1', '内网IP', '{\"createBy\":\"admin\",\"createTime\":\"2022-11-18T08:51:05.605+08:00\",\"deleteStatus\":1,\"params\":{},\"parentId\":4,\"subjectTypeId\":6,\"subjectTypeName\":\"流动资产\",\"updateBy\":\"admin\",\"updateTime\":\"2022-11-18T08:51:05.605+08:00\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2022-11-18 08:51:05');
INSERT INTO `sys_oper_log` VALUES (195, '科目类别', 1, 'com.ruoyi.web.controller.finance.FncSubjectTypeController.add()', 'POST', 1, 'admin', NULL, '/finance/subjectType/add', '127.0.0.1', '内网IP', '{\"createBy\":\"admin\",\"createTime\":\"2022-11-18T08:51:16.855+08:00\",\"deleteStatus\":1,\"params\":{},\"parentId\":4,\"subjectTypeId\":7,\"subjectTypeName\":\"非流动资产\",\"updateBy\":\"admin\",\"updateTime\":\"2022-11-18T08:51:16.855+08:00\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2022-11-18 08:51:16');
INSERT INTO `sys_oper_log` VALUES (196, '科目类别', 1, 'com.ruoyi.web.controller.finance.FncSubjectTypeController.add()', 'POST', 1, 'admin', NULL, '/finance/subjectType/add', '127.0.0.1', '内网IP', '{\"createBy\":\"admin\",\"createTime\":\"2022-11-18T08:51:28.003+08:00\",\"deleteStatus\":1,\"params\":{},\"parentId\":5,\"subjectTypeId\":8,\"subjectTypeName\":\"流动负债\",\"updateBy\":\"admin\",\"updateTime\":\"2022-11-18T08:51:28.003+08:00\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2022-11-18 08:51:28');
INSERT INTO `sys_oper_log` VALUES (197, '代码生成', 6, 'com.ruoyi.generator.controller.GenController.importTableSave()', 'POST', 1, 'admin', NULL, '/tool/gen/importTable', '127.0.0.1', '内网IP', '\"fnc_invoice,fnc_invoice_item\"', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2022-11-20 02:16:11');
INSERT INTO `sys_oper_log` VALUES (198, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.synchDb()', 'GET', 1, 'admin', NULL, '/tool/gen/synchDb/fnc_invoice', '127.0.0.1', '内网IP', '{tableName=fnc_invoice}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2022-11-20 02:27:35');
INSERT INTO `sys_oper_log` VALUES (199, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.editSave()', 'PUT', 1, 'admin', NULL, '/tool/gen', '127.0.0.1', '内网IP', '{\"businessName\":\"invoice\",\"className\":\"FncInvoice\",\"columns\":[{\"capJavaField\":\"InvoiceId\",\"columnComment\":\"发票id\",\"columnId\":211,\"columnName\":\"invoice_id\",\"columnType\":\"bigint(20)\",\"createBy\":\"admin\",\"createTime\":\"2022-11-20 02:16:10\",\"dictType\":\"\",\"edit\":false,\"htmlType\":\"input\",\"increment\":true,\"insert\":true,\"isIncrement\":\"1\",\"isInsert\":\"1\",\"isPk\":\"1\",\"javaField\":\"invoiceId\",\"javaType\":\"Long\",\"list\":false,\"params\":{},\"pk\":true,\"query\":false,\"queryType\":\"EQ\",\"required\":false,\"sort\":1,\"superColumn\":false,\"tableId\":21,\"updateBy\":\"\",\"updateTime\":\"2022-11-20 02:27:35\",\"usableColumn\":false},{\"capJavaField\":\"CompanyId\",\"columnComment\":\"公司id\",\"columnId\":212,\"columnName\":\"company_id\",\"columnType\":\"bigint(20)\",\"createBy\":\"admin\",\"createTime\":\"2022-11-20 02:16:10\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"1\",\"javaField\":\"companyId\",\"javaType\":\"Long\",\"list\":true,\"params\":{},\"pk\":false,\"query\":true,\"queryType\":\"EQ\",\"required\":false,\"sort\":2,\"superColumn\":false,\"tableId\":21,\"updateBy\":\"\",\"updateTime\":\"2022-11-20 02:27:35\",\"usableColumn\":false},{\"capJavaField\":\"CompanyName\",\"columnComment\":\"公司名称\",\"columnId\":259,\"columnName\":\"company_name\",\"columnType\":\"varchar(40)\",\"createBy\":\"\",\"createTime\":\"2022-11-20 02:27:35\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"1\",\"javaField\":\"companyName\",\"javaType\":\"String\",\"list\":true,\"params\":{},\"pk\":false,\"query\":true,\"queryType\":\"LIKE\",\"required\":false,\"sort\":3,\"superColumn\":false,\"tableId\":21,\"updateBy\":\"\",\"usableColumn\":false},{\"capJavaField\":\"InvoiceType\",\"columnComment\":\"发票类型(0:普通发票,1:增值税专用发票)\",\"columnId\":214,\"columnName\":\"invoice_type\",\"columnType\":\"int(4)\",\"createBy\":\"admin\",\"createTime\":\"2022-11-20 02:16:10\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"select\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2022-11-20 02:37:40');
INSERT INTO `sys_oper_log` VALUES (200, '代码生成', 8, 'com.ruoyi.generator.controller.GenController.batchGenCode()', 'GET', 1, 'admin', NULL, '/tool/gen/batchGenCode', '127.0.0.1', '内网IP', '{}', NULL, 0, NULL, '2022-11-20 02:38:30');
INSERT INTO `sys_oper_log` VALUES (201, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.editSave()', 'PUT', 1, 'admin', NULL, '/tool/gen', '127.0.0.1', '内网IP', '{\"businessName\":\"invoice\",\"className\":\"FncInvoice\",\"columns\":[{\"capJavaField\":\"InvoiceId\",\"columnComment\":\"发票id\",\"columnId\":211,\"columnName\":\"invoice_id\",\"columnType\":\"bigint(20)\",\"createBy\":\"admin\",\"createTime\":\"2022-11-20 02:16:10\",\"dictType\":\"\",\"edit\":false,\"htmlType\":\"input\",\"increment\":true,\"insert\":true,\"isIncrement\":\"1\",\"isInsert\":\"1\",\"isPk\":\"1\",\"javaField\":\"invoiceId\",\"javaType\":\"Long\",\"list\":false,\"params\":{},\"pk\":true,\"query\":false,\"queryType\":\"EQ\",\"required\":false,\"sort\":1,\"superColumn\":false,\"tableId\":21,\"updateBy\":\"\",\"updateTime\":\"2022-11-20 02:37:40\",\"usableColumn\":false},{\"capJavaField\":\"CompanyId\",\"columnComment\":\"公司id\",\"columnId\":212,\"columnName\":\"company_id\",\"columnType\":\"bigint(20)\",\"createBy\":\"admin\",\"createTime\":\"2022-11-20 02:16:10\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"1\",\"javaField\":\"companyId\",\"javaType\":\"Long\",\"list\":true,\"params\":{},\"pk\":false,\"query\":true,\"queryType\":\"EQ\",\"required\":false,\"sort\":2,\"superColumn\":false,\"tableId\":21,\"updateBy\":\"\",\"updateTime\":\"2022-11-20 02:37:40\",\"usableColumn\":false},{\"capJavaField\":\"CompanyName\",\"columnComment\":\"公司名称\",\"columnId\":259,\"columnName\":\"company_name\",\"columnType\":\"varchar(40)\",\"createBy\":\"\",\"createTime\":\"2022-11-20 02:27:35\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"1\",\"javaField\":\"companyName\",\"javaType\":\"String\",\"list\":true,\"params\":{},\"pk\":false,\"query\":true,\"queryType\":\"LIKE\",\"required\":false,\"sort\":3,\"superColumn\":false,\"tableId\":21,\"updateBy\":\"\",\"updateTime\":\"2022-11-20 02:37:40\",\"usableColumn\":false},{\"capJavaField\":\"InvoiceType\",\"columnComment\":\"发票类型(0:普通发票,1:增值税专用发票)\",\"columnId\":214,\"columnName\":\"invoice_type\",\"columnType\":\"int(4)\",\"createBy\":\"admin\",\"createTime\":\"2022-11-20 02:16:10\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\"', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2022-11-20 03:06:16');
-- ----------------------------
-- Table structure for sys_post
......@@ -3112,12 +3176,12 @@ CREATE TABLE `sys_post` (
`post_sort` int(4) NOT NULL COMMENT '显示顺序',
`status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '状态(0正常 1停用)',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者',
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者',
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`post_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '岗位信息表' ROW_FORMAT = Dynamic;
) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '岗位信息表' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of sys_post
......@@ -3142,12 +3206,12 @@ CREATE TABLE `sys_role` (
`status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '角色状态(0正常 1停用)',
`del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者',
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者',
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`role_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 100 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '角色信息表' ROW_FORMAT = Dynamic;
) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '角色信息表' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of sys_role
......@@ -3163,7 +3227,7 @@ CREATE TABLE `sys_role_dept` (
`role_id` bigint(20) NOT NULL COMMENT '角色ID',
`dept_id` bigint(20) NOT NULL COMMENT '部门ID',
PRIMARY KEY (`role_id`, `dept_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '角色和部门关联表' ROW_FORMAT = Dynamic;
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '角色和部门关联表' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of sys_role_dept
......@@ -3180,7 +3244,7 @@ CREATE TABLE `sys_role_menu` (
`role_id` bigint(20) NOT NULL COMMENT '角色ID',
`menu_id` bigint(20) NOT NULL COMMENT '菜单ID',
PRIMARY KEY (`role_id`, `menu_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '角色和菜单关联表' ROW_FORMAT = Dynamic;
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '角色和菜单关联表' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of sys_role_menu
......@@ -3293,19 +3357,19 @@ CREATE TABLE `sys_user` (
`status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '帐号状态(0正常 1停用)',
`del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)',
`login_ip` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '最后登录IP',
`login_date` datetime(0) NULL DEFAULT NULL COMMENT '最后登录时间',
`login_date` datetime NULL DEFAULT NULL COMMENT '最后登录时间',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者',
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者',
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`user_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 100 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户信息表' ROW_FORMAT = Dynamic;
) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户信息表' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of sys_user
-- ----------------------------
INSERT INTO `sys_user` VALUES (1, 103, 'admin', '若依', '00', 'ry@163.com', '15888888888', '1', '/profile/avatar/2022/11/16/blob_20221116131804A001.png', '$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2', '0', '0', '127.0.0.1', '2022-11-18 14:50:31', 'admin', '2022-11-16 09:26:25', '', '2022-11-18 14:50:31', '管理员');
INSERT INTO `sys_user` VALUES (1, 103, 'admin', '若依', '00', 'ry@163.com', '15888888888', '1', '/profile/avatar/2022/11/16/blob_20221116131804A001.png', '$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2', '0', '0', '127.0.0.1', '2022-11-20 15:28:41', 'admin', '2022-11-16 09:26:25', '', '2022-11-20 07:28:40', '管理员');
INSERT INTO `sys_user` VALUES (2, 105, 'ry', '若依', '00', 'ry@qq.com', '15666666666', '1', '', '$2a$10$72XZlIXBNHqFzVMZlzMp7etQzpbmlM22MW1VWNw5q..el.zHjYtT6', '0', '0', '127.0.0.1', '2022-11-16 13:30:08', 'admin', '2022-11-16 09:26:25', 'admin', '2022-11-16 13:30:07', '测试员');
-- ----------------------------
......@@ -3316,7 +3380,7 @@ CREATE TABLE `sys_user_post` (
`user_id` bigint(20) NOT NULL COMMENT '用户ID',
`post_id` bigint(20) NOT NULL COMMENT '岗位ID',
PRIMARY KEY (`user_id`, `post_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户与岗位关联表' ROW_FORMAT = Dynamic;
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户与岗位关联表' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of sys_user_post
......@@ -3332,7 +3396,7 @@ CREATE TABLE `sys_user_role` (
`user_id` bigint(20) NOT NULL COMMENT '用户ID',
`role_id` bigint(20) NOT NULL COMMENT '角色ID',
PRIMARY KEY (`user_id`, `role_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户和角色关联表' ROW_FORMAT = Dynamic;
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户和角色关联表' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of sys_user_role
......
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