Browse Source

230710 国税发票采购

erp、
qianyu 1 year ago
parent
commit
1cee141815
  1. 126
      ruoyi-admin/src/main/java/com/ruoyi/taxInvoice/controller/TaxInvoicePurchaseInfoController.java
  2. 126
      ruoyi-admin/src/main/java/com/ruoyi/taxInvoice/controller/TaxInvoicePurchaseProductController.java
  3. 289
      ruoyi-admin/src/main/java/com/ruoyi/taxInvoice/domain/TaxInvoicePurchaseInfo.java
  4. 149
      ruoyi-admin/src/main/java/com/ruoyi/taxInvoice/domain/TaxInvoicePurchaseProduct.java
  5. 290
      ruoyi-admin/src/main/java/com/ruoyi/taxInvoice/domain/exportDto/TaxInvoicePurchaseInfoDto.java
  6. 151
      ruoyi-admin/src/main/java/com/ruoyi/taxInvoice/domain/exportDto/TaxInvoicePurchaseProductDto.java
  7. 61
      ruoyi-admin/src/main/java/com/ruoyi/taxInvoice/mapper/TaxInvoicePurchaseInfoMapper.java
  8. 61
      ruoyi-admin/src/main/java/com/ruoyi/taxInvoice/mapper/TaxInvoicePurchaseProductMapper.java
  9. 61
      ruoyi-admin/src/main/java/com/ruoyi/taxInvoice/service/ITaxInvoicePurchaseInfoService.java
  10. 61
      ruoyi-admin/src/main/java/com/ruoyi/taxInvoice/service/ITaxInvoicePurchaseProductService.java
  11. 94
      ruoyi-admin/src/main/java/com/ruoyi/taxInvoice/service/impl/TaxInvoicePurchaseInfoServiceImpl.java
  12. 94
      ruoyi-admin/src/main/java/com/ruoyi/taxInvoice/service/impl/TaxInvoicePurchaseProductServiceImpl.java
  13. 147
      ruoyi-admin/src/main/resources/mapper/taxInvoice/TaxInvoicePurchaseInfoMapper.xml
  14. 87
      ruoyi-admin/src/main/resources/mapper/taxInvoice/TaxInvoicePurchaseProductMapper.xml
  15. 6
      ruoyi-admin/src/main/resources/templates/taxInvoice/taxInvoiceInfo/add.html
  16. 567
      ruoyi-admin/src/main/resources/templates/taxInvoice/taxInvoicePurchaseInfo/add.html
  17. 454
      ruoyi-admin/src/main/resources/templates/taxInvoice/taxInvoicePurchaseInfo/edit.html
  18. 186
      ruoyi-admin/src/main/resources/templates/taxInvoice/taxInvoicePurchaseInfo/taxInvoicePurchaseInfo.html
  19. 75
      ruoyi-admin/src/main/resources/templates/taxInvoice/taxInvoicePurchaseProduct/add.html
  20. 76
      ruoyi-admin/src/main/resources/templates/taxInvoice/taxInvoicePurchaseProduct/edit.html
  21. 149
      ruoyi-admin/src/main/resources/templates/taxInvoice/taxInvoicePurchaseProduct/taxInvoicePurchaseProduct.html

126
ruoyi-admin/src/main/java/com/ruoyi/taxInvoice/controller/TaxInvoicePurchaseInfoController.java

@ -0,0 +1,126 @@
package com.ruoyi.taxInvoice.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.taxInvoice.domain.TaxInvoicePurchaseInfo;
import com.ruoyi.taxInvoice.service.ITaxInvoicePurchaseInfoService;
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 ruoyi
* @date 2023-07-06
*/
@Controller
@RequestMapping("/taxInvoice/taxInvoicePurchaseInfo")
public class TaxInvoicePurchaseInfoController extends BaseController
{
private String prefix = "taxInvoice/taxInvoicePurchaseInfo";
@Autowired
private ITaxInvoicePurchaseInfoService taxInvoicePurchaseInfoService;
@RequiresPermissions("taxInvoice:taxInvoicePurchaseInfo:view")
@GetMapping()
public String taxInvoicePurchaseInfo()
{
return prefix + "/taxInvoicePurchaseInfo";
}
/**
* 查询国税发票明细采购列表
*/
@RequiresPermissions("taxInvoice:taxInvoicePurchaseInfo:list")
@PostMapping("/list")
@ResponseBody
public TableDataInfo list(TaxInvoicePurchaseInfo taxInvoicePurchaseInfo)
{
startPage();
List<TaxInvoicePurchaseInfo> list = taxInvoicePurchaseInfoService.selectTaxInvoicePurchaseInfoList(taxInvoicePurchaseInfo);
return getDataTable(list);
}
/**
* 导出国税发票明细采购列表
*/
@RequiresPermissions("taxInvoice:taxInvoicePurchaseInfo:export")
@Log(title = "国税发票明细(采购)", businessType = BusinessType.EXPORT)
@PostMapping("/export")
@ResponseBody
public AjaxResult export(TaxInvoicePurchaseInfo taxInvoicePurchaseInfo)
{
List<TaxInvoicePurchaseInfo> list = taxInvoicePurchaseInfoService.selectTaxInvoicePurchaseInfoList(taxInvoicePurchaseInfo);
ExcelUtil<TaxInvoicePurchaseInfo> util = new ExcelUtil<TaxInvoicePurchaseInfo>(TaxInvoicePurchaseInfo.class);
return util.exportExcel(list, "国税发票明细(采购)数据");
}
/**
* 新增国税发票明细采购
*/
@GetMapping("/add")
public String add()
{
return prefix + "/add";
}
/**
* 新增保存国税发票明细采购
*/
@RequiresPermissions("taxInvoice:taxInvoicePurchaseInfo:add")
@Log(title = "国税发票明细(采购)", businessType = BusinessType.INSERT)
@PostMapping("/add")
@ResponseBody
public AjaxResult addSave(TaxInvoicePurchaseInfo taxInvoicePurchaseInfo)
{
return toAjax(taxInvoicePurchaseInfoService.insertTaxInvoicePurchaseInfo(taxInvoicePurchaseInfo));
}
/**
* 修改国税发票明细采购
*/
@GetMapping("/edit/{taxPurchaseInfoId}")
public String edit(@PathVariable("taxPurchaseInfoId") Long taxPurchaseInfoId, ModelMap mmap)
{
TaxInvoicePurchaseInfo taxInvoicePurchaseInfo = taxInvoicePurchaseInfoService.selectTaxInvoicePurchaseInfoById(taxPurchaseInfoId);
mmap.put("taxInvoicePurchaseInfo", taxInvoicePurchaseInfo);
return prefix + "/edit";
}
/**
* 修改保存国税发票明细采购
*/
@RequiresPermissions("taxInvoice:taxInvoicePurchaseInfo:edit")
@Log(title = "国税发票明细(采购)", businessType = BusinessType.UPDATE)
@PostMapping("/edit")
@ResponseBody
public AjaxResult editSave(TaxInvoicePurchaseInfo taxInvoicePurchaseInfo)
{
return toAjax(taxInvoicePurchaseInfoService.updateTaxInvoicePurchaseInfo(taxInvoicePurchaseInfo));
}
/**
* 删除国税发票明细采购
*/
@RequiresPermissions("taxInvoice:taxInvoicePurchaseInfo:remove")
@Log(title = "国税发票明细(采购)", businessType = BusinessType.DELETE)
@PostMapping( "/remove")
@ResponseBody
public AjaxResult remove(String ids)
{
return toAjax(taxInvoicePurchaseInfoService.deleteTaxInvoicePurchaseInfoByIds(ids));
}
}

126
ruoyi-admin/src/main/java/com/ruoyi/taxInvoice/controller/TaxInvoicePurchaseProductController.java

@ -0,0 +1,126 @@
package com.ruoyi.taxInvoice.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.taxInvoice.domain.TaxInvoicePurchaseProduct;
import com.ruoyi.taxInvoice.service.ITaxInvoicePurchaseProductService;
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 ruoyi
* @date 2023-07-10
*/
@Controller
@RequestMapping("/taxInvoice/taxInvoicePurchaseProduct")
public class TaxInvoicePurchaseProductController extends BaseController
{
private String prefix = "taxInvoice/taxInvoicePurchaseProduct";
@Autowired
private ITaxInvoicePurchaseProductService taxInvoicePurchaseProductService;
@RequiresPermissions("taxInvoice:taxInvoicePurchaseProduct:view")
@GetMapping()
public String taxInvoicePurchaseProduct()
{
return prefix + "/taxInvoicePurchaseProduct";
}
/**
* 查询国税发票采购列表
*/
@RequiresPermissions("taxInvoice:taxInvoicePurchaseProduct:list")
@PostMapping("/list")
@ResponseBody
public TableDataInfo list(TaxInvoicePurchaseProduct taxInvoicePurchaseProduct)
{
startPage();
List<TaxInvoicePurchaseProduct> list = taxInvoicePurchaseProductService.selectTaxInvoicePurchaseProductList(taxInvoicePurchaseProduct);
return getDataTable(list);
}
/**
* 导出国税发票采购列表
*/
@RequiresPermissions("taxInvoice:taxInvoicePurchaseProduct:export")
@Log(title = "国税发票(采购)", businessType = BusinessType.EXPORT)
@PostMapping("/export")
@ResponseBody
public AjaxResult export(TaxInvoicePurchaseProduct taxInvoicePurchaseProduct)
{
List<TaxInvoicePurchaseProduct> list = taxInvoicePurchaseProductService.selectTaxInvoicePurchaseProductList(taxInvoicePurchaseProduct);
ExcelUtil<TaxInvoicePurchaseProduct> util = new ExcelUtil<TaxInvoicePurchaseProduct>(TaxInvoicePurchaseProduct.class);
return util.exportExcel(list, "国税发票(采购)数据");
}
/**
* 新增国税发票采购
*/
@GetMapping("/add")
public String add()
{
return prefix + "/add";
}
/**
* 新增保存国税发票采购
*/
@RequiresPermissions("taxInvoice:taxInvoicePurchaseProduct:add")
@Log(title = "国税发票(采购)", businessType = BusinessType.INSERT)
@PostMapping("/add")
@ResponseBody
public AjaxResult addSave(TaxInvoicePurchaseProduct taxInvoicePurchaseProduct)
{
return toAjax(taxInvoicePurchaseProductService.insertTaxInvoicePurchaseProduct(taxInvoicePurchaseProduct));
}
/**
* 修改国税发票采购
*/
@GetMapping("/edit/{taxPurchaseProductId}")
public String edit(@PathVariable("taxPurchaseProductId") Long taxPurchaseProductId, ModelMap mmap)
{
TaxInvoicePurchaseProduct taxInvoicePurchaseProduct = taxInvoicePurchaseProductService.selectTaxInvoicePurchaseProductById(taxPurchaseProductId);
mmap.put("taxInvoicePurchaseProduct", taxInvoicePurchaseProduct);
return prefix + "/edit";
}
/**
* 修改保存国税发票采购
*/
@RequiresPermissions("taxInvoice:taxInvoicePurchaseProduct:edit")
@Log(title = "国税发票(采购)", businessType = BusinessType.UPDATE)
@PostMapping("/edit")
@ResponseBody
public AjaxResult editSave(TaxInvoicePurchaseProduct taxInvoicePurchaseProduct)
{
return toAjax(taxInvoicePurchaseProductService.updateTaxInvoicePurchaseProduct(taxInvoicePurchaseProduct));
}
/**
* 删除国税发票采购
*/
@RequiresPermissions("taxInvoice:taxInvoicePurchaseProduct:remove")
@Log(title = "国税发票(采购)", businessType = BusinessType.DELETE)
@PostMapping( "/remove")
@ResponseBody
public AjaxResult remove(String ids)
{
return toAjax(taxInvoicePurchaseProductService.deleteTaxInvoicePurchaseProductByIds(ids));
}
}

