Browse Source

[feat]财务管理:

国税发票
新增国税发票数据库表
新增国税发票Controller
新增国税发票domain
新增国税发票Mapper
新增国税发票Mapper.xml
新增国税发票Service
新增国税发票ServiceImpl
新增开始品质页面taxInvoice.html
dev
liuxiaoxu 6 months ago
parent
commit
dfca1a3fd3
  1. 151
      ruoyi-admin/src/main/java/com/ruoyi/financial/controller/FinancialTaxInvoiceController.java
  2. 604
      ruoyi-admin/src/main/java/com/ruoyi/financial/domain/FinancialTaxInvoice.java
  3. 77
      ruoyi-admin/src/main/java/com/ruoyi/financial/mapper/FinancialTaxInvoiceMapper.java
  4. 75
      ruoyi-admin/src/main/java/com/ruoyi/financial/service/IFinancialTaxInvoiceService.java
  5. 126
      ruoyi-admin/src/main/java/com/ruoyi/financial/service/impl/FinancialTaxInvoiceServiceImpl.java
  6. 255
      ruoyi-admin/src/main/resources/mapper/financial/FinancialTaxInvoiceMapper.xml
  7. 305
      ruoyi-admin/src/main/resources/templates/financial/taxInvoice/add.html
  8. 300
      ruoyi-admin/src/main/resources/templates/financial/taxInvoice/edit.html
  9. 282
      ruoyi-admin/src/main/resources/templates/financial/taxInvoice/taxInvoice.html

151
ruoyi-admin/src/main/java/com/ruoyi/financial/controller/FinancialTaxInvoiceController.java

@ -0,0 +1,151 @@
package com.ruoyi.financial.controller;
import java.util.List;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.financial.domain.FinancialTaxInvoice;
import com.ruoyi.financial.service.IFinancialTaxInvoiceService;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
/**
* 国税发票Controller
*
* @author 刘晓旭
* @date 2024-08-12
*/
@Controller
@RequestMapping("/financial/taxInvoice")
public class FinancialTaxInvoiceController extends BaseController
{
private String prefix = "financial/taxInvoice";
@Autowired
private IFinancialTaxInvoiceService financialTaxInvoiceService;
@RequiresPermissions("financial:taxInvoice:view")
@GetMapping()
public String taxInvoice()
{
return prefix + "/taxInvoice";
}
/**
* 查询国税发票列表
*/
@RequiresPermissions("financial:taxInvoice:list")
@PostMapping("/list")
@ResponseBody
public TableDataInfo list(FinancialTaxInvoice financialTaxInvoice)
{
startPage();
List<FinancialTaxInvoice> list = financialTaxInvoiceService.selectFinancialTaxInvoiceList(financialTaxInvoice);
return getDataTable(list);
}
/**
* 导出国税发票列表
*/
@RequiresPermissions("financial:taxInvoice:export")
@Log(title = "国税发票", businessType = BusinessType.EXPORT)
@PostMapping("/export")
@ResponseBody
public AjaxResult export(FinancialTaxInvoice financialTaxInvoice)
{
List<FinancialTaxInvoice> list = financialTaxInvoiceService.selectFinancialTaxInvoiceList(financialTaxInvoice);
ExcelUtil<FinancialTaxInvoice> util = new ExcelUtil<FinancialTaxInvoice>(FinancialTaxInvoice.class);
return util.exportExcel(list, "国税发票数据");
}
/**
* 新增国税发票
*/
@GetMapping("/add")
public String add()
{
return prefix + "/add";
}
/**
* 新增保存国税发票
*/
@RequiresPermissions("financial:taxInvoice:add")
@Log(title = "国税发票", businessType = BusinessType.INSERT)
@PostMapping("/add")
@ResponseBody
public AjaxResult addSave(FinancialTaxInvoice financialTaxInvoice)
{
return toAjax(financialTaxInvoiceService.insertFinancialTaxInvoice(financialTaxInvoice));
}
/**
* 修改国税发票
*/
@GetMapping("/edit/{taxInvoiceId}")
public String edit(@PathVariable("taxInvoiceId") Long taxInvoiceId, ModelMap mmap)
{
FinancialTaxInvoice financialTaxInvoice = financialTaxInvoiceService.selectFinancialTaxInvoiceById(taxInvoiceId);
mmap.put("financialTaxInvoice", financialTaxInvoice);
return prefix + "/edit";
}
/**
* 修改保存国税发票
*/
@RequiresPermissions("financial:taxInvoice:edit")
@Log(title = "国税发票", businessType = BusinessType.UPDATE)
@PostMapping("/edit")
@ResponseBody
public AjaxResult editSave(FinancialTaxInvoice financialTaxInvoice)
{
return toAjax(financialTaxInvoiceService.updateFinancialTaxInvoice(financialTaxInvoice));
}
/**
* 删除国税发票
*/
@RequiresPermissions("financial:taxInvoice:remove")
@Log(title = "国税发票", businessType = BusinessType.DELETE)
@PostMapping( "/remove")
@ResponseBody
public AjaxResult remove(String ids)
{
return toAjax(financialTaxInvoiceService.deleteFinancialTaxInvoiceByIds(ids));
}
/**
* 作废国税发票
*/
@RequiresPermissions("financial:taxInvoice:cancel")
@Log(title = "国税发票", businessType = BusinessType.CANCEL)
@GetMapping( "/cancel/{id}")
@ResponseBody
public AjaxResult cancel(@PathVariable("id") Long id){
return toAjax(financialTaxInvoiceService.cancelFinancialTaxInvoiceById(id));
}
/**
* 恢复国税发票
*/
@RequiresPermissions("financial:taxInvoice:restore")
@Log(title = "国税发票", businessType = BusinessType.RESTORE)
@GetMapping( "/restore/{id}")
@ResponseBody
public AjaxResult restore(@PathVariable("id")Long id)
{
return toAjax(financialTaxInvoiceService.restoreFinancialTaxInvoiceById(id));
}
}

604
ruoyi-admin/src/main/java/com/ruoyi/financial/domain/FinancialTaxInvoice.java

