Browse Source

删除旧版无用的销售对账对象 sales_account_reconciliation和系统中对应的前端所有代码和后端所有代码 和对应的系统菜单数据

dev
liuxiaoxu 1 month ago
parent
commit
d7ed65a87a
  1. 252
      ruoyi-admin/src/main/java/com/ruoyi/sales/controller/SalesAccountReconciliationController.java
  2. 295
      ruoyi-admin/src/main/java/com/ruoyi/sales/domain/SalesAccountReconciliation.java
  3. 62
      ruoyi-admin/src/main/java/com/ruoyi/sales/mapper/SalesAccountReconciliationMapper.java
  4. 62
      ruoyi-admin/src/main/java/com/ruoyi/sales/service/ISalesAccountReconciliationService.java
  5. 95
      ruoyi-admin/src/main/java/com/ruoyi/sales/service/impl/SalesAccountReconciliationServiceImpl.java
  6. 284
      ruoyi-admin/src/main/resources/mapper/sales/SalesAccountReconciliationMapper.xml
  7. 341
      ruoyi-admin/src/main/resources/templates/sales/salesAccountReconciliation/add.html
  8. 342
      ruoyi-admin/src/main/resources/templates/sales/salesAccountReconciliation/edit.html
  9. 852
      ruoyi-admin/src/main/resources/templates/sales/salesAccountReconciliation/salesAccountReconciliation.html

252
ruoyi-admin/src/main/java/com/ruoyi/sales/controller/SalesAccountReconciliationController.java

@ -1,252 +0,0 @@
package com.ruoyi.sales.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.excel.write.metadata.style.WriteCellStyle;
import com.alibaba.excel.write.metadata.style.WriteFont;
import com.alibaba.excel.write.style.HorizontalCellStyleStrategy;
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.domain.entity.SysDictData;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.sales.domain.SalesAccountReconciliation;
import com.ruoyi.sales.domain.exportDto.SalesAccountReconciliationDto;
import com.ruoyi.sales.service.ISalesAccountReconciliationService;
import com.ruoyi.system.domain.SysCustomer;
import com.ruoyi.system.domain.SysCustomerVo;
import com.ruoyi.system.service.ISysCustomerService;
import com.ruoyi.system.service.ISysDictTypeService;
import org.apache.poi.ss.usermodel.HorizontalAlignment;
import org.apache.poi.ss.usermodel.VerticalAlignment;
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.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
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-03
*/
@Controller
@RequestMapping("/sales/salesAccountReconciliation")
public class SalesAccountReconciliationController extends BaseController
{
private String prefix = "sales/salesAccountReconciliation";
@Autowired
private ISalesAccountReconciliationService salesAccountReconciliationService;
@Autowired
private ISysCustomerService customerService;
@Autowired
private ISysDictTypeService sysDictTypeService;
@RequiresPermissions("sales:salesAccountReconciliation:view")
@GetMapping()
public String salesAccountReconciliation()
{
return prefix + "/salesAccountReconciliation";
}
/**
* 查询销售对账列表
*/
@RequiresPermissions("sales:salesAccountReconciliation:list")
@PostMapping("/list")
@ResponseBody
public TableDataInfo list(SalesAccountReconciliation salesAccountReconciliation)
{
startPage();
List<SalesAccountReconciliation> list = salesAccountReconciliationService.selectSalesAccountReconciliationList(salesAccountReconciliation);
return getDataTable(list);
}
/**
* 导出销售对账列表
*/
@RequiresPermissions("sales:salesAccountReconciliation:export")
@Log(title = "销售对账", businessType = BusinessType.EXPORT)
@PostMapping("/export")
@ResponseBody
public AjaxResult export(SalesAccountReconciliation salesAccountReconciliation)
{
List<SalesAccountReconciliation> list = salesAccountReconciliationService.selectSalesAccountReconciliationList(salesAccountReconciliation);
ExcelUtil<SalesAccountReconciliation> util = new ExcelUtil<SalesAccountReconciliation>(SalesAccountReconciliation.class);
return util.exportExcel(list, "销售对账数据");
}
/**
* 新增销售对账
*/
@GetMapping("/add")
public String add()
{
return prefix + "/add";
}
/**
* 新增保存销售对账
*/
@RequiresPermissions("sales:salesAccountReconciliation:add")
@Log(title = "销售对账", businessType = BusinessType.INSERT)
@PostMapping("/add")
@ResponseBody
public AjaxResult addSave(SalesAccountReconciliation salesAccountReconciliation)
{
return toAjax(salesAccountReconciliationService.insertSalesAccountReconciliation(salesAccountReconciliation));
}
/**
* 修改销售对账
*/
@GetMapping("/edit/{salesFinishId}")
public String edit(@PathVariable("salesFinishId") Long salesFinishId, ModelMap mmap)
{
SalesAccountReconciliation salesAccountReconciliation = salesAccountReconciliationService.selectSalesAccountReconciliationById(salesFinishId);
mmap.put("salesAccountReconciliation", salesAccountReconciliation);
return prefix + "/edit";
}
/**
* 修改保存销售对账
*/
@RequiresPermissions("sales:salesAccountReconciliation:edit")
@Log(title = "销售对账", businessType = BusinessType.UPDATE)
@PostMapping("/edit")
@ResponseBody
public AjaxResult editSave(SalesAccountReconciliation salesAccountReconciliation)
{
return toAjax(salesAccountReconciliationService.updateSalesAccountReconciliation(salesAccountReconciliation));
}
/**
* 删除销售对账
*/
@RequiresPermissions("sales:salesAccountReconciliation:remove")
@Log(title = "销售对账", businessType = BusinessType.DELETE)
@PostMapping( "/remove")
@ResponseBody
public AjaxResult remove(String ids)
{
return toAjax(salesAccountReconciliationService.deleteSalesAccountReconciliationByIds(ids));
}
//获取客户信息
@PostMapping("/getCustomerList")
@ResponseBody
public List<SysCustomer> getCustomerList(SysCustomer customer) {
List<SysCustomer> list = customerService.selectSysCustomerToList();
return list;
}
/**
* 导出
* @param ids
* @param response
* @throws IOException
*/
@RequiresPermissions("purchase:purchaseOrder:export")
@Log(title = "采购订单", businessType = BusinessType.EXPORT)
@RequestMapping("/exportSelected/{ids}")
@ResponseBody
public void exportSelected(@PathVariable("ids") String ids, HttpServletResponse response) throws IOException {
String[] idsStr = ids.split(",");
// 创建列合并工具类对象
// ExcelFillCellMergePrevColUtils mergePrevColUtils = new ExcelFillCellMergePrevColUtils();
List<SalesAccountReconciliationDto> salesAccountReconciliationDtoList = new ArrayList<>();
List<SalesAccountReconciliation> salesAccountReconciliationList = new ArrayList<>();
for (int i = 0; i < idsStr.length; i++) {
SalesAccountReconciliation salesAccountReconciliation = salesAccountReconciliationService.selectSalesAccountReconciliationById(Long.valueOf(idsStr[i]));
salesAccountReconciliationList.add(salesAccountReconciliation);
}
Double total = 0.00;
try {
int number = 0;
Iterator values= salesAccountReconciliationList.iterator();
while(values.hasNext()) {
Object source = values.next();
SalesAccountReconciliationDto target = SalesAccountReconciliationDto.class.newInstance();
BeanUtils.copyProperties(source, target);
List<SysDictData> deptData = sysDictTypeService.selectDictDataByType("sys_common_currency");
for (int i = 0;i<deptData.size();i++) {
if (target.getCommonCurrency().equals(deptData.get(i).getDictValue())) {
target.setCommonCurrency(deptData.get(i).getDictLabel());
}
}
total = total + Double.parseDouble(target.getAmountMoney());
number++;
salesAccountReconciliationDtoList.add(target);
}
}catch (Exception e) {
log.error(">>>>>>异常<<<<<<", e);
}
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\\exportSalesReconciliation.xlsx";
try (ExcelWriter excelWriter = EasyExcel
.write(response.getOutputStream(), SalesAccountReconciliationDto.class)
.withTemplate(templateFileName)
// .registerWriteHandler(mergePrevColUtils)
//样式注册
.registerWriteHandler(horizontalCellStyleStrategyBuilder())
.build()) {
WriteSheet writeSheet = EasyExcel.writerSheet().build();
FillConfig fillConfig = FillConfig.builder().forceNewRow(Boolean.TRUE).build();
excelWriter.fill(salesAccountReconciliationDtoList, fillConfig, writeSheet);
Map<String, Object> map = MapUtils.newHashMap();
map.put("date", DateTimeFormatter.ofPattern("yyyy/MM/dd").format(LocalDateTime.now()));
map.put("total", total);
excelWriter.fill(map, writeSheet);
}
}
public HorizontalCellStyleStrategy horizontalCellStyleStrategyBuilder() {
WriteCellStyle headWriteCellStyle = new WriteCellStyle();
//设置头字体
WriteFont headWriteFont = new WriteFont();
headWriteFont.setFontHeightInPoints((short) 13);
headWriteFont.setBold(true);
headWriteCellStyle.setWriteFont(headWriteFont);
//设置头居中
headWriteCellStyle.setHorizontalAlignment(HorizontalAlignment.CENTER);
//内容策略
WriteCellStyle contentWriteCellStyle = new WriteCellStyle();
//设置 水平居中
contentWriteCellStyle.setHorizontalAlignment(HorizontalAlignment.CENTER);
// 垂直居中
contentWriteCellStyle.setVerticalAlignment(VerticalAlignment.CENTER);
//// 单元格边框
// contentWriteCellStyle.setBorderTop(BorderStyle.THIN);
// contentWriteCellStyle.setBorderBottom(BorderStyle.THIN);
// contentWriteCellStyle.setBorderLeft(BorderStyle.THIN);
// contentWriteCellStyle.setBorderRight(BorderStyle.THIN);
return new HorizontalCellStyleStrategy(headWriteCellStyle, contentWriteCellStyle);
}
}

