Browse Source

删除旧版无用的国税发票对象 tax_invoice_info和系统中对应的前端所有代码和后端所有代码 和对应的系统菜单数据

dev
liuxiaoxu 1 month ago
parent
commit
e37610cf7a
  1. 244
      ruoyi-admin/src/main/java/com/ruoyi/taxInvoice/controller/TaxInvoiceInfoController.java
  2. 387
      ruoyi-admin/src/main/java/com/ruoyi/taxInvoice/domain/TaxInvoiceInfo.java
  3. 61
      ruoyi-admin/src/main/java/com/ruoyi/taxInvoice/mapper/TaxInvoiceInfoMapper.java
  4. 61
      ruoyi-admin/src/main/java/com/ruoyi/taxInvoice/service/ITaxInvoiceInfoService.java
  5. 94
      ruoyi-admin/src/main/java/com/ruoyi/taxInvoice/service/impl/TaxInvoiceInfoServiceImpl.java
  6. 155
      ruoyi-admin/src/main/resources/mapper/taxInvoice/TaxInvoiceInfoMapper.xml
  7. 792
      ruoyi-admin/src/main/resources/templates/taxInvoice/taxInvoiceInfo/add.html
  8. 864
      ruoyi-admin/src/main/resources/templates/taxInvoice/taxInvoiceInfo/edit.html
  9. 753
      ruoyi-admin/src/main/resources/templates/taxInvoice/taxInvoiceInfo/taxInvoiceInfo.html

244
ruoyi-admin/src/main/java/com/ruoyi/taxInvoice/controller/TaxInvoiceInfoController.java

@ -1,244 +0,0 @@
package com.ruoyi.taxInvoice.controller;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.util.MapUtils;
import com.alibaba.excel.write.metadata.WriteSheet;
import com.alibaba.excel.write.metadata.fill.FillConfig;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.system.domain.SysCustomer;
import com.ruoyi.system.domain.SysCustomerVo;
import com.ruoyi.system.service.ISysCustomerService;
import com.ruoyi.taxInvoice.domain.TaxInvoiceInfo;
import com.ruoyi.taxInvoice.domain.TaxInvoiceProduct;
import com.ruoyi.taxInvoice.domain.exportDto.TaxInvoiceInfoDto;
import com.ruoyi.taxInvoice.domain.exportDto.TaxInvoiceProductDto;
import com.ruoyi.taxInvoice.service.ITaxInvoiceInfoService;
import com.ruoyi.taxInvoice.service.ITaxInvoiceProductService;
import com.ruoyi.taxInvoice.utils.CNNumberFormat;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import static com.ruoyi.common.config.datasource.DynamicDataSourceContextHolder.log;
/**
* 国税发票Controller
*
* @author ruoyi
* @date 2023-02-09
*/
@Controller
@RequestMapping("/taxInvoice/taxInvoiceInfo")
public class TaxInvoiceInfoController extends BaseController
{
private String prefix = "taxInvoice/taxInvoiceInfo";
@Autowired
private ITaxInvoiceInfoService taxInvoiceInfoService;
@Autowired
private ITaxInvoiceProductService taxInvoiceProductService;
@Autowired
private ISysCustomerService customerService;
@RequiresPermissions("taxInvoice:taxInvoiceInfo:view")
@GetMapping()
public String taxInvoiceInfo()
{
return prefix + "/taxInvoiceInfo";
}
/**
* 查询国税发票列表
*/
@RequiresPermissions("taxInvoice:taxInvoiceInfo:list")
@PostMapping("/list")
@ResponseBody
public TableDataInfo list(TaxInvoiceInfo taxInvoiceInfo)
{
startPage();
List<TaxInvoiceInfo> list = taxInvoiceInfoService.selectTaxInvoiceInfoList(taxInvoiceInfo);
return getDataTable(list);
}
/**
* 导出国税发票列表
*/
/*@RequiresPermissions("taxInvoice:taxInvoiceInfo:export")
@Log(title = "国税发票", businessType = BusinessType.EXPORT)
@PostMapping("/export")
@ResponseBody
public AjaxResult export(TaxInvoiceInfo taxInvoiceInfo)
{
List<TaxInvoiceInfo> list = taxInvoiceInfoService.selectTaxInvoiceInfoList(taxInvoiceInfo);
ExcelUtil<TaxInvoiceInfo> util = new ExcelUtil<TaxInvoiceInfo>(TaxInvoiceInfo.class);
return util.exportExcel(list, "国税发票数据");
}*/
/**
* 新增国税发票
*/
@GetMapping("/add")
public String add()
{
return prefix + "/add";
}
/**
* 新增保存国税发票
*/
@RequiresPermissions("taxInvoice:taxInvoiceInfo:add")
@Log(title = "国税发票", businessType = BusinessType.INSERT)
@PostMapping("/add")
@ResponseBody
public AjaxResult addSave(TaxInvoiceInfo taxInvoiceInfo)
{
return toAjax(taxInvoiceInfoService.insertTaxInvoiceInfo(taxInvoiceInfo));
}
/**
* 修改国税发票
*/
@GetMapping("/edit/{taxInvoiceId}")
public String edit(@PathVariable("taxInvoiceId") Long taxInvoiceId, ModelMap mmap)
{
TaxInvoiceInfo taxInvoiceInfo = taxInvoiceInfoService.selectTaxInvoiceInfoById(taxInvoiceId);
mmap.put("taxInvoiceInfo", taxInvoiceInfo);
return prefix + "/edit";
}
/**
* 修改保存国税发票
*/
@RequiresPermissions("taxInvoice:taxInvoiceInfo:edit")
@Log(title = "国税发票", businessType = BusinessType.UPDATE)
@PostMapping("/edit")
@ResponseBody
public AjaxResult editSave(TaxInvoiceInfo taxInvoiceInfo)
{
return toAjax(taxInvoiceInfoService.updateTaxInvoiceInfo(taxInvoiceInfo));
}
/**
* 删除国税发票
*/
@RequiresPermissions("taxInvoice:taxInvoiceInfo:removeSelectedInvoice")
@Log(title = "国税发票", businessType = BusinessType.DELETE)
@PostMapping( "/remove")
@ResponseBody
public AjaxResult remove(String ids)
{
return toAjax(taxInvoiceInfoService.deleteTaxInvoiceInfoByIds(ids));
}
//获取客户信息
@PostMapping("/getCustomerList")
@ResponseBody
public List<SysCustomerVo> getCustomerList(SysCustomerVo customer) {
List<SysCustomerVo> list = customerService.selectSysCustomerList(customer);
return list;
}
@RequiresPermissions("taxInvoice:taxInvoiceInfo:exportInvoice")
@Log(title = "国税发票", businessType = BusinessType.EXPORT)
@RequestMapping("/exportInvoice")
@ResponseBody
public void exportInvoice(@RequestBody String selectData, HttpServletResponse response) throws IOException {
//数据处理
JSONObject jsonObject = (JSONObject) JSONObject.parse(selectData);
JSONArray jsonArray = jsonObject.getJSONArray("selectData");
List<TaxInvoiceInfoDto> selectDataList = JSONObject.parseArray(String.valueOf(jsonArray), TaxInvoiceInfoDto.class);
//获取发票基础信息
TaxInvoiceInfo taxInvoiceInfo = taxInvoiceInfoService.selectTaxInvoiceInfoById(selectDataList.get(0).getTaxInvoiceId());
TaxInvoiceInfoDto taxInvoiceInfoDto = new TaxInvoiceInfoDto();
BeanUtils.copyProperties(taxInvoiceInfo,taxInvoiceInfoDto);
//发票内产品信息
List<TaxInvoiceProduct> taxInvoiceProductList = taxInvoiceProductService.selectTaxInvoiceByCodeAndNumber(selectDataList.get(0).getTaxInvoiceCode(),selectDataList.get(0).getTaxInvoiceNumber());
List<TaxInvoiceProductDto> taxInvoiceProductDtoList = new ArrayList<>();
try {
Iterator values= taxInvoiceProductList.iterator();
while(values.hasNext()) {
Object source = values.next();
TaxInvoiceProductDto target = TaxInvoiceProductDto.class.newInstance();
BeanUtils.copyProperties(source, target);
taxInvoiceProductDtoList.add(target);
}
}catch (Exception e) {
log.error(">>>>>>异常<<<<<<", e);
}
//合计数量、金额
int totalQuantity = 0;
double totalMoney = 0;
for (int i = 0;i<taxInvoiceProductDtoList.size();i++) {
totalQuantity = totalQuantity + Integer.parseInt(taxInvoiceProductDtoList.get(i).getQuantity());
totalMoney = totalMoney + Double.parseDouble((taxInvoiceProductDtoList.get(i).getAmountOfMoney()));
}
//大写转换
CNNumberFormat cnFmt = new CNNumberFormat(true);
String moneyUpCase = cnFmt.format(totalMoney);
//填充表格
response.setCharacterEncoding("utf-8");
String fileName = URLEncoder.encode("国税发票", "UTF-8").replaceAll("\\+", "%20");
response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");
String templateFileName = "C:\\exportTemplates\\exportTaxInvoice.xlsx";
try (ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream(), TaxInvoiceProductDto.class).withTemplate(templateFileName).build()) {
WriteSheet writeSheet = EasyExcel.writerSheet().build();
FillConfig fillConfig = FillConfig.builder().forceNewRow(Boolean.TRUE).build();
excelWriter.fill(taxInvoiceProductDtoList, fillConfig, writeSheet);
Map<String, Object> map = MapUtils.newHashMap();
// map.put("date", DateTimeFormatter.ofPattern("yyyy/MM/dd").format(LocalDateTime.now()));
map.put("deliveryNoteNumber", taxInvoiceInfoDto.getDeliveryNoteNumber());
map.put("taxInvoiceNumber", taxInvoiceInfoDto.getTaxInvoiceNumber());
map.put("contractNumber", taxInvoiceInfoDto.getContractNumber());
map.put("enterpriseCode", taxInvoiceInfoDto.getEnterpriseCode());
map.put("enterpriseName", taxInvoiceInfoDto.getEnterpriseName());
map.put("arrivalArea", taxInvoiceInfoDto.getArrivalArea());
map.put("paymentTerm", taxInvoiceInfoDto.getPaymentTerm());
map.put("billingDate", taxInvoiceInfoDto.getBillingDate());
map.put("totalQuantity", totalQuantity);
map.put("totalMoney", totalMoney);
map.put("moneyUpCase", moneyUpCase);
excelWriter.fill(map, writeSheet);
}
}
/*
数字转大写
*/
@RequestMapping("/getMoneyUpCase")
@ResponseBody
public String getMoneyUpCase(@RequestParam("totalMoney") double totalMoney) {
CNNumberFormat cnFmt = new CNNumberFormat(true);
String moneyUpCase = cnFmt.format(totalMoney);
return moneyUpCase;
}
}

