src/main/java/com/whyc/controller/MaterialController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/mapper/MaterialMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/service/MaterialService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/mapper/MaterialMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/whyc/controller/MaterialController.java
@@ -97,29 +97,4 @@ Material material = ActionUtil.getGson().fromJson(materialStr, Material.class); return service.updatePicOrDwg(file,material); } /** * 1.bom解析时就追加特定的(什么时候追加? 解析过后,从系统查询,型号相同类别不同,则型号变更) * 示例: * 存在 类A 型A, * 追加 类A 型A,则型号不变,也不会重复添加 * 追加 类B 型A,则型号改变,检查也不会被去重,允许添加 * 追加 类B 型A, * 2.物料新增 * 必须新增类别 * 3.修复原来数据中可以变更的部分,下面示例中1386无法修复,不处理,因为一种物料对应了两种类别,填充任意一种会导致误解 * material_id category * 1384 组装类 * 1385 组装类 * 1386 组装类 * 1386 出货配件类 * 1387 组装类 * @param sign 输入简易签名 * @return */ @GetMapping("fillCategory") public Response updateFillCategory(@RequestParam String sign){ service.updateFillCategory(sign); return new Response().set(1,"完成物料类别自动填充"); } } src/main/java/com/whyc/mapper/MaterialMapper.java
@@ -38,6 +38,4 @@ List<Material> getSameSubCodeAndModel(List<ProductBom> bomList); List<Material> getCategory(); } src/main/java/com/whyc/service/MaterialService.java
@@ -1,7 +1,6 @@ package com.whyc.service; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; @@ -30,7 +29,10 @@ import java.io.FileOutputStream; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.*; import java.util.ArrayList; import java.util.Date; import java.util.LinkedList; import java.util.List; import java.util.stream.Collectors; @Service @@ -521,30 +523,5 @@ public List<Material> getSameSubCodeAndModel(List<ProductBom> bomList) { return mapper.getSameSubCodeAndModel(bomList); } public void updateFillCategory(String sign) { if(sign.equals("perryhsu")){ //允许操作 //联查产品物料历史表,获取物料对应的类别 List<Material> materialList = mapper.getCategory(); List<Material> materialWithOneCategoryList = new LinkedList<>(); Map<Integer, List<Material>> materialIdMap = materialList.stream().collect(Collectors.groupingBy(Material::getId)); Set<Integer> materialIdSet = materialIdMap.keySet(); for (Integer materialId : materialIdSet) { List<Material> temp = materialIdMap.get(materialId); if(temp.size()==1){ materialWithOneCategoryList.add(temp.get(0)); }else{ System.err.println("物料id:"+materialId+"对应"+temp.size()+"个类别"+temp.get(0).getCategory()+"/"+temp.get(1).getCategory()); } } //将类别回填到物料表 for (int i = 0; i < materialWithOneCategoryList.size(); i++) { Material material = materialWithOneCategoryList.get(i); UpdateWrapper<Material> update = Wrappers.update(); update.set("category",material.getCategory()).eq("id",material.getId()); mapper.update(null,update); } } } } src/main/resources/mapper/MaterialMapper.xml
@@ -302,7 +302,4 @@ (sub_code = #{item.subCode} and sub_model = #{item.subModel}) </foreach> </select> <select id="getCategory" resultType="com.whyc.pojo.Material"> SELECT distinct m.id,h.category FROM db_doc1.tb_product_bom_history h,db_doc1.tb_material m where h.material_id = m.id order by m.id ; </select> </mapper>