289
ruoyi-admin/src/main/java/com/ruoyi/taxInvoice/domain/TaxInvoicePurchaseInfo.java

@ -0,0 +1,289 @@
package com.ruoyi.taxInvoice.domain;
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;
/**
* 国税发票明细采购对象 tax_invoice_purchase_info
*
* @author ruoyi
* @date 2023-07-06
*/
public class TaxInvoicePurchaseInfo extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** */
private Long taxPurchaseInfoId;
/** 厂商名称 */
@Excel(name = "厂商名称")
private String supplierName;
/** 厂商代码 */
@Excel(name = "厂商代码")
private String supplierCode;
/** 发票号码 */
@Excel(name = "发票号码")
private String taxPurchaseCode;
/** 合同号码 */
@Excel(name = "合同号码")
private String contractCode;
/** 付款方式 */
@Excel(name = "付款方式")
private String paymentMethod;
/** 到票日期 */
@Excel(name = "到票日期")
private String arrivalDate;
/** 离境日期 */
@Excel(name = "离境日期")
private String departureDate;
/** 运输方式 */
@Excel(name = "运输方式")
private String modeOfTransport;
/** 出口海关 */
@Excel(name = "出口海关")
private String exportCustoms;
/** 运输工具名称 */
@Excel(name = "运输工具名称")
private String conveyance;
/** 币种 */
@Excel(name = "币种")
private String currency;
/** 件数(箱数) */
@Excel(name = "件数", readConverterExp = "箱=数")
private Long packageNumber;
/** 抵运国(地区) */
@Excel(name = "抵运国", readConverterExp = "地=区")
private String arrivalOuntry;
/** 指运港 */
@Excel(name = "指运港")
private String destinationPort;
/** 提运单号 */
@Excel(name = "提运单号")
private String deliveryNumber;
/** 国税发票编号 */
@Excel(name = "国税发票编号")
private String nationalTaxInvoiceNumber;
/** 发票印字版号 */
@Excel(name = "发票印字版号")
private String invoicePrintingVersionNumber;
/** 备注 */
@Excel(name = "备注")
private String notes;
public void setTaxPurchaseInfoId(Long taxPurchaseInfoId)
{
this.taxPurchaseInfoId = taxPurchaseInfoId;
}
public Long getTaxPurchaseInfoId()
{
return taxPurchaseInfoId;
}
public void setSupplierName(String supplierName)
{
this.supplierName = supplierName;
}
public String getSupplierName()
{
return supplierName;
}
public void setSupplierCode(String supplierCode)
{
this.supplierCode = supplierCode;
}
public String getSupplierCode()
{
return supplierCode;
}
public void setTaxPurchaseCode(String taxPurchaseCode)
{
this.taxPurchaseCode = taxPurchaseCode;
}
public String getTaxPurchaseCode()
{
return taxPurchaseCode;
}
public void setContractCode(String contractCode)
{
this.contractCode = contractCode;
}
public String getContractCode()
{
return contractCode;
}
public void setPaymentMethod(String paymentMethod)
{
this.paymentMethod = paymentMethod;
}
public String getPaymentMethod()
{
return paymentMethod;
}
public void setArrivalDate(String arrivalDate)
{
this.arrivalDate = arrivalDate;
}
public String getArrivalDate()
{
return arrivalDate;
}
public void setDepartureDate(String departureDate)
{
this.departureDate = departureDate;
}
public String getDepartureDate()
{
return departureDate;
}
public void setModeOfTransport(String modeOfTransport)
{
this.modeOfTransport = modeOfTransport;
}
public String getModeOfTransport()
{
return modeOfTransport;
}
public void setExportCustoms(String exportCustoms)
{
this.exportCustoms = exportCustoms;
}
public String getExportCustoms()
{
return exportCustoms;
}
public void setConveyance(String conveyance)
{
this.conveyance = conveyance;
}
public String getConveyance()
{
return conveyance;
}
public void setCurrency(String currency)
{
this.currency = currency;
}
public String getCurrency()
{
return currency;
}
public void setPackageNumber(Long packageNumber)
{
this.packageNumber = packageNumber;
}
public Long getPackageNumber()
{
return packageNumber;
}
public void setArrivalOuntry(String arrivalOuntry)
{
this.arrivalOuntry = arrivalOuntry;
}
public String getArrivalOuntry()
{
return arrivalOuntry;
}
public void setDestinationPort(String destinationPort)
{
this.destinationPort = destinationPort;
}
public String getDestinationPort()
{
return destinationPort;
}
public void setDeliveryNumber(String deliveryNumber)
{
this.deliveryNumber = deliveryNumber;
}
public String getDeliveryNumber()
{
return deliveryNumber;
}
public void setNationalTaxInvoiceNumber(String nationalTaxInvoiceNumber)
{
this.nationalTaxInvoiceNumber = nationalTaxInvoiceNumber;
}
public String getNationalTaxInvoiceNumber()
{
return nationalTaxInvoiceNumber;
}
public void setInvoicePrintingVersionNumber(String invoicePrintingVersionNumber)
{
this.invoicePrintingVersionNumber = invoicePrintingVersionNumber;
}
public String getInvoicePrintingVersionNumber()
{
return invoicePrintingVersionNumber;
}
public void setNotes(String notes)
{
this.notes = notes;
}
public String getNotes()
{
return notes;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("taxPurchaseInfoId", getTaxPurchaseInfoId())
.append("supplierName", getSupplierName())
.append("supplierCode", getSupplierCode())
.append("taxPurchaseCode", getTaxPurchaseCode())
.append("contractCode", getContractCode())
.append("paymentMethod", getPaymentMethod())
.append("arrivalDate", getArrivalDate())
.append("departureDate", getDepartureDate())
.append("modeOfTransport", getModeOfTransport())
.append("exportCustoms", getExportCustoms())
.append("conveyance", getConveyance())
.append("currency", getCurrency())
.append("packageNumber", getPackageNumber())
.append("arrivalOuntry", getArrivalOuntry())
.append("destinationPort", getDestinationPort())
.append("deliveryNumber", getDeliveryNumber())
.append("nationalTaxInvoiceNumber", getNationalTaxInvoiceNumber())
.append("invoicePrintingVersionNumber", getInvoicePrintingVersionNumber())
.append("notes", getNotes())
.toString();
}
}

149
ruoyi-admin/src/main/java/com/ruoyi/taxInvoice/domain/TaxInvoicePurchaseProduct.java

@ -0,0 +1,149 @@
package com.ruoyi.taxInvoice.domain;
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;
/**
* 国税发票采购对象 tax_invoice_purchase_product
*
* @author ruoyi
* @date 2023-07-10
*/
public class TaxInvoicePurchaseProduct extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** */
private Long taxPurchaseProductId;
/** 发票编号 */
@Excel(name = "发票编号")
private String taxPurchaseCode;
/** 料号 */
@Excel(name = "料号")
private String productCode;
/** 品名 */
@Excel(name = "品名")
private String productName;
/** 单位 */
@Excel(name = "单位")
private String inventoryUnit;
/** 数量 */
@Excel(name = "数量")
private Long count;
/** 币种 */
@Excel(name = "币种")
private String commonCurrency;
/** 单价 */
@Excel(name = "单价")
private String monovalent;
/** 金额 */
@Excel(name = "金额")
private String amount;
public void setTaxPurchaseProductId(Long taxPurchaseProductId)
{
this.taxPurchaseProductId = taxPurchaseProductId;
}
public Long getTaxPurchaseProductId()
{
return taxPurchaseProductId;
}
public void setTaxPurchaseCode(String taxPurchaseCode)
{
this.taxPurchaseCode = taxPurchaseCode;
}
public String getTaxPurchaseCode()
{
return taxPurchaseCode;
}
public void setProductCode(String productCode)
{
this.productCode = productCode;
}
public String getProductCode()
{
return productCode;
}
public void setProductName(String productName)
{
this.productName = productName;
}
public String getProductName()
{
return productName;
}
public void setInventoryUnit(String inventoryUnit)
{
this.inventoryUnit = inventoryUnit;
}
public String getInventoryUnit()
{
return inventoryUnit;
}
public void setCount(Long count)
{
this.count = count;
}
public Long getCount()
{
return count;
}
public void setCommonCurrency(String commonCurrency)
{
this.commonCurrency = commonCurrency;
}
public String getCommonCurrency()
{
return commonCurrency;
}
public void setMonovalent(String monovalent)
{
this.monovalent = monovalent;
}
public String getMonovalent()
{
return monovalent;
}
public void setAmount(String amount)
{
this.amount = amount;
}
public String getAmount()
{
return amount;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("taxPurchaseProductId", getTaxPurchaseProductId())
.append("taxPurchaseCode", getTaxPurchaseCode())
.append("productCode", getProductCode())
.append("productName", getProductName())
.append("inventoryUnit", getInventoryUnit())
.append("count", getCount())
.append("commonCurrency", getCommonCurrency())
.append("monovalent", getMonovalent())
.append("amount", getAmount())
.toString();
}
}

290
ruoyi-admin/src/main/java/com/ruoyi/taxInvoice/domain/exportDto/TaxInvoicePurchaseInfoDto.java

