diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/equipment/controller/SysDeptController.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/equipment/controller/SysDeptController.java index 7d3a131..f8e70c5 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/equipment/controller/SysDeptController.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/equipment/controller/SysDeptController.java @@ -13,16 +13,14 @@ import com.bonus.material.equipment.service.ISysDeptService; import com.bonus.system.api.domain.SysDept; import com.bonus.system.api.domain.SysUser; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import java.util.ArrayList; import java.util.List; @RestController @RequestMapping("/dept") -public class SysDeptController extends BaseController { +public class SysDeptController extends BaseController { @Autowired private ISysDeptService service; @@ -43,7 +41,7 @@ public class SysDeptController extends BaseController { @GetMapping("/list") @SysLog(title = "装备列表", businessType = OperaType.QUERY, logType = 0, module = "系统管理->装备列表", details = "查询装备列表") - public TableDataInfo list(DeptEquipmentConfig user) { + public TableDataInfo list(DeptEquipmentConfig user) { try { startPage(); List list = service.selectUserList(user); @@ -53,4 +51,9 @@ public class SysDeptController extends BaseController { } return getDataTableError(new ArrayList<>()); } + + @PostMapping("/selectConfigList") + public AjaxResult selectConfigList(@RequestBody DeptEquipmentConfig user) { + return service.selectConfigList(user); + } } diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/equipment/domain/ConfigEntity.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/equipment/domain/ConfigEntity.java new file mode 100644 index 0000000..20adf90 --- /dev/null +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/equipment/domain/ConfigEntity.java @@ -0,0 +1,16 @@ +package com.bonus.material.equipment.domain; + +import lombok.Data; + +@Data +public class ConfigEntity { + + private String basicConfig; + + private String configurationType; + + private String configurationRate; + + private String configurationDescription; + +} diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/equipment/domain/DeptEquipmentConfig.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/equipment/domain/DeptEquipmentConfig.java index d1f92c4..7b33211 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/equipment/domain/DeptEquipmentConfig.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/equipment/domain/DeptEquipmentConfig.java @@ -4,15 +4,19 @@ import com.bonus.common.core.annotation.Excel; import com.bonus.common.core.web.domain.BaseEntity; import lombok.Data; +import java.util.List; + @Data public class DeptEquipmentConfig extends BaseEntity { private Long id; private Long deptId; private String typeId; private String equipmentName; - private String equipmenttype; - private String basicConfig; //基础配置信息 + private String equipmenttype; + private String basicConfig; //基础配置信息 private String equipmentId; + private List configs; + private String configStatus; @Excel(name = "配置值") private String configValue; diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/equipment/mapper/SysDeptMapper.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/equipment/mapper/SysDeptMapper.java index 3fb42f1..0c593eb 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/equipment/mapper/SysDeptMapper.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/equipment/mapper/SysDeptMapper.java @@ -1,5 +1,6 @@ package com.bonus.material.equipment.mapper; +import com.bonus.material.equipment.domain.ConfigEntity; import com.bonus.material.equipment.domain.DeptEquipmentConfig; import com.bonus.material.equipment.domain.SysDept; import com.bonus.system.api.domain.SysUser; @@ -12,4 +13,7 @@ public interface SysDeptMapper { List selectDeptList(com.bonus.system.api.domain.SysDept dept); List selectUserList(DeptEquipmentConfig user); + + + List selectConfigList(DeptEquipmentConfig user); } diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/equipment/service/ISysDeptService.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/equipment/service/ISysDeptService.java index 92ab751..244eacb 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/equipment/service/ISysDeptService.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/equipment/service/ISysDeptService.java @@ -1,5 +1,7 @@ package com.bonus.material.equipment.service; +import com.bonus.common.core.web.domain.AjaxResult; +import com.bonus.material.equipment.domain.ConfigEntity; import com.bonus.material.equipment.domain.DeptEquipmentConfig; import com.bonus.material.equipment.domain.DeptTreeSelect; import com.bonus.system.api.domain.SysDept; @@ -12,4 +14,7 @@ public interface ISysDeptService { public List selectDeptTreeList(SysDept dept); List selectUserList(DeptEquipmentConfig user); + + + AjaxResult selectConfigList(DeptEquipmentConfig user); } diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/equipment/service/impl/SysDeptServiceImpl.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/equipment/service/impl/SysDeptServiceImpl.java index 4dc5b39..225d185 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/equipment/service/impl/SysDeptServiceImpl.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/equipment/service/impl/SysDeptServiceImpl.java @@ -3,16 +3,21 @@ package com.bonus.material.equipment.service.impl; import com.bonus.common.core.utils.SpringUtils; import com.bonus.common.core.utils.StringUtils; +import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.common.core.web.domain.BaseEntity; import com.bonus.common.datascope.annotation.DataScope; import com.bonus.common.datascope.utils.CommonDataPermissionInfo; import com.bonus.common.security.utils.SecurityUtils; +import com.bonus.material.equipment.domain.ConfigEntity; import com.bonus.material.equipment.domain.DeptEquipmentConfig; import com.bonus.material.equipment.domain.DeptTreeSelect; import com.bonus.material.equipment.mapper.SysDeptMapper; import com.bonus.material.equipment.service.ISysDeptService; import com.bonus.system.api.domain.SysDept; import com.bonus.system.api.domain.SysUser; +import org.apache.commons.lang3.ObjectUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -25,22 +30,33 @@ import java.util.stream.Collectors; @Service public class SysDeptServiceImpl implements ISysDeptService { + private static final Logger log = LoggerFactory.getLogger(SysDeptServiceImpl.class); @Autowired private SysDeptMapper mapper; @Override - public List selectDeptTreeList(SysDept dept) - { + public List selectDeptTreeList(SysDept dept) { List depts = SpringUtils.getAopProxy(this).selectDeptList(dept); return buildDeptTreeSelect(depts); } @Override - public List selectUserList(DeptEquipmentConfig user) { + public List selectUserList(DeptEquipmentConfig user) { List sysUsers = mapper.selectUserList(user); return sysUsers; } + @Override + public AjaxResult selectConfigList(DeptEquipmentConfig user) { + try { + List configEntities = mapper.selectConfigList(user); + return ObjectUtils.isNotEmpty(configEntities) ? AjaxResult.success(configEntities) : AjaxResult.success(); + } catch (Exception e) { + log.error(e.getMessage()); + return AjaxResult.success(); + } + } + /** * 查询部门管理数据 * @@ -48,8 +64,7 @@ public class SysDeptServiceImpl implements ISysDeptService { * @return 部门信息集合 */ @DataScope(deptAlias = "d") - public List selectDeptList(SysDept dept) - { + public List selectDeptList(SysDept dept) { try { BaseEntity entity = CommonDataPermissionInfo.backMissionInfo(dept.getParams().get("dataScope").toString()); BeanUtils.copyProperties(entity, dept); @@ -64,63 +79,51 @@ public class SysDeptServiceImpl implements ISysDeptService { return mapper.selectDeptList(dept); } - public List buildDeptTreeSelect(List depts) - { + public List buildDeptTreeSelect(List depts) { List deptTrees = buildDeptTree(depts); return deptTrees.stream().map(DeptTreeSelect::new).collect(Collectors.toList()); } - public List buildDeptTree(List depts) - { + public List buildDeptTree(List depts) { List returnList = new ArrayList(); List tempList = depts.stream().map(SysDept::getDeptId).collect(Collectors.toList()); - for (SysDept dept : depts) - { + for (SysDept dept : depts) { // 如果是顶级节点, 遍历该父节点的所有子节点 - if (!tempList.contains(dept.getParentId())) - { + if (!tempList.contains(dept.getParentId())) { recursionFn(depts, dept); returnList.add(dept); } } - if (returnList.isEmpty()) - { + if (returnList.isEmpty()) { returnList = depts; } return returnList; } - private void recursionFn(List list, SysDept t) - { + private void recursionFn(List list, SysDept t) { // 得到子节点列表 List childList = getChildList(list, t); t.setChildren(childList); - for (SysDept tChild : childList) - { - if (hasChild(list, tChild)) - { + for (SysDept tChild : childList) { + if (hasChild(list, tChild)) { recursionFn(list, tChild); } } } - private List getChildList(List list, SysDept t) - { + private List getChildList(List list, SysDept t) { List tlist = new ArrayList(); Iterator it = list.iterator(); - while (it.hasNext()) - { + while (it.hasNext()) { SysDept n = (SysDept) it.next(); - if (StringUtils.isNotNull(n.getParentId()) && n.getParentId().longValue() == t.getDeptId().longValue()) - { + if (StringUtils.isNotNull(n.getParentId()) && n.getParentId().longValue() == t.getDeptId().longValue()) { tlist.add(n); } } return tlist; } - private boolean hasChild(List list, SysDept t) - { + private boolean hasChild(List list, SysDept t) { return getChildList(list, t).size() > 0 ? true : false; } } diff --git a/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/equipment/DeptEquipmentConfigMapper.xml b/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/equipment/DeptEquipmentConfigMapper.xml index 89c4400..cb14775 100644 --- a/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/equipment/DeptEquipmentConfigMapper.xml +++ b/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/equipment/DeptEquipmentConfigMapper.xml @@ -7,11 +7,33 @@ - INSERT INTO ma_dept_config (dept_id, type_id, config_value, remark) - VALUES (#{deptId}, #{typeId}, #{configValue}, #{remark}) - ON DUPLICATE KEY UPDATE - config_value = VALUES(config_value), - remark = VALUES(remark) + INSERT INTO ma_dept_config ( + dept_id, + type_id, + config_type, + config_value, + config_rate, + config_description, + remark + ) + VALUES + + ( + #{deptId}, + #{equipmentId}, + #{item.configurationType}, + #{item.basicConfig}, + #{item.configurationRate}, + #{item.configurationDescription}, + #{remark} + ) + + ON DUPLICATE KEY UPDATE + config_value = VALUES(config_value), + config_rate = VALUES(config_rate), + config_description = VALUES(config_description), + remark = VALUES(remark), + update_time = CURRENT_TIMESTAMP diff --git a/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/equipment/SysDeptMapper.xml b/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/equipment/SysDeptMapper.xml index 37be67f..a974b64 100644 --- a/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/equipment/SysDeptMapper.xml +++ b/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/equipment/SysDeptMapper.xml @@ -60,27 +60,33 @@ mt.type_id AS equipmentId, mt2.type_name AS equipmentName, mt.type_name AS equipmenttype, - mt.type_id, - mdc.config_value AS basicConfig - FROM - ma_type mt + CASE + WHEN MAX(mdc.config_value) IS NOT NULL AND MAX(mdc.config_value) != '' THEN '已配置' + ELSE '未配置' + END AS configStatus + FROM ma_type mt LEFT JOIN ma_type mt2 ON mt.parent_id = mt2.type_id LEFT JOIN ma_dept_config mdc ON mdc.type_id = mt.type_id - - AND mdc.dept_id = #{deptId} - - - AND 1=0 - - WHERE - mt.LEVEL = 3 + AND mdc.dept_id = #{deptId} + WHERE mt.level = 3 AND mt.type_name LIKE CONCAT('%', #{equipmentName}, '%') AND mt2.type_name LIKE CONCAT('%', #{equipmenttype}, '%') + GROUP BY mt.type_id, mt2.type_name, mt.type_name + +