liyong
5 天以前 2a4d9802f9117d5d110e63ddaa41aada68731c4d
tenantId修改类型 + 客户导入+ 供应商导入+产品导入
已修改33个文件
239 ■■■■ 文件已修改
src/main/java/com/ruoyi/basic/controller/CustomerController.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/basic/controller/ProductController.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/basic/controller/SupplierManageController.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/basic/excel/SupplierManageExcelDto.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/basic/pojo/Customer.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/basic/pojo/Product.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/basic/pojo/ProductModel.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/basic/pojo/SupplierManage.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/basic/service/ICustomerService.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/basic/service/IProductModelService.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/basic/service/ISupplierService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/basic/service/impl/CustomerServiceImpl.java 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/basic/service/impl/ProductModelServiceImpl.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/basic/service/impl/ProductServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/basic/service/impl/SupplierServiceImpl.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/common/config/IgnoreTableConfig.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/common/config/MybatisHandler.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/common/handler/CustomTenantLineHandler.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/framework/security/LoginUser.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/framework/security/service/UserDetailsServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/project/system/controller/SysLoginController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/project/system/domain/SysUser.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/purchase/controller/PurchaseLedgerController.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/purchase/pojo/ProductRecord.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/purchase/service/IPurchaseLedgerService.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/purchase/service/impl/PaymentRegistrationServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/sales/pojo/InvoiceLedger.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/sales/pojo/InvoiceLedgerFile.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/sales/pojo/InvoiceRegistration.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/sales/pojo/InvoiceRegistrationProduct.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/sales/pojo/ReceiptPayment.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/basic/controller/CustomerController.java
@@ -11,6 +11,7 @@
import com.ruoyi.framework.web.domain.AjaxResult;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
@@ -52,6 +53,17 @@
        util.exportExcel(response, list, "客户档案数据");
    }
    /**
     * 导入客户档案
     */
    @Log(title = "客户档案", businessType = BusinessType.IMPORT)
    @PostMapping("/importData")
    public AjaxResult importData(MultipartFile file) throws Exception {
        return success(customerService.importData(file));
    }
    /**
     * 获取客户档案详细信息
     */
src/main/java/com/ruoyi/basic/controller/ProductController.java
@@ -14,6 +14,7 @@
import com.ruoyi.framework.web.domain.AjaxResult;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
@@ -92,4 +93,13 @@
    public IPage<ProductModel> selectModelListPage(Page page, ProductDto productDto) {
        return productModelService.modelListPage(page, productDto);
    }
    /**
     * 导入产品
     */
    @Log(title = "导入产品",businessType = BusinessType.IMPORT)
    @PostMapping("import")
    public AjaxResult importProduct(MultipartFile file) {
        return AjaxResult.success(productModelService.importProduct(file));
    }
}
src/main/java/com/ruoyi/basic/controller/SupplierManageController.java
@@ -4,10 +4,13 @@
import com.ruoyi.basic.dto.SupplierManageDto;
import com.ruoyi.basic.pojo.SupplierManage;
import com.ruoyi.basic.service.ISupplierService;
import com.ruoyi.framework.aspectj.lang.annotation.Log;
import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
import com.ruoyi.framework.web.domain.AjaxResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
@@ -87,6 +90,16 @@
    }
    /**
     * 供应商导入
     */
    @PostMapping("/import")
    @Log(title = "供应商导入", businessType = BusinessType.IMPORT)
    public AjaxResult importData(MultipartFile file) {
        return AjaxResult.success(supplierService.importData(file));
    }
    /**
     * 供应商选项接口
     * @return
     */
