| | |
| | | List<Material> materialExistList = mService.getListByCodeAndModelList2(bomList); |
| | | //List<String> subCodeList = materialExistList.stream().map(Material::getSubCode).collect(Collectors.toList()); |
| | | List<String> subCodeList = materialExistList.stream().map(material -> material.getSubCode()+"/"+material.getSubModel()).collect(Collectors.toList()); |
| | | List<Material> materialList = new LinkedList<>(); |
| | | //需要更新到物料表中的物料(存在图纸或者图片) |
| | | List<MaterialHistory> materialHistoryList = new LinkedList<>(); |
| | | //新物料 |
| | | List<Material> newMaterialList = new LinkedList<>(); |
| | | //已经存在的物料 |
| | | List<Material> materialUpdateList = new LinkedList<>(); |
| | | for (ProductBom bom : bomList) { |
| | | if (!subCodeList.contains(bom.getSubCode() + "/" + bom.getSubModel())) { |
| | |
| | | material.setUnit(bom.getUnit()); |
| | | material.setUpUserId(userId); |
| | | |
| | | materialList.add(material); |
| | | newMaterialList.add(material); |
| | | } else { //物料已经存在的 |
| | | // 物料历史表是为了存储物料的历史图片和dwg图纸 |
| | | Material material = new Material(); |
| | | if (bom.getPictureUrl() != null) { |
| | | material.setPictureUrl(bom.getPictureUrl()); |
| | |
| | | } |
| | | } |
| | | //对新增到物料表中的物料,根据 物料编码+物料型号 进行去重处理 |
| | | materialList = materialList.stream().filter(distinctByKey(m->m.getSubCode()+"/"+m.getSubModel())).collect(Collectors.toList()); |
| | | newMaterialList = newMaterialList.stream().filter(distinctByKey(m->m.getSubCode()+"/"+m.getSubModel())).collect(Collectors.toList()); |
| | | |
| | | //母料是否存在 |
| | | Material materialDB = mService.getByCodeAndModel(product.getParentCode(), product.getParentModel()); |
| | |
| | | material.setStatus(1); |
| | | material.setUpUserId(userId); |
| | | |
| | | materialList.add(material); |
| | | newMaterialList.add(material); |
| | | } |
| | | if(materialList.size()!=0) { |
| | | mService.insertBatch(materialList); |
| | | if(newMaterialList.size()!=0) { |
| | | mService.insertBatch(newMaterialList); |
| | | } |
| | | if(materialUpdateList.size()!=0) { |
| | | mService.updateDwgUrlAndPicUrl(materialUpdateList); |
| | |
| | | bomHistoryList.add(bomHistory); |
| | | }); |
| | | pbhService.insertBatch(bomHistoryList); |
| | | |
| | | //插入到物料历史表的, |
| | | // 包含新物料包含图纸图片的, |
| | | // 也包含旧物料包含图纸图片的 |
| | | if(newMaterialList.size()>0){ |
| | | for (Material material : newMaterialList) { |
| | | //存在图纸或者图片,就插入历史 |
| | | if(material.getDwgUrl()!=null || material.getPictureUrl()!=null) { |
| | | MaterialHistory materialHistory = new MaterialHistory(); |
| | | materialHistory.setPictureUrl(material.getPictureUrl()); |
| | | materialHistory.setProductId(productHistory.getId()); |
| | | materialHistory.setDwgUrl(material.getDwgUrl()); |
| | | materialHistory.setUpUserId(userId.intValue()); |
| | | materialHistory.setCreateTime(date); |
| | | materialHistory.setMaterialId(material.getId()); |
| | | materialHistoryList.add(materialHistory); |
| | | } |
| | | } |
| | | } |
| | | if(materialUpdateList.size()>0) { |
| | | //更新物料图纸图片的同时,添加新的图纸图片信息到物料历史表中 |
| | | List<MaterialHistory> materialHistoryList = new LinkedList<>(); |
| | | for (Material material : materialUpdateList) { |
| | | MaterialHistory materialHistory = new MaterialHistory(); |
| | | materialHistory.setPictureUrl(material.getPictureUrl()); |
| | |
| | | } |
| | | materialHistoryList.add(materialHistory); |
| | | } |
| | | } |
| | | if(materialHistoryList.size()>0) { |
| | | materialHistoryService.addBatch(materialHistoryList); |
| | | } |
| | | } |