lxw
2022-08-10 433fe4f9911351016731184b1dfaa21d47b32a30
产品管理查询信息时要显示替换件以及以前存在的关联关系
5个文件已修改
35 ■■■■ 已修改文件
src/main/java/com/whyc/mapper/ProductBomMapper.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/pojo/ProductBom.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/ProductBomService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/ComponentMapper.xml 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/ProductBomMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/mapper/ProductBomMapper.java
@@ -18,5 +18,5 @@
    //根据母料型号查询子件信息及有关联的散装件信息
    List<ProductBom> getSubByComponentProduct(String parentModel);
    //查询出存在的旧的关联子件
    List<Component> getOldComponent(String subName);
    List<Component> getOldComponent(String oldSubName);
}
src/main/java/com/whyc/pojo/ProductBom.java
@@ -74,6 +74,10 @@
    @ApiModelProperty("是否是替换件:0:原子件,1:替换件")
    private int replaceStatus;
    @TableField(exist = false)
    @ApiModelProperty("替换关系中替换件的原子件名称")
    private String oldSubName;
    public Integer getId() {
        return id;
@@ -290,4 +294,12 @@
    public void setReplaceStatus(int replaceStatus) {
        this.replaceStatus = replaceStatus;
    }
    public String getOldSubName() {
        return oldSubName;
    }
    public void setOldSubName(String oldSubName) {
        this.oldSubName = oldSubName;
    }
}
src/main/java/com/whyc/service/ProductBomService.java
@@ -366,17 +366,15 @@
        List<ProductBom> list=mapper.getSubByComponentProduct(parentModel);
        //查询出存在替换关系得散装件
        ProductBom replaceBom=cponentMapper.getReplaceComponent(parentModel);
        //如果存在替换关系,查询出原子件的关联关系(将原子件名称放在parent_name中)
        //如果存在替换关系,查询出原子件的关联关系(将原子件名称放在oldSubName中)
        if(replaceBom!=null&&!replaceBom.getSubName().isEmpty()) {
            //replaceBom表示为替换件
            replaceBom.setReplaceStatus(1);
            if (replaceBom.getParentName() != null && !replaceBom.getParentName().isEmpty()) {
            if (replaceBom.getOldSubName() != null && !replaceBom.getOldSubName().isEmpty()) {
                //查询出存在的旧的关联子件,还要与原BOM版本一致
                List<Component> oldCponent = mapper.getOldComponent(replaceBom.getParentName());
                List<Component> oldCponent = mapper.getOldComponent(replaceBom.getOldSubName());
                replaceBom.setComponents(oldCponent);
            }
            //还原replaceBom的parent_model为空
            replaceBom.setParentName(null);
        }
        list.add(replaceBom);
        return new Response().setII(1,list.size()>0?true:false,list,"返回数据");
src/main/resources/mapper/ComponentMapper.xml
@@ -48,8 +48,10 @@
    <resultMap id="replaceBom" type="productBom">
        <result property="parentCode" column="parent_code"></result>
        <result property="parentModel" column="parent_model"></result>
        <result property="parentName" column="old_subName"></result>
        <result property="parentName" column="parent_name"></result>
        <result property="oldSubName" column="old_subName"></result>
        <result property="type" column="type"></result>
        <result property="category" column="category"></result>
        <result property="subCode" column="sub_code"></result>
@@ -71,9 +73,12 @@
        <result property="parentVersion" column="parent_version"></result>
    </resultMap>
    <select id="getReplaceComponent" resultMap="replaceBom">
        select tb_component.*,tb_component_product_history.sub_name as old_subName from db_doc.tb_component,db_doc.tb_component_product_history
        select distinct tb_component.*,tb_component_product_history.sub_name as old_subName
             ,tb_product_bom.parent_model,tb_product_bom.parent_code,tb_product_bom.parent_name
        from db_doc.tb_component,db_doc.tb_component_product_history,tb_product_bom
        where tb_component.id=tb_component_product_history.component_id
        and tb_component_product_history.parent_model=tb_product_bom.parent_model
        and tb_component_product_history.parent_model=#{parentModel}
        and tb_component_product_history.link_type=2
        and tb_component_product_history.link_type=2 limit 1
    </select>
</mapper>
src/main/resources/mapper/ProductBomMapper.xml
@@ -110,7 +110,7 @@
        FROM db_doc.tb_component,db_doc.tb_component_product_history,tb_product_bom
        where tb_component.id=tb_component_product_history.component_id
        and tb_component_product_history.parent_model=tb_product_bom.parent_model
        and tb_component_product_history.sub_name=#{subName} and tb_component_product_history.link_type=1
        and tb_component_product_history.sub_name=#{oldSubName} and tb_component_product_history.link_type=1
        and tb_component_product_history.e_version=tb_product_bom.version
    </select>
</mapper>