src/main/java/com/ruoyi/basic/excel/SupplierManageExcelDto.java
@@ -5,6 +5,7 @@
import com.ruoyi.framework.aspectj.lang.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
@@ -38,7 +39,8 @@
    @Excel(name = "维护人")
    private String maintainUserName;
    @Excel(name = "维护时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime maintainTime;
//    @Excel(name = "维护时间")
//    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
//    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
//    private LocalDateTime maintainTime;
}
src/main/java/com/ruoyi/basic/pojo/Customer.java
@@ -85,11 +85,14 @@
    private String addressPhone;
    @ApiModelProperty(value = "银行基本户")
    @Excel(name = "银行基本户")
    private String basicBankAccount;
    @ApiModelProperty(value = "银行账号")
    @Excel(name = "银行账号")
    private String bankAccount;
    @ApiModelProperty(value = "开户行号")
    @Excel(name = "开户行号")
    private String bankCode;
}
src/main/java/com/ruoyi/basic/pojo/Product.java
@@ -28,5 +28,5 @@
    @ApiModelProperty(value = "租户ID")
    @TableField(fill = FieldFill.INSERT)
    private Integer tenantId;
    private Long tenantId;
}
src/main/java/com/ruoyi/basic/pojo/ProductModel.java
@@ -1,6 +1,7 @@
package com.ruoyi.basic.pojo;
import com.baomidou.mybatisplus.annotation.*;
import com.ruoyi.framework.aspectj.lang.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -19,19 +20,26 @@
    /**
     * 关联产品id
     */
    @Excel(name = "关联产品id")
    private Long productId;
    @TableField(exist = false)
    @Excel(name = "产品名称")
    private String productName;
    /**
     * 规格型号
     */
    @Excel(name = "规格型号")
    private String model;
    /**
     * 单位
     */
    @Excel(name = "单位")
    private String unit;
    @ApiModelProperty(value = "租户ID")
    @TableField(fill = FieldFill.INSERT)
    private Integer tenantId;
    private Long tenantId;
}
src/main/java/com/ruoyi/basic/pojo/SupplierManage.java
@@ -16,6 +16,7 @@
    private Integer id;
    @ApiModelProperty(value = "供应商名称")
    private String supplierName;
    @ApiModelProperty(value = "纳税人识别号")
@@ -64,5 +65,5 @@
    @ApiModelProperty(value = "租户ID")
    @TableField(fill = FieldFill.INSERT)
    private Integer tenantId;
    private Long tenantId;
}
src/main/java/com/ruoyi/basic/service/ICustomerService.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.basic.pojo.Customer;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
@@ -64,4 +65,6 @@
    List customerList(Customer customer);
    List<Customer> selectCustomerLists(Customer customer);
    Boolean importData(MultipartFile file);
}
src/main/java/com/ruoyi/basic/service/IProductModelService.java
@@ -6,6 +6,7 @@
import com.ruoyi.basic.dto.ProductDto;
import com.ruoyi.basic.dto.ProductModelDto;
import com.ruoyi.basic.pojo.ProductModel;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
@@ -31,4 +32,6 @@
     * @return
     */
    IPage<ProductModel> modelListPage(Page page , ProductDto productDto);
    Boolean importProduct(MultipartFile file);
}
src/main/java/com/ruoyi/basic/service/ISupplierService.java
@@ -5,6 +5,8 @@
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.basic.dto.SupplierManageDto;
import com.ruoyi.basic.pojo.SupplierManage;
import com.ruoyi.framework.web.domain.AjaxResult;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
@@ -53,4 +55,6 @@
     * @param supplierManageDto
     */
    void supplierExport(HttpServletResponse response, SupplierManageDto supplierManageDto);
    Boolean importData(MultipartFile file);
}
src/main/java/com/ruoyi/basic/service/impl/CustomerServiceImpl.java
@@ -11,10 +11,13 @@
import com.ruoyi.basic.service.ICustomerService;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.framework.security.LoginUser;
import com.ruoyi.project.system.domain.SysUser;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import java.util.Arrays;
import java.util.List;
@@ -98,8 +101,8 @@
    @Override
    public int insertCustomer(Customer customer) {
        LoginUser loginUser = SecurityUtils.getLoginUser();
        Integer tenantId = loginUser.getTenantId();
        customer.setTenantId(Long.valueOf(tenantId));
        Long tenantId = loginUser.getTenantId();
        customer.setTenantId(tenantId);
        return customerMapper.insert(customer);
    }