@ -0,0 +1,604 @@
package com.ruoyi.financial.domain;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
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;
/**
* 国税发票对象 financial_tax_invoice
*
* @author 刘晓旭
* @date 2024-08-12
*/
public class FinancialTaxInvoice extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 国税发票id */
private Long taxInvoiceId;
/** 国税发票单号 */
@Excel(name = "国税发票单号")
private String taxInvoiceCode;
/** 发票状态(0待审核、1待开具、2已开具、3审核拒绝) */
@Excel(name = "发票状态(0待审核、1待开具、2已开具、3审核拒绝)")
private String taxInvoiceStatus;
/** 使用状态(1是、0否、2已作废) */
private String useStatus;
/** 销售订单编号 */
private String salesOrderCode;
/** 客户订单号码 */
private String salesOrderNumber;
/** 订单类型(0客户订单、1研发订单、2其他订单) */
private String salesOrderType;
/** 发票类型(0电子发票、1纸制发票) */
@Excel(name = "发票类型(0电子发票、1纸制发票)")
private String taxInvoiceType;
/** 发票种类(0专票、1普票) */
@Excel(name = "发票种类(0专票、1普票)")
private String taxInvoiceClass;
/** 发票抬头(0企业、1其他) */
@Excel(name = "发票抬头(0企业、1其他)")
private String taxInvoiceTitle;
/** 业务人员 */
private String businessMembers;
/** 申请人 */
@Excel(name = "申请人")
private String applyUser;
/** 客户代码/ID */
@Excel(name = "客户代码/ID")
private String enterpriseCode;
/** 客户名称 */
@Excel(name = "客户名称")
private String enterpriseName;
/** 联系电话 */
private String contactNumber;
/** 公司地址 */
private String enterpriseAddress;
/** 币种(1RMB、2美元) */
@Excel(name = "币种(1RMB、2美元)")
private String commonCurrency;
/** 开票公司名称 */
private String invoiceCompanyName;
/** 开票公司税号 */
private String invoiceCompanyCode;
/** 公司开户行 */
private String depositBank;
/** 公司开户账号 */
private String bankAccount;
/** 税率 */
private BigDecimal taxRate;
/** 美元汇率 */
private BigDecimal usdTax;
/** 物料数合计 */
@Excel(name = "物料数合计")
private String materialSum;
/** 数量合计 */
@Excel(name = "数量合计")
private String enterpriseSum;
/** 不含税总价(RMB) */
@Excel(name = "不含税总价(RMB)")
private BigDecimal noRmbSum;
/** 含税总价(RMB) */
@Excel(name = "含税总价(RMB)")
private BigDecimal rmbTaxSum;
/** 不含税总价(美元) */
@Excel(name = "不含税总价(美元)")
private BigDecimal noUsdSum;
/** 含税总价(美元) */
@Excel(name = "含税总价(美元)")
private BigDecimal usdTaxSum;
/** 邮箱 */
@Excel(name = "邮箱")
private String invoiceEmail;
/** 开票额度比例 */
@Excel(name = "开票额度比例")
private BigDecimal invoiceQuotaRatio;
/** 开票金额 */
private BigDecimal invoiceAmount;
/** 实际开票金额 */
@Excel(name = "实际开票金额")
private BigDecimal actualInvoiceAmount;
/** 实际开票金额(RMB) */
@Excel(name = "实际开票金额(RMB)")
private BigDecimal actualInvoiceAmountRmb;
/** 实际开票金额(美元) */
@Excel(name = "实际开票金额(美元)")
private BigDecimal actualInvoiceAmountUsd;
/** 开票用途 */
@Excel(name = "开票用途")
private String invoicePurpose;
/** 业务备注 */
@Excel(name = "业务备注")
private String businessRemark;
/** 发票备注 */
private String invoiceRemark;
/** 开票日期 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "开票日期", width = 30, dateFormat = "yyyy-MM-dd")
private Date invoiceData;
/** 发票代码 */
@Excel(name = "发票代码")
private String invoiceCode;
/** 发票号码 */
@Excel(name = "发票号码")
private String invoicePhone;
/** 删除标志 0正常 1删除 */
private String delFlag;
public void setTaxInvoiceId(Long taxInvoiceId)
{
this.taxInvoiceId = taxInvoiceId;
}
public Long getTaxInvoiceId()
{
return taxInvoiceId;
}
public void setTaxInvoiceCode(String taxInvoiceCode)
{
this.taxInvoiceCode = taxInvoiceCode;
}
public String getTaxInvoiceCode()
{
return taxInvoiceCode;
}
public void setTaxInvoiceStatus(String taxInvoiceStatus)
{
this.taxInvoiceStatus = taxInvoiceStatus;
}
public String getTaxInvoiceStatus()
{
return taxInvoiceStatus;
}
public void setUseStatus(String useStatus)
{
this.useStatus = useStatus;
}
public String getUseStatus()
{
return useStatus;
}
public void setSalesOrderCode(String salesOrderCode)
{
this.salesOrderCode = salesOrderCode;
}
public String getSalesOrderCode()
{
return salesOrderCode;
}
public void setSalesOrderNumber(String salesOrderNumber)
{
this.salesOrderNumber = salesOrderNumber;
}
public String getSalesOrderNumber()
{
return salesOrderNumber;
}
public void setSalesOrderType(String salesOrderType)
{
this.salesOrderType = salesOrderType;
}
public String getSalesOrderType()
{
return salesOrderType;
}
public void setTaxInvoiceType(String taxInvoiceType)
{
this.taxInvoiceType = taxInvoiceType;
}
public String getTaxInvoiceType()
{
return taxInvoiceType;
}
public void setTaxInvoiceClass(String taxInvoiceClass)
{
this.taxInvoiceClass = taxInvoiceClass;
}
public String getTaxInvoiceClass()
{
return taxInvoiceClass;
}
public void setTaxInvoiceTitle(String taxInvoiceTitle)
{
this.taxInvoiceTitle = taxInvoiceTitle;
}
public String getTaxInvoiceTitle()
{
return taxInvoiceTitle;
}
public void setBusinessMembers(String businessMembers)
{
this.businessMembers = businessMembers;
}
public String getBusinessMembers()
{
return businessMembers;
}
public void setApplyUser(String applyUser)
{
this.applyUser = applyUser;
}
public String getApplyUser()
{
return applyUser;
}
public void setEnterpriseCode(String enterpriseCode)
{
this.enterpriseCode = enterpriseCode;
}
public String getEnterpriseCode()
{
return enterpriseCode;
}
public void setEnterpriseName(String enterpriseName)
{
this.enterpriseName = enterpriseName;
}
public String getEnterpriseName()
{
return enterpriseName;
}
public void setContactNumber(String contactNumber)
{
this.contactNumber = contactNumber;
}
public String getContactNumber()
{
return contactNumber;
}
public void setEnterpriseAddress(String enterpriseAddress)
{
this.enterpriseAddress = enterpriseAddress;
}
public String getEnterpriseAddress()
{
return enterpriseAddress;
}
public void setCommonCurrency(String commonCurrency)
{
this.commonCurrency = commonCurrency;
}
public String getCommonCurrency()
{
return commonCurrency;
}
public void setInvoiceCompanyName(String invoiceCompanyName)
{
this.invoiceCompanyName = invoiceCompanyName;
}
public String getInvoiceCompanyName()
{
return invoiceCompanyName;
}
public void setInvoiceCompanyCode(String invoiceCompanyCode)
{
this.invoiceCompanyCode = invoiceCompanyCode;
}
public String getInvoiceCompanyCode()
{
return invoiceCompanyCode;
}
public void setDepositBank(String depositBank)
{
this.depositBank = depositBank;
}
public String getDepositBank()
{
return depositBank;
}
public void setBankAccount(String bankAccount)
{
this.bankAccount = bankAccount;
}
public String getBankAccount()
{
return bankAccount;
}
public void setTaxRate(BigDecimal taxRate)
{
this.taxRate = taxRate;
}
public BigDecimal getTaxRate()
{
return taxRate;
}
public void setUsdTax(BigDecimal usdTax)
{
this.usdTax = usdTax;
}
public BigDecimal getUsdTax()
{
return usdTax;
}
public void setMaterialSum(String materialSum)
{
this.materialSum = materialSum;
}
public String getMaterialSum()
{
return materialSum;
}
public void setEnterpriseSum(String enterpriseSum)
{
this.enterpriseSum = enterpriseSum;
}
public String getEnterpriseSum()
{
return enterpriseSum;
}
public void setNoRmbSum(BigDecimal noRmbSum)
{
this.noRmbSum = noRmbSum;
}
public BigDecimal getNoRmbSum()
{
return noRmbSum;
}
public void setRmbTaxSum(BigDecimal rmbTaxSum)
{
this.rmbTaxSum = rmbTaxSum;
}
public BigDecimal getRmbTaxSum()
{
return rmbTaxSum;
}
public void setNoUsdSum(BigDecimal noUsdSum)
{
this.noUsdSum = noUsdSum;
}
public BigDecimal getNoUsdSum()
{
return noUsdSum;
}
public void setUsdTaxSum(BigDecimal usdTaxSum)
{
this.usdTaxSum = usdTaxSum;
}
public BigDecimal getUsdTaxSum()
{
return usdTaxSum;
}
public void setInvoiceEmail(String invoiceEmail)
{
this.invoiceEmail = invoiceEmail;
}
public String getInvoiceEmail()
{
return invoiceEmail;
}
public void setInvoiceQuotaRatio(BigDecimal invoiceQuotaRatio)
{
this.invoiceQuotaRatio = invoiceQuotaRatio;
}
public BigDecimal getInvoiceQuotaRatio()
{
return invoiceQuotaRatio;
}
public void setInvoiceAmount(BigDecimal invoiceAmount)
{
this.invoiceAmount = invoiceAmount;
}
public BigDecimal getInvoiceAmount()
{
return invoiceAmount;
}
public void setActualInvoiceAmount(BigDecimal actualInvoiceAmount)
{
this.actualInvoiceAmount = actualInvoiceAmount;
}
public BigDecimal getActualInvoiceAmount()
{
return actualInvoiceAmount;
}
public void setActualInvoiceAmountRmb(BigDecimal actualInvoiceAmountRmb)
{
this.actualInvoiceAmountRmb = actualInvoiceAmountRmb;
}
public BigDecimal getActualInvoiceAmountRmb()
{
return actualInvoiceAmountRmb;
}
public void setActualInvoiceAmountUsd(BigDecimal actualInvoiceAmountUsd)
{
this.actualInvoiceAmountUsd = actualInvoiceAmountUsd;
}
public BigDecimal getActualInvoiceAmountUsd()
{
return actualInvoiceAmountUsd;
}
public void setInvoicePurpose(String invoicePurpose)
{
this.invoicePurpose = invoicePurpose;
}
public String getInvoicePurpose()
{
return invoicePurpose;
}
public void setBusinessRemark(String businessRemark)
{
this.businessRemark = businessRemark;
}
public String getBusinessRemark()
{
return businessRemark;
}
public void setInvoiceRemark(String invoiceRemark)
{
this.invoiceRemark = invoiceRemark;
}
public String getInvoiceRemark()
{
return invoiceRemark;
}
public void setInvoiceData(Date invoiceData)
{
this.invoiceData = invoiceData;
}
public Date getInvoiceData()
{
return invoiceData;
}
public void setInvoiceCode(String invoiceCode)
{
this.invoiceCode = invoiceCode;
}
public String getInvoiceCode()
{
return invoiceCode;
}
public void setInvoicePhone(String invoicePhone)
{
this.invoicePhone = invoicePhone;
}
public String getInvoicePhone()
{
return invoicePhone;
}
public void setDelFlag(String delFlag)
{
this.delFlag = delFlag;
}
public String getDelFlag()
{
return delFlag;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("taxInvoiceId", getTaxInvoiceId())
.append("taxInvoiceCode", getTaxInvoiceCode())
.append("taxInvoiceStatus", getTaxInvoiceStatus())
.append("useStatus", getUseStatus())
.append("salesOrderCode", getSalesOrderCode())
.append("salesOrderNumber", getSalesOrderNumber())
.append("salesOrderType", getSalesOrderType())
.append("taxInvoiceType", getTaxInvoiceType())
.append("taxInvoiceClass", getTaxInvoiceClass())
.append("taxInvoiceTitle", getTaxInvoiceTitle())
.append("businessMembers", getBusinessMembers())
.append("applyUser", getApplyUser())
.append("enterpriseCode", getEnterpriseCode())
.append("enterpriseName", getEnterpriseName())
.append("contactNumber", getContactNumber())
.append("enterpriseAddress", getEnterpriseAddress())
.append("commonCurrency", getCommonCurrency())
.append("invoiceCompanyName", getInvoiceCompanyName())
.append("invoiceCompanyCode", getInvoiceCompanyCode())
.append("depositBank", getDepositBank())
.append("bankAccount", getBankAccount())
.append("taxRate", getTaxRate())
.append("usdTax", getUsdTax())
.append("materialSum", getMaterialSum())
.append("enterpriseSum", getEnterpriseSum())
.append("noRmbSum", getNoRmbSum())
.append("rmbTaxSum", getRmbTaxSum())
.append("noUsdSum", getNoUsdSum())
.append("usdTaxSum", getUsdTaxSum())
.append("invoiceEmail", getInvoiceEmail())
.append("invoiceQuotaRatio", getInvoiceQuotaRatio())
.append("invoiceAmount", getInvoiceAmount())
.append("actualInvoiceAmount", getActualInvoiceAmount())
.append("actualInvoiceAmountRmb", getActualInvoiceAmountRmb())
.append("actualInvoiceAmountUsd", getActualInvoiceAmountUsd())
.append("invoicePurpose", getInvoicePurpose())
.append("businessRemark", getBusinessRemark())
.append("invoiceRemark", getInvoiceRemark())
.append("invoiceData", getInvoiceData())
.append("invoiceCode", getInvoiceCode())
.append("invoicePhone", getInvoicePhone())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.append("remark", getRemark())
.append("delFlag", getDelFlag())
.toString();
}
}

