From 3500a68dfdf21f7b281333bf302d1e6886076a5c Mon Sep 17 00:00:00 2001 From: songguoqiang <765017469@qq.com> Date: Tue, 14 May 2024 11:52:35 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=87=E4=BB=B6=E5=8F=B0=E8=B4=A6=E4=BB=A5?= =?UTF-8?q?=E5=8F=8A=E5=BA=93=E4=BD=8D=E5=AF=BC=E5=85=A5=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../itemaccounts/ItemAccountsController.java | 2 +- .../itemaccounts/vo/ItemAccountsErrorVO.java | 3 +++ .../location/vo/LocationImportExcelVo.java | 2 +- .../itemaccounts/ItemAccountsService.java | 2 +- .../itemaccounts/ItemAccountsServiceImpl.java | 23 +++++++++++++++---- 5 files changed, 24 insertions(+), 8 deletions(-) diff --git a/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/controller/itemaccounts/ItemAccountsController.java b/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/controller/itemaccounts/ItemAccountsController.java index 77a4eb0..eaca253 100644 --- a/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/controller/itemaccounts/ItemAccountsController.java +++ b/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/controller/itemaccounts/ItemAccountsController.java @@ -181,7 +181,7 @@ public class ItemAccountsController { @RequestParam(value = "updatePart", required = false, defaultValue = "false") Boolean updatePart) throws Exception { List list = ExcelUtils.read(file, ItemAccountsImportExcelVO.class); - List errorList = itemAccountsService.importItemAccountsList(list, mode, updatePart); + List errorList = itemAccountsService.importItemAccountsList(list, mode, updatePart); Map returnMap = new HashMap<>(); returnMap.put("errorCount", errorList.size()); diff --git a/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/controller/itemaccounts/vo/ItemAccountsErrorVO.java b/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/controller/itemaccounts/vo/ItemAccountsErrorVO.java index 91a17ec..4d3a375 100644 --- a/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/controller/itemaccounts/vo/ItemAccountsErrorVO.java +++ b/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/controller/itemaccounts/vo/ItemAccountsErrorVO.java @@ -14,4 +14,7 @@ public class ItemAccountsErrorVO extends ItemAccountsImportExcelVO { @ExcelProperty(value = "导入说明", index = 1) private String importRemark; + + @ExcelProperty(value = "行号", index = 2) + private String rowNumber; } diff --git a/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/controller/location/vo/LocationImportExcelVo.java b/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/controller/location/vo/LocationImportExcelVo.java index e531c59..1f37c0c 100644 --- a/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/controller/location/vo/LocationImportExcelVo.java +++ b/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/controller/location/vo/LocationImportExcelVo.java @@ -16,7 +16,7 @@ import java.math.BigDecimal; @Accessors(chain = false) // 设置 chain = false,避免用户导入有问题 public class LocationImportExcelVo { - @ExcelProperty("库位编码") + @ExcelProperty("库位编号") @ExcelValid(message = "必填") @ColumnWidth(value = 20) private String number; diff --git a/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/service/itemaccounts/ItemAccountsService.java b/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/service/itemaccounts/ItemAccountsService.java index 2e986d6..7ebd0b8 100644 --- a/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/service/itemaccounts/ItemAccountsService.java +++ b/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/service/itemaccounts/ItemAccountsService.java @@ -108,7 +108,7 @@ public interface ItemAccountsService { * @param updatePart 是否支持更新 * @return 导入结果 */ - public List importItemAccountsList(List datas, Integer mode, boolean updatePart); + public List importItemAccountsList(List datas, Integer mode, boolean updatePart); /** * 获得备件台账分页 diff --git a/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/service/itemaccounts/ItemAccountsServiceImpl.java b/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/service/itemaccounts/ItemAccountsServiceImpl.java index 1ebe4ec..6c2b83b 100644 --- a/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/service/itemaccounts/ItemAccountsServiceImpl.java +++ b/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/service/itemaccounts/ItemAccountsServiceImpl.java @@ -7,14 +7,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.win.framework.common.exception.util.ServiceExceptionUtil; import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.PageResult; -import com.win.module.eam.controller.item.vo.ItemBaseVO; import com.win.module.eam.controller.itemaccounts.vo.*; import com.win.module.eam.controller.transaction.vo.TransactionCreateReqVO; import com.win.module.eam.convert.itemaccounts.ItemAccountsConvert; -import com.win.module.eam.dal.dataobject.devicemaintenancejob.DeviceMaintenanceJobMainDO; import com.win.module.eam.dal.dataobject.item.ItemDO; import com.win.module.eam.dal.dataobject.itemaccounts.ItemAccountsDO; -import com.win.module.eam.dal.dataobject.iteminlocation.ItemInLocationDO; import com.win.module.eam.dal.dataobject.itemlocationreplace.ItemLocationReplaceDO; import com.win.module.eam.dal.dataobject.itemnewturnin.ItemNewTurnInDO; import com.win.module.eam.dal.dataobject.location.LocationDO; @@ -39,6 +36,7 @@ import java.util.ArrayList; import java.util.Collection; import java.util.List; import java.util.Map; +import java.util.concurrent.atomic.AtomicInteger; import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.win.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; @@ -344,14 +342,24 @@ public class ItemAccountsServiceImpl implements ItemAccountsService { @Override @Transactional - public List importItemAccountsList(List datas, Integer mode, boolean updatePart) { + public List importItemAccountsList(List datas, Integer mode, boolean updatePart) { //备件编号+库位编码+类型唯一 if (CollUtil.isEmpty(datas)) { throw exception(ITEM_NEW_TURN_IN_IMPORT_LIST_IS_EMPTY);//导入数据不能为空 } + AtomicInteger count = new AtomicInteger(); List list = new ArrayList<>(); - List errorList = new ArrayList<>(); + List errorList = new ArrayList<>(); datas.forEach(item -> { + count.getAndIncrement(); + if(item.getItemNumber()==null|| item.getItemNumber().trim().isEmpty() || item.getLocationNumber()==null|| item.getLocationNumber().trim().isEmpty() || item.getType()==null|| item.getType().trim().isEmpty()){//备件号为空 + ItemAccountsErrorVO convert = ItemAccountsConvert.INSTANCE.convert(item); + convert.setImportStatus("失败"); + convert.setImportRemark("数据为空"); + convert.setRowNumber(String.valueOf(count)); + errorList.add(convert); + return; + } //判断该备件是否在备件基础数据中无则报错 QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("number",item.getItemNumber()); @@ -361,6 +369,7 @@ public class ItemAccountsServiceImpl implements ItemAccountsService { ItemAccountsErrorVO convert = ItemAccountsConvert.INSTANCE.convert(item); convert.setImportStatus("失败"); convert.setImportRemark("该备件在基础数据中不存在"); + convert.setRowNumber(String.valueOf(count)); errorList.add(convert); return; } @@ -370,6 +379,7 @@ public class ItemAccountsServiceImpl implements ItemAccountsService { ItemAccountsErrorVO convert = ItemAccountsConvert.INSTANCE.convert(item); convert.setImportStatus("失败"); convert.setImportRemark("该库位在基础数据中不存在"); + convert.setRowNumber(String.valueOf(count)); errorList.add(convert); return; } @@ -379,6 +389,7 @@ public class ItemAccountsServiceImpl implements ItemAccountsService { ItemAccountsErrorVO convert = ItemAccountsConvert.INSTANCE.convert(item); convert.setImportStatus("失败"); convert.setImportRemark("该库位已存在其他类型数据"); + convert.setRowNumber(String.valueOf(count)); errorList.add(convert); return; } @@ -387,6 +398,7 @@ public class ItemAccountsServiceImpl implements ItemAccountsService { ItemAccountsErrorVO convert = ItemAccountsConvert.INSTANCE.convert(item); convert.setImportStatus("失败"); convert.setImportRemark("数据为空"); + convert.setRowNumber(String.valueOf(count)); errorList.add(convert); } ItemAccountsDO itemAccountsDO = validateItemAndTypeAndLocation(item.getItemNumber(), item.getType(), item.getLocationNumber());//查询重复数据 @@ -455,6 +467,7 @@ public class ItemAccountsServiceImpl implements ItemAccountsService { ItemAccountsErrorVO convert = ItemAccountsConvert.INSTANCE.convert(item); convert.setImportStatus("失败"); convert.setImportRemark("数据错误"); + convert.setRowNumber(String.valueOf(count)); errorList.add(convert); } });