387
ruoyi-admin/src/main/java/com/ruoyi/taxInvoice/domain/TaxInvoiceInfo.java

@ -1,387 +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_info
*
* @author ruoyi
* @date 2023-02-09
*/
public class TaxInvoiceInfo extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 国税发票id */
private Long taxInvoiceId;
/** 发票编号 */
@Excel(name = "发票编号")
private String taxInvoiceCode;
/** 发票号码 */
@Excel(name = "发票号码")
private String taxInvoiceNumber;
/** 送货单号 */
@Excel(name = "送货单号")
private String deliveryNoteNumber;
/** 客户代码 */
@Excel(name = "客户代码")
private String enterpriseCode;
/** 客户名称 */
@Excel(name = "客户名称")
private String enterpriseName;
/** 合同号码 */
@Excel(name = "合同号码")
private String contractNumber;
/** 付款条件 */
@Excel(name = "付款条件")
private String paymentTerm;
/** 开票日期 */
@Excel(name = "开票日期")
private String billingDate;
/** 运输方式 */
@Excel(name = "运输方式")
private String transportWay;
/** 运输工具 */
@Excel(name = "运输工具")
private String transportMeans;
/** 离境日期 */
@Excel(name = "离境日期")
private String departureDate;
/** 出口海关 */
@Excel(name = "出口海关")
private String exportCustoms;
/** 币别 */
@Excel(name = "币别")
private String billCommonCurrency;
/** 件数(箱数) */
@Excel(name = "件数", readConverterExp = "箱=数")
private String packagesNumber;
/** 抵运国(地区) */
@Excel(name = "抵运国", readConverterExp = "地=区")
private String arrivalArea;
/** 指运港 */
@Excel(name = "指运港")
private String portOfDestination;
/** 提运单号 */
@Excel(name = "提运单号")
private String hoistingNumber;
/** 发票印字版号 */
@Excel(name = "发票印字版号")
private String printVersionNumber;
/** 备注 */
@Excel(name = "备注")
private String billRemarks;
/** 国税发票编号 */
@Excel(name = "国税发票编号")
private String taxInvoiceNo;
/** 是否收到款 */
@Excel(name = "是否收到款")
private String getmoneyFlag;
/** 录入时间 */
@Excel(name = "录入时间")
private String firstAddTime;
/** 修改时间 */
@Excel(name = "修改时间")
private String updateInfoTime;
/** 备用一 */
@Excel(name = "备用一")
private String standbyOne;
/** 备用二 */
@Excel(name = "备用二")
private String standbyTwo;
public void setTaxInvoiceId(Long taxInvoiceId)
{
this.taxInvoiceId = taxInvoiceId;
}
public Long getTaxInvoiceId()
{
return taxInvoiceId;
}
public void setTaxInvoiceCode(String taxInvoiceCode)
{
this.taxInvoiceCode = taxInvoiceCode;
}
public String getTaxInvoiceCode()
{
return taxInvoiceCode;
}
public void setTaxInvoiceNumber(String taxInvoiceNumber)
{
this.taxInvoiceNumber = taxInvoiceNumber;
}
public String getTaxInvoiceNumber()
{
return taxInvoiceNumber;
}
public void setDeliveryNoteNumber(String deliveryNoteNumber)
{
this.deliveryNoteNumber = deliveryNoteNumber;
}
public String getDeliveryNoteNumber()
{
return deliveryNoteNumber;
}
public void setEnterpriseCode(String enterpriseCode)
{
this.enterpriseCode = enterpriseCode;
}
public String getEnterpriseCode()
{
return enterpriseCode;
}
public void setEnterpriseName(String enterpriseName)
{
this.enterpriseName = enterpriseName;
}
public String getEnterpriseName()
{
return enterpriseName;
}
public void setContractNumber(String contractNumber)
{
this.contractNumber = contractNumber;
}
public String getContractNumber()
{
return contractNumber;
}
public void setPaymentTerm(String paymentTerm)
{
this.paymentTerm = paymentTerm;
}
public String getPaymentTerm()
{
return paymentTerm;
}
public void setBillingDate(String billingDate)
{
this.billingDate = billingDate;
}
public String getBillingDate()
{
return billingDate;
}
public void setTransportWay(String transportWay)
{
this.transportWay = transportWay;
}
public String getTransportWay()
{
return transportWay;
}
public void setTransportMeans(String transportMeans)
{
this.transportMeans = transportMeans;
}
public String getTransportMeans()
{
return transportMeans;
}
public void setDepartureDate(String departureDate)
{
this.departureDate = departureDate;
}
public String getDepartureDate()
{
return departureDate;
}
public void setExportCustoms(String exportCustoms)
{
this.exportCustoms = exportCustoms;
}
public String getExportCustoms()
{
return exportCustoms;
}
public void setBillCommonCurrency(String billCommonCurrency)
{
this.billCommonCurrency = billCommonCurrency;
}
public String getBillCommonCurrency()
{
return billCommonCurrency;
}
public void setPackagesNumber(String packagesNumber)
{
this.packagesNumber = packagesNumber;
}
public String getPackagesNumber()
{
return packagesNumber;
}
public void setArrivalArea(String arrivalArea)
{
this.arrivalArea = arrivalArea;
}
public String getArrivalArea()
{
return arrivalArea;
}
public void setPortOfDestination(String portOfDestination)
{
this.portOfDestination = portOfDestination;
}
public String getPortOfDestination()
{
return portOfDestination;
}
public void setHoistingNumber(String hoistingNumber)
{
this.hoistingNumber = hoistingNumber;
}
public String getHoistingNumber()
{
return hoistingNumber;
}
public void setPrintVersionNumber(String printVersionNumber)
{
this.printVersionNumber = printVersionNumber;
}
public String getPrintVersionNumber()
{
return printVersionNumber;
}
public void setBillRemarks(String billRemarks)
{
this.billRemarks = billRemarks;
}
public String getBillRemarks()
{
return billRemarks;
}
public void setTaxInvoiceNo(String taxInvoiceNo)
{
this.taxInvoiceNo = taxInvoiceNo;
}
public String getTaxInvoiceNo()
{
return taxInvoiceNo;
}
public void setGetmoneyFlag(String getmoneyFlag)
{
this.getmoneyFlag = getmoneyFlag;
}
public String getGetmoneyFlag()
{
return getmoneyFlag;
}
public void setStandbyOne(String standbyOne)
{
this.standbyOne = standbyOne;
}
public String getStandbyOne()
{
return standbyOne;
}
public void setStandbyTwo(String standbyTwo)
{
this.standbyTwo = standbyTwo;
}
public String getStandbyTwo()
{
return standbyTwo;
}
public String getFirstAddTime() {
return firstAddTime;
}
public void setFirstAddTime(String firstAddTime) {
this.firstAddTime = firstAddTime;
}
public String getUpdateInfoTime() {
return updateInfoTime;
}
public void setUpdateInfoTime(String updateInfoTime) {
this.updateInfoTime = updateInfoTime;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("taxInvoiceId", getTaxInvoiceId())
.append("taxInvoiceCode", getTaxInvoiceCode())
.append("taxInvoiceNumber", getTaxInvoiceNumber())
.append("deliveryNoteNumber", getDeliveryNoteNumber())
.append("enterpriseCode", getEnterpriseCode())
.append("enterpriseName", getEnterpriseName())
.append("contractNumber", getContractNumber())
.append("paymentTerm", getPaymentTerm())
.append("billingDate", getBillingDate())
.append("transportWay", getTransportWay())
.append("transportMeans", getTransportMeans())
.append("departureDate", getDepartureDate())
.append("exportCustoms", getExportCustoms())
.append("billCommonCurrency", getBillCommonCurrency())
.append("packagesNumber", getPackagesNumber())
.append("arrivalArea", getArrivalArea())
.append("portOfDestination", getPortOfDestination())
.append("hoistingNumber", getHoistingNumber())
.append("printVersionNumber", getPrintVersionNumber())
.append("billRemarks", getBillRemarks())
.append("taxInvoiceNo", getTaxInvoiceNo())
.append("getmoneyFlag", getGetmoneyFlag())
.append("firstAddTime", getFirstAddTime())
.append("updateInfoTime", getUpdateInfoTime())
.append("standbyOne", getStandbyOne())
.append("standbyTwo", getStandbyTwo())
.toString();
}
}

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

@ -1,61 +0,0 @@
package com.ruoyi.taxInvoice.mapper;
import java.util.List;
import com.ruoyi.taxInvoice.domain.TaxInvoiceInfo;
/**
* 国税发票Mapper接口
*
* @author ruoyi
* @date 2023-02-09
*/
public interface TaxInvoiceInfoMapper
{
/**
* 查询国税发票
*
* @param taxInvoiceId 国税发票ID
* @return 国税发票
*/
public TaxInvoiceInfo selectTaxInvoiceInfoById(Long taxInvoiceId);
/**
* 查询国税发票列表
*
* @param taxInvoiceInfo 国税发票
* @return 国税发票集合
*/
public List<TaxInvoiceInfo> selectTaxInvoiceInfoList(TaxInvoiceInfo taxInvoiceInfo);
/**
* 新增国税发票
*
* @param taxInvoiceInfo 国税发票
* @return 结果
*/
public int insertTaxInvoiceInfo(TaxInvoiceInfo taxInvoiceInfo);
/**
* 修改国税发票
*
* @param taxInvoiceInfo 国税发票
* @return 结果
*/
public int updateTaxInvoiceInfo(TaxInvoiceInfo taxInvoiceInfo);
/**
* 删除国税发票
*
* @param taxInvoiceId 国税发票ID
* @return 结果
*/
public int deleteTaxInvoiceInfoById(Long taxInvoiceId);
/**
* 批量删除国税发票
*
* @param taxInvoiceIds 需要删除的数据ID
* @return 结果
*/
public int deleteTaxInvoiceInfoByIds(String[] taxInvoiceIds);
}

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

