From 8554335cf08aa31e42f88eb6f51d8542440975bf Mon Sep 17 00:00:00 2001 From: whycxzp <glperry@163.com> Date: 星期四, 26 六月 2025 20:29:51 +0800 Subject: [PATCH] 设备器件excel导入,追加或新增 --- src/main/java/com/whyc/mapper/DeviceSpareMapper.java | 2 ++ src/main/java/com/whyc/service/DeviceSpareService.java | 34 +++++++++++++++++++++++----------- src/main/resources/mapper/DeviceSpareMapper.xml | 6 ++++++ 3 files changed, 31 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/whyc/mapper/DeviceSpareMapper.java b/src/main/java/com/whyc/mapper/DeviceSpareMapper.java index ddd3748..61d1c73 100644 --- a/src/main/java/com/whyc/mapper/DeviceSpareMapper.java +++ b/src/main/java/com/whyc/mapper/DeviceSpareMapper.java @@ -8,4 +8,6 @@ void outBound(List<DeviceSpare> spareList); + void updateQuantityAndPictureBatch(List<DeviceSpare> spareListUpdate); + } diff --git a/src/main/java/com/whyc/service/DeviceSpareService.java b/src/main/java/com/whyc/service/DeviceSpareService.java index e1c9f05..c8060d0 100644 --- a/src/main/java/com/whyc/service/DeviceSpareService.java +++ b/src/main/java/com/whyc/service/DeviceSpareService.java @@ -70,10 +70,10 @@ if (file != null && file.size() > 0) { for (int i = 0; i < file.size(); i++) { MultipartFile multipartFile = file.get(i); - String fileName = multipartFile.getOriginalFilename(); + //String fileName = multipartFile.getOriginalFilename(); //灏唂ileName涓彲鑳藉瓨鍦ㄧ殑,鍘绘帀 - fileName = fileName.replace(",",""); - String filePath = fileDirPath + File.separator + timeFormat+"_"+fileName; + //fileName = fileName.replace(",",""); + String filePath = fileDirPath + File.separator + spare.getName()+"_"+spare.getModel()+"_"+spare.getVersion() + "_" + (i+1) + "_"+ timeFormat+".png"; multipartFile.transferTo(new File(filePath)); String split = "pis_file"+File.separator+"deviceSpare"; @@ -236,7 +236,7 @@ } - //绗竷鍒椾负鍥剧墖-娴姩寮忓浘鐗� TODO 寰呭鐞� 澶勭悊宸插瓨鍦ㄧ殑鐗╂枡 + //绗竷鍒椾负鍥剧墖-娴姩寮忓浘鐗� //鑾峰彇缁樺浘瀵硅薄涓殑鎵�鏈夊浘褰� XSSFDrawing drawing = (XSSFDrawing) sheet.getDrawingPatriarch(); if (drawing == null) { @@ -262,7 +262,7 @@ if (!fileDir.exists()) { fileDir.mkdirs(); } - String filePath = fileDirPath + File.separator + timeFormat+"_"+spare.getName()+"_"+spare.getModel()+"_"+spare.getVersion()+".png"; + String filePath = fileDirPath + File.separator + spare.getName()+"_"+spare.getModel()+"_"+spare.getVersion() + "_"+ timeFormat+".png"; // 淇濆瓨鍥剧墖鍒版湰鍦� try (FileOutputStream fos = new FileOutputStream(filePath)) { @@ -281,6 +281,7 @@ //鏌ヨ搴撲腑鐨勬墍鏈夎澶囧櫒浠� List<DeviceSpare> deviceSpareListInDB = mapper.selectList((Wrapper<DeviceSpare>) CommonUtil.nullObject); for (DeviceSpare spare : spareList){ + boolean isExist = false; for (DeviceSpare spareInDB : deviceSpareListInDB){ if (spare.getName().equals(spareInDB.getName()) && spare.getModel().equals(spareInDB.getModel()) @@ -289,22 +290,33 @@ && spare.getType().equals(spareInDB.getType()) && spare.getSupplier().equals(spareInDB.getSupplier()) ){ + isExist = true; spare.setId(spareInDB.getId()); spare.setQuantity(spareInDB.getQuantity()+spare.getQuantity()); if (spare.getPictureUrl() != null && spareInDB.getPictureUrl()!=null){ spare.setPictureUrl(spareInDB.getPictureUrl()+","+spare.getPictureUrl()); } spareListUpdate.add(spare); - - }else{ - spareListNew.add(spare); } } + if(!isExist){ + //涓嶅瓨鍦ㄥ垯鏂板 + spareListNew.add(spare); + } } - //鏇存柊TODO + //鏇存柊 + if(spareListUpdate.size()>0) { + updateQuantityAndPictureBatch(spareListUpdate); + } + //鏂板 + if(spareListNew.size()>0) { + addBatch(spareListNew); + } - //addBatch(spareList); + return new Response().setII(1,"瀵煎叆瀹屾垚"); + } - return null; + private void updateQuantityAndPictureBatch(List<DeviceSpare> spareListUpdate) { + mapper.updateQuantityAndPictureBatch(spareListUpdate); } } diff --git a/src/main/resources/mapper/DeviceSpareMapper.xml b/src/main/resources/mapper/DeviceSpareMapper.xml index 36a7fe5..761f7ea 100644 --- a/src/main/resources/mapper/DeviceSpareMapper.xml +++ b/src/main/resources/mapper/DeviceSpareMapper.xml @@ -13,4 +13,10 @@ and supplier = #{item.supplier} </foreach> </update> + <update id="updateQuantityAndPictureBatch"> + <foreach collection="list" item="item" separator=";"> + update web_site.tb_device_spare set quantity = #{item.quantity},picture_url = #{item.pictureUrl} + where id = #{item.id} + </foreach> + </update> </mapper> \ No newline at end of file -- Gitblit v1.9.1