yuan
16 小时以前 ca23602089d4a5410fa5fe125b317c260536c192
Merge remote-tracking branch 'origin/dev_pro_河南鹤壁' into dev_pro_河南鹤壁
已修改8个文件
82 ■■■■■ 文件已修改
src/main/java/com/ruoyi/basic/vo/ProductModelVo.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/purchase/controller/PurchaseLedgerController.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/purchase/service/IPurchaseLedgerService.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/sales/service/ISalesLedgerService.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/basic/ProductModelMapper.xml 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/basic/vo/ProductModelVo.java
@@ -1,5 +1,6 @@
package com.ruoyi.basic.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import com.ruoyi.basic.pojo.ProductModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -10,5 +11,8 @@
@Data
public class ProductModelVo extends ProductModel {
    @TableField(exist = false)
    private String topProductName;
    private List<String> batchNoList;
}
src/main/java/com/ruoyi/purchase/controller/PurchaseLedgerController.java
@@ -32,6 +32,7 @@
import java.io.OutputStream;
import java.net.URLEncoder;
import java.util.List;
import java.util.Map;
/**
 * 采购台账Controller
@@ -250,4 +251,14 @@
    public AjaxResult createPurchaseNo() {
        return AjaxResult.success("生成成功",purchaseLedgerService.getPurchaseNo());
    }
    @Operation(summary = "获取采购单打印数据")
    @GetMapping("/printData/{id}")
    public AjaxResult printData(@PathVariable Long id) {
        Map<String, Object> data = purchaseLedgerService.getPrintData(id);
        if (data == null) {
            return AjaxResult.error("采购单不存在");
        }
        return AjaxResult.success(data);
    }
}
src/main/java/com/ruoyi/purchase/service/IPurchaseLedgerService.java
@@ -10,6 +10,7 @@
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
import java.util.Map;
/**
 * 采购台账Service接口
@@ -44,4 +45,6 @@
    AjaxResult importData(MultipartFile file);
    PurchaseLedgerDto getPurchaseByCode(PurchaseLedgerDto purchaseLedgerDto);
    Map<String, Object> getPrintData(Long id);
}
src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java
@@ -29,7 +29,9 @@
import com.ruoyi.other.mapper.TempFileMapper;
import com.ruoyi.procurementrecord.mapper.ProcurementRecordMapper;
import com.ruoyi.procurementrecord.pojo.ProcurementRecordStorage;
import com.ruoyi.project.system.domain.SysDept;
import com.ruoyi.project.system.domain.SysUser;
import com.ruoyi.project.system.mapper.SysDeptMapper;
import com.ruoyi.project.system.mapper.SysUserMapper;
import com.ruoyi.purchase.dto.PurchaseLedgerDto;
import com.ruoyi.purchase.dto.PurchaseLedgerImportDto;
@@ -87,6 +89,7 @@
    private final SysUserMapper userMapper;
    private final TempFileMapper tempFileMapper;
    private final CommonFileMapper commonFileMapper;
    private final SysDeptMapper sysDeptMapper;
    private final SupplierManageMapper supplierManageMapper;
    private final ProductMapper productMapper;
    private final ProductModelMapper productModelMapper;
@@ -668,4 +671,23 @@
        }
        return sb.toString();
    }
    @Override
    public Map<String, Object> getPrintData(Long id) {
        PurchaseLedger purchaseLedger = getById(id);
        if (purchaseLedger == null) {
            return null;
        }
        List<SalesLedgerProduct> products = salesLedgerProductMapper.selectList(
            new LambdaQueryWrapper<SalesLedgerProduct>()
                .eq(SalesLedgerProduct::getSalesLedgerId, id)
                .eq(SalesLedgerProduct::getType, 2)
        );
        SysDept dept = sysDeptMapper.selectDeptById(100L);
        Map<String, Object> result = new HashMap<>();
        result.put("companyName", dept != null ? dept.getDeptName() : "");
        result.put("ledger", purchaseLedger);
        result.put("products", products);
        return result;
    }
}
src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java
@@ -281,4 +281,14 @@
    public R getSalesLedgerWithProductsLoss(Long salesLedgerId) {
        return R.ok(salesLedgerService.getSalesLedgerWithProductsLoss(salesLedgerId));
    }
    @Operation(summary = "获取销售单打印数据")
    @GetMapping("/printData/{id}")
    public AjaxResult printData(@PathVariable Long id) {
        Map<String, Object> data = salesLedgerService.getPrintData(id);
        if (data == null) {
            return AjaxResult.error("销售单不存在");
        }
        return AjaxResult.success(data);
    }
}
src/main/java/com/ruoyi/sales/service/ISalesLedgerService.java
@@ -18,6 +18,7 @@
import jakarta.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
/**
 * 销售台账Service接口
@@ -55,4 +56,6 @@
    List<LossProductModelDto> getSalesLedgerWithProductsLoss(Long salesLedgerId);
    IPage<SalesLedgerDto> listSalesLedger(SalesLedgerDto salesLedgerDto, Page page);
    Map<String, Object> getPrintData(Long id);
}
src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
@@ -778,4 +778,19 @@
            return totalAmount;
        }
    }
    @Override
    public Map<String, Object> getPrintData(Long id) {
        SalesLedgerDto dto = new SalesLedgerDto();
        dto.setId(id);
        SalesLedgerDto ledger = getSalesLedgerWithProducts(dto);
        if (ledger == null) {
            return null;
        }
        SysDept dept = sysDeptMapper.selectDeptById(100L);
        Map<String, Object> result = new HashMap<>();
        result.put("companyName", dept != null ? dept.getDeptName() : "");
        result.put("ledger", ledger);
        return result;
    }
}
src/main/resources/mapper/basic/ProductModelMapper.xml
@@ -16,6 +16,7 @@
    <resultMap id="ProductModelVoResultMap" type="com.ruoyi.basic.vo.ProductModelVo" extends="BaseResultMap">
        <result column="create_time" property="createTime" />
        <result column="top_product_name" property="topProductName" />
        <collection property="batchNoList"
                    ofType="java.lang.String"
                    column="{productModelId=id}"
@@ -23,9 +24,20 @@
    </resultMap>
    <select id="listPageProductModel" resultMap="ProductModelVoResultMap">
        select pm.*,p.product_name
        WITH RECURSIVE product_root AS (
            SELECT id, parent_id, product_name
            FROM product
            WHERE parent_id IS NULL
            UNION ALL
            SELECT p.id, p.parent_id, pr.product_name
            FROM product p
            INNER JOIN product_root pr ON p.parent_id = pr.id
        )
        select pm.*, p.product_name,
               pr.product_name as top_product_name
        from product_model pm
        left join product p on pm.product_id = p.id
        left join product_root pr on p.id = pr.id
        <where>
            <if test="c.model != null and c.model != ''">
                and pm.model  like  concat('%',#{c.model},'%')