@ -1,61 +0,0 @@
package com.ruoyi.taxInvoice.service;
import java.util.List;
import com.ruoyi.taxInvoice.domain.TaxInvoiceInfo;
/**
* 国税发票Service接口
*
* @author ruoyi
* @date 2023-02-09
*/
public interface ITaxInvoiceInfoService
{
/**
* 查询国税发票
*
* @param taxInvoiceId 国税发票ID
* @return 国税发票
*/
public TaxInvoiceInfo selectTaxInvoiceInfoById(Long taxInvoiceId);
/**
* 查询国税发票列表
*
* @param taxInvoiceInfo 国税发票
* @return 国税发票集合
*/
public List<TaxInvoiceInfo> selectTaxInvoiceInfoList(TaxInvoiceInfo taxInvoiceInfo);
/**
* 新增国税发票
*
* @param taxInvoiceInfo 国税发票
* @return 结果
*/
public int insertTaxInvoiceInfo(TaxInvoiceInfo taxInvoiceInfo);
/**
* 修改国税发票
*
* @param taxInvoiceInfo 国税发票
* @return 结果
*/
public int updateTaxInvoiceInfo(TaxInvoiceInfo taxInvoiceInfo);
/**
* 批量删除国税发票
*
* @param ids 需要删除的数据ID
* @return 结果
*/
public int deleteTaxInvoiceInfoByIds(String ids);
/**
* 删除国税发票信息
*
* @param taxInvoiceId 国税发票ID
* @return 结果
*/
public int deleteTaxInvoiceInfoById(Long taxInvoiceId);
}

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

@ -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.TaxInvoiceInfoMapper;
import com.ruoyi.taxInvoice.domain.TaxInvoiceInfo;
import com.ruoyi.taxInvoice.service.ITaxInvoiceInfoService;
import com.ruoyi.common.core.text.Convert;
/**
* 国税发票Service业务层处理
*
* @author ruoyi
* @date 2023-02-09
*/
@Service
public class TaxInvoiceInfoServiceImpl implements ITaxInvoiceInfoService
{
@Autowired
private TaxInvoiceInfoMapper taxInvoiceInfoMapper;
/**
* 查询国税发票
*
* @param taxInvoiceId 国税发票ID
* @return 国税发票
*/
@Override
public TaxInvoiceInfo selectTaxInvoiceInfoById(Long taxInvoiceId)
{
return taxInvoiceInfoMapper.selectTaxInvoiceInfoById(taxInvoiceId);
}
/**
* 查询国税发票列表
*
* @param taxInvoiceInfo 国税发票
* @return 国税发票
*/
@Override
public List<TaxInvoiceInfo> selectTaxInvoiceInfoList(TaxInvoiceInfo taxInvoiceInfo)
{
return taxInvoiceInfoMapper.selectTaxInvoiceInfoList(taxInvoiceInfo);
}
/**
* 新增国税发票
*
* @param taxInvoiceInfo 国税发票
* @return 结果
*/
@Override
public int insertTaxInvoiceInfo(TaxInvoiceInfo taxInvoiceInfo)
{
return taxInvoiceInfoMapper.insertTaxInvoiceInfo(taxInvoiceInfo);
}
/**
* 修改国税发票
*
* @param taxInvoiceInfo 国税发票
* @return 结果
*/
@Override
public int updateTaxInvoiceInfo(TaxInvoiceInfo taxInvoiceInfo)
{
return taxInvoiceInfoMapper.updateTaxInvoiceInfo(taxInvoiceInfo);
}
/**
* 删除国税发票对象
*
* @param ids 需要删除的数据ID
* @return 结果
*/
@Override
public int deleteTaxInvoiceInfoByIds(String ids)
{
return taxInvoiceInfoMapper.deleteTaxInvoiceInfoByIds(Convert.toStrArray(ids));
}
/**
* 删除国税发票信息
*
* @param taxInvoiceId 国税发票ID
* @return 结果
*/
@Override
public int deleteTaxInvoiceInfoById(Long taxInvoiceId)
{
return taxInvoiceInfoMapper.deleteTaxInvoiceInfoById(taxInvoiceId);
}
}

155
ruoyi-admin/src/main/resources/mapper/taxInvoice/TaxInvoiceInfoMapper.xml