295
ruoyi-admin/src/main/java/com/ruoyi/sales/domain/SalesAccountReconciliation.java

@ -1,295 +0,0 @@
package com.ruoyi.sales.domain;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
/**
* 销售对账对象 sales_account_reconciliation
*
* @author ruoyi
* @date 2023-02-03
*/
public class SalesAccountReconciliation extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 销售物料id */
@Excel(name = "销售物料id")
private String salesFinishId;
/** 发货通知单号 */
@Excel(name = "发货通知单号")
private String noticeOrderNumber;
/** 发货日期 */
@Excel(name = "发货日期")
private String deliveryDate;
/** 订单号码 */
@Excel(name = "订单号码")
private String salesOrderNumber;
/** 客户代码 */
@Excel(name = "客户代码")
private String enterpriseCode;
/** 客户名称 */
@Excel(name = "客户名称")
private String enterpriseName;
/** 联系人 */
@Excel(name = "联系人")
private String customerContact;
/** 成品代码 */
@Excel(name = "成品代码")
private String finishProductCode;
/** 成品名称 */
@Excel(name = "成品名称")
private String finishProductName;
/** 规格型号 */
@Excel(name = "规格型号")
private String specificationModel;
/** 客户料号 */
@Excel(name = "客户料号")
private String customerNumber;
/** 币别 */
@Excel(name = "币别")
private String commonCurrency;
/** 单价 */
@Excel(name = "单价")
private String processPrice;
/** 数量 */
@Excel(name = "数量")
private String productQuantity;
/** 金额 */
@Excel(name = "金额")
private String amountMoney;
/** 客户使用否 */
@Excel(name = "客户使用否")
private String customerUseOrNot;
/** 客户使用数量 */
@Excel(name = "客户使用数量")
private String customerUseQuantity;
/** 客户使用备注说明 */
@Excel(name = "客户使用备注说明")
private String customerUseRemarks;
/** 对账否 */
@Excel(name = "对账否")
private String accountReconciliationOrNot;
/** 对账人 */
@Excel(name = "对账人")
private String accountReconciliationPerson;
/** 对账时间 */
@Excel(name = "对账时间")
private String accountReconciliationTime;
public String getSalesFinishId() {
return salesFinishId;
}
public void setSalesFinishId(String salesFinishId) {
this.salesFinishId = salesFinishId;
}
public String getNoticeOrderNumber() {
return noticeOrderNumber;
}
public void setNoticeOrderNumber(String noticeOrderNumber) {
this.noticeOrderNumber = noticeOrderNumber;
}
public String getDeliveryDate() {
return deliveryDate;
}
public void setDeliveryDate(String deliveryDate) {
this.deliveryDate = deliveryDate;
}
public String getSalesOrderNumber() {
return salesOrderNumber;
}
public void setSalesOrderNumber(String salesOrderNumber) {
this.salesOrderNumber = salesOrderNumber;
}
public String getEnterpriseCode() {
return enterpriseCode;
}
public void setEnterpriseCode(String enterpriseCode) {
this.enterpriseCode = enterpriseCode;
}
public String getEnterpriseName() {
return enterpriseName;
}
public void setEnterpriseName(String enterpriseName) {
this.enterpriseName = enterpriseName;
}
public String getCustomerContact() {
return customerContact;
}
public void setCustomerContact(String customerContact) {
this.customerContact = customerContact;
}
public String getFinishProductCode() {
return finishProductCode;
}
public void setFinishProductCode(String finishProductCode) {
this.finishProductCode = finishProductCode;
}
public String getFinishProductName() {
return finishProductName;
}
public void setFinishProductName(String finishProductName) {
this.finishProductName = finishProductName;
}
public String getSpecificationModel() {
return specificationModel;
}
public void setSpecificationModel(String specificationModel) {
this.specificationModel = specificationModel;
}
public String getCustomerNumber() {
return customerNumber;
}
public void setCustomerNumber(String customerNumber) {
this.customerNumber = customerNumber;
}
public String getCommonCurrency() {
return commonCurrency;
}
public void setCommonCurrency(String commonCurrency) {
this.commonCurrency = commonCurrency;
}
public String getProcessPrice() {
return processPrice;
}
public void setProcessPrice(String processPrice) {
this.processPrice = processPrice;
}
public String getProductQuantity() {
return productQuantity;
}
public void setProductQuantity(String productQuantity) {
this.productQuantity = productQuantity;
}
public String getAmountMoney() {
return amountMoney;
}
public void setAmountMoney(String amountMoney) {
this.amountMoney = amountMoney;
}
public String getCustomerUseOrNot() {
return customerUseOrNot;
}
public void setCustomerUseOrNot(String customerUseOrNot) {
this.customerUseOrNot = customerUseOrNot;
}
public String getCustomerUseQuantity() {
return customerUseQuantity;
}
public void setCustomerUseQuantity(String customerUseQuantity) {
this.customerUseQuantity = customerUseQuantity;
}
public String getCustomerUseRemarks() {
return customerUseRemarks;
}
public void setCustomerUseRemarks(String customerUseRemarks) {
this.customerUseRemarks = customerUseRemarks;
}
public String getAccountReconciliationOrNot() {
return accountReconciliationOrNot;
}
public void setAccountReconciliationOrNot(String accountReconciliationOrNot) {
this.accountReconciliationOrNot = accountReconciliationOrNot;
}
public String getAccountReconciliationPerson() {
return accountReconciliationPerson;
}
public void setAccountReconciliationPerson(String accountReconciliationPerson) {
this.accountReconciliationPerson = accountReconciliationPerson;
}
public String getAccountReconciliationTime() {
return accountReconciliationTime;
}
public void setAccountReconciliationTime(String accountReconciliationTime) {
this.accountReconciliationTime = accountReconciliationTime;
}
@Override
public String toString() {
return new ToStringBuilder(this)
.append("salesFinishId", salesFinishId)
.append("noticeOrderNumber", noticeOrderNumber)
.append("deliveryDate", deliveryDate)
.append("salesOrderNumber", salesOrderNumber)
.append("enterpriseCode", enterpriseCode)
.append("enterpriseName", enterpriseName)
.append("customerContact", customerContact)
.append("finishProductCode", finishProductCode)
.append("finishProductName", finishProductName)
.append("specificationModel", specificationModel)
.append("customerNumber", customerNumber)
.append("commonCurrency", commonCurrency)
.append("processPrice", processPrice)
.append("productQuantity", productQuantity)
.append("amountMoney", amountMoney)
.append("customerUseOrNot", customerUseOrNot)
.append("customerUseQuantity", customerUseQuantity)
.append("customerUseRemarks", customerUseRemarks)
.append("accountReconciliationOrNot", accountReconciliationOrNot)
.append("accountReconciliationPerson", accountReconciliationPerson)
.append("accountReconciliationTime", accountReconciliationTime)
.toString();
}
}

62
ruoyi-admin/src/main/java/com/ruoyi/sales/mapper/SalesAccountReconciliationMapper.java

