From 0d66cd4223c804b0a1384559f481b0c81d4e1955 Mon Sep 17 00:00:00 2001 From: zhangherong <571457620@qq.com> Date: 星期四, 03 七月 2025 15:41:32 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/EamEquipmentMapper.java | 7 + db/430设备管理数据库设计.pdma.json | 11 + lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/service/IEamBaseRepairDepartService.java | 8 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/mapper/xml/EamBaseRepairDepartUserMapper.xml | 9 + lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentServiceImpl.java | 84 ++++++++++++ lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamEquipmentService.java | 7 + lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/controller/EamBaseRepairDepartController.java | 32 ++-- lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/service/impl/EamBaseRepairDepartImpl.java | 155 +++++++++++---------- lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamEquipmentMapper.xml | 18 ++ lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/mapper/EamBaseRepairDepartUserMapper.java | 21 +++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamEquipmentController.java | 28 +++ lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamEquipment.java | 5 12 files changed, 285 insertions(+), 100 deletions(-) diff --git "a/db/430\350\256\276\345\244\207\347\256\241\347\220\206\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241.pdma.json" "b/db/430\350\256\276\345\244\207\347\256\241\347\220\206\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241.pdma.json" index a3dbefd..8c19ca9 100644 --- "a/db/430\350\256\276\345\244\207\347\256\241\347\220\206\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241.pdma.json" +++ "b/db/430\350\256\276\345\244\207\347\256\241\347\220\206\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241.pdma.json" @@ -24252,6 +24252,17 @@ "username": "sa", "customer_driver": "" } + }, + { + "defKey": "B26888BB-593E-4718-9B9C-4D842B06FAFE", + "defName": "430new", + "type": "BFC87171-C74F-494A-B7C2-76B9C55FACC9", + "properties": { + "driver_class_name": "com.microsoft.sqlserver.jdbc.SQLServerDriver", + "url": "jdbc:sqlserver://localhost:1433;DatabaseName=LXZN_TEST_430_NEW", + "password": "123", + "username": "sa" + } } ], "logicEntities": [], diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/controller/EamBaseRepairDepartController.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/controller/EamBaseRepairDepartController.java index e04b991..795d137 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/controller/EamBaseRepairDepartController.java +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/controller/EamBaseRepairDepartController.java @@ -87,22 +87,22 @@ return result; } -// @AutoLog(value = "缁翠慨閮ㄩ棬鐝粍-鏍规嵁鐢ㄦ埛id鑾峰彇浜х嚎涓嬫媺鏍戦�夐」") -// @ApiOperation(value = "缁翠慨閮ㄩ棬鐝粍-鏍规嵁鐢ㄦ埛id鑾峰彇浜х嚎涓嬫媺鏍戦�夐」", notes = "缁翠慨閮ㄩ棬鐝粍-鏍规嵁鐢ㄦ埛id鑾峰彇浜х嚎涓嬫媺鏍戦�夐」") -// @GetMapping(value = "/loadMaintainDepartTreeOptions") -// public Result<List<RepairDepartIdModel>> loadMaintainDepartTreeOptions() { -// Result<List<RepairDepartIdModel>> result = new Result<>(); -// LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); -// String userId = user.getId(); -// try { -// List<RepairDepartIdModel> list = eamBaseRepairDepartService.loadMaintainDepartTreeOptions(userId); -// result.setSuccess(true); -// result.setResult(list); -// } catch (Exception e) { -// log.error(e.getMessage(), e); -// } -// return result; -// } + @AutoLog(value = "缁翠慨閮ㄩ棬鐝粍-鏍规嵁鐢ㄦ埛id鑾峰彇浜х嚎涓嬫媺鏍戦�夐」") + @ApiOperation(value = "缁翠慨閮ㄩ棬鐝粍-鏍规嵁鐢ㄦ埛id鑾峰彇浜х嚎涓嬫媺鏍戦�夐」", notes = "缁翠慨閮ㄩ棬鐝粍-鏍规嵁鐢ㄦ埛id鑾峰彇浜х嚎涓嬫媺鏍戦�夐」") + @GetMapping(value = "/loadMaintainDepartTreeOptions") + public Result<List<RepairDepartIdModel>> loadMaintainDepartTreeOptions() { + Result<List<RepairDepartIdModel>> result = new Result<>(); + LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + String userId = user.getId(); + try { + List<RepairDepartIdModel> list = eamBaseRepairDepartService.loadMaintainDepartTreeOptions(userId); + result.setSuccess(true); + result.setResult(list); + } catch (Exception e) { + log.error(e.getMessage(), e); + } + return result; + } @AutoLog(value = "缁翠慨閮ㄩ棬鐝粍-id闆嗗悎") @ApiOperation(value = "缁翠慨閮ㄩ棬鐝粍-id闆嗗悎", notes = "缁翠慨閮ㄩ棬鐝粍-id闆嗗悎") diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/mapper/EamBaseRepairDepartUserMapper.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/mapper/EamBaseRepairDepartUserMapper.java new file mode 100644 index 0000000..75a2e3f --- /dev/null +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/mapper/EamBaseRepairDepartUserMapper.java @@ -0,0 +1,21 @@ +package org.jeecg.modules.eam.base.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; +import org.jeecg.modules.eam.base.entity.EamBaseRepairDepartUser; + +import java.util.List; + +/** + * @Author: Lius + * @CreateTime: 2025-07-01 + * @Description: + */ +public interface EamBaseRepairDepartUserMapper extends BaseMapper<EamBaseRepairDepartUser> { + + /** + * 鏍规嵁鎸囧畾鐢ㄦ埛id鏌ヨ缁翠慨閮ㄩ棬鐝粍id闆嗗悎 + */ + List<String> queryRepairDepartIdsByUserId(@Param("userId") String userId); + +} diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/mapper/xml/EamBaseRepairDepartUserMapper.xml b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/mapper/xml/EamBaseRepairDepartUserMapper.xml new file mode 100644 index 0000000..eb78982 --- /dev/null +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/mapper/xml/EamBaseRepairDepartUserMapper.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="org.jeecg.modules.eam.base.mapper.EamBaseRepairDepartUserMapper"> + + <!--鏍规嵁鎸囧畾鐢ㄦ埛id鏌ヨ浜х嚎id闆嗗悎--> + <select id="queryRepairDepartIdsByUserId" resultType="java.lang.String"> + SELECT depart_id FROM eam_base_repair_depart_user WHERE user_id = #{userId} + </select> +</mapper> \ No newline at end of file diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/service/IEamBaseRepairDepartService.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/service/IEamBaseRepairDepartService.java index 90a26bb..90ddfb6 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/service/IEamBaseRepairDepartService.java +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/service/IEamBaseRepairDepartService.java @@ -59,10 +59,10 @@ // */ // List<EamBaseRepairDepart> queryRepDepByPid(String pid); // -// /** -// * 鏍规嵁鐢ㄦ埛id鑾峰彇浜х嚎涓嬫媺鏍戦�夐」 -// */ -// List<RepairDepartIdModel> loadMaintainDepartTreeOptions(String userId); + /** + * 鏍规嵁鐢ㄦ埛id鑾峰彇浜х嚎涓嬫媺鏍戦�夐」 + */ + List<RepairDepartIdModel> loadMaintainDepartTreeOptions(String userId); // // /** // * 閫掑綊鏌ヨ鎵�鏈夊瓙鑺傜偣 diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/service/impl/EamBaseRepairDepartImpl.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/service/impl/EamBaseRepairDepartImpl.java index 38a4fe4..6df251a 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/service/impl/EamBaseRepairDepartImpl.java +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/base/service/impl/EamBaseRepairDepartImpl.java @@ -10,11 +10,14 @@ import org.jeecg.common.util.FillRuleUtil; import org.jeecg.common.util.oConvertUtils; import org.jeecg.modules.eam.base.entity.EamBaseRepairDepart; +import org.jeecg.modules.eam.base.entity.EamBaseRepairDepartUser; +import org.jeecg.modules.eam.base.mapper.EamBaseRepairDepartUserMapper; import org.jeecg.modules.eam.base.service.IEamBaseRepairDepartService; import org.jeecg.modules.eam.base.mapper.EamBaseRepairDepartMapper; import org.jeecg.modules.eam.base.model.EamBaseRepairDepartTreeModel; import org.jeecg.modules.eam.base.model.RepairDepartIdModel; import org.jeecg.modules.eam.base.util.FindsRepairDepartsChildrenUtil; +import org.jeecg.modules.system.entity.SysUser; import org.jeecg.modules.system.mapper.SysUserMapper; import org.springframework.cache.annotation.Cacheable; import org.springframework.stereotype.Service; @@ -22,6 +25,7 @@ import javax.annotation.Resource; import java.util.*; +import java.util.stream.Collectors; /** * @Author: Lius @@ -34,6 +38,9 @@ @Resource private SysUserMapper sysUserMapper; + @Resource + private EamBaseRepairDepartUserMapper repairDepartUserMapper; + /** * queryTreeList 瀵瑰簲 queryTreeList 鏌ヨ鎵�鏈夌殑缁翠慨閮ㄩ棬鐝粍鏁版嵁,浠ユ爲缁撴瀯褰㈠紡鍝嶅簲缁欏墠绔� */ @@ -45,7 +52,7 @@ query.orderByAsc(EamBaseRepairDepart::getDepartOrder); List<EamBaseRepairDepart> list = this.list(query); //璁剧疆鐢ㄦ埛id锛岃鍓嶅彴鏄剧ず -// this.setUserIdsByProList(list); + this.setUserIdsByProList(list); //璋冪敤wrapTreeDataToTreeList鏂规硶鐢熸垚鏍戠姸鏁版嵁 return FindsRepairDepartsChildrenUtil.wrapTreeDataToTreeList(list); } @@ -150,7 +157,7 @@ this.checkChildrenExists(id, idList); boolean result = this.removeByIds(idList); //鏍规嵁缁翠慨閮ㄩ棬鐝粍id鍒犻櫎鐢ㄦ埛涓庣淮淇儴闂ㄧ彮缁勫叧绯� -// repairDepartUserMapper.delete(new LambdaQueryWrapper<EamBaseRepairDepartUser>().in(EamBaseRepairDepartUser::getDepartId, idList)); + repairDepartUserMapper.delete(new LambdaQueryWrapper<EamBaseRepairDepartUser>().in(EamBaseRepairDepartUser::getDepartId, idList)); //鏍规嵁缁翠慨閮ㄩ棬鐝粍id鍒犻櫎缁翠慨閮ㄩ棬鐝粍涓庤澶囧叧绯� // repairDepartEquipmentMapper.delete(new LambdaQueryWrapper<SysMaintainDepartEquipment>().in(SysMaintainDepartEquipment::getMaintainDepartId, idList)); return result; @@ -169,7 +176,7 @@ } this.removeByIds(idList); //鏍规嵁缁翠慨閮ㄩ棬鐝粍id鍒犻櫎鐢ㄦ埛涓庣淮淇儴闂ㄧ彮缁勫叧绯� -// repairDepartUserMapper.delete(new LambdaQueryWrapper<EamBaseRepairDepartUser>().in(EamBaseRepairDepartUser::getDepartId, idList)); + repairDepartUserMapper.delete(new LambdaQueryWrapper<EamBaseRepairDepartUser>().in(EamBaseRepairDepartUser::getDepartId, idList)); //鏍规嵁缁翠慨閮ㄩ棬鐝粍id鍒犻櫎缁翠慨閮ㄩ棬鐝粍涓庤澶囧叧绯� // repairDepartEquipmentMapper.delete(new LambdaQueryWrapper<SysMaintainDepartEquipment>().in(SysMaintainDepartEquipment::getMaintainDepartId, idList)); } @@ -182,26 +189,26 @@ // return this.baseMapper.queryRepDepByPid(pid); // } // -// /** -// * 鏍规嵁鐢ㄦ埛id鑾峰彇缁翠慨閮ㄩ棬鐝粍涓嬫媺鏍戦�夐」 -// */ -// @Override -// public List<RepairDepartIdModel> loadMaintainDepartTreeOptions(String userId) { -// //鑾峰彇鎵�鏈夌淮淇儴闂ㄧ彮缁勬暟鎹� -// List<EamBaseRepairDepart> repairDepartList = this.baseMapper.selectList(new LambdaQueryWrapper<EamBaseRepairDepart>().eq(EamBaseRepairDepart::getDelFlag, CommonConstant.DEL_FLAG_0.toString()).orderByAsc(EamBaseRepairDepart::getDepartOrder)); -// //鏍规嵁鐢ㄦ埛id鑾峰彇鎷ユ湁鐨勭淮淇儴闂ㄧ彮缁勪俊鎭泦鍚� -// List<String> repairDepartIds = repairDepartUserMapper.queryRepairDepartIdsByUserId(userId); -// List<String> allMaintainDepartIds = new ArrayList<>(); -// //鎵惧埌鎵�鏈夌淮淇儴闂ㄧ彮缁刬d鐨勪笂绾d -// if (repairDepartIds != null && !repairDepartIds.isEmpty()) { -// for (String repairDepartId : repairDepartIds) { -// this.getAllMaintainDepartIds(repairDepartList, repairDepartId, allMaintainDepartIds); -// } -// } -// //杩囨护缁翠慨閮ㄩ棬鐝粍鏁版嵁 -// List<EamBaseRepairDepart> list = repairDepartList.stream().filter((EamBaseRepairDepart eamBaseRepairDepart) -> allMaintainDepartIds.contains(eamBaseRepairDepart.getId())).collect(Collectors.toList()); -// return FindsRepairDepartsChildrenUtil.wrapTreeDataToMaintainDepartIdTreeList(list); -// } + /** + * 鏍规嵁鐢ㄦ埛id鑾峰彇缁翠慨閮ㄩ棬鐝粍涓嬫媺鏍戦�夐」 + */ + @Override + public List<RepairDepartIdModel> loadMaintainDepartTreeOptions(String userId) { + //鑾峰彇鎵�鏈夌淮淇儴闂ㄧ彮缁勬暟鎹� + List<EamBaseRepairDepart> repairDepartList = this.baseMapper.selectList(new LambdaQueryWrapper<EamBaseRepairDepart>().eq(EamBaseRepairDepart::getDelFlag, CommonConstant.DEL_FLAG_0.toString()).orderByAsc(EamBaseRepairDepart::getDepartOrder)); + //鏍规嵁鐢ㄦ埛id鑾峰彇鎷ユ湁鐨勭淮淇儴闂ㄧ彮缁勪俊鎭泦鍚� + List<String> repairDepartIds = repairDepartUserMapper.queryRepairDepartIdsByUserId(userId); + List<String> allMaintainDepartIds = new ArrayList<>(); + //鎵惧埌鎵�鏈夌淮淇儴闂ㄧ彮缁刬d鐨勪笂绾d + if (repairDepartIds != null && !repairDepartIds.isEmpty()) { + for (String repairDepartId : repairDepartIds) { + this.getAllMaintainDepartIds(repairDepartList, repairDepartId, allMaintainDepartIds); + } + } + //杩囨护缁翠慨閮ㄩ棬鐝粍鏁版嵁 + List<EamBaseRepairDepart> list = repairDepartList.stream().filter((EamBaseRepairDepart eamBaseRepairDepart) -> allMaintainDepartIds.contains(eamBaseRepairDepart.getId())).collect(Collectors.toList()); + return FindsRepairDepartsChildrenUtil.wrapTreeDataToMaintainDepartIdTreeList(list); + } // // /** // * 閫掑綊鏌ヨ鎵�鏈夊瓙鑺傜偣id @@ -250,56 +257,56 @@ } } -// /** -// * 鑾峰彇鎵�鏈夌殑缁翠慨閮ㄩ棬鐝粍id锛堝寘鍚墍鏈変笂绾э級 -// */ -// private void getAllMaintainDepartIds(List<EamBaseRepairDepart> repairDepartList, String repairDepartId, List<String> allMaintainDepartIds) { -// if (!allMaintainDepartIds.contains(repairDepartId)) { -// allMaintainDepartIds.add(repairDepartId); -// } -// for (EamBaseRepairDepart eamBaseRepairDepart : repairDepartList) { -// if (StringUtils.isEmpty(eamBaseRepairDepart.getParentId())) { -// continue; -// } -// if (repairDepartId.equals(eamBaseRepairDepart.getId())) { -// if (!allMaintainDepartIds.contains(eamBaseRepairDepart.getParentId())) { -// allMaintainDepartIds.add(eamBaseRepairDepart.getParentId()); -// getAllMaintainDepartIds(repairDepartList, eamBaseRepairDepart.getParentId(), allMaintainDepartIds); -// } -// } -// } -// } -// -// /** -// * 閫氳繃缁翠慨閮ㄩ棬鐝粍闆嗗悎涓虹淮淇儴闂ㄧ彮缁勮缃敤鎴穒d锛岀敤浜庡墠鍙板睍绀� -// */ -// private void setUserIdsByProList(List<EamBaseRepairDepart> repairDepartList) { -// //鏌ヨ璐熻矗閮ㄩ棬涓嶄负绌虹殑鎯呭喌 -// LambdaQueryWrapper<SysUser> query = new LambdaQueryWrapper<>(); -// query.isNotNull(SysUser::getDepartIds); -// List<SysUser> users = sysUserMapper.selectList(query); -// Map<String, Object> map = new HashMap(5); -// //鍏堝惊鐜竴閬嶆壘鍒颁笉鍚岀殑璐熻矗缁翠慨閮ㄩ棬鐝粍id -// for (SysUser user : users) { -// String repairDepartIds = user.getRepairDepartIds(); -// if (StringUtils.isNotBlank(repairDepartIds)) { -// String[] repairDepartIdArray = repairDepartIds.split(","); -// for (String repairDepartId : repairDepartIdArray) { -// if (map.containsKey(repairDepartId)) { -// String userIds = map.get(repairDepartId) + "," + user.getId(); -// map.put(repairDepartId, userIds); -// } else { -// map.put(repairDepartId, user.getId()); -// } -// } -// } -// } -// //寰幆缁翠慨閮ㄩ棬鐝粍闆嗗悎鎵惧埌缁翠慨閮ㄩ棬鐝粍id瀵瑰簲鐨勮礋璐g敤鎴� -// for (EamBaseRepairDepart eamBaseRepairDepart : repairDepartList) { -// if (map.containsKey(eamBaseRepairDepart.getId())) { -// eamBaseRepairDepart.setDirectorUserIds(map.get(eamBaseRepairDepart.getId()).toString()); -// } -// } -// } + /** + * 鑾峰彇鎵�鏈夌殑缁翠慨閮ㄩ棬鐝粍id锛堝寘鍚墍鏈変笂绾э級 + */ + private void getAllMaintainDepartIds(List<EamBaseRepairDepart> repairDepartList, String repairDepartId, List<String> allMaintainDepartIds) { + if (!allMaintainDepartIds.contains(repairDepartId)) { + allMaintainDepartIds.add(repairDepartId); + } + for (EamBaseRepairDepart eamBaseRepairDepart : repairDepartList) { + if (StringUtils.isEmpty(eamBaseRepairDepart.getParentId())) { + continue; + } + if (repairDepartId.equals(eamBaseRepairDepart.getId())) { + if (!allMaintainDepartIds.contains(eamBaseRepairDepart.getParentId())) { + allMaintainDepartIds.add(eamBaseRepairDepart.getParentId()); + getAllMaintainDepartIds(repairDepartList, eamBaseRepairDepart.getParentId(), allMaintainDepartIds); + } + } + } + } + + /** + * 閫氳繃缁翠慨閮ㄩ棬鐝粍闆嗗悎涓虹淮淇儴闂ㄧ彮缁勮缃敤鎴穒d锛岀敤浜庡墠鍙板睍绀� + */ + private void setUserIdsByProList(List<EamBaseRepairDepart> repairDepartList) { + //鏌ヨ璐熻矗閮ㄩ棬涓嶄负绌虹殑鎯呭喌 + LambdaQueryWrapper<SysUser> query = new LambdaQueryWrapper<>(); + query.isNotNull(SysUser::getDepartIds); + List<SysUser> users = sysUserMapper.selectList(query); + Map<String, Object> map = new HashMap(5); + //鍏堝惊鐜竴閬嶆壘鍒颁笉鍚岀殑璐熻矗缁翠慨閮ㄩ棬鐝粍id + for (SysUser user : users) { + String repairDepartIds = user.getRepairDepartIds(); + if (StringUtils.isNotBlank(repairDepartIds)) { + String[] repairDepartIdArray = repairDepartIds.split(","); + for (String repairDepartId : repairDepartIdArray) { + if (map.containsKey(repairDepartId)) { + String userIds = map.get(repairDepartId) + "," + user.getId(); + map.put(repairDepartId, userIds); + } else { + map.put(repairDepartId, user.getId()); + } + } + } + } + //寰幆缁翠慨閮ㄩ棬鐝粍闆嗗悎鎵惧埌缁翠慨閮ㄩ棬鐝粍id瀵瑰簲鐨勮礋璐g敤鎴� + for (EamBaseRepairDepart eamBaseRepairDepart : repairDepartList) { + if (map.containsKey(eamBaseRepairDepart.getId())) { + eamBaseRepairDepart.setDirectorUserIds(map.get(eamBaseRepairDepart.getId()).toString()); + } + } + } } 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 e96653e..1f173f3 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 @@ -118,7 +118,7 @@ /** * 宸ユ */ - @Excel(name = "涓績/宸ュ尯/宸ユ", width = 15, orderNum = "4") + @Excel(name = "涓績/宸ュ尯/宸ユ", width = 15, orderNum = "4",dictTable = "eam_base_factory",dicText = "factory_name",dicCode = "org_code") @ApiModelProperty(value = "涓績/宸ュ尯/宸ユ") @Dict(dictTable = "eam_base_factory",dicText = "factory_name",dicCode = "org_code") private String factoryOrgCode; @@ -162,8 +162,9 @@ /** * 缁翠慨鐝粍 */ - @Excel(name = "缁翠慨鐝粍", width = 15, orderNum = "10") + @Excel(name = "缁翠慨鐝粍", width = 15, orderNum = "10",dictTable = "eam_base_repair_depart",dicText = "depart_name",dicCode = "org_code") @ApiModelProperty(value = "缁翠慨鐝粍") + @Dict(dictTable = "eam_base_repair_depart",dicText = "depart_name",dicCode = "org_code") private String repairDepartOrgCode; /** diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/EamEquipmentMapper.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/EamEquipmentMapper.java index 92bffec..4aafa9e 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/EamEquipmentMapper.java +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/EamEquipmentMapper.java @@ -32,4 +32,11 @@ * @return */ IPage<EamEquipment> queryPageList(IPage<EamEquipment> page, @Param(Constants.WRAPPER) Wrapper<EamEquipment> queryWrapper); + + /** + * 鍒楄〃鏌ヨ + * @param queryWrapper + * @return + */ + List<EamEquipment> queryList(@Param(Constants.WRAPPER) Wrapper<EamEquipment> queryWrapper); } diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamEquipmentMapper.xml b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamEquipmentMapper.xml index 3ea42f0..ffe7f6b 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamEquipmentMapper.xml +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamEquipmentMapper.xml @@ -20,4 +20,22 @@ on e.id = ext.id ${ew.customSqlSegment} </select> + <select id="queryList" resultType="org.jeecg.modules.eam.entity.EamEquipment"> + select e.*, + ext.maintenance_status, + ext.repair_status, + ext.latest_second_maintenance, + ext.next_second_maintenance, + ext.latest_third_maintenance, + ext.next_third_maintenance, + ext.technology_status, + ext.third_maintenance_period, + ext.technology_check_period, + ext.latest_technology_check, + ext.next_technology_check + from eam_equipment e + left join eam_equipment_extend ext + on e.id = ext.id + ${ew.customSqlSegment} + </select> </mapper> diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamEquipmentService.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamEquipmentService.java index d17425a..9594a46 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamEquipmentService.java +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamEquipmentService.java @@ -58,4 +58,11 @@ * @return */ EamEquipment selectByEquipmentCode(String equipmentCode); + + /** + * 璁惧鍙拌处瀵煎嚭 + * @param eamEquipment + * @return + */ + List<EamEquipment> exportList(EamEquipmentQuery eamEquipment); } 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 19c81b7..570ee6a 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 @@ -274,6 +274,90 @@ } /** + * 璁惧鍙拌处瀵煎嚭 + * @param eamEquipment + * @return + */ + @Override + public List<EamEquipment> exportList(EamEquipmentQuery eamEquipment){ + QueryWrapper<EamEquipment> queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("e.del_flag", CommonConstant.DEL_FLAG_0); + //鐢ㄦ埛鏁版嵁鏉冮檺 + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + if (sysUser == null) { + return new ArrayList<>(); + } + if (StringUtils.isNotBlank(sysUser.getEamEquipmentIds())) { + //閫夋嫨浜嗚澶囷紝鏍规嵁璁惧id杩囨护璁惧 + List<String> equipArr = Arrays.asList(sysUser.getEamEquipmentIds().split(",")); + queryWrapper.in("e.equipment_code", equipArr); + } else { + //娌℃湁閫夋嫨璁惧锛屾牴鎹腑蹇冭繃婊よ澶� + List<BaseFactoryUser> baseFactoryUserList=baseFactoryUserService. + list(new LambdaQueryWrapper<BaseFactoryUser>().eq(BaseFactoryUser::getUserId,sysUser.getId())); + if(!CollectionUtils.isEmpty(baseFactoryUserList)){ + List<String> factoryIds = baseFactoryUserList.stream().map(BaseFactoryUser::getFactoryId).collect(Collectors.toList()); + List<String> factoryCode= baseFactoryService.listByIds(factoryIds).stream().map(BaseFactory::getFactoryCode).collect(Collectors.toList()); + queryWrapper.in("e.factory_code", factoryCode); + } + + } + //鏌ヨ鏉′欢杩囨护 + if (eamEquipment != null) { + if (StringUtils.isNotBlank(eamEquipment.getEquipmentCode())) { + queryWrapper.like("e.equipment_code", eamEquipment.getEquipmentCode()); + } + if (StringUtils.isNotBlank(eamEquipment.getEquipmentName())) { + queryWrapper.like("e.equipment_name", eamEquipment.getEquipmentName()); + } + if (StringUtils.isNotBlank(eamEquipment.getEquipmentImportance())) { + queryWrapper.eq("e.equipment_importance", eamEquipment.getEquipmentImportance()); + } + if (StringUtils.isNotBlank(eamEquipment.getAssetStatus())) { + queryWrapper.like("e.asset_status", eamEquipment.getAssetStatus()); + } + if (StringUtils.isNotBlank(eamEquipment.getTechnologyStatus())) { + queryWrapper.like("e.technology_status", eamEquipment.getTechnologyStatus()); + } + if (StringUtils.isNotBlank(eamEquipment.getOperationSystem())) { + queryWrapper.like("e.operation_system", eamEquipment.getOperationSystem()); + } + if (StringUtils.isNotBlank(eamEquipment.getOrgId())) { + //杞﹂棿缂栫爜涓嶄负绌� + List<String> productIds = mdcProductionService.recursionChildren(eamEquipment.getOrgId()); + if (CollectionUtil.isNotEmpty(productIds)) { + //涓嶅仛绛涢�� + queryWrapper.in("e.org_id", productIds); + } + } + if (StringUtils.isNotBlank(eamEquipment.getEquipmentCategory())) { + queryWrapper.like("e.equipment_category", eamEquipment.getEquipmentCategory()); + } + if (StringUtils.isNotBlank(eamEquipment.getId())) { + queryWrapper.eq("e.id", eamEquipment.getId()); + } + //鎺掑簭 + if (StringUtils.isNotBlank(eamEquipment.getColumn()) && StringUtils.isNotBlank(eamEquipment.getOrder())) { + //queryWrapper.like("column", eamEquipment.getColumn()); + String column = eamEquipment.getColumn(); + if (column.endsWith(CommonConstant.DICT_TEXT_SUFFIX)) { + column = column.substring(0, column.lastIndexOf(CommonConstant.DICT_TEXT_SUFFIX)); + } + if (DataBaseConstant.SQL_ASC.equalsIgnoreCase(eamEquipment.getOrder())) { + queryWrapper.orderByAsc("e." + oConvertUtils.camelToUnderline(column)); + } else { + queryWrapper.orderByDesc("e." + oConvertUtils.camelToUnderline(column)); + } + } else { + queryWrapper.orderByDesc("e.create_time"); + } + } else { + queryWrapper.orderByDesc("e.create_time"); + } + return eamEquipmentMapper.queryList(queryWrapper); + } + + /** * 鑾峰彇鎵�鏈夌殑浜х嚎id锛堝寘鍚墍鏈変笂绾э級 */ private void getAllProductionIds(List<MdcProduction> productionList, String productionId, List<String> allProductionIds) { 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 31595fe..1c0803f 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 @@ -11,10 +11,13 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; +import org.apache.shiro.SecurityUtils; import org.jeecg.common.api.vo.Result; import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.system.base.controller.JeecgController; +import org.jeecg.common.system.vo.LoginUser; import org.jeecg.common.util.TranslateDictTextUtils; +import org.jeecg.common.util.oConvertUtils; import org.jeecg.modules.eam.entity.EamEquipment; import org.jeecg.modules.eam.entity.EamEquipmentExtend; import org.jeecg.modules.eam.request.EamEquipmentQuery; @@ -25,7 +28,10 @@ //import org.jeecg.modules.mdc.entity.MdcEquipment; //import org.jeecg.modules.mdc.service.IMdcEquipmentService; import org.jeecgframework.poi.excel.ExcelImportUtil; +import org.jeecgframework.poi.excel.def.NormalExcelConstants; +import org.jeecgframework.poi.excel.entity.ExportParams; import org.jeecgframework.poi.excel.entity.ImportParams; +import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; @@ -38,6 +44,7 @@ import java.util.Arrays; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; /** * @Description: 璁惧鍙拌处 @@ -198,13 +205,26 @@ /** * 瀵煎嚭excel - * - * @param request * @param eamEquipment */ @RequestMapping(value = "/exportXls") - public ModelAndView exportXls(HttpServletRequest request, EamEquipment eamEquipment) { - return super.exportXls(request, eamEquipment, EamEquipment.class, "璁惧鍙拌处"); + public ModelAndView exportXls(HttpServletRequest request,EamEquipmentQuery eamEquipment) { + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + List<EamEquipment> equipmentList=eamEquipmentService.exportList(eamEquipment); + String selections = request.getParameter("selections"); + if (oConvertUtils.isNotEmpty(selections)) { + List<String> selectionList = Arrays.asList(selections.split(",")); + equipmentList = equipmentList.stream().filter(item -> selectionList.contains(item.getId())).collect(Collectors.toList()); + } + + // Step.3 AutoPoi 瀵煎嚭Excel + ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); + mv.addObject(NormalExcelConstants.FILE_NAME, "璁惧鍙拌处"); //姝ゅ璁剧疆鐨刦ilename鏃犳晥 ,鍓嶇浼氶噸鏇存柊璁剧疆涓�涓� + mv.addObject(NormalExcelConstants.CLASS, EamEquipment.class); + mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("璁惧鍙拌处" + "鎶ヨ〃", "瀵煎嚭浜�:" + sysUser.getRealname(), "璁惧鍙拌处")); + mv.addObject(NormalExcelConstants.DATA_LIST, equipmentList); + return mv; + } /** -- Gitblit v1.9.3