77
ruoyi-admin/src/main/java/com/ruoyi/financial/mapper/FinancialTaxInvoiceMapper.java

@ -0,0 +1,77 @@
package com.ruoyi.financial.mapper;
import java.util.List;
import com.ruoyi.financial.domain.FinancialTaxInvoice;
/**
* 国税发票Mapper接口
*
* @author 刘晓旭
* @date 2024-08-12
*/
public interface FinancialTaxInvoiceMapper
{
/**
* 查询国税发票
*
* @param taxInvoiceId 国税发票ID
* @return 国税发票
*/
public FinancialTaxInvoice selectFinancialTaxInvoiceById(Long taxInvoiceId);
/**
* 查询国税发票列表
*
* @param financialTaxInvoice 国税发票
* @return 国税发票集合
*/
public List<FinancialTaxInvoice> selectFinancialTaxInvoiceList(FinancialTaxInvoice financialTaxInvoice);
/**
* 新增国税发票
*
* @param financialTaxInvoice 国税发票
* @return 结果
*/
public int insertFinancialTaxInvoice(FinancialTaxInvoice financialTaxInvoice);
/**
* 修改国税发票
*
* @param financialTaxInvoice 国税发票
* @return 结果
*/
public int updateFinancialTaxInvoice(FinancialTaxInvoice financialTaxInvoice);
/**
* 删除国税发票
*
* @param taxInvoiceId 国税发票ID
* @return 结果
*/
public int deleteFinancialTaxInvoiceById(Long taxInvoiceId);
/**
* 批量删除国税发票
*
* @param taxInvoiceIds 需要删除的数据ID
* @return 结果
*/
public int deleteFinancialTaxInvoiceByIds(String[] taxInvoiceIds);
/**
* 作废国税发票
*
* @param taxInvoiceId 国税发票ID
* @return 结果
*/
public int cancelFinancialTaxInvoiceById(Long taxInvoiceId);
/**
* 恢复国税发票
*
* @param taxInvoiceId 国税发票ID
* @return 结果
*/
public int restoreFinancialTaxInvoiceById(Long taxInvoiceId);
}

75
ruoyi-admin/src/main/java/com/ruoyi/financial/service/IFinancialTaxInvoiceService.java

@ -0,0 +1,75 @@
package com.ruoyi.financial.service;
import java.util.List;
import com.ruoyi.financial.domain.FinancialTaxInvoice;
/**
* 国税发票Service接口
*
* @author 刘晓旭
* @date 2024-08-12
*/
public interface IFinancialTaxInvoiceService
{
/**
* 查询国税发票
*
* @param taxInvoiceId 国税发票ID
* @return 国税发票
*/
public FinancialTaxInvoice selectFinancialTaxInvoiceById(Long taxInvoiceId);
/**
* 查询国税发票列表
*
* @param financialTaxInvoice 国税发票
* @return 国税发票集合
*/
public List<FinancialTaxInvoice> selectFinancialTaxInvoiceList(FinancialTaxInvoice financialTaxInvoice);
/**
* 新增国税发票
*
* @param financialTaxInvoice 国税发票
* @return 结果
*/
public int insertFinancialTaxInvoice(FinancialTaxInvoice financialTaxInvoice);
/**
* 修改国税发票
*
* @param financialTaxInvoice 国税发票
* @return 结果
*/
public int updateFinancialTaxInvoice(FinancialTaxInvoice financialTaxInvoice);
/**
* 批量删除国税发票
*
* @param ids 需要删除的数据ID
* @return 结果
*/
public int deleteFinancialTaxInvoiceByIds(String ids);
/**
* 删除国税发票信息
*
* @param taxInvoiceId 国税发票ID
* @return 结果
*/
public int deleteFinancialTaxInvoiceById(Long taxInvoiceId);
/**
* 作废国税发票
* @param taxInvoiceId 国税发票ID
* @return
*/
int cancelFinancialTaxInvoiceById(Long taxInvoiceId);
/**
* 恢复国税发票
* @param taxInvoiceId 国税发票ID
* @return
*/
int restoreFinancialTaxInvoiceById(Long taxInvoiceId);
}