@ -1,62 +0,0 @@
package com.ruoyi.sales.mapper;
import com.ruoyi.sales.domain.SalesAccountReconciliation;
import java.util.List;
/**
* 销售对账Mapper接口
*
* @author ruoyi
* @date 2023-02-03
*/
public interface SalesAccountReconciliationMapper
{
/**
* 查询销售对账
*
* @param salesFinishId 销售对账ID
* @return 销售对账
*/
public SalesAccountReconciliation selectSalesAccountReconciliationById(Long salesFinishId);
/**
* 查询销售对账列表
*
* @param salesAccountReconciliation 销售对账
* @return 销售对账集合
*/
public List<SalesAccountReconciliation> selectSalesAccountReconciliationList(SalesAccountReconciliation salesAccountReconciliation);
/**
* 新增销售对账
*
* @param salesAccountReconciliation 销售对账
* @return 结果
*/
public int insertSalesAccountReconciliation(SalesAccountReconciliation salesAccountReconciliation);
/**
* 修改销售对账
*
* @param salesAccountReconciliation 销售对账
* @return 结果
*/
public int updateSalesAccountReconciliation(SalesAccountReconciliation salesAccountReconciliation);
/**
* 删除销售对账
*
* @param salesOrderCode 销售对账ID
* @return 结果
*/
public int deleteSalesAccountReconciliationById(String salesOrderCode);
/**
* 批量删除销售对账
*
* @param salesOrderCodes 需要删除的数据ID
* @return 结果
*/
public int deleteSalesAccountReconciliationByIds(String[] salesOrderCodes);
}

62
ruoyi-admin/src/main/java/com/ruoyi/sales/service/ISalesAccountReconciliationService.java

@ -1,62 +0,0 @@
package com.ruoyi.sales.service;
import com.ruoyi.sales.domain.SalesAccountReconciliation;
import java.util.List;
/**
* 销售对账Service接口
*
* @author ruoyi
* @date 2023-02-03
*/
public interface ISalesAccountReconciliationService
{
/**
* 查询销售对账
*
* @param salesFinishId 销售对账ID
* @return 销售对账
*/
public SalesAccountReconciliation selectSalesAccountReconciliationById(Long salesFinishId);
/**
* 查询销售对账列表
*
* @param salesAccountReconciliation 销售对账
* @return 销售对账集合
*/
public List<SalesAccountReconciliation> selectSalesAccountReconciliationList(SalesAccountReconciliation salesAccountReconciliation);
/**
* 新增销售对账
*
* @param salesAccountReconciliation 销售对账
* @return 结果
*/
public int insertSalesAccountReconciliation(SalesAccountReconciliation salesAccountReconciliation);
/**
* 修改销售对账
*
* @param salesAccountReconciliation 销售对账
* @return 结果
*/
public int updateSalesAccountReconciliation(SalesAccountReconciliation salesAccountReconciliation);
/**
* 批量删除销售对账
*
* @param ids 需要删除的数据ID
* @return 结果
*/
public int deleteSalesAccountReconciliationByIds(String ids);
/**
* 删除销售对账信息
*
* @param salesOrderCode 销售对账ID
* @return 结果
*/
public int deleteSalesAccountReconciliationById(String salesOrderCode);
}

95
ruoyi-admin/src/main/java/com/ruoyi/sales/service/impl/SalesAccountReconciliationServiceImpl.java

@ -1,95 +0,0 @@
package com.ruoyi.sales.service.impl;
import com.ruoyi.common.core.text.Convert;
import com.ruoyi.sales.domain.SalesAccountReconciliation;
import com.ruoyi.sales.mapper.SalesAccountReconciliationMapper;
import com.ruoyi.sales.service.ISalesAccountReconciliationService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 销售对账Service业务层处理
*
* @author ruoyi
* @date 2023-02-03
*/
@Service
public class SalesAccountReconciliationServiceImpl implements ISalesAccountReconciliationService
{
@Autowired
private SalesAccountReconciliationMapper salesAccountReconciliationMapper;
/**
* 查询销售对账
*
* @param salesFinishId 销售对账ID
* @return 销售对账
*/
@Override
public SalesAccountReconciliation selectSalesAccountReconciliationById(Long salesFinishId)
{
return salesAccountReconciliationMapper.selectSalesAccountReconciliationById(salesFinishId);
}
/**
* 查询销售对账列表
*
* @param salesAccountReconciliation 销售对账
* @return 销售对账
*/
@Override
public List<SalesAccountReconciliation> selectSalesAccountReconciliationList(SalesAccountReconciliation salesAccountReconciliation)
{
return salesAccountReconciliationMapper.selectSalesAccountReconciliationList(salesAccountReconciliation);
}
/**
* 新增销售对账
*
* @param salesAccountReconciliation 销售对账
* @return 结果
*/
@Override
public int insertSalesAccountReconciliation(SalesAccountReconciliation salesAccountReconciliation)
{
return salesAccountReconciliationMapper.insertSalesAccountReconciliation(salesAccountReconciliation);
}
/**
* 修改销售对账
*
* @param salesAccountReconciliation 销售对账
* @return 结果
*/
@Override
public int updateSalesAccountReconciliation(SalesAccountReconciliation salesAccountReconciliation)
{
return salesAccountReconciliationMapper.updateSalesAccountReconciliation(salesAccountReconciliation);
}
/**
* 删除销售对账对象
*
* @param ids 需要删除的数据ID
* @return 结果
*/
@Override
public int deleteSalesAccountReconciliationByIds(String ids)
{
return salesAccountReconciliationMapper.deleteSalesAccountReconciliationByIds(Convert.toStrArray(ids));
}
/**
* 删除销售对账信息
*
* @param salesOrderCode 销售对账ID
* @return 结果
*/
@Override
public int deleteSalesAccountReconciliationById(String salesOrderCode)
{
return salesAccountReconciliationMapper.deleteSalesAccountReconciliationById(salesOrderCode);
}
}

284
ruoyi-admin/src/main/resources/mapper/sales/SalesAccountReconciliationMapper.xml

