diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/authDummy/controller/AuthDummyInventoryInfoEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/authDummy/controller/AuthDummyInventoryInfoEOController.java index cc70ef79a..a08f4af17 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/authDummy/controller/AuthDummyInventoryInfoEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/authDummy/controller/AuthDummyInventoryInfoEOController.java @@ -236,7 +236,6 @@ public class AuthDummyInventoryInfoEOController extends JeroController acquireAdd(@RequestBody JSONObject json) { - this.authDummyInventoryInfoEOService.acquireAdd(json); - return Result.OK("调取成功!"); + return this.authDummyInventoryInfoEOService.acquireAdd(json); } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/authDummy/service/IAuthDummyInventoryInfoEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/authDummy/service/IAuthDummyInventoryInfoEOService.java index 5b1281004..4bbb55bc5 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/authDummy/service/IAuthDummyInventoryInfoEOService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/authDummy/service/IAuthDummyInventoryInfoEOService.java @@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONObject; import com.jero.common.api.vo.Result; import com.jero.modules.authDummy.entity.AuthDummyInventoryInfoEO; import com.baomidou.mybatisplus.extension.service.IService; +import com.jero.modules.project.entity.ProjectCertificationInventoryEO; import com.jero.modules.system.entity.SysCategory; import org.springframework.web.multipart.MultipartFile; @@ -141,5 +142,7 @@ public interface IAuthDummyInventoryInfoEOService extends IService infoListCopy); - void acquireAdd(JSONObject json); + Result acquireAdd(JSONObject json); + + List dataUniqueCheck(List addList, String cut, List result, String authDummyInventoryBaseId); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/authDummy/service/impl/AuthDummyInventoryInfoEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/authDummy/service/impl/AuthDummyInventoryInfoEOServiceImpl.java index ccc0b9946..b0475e591 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/authDummy/service/impl/AuthDummyInventoryInfoEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/authDummy/service/impl/AuthDummyInventoryInfoEOServiceImpl.java @@ -1074,33 +1074,43 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl batchAdd(JSONObject json) { + String serialNumber = json.getString("serialNumber"); + String cut = json.getString("cut"); + String wvtaId = json.getString("wvtaId"); + String dutyTerritory = json.getString("dutyTerritory"); + String bussDocumentLibraryId = json.getString("bussDocumentLibraryId"); + String authDummyInventoryBaseId = json.getString("authDummyInventoryBaseId"); + + List result = new ArrayList<>(); + if(StringUtils.equals(cut,CutEnum.CN.getValue())){ + result.add("添加成功!"); + }else { + result.add("Successfully added!"); + } + + List authDummyInventoryInfoEOList = new ArrayList<>(); + JSONArray dataList = json.getJSONArray("dataList"); + AuthDummyInventoryInfoEO authDummyInventoryInfoEO = null; + for (Object data : dataList) { + authDummyInventoryInfoEO = JSONObject.parseObject(JSONObject.toJSONString(data), AuthDummyInventoryInfoEO.class); + authDummyInventoryInfoEO.setSerialNumber(serialNumber); + authDummyInventoryInfoEO.setWvtaId(wvtaId); + authDummyInventoryInfoEO.setBussDocumentLibraryId(bussDocumentLibraryId); + authDummyInventoryInfoEO.setDutyTerritory(dutyTerritory); + authDummyInventoryInfoEO.setAuthDummyInventoryBaseId(authDummyInventoryBaseId); + authDummyInventoryInfoEOList.add(authDummyInventoryInfoEO); + } + + List saveDataList = this.dataUniqueCheck(authDummyInventoryInfoEOList, cut, result, authDummyInventoryBaseId); + try { - String serialNumber = json.getString("serialNumber"); - String wvtaId = json.getString("wvtaId"); - String dutyTerritory = json.getString("dutyTerritory"); - String bussDocumentLibraryId = json.getString("bussDocumentLibraryId"); - String authDummyInventoryBaseId = json.getString("authDummyInventoryBaseId"); - - List authDummyInventoryInfoEOList = new ArrayList<>(); - JSONArray dataList = json.getJSONArray("dataList"); - AuthDummyInventoryInfoEO authDummyInventoryInfoEO = null; - for (Object data : dataList) { - authDummyInventoryInfoEO = JSONObject.parseObject(JSONObject.toJSONString(data), AuthDummyInventoryInfoEO.class); - authDummyInventoryInfoEO.setSerialNumber(serialNumber); - authDummyInventoryInfoEO.setWvtaId(wvtaId); - authDummyInventoryInfoEO.setBussDocumentLibraryId(bussDocumentLibraryId); - authDummyInventoryInfoEO.setDutyTerritory(dutyTerritory); - authDummyInventoryInfoEO.setAuthDummyInventoryBaseId(authDummyInventoryBaseId); - authDummyInventoryInfoEOList.add(authDummyInventoryInfoEO); - } - - if(CollectionUtils.isNotEmpty(authDummyInventoryInfoEOList)){ - this.saveBatch(authDummyInventoryInfoEOList); + if(CollectionUtils.isNotEmpty(saveDataList)){ + this.saveBatch(saveDataList); //更新log LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); String username = sysUser.getUsername(); - String serialNumber1 = authDummyInventoryInfoEOList.stream().map(e->e.getSerialNumber()).collect(Collectors.joining(",")); + String serialNumber1 = saveDataList.stream().map(e->e.getSerialNumber()).collect(Collectors.joining(",")); String contentLog = username+"向清单中添加了“"+serialNumber1+"”"; String enContentLog = username+" added “"+serialNumber1+"” to the list."; authDummyLogService.updateLog(contentLog, authDummyInventoryInfoEO.getAuthDummyInventoryBaseId(),CutEnum.CN.getValue()); @@ -1109,7 +1119,7 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl acquireAdd(JSONObject json) { String authDummyInventoryBaseId = json.getString("authDummyInventoryBaseId"); String ids = json.getString("ids"); String cut = json.getString("cut"); + List result = new ArrayList<>(); + if(StringUtils.equals(cut,CutEnum.CN.getValue())){ + result.add("调取成功!"); + }else { + result.add("Successfully retrieved!"); + } //检查虚拟清单是否存在 QueryWrapper baseQueryWrap = new QueryWrapper<>(); @@ -1558,7 +1574,10 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl saveDataList = this.dataUniqueCheck(addList, cut, result, authDummyInventoryBaseId); + + this.saveBatch(saveDataList); //更新log LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); @@ -1576,5 +1595,60 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl dataUniqueCheck(List addList, String cut, List result, String authDummyInventoryBaseId) { + List adiiSaveList = new ArrayList<>(); + + QueryWrapper pciQueryWrap = new QueryWrapper<>(); + pciQueryWrap.lambda().eq(AuthDummyInventoryInfoEO::getAuthDummyInventoryBaseId,authDummyInventoryBaseId); + List allDataList = this.list(pciQueryWrap); + + // 重复数据数组 + List duplicateDataList = allDataList.stream().filter(data -> { + boolean flag = false; + for (AuthDummyInventoryInfoEO aiiEo : addList) { + boolean categoryFlag = StringUtils.equals(aiiEo.getCategory(), data.getCategory()); + boolean inspectionItemFlag = StringUtils.equals(aiiEo.getInspectionItem(), data.getInspectionItem()); + boolean configItemFlag = StringUtils.equals(aiiEo.getConfigItem(), data.getConfigItem()); + boolean serialNumberFlag = StringUtils.equals(aiiEo.getSerialNumber(), data.getSerialNumber()); + boolean dutyTerritoryFlag = StringUtils.equals(aiiEo.getDutyTerritory(), data.getDutyTerritory()); + // 类别+检验项目+配置项+编号+责任领域 作为唯一检验 + if(categoryFlag && inspectionItemFlag && configItemFlag && serialNumberFlag && dutyTerritoryFlag){ + flag = true; + } + } + return flag; + }).collect(Collectors.toList()); + if(CollectionUtils.isNotEmpty(duplicateDataList)){ + if (StringUtils.equals(cut, CutEnum.CN.getValue())) { + result.add("您所选的数据中包含当前项目中已包含的条目信息,已为您过滤添加。"); + }else { + result.add("The data you have selected contains item information already included in the current project, which has been filtered and added for you."); + } + } + + // 过滤重复的数据 + adiiSaveList = addList.stream().filter(aiiEo -> { + boolean flag = true; + for (AuthDummyInventoryInfoEO allData : allDataList) { + boolean categoryFlag = StringUtils.equals(aiiEo.getCategory(), allData.getCategory()); + boolean inspectionItemFlag = StringUtils.equals(aiiEo.getInspectionItem(), allData.getInspectionItem()); + boolean configItemFlag = StringUtils.equals(aiiEo.getConfigItem(), allData.getConfigItem()); + boolean serialNumberFlag = StringUtils.equals(aiiEo.getSerialNumber(), allData.getSerialNumber()); + boolean dutyTerritoryFlag = StringUtils.equals(aiiEo.getDutyTerritory(), allData.getDutyTerritory()); + // 类别+检验项目+配置项+编号+责任领域 作为唯一检验 + if(categoryFlag && inspectionItemFlag && configItemFlag && serialNumberFlag && dutyTerritoryFlag){ + flag = false; + break; + } + } + return flag; + }).collect(Collectors.toList()); + + return adiiSaveList; } }