@ -1,155 +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.TaxInvoiceInfoMapper">
<resultMap type="TaxInvoiceInfo" id="TaxInvoiceInfoResult">
<result property="taxInvoiceId" column="tax_invoice_id" />
<result property="taxInvoiceCode" column="tax_invoice_code" />
<result property="taxInvoiceNumber" column="tax_invoice_number" />
<result property="deliveryNoteNumber" column="delivery_note_number" />
<result property="enterpriseCode" column="enterprise_code" />
<result property="enterpriseName" column="enterprise_name" />
<result property="contractNumber" column="contract_number" />
<result property="paymentTerm" column="payment_term" />
<result property="billingDate" column="billing_date" />
<result property="transportWay" column="transport_way" />
<result property="transportMeans" column="transport_means" />
<result property="departureDate" column="departure_date" />
<result property="exportCustoms" column="export_customs" />
<result property="billCommonCurrency" column="bill_common_currency" />
<result property="packagesNumber" column="packages_number" />
<result property="arrivalArea" column="arrival_area" />
<result property="portOfDestination" column="port_of_destination" />
<result property="hoistingNumber" column="hoisting_number" />
<result property="printVersionNumber" column="print_version_number" />
<result property="billRemarks" column="bill_remarks" />
<result property="taxInvoiceNo" column="tax_invoice_no" />
<result property="getmoneyFlag" column="getMoney_flag" />
<result property="firstAddTime" column="first_add_time" />
<result property="updateInfoTime" column="update_info_time" />
<result property="standbyOne" column="standby_one" />
<result property="standbyTwo" column="standby_two" />
</resultMap>
<sql id="selectTaxInvoiceInfoVo">
select tax_invoice_id, tax_invoice_code, tax_invoice_number, delivery_note_number, enterprise_code, enterprise_name, contract_number, payment_term, billing_date, transport_way, transport_means, departure_date, export_customs, bill_common_currency, packages_number, arrival_area, port_of_destination, hoisting_number, print_version_number, bill_remarks, tax_invoice_no, getMoney_flag, first_add_time, update_info_time, standby_one, standby_two from tax_invoice_info
</sql>
<select id="selectTaxInvoiceInfoList" parameterType="TaxInvoiceInfo" resultMap="TaxInvoiceInfoResult">
<include refid="selectTaxInvoiceInfoVo"/>
<where>
<if test="taxInvoiceNumber != null and taxInvoiceNumber != ''"> and tax_invoice_number like concat('%', #{taxInvoiceNumber}, '%')</if>
<if test="deliveryNoteNumber != null and deliveryNoteNumber != ''"> and delivery_note_number like concat('%', #{deliveryNoteNumber}, '%')</if>
<if test="enterpriseCode != null and enterpriseCode != ''"> and enterprise_code like concat('%', #{enterpriseCode}, '%')</if>
<if test="enterpriseName != null and enterpriseName != ''"> and enterprise_name like concat('%', #{enterpriseName}, '%')</if>
<if test="taxInvoiceNo != null and taxInvoiceNo != ''"> and tax_invoice_no like concat('%', #{taxInvoiceNo}, '%')</if>
<if test="getmoneyFlag != null and getmoneyFlag != ''"> and getMoney_flag = #{getmoneyFlag}</if>
</where>
</select>
<select id="selectTaxInvoiceInfoById" parameterType="Long" resultMap="TaxInvoiceInfoResult">
<include refid="selectTaxInvoiceInfoVo"/>
where tax_invoice_id = #{taxInvoiceId}
</select>
<insert id="insertTaxInvoiceInfo" parameterType="TaxInvoiceInfo" useGeneratedKeys="true" keyProperty="taxInvoiceId">
insert into tax_invoice_info
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="taxInvoiceCode != null">tax_invoice_code,</if>
<if test="taxInvoiceNumber != null">tax_invoice_number,</if>
<if test="deliveryNoteNumber != null">delivery_note_number,</if>
<if test="enterpriseCode != null">enterprise_code,</if>
<if test="enterpriseName != null">enterprise_name,</if>
<if test="contractNumber != null">contract_number,</if>
<if test="paymentTerm != null">payment_term,</if>
<if test="billingDate != null">billing_date,</if>
<if test="transportWay != null">transport_way,</if>
<if test="transportMeans != null">transport_means,</if>
<if test="departureDate != null">departure_date,</if>
<if test="exportCustoms != null">export_customs,</if>
<if test="billCommonCurrency != null">bill_common_currency,</if>
<if test="packagesNumber != null">packages_number,</if>
<if test="arrivalArea != null">arrival_area,</if>
<if test="portOfDestination != null">port_of_destination,</if>
<if test="hoistingNumber != null">hoisting_number,</if>
<if test="printVersionNumber != null">print_version_number,</if>
<if test="billRemarks != null">bill_remarks,</if>
<if test="taxInvoiceNo != null">tax_invoice_no,</if>
<if test="getmoneyFlag != null">getMoney_flag,</if>
<if test="standbyOne != null">standby_one,</if>
<if test="standbyTwo != null">standby_two,</if>
first_add_time,
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="taxInvoiceCode != null">#{taxInvoiceCode},</if>
<if test="taxInvoiceNumber != null">#{taxInvoiceNumber},</if>
<if test="deliveryNoteNumber != null">#{deliveryNoteNumber},</if>
<if test="enterpriseCode != null">#{enterpriseCode},</if>
<if test="enterpriseName != null">#{enterpriseName},</if>
<if test="contractNumber != null">#{contractNumber},</if>
<if test="paymentTerm != null">#{paymentTerm},</if>
<if test="billingDate != null">#{billingDate},</if>
<if test="transportWay != null">#{transportWay},</if>
<if test="transportMeans != null">#{transportMeans},</if>
<if test="departureDate != null">#{departureDate},</if>
<if test="exportCustoms != null">#{exportCustoms},</if>
<if test="billCommonCurrency != null">#{billCommonCurrency},</if>
<if test="packagesNumber != null">#{packagesNumber},</if>
<if test="arrivalArea != null">#{arrivalArea},</if>
<if test="portOfDestination != null">#{portOfDestination},</if>
<if test="hoistingNumber != null">#{hoistingNumber},</if>
<if test="printVersionNumber != null">#{printVersionNumber},</if>
<if test="billRemarks != null">#{billRemarks},</if>
<if test="taxInvoiceNo != null">#{taxInvoiceNo},</if>
<if test="getmoneyFlag != null">#{getmoneyFlag},</if>
<if test="standbyOne != null">#{standbyOne},</if>
<if test="standbyTwo != null">#{standbyTwo},</if>
now(),
</trim>
</insert>
<update id="updateTaxInvoiceInfo" parameterType="TaxInvoiceInfo">
update tax_invoice_info
<trim prefix="SET" suffixOverrides=",">
<if test="taxInvoiceCode != null">tax_invoice_code = #{taxInvoiceCode},</if>
<if test="taxInvoiceNumber != null">tax_invoice_number = #{taxInvoiceNumber},</if>
<if test="deliveryNoteNumber != null">delivery_note_number = #{deliveryNoteNumber},</if>
<if test="enterpriseCode != null">enterprise_code = #{enterpriseCode},</if>
<if test="enterpriseName != null">enterprise_name = #{enterpriseName},</if>
<if test="contractNumber != null">contract_number = #{contractNumber},</if>
<if test="paymentTerm != null">payment_term = #{paymentTerm},</if>
<if test="billingDate != null">billing_date = #{billingDate},</if>
<if test="transportWay != null">transport_way = #{transportWay},</if>
<if test="transportMeans != null">transport_means = #{transportMeans},</if>
<if test="departureDate != null">departure_date = #{departureDate},</if>
<if test="exportCustoms != null">export_customs = #{exportCustoms},</if>
<if test="billCommonCurrency != null">bill_common_currency = #{billCommonCurrency},</if>
<if test="packagesNumber != null">packages_number = #{packagesNumber},</if>
<if test="arrivalArea != null">arrival_area = #{arrivalArea},</if>
<if test="portOfDestination != null">port_of_destination = #{portOfDestination},</if>
<if test="hoistingNumber != null">hoisting_number = #{hoistingNumber},</if>
<if test="printVersionNumber != null">print_version_number = #{printVersionNumber},</if>
<if test="billRemarks != null">bill_remarks = #{billRemarks},</if>
<if test="taxInvoiceNo != null">tax_invoice_no = #{taxInvoiceNo},</if>
<if test="getmoneyFlag != null">getMoney_flag = #{getmoneyFlag},</if>
<if test="standbyOne != null">standby_one = #{standbyOne},</if>
<if test="standbyTwo != null">standby_two = #{standbyTwo},</if>
update_info_time = CONCAT_WS(',',NOW(),update_info_time),
</trim>
where tax_invoice_id = #{taxInvoiceId}
</update>
<delete id="deleteTaxInvoiceInfoById" parameterType="Long">
delete from tax_invoice_info where tax_invoice_id = #{taxInvoiceId}
</delete>
<delete id="deleteTaxInvoiceInfoByIds" parameterType="String">
delete from tax_invoice_info where tax_invoice_id in
<foreach item="taxInvoiceId" collection="array" open="(" separator="," close=")">
#{taxInvoiceId}
</foreach>
</delete>
</mapper>

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

@ -1,792 +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 :: bootstrap-editable-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 :: datetimepicker-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-taxInvoiceInfo-add">
<div class="form-group">
<label class="col-sm-3 control-label is-required">发票编号:</label>
<div class="col-sm-8">
<input name="taxInvoiceCode" class="form-control" type="text" required>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">发票号码:</label>
<div class="col-sm-8">
<input name="taxInvoiceNumber" class="form-control" type="text" required>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">送货单号:</label>
<div class="col-sm-8">
<input name="deliveryNoteNumber" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required ">客户代码:</label>
<div class="col-sm-8">
<select name="enterpriseCode" class="form-control m-b" required>
<option value="">所有</option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">客户名称:</label>
<div class="col-sm-8">
<input name="enterpriseName" class="form-control m-b" type="text" required readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">合同号码:</label>
<div class="col-sm-8">
<input name="contractNumber" 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="paymentTerm" 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="billingDate" 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="transportWay" 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="transportMeans" 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="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="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">
<select name="billCommonCurrency" class="form-control m-b" th:with="type=${@dict.getType('sys_coin_class')}">
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">件数:</label>
<div class="col-sm-8">
<input name="packagesNumber" 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="arrivalArea" 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="portOfDestination" 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="hoistingNumber" 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="printVersionNumber" 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="billRemarks" 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="taxInvoiceNo" 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="getmoneyFlag" class="form-control m-b" th:with="type=${@dict.getType('sys_whether')}">
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</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">
<!-- 查询成品资料-->
<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="finishProductCode"/>
</li>
<li>
<label>成品名称:</label>
<input type="text" name="finishProductName"/>
</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/taxInvoiceInfo"
var prefixTaxInvoiceProduct = ctx + "taxInvoice/taxInvoiceProduct"
var prefixfinishproduct = ctx + "system/finishproduct";
var inventoryUnitDatas = [[${@dict.getType('sys_unit_class')}]];
var whetherStopDatas = [[${@dict.getType('sys_whether')}]];
var productionCategoryDatas = [[${@dict.getType('sys_production_category')}]];
var finishProductCategoryDatas = [[${@dict.getType('sys_finish_product_category')}]];
var commonCurrencyDatas = [[${@dict.getType('sys_common_currency')}]];
let userName = [[${@permission.getPrincipalProperty('userName')}]];
// console.log(userName)
$("#form-taxInvoiceInfo-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-taxInvoiceInfo-add').serialize());
}
} else {
$.modal.alertWarning("未选择产品,请选择!")
}
}
$("input[name='billingDate']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true,
todayBtn: true,
todayHighlight: true,
startDate:new Date(),
initialDate: new Date()
});
$("input[name='departureDate']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true,
todayBtn: true,
todayHighlight: true,
startDate:new Date(),
initialDate: new Date()
});
$("input[name='billingDate']").datetimepicker("setDate", new Date());
$("input[name='departureDate']").datetimepicker("setDate", new Date());
$(function () {
//获取客户信息并自动填入数据
getCustomerListToForm();
//初始化添加产品表
$('#addProductTable').bootstrapTable({
pagination: true,
pageNumber: 1,
pageSize: 10,
showToggle: false, // 是否显示详细视图和列表视图的切换按钮
cardView: false, // 是否显示详细视图
detailView: false, // 是否显示父子表
smartDisplay: false, // 加了这个才显示每页显示的行数
showExport: false, // 是否显示导出按钮
clickToSelect: true,//点击行选中
paginationDetailHAlign: ' hiddenDetailInfo',
height: 250,
uniqueId: 'finishProductCode',
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: [
// {
// checkbox: true
// },
{
title: '操作',
align: 'center',
formatter: function (value, row, index) {
var actions = [];
actions.push('<a class="btn btn-danger btn-xs" href="javascript:void(0)" onclick="removeProductData(\'' + row.finishProductCode + '\')" ><i class="fa fa-remove"></i>删除</a>');
return actions.join('');
}
},
{
field: 'finishProductCode',
title: '成品代码'
},
{
field: 'finishProductName',
title: '成品名称'
},
{
field: 'specificationModel',
title: '规格型号'
},
{
field: 'inventoryUnit',
title: '单位',
formatter: function (value, row, index) {
return $.table.selectDictLabel(inventoryUnitDatas, value);
}
},
{
field: 'commonCurrency',
title: '币别',
editable: {
type: 'select',
title: '币别',
emptytext: '币别',
source: function() {
let result = [];
for (let i = 0;i<commonCurrencyDatas.length;i++) {
result.push({value: commonCurrencyDatas[i].dictValue,text: commonCurrencyDatas[i].dictLabel})
}
return result;
},
validate: function (value) {
}
}
},
{
field: 'processPrice',
title: '单价',
editable: {
type: 'text',
title: '单价',
emptytext: '单价',
validate: function (v) {
if (isNaN(v)) return '单价必须是数字';
if (v<=0) return '单价必须是正数';
}
}
},
{
field: 'quantity',
title: '数量',
editable: {
type: 'text',
title: '数量',
emptytext: '数量',
validate: function (v) {
if (isNaN(v)) return '数量必须是数字';
var ex = /^[1-9]\d*$/;
if (!ex.test(v)) return '数量必须是正整数';
}
}
},
{
field: 'amountOfMoney',
title: '金额',
editable: {
type: 'text',
title: '金额',
emptytext: '金额',
validate: function (value) {
}
},
formatter:function(value, row, index) {
let total = row.processPrice * row.quantity;
row.amountOfMoney = row.processPrice * row.quantity;
return total.toFixed(2);
}
}]
})
//显示产品信息
showProductData();
})
//获取客户信息并自动填入数据
function getCustomerListToForm() {
$.ajax({
url: prefix + "/getCustomerList",
type: "POST",
success: function (res) {
//console.log(res)
if (res.length > 0) {
customerListData = res;
//alert(JSON.stringify(data));
for (let i in customerListData) {
$("select[name='enterpriseCode']").append("<option value='" + customerListData[i].enterpriseCode + "'>" + customerListData[i].enterpriseCode + "</option>");
}
$("select[name='enterpriseCode']").change(function () {
var code = $(this).val();
for (let i=0;i<customerListData.length;i++) {
if (customerListData[i].enterpriseCode == code) {
$("input[name='enterpriseName']").val(customerListData[i].enterpriseName);
}
}
})
} else {
$.modal.msgError(res.msg);
}
},
error: function () {
$.modal.msgError("后台出错啦!");
}
})
}
//显示产品信息
function showProductData() {
var options = {
id: 'productTable',
url: prefixfinishproduct + "/list",
showRefresh: false,
showToggle: false,
clickToSelect: true,
modalName: "产品资料",
columns: [{
checkbox: true
},
{
field: 'finishProductId',
title: '成品id',
visible: false
},
{
field: 'customerNumber',
title: '客户料号'
},
{
field: 'typeMachine',
title: '机种'
},
{
field: 'finishProductName',
title: '成品名称'
},
{
field: 'enterpriseCode',
title: '客户代码'
},
{
field: 'enterpriseName',
title: '客户名称'
},
{
field: 'inventoryUnit',
title: '库存单位',
formatter: function(value, row, index) {
return $.table.selectDictLabel(inventoryUnitDatas, value);
},
visible: false
},
{
field: 'versionNumber',
title: '版本号'
},
{
field: 'finishProductCode',
title: '成品代码'
},
{
field: 'safetyStock',
title: '安全库存',
visible: false
},
{
field: 'stockUnitWeight',
title: '单位重量',
visible: false
},
{
field: 'gpItemSelection',
title: 'GP项选择',
formatter: function(value, row, index) {
return $.table.selectDictLabel(gpItemSelectionDatas, value);
},
visible: false
},
{
field: 'inPlantCode',
title: '厂内编码'
},
{
field: 'whetherStop',
title: '料号是否停用',
formatter: function(value, row, index) {
return $.table.selectDictLabel(whetherStopDatas, value);
}
},
{
field: 'createrName',
title: '创建人',
visible: false
},
{
field: 'ordinalName',
title: '半成品对应完工工序名',
visible: false
},
{
field: 'originalNumber',
title: '原成品料号',
visible: false
},
{
field: 'customsName',
title: '海关名称',
visible: false
},
{
field: 'defaultWarehouse',
title: '默认仓库'
},
{
field: 'materialCategory',
title: '类别',
formatter: function(value, row, index) {
return $.table.selectDictLabel(materialCategoryDatas, value);
},
visible: false
},
{
field: 'productionCategory',
title: '生产类别',
formatter: function(value, row, index) {
return $.table.selectDictLabel(productionCategoryDatas, value);
}
},
{
field: 'finishProductCategory',
title: '所属类别',
formatter: function(value, row, index) {
return $.table.selectDictLabel(finishProductCategoryDatas, value);
}
},
{
field: 'specificationModel',
title: '规格型号'
},
{
field: 'customerEngineer',
title: '客户工程师'
},
{
field: 'productDescription',
title: '产品描述',
visible: false
},
{
field: 'maximumInventory',
title: '最高库存',
visible: false
},
{
field: 'productPrice',
title: '产品售价',
visible: false
},
{
field: 'componentName',
title: '组件名称',
visible: false
},
{
field: 'createrTime',
title: '创建日期',
visible: false
},
{
field: 'ordinalNumber',
title: '半成品对应完工工序号',
visible: false
},
{
field: 'defaultLocation',
title: '默认位置',
visible: false
},
{
field: 'hsNumber',
title: 'HS号',
visible: false
},
{
field: 'kesNumber',
title: '科恩仕料号'
}]
};
$.table.init(options);
}
/*产品内容*/
//点击按钮显示产品信息模态框
function showProductModal() {
if ($.validate.form()) {
$("#productInfoModal").modal("show");
} else {
$.modal.alertWarning("请填写必填项");
}
}
//关闭产品信息模态框
function closeProductModal() {
$("#productInfoModal").modal("hide");
}
//表中添加选中的产品信息
function addProductToTable() {
var data = $("#productTable").bootstrapTable("getSelections");
var count = $('#addProductTable').bootstrapTable('getData').length;
var taxInvoiceCode = $("input[name='taxInvoiceCode']").val();
var taxInvoiceNumber = $("input[name='taxInvoiceNumber']").val();
// console.log(data);
// console.log(count);
for (i = 0; i < data.length; i++) {
let finishProduct = $('#addProductTable').bootstrapTable('getRowByUniqueId', data[i].finishProductCode);
if (finishProduct != null) {
alert(finishProduct.finishProductName + "已存在,不可重复添加!");
continue;
}
$("#addProductTable").bootstrapTable('insertRow', {
index: count + i,
row: {
taxInvoiceCode: taxInvoiceCode,
taxInvoiceNumber: taxInvoiceNumber,
finishProductCode: data[i].finishProductCode,
finishProductName: data[i].finishProductName,
specificationModel: data[i].specificationModel,
inventoryUnit: data[i].inventoryUnit,
commonCurrency: '',
quantity: '',
processPrice: '',
amountOfMoney: ''
}
});
}
$("#productTable").bootstrapTable("uncheckAll");
closeProductModal();
}
//确认添加选中的产品数据
function confirmProduct() {
let data = JSON.stringify($('#addProductTable').bootstrapTable('getData', true));
let datalist=$('#addProductTable').bootstrapTable('getData', true)
if (datalist.length > 0) {
$.ajax({
url: prefixTaxInvoiceProduct + '/add',
type: "POST",
data: {
data: data
},
dataType: "json",
success: function (resp) {
// console.log(data)
console.log(resp)
}
})
}
}
//添加表格内删除产品信息
function removeProductData(finishProductCode){
var ids = [];
ids.push(finishProductCode);
$('#addProductTable').bootstrapTable("remove",{
field:'finishProductCode',
values:ids
})
$("#addProductTable").bootstrapTable('refresh');
getTotal();
}
//计算全部数量、金额、大写
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].quantity));
totalMoney = totalMoney + getDataAll[i].amountOfMoney;
}
$("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)
}
})
}
</script>
</body>
</html>

