| | |
| | | } else if (j != 15) { |
| | | cellValue = cell.getStringCellValue(); |
| | | } |
| | | if(cellValue!=null) { |
| | | cellValue = cellValue.trim(); |
| | | } |
| | | switch (j) { |
| | | case 0: { |
| | | bom.setId(cellValueInt.intValue()); |
| | |
| | | provingFile.mkdirs(); |
| | | } |
| | | String suffix = pictureData.suggestFileExtension(); |
| | | String picturePath = approvingPath + File.separator + bom.getSubModel() + "." + suffix; |
| | | String picturePath = approvingPath + File.separator + bom.getSubModel() + "-bom." + suffix; |
| | | String picturePathFront = "doc_file" + File.separator + "product_submit" + File.separator + user.getName() + File.separator + dateFormat + File.separator + timeStamp + File.separator + bom.getSubModel() + "-bom." + suffix; |
| | | byte[] data = pictureData.getData(); |
| | | FileOutputStream fileOutputStream = null; |
| | |
| | | bomHistory.setProductId(his.getId()); |
| | | bomHistory.setMaterialId(bom.getMaterialId()); |
| | | bomHistory.setQuantity(bom.getQuantity()); |
| | | bomHistory.setCategory(bom.getCategory()); |
| | | bomHistory.setMaterial(bom.getMaterial()); |
| | | bomHistory.setNotes(bom.getNotes()); |
| | | bomHistory.setProducer(bom.getProducer()); |
| | | bomHistory.setSurfaceDetail(bom.getSurfaceDetail()); |
| | | bomHistory.setThickness(bom.getThickness()); |
| | | bomHistory.setSubSVersion(1); |
| | | bomHistory.setSubEVersion(1); |
| | | bomHistoryList.add(bomHistory); |
| | |
| | | materialUrlList.forEach(materialUrl -> { |
| | | String dwgName = materialUrl.substring(materialUrl.lastIndexOf(File.separator) + 1, materialUrl.length() - 4); |
| | | try { |
| | | FileCopyUtils.copy(new File(materialUrl), new File(materialDir + File.separator + dwgName + ".dwg")); |
| | | File dwgFile = new File(materialDir + File.separator + dwgName + ".dwg"); |
| | | if(!dwgFile.exists()) { |
| | | FileCopyUtils.copy(new File(materialUrl), dwgFile); |
| | | } |
| | | } catch (IOException e) { |
| | | e.printStackTrace(); |
| | | } |
| | |
| | | picUrlList.forEach(picUrl -> { |
| | | String picFullName = picUrl.substring(picUrl.lastIndexOf(File.separator) + 1); |
| | | try { |
| | | FileCopyUtils.copy(new File(picUrl), new File(materialDir + File.separator + picFullName)); |
| | | File picFile = new File(materialDir + File.separator + picFullName); |
| | | if(!picFile.exists()) { |
| | | FileCopyUtils.copy(new File(picUrl), picFile); |
| | | } |
| | | } catch (IOException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | }); |
| | | |
| | | //物料表中不存在的(依据:物料编码+物料型号),则添加到物料表中去(包含product这个物料) |
| | | //没有图纸和图片的,更新图纸和图片;有图纸和图片的,不更新图纸和图片 |
| | | 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<Material> materialUpdateList = new LinkedList<>(); |
| | | bomList.forEach(bom -> { |
| | | if (!subCodeList.contains(bom.getSubCode()+"/"+bom.getSubModel())) { |
| | | Material material = new Material(); |
| | | material.setCategory(bom.getCategory()); |
| | | material.setCreateDate(date); |
| | | material.setDwgUrl(bom.getDwgUrl()); |
| | | material.setFileUrl(bom.getFileUrl()); |
| | | material.setMaterial(bom.getMaterial()); |
| | | material.setNotes(bom.getNotes()); |
| | | material.setPictureUrl(bom.getPictureUrl()); |
| | | material.setProducer(bom.getProducer()); |
| | | // TODO 是否要更新同物料编码的老物料状态为0? |
| | | material.setStatus(1); |
| | | material.setSubCode(bom.getSubCode()); |
| | | material.setSubModel(bom.getSubModel()); |
| | | material.setSubName(bom.getSubName()); |
| | | material.setSurfaceDetail(bom.getSurfaceDetail()); |
| | | material.setThickness(bom.getThickness()); |
| | | material.setType(bom.getType()); |
| | | material.setUnit(bom.getUnit()); |
| | | |
| | | materialList.add(material); |
| | | }else{ //物料已经存在的 |
| | | Material material = new Material(); |
| | | if (bom.getPictureUrl() != null) { |
| | | material.setPictureUrl(bom.getPictureUrl()); |
| | | } |
| | | if (bom.getDwgUrl() != null) { |
| | | material.setDwgUrl(bom.getDwgUrl()); |
| | | } |
| | | if(material.getPictureUrl()!=null || material.getDwgUrl()!=null){ |
| | | material.setSubCode(bom.getSubCode()); |
| | | material.setSubModel(bom.getSubModel()); |
| | | materialUpdateList.add(material); |
| | | } |
| | | } |
| | | }); |
| | | //母料是否存在 |
| | |
| | | material.setSubCode(product.getParentCode()); |
| | | material.setSubName(product.getParentName()); |
| | | material.setSubModel(product.getParentModel()); |
| | | material.setCreateDate(date); |
| | | material.setStatus(1); |
| | | |
| | | materialList.add(material); |
| | | } |
| | | if(materialList.size()!=0) { |
| | | mService.insertBatch(materialList); |
| | | } |
| | | if(materialUpdateList.size()!=0) { |
| | | mService.updateDwgUrlAndPicUrl(materialUpdateList); |
| | | } |
| | | //更新product_history/product_bom_history/product/product_bom, |
| | | // product的主键沿用对应product_history的 |
| | |
| | | bom.setProductId(product.getId()); |
| | | bom.setMaterialId(bomMaterial.getId()); |
| | | bom.setQuantity(bomMaterial.getQuantity()); |
| | | bom.setCategory(bomMaterial.getCategory()); |
| | | bom.setMaterial(bomMaterial.getMaterial()); |
| | | bom.setNotes(bomMaterial.getNotes()); |
| | | bom.setProducer(bomMaterial.getProducer()); |
| | | bom.setSurfaceDetail(bomMaterial.getSurfaceDetail()); |
| | | bom.setThickness(bomMaterial.getThickness()); |
| | | bom.setSubVersion(1); |
| | | bom.setCreateDate(date); |
| | | |
| | |
| | | bomHistory.setProductId(productHistory.getId()); |
| | | bomHistory.setMaterialId(bomMaterial.getId()); |
| | | bomHistory.setQuantity(bomMaterial.getQuantity()); |
| | | bomHistory.setCategory(bomMaterial.getCategory()); |
| | | bomHistory.setMaterial(bomMaterial.getMaterial()); |
| | | bomHistory.setNotes(bomMaterial.getNotes()); |
| | | bomHistory.setProducer(bomMaterial.getProducer()); |
| | | bomHistory.setSurfaceDetail(bomMaterial.getSurfaceDetail()); |
| | | bomHistory.setThickness(bomMaterial.getThickness()); |
| | | bomHistory.setSubSVersion(1); |
| | | bomHistory.setSubEVersion(1); |
| | | bomHistory.setCreateDate(date); |