lxw
2022-08-11 4eb44a10c9424133c223b5af776ee9a6aeebcec3
产品版本管理下载时加入替换的散装件一起下载
5个文件已修改
92 ■■■■■ 已修改文件
src/main/java/com/whyc/mapper/ComponentMapper.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/pojo/ProductBomHistory.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/ProductBomHistoryService.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/ProductBomService.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/ComponentMapper.xml 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/mapper/ComponentMapper.java
@@ -2,6 +2,7 @@
import com.whyc.pojo.Component;
import com.whyc.pojo.ProductBom;
import com.whyc.pojo.ProductBomHistory;
import java.util.List;
@@ -12,4 +13,6 @@
    List<Component> getAllComponent();
    //查询出存在替换关系得散装件
    List<ProductBom> getReplaceComponent(String parentModel);
    //历史版本下载查询出存在替换关系得散装件
    List<ProductBomHistory> getReplaceHisComponent(String parentModel,int version);
}
src/main/java/com/whyc/pojo/ProductBomHistory.java
@@ -61,6 +61,10 @@
    @ApiModelProperty("工程图纸url")
    private String dwgUrl;
    @TableField(exist = false)
    @ApiModelProperty("替换关系中替换件的原子件名称")
    private String oldSubName;
    public Integer getId() {
        return id;
    }
@@ -252,4 +256,28 @@
    public void setDwgUrl(String dwgUrl) {
        this.dwgUrl = dwgUrl;
    }
    public Integer getsVersion() {
        return sVersion;
    }
    public void setsVersion(Integer sVersion) {
        this.sVersion = sVersion;
    }
    public Integer geteVersion() {
        return eVersion;
    }
    public void seteVersion(Integer eVersion) {
        this.eVersion = eVersion;
    }
    public String getOldSubName() {
        return oldSubName;
    }
    public void setOldSubName(String oldSubName) {
        this.oldSubName = oldSubName;
    }
}
src/main/java/com/whyc/service/ProductBomHistoryService.java
@@ -6,6 +6,7 @@
import com.whyc.dto.FileDirPath;
import com.whyc.dto.Response;
import com.whyc.dto.ZipUtils;
import com.whyc.mapper.ComponentMapper;
import com.whyc.mapper.ProductBomHistoryMapper;
import com.whyc.pojo.DocUser;
import com.whyc.pojo.ProductBom;
@@ -29,6 +30,8 @@
public class ProductBomHistoryService {
    @Autowired(required = false)
    private ProductBomHistoryMapper mapper;
    @Autowired(required = false)
    private ComponentMapper cponentMapper;
    @Autowired
    private DocLogService logService;
@@ -75,6 +78,16 @@
        wrapper.le("s_version",version);
        wrapper.ge("e_version",version);
        List<ProductBomHistory> list=mapper.selectList(wrapper);
        //查询出存在替换关系得散装件
        List<ProductBomHistory> replaceBomHis=cponentMapper.getReplaceHisComponent(parentModel,version);
        //两个集合合并才是最终的BOM
        if(list!=null&&list.size()>0){
            if(replaceBomHis!=null&&replaceBomHis.size()>0){
                replaceBomHis.stream().forEach(replaceBom->{
                    list.add(replaceBom);
                });
            }
        }
        HSSFWorkbook wb = new HSSFWorkbook();
        //字体格式-加粗
        HSSFCellStyle cellStyle = wb.createCellStyle();
@@ -146,7 +159,11 @@
                sheet.getRow(rownum+i+1).createCell(4).setCellValue(bomHistory.getParentModel());
                sheet.getRow(rownum+i+1).createCell(5).setCellValue(bomHistory.getCategory());
                sheet.getRow(rownum+i+1).createCell(6).setCellValue(bomHistory.getSubCode());
                sheet.getRow(rownum+i+1).createCell(7).setCellValue(bomHistory.getSubName());
                if(bomHistory.getOldSubName()!=null&&!bomHistory.getOldSubName().isEmpty()){
                    sheet.getRow(rownum+i+1).createCell(7).setCellValue(bomHistory.getSubName()+"("+bomHistory.getOldSubName()+")");
                }else{
                    sheet.getRow(rownum+i+1).createCell(7).setCellValue(bomHistory.getSubName());
                }
                sheet.getRow(rownum+i+1).createCell(8).setCellValue(bomHistory.getSubModel());
                sheet.getRow(rownum+i+1).createCell(9).setCellValue(bomHistory.getUnit()==null?"":bomHistory.getUnit());
                sheet.getRow(rownum+i+1).createCell(10).setCellValue(bomHistory.getQuantity());
src/main/java/com/whyc/service/ProductBomService.java
@@ -299,7 +299,11 @@
                sheet.getRow(rownum+i+1).createCell(4).setCellValue(bom.getParentModel());
                sheet.getRow(rownum+i+1).createCell(5).setCellValue(bom.getCategory());
                sheet.getRow(rownum+i+1).createCell(6).setCellValue(bom.getSubCode());
                sheet.getRow(rownum+i+1).createCell(7).setCellValue(bom.getSubName());
                if(bom.getOldSubName()!=null&&!bom.getOldSubName().isEmpty()){
                    sheet.getRow(rownum+i+1).createCell(7).setCellValue(bom.getSubName()+"("+bom.getOldSubName()+")");
                }else{
                    sheet.getRow(rownum+i+1).createCell(7).setCellValue(bom.getSubName());
                }
                sheet.getRow(rownum+i+1).createCell(8).setCellValue(bom.getSubModel());
                sheet.getRow(rownum+i+1).createCell(9).setCellValue(bom.getUnit()==null?"":bom.getUnit());
                sheet.getRow(rownum+i+1).createCell(10).setCellValue(bom.getQuantity());
src/main/resources/mapper/ComponentMapper.xml
@@ -82,4 +82,40 @@
        and tb_component_product_history.parent_model=#{parentModel}
        and tb_component_product_history.link_type=2
    </select>
    <resultMap id="replaceHisBom" type="productBomHistory">
        <result property="parentCode" column="parent_code"></result>
        <result property="parentModel" column="parent_model"></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>
        <result property="subName" column="sub_name"></result>
        <result property="subModel" column="sub_model"></result>
        <result property="unit" column="unit"></result>
        <result property="quantity" column="quantity"></result>
        <result property="producer" column="producer"></result>
        <result property="material" column="material"></result>
        <result property="thickness" column="thickness"></result>
        <result property="surfaceDetail" column="surface_detail"></result>
        <result property="notes" column="notes"></result>
        <result property="pictureUrl" column="picture_url"></result>
        <result property="fileUrl" column="file_url"></result>
        <result property="upUserId" column="up_user_id"></result>
        <result property="createDate" column="create_date"></result>
        <result property="dwgUrl" column="dwg_url"></result>
        <result property="parentVersion" column="parent_version"></result>
    </resultMap>
    <select id="getReplaceHisComponent" resultMap="replaceHisBom">
        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_product_bom.version=tb_component_product_history.e_version
          and tb_component_product_history.parent_model=#{parentModel}
          and tb_component_product_history.link_type=2
          and tb_component_product_history.s_version&lt;=#{version}
          and tb_component_product_history.e_version>=#{version}
    </select>
</mapper>