864
ruoyi-admin/src/main/resources/templates/taxInvoice/taxInvoiceInfo/edit.html

@ -1,864 +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" />
<th:block th:include="include :: bootstrap-editable-css"/>
<link th:href="@{/ajax/libs/select2/select2.css}" rel="stylesheet">
<link th:href="@{/ajax/libs/select2/select2-bootstrap.css}" rel="stylesheet">
<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-taxInvoiceInfo-edit" th:object="${taxInvoiceInfo}">
<input name="taxInvoiceId" th:field="*{taxInvoiceId}" type="hidden">
<div class="form-group">
<label class="col-sm-3 control-label" is-required>发票编号:</label>
<div class="col-sm-8">
<input name="taxInvoiceCode" th:field="*{taxInvoiceCode}" class="form-control" type="text" required>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label" is-required>发票号码:</label>
<div class="col-sm-8">
<input name="taxInvoiceNumber" th:field="*{taxInvoiceNumber}" class="form-control" type="text" required>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">送货单号:</label>
<div class="col-sm-8">
<input name="deliveryNoteNumber" th:field="*{deliveryNoteNumber}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label" is-required>客户代码:</label>
<div class="col-sm-8">
<select name="enterpriseCode" class="form-control m-b" th:field="*{enterpriseCode}" required>
<option value="">所有</option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label" is-required>客户名称:</label>
<div class="col-sm-8">
<input name="enterpriseName" class="form-control m-b" th:field="*{enterpriseName}" required>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">合同号码:</label>
<div class="col-sm-8">
<input name="contractNumber" th:field="*{contractNumber}" 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="paymentTerm" th:field="*{paymentTerm}" 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="billingDate" th:value="*{billingDate}" 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="transportWay" th:field="*{transportWay}" 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="transportMeans" th:field="*{transportMeans}" 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="departureDate" th:value="*{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="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">
<select name="billCommonCurrency" class="form-control m-b" th:with="type=${@dict.getType('sys_coin_class')}">
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{billCommonCurrency}"></option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">件数:</label>
<div class="col-sm-8">
<input name="packagesNumber" th:field="*{packagesNumber}" 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="arrivalArea" th:field="*{arrivalArea}" 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="portOfDestination" th:field="*{portOfDestination}" 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="hoistingNumber" th:field="*{hoistingNumber}" 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="printVersionNumber" th:field="*{printVersionNumber}" 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="billRemarks" th:field="*{billRemarks}" 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="taxInvoiceNo" th:field="*{taxInvoiceNo}" 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="getmoneyFlag" class="form-control m-b" th:with="type=${@dict.getType('sys_whether')}">
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{getmoneyFlag}"></option>
</select>
</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>
<!--<div class="form-group">
<label class="col-sm-3 control-label">备用一:</label>
<div class="col-sm-8">
<input name="standbyOne" th:field="*{standbyOne}" 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="standbyTwo" th:field="*{standbyTwo}" 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>
<a class="btn btn-danger" onclick="removeProduct()" ><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">
<!-- 查询成品资料-->
<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-6 search-collapse">
<form id="productFormId">
<div class="select-list">
<ul>
<li>
<label>成品代码:</label>
<input type="text" name="finishProductCode"/>
</li>
<li>
<label>成品名称:</label>
<input type="text" name="finishProductName"/>
</li>
<li>
<label>客户代码:</label>
<input type="text" name="enterpriseCode"/>
</li>
<li>
<label>客户名称:</label>
<input type="text" name="enterpriseName"/>
</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 getData = [[${taxInvoiceInfo}]];
var prefix = ctx + "taxInvoice/taxInvoiceInfo";
var prefixTaxInvoiceProduct = ctx + "taxInvoice/taxInvoiceProduct"
var prefixfinishproduct = ctx + "system/finishproduct";
var inventoryUnitDatas = [[${@dict.getType('sys_unit_class')}]];
var whetherStopDatas = [[${@dict.getType('sys_whether')}]];
var productionCategoryDatas = [[${@dict.getType('sys_production_category')}]];
var finishProductCategoryDatas = [[${@dict.getType('sys_finish_product_category')}]];
var commonCurrencyDatas = [[${@dict.getType('sys_common_currency')}]];
$("#form-taxInvoiceInfo-edit").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.modal.confirm("确认以上修改吗?", function (){
//修改成品数据
updateProduct();
$.operate.save(prefix + "/edit", $('#form-taxInvoiceInfo-edit').serialize());
})
}
}
$("input[name='billingDate']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true,
todayBtn: true,
todayHighlight: true
});
$("input[name='departureDate']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true,
todayBtn: true,
todayHighlight: true
});
$(function (){})
$(function () {
//获取客户信息并自动填入数据
getCustomerListToForm();
$('#addProductTable').bootstrapTable("refresh")
//初始化添加产品表
$('#addProductTable').bootstrapTable({
url: prefixTaxInvoiceProduct + "/list",
pagination: true,
pageNumber: 1,
pageSize: 10,
showToggle: false, // 是否显示详细视图和列表视图的切换按钮
cardView: false, // 是否显示详细视图
detailView: false, // 是否显示父子表
smartDisplay: false, // 加了这个才显示每页显示的行数
showExport: false, // 是否显示导出按钮
clickToSelect: true,//点击行选中
paginationDetailHAlign: ' hiddenDetailInfo',
height: 250,
uniqueId: 'finishProductCode',
onEditableSave: function (field, row, oldValue, $el) {
$('#addProductTable').bootstrapTable('updateRow',{index: row.id, row: row});
getTotal();
},
onLoadSuccess: function (data) {
//计算全部数量、金额、大写
getTotal();
},
queryParams: function (params) {
//console.log("123");
var curParams = {
// 传递参数查询参数
pageSize: params.limit,
pageNum: params.offset / params.limit + 1,
// enterpriseCode: data[0].enterpriseCode
taxInvoiceCode: getData.taxInvoiceCode,
taxInvoiceNumber: getData.taxInvoiceNumber
};
// console.log(data[0].enterpriseCode)
return curParams
},
columns: [
{
checkbox: true
},
{
field: 'taxInvoiceProductId',
title: '发票产品id',
visible: false
},
{
field: 'finishProductCode',
title: '成品代码'
},
{
field: 'finishProductName',
title: '成品名称'
},
{
field: 'specificationModel',
title: '规格型号'
},
{
field: 'inventoryUnit',
title: '单位',
formatter: function (value, row, index) {
return $.table.selectDictLabel(inventoryUnitDatas, value);
}
},
{
field: 'commonCurrency',
title: '币别',
editable: {
type: 'select',
title: '币别',
emptytext: '币别',
source: function() {
let result = [];
for (let i = 0;i<commonCurrencyDatas.length;i++) {
result.push({value: commonCurrencyDatas[i].dictValue,text: commonCurrencyDatas[i].dictLabel})
}
return result;
},
validate: function (value) {
}
}
},
{
field: 'processPrice',
title: '单价',
editable: {
type: 'text',
title: '单价',
emptytext: '单价',
validate: function (v) {
if (isNaN(v)) return '单价必须是数字';
if (v<=0) return '单价必须是正数';
}
}
},
{
field: 'quantity',
title: '数量',
editable: {
type: 'text',
title: '数量',
emptytext: '数量',
validate: function (v) {
if (isNaN(v)) return '数量必须是数字';
var ex = /^[1-9]\d*$/;
if (!ex.test(v)) return '数量必须是正整数';
}
}
},
{
field: 'amountOfMoney',
title: '金额',
editable: {
type: 'text',
title: '金额',
emptytext: '金额',
validate: function (value) {
}
},
formatter:function(value, row, index) {
let total = row.processPrice * row.quantity;
row.amountOfMoney = row.processPrice * row.quantity;
return total.toFixed(2);
}
}]
})
//显示产品信息
showProductData();
})
//获取客户信息并自动填入数据
var customerListData = []
function getCustomerListToForm() {
$.ajax({
url: ctx + "system/customer/list",
type: "POST",
success: function (res) {
//console.log(res)
if (res.rows.length > 0) {
customerListData = res.rows;
//alert(JSON.stringify(data));
for (let i in customerListData) {
$("select[name='enterpriseCode']").append("<option value='" + customerListData[i].enterpriseCode + "'>" + customerListData[i].enterpriseCode + "</option>");
}
//选择元素的值时,触发变更事件
$("select[name='enterpriseCode']").val(getData.enterpriseCode).trigger("change")
$("select[name='enterpriseCode']").change(function () {
var code = $(this).val();
for (let i=0;i<customerListData.length;i++) {
if (customerListData[i].enterpriseCode == code) {
$("input[name='enterpriseName']").val(customerListData[i].enterpriseName);
$("input[name='contactNumber']").val(customerListData[i].contactNumber);
}
}
})
} else {
$.modal.msgError(res.msg);
}
},
error: function () {
$.modal.msgError("后台出错啦!");
}
})
}
/*成品内容*/
//点击按钮显示成品信息模态框
function showProductModal() {
if ($.validate.form()) {
$("#productInfoModal").modal("show");
} else {
$.modal.alertWarning("请填写必填项");
}
}
//关闭成品信息模态框
function closeProductModal() {
$("#productInfoModal").modal("hide");
}
//显示产品信息
function showProductData() {
var options = {
id: 'productTable',
url: prefixfinishproduct + "/list",
showRefresh: false,
showToggle: false,
clickToSelect: true,
modalName: "产品资料",
columns: [{
checkbox: true
},
{
field: 'finishProductId',
title: '成品id',
visible: false
},
{
field: 'customerNumber',
title: '客户料号'
},
{
field: 'typeMachine',
title: '机种'
},
{
field: 'finishProductName',
title: '成品名称'
},
{
field: 'enterpriseCode',
title: '客户代码'
},
{
field: 'enterpriseName',
title: '客户名称'
},
{
field: 'inventoryUnit',
title: '库存单位',
formatter: function(value, row, index) {
return $.table.selectDictLabel(inventoryUnitDatas, value);
},
visible: false
},
{
field: 'versionNumber',
title: '版本号'
},
{
field: 'finishProductCode',
title: '成品代码'
},
{
field: 'safetyStock',
title: '安全库存',
visible: false
},
{
field: 'stockUnitWeight',
title: '单位重量',
visible: false
},
{
field: 'gpItemSelection',
title: 'GP项选择',
formatter: function(value, row, index) {
return $.table.selectDictLabel(gpItemSelectionDatas, value);
},
visible: false
},
{
field: 'inPlantCode',
title: '厂内编码'
},
{
field: 'whetherStop',
title: '料号是否停用',
formatter: function(value, row, index) {
return $.table.selectDictLabel(whetherStopDatas, value);
}
},
{
field: 'createrName',
title: '创建人',
visible: false
},
{
field: 'ordinalName',
title: '半成品对应完工工序名',
visible: false
},
{
field: 'originalNumber',
title: '原成品料号',
visible: false
},
{
field: 'customsName',
title: '海关名称',
visible: false
},
{
field: 'defaultWarehouse',
title: '默认仓库'
},
{
field: 'materialCategory',
title: '类别',
formatter: function(value, row, index) {
return $.table.selectDictLabel(materialCategoryDatas, value);
},
visible: false
},
{
field: 'productionCategory',
title: '生产类别',
formatter: function(value, row, index) {
return $.table.selectDictLabel(productionCategoryDatas, value);
}
},
{
field: 'finishProductCategory',
title: '所属类别',
formatter: function(value, row, index) {
return $.table.selectDictLabel(finishProductCategoryDatas, value);
}
},
{
field: 'specificationModel',
title: '规格型号'
},
{
field: 'customerEngineer',
title: '客户工程师'
},
{
field: 'productDescription',
title: '产品描述',
visible: false
},
{
field: 'maximumInventory',
title: '最高库存',
visible: false
},
{
field: 'productPrice',
title: '产品售价',
visible: false
},
{
field: 'componentName',
title: '组件名称',
visible: false
},
{
field: 'createrTime',
title: '创建日期',
visible: false
},
{
field: 'ordinalNumber',
title: '半成品对应完工工序号',
visible: false
},
{
field: 'defaultLocation',
title: '默认位置',
visible: false
},
{
field: 'hsNumber',
title: 'HS号',
visible: false
},
{
field: 'kesNumber',
title: '科恩仕料号'
}]
};
$.table.init(options);
}
//表中添加选中的产品信息
function addProductToTable() {
var data = $("#productTable").bootstrapTable("getSelections");
var count = $('#addProductTable').bootstrapTable('getData').length;
var taxInvoiceCode = $("input[name='taxInvoiceCode']").val();
var taxInvoiceNumber = $("input[name='taxInvoiceNumber']").val();
// console.log(taxInvoiceCode);
// console.log(taxInvoiceNumber);
for (i = 0; i < data.length; i++) {
let finishProduct = $('#addProductTable').bootstrapTable('getRowByUniqueId', data[i].finishProductCode);
if (finishProduct != null) {
alert(finishProduct.finishProductName + "已存在,不可重复添加!");
continue;
}
$("#addProductTable").bootstrapTable('insertRow', {
index: count + i,
row: {
taxInvoiceCode: taxInvoiceCode,
taxInvoiceNumber: taxInvoiceNumber,
finishProductCode: data[i].finishProductCode,
finishProductName: data[i].finishProductName,
specificationModel: data[i].specificationModel,
inventoryUnit: data[i].inventoryUnit,
commonCurrency: '',
quantity: '',
processPrice: '',
amountOfMoney: ''
}
});
}
$("#productTable").bootstrapTable("uncheckAll");
closeProductModal();
}
//修改成品数据
function updateProduct() {
var list = $("#addProductTable").bootstrapTable('getData');
// console.log(list);
for (let i = 0;i<list.length;i++) {
list[i].taxInvoiceCode = $("input[name='taxInvoiceCode']").val();
list[i].taxInvoiceNumber = $("input[name='taxInvoiceNumber']").val();
}
let data = JSON.stringify($('#addProductTable').bootstrapTable('getData', true));
let dataLength = $('#addProductTable').bootstrapTable('getData', true)
if (dataLength.length > 0) {
//添加
$.ajax({
url: prefixTaxInvoiceProduct + '/add',
type: "POST",
data: {
data: data
},
dataType: "json",
success: function (resp) {
// console.log(resp)
$("#addProductTable").bootstrapTable('refresh');
}
})
//修改
$.ajax({
url: prefixTaxInvoiceProduct + '/updateProduct',
type: "POST",
data: {
data: JSON.stringify(data)
},
dataType: "json",
success: function (resp) {
// console.log(data)
// console.log(JSON.stringify(data))
// console.log(resp)
$("#addProductTable").bootstrapTable('refresh');
}
})
}
}
// 删除成品
function removeProduct() {
var addProductTableData = $("#addProductTable").bootstrapTable("getSelections");
// console.log(addProductTableData)
var ids = [];
for (let i = 0;i < addProductTableData.length;i++) {
ids.push(addProductTableData[i].taxInvoiceProductId)
}
// console.log(ids)
// console.log(ids.toString())
// console.log(JSON.stringify(ids))
if (addProductTableData.length > 0) {
$.modal.confirm("是否确认要删除选中的产品?" +
"确认后将直接删除", function (){
$.ajax({
url: prefixTaxInvoiceProduct + "/remove",
type: "POST",
data: {
ids: ids.toString()
},
success: function (res) {
// console.log(ids)
// console.log(res)
$.modal.msgSuccess("删除成功")
$("#addProductTable").bootstrapTable('refreshOptions', {pageNumber: 1}); // pageNumber:1, 指定页码为第1页
$("#addProductTable").bootstrapTable('refresh');
getTotal();
}
})
})
} else {
alert("请选择需要删除的数据")
}
}
//计算全部数量、金额、大写
function getTotal() {
var getDataAll = $("#addProductTable").bootstrapTable('getData');
// 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].quantity));
totalMoney = totalMoney + getDataAll[i].amountOfMoney;
}
$("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)
}
})
}
</script>
</body>
</html>

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