@ -1,284 +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.sales.mapper.SalesAccountReconciliationMapper">
<resultMap type="SalesAccountReconciliation" id="SalesAccountReconciliationResult">
<result property="salesFinishId" column="sales_finish_id" />
<result property="noticeOrderNumber" column="notice_order_number" />
<result property="deliveryDate" column="delivery_date" />
<result property="salesOrderNumber" column="sales_order_number" />
<result property="enterpriseCode" column="enterprise_code" />
<result property="enterpriseName" column="enterprise_name" />
<result property="customerContact" column="customer_contact" />
<result property="finishProductCode" column="finish_product_code" />
<result property="finishProductName" column="finish_product_name" />
<result property="specificationModel" column="specification_model" />
<result property="customerNumber" column="customer_number" />
<result property="commonCurrency" column="common_currency" />
<result property="processPrice" column="process_price" />
<result property="productQuantity" column="product_quantity" />
<result property="amountMoney" column="amount_money" />
<result property="customerUseOrNot" column="customer_use_or_not" />
<result property="customerUseQuantity" column="customer_use_quantity" />
<result property="customerUseRemarks" column="customer_use_remarks" />
<result property="accountReconciliationOrNot" column="account_reconciliation_or_not" />
<result property="accountReconciliationPerson" column="account_reconciliation_person" />
<result property="accountReconciliationTime" column="account_reconciliation_time" />
</resultMap>
<!-- <sql id="selectSalesAccountReconciliationVo">-->
<!-- select sales_order_code, sales_order_number, appointment_number, enterprise_code, enterprise_name, payment_terms, delivery_conditions, delivery_method, order_receiving_mode, customer_contact, customer_factory, contact_number, business_members, customer_fax, delivery_address, order_receiving_time, billing_time, customer_remarks, current_inventory, credit_limit, unpaid_amount, available_credit, confirm_tax, tax_rate, total_amount, modification_time, confirm_time, confirm_no, confirm_name, audit_no, audit_name, audit_time, audit_remarks, customer_use_or_not, account_reconciliation_or_not, account_reconciliation_person, account_reconciliation_time, national_tax_bill, finish_product_code, finish_product_name, specification_model, type_machine, inventory_unit, stock_unit_weight, process_price, product_quantity, amount_money, delivery_time, line, version_number, sales_explain from sales_account_reconciliation-->
<!-- </sql>-->
<sql id="selectSalesAccountReconciliationVo">
-- select sales_finish_id, sso.sales_order_code AS sales_order_code,sso.sales_order_number AS sales_order_number, appointment_number, sso.enterprise_code AS enterprise_code, sso.enterprise_name AS enterprise_name,
-- payment_terms, delivery_conditions, delivery_method, order_receiving_mode, customer_contact, customer_factory,
-- contact_number, business_members, customer_fax, delivery_address, order_receiving_time, billing_time, customer_remarks,
-- current_inventory, credit_limit, unpaid_amount, available_credit, confirm_tax, tax_rate, total_amount, modification_time,
-- confirm_time, confirm_no, confirm_name, audit_no, audit_time, audit_remarks, national_tax_bill,finish_product_code, finish_product_name,
-- specification_model, type_machine, inventory_unit, stock_unit_weight, process_price, product_quantity, amount_money,
-- delivery_time, line, version_number, sales_explain, customer_use_or_not, customer_use_quantity, customer_use_remarks,
-- account_reconciliation_or_not, account_reconciliation_person, account_reconciliation_time
-- FROM sys_sales_order sso,sys_sales_finish ssf
-- WHERE sso.sales_order_code = ssf.sales_order_code AND sso.sales_order_number = ssf.sales_order_number
SELECT
`sales`.sales_finish_id,
notice_order_number,
delivery_date,
`sales`.sales_order_number,
enterprise_code,
enterprise_name,
customer_contact,
`sales`.finish_product_code,
`sales`.finish_product_name,
specification_model,
customer_number,
common_currency,
process_price,
product_quantity,
amount_money,
account_reconciliation_or_not,
account_reconciliation_person,
account_reconciliation_time,
customer_use_or_not,
customer_use_quantity,
customer_use_remarks
FROM
(
SELECT
ssf.sales_finish_id,
sso.sales_order_number AS sales_order_number,
sso.enterprise_code AS enterprise_code,
sso.enterprise_name AS enterprise_name,
sso.customer_contact,
ssf.finish_product_code AS finish_product_code,
ssf.finish_product_name AS finish_product_name,
ssf.account_reconciliation_or_not,
ssf.account_reconciliation_person,
ssf.account_reconciliation_time,
customer_use_or_not,
customer_use_quantity,
customer_use_remarks
FROM
sys_sales_order sso,
sys_sales_finish ssf
WHERE
sso.sales_order_code = ssf.sales_order_code
AND sso.sales_order_number = ssf.sales_order_number
) AS `sales`,
(
SELECT
dgd.notice_order_number AS notice_order_number,
dgd.sales_order_number AS sales_order_number,
dgn.delivery_date,
dgd.finish_product_code AS finish_product_code,
dgd.finish_product_name AS finish_product_name,
dgd.specification_model,
dgd.customer_number,
dgd.common_currency,
dgd.process_price,
dgd.product_quantity,
dgd.amount_money
FROM
delivery_goods_notice dgn,
delivery_goods_detail dgd
WHERE
dgn.notice_order_number = dgd.notice_order_number
) AS `delivery`
WHERE
`sales`.sales_order_number = `delivery`.sales_order_number and
`sales`.finish_product_code = `delivery`.finish_product_code
</sql>
<select id="selectSalesAccountReconciliationList" parameterType="SalesAccountReconciliation" resultMap="SalesAccountReconciliationResult">
<include refid="selectSalesAccountReconciliationVo"/>
<if test="salesOrderNumber != null and salesOrderNumber != ''"> and sso.sales_order_number like concat('%', #{salesOrderNumber}, '%')</if>
<if test="enterpriseCode != null and enterpriseCode != ''"> and sso.enterprise_code like concat('%', #{enterpriseCode}, '%')</if>
<if test="enterpriseName != null and enterpriseName != ''"> and sso.enterprise_name like concat('%', #{enterpriseName}, '%')</if>
<if test="customerUseOrNot != null and customerUseOrNot != ''"> and customer_use_or_not = #{customerUseOrNot}</if>
<if test="accountReconciliationOrNot != null and accountReconciliationOrNot != ''"> and account_reconciliation_or_not = #{accountReconciliationOrNot}</if>
<!-- <if test="nationalTaxBill != null and nationalTaxBill != ''"> and national_tax_bill = #{nationalTaxBill}</if>-->
<if test="finishProductCode != null and finishProductCode != ''"> and finish_product_code like concat('%', #{finishProductCode}, '%')</if>
<if test="finishProductName != null and finishProductName != ''"> and finish_product_name like concat('%', #{finishProductName}, '%')</if>
</select>
<select id="selectSalesAccountReconciliationById" parameterType="Long" resultMap="SalesAccountReconciliationResult">
<include refid="selectSalesAccountReconciliationVo"/>
AND sales_finish_id = #{salesFinishId}
</select>
<!-- <insert id="insertSalesAccountReconciliation" parameterType="SalesAccountReconciliation">-->
<!-- insert into sales_account_reconciliation-->
<!-- <trim prefix="(" suffix=")" suffixOverrides=",">-->
<!-- <if test="salesOrderCode != null">sales_order_code,</if>-->
<!-- <if test="salesOrderNumber != null">sales_order_number,</if>-->
<!-- <if test="appointmentNumber != null">appointment_number,</if>-->
<!-- <if test="enterpriseCode != null">enterprise_code,</if>-->
<!-- <if test="enterpriseName != null">enterprise_name,</if>-->
<!-- <if test="paymentTerms != null">payment_terms,</if>-->
<!-- <if test="deliveryConditions != null">delivery_conditions,</if>-->
<!-- <if test="deliveryMethod != null">delivery_method,</if>-->
<!-- <if test="orderReceivingMode != null">order_receiving_mode,</if>-->
<!-- <if test="customerContact != null">customer_contact,</if>-->
<!-- <if test="customerFactory != null">customer_factory,</if>-->
<!-- <if test="contactNumber != null">contact_number,</if>-->
<!-- <if test="businessMembers != null">business_members,</if>-->
<!-- <if test="customerFax != null">customer_fax,</if>-->
<!-- <if test="deliveryAddress != null">delivery_address,</if>-->
<!-- <if test="orderReceivingTime != null">order_receiving_time,</if>-->
<!-- <if test="billingTime != null">billing_time,</if>-->
<!-- <if test="customerRemarks != null">customer_remarks,</if>-->
<!-- <if test="currentInventory != null">current_inventory,</if>-->
<!-- <if test="creditLimit != null">credit_limit,</if>-->
<!-- <if test="unpaidAmount != null">unpaid_amount,</if>-->
<!-- <if test="availableCredit != null">available_credit,</if>-->
<!-- <if test="confirmTax != null">confirm_tax,</if>-->
<!-- <if test="taxRate != null">tax_rate,</if>-->
<!-- <if test="totalAmount != null">total_amount,</if>-->
<!-- <if test="modificationTime != null">modification_time,</if>-->
<!-- <if test="confirmTime != null">confirm_time,</if>-->
<!-- <if test="confirmNo != null">confirm_no,</if>-->
<!-- <if test="confirmName != null">confirm_name,</if>-->
<!-- <if test="auditNo != null">audit_no,</if>-->
<!-- <if test="auditName != null">audit_name,</if>-->
<!-- <if test="auditTime != null">audit_time,</if>-->
<!-- <if test="auditRemarks != null">audit_remarks,</if>-->
<!-- <if test="customerUseOrNot != null">customer_use_or_not,</if>-->
<!-- <if test="accountReconciliationOrNot != null">account_reconciliation_or_not,</if>-->
<!-- <if test="accountReconciliationPerson != null">account_reconciliation_person,</if>-->
<!-- <if test="accountReconciliationTime != null">account_reconciliation_time,</if>-->
<!-- <if test="nationalTaxBill != null">national_tax_bill,</if>-->
<!-- <if test="finishProductCode != null">finish_product_code,</if>-->
<!-- <if test="finishProductName != null">finish_product_name,</if>-->
<!-- <if test="specificationModel != null">specification_model,</if>-->
<!-- <if test="typeMachine != null">type_machine,</if>-->
<!-- <if test="inventoryUnit != null">inventory_unit,</if>-->
<!-- <if test="stockUnitWeight != null">stock_unit_weight,</if>-->
<!-- <if test="processPrice != null">process_price,</if>-->
<!-- <if test="productQuantity != null">product_quantity,</if>-->
<!-- <if test="amountMoney != null">amount_money,</if>-->
<!-- <if test="deliveryTime != null">delivery_time,</if>-->
<!-- <if test="line != null">line,</if>-->
<!-- <if test="versionNumber != null">version_number,</if>-->
<!-- <if test="salesExplain != null">sales_explain,</if>-->
<!-- </trim>-->
<!-- <trim prefix="values (" suffix=")" suffixOverrides=",">-->
<!-- <if test="salesOrderCode != null">#{salesOrderCode},</if>-->
<!-- <if test="salesOrderNumber != null">#{salesOrderNumber},</if>-->
<!-- <if test="appointmentNumber != null">#{appointmentNumber},</if>-->
<!-- <if test="enterpriseCode != null">#{enterpriseCode},</if>-->
<!-- <if test="enterpriseName != null">#{enterpriseName},</if>-->
<!-- <if test="paymentTerms != null">#{paymentTerms},</if>-->
<!-- <if test="deliveryConditions != null">#{deliveryConditions},</if>-->
<!-- <if test="deliveryMethod != null">#{deliveryMethod},</if>-->
<!-- <if test="orderReceivingMode != null">#{orderReceivingMode},</if>-->
<!-- <if test="customerContact != null">#{customerContact},</if>-->
<!-- <if test="customerFactory != null">#{customerFactory},</if>-->
<!-- <if test="contactNumber != null">#{contactNumber},</if>-->
<!-- <if test="businessMembers != null">#{businessMembers},</if>-->
<!-- <if test="customerFax != null">#{customerFax},</if>-->
<!-- <if test="deliveryAddress != null">#{deliveryAddress},</if>-->
<!-- <if test="orderReceivingTime != null">#{orderReceivingTime},</if>-->
<!-- <if test="billingTime != null">#{billingTime},</if>-->
<!-- <if test="customerRemarks != null">#{customerRemarks},</if>-->
<!-- <if test="currentInventory != null">#{currentInventory},</if>-->
<!-- <if test="creditLimit != null">#{creditLimit},</if>-->
<!-- <if test="unpaidAmount != null">#{unpaidAmount},</if>-->
<!-- <if test="availableCredit != null">#{availableCredit},</if>-->
<!-- <if test="confirmTax != null">#{confirmTax},</if>-->
<!-- <if test="taxRate != null">#{taxRate},</if>-->
<!-- <if test="totalAmount != null">#{totalAmount},</if>-->
<!-- <if test="modificationTime != null">#{modificationTime},</if>-->
<!-- <if test="confirmTime != null">#{confirmTime},</if>-->
<!-- <if test="confirmNo != null">#{confirmNo},</if>-->
<!-- <if test="confirmName != null">#{confirmName},</if>-->
<!-- <if test="auditNo != null">#{auditNo},</if>-->
<!-- <if test="auditName != null">#{auditName},</if>-->
<!-- <if test="auditTime != null">#{auditTime},</if>-->
<!-- <if test="auditRemarks != null">#{auditRemarks},</if>-->
<!-- <if test="customerUseOrNot != null">#{customerUseOrNot},</if>-->
<!-- <if test="accountReconciliationOrNot != null">#{accountReconciliationOrNot},</if>-->
<!-- <if test="accountReconciliationPerson != null">#{accountReconciliationPerson},</if>-->
<!-- <if test="accountReconciliationTime != null">#{accountReconciliationTime},</if>-->
<!-- <if test="nationalTaxBill != null">#{nationalTaxBill},</if>-->
<!-- <if test="finishProductCode != null">#{finishProductCode},</if>-->
<!-- <if test="finishProductName != null">#{finishProductName},</if>-->
<!-- <if test="specificationModel != null">#{specificationModel},</if>-->
<!-- <if test="typeMachine != null">#{typeMachine},</if>-->
<!-- <if test="inventoryUnit != null">#{inventoryUnit},</if>-->
<!-- <if test="stockUnitWeight != null">#{stockUnitWeight},</if>-->
<!-- <if test="processPrice != null">#{processPrice},</if>-->
<!-- <if test="productQuantity != null">#{productQuantity},</if>-->
<!-- <if test="amountMoney != null">#{amountMoney},</if>-->
<!-- <if test="deliveryTime != null">#{deliveryTime},</if>-->
<!-- <if test="line != null">#{line},</if>-->
<!-- <if test="versionNumber != null">#{versionNumber},</if>-->
<!-- <if test="salesExplain != null">#{salesExplain},</if>-->
<!-- </trim>-->
<!-- </insert>-->
<update id="updateSalesAccountReconciliation" parameterType="SalesAccountReconciliation">
update sys_sales_finish
<trim prefix="SET" suffixOverrides=",">
<if test="salesOrderNumber != null">sales_order_number = #{salesOrderNumber},</if>
<if test="appointmentNumber != null">appointment_number = #{appointmentNumber},</if>
<if test="enterpriseCode != null">enterprise_code = #{enterpriseCode},</if>
<if test="enterpriseName != null">enterprise_name = #{enterpriseName},</if>
<if test="finishProductCode != null">finish_product_code = #{finishProductCode},</if>
<if test="finishProductName != null">finish_product_name = #{finishProductName},</if>
<if test="specificationModel != null">specification_model = #{specificationModel},</if>
<if test="typeMachine != null">type_machine = #{typeMachine},</if>
<if test="inventoryUnit != null">inventory_unit = #{inventoryUnit},</if>
<if test="stockUnitWeight != null">stock_unit_weight = #{stockUnitWeight},</if>
<if test="processPrice != null">process_price = #{processPrice},</if>
<if test="productQuantity != null">product_quantity = #{productQuantity},</if>
<if test="amountMoney != null">amount_money = #{amountMoney},</if>
<if test="deliveryTime != null">delivery_time = #{deliveryTime},</if>
<if test="line != null">line = #{line},</if>
<if test="versionNumber != null">version_number = #{versionNumber},</if>
<if test="salesExplain != null">sales_explain = #{salesExplain},</if>
<if test="customerUseOrNot != null">customer_use_or_not = #{customerUseOrNot},</if>
<if test="customerUseQuantity != null">customer_use_quantity = #{customerUseQuantity},</if>
<if test="customerUseRemarks != null">customer_use_remarks = #{customerUseRemarks},</if>
<if test="accountReconciliationOrNot != null">account_reconciliation_or_not = #{accountReconciliationOrNot},</if>
<if test="accountReconciliationPerson != null">account_reconciliation_person = #{accountReconciliationPerson},</if>
<if test="accountReconciliationTime != null">account_reconciliation_time = #{accountReconciliationTime},</if>
</trim>
where sales_finish_id = #{salesFinishId}
</update>
<!-- <delete id="deleteSalesAccountReconciliationById" parameterType="String">-->
<!-- delete from sales_account_reconciliation where sales_order_code = #{salesOrderCode}-->
<!-- </delete>-->
<!-- <delete id="deleteSalesAccountReconciliationByIds" parameterType="String">-->
<!-- delete from sales_account_reconciliation where sales_order_code in -->
<!-- <foreach item="salesOrderCode" collection="array" open="(" separator="," close=")">-->
<!-- #{salesOrderCode}-->
<!-- </foreach>-->
<!-- </delete>-->
</mapper>

341
ruoyi-admin/src/main/resources/templates/sales/salesAccountReconciliation/add.html

@ -1,341 +0,0 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('新增销售对账')" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-salesAccountReconciliation-add">
<div class="form-group">
<label class="col-sm-3 control-label">订单编号:</label>
<div class="col-sm-8">
<input name="salesOrderCode" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">订单号码:</label>
<div class="col-sm-8">
<input name="salesOrderNumber" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">预约单号:</label>
<div class="col-sm-8">
<input name="appointmentNumber" 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="enterpriseCode" class="form-control m-b">
<option value="">所有</option>
</select>
<span class="help-block m-b-none"><i class="fa fa-info-circle"></i> 代码生成请选择字典属性</span>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">客户名称:</label>
<div class="col-sm-8">
<select name="enterpriseName" class="form-control m-b">
<option value="">所有</option>
</select>
<span class="help-block m-b-none"><i class="fa fa-info-circle"></i> 代码生成请选择字典属性</span>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">付款条件:</label>
<div class="col-sm-8">
<input name="paymentTerms" 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="deliveryConditions" 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="deliveryMethod" 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="orderReceivingMode" 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="customerContact" 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="customerFactory" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">联系电话:</label>
<div class="col-sm-8">
<input name="contactNumber" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">业务人员:</label>
<div class="col-sm-8">
<input name="businessMembers" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">传真号码:</label>
<div class="col-sm-8">
<input name="customerFax" 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="deliveryAddress" 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="orderReceivingTime" 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="billingTime" 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="customerRemarks" 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="currentInventory" 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="creditLimit" 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="unpaidAmount" 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="availableCredit" 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="confirmTax" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">税率:</label>
<div class="col-sm-8">
<input name="taxRate" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">合计金额:</label>
<div class="col-sm-8">
<input name="totalAmount" 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="modificationTime" 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="confirmTime" 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="confirmNo" 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="confirmName" 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="auditNo" 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="auditName" 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="auditTime" 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="auditRemarks" 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="customerUseOrNot" 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 class="form-group">
<label class="col-sm-3 control-label">对账否:</label>
<div class="col-sm-8">
<select name="accountReconciliationOrNot" 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 class="form-group">
<label class="col-sm-3 control-label">对账人:</label>
<div class="col-sm-8">
<input name="accountReconciliationPerson" 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="accountReconciliationTime" 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="nationalTaxBill" 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="finishProductCode" 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="finishProductName" 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="specificationModel" 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="typeMachine" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">单位:</label>
<div class="col-sm-8">
<input name="inventoryUnit" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">重量:</label>
<div class="col-sm-8">
<input name="stockUnitWeight" 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="processPrice" 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="productQuantity" 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="amountMoney" 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="deliveryTime" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">Line#:</label>
<div class="col-sm-8">
<input name="line" 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="versionNumber" 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="salesExplain" class="form-control" type="text">
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var prefix = ctx + "salesAccountReconciliation/salesAccountReconciliation"
$("#form-salesAccountReconciliation-add").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/add", $('#form-salesAccountReconciliation-add').serialize());
}
}
</script>
</body>
</html>

342
ruoyi-admin/src/main/resources/templates/sales/salesAccountReconciliation/edit.html

@ -1,342 +0,0 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('修改销售对账')" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-salesAccountReconciliation-edit" th:object="${salesAccountReconciliation}">
<input name="salesOrderCode" th:field="*{salesOrderCode}" type="hidden">
<div class="form-group">
<label class="col-sm-3 control-label">订单编号:</label>
<div class="col-sm-8">
<input name="salesOrderCode" th:field="*{salesOrderCode}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">订单号码:</label>
<div class="col-sm-8">
<input name="salesOrderNumber" th:field="*{salesOrderNumber}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">预约单号:</label>
<div class="col-sm-8">
<input name="appointmentNumber" th:field="*{appointmentNumber}" 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="enterpriseCode" class="form-control m-b">
<option value="">所有</option>
</select>
<span class="help-block m-b-none"><i class="fa fa-info-circle"></i> 代码生成请选择字典属性</span>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">客户名称:</label>
<div class="col-sm-8">
<select name="enterpriseName" class="form-control m-b">
<option value="">所有</option>
</select>
<span class="help-block m-b-none"><i class="fa fa-info-circle"></i> 代码生成请选择字典属性</span>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">付款条件:</label>
<div class="col-sm-8">
<input name="paymentTerms" th:field="*{paymentTerms}" 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="deliveryConditions" th:field="*{deliveryConditions}" 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="deliveryMethod" th:field="*{deliveryMethod}" 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="orderReceivingMode" th:field="*{orderReceivingMode}" 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="customerContact" th:field="*{customerContact}" 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="customerFactory" th:field="*{customerFactory}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">联系电话:</label>
<div class="col-sm-8">
<input name="contactNumber" th:field="*{contactNumber}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">业务人员:</label>
<div class="col-sm-8">
<input name="businessMembers" th:field="*{businessMembers}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">传真号码:</label>
<div class="col-sm-8">
<input name="customerFax" th:field="*{customerFax}" 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="deliveryAddress" th:field="*{deliveryAddress}" 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="orderReceivingTime" th:field="*{orderReceivingTime}" 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="billingTime" th:field="*{billingTime}" 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="customerRemarks" th:field="*{customerRemarks}" 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="currentInventory" th:field="*{currentInventory}" 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="creditLimit" th:field="*{creditLimit}" 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="unpaidAmount" th:field="*{unpaidAmount}" 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="availableCredit" th:field="*{availableCredit}" 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="confirmTax" th:field="*{confirmTax}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">税率:</label>
<div class="col-sm-8">
<input name="taxRate" th:field="*{taxRate}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">合计金额:</label>
<div class="col-sm-8">
<input name="totalAmount" th:field="*{totalAmount}" 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="modificationTime" th:field="*{modificationTime}" 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="confirmTime" th:field="*{confirmTime}" 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="confirmNo" th:field="*{confirmNo}" 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="confirmName" th:field="*{confirmName}" 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="auditNo" th:field="*{auditNo}" 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="auditName" th:field="*{auditName}" 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="auditTime" th:field="*{auditTime}" 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="auditRemarks" th:field="*{auditRemarks}" 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="customerUseOrNot" 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="*{customerUseOrNot}"></option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">对账否:</label>
<div class="col-sm-8">
<select name="accountReconciliationOrNot" 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="*{accountReconciliationOrNot}"></option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">对账人:</label>
<div class="col-sm-8">
<input name="accountReconciliationPerson" th:field="*{accountReconciliationPerson}" 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="accountReconciliationTime" th:field="*{accountReconciliationTime}" 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="nationalTaxBill" th:field="*{nationalTaxBill}" 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="finishProductCode" th:field="*{finishProductCode}" 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="finishProductName" th:field="*{finishProductName}" 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="specificationModel" th:field="*{specificationModel}" 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="typeMachine" th:field="*{typeMachine}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">单位:</label>
<div class="col-sm-8">
<input name="inventoryUnit" th:field="*{inventoryUnit}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">重量:</label>
<div class="col-sm-8">
<input name="stockUnitWeight" th:field="*{stockUnitWeight}" 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="processPrice" th:field="*{processPrice}" 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="productQuantity" th:field="*{productQuantity}" 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="amountMoney" th:field="*{amountMoney}" 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="deliveryTime" th:field="*{deliveryTime}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">Line#:</label>
<div class="col-sm-8">
<input name="line" th:field="*{line}" 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="versionNumber" th:field="*{versionNumber}" 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="salesExplain" th:field="*{salesExplain}" class="form-control" type="text">
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var prefix = ctx + "salesAccountReconciliation/salesAccountReconciliation";
$("#form-salesAccountReconciliation-edit").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/edit", $('#form-salesAccountReconciliation-edit').serialize());
}
}
</script>
</body>
</html>

852
ruoyi-admin/src/main/resources/templates/sales/salesAccountReconciliation/salesAccountReconciliation.html

@ -1,852 +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('销售对账列表')"/>
<th:block th:include="include :: datetimepicker-css"/>
<script type="text/javascript" th:src="@{/js/axios.min.js}"></script>
<style>
.table-striped {
border: 0px !important;
white-space: nowrap;
}
</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 class="select-time">
<label>创建时间: </label>
<input type="text" class="time-input" id="startTime" placeholder="开始时间"
name="params[beginTime]"/>
<span>-</span>
<input type="text" class="time-input" id="endTime" placeholder="结束时间"
name="params[endTime]"/>
</li>
<li>
<label>订单号码:</label>
<input type="text" name="salesOrderNumber"/>
</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>
<select name="customerUseOrNot" 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>
<label>对账否:</label>
<select name="accountReconciliationOrNot" 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>
<label>是否开国税发票:</label>
<select name="nationalTaxBill" 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>
<label>成品代码:</label>
<input type="text" name="finishProductCode"/>
</li>
<li>
<label>成品名称:</label>
<input type="text" name="finishProductName"/>
</li>
<li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search('formId', 'bootstrap-table')"><i
class="fa fa-search"></i>&nbsp;搜索</a>
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('formId', 'bootstrap-table')"><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="salesAccountReconciliation:salesAccountReconciliation:add">-->
<!-- <i class="fa fa-plus"></i> 添加-->
<!-- </a>-->
<!-- <a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="salesAccountReconciliation:salesAccountReconciliation:edit">-->
<!-- <i class="fa fa-edit"></i> 修改-->
<!-- </a>-->
<!-- <a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="salesAccountReconciliation:salesAccountReconciliation:remove">-->
<!-- <i class="fa fa-remove"></i> 删除-->
<!-- </a>-->
<!-- <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="salesAccountReconciliation:salesAccountReconciliation:export">-->
<!-- <i class="fa fa-download"></i> 导出-->
<!-- </a>-->
<b>销售信息</b>
<a class="btn btn-success" onclick="confirmAccountReconciliation()"
shiro:hasPermission="salesAccountReconciliation:salesAccountReconciliation:confirm">
<i class="fa fa-hand-grab-o"></i> 销售对账确认
</a>
<a class="btn btn-success" onclick="confirmCustomerUse()"
shiro:hasPermission="salesAccountReconciliation:salesAccountReconciliation:customConfirm">
<i class="fa fa-hand-grab-o"></i> 客户使用确认
</a>
<a class="btn btn-warning" onclick="exportAccountReconciliation()"
shiro:hasPermission="salesAccountReconciliation:salesAccountReconciliation:export">
<i class="fa fa-download"></i> 导出
</a>
<!-- <a class="btn btn-primary" onclick="toNationalTaxBill()">-->
<!-- <i class="fa fa-file-text"></i> 开国税发票-->
<!-- </a>-->
</div>
<!--<div class="btn-group-sm" id="toolbar1" role="group">
<b>退货信息</b>
<a class="btn btn-success" onclick="confirmRGAccountReconciliation()"
shiro:hasPermission="salesAccountReconciliation:salesAccountReconciliation:returnConfirm">
<i class="fa fa-hand-grab-o"></i> 退货对账确认
</a>
<a class="btn btn-warning" onclick="exportRGExcel('formId')">
<i class="fa fa-download"></i> 导出
</a>
</div>-->
<div class="col-sm-12 select-table table-striped" style="white-space: nowrap;">
<table id="bootstrap-table"></table>
<!-- <table id="bootstrap-table1"></table>-->
</div>
</div>
</div>
<!--销售对账确认-->
<div class="modal fade" id="accountReconciliationModal" tabindex="-1"
role="dilog" aria-hidden="true">
<div class="modal-dialog" style="width: 500px;max-height: 800px; background-color: #FFFFFF">
<div class="modal-content" style="background-color: #FFFFFF">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span
aria-hidden="true">×</span></button>
<h4 class="modal-title">销售对账确认</h4>
</div>
<div class="modal-body" style="height: 180px">
<form id="form-accountReconciliation-edit">
<div class="form-group" style="display: none">
<label class="col-sm-3 control-label is-required">订单id:</label>
<div class="col-sm-8">
<input id="salesFinishId" name="salesFinishId" class="form-control" type="text" required
readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">对账否:</label>
<div class="col-sm-8">
<select id="accountReconciliationOrNot" name="accountReconciliationOrNot"
class="form-control" 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 class="form-group">
<label class="col-sm-3 control-label">对账人:</label>
<div class="col-sm-8">
<input id="accountReconciliationPerson" name="accountReconciliationPerson"
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 id="accountReconciliationTime" name="accountReconciliationTime"
class="form-control" placeholder="yyyy-mm-dd hh:ii:ss" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">取消</button>
<button type="button" class="btn btn-success" onclick="updateAccountReconciliation()">确认</button>
<!-- <button type="button" class="btn btn-default" data-dismiss="modal" onclick="closeAccountReconciliationModal()">关闭</button>-->
</div>
</div>
</div>
</div>
<!--客户使用确认-->
<div class="modal fade" id="customerUseModal" tabindex="-1"
role="dilog" aria-hidden="true">
<div class="modal-dialog" style="width: 500px;max-height: 800px; background-color: #FFFFFF">
<div class="modal-content" style="background-color: #FFFFFF">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span
aria-hidden="true">×</span></button>
<h4 class="modal-title">客户使用确认</h4>
</div>
<div class="modal-body" style="height: 300px">
<form id="form-customerUse-edit">
<div class="form-group" style="display: none">
<label class="col-sm-4 control-label is-required">订单id:</label>
<div class="col-sm-8">
<input id="salesFinishId1" name="salesFinishId" class="form-control" type="text" required
readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-4 control-label is-required">订单编号:</label>
<div class="col-sm-8">
<input id="salesOrderCode" name="salesOrderCode" class="form-control" type="text" required>
</div>
</div>
<div class="form-group">
<label class="col-sm-4 control-label is-required">成品代码:</label>
<div class="col-sm-8">
<input id="finishProductCode" name="finishProductCode" class="form-control" type="text"
required>
</div>
</div>
<div class="form-group">
<label class="col-sm-4 control-label is-required">成品名称:</label>
<div class="col-sm-8">
<input id="finishProductName" name="finishProductName" class="form-control" type="text"
required>
</div>
</div>
<div class="form-group">
<label class="col-sm-4 control-label">客户使用否:</label>
<div class="col-sm-8">
<select id="customerUseOrNot" name="customerUseOrNot" class="form-control"
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 class="form-group">
<label class="col-sm-4 control-label">客户使用数量:</label>
<div class="col-sm-8">
<input id="customerUseQuantity" name="customerUseQuantity" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-4 control-label">备注:</label>
<div class="col-sm-8">
<!-- <input id="customerUseRemarks" name="customerUseRemarks" class="form-control" type="text">-->
<textarea id="customerUseRemarks" name="customerUseRemarks" style="width: 100%;"
rows="4"></textarea>
</div>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">取消</button>
<button type="button" class="btn btn-success" onclick="updateCustomerUse()">客户使用确认</button>
<!-- <button type="button" class="btn btn-default" data-dismiss="modal" onclick="closeAccountReconciliationModal()">关闭</button>-->
</div>
</div>
</div>
</div>
<!--退货对账确认-->
<!--<div class="modal fade" id="RGAccountReconciliationModal" tabindex="-1"
role="dilog" aria-hidden="true">
<div class="modal-dialog" style="width: 500px;max-height: 800px; background-color: #FFFFFF">
<div class="modal-content" style="background-color: #FFFFFF">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span
aria-hidden="true">×</span></button>
<h4 class="modal-title">退货对账确认</h4>
</div>
<div class="modal-body" style="height: 180px">
<form id="form-rgAccountReconciliation-edit">
<div class="form-group" style="display: none">
<label class="col-sm-3 control-label is-required">退货产品id:</label>
<div class="col-sm-8">
<input id="returnGoodsProductId" name="returnGoodsProductId" class="form-control"
type="text" required
readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">对账否:</label>
<div class="col-sm-8">
<select id="accountReconciliationOrNot1" name="accountReconciliationOrNot"
class="form-control" 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 class="form-group">
<label class="col-sm-3 control-label">对账人:</label>
<div class="col-sm-8">
<input id="accountReconciliationPerson1" name="accountReconciliationPerson"
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 id="accountReconciliationTime1" name="accountReconciliationTime"
class="form-control" placeholder="yyyy-mm-dd hh:ii:ss" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">取消</button>
<button type="button" class="btn btn-success" onclick="updateRGAccountReconciliation()">确认</button>
&lt;!&ndash; <button type="button" class="btn btn-default" data-dismiss="modal" onclick="closeAccountReconciliationModal()">关闭</button>&ndash;&gt;
</div>
</div>
</div>
</div>-->
<th:block th:include="include :: footer"/>
<th:block th:include="include :: datetimepicker-js"/>
<script th:inline="javascript">
var editFlag = [[${@permission.hasPermi('sales:salesAccountReconciliation:edit')}]];
var removeFlag = [[${@permission.hasPermi('sales:salesAccountReconciliation:remove')}]];
var customerUseOrNotDatas = [[${@dict.getType('sys_whether')}]];
var accountReconciliationOrNotDatas = [[${@dict.getType('sys_whether')}]];
var nationalTaxBillDatas = [[${@dict.getType('sys_whether')}]];
var closeCaseOrNotDatas = [[${@dict.getType('sys_whether')}]];
var inventoryUnitDatas = [[${@dict.getType('sys_unit_class')}]];
var commonCurrencyDatas = [[${@dict.getType('sys_common_currency')}]];
var prefix = ctx + "sales/salesAccountReconciliation";
var prefix1 = ctx + "returnGoods/returnGoodsProduct";
$(function () {
/*显示销售列表数据*/
var options = {
id: "bootstrap-table",
formId: "formId",
toolbar: "toolbar",
url: prefix + '/list',
exportUrl: prefix + '/export',
clickToSelect: true,
modalName: "销售对账",
columns: [{
checkbox: true
},
{
field: 'salesFinishId',
title: '销售物料id',
visible: false
},
{
field: 'accountReconciliationOrNot',
title: '对账否',
formatter: function (value, row, index) {
// return $.table.selectDictLabel(accountReconciliationOrNotDatas, value);
var actions = [];
if ($.table.selectDictLabel(accountReconciliationOrNotDatas, value) == "<span class=''></span>") {
actions.push('<a class="btn btn-primary btn-xs disabled">已对账</a> ');
} else {
actions.push('<a class="btn btn-danger btn-xs disabled">未对账</a> ');
}
return actions.join('');
}
},
{
field: 'noticeOrderNumber',
title: '发货通知单号'
},
{
field: 'deliveryDate',
title: '发货日期',
visible: false
},
{
field: 'salesOrderNumber',
title: '订单号码'
},
{
field: 'enterpriseCode',
title: '客户代码'
},
{
field: 'enterpriseName',
title: '客户名称'
},
{
field: 'customerContact',
title: '联系人'
},
{
field: 'finishProductCode',
title: '成品代码'
},
{
field: 'finishProductName',
title: '成品名称'
},
{
field: 'specificationModel',
title: '规格型号'
},
{
field: 'customerNumber',
title: '客户料号'
},
{
field: 'commonCurrency',
title: '币别',
formatter: function (value, row, index) {
return $.table.selectDictLabel(commonCurrencyDatas, value);
},
visible: false
},
{
field: 'processPrice',
title: '单价'
},
{
field: 'productQuantity',
title: '数量'
},
{
field: 'amountMoney',
title: '金额'
},
{
field: 'customerUseOrNot',
title: '客户使用否',
formatter: function (value, row, index) {
return $.table.selectDictLabel(customerUseOrNotDatas, value);
},
visible: false
},
{
field: 'customerUseQuantity',
title: '客户使用数量',
visible: false
},
{
field: 'customerUseRemarks',
title: '客户使用备注说明',
visible: false
},
{
field: 'accountReconciliationPerson',
title: '对账人'
},
{
field: 'accountReconciliationTime',
title: '对账时间'
},
{
field: 'nationalTaxBill',
title: '是否开国税发票',
formatter: function (value, row, index) {
return $.table.selectDictLabel(nationalTaxBillDatas, value);
},
visible: false
}]
};
$.table.init(options);
/*显示退货列表数据*/
/* var options1 = {
id: "bootstrap-table1",
url: prefix1 + "/list",
exportUrl: prefix1 + '/export',
formId: "formId",
toolbar: "toolbar1",
clickToSelect: true,
modalName: "退货对账",
columns: [{
checkbox: true
},
{
field: 'accountReconciliationOrNot',
title: '对账否',
formatter: function (value, row, index) {
// return $.table.selectDictLabel(accountReconciliationOrNotDatas, value);
var actions = [];
if ($.table.selectDictLabel(accountReconciliationOrNotDatas, value) == "<span class=''></span>") {
actions.push('<a class="btn btn-primary btn-xs disabled">已对账</a> ');
} else {
actions.push('<a class="btn btn-danger btn-xs disabled">未对账</a> ');
}
return actions.join('');
}
},
{
field: 'returnGoodsProductId',
title: '退货产品id',
visible: false
},
{
field: 'returnGoodsNumber',
title: '退货单号'
},
{
field: 'orderNumber',
title: '订单号'
},
{
field: 'finishProductCode',
title: '成品代码'
},
{
field: 'finishProductName',
title: '成品名称'
},
{
field: 'specificationModel',
title: '规格型号'
},
{
field: 'typeMachine',
title: '机种'
},
{
field: 'inventoryUnit',
title: '单位',
formatter: function (value, row, index) {
return $.table.selectDictLabel(inventoryUnitDatas, value);
}
},
{
field: 'commonCurrency',
title: '币别',
formatter: function (value, row, index) {
return $.table.selectDictLabel(commonCurrencyDatas, value);
}
},
{
field: 'processPrice',
title: '单价'
},
{
field: 'taxRate',
title: '税率',
visible: false
},
{
field: 'priceExcludingTax',
title: '不含税价',
visible: false
},
{
field: 'priceIncludingTax',
title: '含税价',
visible: false
},
{
field: 'quantity',
title: '数量'
},
{
field: 'amountOfMoney',
title: '金额'
},
{
field: 'deliveryDate',
title: '交期',
visible: false
},
{
field: 'batchNumber',
title: '批号',
visible: false
},
{
field: 'description',
title: '说明',
visible: false
},
{
field: 'completedQuantity',
title: '完成数量',
visible: false
},
{
field: 'incompletedQuantity',
title: '欠单数量',
visible: false
},
{
field: 'piNo',
title: 'pi_no',
visible: false
},
{
field: 'accountReconciliationPerson',
title: '对账人'
},
{
field: 'accountReconciliationTime',
title: '对账时间'
}
// ,
// {
// title: '操作',
// align: 'center',
// formatter: function(value, row, index) {
// var actions = [];
// actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.returnGoodsProductId + '\')"><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.returnGoodsProductId + '\')"><i class="fa fa-remove"></i>删除</a>');
// return actions.join('');
// }
// }
]
}
$.table.init(options1);*/
/*获取客户信息*/
getCustomerList();
});
/*表单搜索*/
function searchAll() {
$.table.search('formId', 'bootstrap-table');
$.table.search('formId', 'bootstrap-table1');
}
/*表单重置*/
function resetAll() {
$.form.reset('formId', 'bootstrap-table');
$.form.reset('formId', 'bootstrap-table1');
}
/*获取客户信息*/
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 confirmAccountReconciliation() {
let data = $("#bootstrap-table").bootstrapTable("getSelections");
// console.log(data)
let userName = [[${@permission.getPrincipalProperty('userName')}]];
if (data.length === 1) {
$("#salesFinishId").val(data[0].salesFinishId)
$("#accountReconciliationOrNot").val(1).trigger("change")
$("#accountReconciliationPerson").val(userName)
$("#accountReconciliationTime").datetimepicker("setDate", new Date());
$("#accountReconciliationModal").modal("show");
// console.log(userName)
} else {
$.modal.alertWarning("请选择一条数据")
}
}
/*销售对账确认提交*/
function updateAccountReconciliation() {
let data = $('#form-accountReconciliation-edit').serialize();
// console.log(data)
$.ajax({
url: prefix + "/edit",
type: "post",
resultType: "json",
data: data,
success: function (resp) {
// console.log(resp)
$("#bootstrap-table").bootstrapTable('refresh');
$.modal.msgSuccess("对账确认完成!")
$("#accountReconciliationModal").modal("hide");
},
error: function () {
$.modal.msgError("出错了!");
}
});
}
/*客户使用确认*/
function confirmCustomerUse() {
let data = $("#bootstrap-table").bootstrapTable("getSelections");
// console.log(data)
if (data.length === 1) {
$("#salesFinishId1").val(data[0].salesFinishId)
$("#salesOrderCode").val(data[0].salesOrderCode)
$("#finishProductCode").val(data[0].finishProductCode)
$("#finishProductName").val(data[0].finishProductName)
$("#customerUseOrNot").val(1).trigger("change")
$("#customerUseModal").modal("show");
// console.log(userName)
} else {
$.modal.alertWarning("请选择一条数据")
}
}
/*客户确认提交*/
function updateCustomerUse() {
// $.modal.msgWarning("111")
let data = $('#form-customerUse-edit').serialize();
// console.log(data)
$.ajax({
url: prefix + "/edit",
type: "post",
resultType: "json",
data: data,
success: function (resp) {
console.log(resp)
$("#bootstrap-table").bootstrapTable('refresh');
$.modal.msgSuccess("客户确认完成!")
$("#customerUseModal").modal("hide");
},
error: function () {
$.modal.msgError("出错了!");
}
});
}
/*退货对账确认*/
function confirmRGAccountReconciliation() {
let data = $("#bootstrap-table1").bootstrapTable("getSelections");
// console.log(data)
let userName = [[${@permission.getPrincipalProperty('userName')}]];
if (data.length === 1) {
$("#returnGoodsProductId").val(data[0].returnGoodsProductId)
$("#accountReconciliationOrNot1").val(1).trigger("change")
$("#accountReconciliationPerson1").val(userName)
$("#accountReconciliationTime1").datetimepicker("setDate", new Date());
$("#RGAccountReconciliationModal").modal("show");
// console.log(userName)
} else {
$.modal.alertWarning("请选择一条数据")
}
}
/*退货对账确认提交*/
function updateRGAccountReconciliation() {
let data = $('#form-rgAccountReconciliation-edit').serialize();
// console.log(data)
$.ajax({
url: prefix1 + "/edit",
type: "post",
resultType: "json",
data: data,
success: function (resp) {
// console.log(resp)
$("#bootstrap-table1").bootstrapTable('refresh');
$.modal.msgSuccess("对账确认完成!")
$("#RGAccountReconciliationModal").modal("hide");
},
error: function () {
$.modal.msgError("出错了!");
}
});
}
/*退货对账导出*/
function exportRGExcel(formId) {
table.set();
// console.log(table)
$.modal.confirm("确定导出所有" + table.options.modalName + "吗?", function () {
var currentId = $.common.isEmpty(formId) ? $('form').attr('id') : formId;
var params = $("#" + table.options.id).bootstrapTable('getOptions');
var dataParam = $("#" + currentId).serializeArray();
dataParam.push({"name": "orderByColumn", "value": params.sortName});
dataParam.push({"name": "isAsc", "value": params.sortOrder});
$.modal.loading("正在导出数据,请稍后...");
$.post(table.options.exportUrl, dataParam, function (result) {
if (result.code == web_status.SUCCESS) {
window.location.href = ctx + "common/download?fileName=" + encodeURI(result.msg) + "&delete=" + true;
} else if (result.code == web_status.WARNING) {
$.modal.alertWarning(result.msg)
} else {
$.modal.alertError(result.msg);
}
$.modal.closeLoading();
});
});
}
//导出
function exportAccountReconciliation() {
var rows = $.common.isEmpty(table.options.uniqueId) ? $.table.selectFirstColumns() : $.table.selectColumns(table.options.uniqueId);
// console.log(rows)
// console.log(rows.join())
var data = $("#bootstrap-table").bootstrapTable("getSelections")
if (rows.length == 0) {
$.modal.alert("未选择数据,请选择数据!");
return;
} else {
// rows为选中行的id
// console.log(rows);
console.log(data);
// console.log(data[0].orderNumber)
var ids = [];
for (let i=0;i<rows.length;i++) {
ids.push(data[i].salesFinishId)
}
// console.log(ids)
// console.log(ids.join())
$.modal.confirm("确认要导出销售对账吗?", function (){
axios({
url: prefix + '/exportSelected/'+ ids.join(),
method: 'POST',
responseType: 'blob'
}).then(response => {
// sendSearchParameter(supplierCode, supplierName);
// console.log(response)
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)//释放内存
})
});
}
}
</script>
</body>
</html>
Loading…
Cancel
Save