126
ruoyi-admin/src/main/java/com/ruoyi/financial/service/impl/FinancialTaxInvoiceServiceImpl.java

@ -0,0 +1,126 @@
package com.ruoyi.financial.service.impl;
import java.util.List;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.ShiroUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.financial.mapper.FinancialTaxInvoiceMapper;
import com.ruoyi.financial.domain.FinancialTaxInvoice;
import com.ruoyi.financial.service.IFinancialTaxInvoiceService;
import com.ruoyi.common.core.text.Convert;
/**
* 国税发票Service业务层处理
*
* @author 刘晓旭
* @date 2024-08-12
*/
@Service
public class FinancialTaxInvoiceServiceImpl implements IFinancialTaxInvoiceService
{
@Autowired
private FinancialTaxInvoiceMapper financialTaxInvoiceMapper;
/**
* 查询国税发票
*
* @param taxInvoiceId 国税发票ID
* @return 国税发票
*/
@Override
public FinancialTaxInvoice selectFinancialTaxInvoiceById(Long taxInvoiceId)
{
return financialTaxInvoiceMapper.selectFinancialTaxInvoiceById(taxInvoiceId);
}
/**
* 查询国税发票列表
*
* @param financialTaxInvoice 国税发票
* @return 国税发票
*/
@Override
public List<FinancialTaxInvoice> selectFinancialTaxInvoiceList(FinancialTaxInvoice financialTaxInvoice)
{
return financialTaxInvoiceMapper.selectFinancialTaxInvoiceList(financialTaxInvoice);
}
/**
* 新增国税发票
*
* @param financialTaxInvoice 国税发票
* @return 结果
*/
@Override
public int insertFinancialTaxInvoice(FinancialTaxInvoice financialTaxInvoice)
{
String loginName = ShiroUtils.getLoginName();
financialTaxInvoice.setCreateBy(loginName);
financialTaxInvoice.setCreateTime(DateUtils.getNowDate());
return financialTaxInvoiceMapper.insertFinancialTaxInvoice(financialTaxInvoice);
}
/**
* 修改国税发票
*
* @param financialTaxInvoice 国税发票
* @return 结果
*/
@Override
public int updateFinancialTaxInvoice(FinancialTaxInvoice financialTaxInvoice)
{
String loginName = ShiroUtils.getLoginName();
financialTaxInvoice.setUpdateBy(loginName);
financialTaxInvoice.setUpdateTime(DateUtils.getNowDate());
return financialTaxInvoiceMapper.updateFinancialTaxInvoice(financialTaxInvoice);
}
/**
* 删除国税发票对象
*
* @param ids 需要删除的数据ID
* @return 结果
*/
@Override
public int deleteFinancialTaxInvoiceByIds(String ids)
{
return financialTaxInvoiceMapper.deleteFinancialTaxInvoiceByIds(Convert.toStrArray(ids));
}
/**
* 删除国税发票信息
*
* @param taxInvoiceId 国税发票ID
* @return 结果
*/
@Override
public int deleteFinancialTaxInvoiceById(Long taxInvoiceId)
{
return financialTaxInvoiceMapper.deleteFinancialTaxInvoiceById(taxInvoiceId);
}
/**
* 作废国税发票
*
* @param taxInvoiceId 国税发票ID
* @return 结果
*/
@Override
public int cancelFinancialTaxInvoiceById(Long taxInvoiceId)
{
return financialTaxInvoiceMapper.cancelFinancialTaxInvoiceById(taxInvoiceId);
}
/**
* 恢复国税发票信息
*
* @param taxInvoiceId 国税发票ID
* @return 结果
*/
@Override
public int restoreFinancialTaxInvoiceById(Long taxInvoiceId)
{
return financialTaxInvoiceMapper.restoreFinancialTaxInvoiceById(taxInvoiceId);
}
}

255
ruoyi-admin/src/main/resources/mapper/financial/FinancialTaxInvoiceMapper.xml