@ -1,753 +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('国税发票列表')" />
<link th:href="@{/ajax/libs/select2/select2.css}" rel="stylesheet">
<link th:href="@{/ajax/libs/select2/select2-bootstrap.css}" rel="stylesheet">
<script type="text/javascript" th:src="@{/js/axios.min.js}"></script>
<!-- <script src="https://cdn.staticfile.org/axios/1.1.3/axios.min.js"></script>-->
<style>
.table-striped{
border: 0px!important;
white-space:nowrap;
}
.base-taxInvoice-order {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.base-taxInvoice-order .form-group {
width: 30%;
}
.details-title {
width: 100%;
position: fixed;
font-size: 20px;
padding: 10px 0;
text-align: center;
background-color: #a7b1c2;
color: #FFFFFF;
z-index: 9999;
}
.details-body {
padding-top: 80px;
overflow-y: auto;
max-height: 750px;
}
</style>
</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="taxInvoiceNumber"/>
</li>
<li>
<label>送货单号:</label>
<input type="text" name="deliveryNoteNumber"/>
</li>
<li>
<label>客户代码:</label>
<select name="enterpriseCode">
<option value="">所有</option>
</select>
</li>
<li>
<label>客户名称:</label>
<select name="enterpriseName">
<option value="">所有</option>
</select>
</li>
<li>
<label>国税发票编号:</label>
<input type="text" name="taxInvoiceNo"/>
</li>
<li>
<label>是否收到款:</label>
<select name="getmoneyFlag" th:with="type=${@dict.getType('sys_whether')}">
<option value="">所有</option>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></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:taxInvoiceInfo:add">
<i class="fa fa-plus"></i> 添加
</a>
<a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="taxInvoice:taxInvoiceInfo:edit">
<i class="fa fa-edit"></i> 修改
</a>
<a class="btn btn-danger single disabled" onclick="removeSelectedInvoice()" shiro:hasPermission="taxInvoice:taxInvoiceInfo:removeSelectedInvoice">
<i class="fa fa-remove"></i> 删除
</a>
<a class="btn btn-warning single disabled" onclick="exportInvoice()" shiro:hasPermission="taxInvoice:taxInvoiceInfo:exportInvoice">
<i class="fa fa-download"></i> 导出
</a>
<a class="btn btn-info single disabled" onclick="showTaxInvoiceDetail()" shiro:hasPermission="taxInvoice:taxInvoiceInfo:showTaxInvoiceDetail">
<i class="fa fa-file-text"></i> 查看详情
</a>
</div>
<div class="col-sm-12 select-table table-striped">
<table id="bootstrap-table" style="white-space:nowrap"></table>
</div>
</div>
</div>
<!--详情信息模态框-->
<div class="modal inmodal" id="taxInvoiceDetailsModal" tabindex="-1"
role="dilog" aria-hidden="true">
<div class="modal-dialog" style="width: 1400px;max-height: 800px; background-color: #FFFFFF">
<div class="modal-content" style="background-color: #FFFFFF">
<div class="details-title">订单详情</div>
<div class="modal-body details-body">
<div class="row">
<div class="base-taxInvoice-order">
<div class="form-group">
<label class="col-sm-3 control-label is-required">发票编号:</label>
<div class="col-sm-8">
<input name="taxInvoiceCode" class="form-control" type="text" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">发票号码:</label>
<div class="col-sm-8">
<input name="taxInvoiceNumber" id="taxInvoiceNumberDetail" class="form-control" type="text" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">送货单号:</label>
<div class="col-sm-8">
<input name="deliveryNoteNumber" id="deliveryNoteNumberDetail" class="form-control" type="text" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">客户代码:</label>
<div class="col-sm-8">
<input name="enterpriseCode" id="enterpriseCodeDetail" class="form-control" type="text" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">客户名称:</label>
<div class="col-sm-8">
<input name="enterpriseName" id="enterpriseNameDetail" class="form-control m-b" type="text" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">合同号码:</label>
<div class="col-sm-8">
<input name="contractNumber" class="form-control" type="text" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">付款条件:</label>
<div class="col-sm-8">
<input name="paymentTerm" class="form-control" type="text" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">开票日期:</label>
<div class="col-sm-8">
<input name="billingDate" class="form-control" type="text" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">运输方式:</label>
<div class="col-sm-8">
<input name="transportWay" class="form-control" type="text" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">运输工具:</label>
<div class="col-sm-8">
<input name="transportMeans" class="form-control" type="text" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">离境日期:</label>
<div class="col-sm-8">
<input name="departureDate" class="form-control" type="text" readonly>
</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" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">币别:</label>
<div class="col-sm-8">
<input name="billCommonCurrency" class="form-control" type="text" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">件数:</label>
<div class="col-sm-8">
<input name="packagesNumber" class="form-control" type="text" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">抵运国(地区):</label>
<div class="col-sm-8">
<input name="arrivalArea" class="form-control" type="text" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">指运港:</label>
<div class="col-sm-8">
<input name="portOfDestination" class="form-control" type="text" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">提运单号:</label>
<div class="col-sm-8">
<input name="hoistingNumber" class="form-control" type="text" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">发票印字版号:</label>
<div class="col-sm-8">
<input name="printVersionNumber" class="form-control" type="text" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">备注:</label>
<div class="col-sm-8">
<input name="billRemarks" class="form-control" type="text" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">国税发票编号:</label>
<div class="col-sm-8">
<input name="taxInvoiceNo" class="form-control" type="text" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">是否收到款:</label>
<div class="col-sm-8">
<input name="getmoneyFlag" class="form-control" type="text" readonly>
</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" readonly>
</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" readonly>
</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" readonly>
</div>
</div>
</div>
<div class="taxInvoiceList" style="margin-top: 20px;">
<div class="taxInvoiceProductList">
<div class="col-sm-12 table-striped" style="margin-top: 20px;">
<div class="details" style="font-size: 18px">产品信息</div>
<table id="taxInvoiceProductTable"></table>
</div>
</div>
</div>
</div>
</div>
<div class="modal-footer" style=" border-top: none;background-color: #a7b1c2">
<!-- <button type="button" class="btn btn-success" onclick="btnAudit()">审核确认</button>-->
<button type="button" class="btn btn-default" data-dismiss="modal" onclick="closeTaxInvoiceDetailModal()">关闭</button>
</div>
</div>
</div>
</div>
<th:block th:include="include :: footer" />
<th:block th:include="include :: select2-js"/>
<script th:inline="javascript">
var editFlag = [[${@permission.hasPermi('taxInvoice:taxInvoiceInfo:edit')}]];
var removeFlag = [[${@permission.hasPermi('taxInvoice:taxInvoiceInfo:remove')}]];
var billCommonCurrencyDatas = [[${@dict.getType('sys_coin_class')}]];
var commonCurrencyDatas = [[${@dict.getType('sys_common_currency')}]];
var getmoneyFlagDatas = [[${@dict.getType('sys_whether')}]];
var prefix = ctx + "taxInvoice/taxInvoiceInfo";
var prefixProduct = ctx + "taxInvoice/taxInvoiceProduct";
$(function() {
var options = {
url: prefix + "/list",
createUrl: prefix + "/add",
updateUrl: prefix + "/edit/{id}",
removeUrl: prefix + "/remove",
exportUrl: prefix + "/export",
clickToSelect: true,
modalName: "国税发票",
columns: [{
checkbox: true
},
{
field: 'taxInvoiceId',
title: '国税发票id',
visible: false
},
{
field: 'taxInvoiceCode',
title: '发票编号'
},
{
field: 'taxInvoiceNumber',
title: '发票号码'
},
{
field: 'deliveryNoteNumber',
title: '送货单号'
},
{
field: 'enterpriseCode',
title: '客户代码'
},
{
field: 'enterpriseName',
title: '客户名称'
},
{
field: 'contractNumber',
title: '合同号码'
},
{
field: 'paymentTerm',
title: '付款条件'
},
{
field: 'billingDate',
title: '开票日期'
},
{
field: 'transportWay',
title: '运输方式'
},
{
field: 'transportMeans',
title: '运输工具'
},
{
field: 'departureDate',
title: '离境日期'
},
{
field: 'exportCustoms',
title: '出口海关'
},
{
field: 'billCommonCurrency',
title: '币种',
formatter: function(value, row, index) {
return $.table.selectDictLabel(billCommonCurrencyDatas, value);
}
},
{
field: 'packagesNumber',
title: '件数'
},
{
field: 'arrivalArea',
title: '抵运国'
},
{
field: 'portOfDestination',
title: '指运港'
},
{
field: 'hoistingNumber',
title: '提运单号'
},
{
field: 'printVersionNumber',
title: '发票印字版号'
},
{
field: 'billRemarks',
title: '备注'
},
{
field: 'taxInvoiceNo',
title: '国税发票编号'
},
{
field: 'getmoneyFlag',
title: '是否收到款',
formatter: function(value, row, index) {
return $.table.selectDictLabel(getmoneyFlagDatas, value);
}
},
{
field: 'firstAddTime',
title: '录入时间',
formatter: function (value, row, index) {
if (value == null) {
return " ";
} else {
return value;
}
}
},
{
field: 'updateInfoTime',
title: '上次修改时间',
formatter: function (value, row, index) {
if (value == null) {
return " ";
} else {
var vArr = value.split(',')
return vArr[0];
}
}
},
{
field: 'standbyOne',
title: '备用一',
visible: false
},
{
field: 'standbyTwo',
title: '备用二',
visible: false
}]
/*{
title: '操作',
align: 'center',
formatter: function(value, row, index) {
var actions = [];
actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.taxInvoiceId + '\')"><i class="fa fa-edit"></i>编辑</a> ');
actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.taxInvoiceId + '\')"><i class="fa fa-remove"></i>删除</a>');
return actions.join('');
}
}*/
};
$.table.init(options);
//获取客户信息
getCustomerList();
});
/*获取客户信息*/
function getCustomerList() {
$.ajax({
url: prefix + "/getCustomerList",
type: "POST",
success: function (res) {
//console.log(res)
if (res.length > 0) {
customerListData = res;
//alert(JSON.stringify(data));
for (let i in customerListData) {
$("select[name='enterpriseCode']").append("<option value='" + customerListData[i].enterpriseCode + "'>" + customerListData[i].enterpriseCode + "</option>");
$("select[name='enterpriseName']").append("<option value='" + customerListData[i].enterpriseName + "'>" + customerListData[i].enterpriseName + "</option>");
}
} else {
$.modal.msgError(res.msg);
}
},
error: function () {
$.modal.msgError("后台出错啦!");
}
})
}
/*删除订单信息判断*/
function removeSelectedInvoice() {
table.set();
var invoiceId = $.common.isEmpty(table.options.uniqueId) ? $.table.selectFirstColumns() : $.table.selectColumns(table.options.uniqueId);
var selectedData = $('#bootstrap-table').bootstrapTable("getSelections");
if (selectedData.length === 1) {
$.ajax({
url: prefixProduct + '/list?' + 'taxInvoiceCode=' + selectedData[0].taxInvoiceCode + '&taxInvoiceNumber=' + selectedData[0].taxInvoiceNumber,
type: "post",
data: {},
success: function (res) {
var productIds = []
for (let j=0;j<res.rows.length;j++) {
productIds.push(res.rows[j].taxInvoiceProductId)
}
// console.log(productIds)
if (res.rows.length > 0 ) {
$.modal.confirm("选中发票含有"+ res.rows.length +"条产品信息将一并删除,确认要删除选中的" + selectedData.length + "条数据吗?", function() {
removeData(invoiceId,productIds)
})
} else {
$.modal.confirm("确认要删除选中的" + selectedData.length + "条数据吗?", function() {
removeData(invoiceId,productIds);
})
}
}
})
} else {
$.modal.alertWarning("请选择一条记录");
}
}
//删除发票数据和成品数据
function removeData(invoiceId,productIds) {
$.ajax({
url: prefix + '/remove',
type: "POST",
data: {
ids: invoiceId.join()
},
dataType: "json",
success: function (resp) {
// console.log(resp)
$("#bootstrap-table").bootstrapTable('refresh');
}
})
$.ajax({
url: prefixProduct + '/remove',
type: "POST",
data: {
ids: productIds.join()
},
dataType: "json",
success: function (resp) {
// console.log(data)
// console.log(JSON.stringify(data))
// console.log(resp)
$("#bootstrap-table").bootstrapTable('refresh');
}
})
$.modal.msgSuccess("删除成功")
}
//导出发票信息
function exportInvoice() {
// rows为选中行的id
var rows = $.common.isEmpty(table.options.uniqueId) ? $.table.selectFirstColumns() : $.table.selectColumns(table.options.uniqueId);
//选择的行数据
var selectData = $("#bootstrap-table").bootstrapTable("getSelections")
// console.log(JSON.stringify(selectData))
// console.log(selectData)
if (rows.length !== 1) {
$.modal.alert("请选择一条记录");
return;
} else {
$.modal.confirm("是否确认要导出本条信息?", function (){
axios({
// url: prefix + '/exportInvoice?taxInvoiceCode='+selectData[0].taxInvoiceCode+'&taxInvoiceNumber='+selectData[0].taxInvoiceNumber,
url: prefix + '/exportInvoice',
data:{
selectData:JSON.stringify(selectData)
},
method: 'POST',
responseType: 'blob'
}).then(response => {
// console.log(response)
// console.log(response.data)
const URL = window.URL.createObjectURL(response.data)
// 创建隐藏<a>标签进行下载
const tempLink = document.createElement('a')
tempLink.style.display = 'none'
tempLink.href = URL
let time = new Date().toLocaleString()
tempLink.setAttribute('download', time + "国税发票.xlsx")
if (typeof tempLink.download === 'undefined') {
tempLink.setAttribute('target', '_blank')
}
document.body.appendChild(tempLink)
tempLink.click()
document.body.removeChild(tempLink)// 移除dom元素
window.URL.revokeObjectURL(URL)//释放内存
})
});
}
}
//详细信息页面
function showTaxInvoiceDetail() {
$("#taxInvoiceDetailsModal").modal("show");
let selectData = $("#bootstrap-table").bootstrapTable("getSelections")
$("input[name='taxInvoiceCode']").val(selectData[0].taxInvoiceCode)
$('#taxInvoiceNumberDetail').val(selectData[0].taxInvoiceNumber)
$('#deliveryNoteNumberDetail').val(selectData[0].deliveryNoteNumber)
$("input[name='enterpriseCode']").val(selectData[0].enterpriseCode)
$("input[name='enterpriseName']").val(selectData[0].enterpriseName)
$("input[name='contractNumber']").val(selectData[0].contractNumber)
$("input[name='paymentTerm']").val(selectData[0].paymentTerm)
$("input[name='billingDate']").val(selectData[0].billingDate)
$("input[name='transportWay']").val(selectData[0].transportWay)
$("input[name='transportMeans']").val(selectData[0].transportMeans)
$("input[name='departureDate']").val(selectData[0].departureDate)
$("input[name='exportCustoms']").val(selectData[0].exportCustoms)
$("input[name='billCommonCurrency']").val(selectData[0].billCommonCurrency)
$("input[name='packagesNumber']").val(selectData[0].packagesNumber)
$("input[name='arrivalArea']").val(selectData[0].arrivalArea)
$("input[name='portOfDestination']").val(selectData[0].portOfDestination)
$("input[name='hoistingNumber']").val(selectData[0].hoistingNumber)
$("input[name='printVersionNumber']").val(selectData[0].printVersionNumber)
$("input[name='billRemarks']").val(selectData[0].billRemarks)
$('#taxInvoiceNo').val(selectData[0].taxInvoiceNo)
if(selectData[0].getmoneyFlag == 1) {
$("input[name='getmoneyFlag']").val("是")
} else if(selectData[0].getmoneyFlag == 0){
$("input[name='getmoneyFlag']").val("否")
} else {
$("input[name='getmoneyFlag']").val("")
}
$('#taxInvoiceProductTable').bootstrapTable('destroy');
$('#taxInvoiceProductTable').bootstrapTable({
url: prefixProduct + '/list',
pagination: false,
// pageNumber: 1,
// pageSize: 10,
// pageList: [10, 25, 50, 100],
showRefresh: false,
method: "post",
contentType: "application/x-www-form-urlencoded",
striped: true, // 是否显示行间隔色
cache: false, // 是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
sidePagination: "server", // 分页方式:client客户端分页,server服务端分页(*)
clickToSelect: true, // 是否启用点击选中行
showToggle: false, // 是否显示详细视图和列表视图的切换按钮
cardView: false, // 是否显示详细视图
detailView: false, // 是否显示父子表
smartDisplay: false, // 加了这个才显示每页显示的行数
showExport: false, // 是否显示导出按钮
singleSelect: true,
paginationDetailHAlign: ' hiddenDetailInfo',
height: 150,
onLoadSuccess: function (data) {
//计算全部数量、金额、大写
getTotal();
},
queryParams: function (params) {
//console.log("123");
var curParams = {
// 传递参数查询参数
// pageSize: params.limit,
// pageNum: params.offset / params.limit + 1,
taxInvoiceCode: selectData[0].taxInvoiceCode,
taxInvoiceNumber: selectData[0].taxInvoiceNumber
};
// console.log($("input[name='orderNumber']").val());
return curParams
},
columns: [
{
field: 'taxInvoiceProductId',
title: '国税产品id',
visible: false
},
{
field: 'taxInvoiceCode',
title: '发票编号',
visible: false
},
{
field: 'taxInvoiceNumber',
title: '发票号码',
visible: false
},
{
field: 'finishProductCode',
title: '成品代码'
},
{
field: 'finishProductName',
title: '成品名称'
},
{
field: 'specificationModel',
title: '规格型号'
},
{
field: 'inventoryUnit',
title: '单位'
},
{
field: 'commonCurrency',
title: '币别',
formatter: function(value, row, index) {
return $.table.selectDictLabel(commonCurrencyDatas, value);
}
},
{
field: 'quantity',
title: '数量'
},
{
field: 'processPrice',
title: '单价'
},
{
field: 'amountOfMoney',
title: '金额'
}]
})
}
//关闭详细信息页面
function closeTaxInvoiceDetailModal() {
$("#taxInvoiceDetailsModal").modal("hide");
}
//计算全部数量、金额、大写
function getTotal() {
var getDataAll = $("#taxInvoiceProductTable").bootstrapTable('getData');
// 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].quantity));
totalMoney = totalMoney + parseFloat(getDataAll[i].amountOfMoney);
}
$("input[name='totalQuantity']").val(totalQuantity)
$("input[name='totalMoney']").val(parseFloat(totalMoney).toFixed(2))
$.ajax({
url: prefix + '/getMoneyUpCase',
type: 'post',
data: {
totalMoney: totalMoney
},
success: function (res) {
// console.log(res)
$("input[name='totalMoneyUpCase']").val(res)
}
})
}
</script>
</body>
</html>
Loading…
Cancel
Save