@@ -112,8 +115,8 @@
    @Override
    public int updateCustomer(Customer customer) {
        LoginUser loginUser = SecurityUtils.getLoginUser();
        Integer tenantId = loginUser.getTenantId();
        customer.setTenantId(Long.valueOf(tenantId));
        Long tenantId = loginUser.getTenantId();
        customer.setTenantId(tenantId);
        return customerMapper.updateById(customer);
    }
@@ -142,6 +145,20 @@
    }
    @Override
    public Boolean importData(MultipartFile file) {
        try {
            ExcelUtil<Customer> util = new ExcelUtil<Customer>(Customer.class);
            List<Customer> userList = util.importExcel(file.getInputStream());
            this.saveOrUpdateBatch(userList);
            return true;
        }catch (Exception e){
            e.printStackTrace();
        }
        return false;
    }
    @Override
    public List<Map<String, Object>> customerList(Customer customer) {
        LambdaQueryWrapper<Customer> queryWrapper = Wrappers.lambdaQuery();
        queryWrapper.select(Customer::getId, Customer::getCustomerName, Customer::getTaxpayerIdentificationNumber);
src/main/java/com/ruoyi/basic/service/impl/ProductModelServiceImpl.java
@@ -6,15 +6,21 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.basic.dto.ProductDto;
import com.ruoyi.basic.dto.ProductModelDto;
import com.ruoyi.basic.mapper.ProductMapper;
import com.ruoyi.basic.mapper.ProductModelMapper;
import com.ruoyi.basic.pojo.Product;
import com.ruoyi.basic.pojo.ProductModel;
import com.ruoyi.basic.service.IProductModelService;
import com.ruoyi.common.utils.bean.BeanUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
 * 【请填写功能名称】Service业务层处理
@@ -26,6 +32,7 @@
@AllArgsConstructor
public class ProductModelServiceImpl extends ServiceImpl<ProductModelMapper, ProductModel> implements IProductModelService {
    private final ProductMapper productMapper;
    private ProductModelMapper productModelMapper;
    @Override
@@ -64,4 +71,26 @@
        queryWrapper.eq(ProductModel::getProductId, productDto.getId());
        return productModelMapper.selectPage(page, queryWrapper);
    }
    @Override
    public Boolean importProduct(MultipartFile file) {
        try {
            ExcelUtil<ProductModel> productModelExcelUtil = new ExcelUtil<>(ProductModel.class);
            List<ProductModel> productModelList = productModelExcelUtil.importExcel(file.getInputStream());
            Map<String, List<ProductModel>> collect = productModelList.stream().collect(Collectors.groupingBy(ProductModel::getProductName));
            collect.forEach((k,v)->{
                Product product = productMapper.selectOne(new LambdaQueryWrapper<Product>().eq(Product::getProductName, k).last("LIMIT 1"));
                if (product != null) {
                    v.forEach(productModel -> {
                        productModel.setProductId(product.getId());
                    });
                    this.saveOrUpdateBatch(v);
                }
            });
            return true;
        }catch (Exception e) {
            e.printStackTrace();
        }
        return false;
    }
}
src/main/java/com/ruoyi/basic/service/impl/ProductServiceImpl.java
@@ -10,8 +10,11 @@
import com.ruoyi.basic.pojo.ProductModel;
import com.ruoyi.basic.service.IProductService;
import com.ruoyi.common.utils.bean.BeanUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.framework.web.domain.AjaxResult;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import java.util.ArrayList;
import java.util.Arrays;
@@ -49,6 +52,8 @@
        return tree;
    }
    // 递归构建子节点
    private List<ProductTreeDto> buildChildrenNodes(Long parentId) {
        // 查询当前父节点的子节点
src/main/java/com/ruoyi/basic/service/impl/SupplierServiceImpl.java
@@ -10,11 +10,17 @@
import com.ruoyi.basic.pojo.Customer;
import com.ruoyi.basic.pojo.SupplierManage;
import com.ruoyi.basic.service.ISupplierService;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.framework.web.domain.AjaxResult;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.List;
@Service
@@ -87,4 +93,29 @@
        ExcelUtil<SupplierManageExcelDto> util = new ExcelUtil<SupplierManageExcelDto>(SupplierManageExcelDto.class);
        util.exportExcel(response, supplierManageList, "供应商导出");
    }
    @Override
    public Boolean importData(MultipartFile file) {
        try {
            ExcelUtil<SupplierManageExcelDto> util = new ExcelUtil<SupplierManageExcelDto>(SupplierManageExcelDto.class);
            List<SupplierManageExcelDto> list = util.importExcel(file.getInputStream());
            ArrayList<SupplierManage> supplierManages = new ArrayList<>();
            list.stream().forEach(dto -> {
                SupplierManage supplierManage = new SupplierManage();
                BeanUtils.copyProperties(dto,supplierManage);
                supplierManage.setMaintainTime(LocalDate.now());
                Long userId = SecurityUtils.getLoginUser().getUser().getUserId();
                supplierManage.setMaintainUserId(Integer.parseInt(userId+""));
                supplierManages.add(supplierManage);
            });
            this.saveOrUpdateBatch(supplierManages);
            return true;
        }catch (Exception e){
            e.printStackTrace();
        }
        return false;
    }
}
src/main/java/com/ruoyi/common/config/IgnoreTableConfig.java
@@ -32,5 +32,6 @@
        IGNORE_TABLES.add("DepartmentHierarchy");
        IGNORE_TABLES.add("sys_oper_log");
        IGNORE_TABLES.add("sys_user_dept");
        IGNORE_TABLES.add("sys_job_log");
    }
}
src/main/java/com/ruoyi/common/config/MybatisHandler.java
@@ -12,7 +12,7 @@
    @Override
    public void insertFill(MetaObject metaObject) {
        Integer userId = null;
        Integer tenantId = null;
        Long tenantId = null;
        try {
            userId = SecurityUtils.getUserId().intValue();
            tenantId = SecurityUtils.getLoginUser().getTenantId();
@@ -23,7 +23,7 @@
        this.strictInsertFill(metaObject, "updateTime",  LocalDateTime.class, LocalDateTime.now());
        this.strictInsertFill(metaObject, "createUser", Integer.class, userId);
        this.strictInsertFill(metaObject, "updateUser", Integer.class, userId);
        this.strictInsertFill(metaObject, "tenantId", Integer.class, tenantId);
        this.strictInsertFill(metaObject, "tenantId", Long.class, tenantId);
    }
    @Override
src/main/java/com/ruoyi/common/handler/CustomTenantLineHandler.java
@@ -19,7 +19,7 @@
    @Override
    public Expression getTenantId() {
        try {
            Integer tenantId = SecurityUtils.getLoginUser().getTenantId();
            Long tenantId = SecurityUtils.getLoginUser().getTenantId();
            return new LongValue(tenantId);
        } catch (Exception e) {
            return null;
src/main/java/com/ruoyi/framework/security/LoginUser.java
@@ -74,7 +74,7 @@
    /**
     * 租户ID
     */
    private Integer tenantId;
    private Long tenantId;
    /**
     * 当前部门id
@@ -99,7 +99,7 @@
        this.permissions = permissions;
    }
    public LoginUser(Long userId, Long [] deptIds, SysUser user,Integer tenantId, Set<String> permissions)
    public LoginUser(Long userId, Long [] deptIds, SysUser user,Long tenantId, Set<String> permissions)
    {
        this.userId = userId;
        this.deptIds = deptIds;
@@ -108,7 +108,7 @@
        this.tenantId = tenantId;
    }
    public LoginUser(Long userId, Long [] deptIds, SysUser user,Integer tenantId,Long currentDeptId, Set<String> permissions)
    public LoginUser(Long userId, Long [] deptIds, SysUser user,Long tenantId,Long currentDeptId, Set<String> permissions)
    {
        this.userId = userId;
        this.deptIds = deptIds;
@@ -293,11 +293,11 @@
        return null;
    }
    public Integer getTenantId() {
    public Long getTenantId() {
        return tenantId;
    }
    public void setTenantId(Integer tenantId) {
    public void setTenantId(Long tenantId) {
        this.tenantId = tenantId;
    }
src/main/java/com/ruoyi/framework/security/service/UserDetailsServiceImpl.java
@@ -71,7 +71,7 @@
                // 查询租户
                Long teantId = deptMapper.maxLevelDeptId(factoryId);
                user.setCurrentDeptId(factoryId);
                user.setTenantId(teantId.intValue());
                user.setTenantId(teantId);
            }
        }
        // 获取用户当前登录部门,并查询租户id
src/main/java/com/ruoyi/project/system/controller/SysLoginController.java
@@ -79,7 +79,7 @@
        LoginUser loginUser = SecurityUtils.getLoginUser();
        SysUser user = loginUser.getUser();
        // 获取当前登录公司
        Integer tenantId = loginUser.getTenantId();
        Long tenantId = loginUser.getTenantId();
        if(null != tenantId){
            user.setTenantId(tenantId);
            SysDept sysDept = sysDeptMapper.selectDeptById(tenantId.longValue());
src/main/java/com/ruoyi/project/system/domain/SysUser.java
@@ -88,7 +88,7 @@
    private Long roleId;
    /** 租户ID */
    private Integer tenantId;
    private Long tenantId;
    private Long[] deptIds;
@@ -319,11 +319,11 @@
        this.roleId = roleId;
    }
    public Integer getTenantId() {
    public Long getTenantId() {
        return tenantId;
    }
    public void setTenantId(Integer tenantId) {
    public void setTenantId(Long tenantId) {
        this.tenantId = tenantId;
    }
src/main/java/com/ruoyi/purchase/controller/PurchaseLedgerController.java
@@ -88,6 +88,15 @@
        return salesLedgerService.getSalesNo();
    }
    /**
     * 根据销售合同查询产品信息
     */
    @GetMapping("/getProductBySalesNo")
    public AjaxResult getProductBySalesNo(Long id) {
        return AjaxResult.success(purchaseLedgerService.getProductBySalesNo(id));
    }
    /**
     * 查询采购合同号
     */
src/main/java/com/ruoyi/purchase/pojo/ProductRecord.java
@@ -121,5 +121,5 @@
    private Date createdAt;
    @TableField(fill = FieldFill.INSERT)
    private Integer tenantId;
    private Long tenantId;
}
src/main/java/com/ruoyi/purchase/service/IPurchaseLedgerService.java
@@ -5,6 +5,7 @@
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.purchase.dto.PurchaseLedgerDto;
import com.ruoyi.purchase.pojo.PurchaseLedger;
import com.ruoyi.sales.pojo.InvoiceRegistrationProduct;
import java.io.IOException;
import java.util.List;
@@ -34,4 +35,6 @@
    PurchaseLedgerDto getPurchaseNoById(Long id);
    IPage<PurchaseLedger> selectPurchaseLedgerListPage(IPage ipage, PurchaseLedger purchaseLedger);
    List<InvoiceRegistrationProduct> getProductBySalesNo(Long id);
}
src/main/java/com/ruoyi/purchase/service/impl/PaymentRegistrationServiceImpl.java
@@ -121,8 +121,8 @@
        }
        LoginUser loginUser = SecurityUtils.getLoginUser();
        Integer tenantId = loginUser.getTenantId();
        paymentRegistration.setTenantId(tenantId.longValue());
        Long tenantId = loginUser.getTenantId();
        paymentRegistration.setTenantId(tenantId);
        paymentRegistration.setRegistrantId(loginUser.getUserId());
        paymentRegistration.setCreateTime(DateUtils.getNowDate());
        paymentRegistration.setUpdateTime(DateUtils.getNowDate());