@ -0,0 +1,255 @@
<?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.financial.mapper.FinancialTaxInvoiceMapper">
<resultMap type="FinancialTaxInvoice" id="FinancialTaxInvoiceResult">
<result property="taxInvoiceId" column="tax_invoice_id" />
<result property="taxInvoiceCode" column="tax_invoice_code" />
<result property="taxInvoiceStatus" column="tax_invoice_status" />
<result property="useStatus" column="use_status" />
<result property="salesOrderCode" column="sales_order_code" />
<result property="salesOrderNumber" column="sales_order_number" />
<result property="salesOrderType" column="sales_order_type" />
<result property="taxInvoiceType" column="tax_invoice_type" />
<result property="taxInvoiceClass" column="tax_invoice_class" />
<result property="taxInvoiceTitle" column="tax_invoice_title" />
<result property="businessMembers" column="business_members" />
<result property="applyUser" column="apply_user" />
<result property="enterpriseCode" column="enterprise_code" />
<result property="enterpriseName" column="enterprise_name" />
<result property="contactNumber" column="contact_number" />
<result property="enterpriseAddress" column="enterprise_address" />
<result property="commonCurrency" column="common_currency" />
<result property="invoiceCompanyName" column="invoice_company_name" />
<result property="invoiceCompanyCode" column="invoice_company_code" />
<result property="depositBank" column="deposit_bank" />
<result property="bankAccount" column="bank_account" />
<result property="taxRate" column="tax_rate" />
<result property="usdTax" column="usd_tax" />
<result property="materialSum" column="material_sum" />
<result property="enterpriseSum" column="enterprise_sum" />
<result property="noRmbSum" column="noRmbSum" />
<result property="rmbTaxSum" column="rmbTaxSum" />
<result property="noUsdSum" column="noUsdSum" />
<result property="usdTaxSum" column="usdTaxSum" />
<result property="invoiceEmail" column="invoice_email" />
<result property="invoiceQuotaRatio" column="invoice_quota_ratio" />
<result property="invoiceAmount" column="invoice_amount" />
<result property="actualInvoiceAmount" column="actual_invoice_amount" />
<result property="actualInvoiceAmountRmb" column="actual_invoice_amount_rmb" />
<result property="actualInvoiceAmountUsd" column="actual_invoice_amount_usd" />
<result property="invoicePurpose" column="invoice_purpose" />
<result property="businessRemark" column="business_remark" />
<result property="invoiceRemark" column="invoice_remark" />
<result property="invoiceData" column="invoice_data" />
<result property="invoiceCode" column="invoice_code" />
<result property="invoicePhone" column="invoice_phone" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
<result property="remark" column="remark" />
<result property="delFlag" column="del_flag" />
</resultMap>
<sql id="selectFinancialTaxInvoiceVo">
select tax_invoice_id, tax_invoice_code, tax_invoice_status, use_status, sales_order_code, sales_order_number, sales_order_type, tax_invoice_type, tax_invoice_class, tax_invoice_title, business_members, apply_user, enterprise_code, enterprise_name, contact_number, enterprise_address, common_currency, invoice_company_name, invoice_company_code, deposit_bank, bank_account, tax_rate, usd_tax, material_sum, enterprise_sum, noRmbSum, rmbTaxSum, noUsdSum, usdTaxSum, invoice_email, invoice_quota_ratio, invoice_amount, actual_invoice_amount, actual_invoice_amount_rmb, actual_invoice_amount_usd, invoice_purpose, business_remark, invoice_remark, invoice_data, invoice_code, invoice_phone, create_by, create_time, update_by, update_time, remark, del_flag from financial_tax_invoice
</sql>
<select id="selectFinancialTaxInvoiceList" parameterType="FinancialTaxInvoice" resultMap="FinancialTaxInvoiceResult">
<include refid="selectFinancialTaxInvoiceVo"/>
<where>
<if test="taxInvoiceCode != null and taxInvoiceCode != ''"> and tax_invoice_code = #{taxInvoiceCode}</if>
<if test="taxInvoiceStatus != null and taxInvoiceStatus != ''"> and tax_invoice_status = #{taxInvoiceStatus}</if>
<if test="taxInvoiceType != null and taxInvoiceType != ''"> and tax_invoice_type = #{taxInvoiceType}</if>
<if test="taxInvoiceClass != null and taxInvoiceClass != ''"> and tax_invoice_class = #{taxInvoiceClass}</if>
<if test="taxInvoiceTitle != null and taxInvoiceTitle != ''"> and tax_invoice_title = #{taxInvoiceTitle}</if>
<if test="businessMembers != null and businessMembers != ''"> and business_members = #{businessMembers}</if>
<if test="enterpriseCode != null and enterpriseCode != ''"> and enterprise_code = #{enterpriseCode}</if>
<if test="enterpriseName != null and enterpriseName != ''"> and enterprise_name like concat('%', #{enterpriseName}, '%')</if>
<if test="invoiceCode != null and invoiceCode != ''"> and invoice_code = #{invoiceCode}</if>
<if test="invoicePhone != null and invoicePhone != ''"> and invoice_phone = #{invoicePhone}</if>
<if test="params.beginCreateTime != null and params.beginCreateTime != '' and params.endCreateTime != null and params.endCreateTime != ''"> and create_time between #{params.beginCreateTime} and #{params.endCreateTime}</if>
</where>
</select>
<select id="selectFinancialTaxInvoiceById" parameterType="Long" resultMap="FinancialTaxInvoiceResult">
<include refid="selectFinancialTaxInvoiceVo"/>
where tax_invoice_id = #{taxInvoiceId}
</select>
<insert id="insertFinancialTaxInvoice" parameterType="FinancialTaxInvoice" useGeneratedKeys="true" keyProperty="taxInvoiceId">
insert into financial_tax_invoice
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="taxInvoiceCode != null">tax_invoice_code,</if>
<if test="taxInvoiceStatus != null">tax_invoice_status,</if>
<if test="useStatus != null">use_status,</if>
<if test="salesOrderCode != null">sales_order_code,</if>
<if test="salesOrderNumber != null">sales_order_number,</if>
<if test="salesOrderType != null">sales_order_type,</if>
<if test="taxInvoiceType != null">tax_invoice_type,</if>
<if test="taxInvoiceClass != null">tax_invoice_class,</if>
<if test="taxInvoiceTitle != null">tax_invoice_title,</if>
<if test="businessMembers != null">business_members,</if>
<if test="applyUser != null">apply_user,</if>
<if test="enterpriseCode != null">enterprise_code,</if>
<if test="enterpriseName != null">enterprise_name,</if>
<if test="contactNumber != null">contact_number,</if>
<if test="enterpriseAddress != null">enterprise_address,</if>
<if test="commonCurrency != null">common_currency,</if>
<if test="invoiceCompanyName != null">invoice_company_name,</if>
<if test="invoiceCompanyCode != null">invoice_company_code,</if>
<if test="depositBank != null">deposit_bank,</if>
<if test="bankAccount != null">bank_account,</if>
<if test="taxRate != null">tax_rate,</if>
<if test="usdTax != null">usd_tax,</if>
<if test="materialSum != null">material_sum,</if>
<if test="enterpriseSum != null">enterprise_sum,</if>
<if test="noRmbSum != null">noRmbSum,</if>
<if test="rmbTaxSum != null">rmbTaxSum,</if>
<if test="noUsdSum != null">noUsdSum,</if>
<if test="usdTaxSum != null">usdTaxSum,</if>
<if test="invoiceEmail != null">invoice_email,</if>
<if test="invoiceQuotaRatio != null">invoice_quota_ratio,</if>
<if test="invoiceAmount != null">invoice_amount,</if>
<if test="actualInvoiceAmount != null">actual_invoice_amount,</if>
<if test="actualInvoiceAmountRmb != null">actual_invoice_amount_rmb,</if>
<if test="actualInvoiceAmountUsd != null">actual_invoice_amount_usd,</if>
<if test="invoicePurpose != null">invoice_purpose,</if>
<if test="businessRemark != null">business_remark,</if>
<if test="invoiceRemark != null">invoice_remark,</if>
<if test="invoiceData != null">invoice_data,</if>
<if test="invoiceCode != null">invoice_code,</if>
<if test="invoicePhone != null">invoice_phone,</if>
<if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if>
<if test="updateBy != null">update_by,</if>
<if test="updateTime != null">update_time,</if>
<if test="remark != null">remark,</if>
<if test="delFlag != null">del_flag,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="taxInvoiceCode != null">#{taxInvoiceCode},</if>
<if test="taxInvoiceStatus != null">#{taxInvoiceStatus},</if>
<if test="useStatus != null">#{useStatus},</if>
<if test="salesOrderCode != null">#{salesOrderCode},</if>
<if test="salesOrderNumber != null">#{salesOrderNumber},</if>
<if test="salesOrderType != null">#{salesOrderType},</if>
<if test="taxInvoiceType != null">#{taxInvoiceType},</if>
<if test="taxInvoiceClass != null">#{taxInvoiceClass},</if>
<if test="taxInvoiceTitle != null">#{taxInvoiceTitle},</if>
<if test="businessMembers != null">#{businessMembers},</if>
<if test="applyUser != null">#{applyUser},</if>
<if test="enterpriseCode != null">#{enterpriseCode},</if>
<if test="enterpriseName != null">#{enterpriseName},</if>
<if test="contactNumber != null">#{contactNumber},</if>
<if test="enterpriseAddress != null">#{enterpriseAddress},</if>
<if test="commonCurrency != null">#{commonCurrency},</if>
<if test="invoiceCompanyName != null">#{invoiceCompanyName},</if>
<if test="invoiceCompanyCode != null">#{invoiceCompanyCode},</if>
<if test="depositBank != null">#{depositBank},</if>
<if test="bankAccount != null">#{bankAccount},</if>
<if test="taxRate != null">#{taxRate},</if>
<if test="usdTax != null">#{usdTax},</if>
<if test="materialSum != null">#{materialSum},</if>
<if test="enterpriseSum != null">#{enterpriseSum},</if>
<if test="noRmbSum != null">#{noRmbSum},</if>
<if test="rmbTaxSum != null">#{rmbTaxSum},</if>
<if test="noUsdSum != null">#{noUsdSum},</if>
<if test="usdTaxSum != null">#{usdTaxSum},</if>
<if test="invoiceEmail != null">#{invoiceEmail},</if>
<if test="invoiceQuotaRatio != null">#{invoiceQuotaRatio},</if>
<if test="invoiceAmount != null">#{invoiceAmount},</if>
<if test="actualInvoiceAmount != null">#{actualInvoiceAmount},</if>
<if test="actualInvoiceAmountRmb != null">#{actualInvoiceAmountRmb},</if>
<if test="actualInvoiceAmountUsd != null">#{actualInvoiceAmountUsd},</if>
<if test="invoicePurpose != null">#{invoicePurpose},</if>
<if test="businessRemark != null">#{businessRemark},</if>
<if test="invoiceRemark != null">#{invoiceRemark},</if>
<if test="invoiceData != null">#{invoiceData},</if>
<if test="invoiceCode != null">#{invoiceCode},</if>
<if test="invoicePhone != null">#{invoicePhone},</if>
<if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateBy != null">#{updateBy},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="remark != null">#{remark},</if>
<if test="delFlag != null">#{delFlag},</if>
</trim>
</insert>
<update id="updateFinancialTaxInvoice" parameterType="FinancialTaxInvoice">
update financial_tax_invoice
<trim prefix="SET" suffixOverrides=",">
<if test="taxInvoiceCode != null">tax_invoice_code = #{taxInvoiceCode},</if>
<if test="taxInvoiceStatus != null">tax_invoice_status = #{taxInvoiceStatus},</if>
<if test="useStatus != null">use_status = #{useStatus},</if>
<if test="salesOrderCode != null">sales_order_code = #{salesOrderCode},</if>
<if test="salesOrderNumber != null">sales_order_number = #{salesOrderNumber},</if>
<if test="salesOrderType != null">sales_order_type = #{salesOrderType},</if>
<if test="taxInvoiceType != null">tax_invoice_type = #{taxInvoiceType},</if>
<if test="taxInvoiceClass != null">tax_invoice_class = #{taxInvoiceClass},</if>
<if test="taxInvoiceTitle != null">tax_invoice_title = #{taxInvoiceTitle},</if>
<if test="businessMembers != null">business_members = #{businessMembers},</if>
<if test="applyUser != null">apply_user = #{applyUser},</if>
<if test="enterpriseCode != null">enterprise_code = #{enterpriseCode},</if>
<if test="enterpriseName != null">enterprise_name = #{enterpriseName},</if>
<if test="contactNumber != null">contact_number = #{contactNumber},</if>
<if test="enterpriseAddress != null">enterprise_address = #{enterpriseAddress},</if>
<if test="commonCurrency != null">common_currency = #{commonCurrency},</if>
<if test="invoiceCompanyName != null">invoice_company_name = #{invoiceCompanyName},</if>
<if test="invoiceCompanyCode != null">invoice_company_code = #{invoiceCompanyCode},</if>
<if test="depositBank != null">deposit_bank = #{depositBank},</if>
<if test="bankAccount != null">bank_account = #{bankAccount},</if>
<if test="taxRate != null">tax_rate = #{taxRate},</if>
<if test="usdTax != null">usd_tax = #{usdTax},</if>
<if test="materialSum != null">material_sum = #{materialSum},</if>
<if test="enterpriseSum != null">enterprise_sum = #{enterpriseSum},</if>
<if test="noRmbSum != null">noRmbSum = #{noRmbSum},</if>
<if test="rmbTaxSum != null">rmbTaxSum = #{rmbTaxSum},</if>
<if test="noUsdSum != null">noUsdSum = #{noUsdSum},</if>
<if test="usdTaxSum != null">usdTaxSum = #{usdTaxSum},</if>
<if test="invoiceEmail != null">invoice_email = #{invoiceEmail},</if>
<if test="invoiceQuotaRatio != null">invoice_quota_ratio = #{invoiceQuotaRatio},</if>
<if test="invoiceAmount != null">invoice_amount = #{invoiceAmount},</if>
<if test="actualInvoiceAmount != null">actual_invoice_amount = #{actualInvoiceAmount},</if>
<if test="actualInvoiceAmountRmb != null">actual_invoice_amount_rmb = #{actualInvoiceAmountRmb},</if>
<if test="actualInvoiceAmountUsd != null">actual_invoice_amount_usd = #{actualInvoiceAmountUsd},</if>
<if test="invoicePurpose != null">invoice_purpose = #{invoicePurpose},</if>
<if test="businessRemark != null">business_remark = #{businessRemark},</if>
<if test="invoiceRemark != null">invoice_remark = #{invoiceRemark},</if>
<if test="invoiceData != null">invoice_data = #{invoiceData},</if>
<if test="invoiceCode != null">invoice_code = #{invoiceCode},</if>
<if test="invoicePhone != null">invoice_phone = #{invoicePhone},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="delFlag != null">del_flag = #{delFlag},</if>
</trim>
where tax_invoice_id = #{taxInvoiceId}
</update>
<delete id="deleteFinancialTaxInvoiceById" parameterType="Long">
delete from financial_tax_invoice where tax_invoice_id = #{taxInvoiceId}
</delete>
<delete id="deleteFinancialTaxInvoiceByIds" parameterType="String">
delete from financial_tax_invoice where tax_invoice_id in
<foreach item="taxInvoiceId" collection="array" open="(" separator="," close=")">
#{taxInvoiceId}
</foreach>
</delete>
<update id="cancelFinancialTaxInvoiceById" parameterType="Long">
update financial_tax_invoice set del_flag = '1' where tax_invoice_id = #{taxInvoiceId}
</update>
<update id="restoreFinancialTaxInvoiceById" parameterType="Long">
update financial_tax_invoice set del_flag = '0' where tax_invoice_id = #{taxInvoiceId}
</update>
</mapper>

305
ruoyi-admin/src/main/resources/templates/financial/taxInvoice/add.html

@ -0,0 +1,305 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('新增国税发票')" />
<th:block th:include="include :: datetimepicker-css" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-taxInvoice-add">
<div class="form-group">
<label class="col-sm-3 control-label">国税发票单号:</label>
<div class="col-sm-8">
<input name="taxInvoiceCode" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">发票状态(0待审核、1待开具、2已开具、3审核拒绝):</label>
<div class="col-sm-8">
<select name="taxInvoiceStatus" class="form-control m-b" th:with="type=${@dict.getType('tax_invoice_status')}">
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">使用状态(1是、0否、2已作废):</label>
<div class="col-sm-8">
<div class="radio-box">
<input type="radio" name="useStatus" value="">
<label th:for="useStatus" th:text="未知"></label>
</div>
<span class="help-block m-b-none"><i class="fa fa-info-circle"></i> 代码生成请选择字典属性</span>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">销售订单编号:</label>
<div class="col-sm-8">
<input name="salesOrderCode" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">客户订单号码:</label>
<div class="col-sm-8">
<input name="salesOrderNumber" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">订单类型(0客户订单、1研发订单、2其他订单):</label>
<div class="col-sm-8">
<select name="salesOrderType" class="form-control m-b" th:with="type=${@dict.getType('sys_order_type')}">
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">发票类型(0电子发票、1纸制发票):</label>
<div class="col-sm-8">
<select name="taxInvoiceType" class="form-control m-b" th:with="type=${@dict.getType('tax_invoice_type')}">
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">发票种类(0专票、1普票):</label>
<div class="col-sm-8">
<select name="taxInvoiceClass" class="form-control m-b" th:with="type=${@dict.getType('tax_invoice_class')}">
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">发票抬头(0企业、1其他):</label>
<div class="col-sm-8">
<select name="taxInvoiceTitle" class="form-control m-b" th:with="type=${@dict.getType('tax_invoice_title')}">
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">业务人员:</label>
<div class="col-sm-8">
<input name="businessMembers" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">申请人:</label>
<div class="col-sm-8">
<input name="applyUser" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">客户代码/ID:</label>
<div class="col-sm-8">
<input name="enterpriseCode" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">客户名称:</label>
<div class="col-sm-8">
<input name="enterpriseName" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">联系电话:</label>
<div class="col-sm-8">
<input name="contactNumber" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">公司地址:</label>
<div class="col-sm-8">
<input name="enterpriseAddress" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">币种(1RMB、2美元):</label>
<div class="col-sm-8">
<div class="radio-box" th:each="dict : ${@dict.getType('sys_common_currency')}">
<input type="radio" th:id="${'commonCurrency_' + dict.dictCode}" name="commonCurrency" th:value="${dict.dictValue}" th:checked="${dict.default}">
<label th:for="${'commonCurrency_' + dict.dictCode}" th:text="${dict.dictLabel}"></label>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">开票公司名称:</label>
<div class="col-sm-8">
<input name="invoiceCompanyName" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">开票公司税号:</label>
<div class="col-sm-8">
<input name="invoiceCompanyCode" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">公司开户行:</label>
<div class="col-sm-8">
<input name="depositBank" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">公司开户账号:</label>
<div class="col-sm-8">
<input name="bankAccount" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">税率:</label>
<div class="col-sm-8">
<input name="taxRate" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">美元汇率:</label>
<div class="col-sm-8">
<input name="usdTax" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">物料数合计:</label>
<div class="col-sm-8">
<input name="materialSum" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">数量合计:</label>
<div class="col-sm-8">
<input name="enterpriseSum" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">不含税总价(RMB):</label>
<div class="col-sm-8">
<input name="noRmbSum" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">含税总价(RMB):</label>
<div class="col-sm-8">
<input name="rmbTaxSum" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">不含税总价(美元):</label>
<div class="col-sm-8">
<input name="noUsdSum" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">含税总价(美元):</label>
<div class="col-sm-8">
<input name="usdTaxSum" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">邮箱:</label>
<div class="col-sm-8">
<input name="invoiceEmail" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">开票额度比例:</label>
<div class="col-sm-8">
<input name="invoiceQuotaRatio" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">开票金额:</label>
<div class="col-sm-8">
<input name="invoiceAmount" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">实际开票金额:</label>
<div class="col-sm-8">
<input name="actualInvoiceAmount" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">实际开票金额(RMB):</label>
<div class="col-sm-8">
<input name="actualInvoiceAmountRmb" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">实际开票金额(美元):</label>
<div class="col-sm-8">
<input name="actualInvoiceAmountUsd" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">开票用途:</label>
<div class="col-sm-8">
<input name="invoicePurpose" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">业务备注:</label>
<div class="col-sm-8">
<input name="businessRemark" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">发票备注:</label>
<div class="col-sm-8">
<input name="invoiceRemark" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">开票日期:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="invoiceData" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">发票代码:</label>
<div class="col-sm-8">
<input name="invoiceCode" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">发票号码:</label>
<div class="col-sm-8">
<input name="invoicePhone" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">备注信息:</label>
<div class="col-sm-8">
<input name="remark" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">删除标志 0正常 1删除:</label>
<div class="col-sm-8">
<input name="delFlag" class="form-control" type="text">
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<th:block th:include="include :: datetimepicker-js" />
<script th:inline="javascript">
var prefix = ctx + "financial/taxInvoice"
$("#form-taxInvoice-add").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/add", $('#form-taxInvoice-add').serialize());
}
}
$("input[name='invoiceData']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
</script>
</body>
</html>

300
ruoyi-admin/src/main/resources/templates/financial/taxInvoice/edit.html

@ -0,0 +1,300 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('修改国税发票')" />
<th:block th:include="include :: datetimepicker-css" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-taxInvoice-edit" th:object="${financialTaxInvoice}">
<input name="taxInvoiceId" th:field="*{taxInvoiceId}" type="hidden">
<div class="form-group">
<label class="col-sm-3 control-label">国税发票单号:</label>
<div class="col-sm-8">
<input name="taxInvoiceCode" th:field="*{taxInvoiceCode}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">发票状态(0待审核、1待开具、2已开具、3审核拒绝):</label>
<div class="col-sm-8">
<select name="taxInvoiceStatus" class="form-control m-b" th:with="type=${@dict.getType('tax_invoice_status')}">
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{taxInvoiceStatus}"></option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">使用状态(1是、0否、2已作废):</label>
<div class="col-sm-8">
<div class="radio-box">
<input type="radio" name="useStatus" value="">
<label th:for="useStatus" th:text="未知"></label>
</div>
<span class="help-block m-b-none"><i class="fa fa-info-circle"></i> 代码生成请选择字典属性</span>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">销售订单编号:</label>
<div class="col-sm-8">
<input name="salesOrderCode" th:field="*{salesOrderCode}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">客户订单号码:</label>
<div class="col-sm-8">
<input name="salesOrderNumber" th:field="*{salesOrderNumber}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">订单类型(0客户订单、1研发订单、2其他订单):</label>
<div class="col-sm-8">
<select name="salesOrderType" class="form-control m-b" th:with="type=${@dict.getType('sys_order_type')}">
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{salesOrderType}"></option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">发票类型(0电子发票、1纸制发票):</label>
<div class="col-sm-8">
<select name="taxInvoiceType" class="form-control m-b" th:with="type=${@dict.getType('tax_invoice_type')}">
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{taxInvoiceType}"></option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">发票种类(0专票、1普票):</label>
<div class="col-sm-8">
<select name="taxInvoiceClass" class="form-control m-b" th:with="type=${@dict.getType('tax_invoice_class')}">
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{taxInvoiceClass}"></option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">发票抬头(0企业、1其他):</label>
<div class="col-sm-8">
<select name="taxInvoiceTitle" class="form-control m-b" th:with="type=${@dict.getType('tax_invoice_title')}">
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{taxInvoiceTitle}"></option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">业务人员:</label>
<div class="col-sm-8">
<input name="businessMembers" th:field="*{businessMembers}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">申请人:</label>
<div class="col-sm-8">
<input name="applyUser" th:field="*{applyUser}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">客户代码/ID:</label>
<div class="col-sm-8">
<input name="enterpriseCode" th:field="*{enterpriseCode}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">客户名称:</label>
<div class="col-sm-8">
<input name="enterpriseName" th:field="*{enterpriseName}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">联系电话:</label>
<div class="col-sm-8">
<input name="contactNumber" th:field="*{contactNumber}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">公司地址:</label>
<div class="col-sm-8">
<input name="enterpriseAddress" th:field="*{enterpriseAddress}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">币种(1RMB、2美元):</label>
<div class="col-sm-8">
<div class="radio-box" th:each="dict : ${@dict.getType('sys_common_currency')}">
<input type="radio" th:id="${'commonCurrency_' + dict.dictCode}" name="commonCurrency" th:value="${dict.dictValue}" th:field="*{commonCurrency}">
<label th:for="${'commonCurrency_' + dict.dictCode}" th:text="${dict.dictLabel}"></label>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">开票公司名称:</label>
<div class="col-sm-8">
<input name="invoiceCompanyName" th:field="*{invoiceCompanyName}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">开票公司税号:</label>
<div class="col-sm-8">
<input name="invoiceCompanyCode" th:field="*{invoiceCompanyCode}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">公司开户行:</label>
<div class="col-sm-8">
<input name="depositBank" th:field="*{depositBank}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">公司开户账号:</label>
<div class="col-sm-8">
<input name="bankAccount" th:field="*{bankAccount}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">税率:</label>
<div class="col-sm-8">
<input name="taxRate" th:field="*{taxRate}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">美元汇率:</label>
<div class="col-sm-8">
<input name="usdTax" th:field="*{usdTax}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">物料数合计:</label>
<div class="col-sm-8">
<input name="materialSum" th:field="*{materialSum}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">数量合计:</label>
<div class="col-sm-8">
<input name="enterpriseSum" th:field="*{enterpriseSum}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">不含税总价(RMB):</label>
<div class="col-sm-8">
<input name="noRmbSum" th:field="*{noRmbSum}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">含税总价(RMB):</label>
<div class="col-sm-8">
<input name="rmbTaxSum" th:field="*{rmbTaxSum}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">不含税总价(美元):</label>
<div class="col-sm-8">
<input name="noUsdSum" th:field="*{noUsdSum}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">含税总价(美元):</label>
<div class="col-sm-8">
<input name="usdTaxSum" th:field="*{usdTaxSum}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">邮箱:</label>
<div class="col-sm-8">
<input name="invoiceEmail" th:field="*{invoiceEmail}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">开票额度比例:</label>
<div class="col-sm-8">
<input name="invoiceQuotaRatio" th:field="*{invoiceQuotaRatio}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">开票金额:</label>
<div class="col-sm-8">
<input name="invoiceAmount" th:field="*{invoiceAmount}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">实际开票金额:</label>
<div class="col-sm-8">
<input name="actualInvoiceAmount" th:field="*{actualInvoiceAmount}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">实际开票金额(RMB):</label>
<div class="col-sm-8">
<input name="actualInvoiceAmountRmb" th:field="*{actualInvoiceAmountRmb}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">实际开票金额(美元):</label>
<div class="col-sm-8">
<input name="actualInvoiceAmountUsd" th:field="*{actualInvoiceAmountUsd}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">开票用途:</label>
<div class="col-sm-8">
<input name="invoicePurpose" th:field="*{invoicePurpose}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">业务备注:</label>
<div class="col-sm-8">
<input name="businessRemark" th:field="*{businessRemark}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">发票备注:</label>
<div class="col-sm-8">
<input name="invoiceRemark" th:field="*{invoiceRemark}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">开票日期:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="invoiceData" th:value="${#dates.format(financialTaxInvoice.invoiceData, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">发票代码:</label>
<div class="col-sm-8">
<input name="invoiceCode" th:field="*{invoiceCode}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">发票号码:</label>
<div class="col-sm-8">
<input name="invoicePhone" th:field="*{invoicePhone}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">备注信息:</label>
<div class="col-sm-8">
<input name="remark" th:field="*{remark}" class="form-control" type="text">
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<th:block th:include="include :: datetimepicker-js" />
<script th:inline="javascript">
var prefix = ctx + "financial/taxInvoice";
$("#form-taxInvoice-edit").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/edit", $('#form-taxInvoice-edit').serialize());
}
}
$("input[name='invoiceData']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
</script>
</body>
</html>

282
ruoyi-admin/src/main/resources/templates/financial/taxInvoice/taxInvoice.html

@ -0,0 +1,282 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
<th:block th:include="include :: header('国税发票列表')" />
</head>
<body class="gray-bg">
<div class="container-div">
<div class="row">
<div class="col-sm-12 search-collapse">
<form id="formId">
<div class="select-list">
<ul>
<li>
<label>国税发票单号:</label>
<input type="text" name="taxInvoiceCode"/>
</li>
<li>
<label>发票状态:</label>
<select name="taxInvoiceStatus" th:with="type=${@dict.getType('tax_invoice_status')}">
<option value="">所有</option>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</li>
<li>
<label>发票类型:</label>
<select name="taxInvoiceType" th:with="type=${@dict.getType('tax_invoice_type')}">
<option value="">所有</option>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</li>
<li>
<label>发票种类:</label>
<select name="taxInvoiceClass" th:with="type=${@dict.getType('tax_invoice_class')}">
<option value="">所有</option>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</li>
<li>
<label>发票抬头:</label>
<select name="taxInvoiceTitle" th:with="type=${@dict.getType('tax_invoice_title')}">
<option value="">所有</option>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</li>
<li>
<label>业务人员:</label>
<input type="text" name="businessMembers"/>
</li>
<li>
<label>客户代码/ID:</label>
<input type="text" name="enterpriseCode"/>
</li>
<li>
<label>客户名称:</label>
<input type="text" name="enterpriseName"/>
</li>
<li>
<label>发票代码:</label>
<input type="text" name="invoiceCode"/>
</li>
<li>
<label>发票号码:</label>
<input type="text" name="invoicePhone"/>
</li>
<li class="select-time">
<label>录入时间:</label>
<input type="text" class="time-input" id="startTime" placeholder="开始时间" name="params[beginCreateTime]"/>
<span>-</span>
<input type="text" class="time-input" id="endTime" placeholder="结束时间" name="params[endCreateTime]"/>
</li>
<li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
</li>
</ul>
</div>
</form>
</div>
<div class="btn-group-sm" id="toolbar" role="group">
<a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="financial:taxInvoice:add">
<i class="fa fa-plus"></i> 添加
</a>
<a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="financial:taxInvoice:edit">
<i class="fa fa-edit"></i> 修改
</a>
<a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="financial:taxInvoice:remove">
<i class="fa fa-remove"></i> 删除
</a>
<a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="financial:taxInvoice:export">
<i class="fa fa-download"></i> 导出
</a>
</div>
<div class="col-sm-12 select-table table-striped">
<table id="bootstrap-table"></table>
</div>
</div>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var editFlag = [[${@permission.hasPermi('financial:taxInvoice:edit')}]];
var removeFlag = [[${@permission.hasPermi('financial:taxInvoice:remove')}]];
var cancelFlag = [[${@permission.hasPermi('financial:taxInvoice:cancel')}]];
var restoreFlag = [[${@permission.hasPermi('financial:taxInvoice:restore')}]];
var taxInvoiceStatusDatas = [[${@dict.getType('tax_invoice_status')}]];
var salesOrderTypeDatas = [[${@dict.getType('sys_order_type')}]];
var taxInvoiceTypeDatas = [[${@dict.getType('tax_invoice_type')}]];
var taxInvoiceClassDatas = [[${@dict.getType('tax_invoice_class')}]];
var taxInvoiceTitleDatas = [[${@dict.getType('tax_invoice_title')}]];
var commonCurrencyDatas = [[${@dict.getType('sys_common_currency')}]];
var prefix = ctx + "financial/taxInvoice";
$(function() {
var options = {
url: prefix + "/list",
createUrl: prefix + "/add",
updateUrl: prefix + "/edit/{id}",
removeUrl: prefix + "/remove",
cancelUrl: prefix + "/cancel/{id}",
restoreUrl: prefix + "/restore/{id}",
exportUrl: prefix + "/export",
modalName: "国税发票",
columns: [{
checkbox: true
},
{
title: '国税发票id',
field: 'taxInvoiceId',
visible: false
},
{
title: '国税发票单号',
field: 'taxInvoiceCode',
},
{
title: '发票状态',
field: 'taxInvoiceStatus',
formatter: function(value, row, index) {
return $.table.selectDictLabel(taxInvoiceStatusDatas, value);
}
},
{
title: '发票类型',
field: 'taxInvoiceType',
formatter: function(value, row, index) {
return $.table.selectDictLabel(taxInvoiceTypeDatas, value);
}
},
{
title: '发票种类',
field: 'taxInvoiceClass',
formatter: function(value, row, index) {
return $.table.selectDictLabel(taxInvoiceClassDatas, value);
}
},
{
title: '发票抬头',
field: 'taxInvoiceTitle',
formatter: function(value, row, index) {
return $.table.selectDictLabel(taxInvoiceTitleDatas, value);
}
},
{
title: '申请人',
field: 'applyUser',
},
{
title: '客户代码/ID',
field: 'enterpriseCode',
},
{
title: '客户名称',
field: 'enterpriseName',
},
{
title: '币种',
field: 'commonCurrency',
formatter: function(value, row, index) {
return $.table.selectDictLabel(commonCurrencyDatas, value);
}
},
{
title: '物料数合计',
field: 'materialSum',
},
{
title: '数量合计',
field: 'enterpriseSum',
},
{
title: '不含税总价(RMB)',
field: 'noRmbSum',
},
{
title: '含税总价(RMB)',
field: 'rmbTaxSum',
},
{
title: '不含税总价(美元)',
field: 'noUsdSum',
},
{
title: '含税总价(美元)',
field: 'usdTaxSum',
},
{
title: '邮箱',
field: 'invoiceEmail',
},
{
title: '开票额度比例',
field: 'invoiceQuotaRatio',
},
{
title: '实际开票金额',
field: 'actualInvoiceAmount',
},
{
title: '实际开票金额(RMB)',
field: 'actualInvoiceAmountRmb',
},
{
title: '实际开票金额(美元)',
field: 'actualInvoiceAmountUsd',
},
{
title: '开票用途',
field: 'invoicePurpose',
},
{
title: '业务备注',
field: 'businessRemark',
},
{
title: '开票日期',
field: 'invoiceData',
},
{
title: '发票代码',
field: 'invoiceCode',
},
{
title: '发票号码',
field: 'invoicePhone',
},
{
title: '录入人',
field: 'createBy',
},
{
title: '录入时间',
field: 'createTime',
},
{
title: '更新人',
field: 'updateBy',
},
{
title: '上次更新时间',
field: 'updateTime',
},
{
title: '操作',
align: 'center',
formatter: function(value, row, index) {
var actions = [];
actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.taxInvoiceId + '\')"><i class="fa fa-edit"></i>编辑</a> ');
actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.taxInvoiceId + '\')"><i class="fa fa-remove"></i>删除</a> ');
if(row.delFlag == '0'){
actions.push('<a class="btn btn-danger btn-xs ' + cancelFlag + '" href="javascript:void(0)" onclick="$.operate.cancel(\'' + row.id + '\')"><i class="fa fa-remove"></i>作废</a> ');
}else{
actions.push('<a class="btn btn-success btn-xs ' + restoreFlag + '" href="javascript:void(0)" onclick="$.operate.restore(\'' + row.id + '\')"><i class="fa fa-window-restore"></i>恢复</a> ');
}
return actions.join('');
}
}]
};
$.table.init(options);
});
</script>
</body>
</html>
Loading…
Cancel
Save