From 14b1e801322db00b6b0d8dd059b9720adeb21bd8 Mon Sep 17 00:00:00 2001 From: “linengliang” <vanSuperEnergy@163.com> Date: 星期二, 29 八月 2023 11:58:44 +0800 Subject: [PATCH] 设备分类 --- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/vo/EquipCategoryOutPortVo.java | 27 ++++++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEquipmentCategoryService.java | 7 + lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EquipmentCategoryMapper.java | 2 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamEquipmentController.java | 3 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EquipmentCategoryMapper.xml | 14 +++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EquipmentCategoryServiceImpl.java | 112 ++++++++++++++++++++++++++++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EquipmentCategoryController.java | 33 ++++++-- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EquipmentCategory.java | 17 +-- 8 files changed, 192 insertions(+), 23 deletions(-) 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 932a158..3a960a8 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 @@ -73,8 +73,7 @@ @Autowired private IProcessParametersTemplateService processParametersTemplateService; -// @Autowired -// private IUploadRelaService uploadRelaService; + @Autowired private ISysBaseAPI sysBaseApi; diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EquipmentCategoryController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EquipmentCategoryController.java index 976ede5..c96e6f8 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EquipmentCategoryController.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EquipmentCategoryController.java @@ -54,7 +54,7 @@ public class EquipmentCategoryController extends JeecgController<EquipmentCategory, IEquipmentCategoryService> { @Autowired private IEquipmentCategoryService equipmentCategoryService; - + /** * 鍒嗛〉鍒楄〃鏌ヨ * @@ -108,7 +108,8 @@ } return Result.OK(pageList); } - + + /** * 娣诲姞 * @@ -126,7 +127,7 @@ equipmentCategoryService.save(equipmentCategory); return Result.OK("娣诲姞鎴愬姛锛�"); } - + /** * 缂栬緫 * @@ -138,10 +139,16 @@ //@RequiresPermissions("org.jeecg.modules.demo:mom_eam_equipment_category:edit") @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) public Result<String> edit(@RequestBody EquipmentCategory equipmentCategory) { + List<EquipmentCategory> equipmentCategories = equipmentCategory.getEquipmentCategoryDtlList(); + for(EquipmentCategory equipmentCategoryChild:equipmentCategories){ + equipmentCategoryChild.setEquipmentCategoryUda1(equipmentCategory.getEquipmentCategoryUda1()); + equipmentCategoryChild.setEquipmentCategoryUda2(equipmentCategory.getEquipmentCategoryUda2()); + } + equipmentCategoryService.saveOrUpdateBatch(equipmentCategories); equipmentCategoryService.updateById(equipmentCategory); return Result.OK("缂栬緫鎴愬姛!"); } - + /** * 閫氳繃id鍒犻櫎 * @@ -158,7 +165,7 @@ equipmentCategoryService.updateById(equipmentCategory); return Result.OK("鍒犻櫎鎴愬姛!"); } - + /** * 鎵归噺鍒犻櫎 * @@ -178,7 +185,7 @@ } return Result.OK("鎵归噺鍒犻櫎鎴愬姛!"); } - + /** * 閫氳繃id鏌ヨ * @@ -205,7 +212,7 @@ //@RequiresPermissions("org.jeecg.modules.demo:mom_eam_equipment_category:exportXls") @RequestMapping(value = "/exportXls") public ModelAndView exportXls(HttpServletRequest request, EquipmentCategory equipmentCategory) { - return super.exportXls(request, equipmentCategory, EquipmentCategory.class, "mom_eam_equipment_category"); + return super.exportXls(request, equipmentCategory, EquipmentCategory.class, "璁惧鍒嗙被"); } /** @@ -227,8 +234,18 @@ */ @GetMapping("/loadTree") public Result<?> loadTree(HttpServletRequest httpServletRequest) { - List<CommonGenericTree> list = equipmentCategoryService.loadTree(); + List<CommonGenericTree> list = equipmentCategoryService.loadTreeByRecurrence(); return Result.ok(list); } + @GetMapping(value = "/getAllChildren") + public Result<IPage<EquipmentCategory>> getAllChildren(EquipmentCategory equipmentCategory, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req){ + QueryWrapper<EquipmentCategory> queryWrapper = Wrappers.query(); + Page<EquipmentCategory> page = new Page<EquipmentCategory>(pageNo, pageSize); + IPage<EquipmentCategory> pageList = equipmentCategoryService.getAllChildren(page, equipmentCategory); + return Result.OK(pageList); + } } diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EquipmentCategory.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EquipmentCategory.java index 96a8a6f..7419468 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EquipmentCategory.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EquipmentCategory.java @@ -38,7 +38,6 @@ private static final long serialVersionUID = 1L; /**鐖秈d*/ - @Excel(name = "鐖秈d", width = 15) @ApiModelProperty(value = "鐖秈d") private String parentId; /**璁惧鍒嗙被缂栫爜*/ @@ -51,31 +50,28 @@ private String name; /**绉熸埛id*/ - @Excel(name = "绉熸埛id", width = 15) @ApiModelProperty(value = "绉熸埛id") private String tenantId; /**鍒犻櫎鐘舵��(0-姝e父,1-宸插垹闄�)*/ - @Excel(name = "鍒犻櫎鐘舵��(0-姝e父,1-宸插垹闄�)", width = 15) @ApiModelProperty(value = "鍒犻櫎鐘舵��(0-姝e父,1-宸插垹闄�)") private Integer delFlag = CommonConstant.DEL_FLAG_0; /**澶囩敤瀛楁1*/ - @Excel(name = "澶囩敤瀛楁1", width = 15) - @ApiModelProperty(value = "澶囩敤瀛楁1") + @Excel(name = "璁惧鍒嗙被鏍囪瘑", width = 15,dicCode = "equipment_category") + @ApiModelProperty(value = "璁惧鍒嗙被鏍囪瘑锛堟暟鎹瓧鍏革細equipment_category锛�") + @Dict(dicCode = "equipment_category") private String equipmentCategoryUda1; /**澶囩敤瀛楁2*/ - @Excel(name = "澶囩敤瀛楁2", width = 15) - @ApiModelProperty(value = "澶囩敤瀛楁2") + @Excel(name = "鎶�鏈姸鎬侀壌瀹氬懆鏈�", width = 15,dicCode = "appraisal_cycle") + @ApiModelProperty(value = "鎶�鏈姸鎬侀壌瀹氬懆鏈�") + @Dict(dicCode = "appraisal_cycle") private String equipmentCategoryUda2; /**澶囩敤瀛楁3*/ - @Excel(name = "澶囩敤瀛楁3", width = 15) @ApiModelProperty(value = "澶囩敤瀛楁3") private String equipmentCategoryUda3; /**澶囩敤瀛楁4*/ - @Excel(name = "澶囩敤瀛楁4", width = 15) @ApiModelProperty(value = "澶囩敤瀛楁4") private String equipmentCategoryUda4; /**澶囩敤瀛楁5*/ - @Excel(name = "澶囩敤瀛楁5", width = 15) @ApiModelProperty(value = "澶囩敤瀛楁5") private String equipmentCategoryUda5; /**澶囨敞*/ @@ -84,7 +80,6 @@ private String remark; /**鐘舵�� 0 绂佺敤 1 鍚敤*/ - @Excel(name = "鐘舵�� 0 绂佺敤 1 鍚敤", width = 15) @ApiModelProperty(value = "鐘舵�� 0 绂佺敤 1 鍚敤") private String status = CommonConstant.STATUS_1; diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EquipmentCategoryMapper.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EquipmentCategoryMapper.java index 0b02ca7..8650b0e 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EquipmentCategoryMapper.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EquipmentCategoryMapper.java @@ -3,6 +3,7 @@ import java.util.List; import org.apache.ibatis.annotations.Param; +import org.jeecg.common.api.vo.CommonGenericTree; import org.jeecg.modules.eam.entity.EquipmentCategory; import com.baomidou.mybatisplus.core.mapper.BaseMapper; @@ -13,5 +14,6 @@ * @Version: V1.0 */ public interface EquipmentCategoryMapper extends BaseMapper<EquipmentCategory> { + public List<CommonGenericTree> getTreeByParentId(String parentId); } diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EquipmentCategoryMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EquipmentCategoryMapper.xml index 053b641..cc590e9 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EquipmentCategoryMapper.xml +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EquipmentCategoryMapper.xml @@ -1,5 +1,15 @@ <?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.mapper.EquipmentCategoryMapper"> - -</mapper> \ No newline at end of file + <select id="getTreeByParentId" resultType="org.jeecg.common.api.vo.CommonGenericTree"> + select + t1.id as 'key', + CONCAT(t1.num,'/',t1.name) title, + t1.parent_id parentId, + t1.name rField1, + t1.num RField2 + from mom_eam_equipment_category t1 + where t1.del_flag = 0 + and t1.parent_id = #{parentId} + </select> +</mapper> diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEquipmentCategoryService.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEquipmentCategoryService.java index 2d7af91..164521b 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEquipmentCategoryService.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEquipmentCategoryService.java @@ -1,10 +1,13 @@ package org.jeecg.modules.eam.service; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.jeecg.common.api.vo.CommonGenericTree; import org.jeecg.modules.eam.entity.EquipmentCategory; import com.baomidou.mybatisplus.extension.service.IService; import java.util.List; +import java.util.Map; /** * @Description: mom_eam_equipment_category @@ -16,4 +19,8 @@ public List<CommonGenericTree> loadTree(); + public List<CommonGenericTree> loadTreeByRecurrence(); + + public Page<EquipmentCategory> getAllChildren(Page<EquipmentCategory> page,EquipmentCategory equipmentCategory); + } diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EquipmentCategoryServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EquipmentCategoryServiceImpl.java index b9c4878..33c639e 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EquipmentCategoryServiceImpl.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EquipmentCategoryServiceImpl.java @@ -1,19 +1,31 @@ package org.jeecg.modules.eam.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.checkerframework.checker.units.qual.C; import org.jeecg.common.api.vo.CommonGenericTree; import org.jeecg.modules.eam.entity.EquipmentCategory; import org.jeecg.modules.eam.entity.FaultCause; import org.jeecg.modules.eam.mapper.EquipmentCategoryMapper; import org.jeecg.modules.eam.service.IEquipmentCategoryService; +import org.jeecg.modules.system.entity.SysDict; +import org.jeecg.modules.system.entity.SysDictItem; +import org.jeecg.modules.system.mapper.SysDictItemMapper; +import org.jeecg.modules.system.mapper.SysDictMapper; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; /** * @Description: mom_eam_equipment_category @@ -23,6 +35,11 @@ */ @Service public class EquipmentCategoryServiceImpl extends ServiceImpl<EquipmentCategoryMapper, EquipmentCategory> implements IEquipmentCategoryService { + @Autowired + private SysDictItemMapper sysDictItemMapper; + + @Autowired + private SysDictMapper sysDictMapper; @Override public List<CommonGenericTree> loadTree() { @@ -30,6 +47,8 @@ List<CommonGenericTree> commonGenericTrees = loadTree(equipmentCategoryList); return commonGenericTrees; } + + @SuppressWarnings("unchecked") public List<CommonGenericTree> loadTree(List<EquipmentCategory> EquipmentCategory) { @@ -219,5 +238,98 @@ } return list; } + + @Transactional(rollbackFor = {Exception.class}) + public void initRoot(){ + SysDict rootSysDict = sysDictMapper.selectOne(new QueryWrapper<SysDict>().eq("dict_code","equipment_category")); + if(ObjectUtils.isNotNull(rootSysDict)){ + List<SysDictItem> equipRoots = sysDictItemMapper.selectList(new QueryWrapper<SysDictItem>().eq("dict_id",rootSysDict.getId())); + List<EquipmentCategory> roots = new ArrayList<>(); + for(SysDictItem rootSysDictItem:equipRoots){ + EquipmentCategory root = new EquipmentCategory(); + root.setId("root-"+rootSysDictItem.getItemValue()); + root.setNum(rootSysDictItem.getItemValue()); + root.setName(rootSysDictItem.getItemText()); + root.setEquipmentCategoryUda1(rootSysDictItem.getItemValue()); + root.setParentId("-1"); + root.setDelFlag(0); + roots.add(root); + } + saveOrUpdateBatch(roots); + } + } + @Override + public List<CommonGenericTree> loadTreeByRecurrence() { + CommonGenericTree commonGenericTree = new CommonGenericTree(); + commonGenericTree.setKey("-1"); + commonGenericTree.setTitle("璁惧鍒嗙被"); + List<CommonGenericTree> children = getChildren(commonGenericTree); + if(children.size()==0){ + commonGenericTree.setLeaf(true); + } + else { + commonGenericTree.setLeaf(false); + } + commonGenericTree.setChildren(children); + EquipmentCategory equipmentCategory = new EquipmentCategory(); + equipmentCategory.setId("-1"); + equipmentCategory.setName("璁惧鍒嗙被"); + equipmentCategory.setNum("root"); + commonGenericTree.setEntity(equipmentCategory); + List<CommonGenericTree> list = new ArrayList<>(); + list.add(commonGenericTree); + return list; + } + + + + private List<CommonGenericTree> getChildren (CommonGenericTree commonGenericTree){ + List<CommonGenericTree> children = baseMapper.getTreeByParentId(commonGenericTree.getKey()); + for(CommonGenericTree child:children){ + + child.setEntity(baseMapper.selectById(child.getKey())); + List<CommonGenericTree> superChild = getChildren(child); + if(superChild.size()==0){ + child.setLeaf(true); + } + else { + child.setLeaf(false); + } + child.setChildren(superChild); + } + return children; + } + @Override + public Page<EquipmentCategory> getAllChildren(Page<EquipmentCategory> page,EquipmentCategory equipmentCategory) { + QueryWrapper<EquipmentCategory>queryWrapper = new QueryWrapper(); + if(StringUtils.isNotBlank(equipmentCategory.getParentId())){ + List<String> ids = new ArrayList<>(); + ids.add(equipmentCategory.getParentId()); + ids = getChildren(equipmentCategory.getParentId(),ids); + if(ids.size()>1){ + ids.remove(equipmentCategory.getParentId()); + queryWrapper.in("id",ids); + } + else{ + queryWrapper.eq("id","-1"); + } + } + return baseMapper.selectPage(page,queryWrapper); + } + List<String> getChildren(String parentId,List<String> ids){ + List<String> sons = new ArrayList<>(); + for(String id:ids){ + List<String> childrenIds = baseMapper + .selectList(new QueryWrapper<EquipmentCategory>() + .eq("parent_id",parentId).eq("del_flag",0)).stream() + .map(EquipmentCategory::getId) + .collect(Collectors.toList()); + sons.addAll(getChildren(id,childrenIds)); + sons.addAll(childrenIds); + } + ids.addAll(sons); + return ids; + } + } diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/vo/EquipCategoryOutPortVo.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/vo/EquipCategoryOutPortVo.java new file mode 100644 index 0000000..cd539bc --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/vo/EquipCategoryOutPortVo.java @@ -0,0 +1,27 @@ +package org.jeecg.modules.eam.vo; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.jeecg.common.aspect.annotation.Dict; +import org.jeecgframework.poi.excel.annotation.Excel; + +/** + * @author lnl + */ +@Data +@TableName("mom_eam_equipment_category") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class EquipCategoryOutPortVo { + @Excel(name = "璁惧鍒嗙被缂栫爜", width = 15) + private String num; + @Excel(name = "璁惧鍒嗙被鍚嶇О", width = 15) + private String name; + @Excel(name = "璁惧鍒嗙被鏍囪瘑", width = 15,dicCode = "equipment_category") + private String equipmentCategoryUda1; + @Excel(name = "鎶�鏈姸鎬侀壌瀹氬懆鏈�",dicCode = "appraisal_cycle",width = 15) + private String equipmentCategoryUda2; +} -- Gitblit v1.9.3