src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java
@@ -28,10 +28,9 @@
import com.ruoyi.purchase.pojo.PurchaseLedger;
import com.ruoyi.purchase.pojo.TicketRegistration;
import com.ruoyi.purchase.service.IPurchaseLedgerService;
import com.ruoyi.sales.mapper.CommonFileMapper;
import com.ruoyi.sales.mapper.SalesLedgerMapper;
import com.ruoyi.sales.mapper.SalesLedgerProductMapper;
import com.ruoyi.sales.mapper.*;
import com.ruoyi.sales.pojo.CommonFile;
import com.ruoyi.sales.pojo.InvoiceRegistrationProduct;
import com.ruoyi.sales.pojo.SalesLedger;
import com.ruoyi.sales.pojo.SalesLedgerProduct;
import lombok.RequiredArgsConstructor;
@@ -85,6 +84,8 @@
    private final ProductRecordMapper productRecordMapper;
    private final InvoiceRegistrationProductMapper invoiceRegistrationProductMapper;
    @Value("${file.upload-dir}")
    private String uploadDir;
@@ -111,7 +112,7 @@
        BeanUtils.copyProperties(purchaseLedgerDto, purchaseLedger);
        LoginUser loginUser = SecurityUtils.getLoginUser();
        if(ObjectUtils.isNotEmpty(loginUser) && null != loginUser.getTenantId()) {
            purchaseLedger.setTenantId(loginUser.getTenantId().longValue());
            purchaseLedger.setTenantId(loginUser.getTenantId());
        }
        purchaseLedger.setSalesContractNo(ObjectUtils.isNotEmpty(salesLedger) ? salesLedger.getSalesContractNo() : null);
        purchaseLedger.setSupplierName(supplierManage.getSupplierName());