@ -0,0 +1,290 @@
package com.ruoyi.taxInvoice.domain.exportDto;
import com.alibaba.excel.annotation.ExcelProperty;
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;
/**
* 国税发票明细采购对象 tax_invoice_purchase_info
*
* @author ruoyi
* @date 2023-07-06
*/
public class TaxInvoicePurchaseInfoDto extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** */
private Long taxPurchaseInfoId;
/** 厂商名称 */
@ExcelProperty("厂商名称")
private String supplierName;
/** 厂商代码 */
@ExcelProperty("厂商代码")
private String supplierCode;
/** 发票号码 */
@ExcelProperty("发票号码")
private String taxPurchaseCode;
/** 合同号码 */
@ExcelProperty("合同号码")
private String contractCode;
/** 付款方式 */
@ExcelProperty("付款方式")
private String paymentMethod;
/** 到票日期 */
@ExcelProperty("到票日期")
private String arrivalDate;
/** 离境日期 */
@ExcelProperty("离境日期")
private String departureDate;
/** 运输方式 */
@ExcelProperty("运输方式")
private String modeOfTransport;
/** 出口海关 */
@ExcelProperty("出口海关")
private String exportCustoms;
/** 运输工具名称 */
@ExcelProperty("运输工具名称")
private String conveyance;
/** 币种 */
@ExcelProperty("币种")
private String currency;
/** 件数(箱数) */
@ExcelProperty("件数")
private Long packageNumber;
/** 抵运国(地区) */
@ExcelProperty("抵运国")
private String arrivalOuntry;
/** 指运港 */
@ExcelProperty("指运港")
private String destinationPort;
/** 提运单号 */
@ExcelProperty("提运单号")
private String deliveryNumber;
/** 国税发票编号 */
@ExcelProperty("国税发票编号")
private String nationalTaxInvoiceNumber;
/** 发票印字版号 */
@ExcelProperty("发票印字版号")
private String invoicePrintingVersionNumber;
/** 备注 */
@ExcelProperty("备注")
private String notes;
public void setTaxPurchaseInfoId(Long taxPurchaseInfoId)
{
this.taxPurchaseInfoId = taxPurchaseInfoId;
}
public Long getTaxPurchaseInfoId()
{
return taxPurchaseInfoId;
}
public void setSupplierName(String supplierName)
{
this.supplierName = supplierName;
}
public String getSupplierName()
{
return supplierName;
}
public void setSupplierCode(String supplierCode)
{
this.supplierCode = supplierCode;
}
public String getSupplierCode()
{
return supplierCode;
}
public void setTaxPurchaseCode(String taxPurchaseCode)
{
this.taxPurchaseCode = taxPurchaseCode;
}
public String getTaxPurchaseCode()
{
return taxPurchaseCode;
}
public void setContractCode(String contractCode)
{
this.contractCode = contractCode;
}
public String getContractCode()
{
return contractCode;
}
public void setPaymentMethod(String paymentMethod)
{
this.paymentMethod = paymentMethod;
}
public String getPaymentMethod()
{
return paymentMethod;
}
public void setArrivalDate(String arrivalDate)
{
this.arrivalDate = arrivalDate;
}
public String getArrivalDate()
{
return arrivalDate;
}
public void setDepartureDate(String departureDate)
{
this.departureDate = departureDate;
}
public String getDepartureDate()
{
return departureDate;
}
public void setModeOfTransport(String modeOfTransport)
{
this.modeOfTransport = modeOfTransport;
}
public String getModeOfTransport()
{
return modeOfTransport;
}
public void setExportCustoms(String exportCustoms)
{
this.exportCustoms = exportCustoms;
}
public String getExportCustoms()
{
return exportCustoms;
}
public void setConveyance(String conveyance)
{
this.conveyance = conveyance;
}
public String getConveyance()
{
return conveyance;
}
public void setCurrency(String currency)
{
this.currency = currency;
}
public String getCurrency()
{
return currency;
}
public void setPackageNumber(Long packageNumber)
{
this.packageNumber = packageNumber;
}
public Long getPackageNumber()
{
return packageNumber;
}
public void setArrivalOuntry(String arrivalOuntry)
{
this.arrivalOuntry = arrivalOuntry;
}
public String getArrivalOuntry()
{
return arrivalOuntry;
}
public void setDestinationPort(String destinationPort)
{
this.destinationPort = destinationPort;
}
public String getDestinationPort()
{
return destinationPort;
}
public void setDeliveryNumber(String deliveryNumber)
{
this.deliveryNumber = deliveryNumber;
}
public String getDeliveryNumber()
{
return deliveryNumber;
}
public void setNationalTaxInvoiceNumber(String nationalTaxInvoiceNumber)
{
this.nationalTaxInvoiceNumber = nationalTaxInvoiceNumber;
}
public String getNationalTaxInvoiceNumber()
{
return nationalTaxInvoiceNumber;
}
public void setInvoicePrintingVersionNumber(String invoicePrintingVersionNumber)
{
this.invoicePrintingVersionNumber = invoicePrintingVersionNumber;
}
public String getInvoicePrintingVersionNumber()
{
return invoicePrintingVersionNumber;
}
public void setNotes(String notes)
{
this.notes = notes;
}
public String getNotes()
{
return notes;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("taxPurchaseInfoId", getTaxPurchaseInfoId())
.append("supplierName", getSupplierName())
.append("supplierCode", getSupplierCode())
.append("taxPurchaseCode", getTaxPurchaseCode())
.append("contractCode", getContractCode())
.append("paymentMethod", getPaymentMethod())
.append("arrivalDate", getArrivalDate())
.append("departureDate", getDepartureDate())
.append("modeOfTransport", getModeOfTransport())
.append("exportCustoms", getExportCustoms())
.append("conveyance", getConveyance())
.append("currency", getCurrency())
.append("packageNumber", getPackageNumber())
.append("arrivalOuntry", getArrivalOuntry())
.append("destinationPort", getDestinationPort())
.append("deliveryNumber", getDeliveryNumber())
.append("nationalTaxInvoiceNumber", getNationalTaxInvoiceNumber())
.append("invoicePrintingVersionNumber", getInvoicePrintingVersionNumber())
.append("notes", getNotes())
.toString();
}
}

151
ruoyi-admin/src/main/java/com/ruoyi/taxInvoice/domain/exportDto/TaxInvoicePurchaseProductDto.java

@ -0,0 +1,151 @@
package com.ruoyi.taxInvoice.domain.exportDto;
import com.alibaba.excel.annotation.ExcelProperty;
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;
/**
* 国税发票采购对象 tax_invoice_purchase_product
*
* @author ruoyi
* @date 2023-07-06
*/
public class TaxInvoicePurchaseProductDto extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** */
private Long taxPurchaseProductId;
/** 发票编号 */
@ExcelProperty("发票编号")
private String taxPurchaseCode;
/** 料号 */
@ExcelProperty("料号")
private String productCode;
/** 品名 */
@ExcelProperty("品名")
private String productName;
/** 单位 */
@ExcelProperty("单位")
private String inventoryUnit;
/** 数量 */
@ExcelProperty("数量")
private Long count;
/** 币种 */
@ExcelProperty("币种")
private String commonCurrency;
/** 单价 */
@ExcelProperty("单价")
private String monovalent;
/** 金额 */
@ExcelProperty("金额")
private String amount;
public void setTaxPurchaseCode(String taxPurchaseCode)
{
this.taxPurchaseCode = taxPurchaseCode;
}
public String getTaxPurchaseCode()
{
return taxPurchaseCode;
}
public void setTaxPurchaseProductId(Long taxPurchaseProductId)
{
this.taxPurchaseProductId = taxPurchaseProductId;
}
public Long getTaxPurchaseProductId()
{
return taxPurchaseProductId;
}
public void setProductCode(String productCode)
{
this.productCode = productCode;
}
public String getProductCode()
{
return productCode;
}
public void setProductName(String productName)
{
this.productName = productName;
}
public String getProductName()
{
return productName;
}
public void setInventoryUnit(String inventoryUnit)
{
this.inventoryUnit = inventoryUnit;
}
public String getInventoryUnit()
{
return inventoryUnit;
}
public void setCount(Long count)
{
this.count = count;
}
public Long getCount()
{
return count;
}
public void setCommonCurrency(String commonCurrency)
{
this.commonCurrency = commonCurrency;
}
public String getCommonCurrency()
{
return commonCurrency;
}
public void setMonovalent(String monovalent)
{
this.monovalent = monovalent;
}
public String getMonovalent()
{
return monovalent;
}
public void setAmount(String amount)
{
this.amount = amount;
}
public String getAmount()
{
return amount;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("taxPurchaseProductId", getTaxPurchaseProductId())
.append("taxPurchaseCode", getTaxPurchaseCode())
.append("productCode", getProductCode())
.append("productName", getProductName())
.append("inventoryUnit", getInventoryUnit())
.append("count", getCount())
.append("commonCurrency", getCommonCurrency())
.append("monovalent", getMonovalent())
.append("amount", getAmount())
.toString();
}
}

61
ruoyi-admin/src/main/java/com/ruoyi/taxInvoice/mapper/TaxInvoicePurchaseInfoMapper.java

@ -0,0 +1,61 @@
package com.ruoyi.taxInvoice.mapper;
import java.util.List;
import com.ruoyi.taxInvoice.domain.TaxInvoicePurchaseInfo;
/**
* 国税发票明细采购Mapper接口
*
* @author ruoyi
* @date 2023-07-06
*/
public interface TaxInvoicePurchaseInfoMapper
{
/**
* 查询国税发票明细采购
*
* @param taxPurchaseInfoId 国税发票明细采购ID
* @return 国税发票明细采购
*/
public TaxInvoicePurchaseInfo selectTaxInvoicePurchaseInfoById(Long taxPurchaseInfoId);
/**
* 查询国税发票明细采购列表
*
* @param taxInvoicePurchaseInfo 国税发票明细采购
* @return 国税发票明细采购集合
*/
public List<TaxInvoicePurchaseInfo> selectTaxInvoicePurchaseInfoList(TaxInvoicePurchaseInfo taxInvoicePurchaseInfo);
/**
* 新增国税发票明细采购
*
* @param taxInvoicePurchaseInfo 国税发票明细采购
* @return 结果
*/
public int insertTaxInvoicePurchaseInfo(TaxInvoicePurchaseInfo taxInvoicePurchaseInfo);
/**
* 修改国税发票明细采购
*
* @param taxInvoicePurchaseInfo 国税发票明细采购
* @return 结果
*/
public int updateTaxInvoicePurchaseInfo(TaxInvoicePurchaseInfo taxInvoicePurchaseInfo);
/**
* 删除国税发票明细采购
*
* @param taxPurchaseInfoId 国税发票明细采购ID
* @return 结果
*/
public int deleteTaxInvoicePurchaseInfoById(Long taxPurchaseInfoId);
/**
* 批量删除国税发票明细采购
*
* @param taxPurchaseInfoIds 需要删除的数据ID
* @return 结果
*/
public int deleteTaxInvoicePurchaseInfoByIds(String[] taxPurchaseInfoIds);
}

61
ruoyi-admin/src/main/java/com/ruoyi/taxInvoice/mapper/TaxInvoicePurchaseProductMapper.java

@ -0,0 +1,61 @@
package com.ruoyi.taxInvoice.mapper;
import java.util.List;
import com.ruoyi.taxInvoice.domain.TaxInvoicePurchaseProduct;
/**
* 国税发票采购Mapper接口
*
* @author ruoyi
* @date 2023-07-10
*/
public interface TaxInvoicePurchaseProductMapper
{
/**
* 查询国税发票采购
*
* @param taxPurchaseProductId 国税发票采购ID
* @return 国税发票采购
*/
public TaxInvoicePurchaseProduct selectTaxInvoicePurchaseProductById(Long taxPurchaseProductId);
/**
* 查询国税发票采购列表
*
* @param taxInvoicePurchaseProduct 国税发票采购
* @return 国税发票采购集合
*/
public List<TaxInvoicePurchaseProduct> selectTaxInvoicePurchaseProductList(TaxInvoicePurchaseProduct taxInvoicePurchaseProduct);
/**
* 新增国税发票采购
*
* @param taxInvoicePurchaseProduct 国税发票采购
* @return 结果
*/
public int insertTaxInvoicePurchaseProduct(TaxInvoicePurchaseProduct taxInvoicePurchaseProduct);
/**
* 修改国税发票采购
*
* @param taxInvoicePurchaseProduct 国税发票采购
* @return 结果
*/
public int updateTaxInvoicePurchaseProduct(TaxInvoicePurchaseProduct taxInvoicePurchaseProduct);
/**
* 删除国税发票采购
*
* @param taxPurchaseProductId 国税发票采购ID
* @return 结果
*/
public int deleteTaxInvoicePurchaseProductById(Long taxPurchaseProductId);
/**
* 批量删除国税发票采购
*
* @param taxPurchaseProductIds 需要删除的数据ID
* @return 结果
*/
public int deleteTaxInvoicePurchaseProductByIds(String[] taxPurchaseProductIds);
}

