src/main/java/com/whyc/controller/ProductBomController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/mapper/ComponentMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/mapper/ProductBomMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/pojo/ProductBom.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/service/ProductBomService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/mapper/ComponentMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/mapper/ProductBomMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/whyc/controller/ProductBomController.java
@@ -58,8 +58,8 @@ @ApiOperation(tags = "产品管理",value = "获取所有产品信息") @GetMapping("getAllBom") public Response getAllBom(){ return service.getAllBom(); public Response getAllBom( @RequestParam int pageCurr, @RequestParam int pageSize){ return service.getAllBom(pageCurr,pageSize); } @ApiOperation(tags = "产品管理",value = "根据母料型号查询子件信息及有最新版本关联的散装件信息") src/main/java/com/whyc/mapper/ComponentMapper.java
@@ -1,6 +1,7 @@ package com.whyc.mapper; import com.whyc.pojo.Component; import com.whyc.pojo.ProductBom; import java.util.List; @@ -9,4 +10,6 @@ List<Component> getComponentWithoutSub(String parentModel, String subName,int version); //查询所有的散装件信息加设置了替换关系的子件信息 List<Component> getAllComponent(); //查询出存在替换关系得散装件 ProductBom getReplaceComponent(String parentModel); } src/main/java/com/whyc/mapper/ProductBomMapper.java
@@ -1,5 +1,6 @@ package com.whyc.mapper; import com.whyc.pojo.Component; import com.whyc.pojo.ProductBom; import com.whyc.pojo.ProductBomApproving; @@ -16,4 +17,6 @@ //根据母料型号查询子件信息及有关联的散装件信息 List<ProductBom> getSubByComponentProduct(String parentModel); //查询出存在的旧的关联子件 List<Component> getOldComponent(String subName); } src/main/java/com/whyc/pojo/ProductBom.java
@@ -70,6 +70,11 @@ @TableField(exist = false) private List<Component> components; @TableField(exist = false) @ApiModelProperty("是否是替换件:0:原子件,1:替换件") private int replaceStatus; public Integer getId() { return id; } @@ -277,4 +282,12 @@ public void setComponents(List<Component> components) { this.components = components; } public int getReplaceStatus() { return replaceStatus; } public void setReplaceStatus(int replaceStatus) { this.replaceStatus = replaceStatus; } } src/main/java/com/whyc/service/ProductBomService.java
@@ -9,11 +9,9 @@ import com.whyc.dto.FileDirPath; import com.whyc.dto.Response; import com.whyc.dto.ZipUtils; import com.whyc.mapper.ComponentMapper; import com.whyc.mapper.ProductBomMapper; import com.whyc.pojo.DocUser; import com.whyc.pojo.ProductBom; import com.whyc.pojo.ProductBomApproving; import com.whyc.pojo.ProductBomHistory; import com.whyc.pojo.*; import com.whyc.util.ActionUtil; import org.apache.poi.hssf.usermodel.*; import org.apache.poi.ss.usermodel.Cell; @@ -40,6 +38,8 @@ @Autowired(required = false) private ProductBomMapper mapper; @Autowired(required = false) private ComponentMapper cponentMapper; @Autowired private DocLogService logService; //图纸分类检索 @@ -196,11 +196,13 @@ } /** * 获取所有产品信息*/ public Response getAllBom() { public Response getAllBom(int pageCurr,int pageSize) { PageHelper.startPage(pageCurr,pageSize); QueryWrapper wrapper=new QueryWrapper(); wrapper.select("distinct parent_code","parent_name","parent_model","version").orderByAsc("id"); List list=mapper.selectList(wrapper); return new Response().setII(1,list!=null?true:false,list,"返回数据"); PageInfo pageInfo=new PageInfo(list); return new Response().setII(1,list!=null?true:false,pageInfo,"返回数据"); } //产品打包下载 public void downloadBom(HttpServletRequest req, HttpServletResponse resp, String parentModel) { @@ -362,6 +364,21 @@ //根据母料型号查询子件信息及有最新版本关联的散装件信息 public Response getSubByComponentProduct(String parentModel) { List<ProductBom> list=mapper.getSubByComponentProduct(parentModel); //查询出存在替换关系得散装件 ProductBom replaceBom=cponentMapper.getReplaceComponent(parentModel); //如果存在替换关系,查询出原子件的关联关系(将原子件名称放在parent_name中) if(replaceBom!=null&&!replaceBom.getSubName().isEmpty()) { //replaceBom表示为替换件 replaceBom.setReplaceStatus(1); if (replaceBom.getParentName() != null && !replaceBom.getParentName().isEmpty()) { //查询出存在的旧的关联子件,还要与原BOM版本一致 List<Component> oldCponent = mapper.getOldComponent(replaceBom.getParentName()); 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
@@ -45,4 +45,35 @@ where tb_product_bom.version=tb_component_product_history.e_version and tb_product_bom.sub_name=tb_component_product_history.sub_name and tb_product_bom.parent_model=tb_component_product_history.parent_model and tb_component_product_history.component_id=#{id} </select> <resultMap id="replaceBom" type="productBom"> <result property="parentModel" column="parent_model"></result> <result property="parentName" 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="updateDate" column="update_date"></result> <result property="dwgUrl" column="dwg_url"></result> <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 where tb_component.id=tb_component_product_history.component_id and tb_component_product_history.parent_model=#{parentModel} and tb_component_product_history.link_type=2 </select> </mapper> src/main/resources/mapper/ProductBomMapper.xml
@@ -86,12 +86,13 @@ <result property="version" column="version"></result> <result property="dwgUrl" column="dwg_url"></result> <result property="parentVersion" column="parent_version"></result> <result property="replaceStatus" column="replaceStatus"></result> <collection property="components" javaType="java.util.ArrayList" ofType="com.whyc.pojo.Component" column="{subName=sub_name,parentModel=parent_model,eVersion=version}" select="selectComponent"> </collection> </resultMap> <select id="getSubByComponentProduct" resultMap="componentList" parameterType="java.lang.String"> select distinct * from db_doc.tb_product_bom select distinct *,0 as replaceStatus from db_doc.tb_product_bom <where> parent_model = #{parentModel} </where> @@ -103,4 +104,13 @@ and tb_component_product_history.sub_name=#{subName} and tb_component_product_history.parent_model=#{parentModel} and tb_component_product_history.e_version=#{eVersion} </select> <select id="getOldComponent" resultType="com.whyc.pojo.Component"> select DISTINCT tb_component.* 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.e_version=tb_product_bom.version </select> </mapper>