From d2119be0539292e0885ca0670e791fd69ba1f875 Mon Sep 17 00:00:00 2001 From: zhangherong <571457620@qq.com> Date: 星期四, 10 七月 2025 10:02:46 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentServiceImpl.java | 6 ++ lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/request/EamEquipmentQuery.java | 5 + lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/IEamBaseRepairDepartService.java | 8 ++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamMaintenanceStandardService.java | 2 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/BaseFactoryServiceImpl.java | 100 ++++++++++++++++++++++++++++----- lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/EamBaseRepairDepartImpl.java | 24 ++++++++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamEquipmentController.java | 12 +++ lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamEquipment.java | 5 + lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamMaintenanceStandardServiceImpl.java | 5 + 9 files changed, 144 insertions(+), 23 deletions(-) diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamEquipment.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamEquipment.java index 2e1ec29..93a5b14 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamEquipment.java +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamEquipment.java @@ -162,7 +162,7 @@ /** * 缁翠慨鐝粍 */ - @Excel(name = "缁翠慨鐝粍", width = 15, orderNum = "10",dictTable = "eam_base_repair_depart",dicText = "depart_name",dicCode = "org_code") + @Excel(name = "缁翠慨鐝粍", width = 15, orderNum = "10") @ApiModelProperty(value = "缁翠慨鐝粍") @Dict(dictTable = "eam_base_repair_depart",dicText = "depart_name",dicCode = "org_code") private String repairDepartOrgCode; @@ -185,8 +185,9 @@ /** * 鐏伀鍣� */ - @Excel(name = "鐏伀鍣�", width = 15, orderNum = "16") + @Excel(name = "鐏伀鍣�", width = 15, orderNum = "16",dicCode = "yn") @ApiModelProperty(value = "鐏伀鍣�") + @Dict(dicCode = "yn") private String fireExtinguisher; /** diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/request/EamEquipmentQuery.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/request/EamEquipmentQuery.java index 40293d6..7839048 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/request/EamEquipmentQuery.java +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/request/EamEquipmentQuery.java @@ -1,6 +1,8 @@ package org.jeecg.modules.eam.request; import lombok.Data; +import org.jeecg.common.aspect.annotation.Dict; +import org.jeecgframework.poi.excel.annotation.Excel; @Data public class EamEquipmentQuery { @@ -13,7 +15,8 @@ private String operationSystem; private String orgId; private String equipmentCategory; - + private String factoryOrgCode; + private String repairDepartOrgCode; private String column; private String order; } diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentServiceImpl.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentServiceImpl.java index 6134309..00ccb1a 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentServiceImpl.java +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentServiceImpl.java @@ -205,6 +205,12 @@ if (StringUtils.isNotBlank(eamEquipment.getEquipmentCategory())) { queryWrapper.like("e.equipment_category", eamEquipment.getEquipmentCategory()); } + if (StringUtils.isNotBlank(eamEquipment.getFactoryOrgCode())) { + queryWrapper.like("e.factory_org_code", eamEquipment.getFactoryOrgCode()); + } + if (StringUtils.isNotBlank(eamEquipment.getRepairDepartOrgCode())) { + queryWrapper.like("e.repair_depart_org_code", eamEquipment.getRepairDepartOrgCode()); + } if (StringUtils.isNotBlank(eamEquipment.getId())) { queryWrapper.eq("e.id", eamEquipment.getId()); } diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamEquipmentController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamEquipmentController.java index a2233c6..16f06a7 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamEquipmentController.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamEquipmentController.java @@ -29,7 +29,9 @@ //import org.jeecg.modules.mdc.entity.MdcEquipment; //import org.jeecg.modules.mdc.service.IMdcEquipmentService; import org.jeecg.modules.system.entity.BaseFactory; +import org.jeecg.modules.system.entity.EamBaseRepairDepart; import org.jeecg.modules.system.service.IBaseFactoryService; +import org.jeecg.modules.system.service.IEamBaseRepairDepartService; import org.jeecgframework.poi.excel.ExcelImportUtil; import org.jeecgframework.poi.excel.def.NormalExcelConstants; import org.jeecgframework.poi.excel.entity.ExportParams; @@ -77,7 +79,8 @@ private TranslateDictTextUtils translateDictTextUtils; @Autowired private IBaseFactoryService baseFactoryService; - + @Autowired + private IEamBaseRepairDepartService eamBaseRepairDepartService; /** * 鍒嗛〉鍒楄〃鏌ヨ * @@ -287,6 +290,13 @@ }else { eamEquipment.setFactoryOrgCode(baseFactory.getOrgCode()); } + EamBaseRepairDepart eamBaseRepairDepart=eamBaseRepairDepartService.searchCenterByKeyWord(eamEquipment.getRepairDepartOrgCode()); + if(eamBaseRepairDepart==null){ + sb.append(String.format("缁翠慨鐝粍淇℃伅[%s]涓嶅瓨鍦紝鏃犳硶瀵煎叆\n\r", eamEquipment.getRepairDepartOrgCode())); + continue; + }else { + eamEquipment.setRepairDepartOrgCode(eamBaseRepairDepart.getOrgCode()); + } EamEquipment equipment = eamEquipmentService.saveEquipment(eamEquipment); if (equipment == null) { //淇濆瓨澶辫触锛岃烦杩囨湰娆″惊鐜� diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamMaintenanceStandardService.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamMaintenanceStandardService.java index ce8b3fb..bcb724b 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamMaintenanceStandardService.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamMaintenanceStandardService.java @@ -87,7 +87,7 @@ /** * 鐐规琛ㄥ鍏ュ叆鍙� */ - public Result<?> importPointInspectionExcel(MultipartFile file); + Result<?> importPointInspectionExcel(MultipartFile file); Result<?> importMaintenanceStandard(MultipartFile file, String type); diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamMaintenanceStandardServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamMaintenanceStandardServiceImpl.java index ab2dd0c..56d59d2 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamMaintenanceStandardServiceImpl.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamMaintenanceStandardServiceImpl.java @@ -762,6 +762,7 @@ // 鍒涘缓椤圭洰璇︽儏 EamMaintenanceStandardDetail detail = new EamMaintenanceStandardDetail(); detail.setStandardId(standard.getId()); + detail.setItemCode(Integer.parseInt(getCellStringValue(row.getCell(0)))); detail.setItemName(getCellStringValue(row.getCell(1))); detail.setItemCategory(itemCategory); @@ -1044,15 +1045,17 @@ if (!items.isEmpty()) { items.remove(0); } - // 2. 涓虹己澶遍儴浣嶇殑鏁版嵁濉厖鍓嶄竴鏉$殑淇濆吇閮ㄤ綅 String lastPart = ""; + int i =1; for (EamMaintenanceStandardDetail item : items) { + item.setItemCode(i); if (item.getItemPart() != null && !item.getItemPart().isEmpty()) { lastPart = item.getItemPart(); } else if (!lastPart.isEmpty()) { item.setItemPart(lastPart); } + i++; } } } diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/IEamBaseRepairDepartService.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/IEamBaseRepairDepartService.java index 7d43f89..edbd45d 100644 --- a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/IEamBaseRepairDepartService.java +++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/IEamBaseRepairDepartService.java @@ -63,6 +63,12 @@ * 鏍规嵁鐢ㄦ埛id鑾峰彇浜х嚎涓嬫媺鏍戦�夐」 */ List<RepairDepartIdModel> loadMaintainDepartTreeOptions(String userId); + + + /** + * 鏍规嵁鍏抽敭瀛楄幏鍙栦腑蹇冩暟鎹� + */ + EamBaseRepairDepart searchCenterByKeyWord(String keyWord); // // /** // * 閫掑綊鏌ヨ鎵�鏈夊瓙鑺傜偣 @@ -89,5 +95,5 @@ // * @return // */ // EamBaseRepairDepart findMaintainDepartList(String equipmentId); - + } diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/BaseFactoryServiceImpl.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/BaseFactoryServiceImpl.java index 084bb65..d1faf69 100644 --- a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/BaseFactoryServiceImpl.java +++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/BaseFactoryServiceImpl.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.commons.lang3.StringUtils; import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.constant.FillRuleConstant; @@ -110,7 +111,7 @@ if (keyWord.contains("/")) { return searchByHierarchy(keyWord); } else { - return searchByCode(keyWord); + return searchByCodeOrName(keyWord); } } @@ -118,27 +119,85 @@ String[] levels = path.split("/"); int depth = levels.length; - // 妫�鏌ュ眰绾ф繁搴� + // 鏀寔澶氱鏍煎紡锛氫腑蹇�/宸ュ尯銆佷腑蹇�/宸ユ銆佷腑蹇�/宸ュ尯/宸ユ if (depth < 2 || depth > 3) { - return null; // 鏃犳晥鐨勫眰绾ф繁搴� + return null; } - // 鏌ヨ绗竴绾т腑蹇� - BaseFactory center = findFactory(levels[0], 1, null); - if (center == null) return null; + // 浠庡簳灞傚紑濮嬫煡璇細鏈�鍚庝竴绾у彲鑳芥槸宸ュ尯鎴栧伐娈� + String lastName = levels[depth - 1]; + BaseFactory lastLevel = searchForLastLevel(lastName); + if (lastLevel == null) return null; - // 鏌ヨ绗簩绾у伐鍖� - BaseFactory workArea = findFactory(levels[1], null, center.getId()); - if (workArea == null || depth == 2) return workArea; - - // 鏌ヨ绗笁绾у伐娈� - return findFactory(levels[2], null, workArea.getId()); + return validatePath(levels, lastLevel); } - private BaseFactory searchByCode(String code) { + private BaseFactory validatePath(String[] levels, BaseFactory lastLevel) { + if (levels.length == 2) { + // 涓績/宸ュ尯 鎴� 涓績/宸ユ + BaseFactory center = findParentCenter(lastLevel); + if (center != null && + center.getFactoryName().equals(levels[0]) && + ("1").equals(center.getFactoryCategory())) { + return lastLevel; + } + } else { + // 涓績/宸ュ尯/宸ユ + if (!("3").equals(lastLevel.getFactoryCategory())) return null; + + BaseFactory workArea = getById(lastLevel.getParentId()); + if (workArea == null || + !("2").equals(workArea.getFactoryCategory())) return null; + + BaseFactory center = getById(workArea.getParentId()); + if (center == null || + !("1").equals(center.getFactoryCategory())) return null; + + if (workArea.getFactoryName().equals(levels[1]) && + center.getFactoryName().equals(levels[0])) { + return lastLevel; + } + } + return null; + } + + private BaseFactory searchForLastLevel(String name) { + // 鍏堝皾璇曟煡璇㈠伐娈碉紙绫诲埆3锛� + BaseFactory workshop = findFactory(name, 3, null); + if (workshop != null) return workshop; + + // 濡傛灉娌℃湁鎵惧埌宸ユ锛屽皾璇曟煡璇㈠伐鍖猴紙绫诲埆2锛� + return findFactory(name, 2, null); + } + + private BaseFactory findParentCenter(BaseFactory entity) { + if (("1").equals(entity.getFactoryCategory())) { + return entity; // 鏈韩灏辨槸涓績 + } + + BaseFactory parent = getById(entity.getParentId()); + if (parent == null) return null; + + if (("1").equals(parent.getFactoryCategory())) { + return parent; // 鐩存帴鐖剁骇鏄腑蹇� + } + + // 濡傛灉鐖剁骇涓嶆槸涓績锛屽皾璇曟壘鐖剁骇鐨勭埗绾� + return getById(parent.getParentId()); + } + + private BaseFactory searchByCodeOrName(String keyword) { + // 浣跨敤鍒嗛〉鏂瑰紡鍏煎SQL Server LambdaQueryWrapper<BaseFactory> query = new LambdaQueryWrapper<>(); - query.like(BaseFactory::getFactoryCode, code); - return this.baseMapper.selectOne(query); // 浣跨敤selectOne閬垮厤澶氫釜缁撴灉 + query.and(q -> q.eq(BaseFactory::getFactoryName, keyword) + .or() + .like(BaseFactory::getFactoryCode, keyword)); + + // 浣跨敤鍒嗛〉鏌ヨ鑾峰彇绗竴鏉¤褰� + Page<BaseFactory> page = new Page<>(1, 1); + Page<BaseFactory> resultPage = baseMapper.selectPage(page, query); + + return resultPage.getRecords().isEmpty() ? null : resultPage.getRecords().get(0); } private BaseFactory findFactory(String name, Integer category, String parentId) { @@ -148,7 +207,16 @@ if (category != null) query.eq(BaseFactory::getFactoryCategory, category); if (parentId != null) query.eq(BaseFactory::getParentId, parentId); - return this.baseMapper.selectOne(query); + // 浣跨敤鍒嗛〉鏂瑰紡鍏煎SQL Server + Page<BaseFactory> page = new Page<>(1, 1); + Page<BaseFactory> resultPage = baseMapper.selectPage(page, query); + + return resultPage.getRecords().isEmpty() ? null : resultPage.getRecords().get(0); + } + + private BaseFactory getById(String id) { + if (StringUtils.isBlank(id)) return null; + return baseMapper.selectById(id); } /** diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/EamBaseRepairDepartImpl.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/EamBaseRepairDepartImpl.java index 6f2db32..0034b41 100644 --- a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/EamBaseRepairDepartImpl.java +++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/EamBaseRepairDepartImpl.java @@ -309,4 +309,28 @@ } } + /** + * 鏍规嵁鍏抽敭瀛楄幏鍙栦腑蹇冩暟鎹� + */ + @Override + public EamBaseRepairDepart searchCenterByKeyWord(String keyWord) { + if (StringUtils.isBlank(keyWord)) { + return null; + } + // 鍏堟寜鍚嶇О鏌ヨ + LambdaQueryWrapper<EamBaseRepairDepart> query = new LambdaQueryWrapper<>(); + query.eq(EamBaseRepairDepart::getDelFlag, CommonConstant.DEL_FLAG_0.toString()); + query.eq(EamBaseRepairDepart::getDepartName, keyWord); + EamBaseRepairDepart result = this.baseMapper.selectOne(query); + if (result != null) { + return result; + } + + // 鍐嶆寜缂栫爜鏌ヨ + query = new LambdaQueryWrapper<>(); + query.eq(EamBaseRepairDepart::getDelFlag, CommonConstant.DEL_FLAG_0.toString()); + query.eq(EamBaseRepairDepart::getDepartCode, keyWord); + return this.baseMapper.selectOne(query); + } + } -- Gitblit v1.9.3