61
ruoyi-admin/src/main/java/com/ruoyi/taxInvoice/service/ITaxInvoicePurchaseInfoService.java

@ -0,0 +1,61 @@
package com.ruoyi.taxInvoice.service;
import java.util.List;
import com.ruoyi.taxInvoice.domain.TaxInvoicePurchaseInfo;
/**
* 国税发票明细采购Service接口
*
* @author ruoyi
* @date 2023-07-06
*/
public interface ITaxInvoicePurchaseInfoService
{
/**
* 查询国税发票明细采购
*
* @param taxPurchaseInfoId 国税发票明细采购ID
* @return 国税发票明细采购
*/
public TaxInvoicePurchaseInfo selectTaxInvoicePurchaseInfoById(Long taxPurchaseInfoId);
/**
* 查询国税发票明细采购列表
*
* @param taxInvoicePurchaseInfo 国税发票明细采购
* @return 国税发票明细采购集合
*/
public List<TaxInvoicePurchaseInfo> selectTaxInvoicePurchaseInfoList(TaxInvoicePurchaseInfo taxInvoicePurchaseInfo);
/**
* 新增国税发票明细采购
*
* @param taxInvoicePurchaseInfo 国税发票明细采购
* @return 结果
*/
public int insertTaxInvoicePurchaseInfo(TaxInvoicePurchaseInfo taxInvoicePurchaseInfo);
/**
* 修改国税发票明细采购
*
* @param taxInvoicePurchaseInfo 国税发票明细采购
* @return 结果
*/
public int updateTaxInvoicePurchaseInfo(TaxInvoicePurchaseInfo taxInvoicePurchaseInfo);
/**
* 批量删除国税发票明细采购
*
* @param ids 需要删除的数据ID
* @return 结果
*/
public int deleteTaxInvoicePurchaseInfoByIds(String ids);
/**
* 删除国税发票明细采购信息
*
* @param taxPurchaseInfoId 国税发票明细采购ID
* @return 结果
*/
public int deleteTaxInvoicePurchaseInfoById(Long taxPurchaseInfoId);
}

61
ruoyi-admin/src/main/java/com/ruoyi/taxInvoice/service/ITaxInvoicePurchaseProductService.java

@ -0,0 +1,61 @@
package com.ruoyi.taxInvoice.service;
import java.util.List;
import com.ruoyi.taxInvoice.domain.TaxInvoicePurchaseProduct;
/**
* 国税发票采购Service接口
*
* @author ruoyi
* @date 2023-07-10
*/
public interface ITaxInvoicePurchaseProductService
{
/**
* 查询国税发票采购
*
* @param taxPurchaseProductId 国税发票采购ID
* @return 国税发票采购
*/
public TaxInvoicePurchaseProduct selectTaxInvoicePurchaseProductById(Long taxPurchaseProductId);
/**
* 查询国税发票采购列表
*
* @param taxInvoicePurchaseProduct 国税发票采购
* @return 国税发票采购集合
*/
public List<TaxInvoicePurchaseProduct> selectTaxInvoicePurchaseProductList(TaxInvoicePurchaseProduct taxInvoicePurchaseProduct);
/**
* 新增国税发票采购
*
* @param taxInvoicePurchaseProduct 国税发票采购
* @return 结果
*/
public int insertTaxInvoicePurchaseProduct(TaxInvoicePurchaseProduct taxInvoicePurchaseProduct);
/**
* 修改国税发票采购
*
* @param taxInvoicePurchaseProduct 国税发票采购
* @return 结果
*/
public int updateTaxInvoicePurchaseProduct(TaxInvoicePurchaseProduct taxInvoicePurchaseProduct);
/**
* 批量删除国税发票采购
*
* @param ids 需要删除的数据ID
* @return 结果
*/
public int deleteTaxInvoicePurchaseProductByIds(String ids);
/**
* 删除国税发票采购信息
*
* @param taxPurchaseProductId 国税发票采购ID
* @return 结果
*/
public int deleteTaxInvoicePurchaseProductById(Long taxPurchaseProductId);
}

94
ruoyi-admin/src/main/java/com/ruoyi/taxInvoice/service/impl/TaxInvoicePurchaseInfoServiceImpl.java

@ -0,0 +1,94 @@
package com.ruoyi.taxInvoice.service.impl;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.taxInvoice.mapper.TaxInvoicePurchaseInfoMapper;
import com.ruoyi.taxInvoice.domain.TaxInvoicePurchaseInfo;
import com.ruoyi.taxInvoice.service.ITaxInvoicePurchaseInfoService;
import com.ruoyi.common.core.text.Convert;
/**
* 国税发票明细采购Service业务层处理
*
* @author ruoyi
* @date 2023-07-06
*/
@Service
public class TaxInvoicePurchaseInfoServiceImpl implements ITaxInvoicePurchaseInfoService
{
@Autowired
private TaxInvoicePurchaseInfoMapper taxInvoicePurchaseInfoMapper;
/**
* 查询国税发票明细采购
*
* @param taxPurchaseInfoId 国税发票明细采购ID
* @return 国税发票明细采购
*/
@Override
public TaxInvoicePurchaseInfo selectTaxInvoicePurchaseInfoById(Long taxPurchaseInfoId)
{
return taxInvoicePurchaseInfoMapper.selectTaxInvoicePurchaseInfoById(taxPurchaseInfoId);
}
/**
* 查询国税发票明细采购列表
*
* @param taxInvoicePurchaseInfo 国税发票明细采购
* @return 国税发票明细采购
*/
@Override
public List<TaxInvoicePurchaseInfo> selectTaxInvoicePurchaseInfoList(TaxInvoicePurchaseInfo taxInvoicePurchaseInfo)
{
return taxInvoicePurchaseInfoMapper.selectTaxInvoicePurchaseInfoList(taxInvoicePurchaseInfo);
}
/**
* 新增国税发票明细采购
*
* @param taxInvoicePurchaseInfo 国税发票明细采购
* @return 结果
*/
@Override
public int insertTaxInvoicePurchaseInfo(TaxInvoicePurchaseInfo taxInvoicePurchaseInfo)
{
return taxInvoicePurchaseInfoMapper.insertTaxInvoicePurchaseInfo(taxInvoicePurchaseInfo);
}
/**
* 修改国税发票明细采购
*
* @param taxInvoicePurchaseInfo 国税发票明细采购
* @return 结果
*/
@Override
public int updateTaxInvoicePurchaseInfo(TaxInvoicePurchaseInfo taxInvoicePurchaseInfo)
{
return taxInvoicePurchaseInfoMapper.updateTaxInvoicePurchaseInfo(taxInvoicePurchaseInfo);
}
/**
* 删除国税发票明细采购对象
*
* @param ids 需要删除的数据ID
* @return 结果
*/
@Override
public int deleteTaxInvoicePurchaseInfoByIds(String ids)
{
return taxInvoicePurchaseInfoMapper.deleteTaxInvoicePurchaseInfoByIds(Convert.toStrArray(ids));
}
/**
* 删除国税发票明细采购信息
*
* @param taxPurchaseInfoId 国税发票明细采购ID
* @return 结果
*/
@Override
public int deleteTaxInvoicePurchaseInfoById(Long taxPurchaseInfoId)
{
return taxInvoicePurchaseInfoMapper.deleteTaxInvoicePurchaseInfoById(taxPurchaseInfoId);
}
}

94
ruoyi-admin/src/main/java/com/ruoyi/taxInvoice/service/impl/TaxInvoicePurchaseProductServiceImpl.java

@ -0,0 +1,94 @@
package com.ruoyi.taxInvoice.service.impl;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.taxInvoice.mapper.TaxInvoicePurchaseProductMapper;
import com.ruoyi.taxInvoice.domain.TaxInvoicePurchaseProduct;
import com.ruoyi.taxInvoice.service.ITaxInvoicePurchaseProductService;
import com.ruoyi.common.core.text.Convert;
/**
* 国税发票采购Service业务层处理
*
* @author ruoyi
* @date 2023-07-10
*/
@Service
public class TaxInvoicePurchaseProductServiceImpl implements ITaxInvoicePurchaseProductService
{
@Autowired
private TaxInvoicePurchaseProductMapper taxInvoicePurchaseProductMapper;
/**
* 查询国税发票采购
*
* @param taxPurchaseProductId 国税发票采购ID
* @return 国税发票采购
*/
@Override
public TaxInvoicePurchaseProduct selectTaxInvoicePurchaseProductById(Long taxPurchaseProductId)
{
return taxInvoicePurchaseProductMapper.selectTaxInvoicePurchaseProductById(taxPurchaseProductId);
}
/**
* 查询国税发票采购列表
*
* @param taxInvoicePurchaseProduct 国税发票采购
* @return 国税发票采购
*/
@Override
public List<TaxInvoicePurchaseProduct> selectTaxInvoicePurchaseProductList(TaxInvoicePurchaseProduct taxInvoicePurchaseProduct)
{
return taxInvoicePurchaseProductMapper.selectTaxInvoicePurchaseProductList(taxInvoicePurchaseProduct);
}
/**
* 新增国税发票采购
*
* @param taxInvoicePurchaseProduct 国税发票采购
* @return 结果
*/
@Override
public int insertTaxInvoicePurchaseProduct(TaxInvoicePurchaseProduct taxInvoicePurchaseProduct)
{
return taxInvoicePurchaseProductMapper.insertTaxInvoicePurchaseProduct(taxInvoicePurchaseProduct);
}
/**
* 修改国税发票采购
*
* @param taxInvoicePurchaseProduct 国税发票采购
* @return 结果
*/
@Override
public int updateTaxInvoicePurchaseProduct(TaxInvoicePurchaseProduct taxInvoicePurchaseProduct)
{
return taxInvoicePurchaseProductMapper.updateTaxInvoicePurchaseProduct(taxInvoicePurchaseProduct);
}
/**
* 删除国税发票采购对象
*
* @param ids 需要删除的数据ID
* @return 结果
*/
@Override
public int deleteTaxInvoicePurchaseProductByIds(String ids)
{
return taxInvoicePurchaseProductMapper.deleteTaxInvoicePurchaseProductByIds(Convert.toStrArray(ids));
}
/**
* 删除国税发票采购信息
*
* @param taxPurchaseProductId 国税发票采购ID
* @return 结果
*/
@Override
public int deleteTaxInvoicePurchaseProductById(Long taxPurchaseProductId)
{
return taxInvoicePurchaseProductMapper.deleteTaxInvoicePurchaseProductById(taxPurchaseProductId);
}
}

147
ruoyi-admin/src/main/resources/mapper/taxInvoice/TaxInvoicePurchaseInfoMapper.xml

