liuxiaoxu
1 month ago
10 changed files with 0 additions and 2376 deletions
@ -1,126 +0,0 @@ |
|||
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)); |
|||
} |
|||
} |
@ -1,289 +0,0 @@ |
|||
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(); |
|||
} |
|||
} |
@ -1,290 +0,0 @@ |
|||
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(); |
|||
} |
|||
} |
@ -1,61 +0,0 @@ |
|||
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); |
|||
} |
@ -1,61 +0,0 @@ |
|||
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); |
|||
} |
@ -1,94 +0,0 @@ |
|||
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); |
|||
} |
|||
} |
@ -1,147 +0,0 @@ |
|||
<?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> |
@ -1,567 +0,0 @@ |
|||
<!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> 选择产品</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> 搜索</a> |
|||
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('productFormId','productTable')"><i |
|||
class="fa fa-refresh"></i> 重置</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: ctx + 'taxInvoice/taxInvoiceInfo/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> |
@ -1,555 +0,0 @@ |
|||
<!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-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" th:field="*{supplierName}" required> |
|||
<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" th:field="*{supplierCode}" required> |
|||
<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:field="*{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" th:field="*{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" 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> |
|||
<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> 选择产品</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> 搜索</a> |
|||
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('productFormId','productTable')"><i |
|||
class="fa fa-refresh"></i> 重置</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-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> |
@ -1,186 +0,0 @@ |
|||
<!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> 搜索</a> |
|||
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i> 重置</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> |
Loading…
Reference in new issue