@@ -427,6 +428,18 @@
        return purchaseLedgerMapper.selectPage(ipage, queryWrapper);
    }
    @Override
    public List<InvoiceRegistrationProduct> getProductBySalesNo(Long id) {
        List<InvoiceRegistrationProduct> invoiceRegistrationProducts = invoiceRegistrationProductMapper.selectList(new LambdaQueryWrapper<InvoiceRegistrationProduct>()
                        .select(InvoiceRegistrationProduct::getId, InvoiceRegistrationProduct::getProductCategory, InvoiceRegistrationProduct::getSpecificationModel,
                                InvoiceRegistrationProduct::getUnit, InvoiceRegistrationProduct::getQuantity)
                .eq(InvoiceRegistrationProduct::getSalesLedgerId, id));
        if (invoiceRegistrationProducts.isEmpty()) {
            return new ArrayList<>();
        }
        return invoiceRegistrationProducts;
    }
    /**
     * 下划线命名转驼峰命名
     */
src/main/java/com/ruoyi/sales/pojo/InvoiceLedger.java
@@ -57,6 +57,6 @@
    @ApiModelProperty(value = "租户ID")
    @TableField(fill = FieldFill.INSERT)
    private Integer tenantId;
    private Long tenantId;
}
src/main/java/com/ruoyi/sales/pojo/InvoiceLedgerFile.java
@@ -40,5 +40,5 @@
    @ApiModelProperty(value = "租户ID")
    @TableField(fill = FieldFill.INSERT)
    private Integer tenantId;
    private Long tenantId;
}
src/main/java/com/ruoyi/sales/pojo/InvoiceRegistration.java
@@ -49,5 +49,5 @@
    @ApiModelProperty(value = "租户ID")
    @TableField(fill = FieldFill.INSERT)
    private Integer tenantId;
    private Long tenantId;
}
src/main/java/com/ruoyi/sales/pojo/InvoiceRegistrationProduct.java
@@ -83,5 +83,5 @@
    @ApiModelProperty(value = "租户ID")
    @TableField(fill = FieldFill.INSERT)
    private Integer tenantId;
    private Long tenantId;
}
src/main/java/com/ruoyi/sales/pojo/ReceiptPayment.java
@@ -58,6 +58,6 @@
    @ApiModelProperty(value = "租户ID")
    @TableField(fill = FieldFill.INSERT)
    private Integer tenantId;
    private Long tenantId;
}
src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
@@ -504,7 +504,7 @@
            }
            // 2. 查询当天/公司已存在的序列号(与原逻辑一致)
            Integer tenantId = SecurityUtils.getLoginUser().getTenantId();
            Long tenantId = SecurityUtils.getLoginUser().getTenantId();
            if(null != tenantId){
                //获取公司编号
                SysDept sysDept = sysDeptMapper.selectDeptById(tenantId.longValue());