@ -0,0 +1,147 @@
<?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.taxInvoice.mapper.TaxInvoicePurchaseInfoMapper">
<resultMap type="TaxInvoicePurchaseInfo" id="TaxInvoicePurchaseInfoResult">
<result property="taxPurchaseInfoId" column="tax_purchase_info_id" />
<result property="supplierName" column="supplier_name" />
<result property="supplierCode" column="supplier_code" />
<result property="taxPurchaseCode" column="tax_purchase_code" />
<result property="contractCode" column="contract_code" />
<result property="paymentMethod" column="payment_method" />
<result property="arrivalDate" column="arrival_date" />
<result property="departureDate" column="departure_date" />
<result property="modeOfTransport" column="mode_of_transport" />
<result property="exportCustoms" column="export_customs" />
<result property="conveyance" column="conveyance" />
<result property="currency" column="currency" />
<result property="packageNumber" column="package_number" />
<result property="arrivalOuntry" column="arrival_ountry" />
<result property="destinationPort" column="destination_port" />
<result property="deliveryNumber" column="delivery_number" />
<result property="nationalTaxInvoiceNumber" column="
national_tax_invoice_number" />
<result property="invoicePrintingVersionNumber" column="invoice_printing_version_number" />
<result property="notes" column="notes" />
</resultMap>
<sql id="selectTaxInvoicePurchaseInfoVo">
select tax_purchase_info_id, supplier_name, supplier_code, tax_purchase_code, contract_code, payment_method, arrival_date, departure_date, mode_of_transport, export_customs, conveyance, currency, package_number, arrival_ountry, destination_port, delivery_number,
national_tax_invoice_number, invoice_printing_version_number, notes from tax_invoice_purchase_info
</sql>
<select id="selectTaxInvoicePurchaseInfoList" parameterType="TaxInvoicePurchaseInfo" resultMap="TaxInvoicePurchaseInfoResult">
<include refid="selectTaxInvoicePurchaseInfoVo"/>
<where>
<if test="supplierName != null and supplierName != ''"> and supplier_name like concat('%', #{supplierName}, '%')</if>
<if test="supplierCode != null and supplierCode != ''"> and supplier_code = #{supplierCode}</if>
<if test="taxPurchaseCode != null and taxPurchaseCode != ''"> and tax_purchase_code = #{taxPurchaseCode}</if>
<if test="contractCode != null and contractCode != ''"> and contract_code = #{contractCode}</if>
<if test="paymentMethod != null and paymentMethod != ''"> and payment_method = #{paymentMethod}</if>
<if test="arrivalDate != null and arrivalDate != ''"> and arrival_date = #{arrivalDate}</if>
<if test="departureDate != null and departureDate != ''"> and departure_date = #{departureDate}</if>
<if test="modeOfTransport != null and modeOfTransport != ''"> and mode_of_transport = #{modeOfTransport}</if>
<if test="exportCustoms != null and exportCustoms != ''"> and export_customs = #{exportCustoms}</if>
<if test="conveyance != null and conveyance != ''"> and conveyance = #{conveyance}</if>
<if test="currency != null and currency != ''"> and currency = #{currency}</if>
<if test="packageNumber != null "> and package_number = #{packageNumber}</if>
<if test="arrivalOuntry != null and arrivalOuntry != ''"> and arrival_ountry = #{arrivalOuntry}</if>
<if test="destinationPort != null and destinationPort != ''"> and destination_port = #{destinationPort}</if>
<if test="deliveryNumber != null and deliveryNumber != ''"> and delivery_number = #{deliveryNumber}</if>
<if test="nationalTaxInvoiceNumber != null and nationalTaxInvoiceNumber != ''"> and
national_tax_invoice_number = #{nationalTaxInvoiceNumber}</if>
<if test="invoicePrintingVersionNumber != null and invoicePrintingVersionNumber != ''"> and invoice_printing_version_number = #{invoicePrintingVersionNumber}</if>
<if test="notes != null and notes != ''"> and notes = #{notes}</if>
</where>
</select>
<select id="selectTaxInvoicePurchaseInfoById" parameterType="Long" resultMap="TaxInvoicePurchaseInfoResult">
<include refid="selectTaxInvoicePurchaseInfoVo"/>
where tax_purchase_info_id = #{taxPurchaseInfoId}
</select>
<insert id="insertTaxInvoicePurchaseInfo" parameterType="TaxInvoicePurchaseInfo" useGeneratedKeys="true" keyProperty="taxPurchaseInfoId">
insert into tax_invoice_purchase_info
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="supplierName != null">supplier_name,</if>
<if test="supplierCode != null">supplier_code,</if>
<if test="taxPurchaseCode != null">tax_purchase_code,</if>
<if test="contractCode != null">contract_code,</if>
<if test="paymentMethod != null">payment_method,</if>
<if test="arrivalDate != null">arrival_date,</if>
<if test="departureDate != null">departure_date,</if>
<if test="modeOfTransport != null">mode_of_transport,</if>
<if test="exportCustoms != null">export_customs,</if>
<if test="conveyance != null">conveyance,</if>
<if test="currency != null">currency,</if>
<if test="packageNumber != null">package_number,</if>
<if test="arrivalOuntry != null">arrival_ountry,</if>
<if test="destinationPort != null">destination_port,</if>
<if test="deliveryNumber != null">delivery_number,</if>
<if test="nationalTaxInvoiceNumber != null">
national_tax_invoice_number,</if>
<if test="invoicePrintingVersionNumber != null">invoice_printing_version_number,</if>
<if test="notes != null">notes,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="supplierName != null">#{supplierName},</if>
<if test="supplierCode != null">#{supplierCode},</if>
<if test="taxPurchaseCode != null">#{taxPurchaseCode},</if>
<if test="contractCode != null">#{contractCode},</if>
<if test="paymentMethod != null">#{paymentMethod},</if>
<if test="arrivalDate != null">#{arrivalDate},</if>
<if test="departureDate != null">#{departureDate},</if>
<if test="modeOfTransport != null">#{modeOfTransport},</if>
<if test="exportCustoms != null">#{exportCustoms},</if>
<if test="conveyance != null">#{conveyance},</if>
<if test="currency != null">#{currency},</if>
<if test="packageNumber != null">#{packageNumber},</if>
<if test="arrivalOuntry != null">#{arrivalOuntry},</if>
<if test="destinationPort != null">#{destinationPort},</if>
<if test="deliveryNumber != null">#{deliveryNumber},</if>
<if test="nationalTaxInvoiceNumber != null">#{nationalTaxInvoiceNumber},</if>
<if test="invoicePrintingVersionNumber != null">#{invoicePrintingVersionNumber},</if>
<if test="notes != null">#{notes},</if>
</trim>
</insert>
<update id="updateTaxInvoicePurchaseInfo" parameterType="TaxInvoicePurchaseInfo">
update tax_invoice_purchase_info
<trim prefix="SET" suffixOverrides=",">
<if test="supplierName != null">supplier_name = #{supplierName},</if>
<if test="supplierCode != null">supplier_code = #{supplierCode},</if>
<if test="taxPurchaseCode != null">tax_purchase_code = #{taxPurchaseCode},</if>
<if test="contractCode != null">contract_code = #{contractCode},</if>
<if test="paymentMethod != null">payment_method = #{paymentMethod},</if>
<if test="arrivalDate != null">arrival_date = #{arrivalDate},</if>
<if test="departureDate != null">departure_date = #{departureDate},</if>
<if test="modeOfTransport != null">mode_of_transport = #{modeOfTransport},</if>
<if test="exportCustoms != null">export_customs = #{exportCustoms},</if>
<if test="conveyance != null">conveyance = #{conveyance},</if>
<if test="currency != null">currency = #{currency},</if>
<if test="packageNumber != null">package_number = #{packageNumber},</if>
<if test="arrivalOuntry != null">arrival_ountry = #{arrivalOuntry},</if>
<if test="destinationPort != null">destination_port = #{destinationPort},</if>
<if test="deliveryNumber != null">delivery_number = #{deliveryNumber},</if>
<if test="nationalTaxInvoiceNumber != null">
national_tax_invoice_number = #{nationalTaxInvoiceNumber},</if>
<if test="invoicePrintingVersionNumber != null">invoice_printing_version_number = #{invoicePrintingVersionNumber},</if>
<if test="notes != null">notes = #{notes},</if>
</trim>
where tax_purchase_info_id = #{taxPurchaseInfoId}
</update>
<delete id="deleteTaxInvoicePurchaseInfoById" parameterType="Long">
delete from tax_invoice_purchase_info where tax_purchase_info_id = #{taxPurchaseInfoId}
</delete>
<delete id="deleteTaxInvoicePurchaseInfoByIds" parameterType="String">
delete from tax_invoice_purchase_info where tax_purchase_info_id in
<foreach item="taxPurchaseInfoId" collection="array" open="(" separator="," close=")">
#{taxPurchaseInfoId}
</foreach>
</delete>
</mapper>

87
ruoyi-admin/src/main/resources/mapper/taxInvoice/TaxInvoicePurchaseProductMapper.xml

@ -0,0 +1,87 @@
<?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.taxInvoice.mapper.TaxInvoicePurchaseProductMapper">
<resultMap type="TaxInvoicePurchaseProduct" id="TaxInvoicePurchaseProductResult">
<result property="taxPurchaseProductId" column="tax_purchase_product_id" />
<result property="productCode" column="product_code" />
<result property="productName" column="product_name" />
<result property="inventoryUnit" column="inventory_unit" />
<result property="count" column="count" />
<result property="commonCurrency" column="commonCurrency" />
<result property="monovalent" column="monovalent" />
<result property="amount" column="amount" />
</resultMap>
<sql id="selectTaxInvoicePurchaseProductVo">
select tax_purchase_product_id, product_code, product_name, inventory_unit, count, commonCurrency, monovalent, amount from tax_invoice_purchase_product
</sql>
<select id="selectTaxInvoicePurchaseProductList" parameterType="TaxInvoicePurchaseProduct" resultMap="TaxInvoicePurchaseProductResult">
<include refid="selectTaxInvoicePurchaseProductVo"/>
<where>
<if test="productCode != null and productCode != ''"> and product_code = #{productCode}</if>
<if test="productName != null and productName != ''"> and product_name like concat('%', #{productName}, '%')</if>
<if test="inventoryUnit != null and inventoryUnit != ''"> and inventory_unit = #{inventoryUnit}</if>
<if test="count != null "> and count = #{count}</if>
<if test="commonCurrency != null and commonCurrency != ''"> and commonCurrency = #{commonCurrency}</if>
<if test="monovalent != null and monovalent != ''"> and monovalent = #{monovalent}</if>
<if test="amount != null and amount != ''"> and amount = #{amount}</if>
</where>
</select>
<select id="selectTaxInvoicePurchaseProductById" parameterType="Long" resultMap="TaxInvoicePurchaseProductResult">
<include refid="selectTaxInvoicePurchaseProductVo"/>
where tax_purchase_product_id = #{taxPurchaseProductId}
</select>
<insert id="insertTaxInvoicePurchaseProduct" parameterType="TaxInvoicePurchaseProduct" useGeneratedKeys="true" keyProperty="taxPurchaseProductId">
insert into tax_invoice_purchase_product
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="productCode != null">product_code,</if>
<if test="productName != null">product_name,</if>
<if test="inventoryUnit != null">inventory_unit,</if>
<if test="count != null">count,</if>
<if test="commonCurrency != null">commonCurrency,</if>
<if test="monovalent != null">monovalent,</if>
<if test="amount != null">amount,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="productCode != null">#{productCode},</if>
<if test="productName != null">#{productName},</if>
<if test="inventoryUnit != null">#{inventoryUnit},</if>
<if test="count != null">#{count},</if>
<if test="commonCurrency != null">#{commonCurrency},</if>
<if test="monovalent != null">#{monovalent},</if>
<if test="amount != null">#{amount},</if>
</trim>
</insert>
<update id="updateTaxInvoicePurchaseProduct" parameterType="TaxInvoicePurchaseProduct">
update tax_invoice_purchase_product
<trim prefix="SET" suffixOverrides=",">
<if test="productCode != null">product_code = #{productCode},</if>
<if test="productName != null">product_name = #{productName},</if>
<if test="inventoryUnit != null">inventory_unit = #{inventoryUnit},</if>
<if test="count != null">count = #{count},</if>
<if test="commonCurrency != null">commonCurrency = #{commonCurrency},</if>
<if test="monovalent != null">monovalent = #{monovalent},</if>
<if test="amount != null">amount = #{amount},</if>
</trim>
where tax_purchase_product_id = #{taxPurchaseProductId}
</update>
<delete id="deleteTaxInvoicePurchaseProductById" parameterType="Long">
delete from tax_invoice_purchase_product where tax_purchase_product_id = #{taxPurchaseProductId}
</delete>
<delete id="deleteTaxInvoicePurchaseProductByIds" parameterType="String">
delete from tax_invoice_purchase_product where tax_purchase_product_id in
<foreach item="taxPurchaseProductId" collection="array" open="(" separator="," close=")">
#{taxPurchaseProductId}
</foreach>
</delete>
</mapper>

6
ruoyi-admin/src/main/resources/templates/taxInvoice/taxInvoiceInfo/add.html

@ -203,14 +203,10 @@
<table id="addProductTable" style="white-space:nowrap"></table> <table id="addProductTable" style="white-space:nowrap"></table>
</div> </div>
</div> </div>
<div class="modal inmodal" id="productInfoModal" <div class="modal inmodal" id="productInfoModal" role="dilog" aria-hidden="true">
role="dilog" aria-hidden="true">
<!-- 查询成品资料--> <!-- 查询成品资料-->
<div class="modal-dialog" style="width: 1000px;background-color: #FFFFFF"> <div class="modal-dialog" style="width: 1000px;background-color: #FFFFFF">
<div class="modal-content" style="background-color: #FFFFFF"> <div class="modal-content" style="background-color: #FFFFFF">
<div class="modal-body"> <div class="modal-body">
<div class="container-div"> <div class="container-div">
<div class="row"> <div class="row">

567
ruoyi-admin/src/main/resources/templates/taxInvoice/taxInvoicePurchaseInfo/add.html

@ -0,0 +1,567 @@
<!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" />
<link th:href="@{/ajax/libs/select2/select2.css}" rel="stylesheet">
<link th:href="@{/ajax/libs/select2/select2-bootstrap.css}" rel="stylesheet">
<th:block th:include="include :: bootstrap-editable-css"/>
<style>
.other-container {
width: 90%;
height: 200px;
margin: auto;
}
.other {
margin-top: 20px;
}
h4 {
display: inline-block;
margin-right: 20px;
}
.modal-body{
height: 550px;
}
iframe{
width: 100%;
height: 500px;
frameborder: 0;
border: 0;
display: inline-block;
}
</style>
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-taxInvoicePurchaseInfo-add">
<div class="form-group">
<label class="col-sm-3 control-label">厂商名称:</label>
<div class="col-sm-8">
<select name="supplierName" class="form-control m-b">
<option value="">所有</option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">厂商代码:</label>
<div class="col-sm-8">
<select name="supplierCode" class="form-control m-b">
<option value="">所有</option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">发票号码:</label>
<div class="col-sm-8">
<input name="taxPurchaseCode" 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="contractCode" 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="paymentMethod" 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="arrivalDate" id = "arrivalDate" 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">
<div class="input-group date">
<input name="departureDate" id="departureDate" 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="modeOfTransport" 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="exportCustoms" 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="conveyance" class="form-control" type="text" value="车辆">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">币种:</label>
<div class="col-sm-8">
<input name="currency" 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="packageNumber" 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="arrivalOuntry" 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="destinationPort" 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="deliveryNumber" 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="nationalTaxInvoiceNumber" 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="invoicePrintingVersionNumber" 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="notes" class="form-control" type="text">
</div>
</div>
<div style="width:100%;height:1px;border-top:solid lightgrey 1px;margin-top:50px;padding:50px 0 0 0px;">
</div>
<div class="form-group">
<label class="col-sm-3 control-label">全部数量:</label>
<div class="col-sm-8">
<input name="totalQuantity" 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="totalMoney" 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="totalMoneyUpCase" class="form-control" type="text" >
</div>
</div>
</form>
</div>
<div class="other-container">
<div class="other">
<h4>选择产品信息</h4>
<a class="btn btn-primary" onclick="showProductModal()"><i class="fa fa-plus"></i>&nbsp;选择产品</a>
<div class="col-sm-12 select-table table-striped">
<table id="addProductTable" style="white-space:nowrap"></table>
</div>
</div>
<div class="modal inmodal" id="productInfoModal" role="dilog" aria-hidden="true" style="display: none">
<!-- 查询成品资料-->
<div class="modal-dialog" style="width: 1000px;background-color: #FFFFFF">
<div class="modal-content" style="background-color: #FFFFFF">
<div class="modal-body">
<div class="container-div">
<div class="row">
<div class="col-sm-12 search-collapse">
<form id="productFormId">
<div class="select-list">
<ul>
<li>
<label>原辅料代码:</label>
<input type="text" name="rawSubsidiaryCode"/>
</li>
<li>
<label>原辅料名称:</label>
<input type="text" name="rawSubsidiaryName"/>
</li>
<li>
<li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search('productFormId','productTable')"><i
class="fa fa-search"></i>&nbsp;搜索</a>
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('productFormId','productTable')"><i
class="fa fa-refresh"></i>&nbsp;重置</a>
</li>
</ul>
</div>
</form>
</div>
<div class="col-sm-12 select-table table-striped">
<table id="productTable" style="white-space:nowrap"></table>
</div>
</div>
</div>
</div>
<div class="modal-footer">
<a class="btn btn-warning btn-rounded" onclick="addProductToTable()">确认添加</a>
<a class="btn btn-primary btn-rounded" onclick="closeProductModal()">关闭</a>
</div>
</div>
</div>
</div>
</div>
<th:block th:include="include :: footer" />
<th:block th:include="include :: datetimepicker-js" />
<th:block th:include="include :: select2-js"/>
<th:block th:include="include :: bootstrap-table-editable-js"/>
<script th:inline="javascript">
var prefix = ctx + "taxInvoice/taxInvoicePurchaseInfo"
var commonCurrencyDatas = [[${@dict.getType('sys_common_currency')}]];
$("#form-taxInvoicePurchaseInfo-add").validate({
focusCleanup: true
});
function submitHandler() {
let getData=$('#addProductTable').bootstrapTable('getData', true)
if(getData.length > 0){
if ($.validate.form()) {
//确认添加选中的成品数据
confirmProduct();
$.operate.save(prefix + "/add", $('#form-taxInvoicePurchaseInfo-add').serialize());
}
} else {
$.modal.alertWarning("未选择产品,请选择!")
}
}
$("input[name='arrivalDate']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
$("input[name='departureDate']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
$("#arrivalDate").datetimepicker("setDate", new Date());
$("#departureDate").datetimepicker("setDate", new Date());
var flag = 0
//供应商信息
$.ajax({
url: ctx + 'system/supplier/list',
type: 'post',
success: function (res) {
// console.log(res)
if (res.rows.length > 0) {
var supplierData = res.rows;
//alert(JSON.stringify(data));
for (let i in supplierData) {
$("#form-taxInvoicePurchaseInfo-add select[name='supplierCode']").append("<option value='" + supplierData[i].supplierCode + "'>" + supplierData[i].supplierCode + "</option>");
$("#form-taxInvoicePurchaseInfo-add select[name='supplierName']").append("<option value='" + supplierData[i].supplierName + "'>" + supplierData[i].supplierName + "</option>");
}
$("#form-taxInvoicePurchaseInfo-add select[name='supplierCode']").change(function () {
var supplierCode = $(this).val();
for (let i=0;i<supplierData.length;i++) {
if (supplierData[i].supplierCode == supplierCode) {
flag++;
if (flag<2) {
$("#form-taxInvoicePurchaseInfo-add select[name='supplierName']").val(supplierData[i].supplierName).trigger("change")
flag = 0
}
}
}
})
$("#form-taxInvoicePurchaseInfo-add select[name='supplierName']").change(function () {
var supplierCode = $(this).val();
for (let i=0;i<supplierData.length;i++) {
if (supplierData[i].supplierName == supplierCode) {
flag++;
if (flag<2) {
$("#form-taxInvoicePurchaseInfo-add select[name='supplierCode']").val(supplierData[i].supplierCode).trigger("change")
flag = 0
}
}
}
})
}
}
})
//点击按钮显示产品信息模态框
function showProductModal() {
if ($.validate.form()) {
$("#productInfoModal").modal("show");
} else {
$.modal.alertWarning("请填写必填项");
}
}
//初始化添加产品表
$(function () {
$('#addProductTable').bootstrapTable({
pagination: true,
pageNumber: 1,
pageSize: 10,
showToggle: false, // 是否显示详细视图和列表视图的切换按钮
cardView: false, // 是否显示详细视图
detailView: false, // 是否显示父子表
smartDisplay: false, // 加了这个才显示每页显示的行数
showExport: false, // 是否显示导出按钮
clickToSelect: true,//点击行选中
contentType: "application/x-www-form-urlencoded",
paginationDetailHAlign: ' hiddenDetailInfo',
height: 250,
uniqueId:'taxPurchaseCode',
onEditableSave: function (field, row, oldValue, $el) {
$('#addProductTable').bootstrapTable('updateRow',{index: row.id, row: row});
getTotal();
},
queryParams: function (params) {
//console.log("123");
var curParams = {
// 传递参数查询参数
pageSize: params.limit,
pageNum: params.offset / params.limit + 1,
// enterpriseCode: data[0].enterpriseCode
};
// console.log(data[0].enterpriseCode)
return curParams
},
columns: [
{
title: '操作',
align: 'center',
formatter: function (value, row, index) {
var actions = [];
actions.push('<a class="btn btn-danger btn-xs" href="javascript:void(0)" onclick="removeData(\'' + row.productCode + '\')" ><i class="fa fa-remove"></i>删除</a>');
return actions.join('');
}
},
{
field: 'taxPurchaseProductId',
title: '',
visible: false
},
{
field: 'taxPurchaseCode',
title: '发票编号',
visible: false
},
{
field: 'productCode',
title: '料号'
},
{
field: 'productName',
title: '品名'
},
{
field: 'inventoryUnit',
title: '单位'
},
{
field: 'count',
title: '数量',
editable: {
type: 'text',
title: '数量',
emptytext: '数量',
validate: function (v) {
if (isNaN(v)) return '数量必须是数字';
var ex = /^[1-9]\d*$/;
if (!ex.test(v)) return '数量必须是正整数';
}
}
},
{
field: 'commonCurrency',
title: '币种',
formatter: function(value, row, index) {
return $.table.selectDictLabel(commonCurrencyDatas, value);
}
},
{
field: 'monovalent',
title: '单价'
},
{
field: 'amount',
title: '金额',
editable: {
type: 'text',
title: '金额',
emptytext: '金额',
validate: function (value) {
}
},
formatter:function(value, row, index) {
let total = row.monovalent * row.count;
row.amount = row.monovalent * row.count;
return total.toFixed(2);
}
},
]
})
//显示产品信息
showProductData();
})
//显示产品信息
function showProductData() {
var options = {
id: 'productTable',
url: ctx+"system/supplierquotation/list",
showRefresh: false,
showToggle: false,
clickToSelect: true,
modalName: "报价信息",
columns: [{
checkbox: true
},
{
field: 'supplierQuotationId',
title: '供应商报价id',
visible: false
},
{
field: 'rawSubsidiaryCode',
title: '原辅料代码'
},
{
field: 'rawSubsidiaryName',
title: '原辅料名称'
},
{
field: 'inventoryUnit',
title: '单位'
},
{
field: 'inventoryPrice',
title: '单价'
},
{
field: 'commonCurrency',
title: '币别'
}]
};
$.table.init(options);
}
//表中添加选中的产品信息
function addProductToTable() {
var data = $("#productTable").bootstrapTable("getSelections");
var count = $('#addProductTable').bootstrapTable('getData').length;
var taxPurchaseCode = $("input[name='taxPurchaseCode']").val();
for (i = 0; i < data.length; i++) {
let taxProduct = $('#addProductTable').bootstrapTable('getRowByUniqueId', data[i].rawSubsidiaryCode);
if (taxProduct != null) {
alert(taxProduct.rawSubsidiaryCode + "已存在,不可重复添加!");
continue;
}
$("#addProductTable").bootstrapTable('insertRow', {
index: count + i,
row: {
taxPurchaseCode: taxPurchaseCode,
productCode: data[i].rawSubsidiaryCode,
productName: data[i].rawSubsidiaryName,
inventoryUnit: data[i].inventoryUnit,
count: '',
commonCurrency: data[i].commonCurrency,
monovalent: data[i].inventoryPrice,
amount: ''
}
});
}
$("#productTable").bootstrapTable("uncheckAll");
closeProductModal();
}
//关闭产品信息模态框
function closeProductModal() {
$("#productInfoModal").modal("hide");
}
//添加表格内删除物料信息
function removeData(productCode){
var ids = [];
ids.push(productCode);
$('#addDetailTable').bootstrapTable("remove",{
field:'productCode',
values:ids
})
$("#addDetailTable").bootstrapTable('refresh');
}
//计算全部数量、金额、大写
function getTotal() {
let getDataAll = $('#addProductTable').bootstrapTable('getData', true);
// console.log(getDataAll)
var totalQuantity = 0;
var totalMoney = 0.00;
for (let i = 0;i<getDataAll.length;i++) {
// console.log(getDataAll[i])
totalQuantity = Math.floor(totalQuantity + Number(getDataAll[i].count));
totalMoney = totalMoney + getDataAll[i].amount;
}
$("input[name='totalQuantity']").val(totalQuantity)
$("input[name='totalMoney']").val(totalMoney.toFixed(2))
$.ajax({
url: prefix + '/getMoneyUpCase',
type: 'post',
data: {
totalMoney: totalMoney
},
success: function (res) {
// console.log(res)
$("input[name='totalMoneyUpCase']").val(res)
}
})
}
//确认添加选中的产品数据
function confirmProduct() {
let data = JSON.stringify($('#addProductTable').bootstrapTable('getData', true));
let datalist=$('#addProductTable').bootstrapTable('getData', true)
if (datalist.length > 0) {
$.ajax({
url: ctx + 'taxInvoice/taxInvoicePurchaseProduct/add',
type: "POST",
data: {
data: data
},
dataType: "json",
success: function (resp) {
// console.log(data)
console.log(resp)
}
})
}
}
</script>
</body>
</html>

454
ruoyi-admin/src/main/resources/templates/taxInvoice/taxInvoicePurchaseInfo/edit.html

@ -0,0 +1,454 @@
<!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-taxInvoicePurchaseInfo-edit" th:object="${taxInvoicePurchaseInfo}">
<input name="taxPurchaseInfoId" th:field="*{taxPurchaseInfoId}" type="hidden">
<div class="form-group">
<label class="col-sm-3 control-label">厂商名称:</label>
<div class="col-sm-8">
<select name="supplierName" class="form-control m-b">
<option value="">所有</option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">厂商代码:</label>
<div class="col-sm-8">
<select name="supplierCode" class="form-control m-b">
<option value="">所有</option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">发票号码:</label>
<div class="col-sm-8">
<input name="taxPurchaseCode" th:field="*{taxPurchaseCode}" 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="contractCode" th:field="*{contractCode}" 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="paymentMethod" th:field="*{paymentMethod}" 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="arrivalDate" th:value="${#dates.format(taxInvoicePurchaseInfo.arrivalDate, '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">
<div class="input-group date">
<input name="departureDate" th:value="${#dates.format(taxInvoicePurchaseInfo.departureDate, '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="modeOfTransport" th:field="*{modeOfTransport}" 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="exportCustoms" th:field="*{exportCustoms}" 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="conveyance" th:field="*{conveyance}" 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="currency" th:field="*{currency}" 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="packageNumber" th:field="*{packageNumber}" 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="arrivalOuntry" th:field="*{arrivalOuntry}" 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="destinationPort" th:field="*{destinationPort}" 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="deliveryNumber" th:field="*{deliveryNumber}" 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="nationalTaxInvoiceNumber" th:field="*{nationalTaxInvoiceNumber}" 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="invoicePrintingVersionNumber" th:field="*{invoicePrintingVersionNumber}" 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="notes" th:field="*{notes}" 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 + "taxInvoice/taxInvoicePurchaseInfo";
var commonCurrencyDatas = [[${@dict.getType('sys_common_currency')}]];
$("#form-taxInvoicePurchaseInfo-edit").validate({
focusCleanup: true
});
function submitHandler() {
let getData=$('#addProductTable').bootstrapTable('getData', true)
if(getData.length > 0){
if ($.validate.form()) {
//确认添加选中的成品数据
confirmProduct();
$.operate.save(prefix + "/add", $('#form-taxInvoicePurchaseInfo-edit').serialize());
}
} else {
$.modal.alertWarning("未选择产品,请选择!")
}
}
$("input[name='arrivalDate']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
$("input[name='departureDate']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
var flag = 0
//供应商信息
$.ajax({
url: ctx + 'system/supplier/list',
type: 'post',
success: function (res) {
// console.log(res)
if (res.rows.length > 0) {
var supplierData = res.rows;
//alert(JSON.stringify(data));
for (let i in supplierData) {
$("#form-taxInvoicePurchaseInfo-edit select[name='supplierCode']").append("<option value='" + supplierData[i].supplierCode + "'>" + supplierData[i].supplierCode + "</option>");
$("#form-taxInvoicePurchaseInfo-edit select[name='supplierName']").append("<option value='" + supplierData[i].supplierName + "'>" + supplierData[i].supplierName + "</option>");
}
$("#form-taxInvoicePurchaseInfo-edit select[name='supplierCode']").change(function () {
var supplierCode = $(this).val();
for (let i=0;i<supplierData.length;i++) {
if (supplierData[i].supplierCode == supplierCode) {
flag++;
if (flag<2) {
$("#form-taxInvoicePurchaseInfo-edit select[name='supplierName']").val(supplierData[i].supplierName).trigger("change")
flag = 0
}
}
}
})
$("#form-taxInvoicePurchaseInfo-edit select[name='supplierName']").change(function () {
var supplierCode = $(this).val();
for (let i=0;i<supplierData.length;i++) {
if (supplierData[i].supplierName == supplierCode) {
flag++;
if (flag<2) {
$("#form-taxInvoicePurchaseInfo-edit select[name='supplierCode']").val(supplierData[i].supplierCode).trigger("change")
flag = 0
}
}
}
})
}
}
})
//点击按钮显示产品信息模态框
function showProductModal() {
if ($.validate.form()) {
$("#productInfoModal").modal("show");
} else {
$.modal.alertWarning("请填写必填项");
}
}
//初始化添加产品表
$(function () {
$('#addProductTable').bootstrapTable({
pagination: true,
pageNumber: 1,
pageSize: 10,
showToggle: false, // 是否显示详细视图和列表视图的切换按钮
cardView: false, // 是否显示详细视图
detailView: false, // 是否显示父子表
smartDisplay: false, // 加了这个才显示每页显示的行数
showExport: false, // 是否显示导出按钮
clickToSelect: true,//点击行选中
contentType: "application/x-www-form-urlencoded",
paginationDetailHAlign: ' hiddenDetailInfo',
height: 250,
uniqueId:'taxPurchaseCode',
onEditableSave: function (field, row, oldValue, $el) {
$('#addProductTable').bootstrapTable('updateRow',{index: row.id, row: row});
getTotal();
},
queryParams: function (params) {
//console.log("123");
var curParams = {
// 传递参数查询参数
pageSize: params.limit,
pageNum: params.offset / params.limit + 1,
// enterpriseCode: data[0].enterpriseCode
};
// console.log(data[0].enterpriseCode)
return curParams
},
columns: [
{
field: 'taxPurchaseProductId',
title: '',
visible: false
},
{
field: 'taxPurchaseCode',
title: '发票编号',
visible: false
},
{
field: 'productCode',
title: '料号'
},
{
field: 'productName',
title: '品名'
},
{
field: 'inventoryUnit',
title: '单位'
},
{
field: 'count',
title: '数量',
editable: {
type: 'text',
title: '数量',
emptytext: '数量',
validate: function (v) {
if (isNaN(v)) return '数量必须是数字';
var ex = /^[1-9]\d*$/;
if (!ex.test(v)) return '数量必须是正整数';
}
}
},
{
field: 'commonCurrency',
title: '币种',
formatter: function(value, row, index) {
return $.table.selectDictLabel(commonCurrencyDatas, value);
}
},
{
field: 'monovalent',
title: '单价'
},
{
field: 'amount',
title: '金额',
editable: {
type: 'text',
title: '金额',
emptytext: '金额',
validate: function (value) {
}
},
formatter:function(value, row, index) {
let total = row.monovalent * row.count;
row.amount = row.monovalent * row.count;
return total.toFixed(2);
}
},
]
})
//显示产品信息
showProductData();
})
//显示产品信息
function showProductData() {
var options = {
id: 'productTable',
url: ctx+"system/supplierquotation/list",
showRefresh: false,
showToggle: false,
clickToSelect: true,
modalName: "报价信息",
columns: [{
checkbox: true
},
{
field: 'supplierQuotationId',
title: '供应商报价id',
visible: false
},
{
field: 'rawSubsidiaryCode',
title: '原辅料代码'
},
{
field: 'rawSubsidiaryName',
title: '原辅料名称'
},
{
field: 'inventoryUnit',
title: '单位'
},
{
field: 'inventoryPrice',
title: '单价'
},
{
field: 'commonCurrency',
title: '币别'
}]
};
$.table.init(options);
}
//表中添加选中的产品信息
function addProductToTable() {
var data = $("#productTable").bootstrapTable("getSelections");
var count = $('#addProductTable').bootstrapTable('getData').length;
var taxPurchaseCode = $("input[name='taxPurchaseCode']").val();
for (i = 0; i < data.length; i++) {
let taxProduct = $('#addProductTable').bootstrapTable('getRowByUniqueId', data[i].rawSubsidiaryCode);
if (taxProduct != null) {
alert(taxProduct.rawSubsidiaryCode + "已存在,不可重复添加!");
continue;
}
$("#addProductTable").bootstrapTable('insertRow', {
index: count + i,
row: {
taxPurchaseCode: taxPurchaseCode,
productCode: data[i].rawSubsidiaryCode,
productName: data[i].rawSubsidiaryName,
inventoryUnit: data[i].inventoryUnit,
count: '',
commonCurrency: data[i].commonCurrency,
monovalent: data[i].inventoryPrice,
amount: ''
}
});
}
$("#productTable").bootstrapTable("uncheckAll");
closeProductModal();
}
//关闭产品信息模态框
function closeProductModal() {
$("#productInfoModal").modal("hide");
}
//添加表格内删除物料信息
function removeData(productCode){
var ids = [];
ids.push(productCode);
$('#addDetailTable').bootstrapTable("remove",{
field:'productCode',
values:ids
})
$("#addDetailTable").bootstrapTable('refresh');
}
//计算全部数量、金额、大写
function getTotal() {
let getDataAll = $('#addProductTable').bootstrapTable('getData', true);
// console.log(getDataAll)
var totalQuantity = 0;
var totalMoney = 0.00;
for (let i = 0;i<getDataAll.length;i++) {
// console.log(getDataAll[i])
totalQuantity = Math.floor(totalQuantity + Number(getDataAll[i].count));
totalMoney = totalMoney + getDataAll[i].amount;
}
$("input[name='totalQuantity']").val(totalQuantity)
$("input[name='totalMoney']").val(totalMoney.toFixed(2))
$.ajax({
url: prefix + '/getMoneyUpCase',
type: 'post',
data: {
totalMoney: totalMoney
},
success: function (res) {
// console.log(res)
$("input[name='totalMoneyUpCase']").val(res)
}
})
}
//确认添加选中的产品数据
function confirmProduct() {
let data = JSON.stringify($('#addProductTable').bootstrapTable('getData', true));
let datalist=$('#addProductTable').bootstrapTable('getData', true)
if (datalist.length > 0) {
$.ajax({
url: ctx + 'taxInvoice/taxInvoicePurchaseProduct/add',
type: "POST",
data: {
data: data
},
dataType: "json",
success: function (resp) {
// console.log(data)
console.log(resp)
}
})
}
}
</script>
</body>
</html>

186
ruoyi-admin/src/main/resources/templates/taxInvoice/taxInvoicePurchaseInfo/taxInvoicePurchaseInfo.html

@ -0,0 +1,186 @@
<!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" class="time-input" placeholder="请选择到票日期" name="arrivalDate"/>
</li>
<li>
<label>发票号码:</label>
<input type="text" name="taxPurchaseCode"/>
</li>
<li>
<label>国税发票编号:</label>
<input type="text" name="nationalTaxInvoiceNumber"/>
</li>
<li>
<label>厂商名称:</label>
<select name="supplierName">
<option value="">所有</option>
</select>
</li>
<li>
<label>厂商代码:</label>
<select name="supplierCode">
<option value="">所有</option>
</select>
</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="taxInvoice:taxInvoicePurchaseInfo:add">
<i class="fa fa-plus"></i> 添加
</a>
<a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="taxInvoice:taxInvoicePurchaseInfo:edit">
<i class="fa fa-edit"></i> 修改
</a>
<a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="taxInvoice:taxInvoicePurchaseInfo:remove">
<i class="fa fa-remove"></i> 删除
</a>
<!-- <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="taxInvoice:taxInvoicePurchaseInfo:export">-->
<!-- <i class="fa fa-download"></i> 导出-->
<!-- </a>-->
</div>
<div class="col-sm-12 select-table table-striped">
<table id="bootstrap-table" style="white-space:nowrap"></table>
</div>
</div>
</div>
<th:block th:include="include :: footer" />
<th:block th:include="include :: datetimepicker-js"/>
<th:block th:include="include :: select2-js"/>
<th:block th:include="include :: bootstrap-table-editable-js"/>
<script th:inline="javascript">
var editFlag = [[${@permission.hasPermi('taxInvoice:taxInvoicePurchaseInfo:edit')}]];
var removeFlag = [[${@permission.hasPermi('taxInvoice:taxInvoicePurchaseInfo:remove')}]];
var prefix = ctx + "taxInvoice/taxInvoicePurchaseInfo";
$(function() {
var options = {
url: prefix + "/list",
createUrl: prefix + "/add",
updateUrl: prefix + "/edit/{id}",
removeUrl: prefix + "/remove",
exportUrl: prefix + "/export",
modalName: "国税发票明细(采购)",
columns: [{
checkbox: true
},
{
field: 'taxPurchaseInfoId',
title: '',
visible: false
},
{
field: 'supplierName',
title: '厂商名称'
},
{
field: 'supplierCode',
title: '厂商代码'
},
{
field: 'taxPurchaseCode',
title: '发票号码'
},
{
field: 'contractCode',
title: '合同号码'
},
{
field: 'paymentMethod',
title: '付款方式'
},
{
field: 'arrivalDate',
title: '到票日期'
},
{
field: 'departureDate',
title: '离境日期'
},
{
field: 'modeOfTransport',
title: '运输方式'
},
{
field: 'exportCustoms',
title: '出口海关'
},
{
field: 'conveyance',
title: '运输工具名称'
},
{
field: 'currency',
title: '币种'
},
{
field: 'packageNumber',
title: '件数'
},
{
field: 'arrivalOuntry',
title: '抵运国'
},
{
field: 'destinationPort',
title: '指运港'
},
{
field: 'deliveryNumber',
title: '提运单号'
},
{
field: 'nationalTaxInvoiceNumber',
title: '国税发票编号'
},
{
field: 'invoicePrintingVersionNumber',
title: '发票印字版号'
},
{
field: 'notes',
title: '备注'
}]
};
$.table.init(options);
});
var flag = 0
//供应商信息
$.ajax({
url: ctx + 'system/supplier/list',
type: 'post',
success: function (res) {
// console.log(res)
if (res.rows.length > 0) {
var supplierData = res.rows;
//alert(JSON.stringify(data));
for (let i in supplierData) {
$("select[name='supplierCode']").append("<option value='" + supplierData[i].supplierCode + "'>" + supplierData[i].supplierCode + "</option>");
$("select[name='supplierName']").append("<option value='" + supplierData[i].supplierName + "'>" + supplierData[i].supplierName + "</option>");
}
}
}
})
</script>
</body>
</html>

75
ruoyi-admin/src/main/resources/templates/taxInvoice/taxInvoicePurchaseProduct/add.html

@ -0,0 +1,75 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('新增国税发票(采购)')" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-taxInvoicePurchaseProduct-add">
<div class="form-group">
<label class="col-sm-3 control-label">发票编号:</label>
<div class="col-sm-8">
<input name="taxPurchaseCode" 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="productCode" 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="productName" 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="inventoryUnit" 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="count" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">币种:</label>
<div class="col-sm-8">
<select name="commonCurrency" class="form-control m-b" th:with="type=${@dict.getType('sys_common_currency')}">
<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="monovalent" 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="amount" class="form-control" type="text">
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var prefix = ctx + "taxInvoice/taxInvoicePurchaseProduct"
$("#form-taxInvoicePurchaseProduct-add").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/add", $('#form-taxInvoicePurchaseProduct-add').serialize());
}
}
</script>
</body>
</html>

76
ruoyi-admin/src/main/resources/templates/taxInvoice/taxInvoicePurchaseProduct/edit.html

@ -0,0 +1,76 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('修改国税发票(采购)')" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-taxInvoicePurchaseProduct-edit" th:object="${taxInvoicePurchaseProduct}">
<input name="taxPurchaseProductId" th:field="*{taxPurchaseProductId}" type="hidden">
<div class="form-group">
<label class="col-sm-3 control-label">发票编号:</label>
<div class="col-sm-8">
<input name="taxPurchaseCode" th:field="*{taxPurchaseCode}" 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="productCode" th:field="*{productCode}" 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="productName" th:field="*{productName}" 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="inventoryUnit" th:field="*{inventoryUnit}" 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="count" th:field="*{count}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">币种:</label>
<div class="col-sm-8">
<select name="commonCurrency" class="form-control m-b" th:with="type=${@dict.getType('sys_common_currency')}">
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{commonCurrency}"></option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">单价:</label>
<div class="col-sm-8">
<input name="monovalent" th:field="*{monovalent}" 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="amount" th:field="*{amount}" class="form-control" type="text">
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var prefix = ctx + "taxInvoice/taxInvoicePurchaseProduct";
$("#form-taxInvoicePurchaseProduct-edit").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/edit", $('#form-taxInvoicePurchaseProduct-edit').serialize());
}
}
</script>
</body>
</html>

149
ruoyi-admin/src/main/resources/templates/taxInvoice/taxInvoicePurchaseProduct/taxInvoicePurchaseProduct.html

@ -0,0 +1,149 @@
<!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="taxPurchaseCode"/>
</li>
<li>
<label>料号:</label>
<input type="text" name="productCode"/>
</li>
<li>
<label>品名:</label>
<input type="text" name="productName"/>
</li>
<li>
<label>单位:</label>
<input type="text" name="inventoryUnit"/>
</li>
<li>
<label>数量:</label>
<input type="text" name="count"/>
</li>
<li>
<label>币种:</label>
<select name="commonCurrency" th:with="type=${@dict.getType('sys_common_currency')}">
<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="monovalent"/>
</li>
<li>
<label>金额:</label>
<input type="text" name="amount"/>
</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="taxInvoice:taxInvoicePurchaseProduct:add">
<i class="fa fa-plus"></i> 添加
</a>
<a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="taxInvoice:taxInvoicePurchaseProduct:edit">
<i class="fa fa-edit"></i> 修改
</a>
<a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="taxInvoice:taxInvoicePurchaseProduct:remove">
<i class="fa fa-remove"></i> 删除
</a>
<a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="taxInvoice:taxInvoicePurchaseProduct: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('taxInvoice:taxInvoicePurchaseProduct:edit')}]];
var removeFlag = [[${@permission.hasPermi('taxInvoice:taxInvoicePurchaseProduct:remove')}]];
var commonCurrencyDatas = [[${@dict.getType('sys_common_currency')}]];
var prefix = ctx + "taxInvoice/taxInvoicePurchaseProduct";
$(function() {
var options = {
url: prefix + "/list",
createUrl: prefix + "/add",
updateUrl: prefix + "/edit/{id}",
removeUrl: prefix + "/remove",
exportUrl: prefix + "/export",
modalName: "国税发票(采购)",
columns: [{
checkbox: true
},
{
field: 'taxPurchaseProductId',
title: '',
visible: false
},
{
field: 'taxPurchaseCode',
title: '发票编号'
},
{
field: 'productCode',
title: '料号'
},
{
field: 'productName',
title: '品名'
},
{
field: 'inventoryUnit',
title: '单位'
},
{
field: 'count',
title: '数量'
},
{
field: 'commonCurrency',
title: '币种',
formatter: function(value, row, index) {
return $.table.selectDictLabel(commonCurrencyDatas, value);
}
},
{
field: 'monovalent',
title: '单价'
},
{
field: 'amount',
title: '金额'
},
{
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.taxPurchaseProductId + '\')"><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.taxPurchaseProductId + '\')"><i class="fa fa-remove"></i>删除</a>');
return actions.join('');
}
}]
};
$.table.init(options);
});
</script>
</body>
</html>
Loading…
Cancel
Save