装备配置管理

This commit is contained in:
jiang 2025-07-01 18:09:04 +08:00
parent c76dc2809d
commit 336468164d
7 changed files with 121 additions and 4 deletions

View File

@ -8,6 +8,8 @@ import com.bonus.common.log.enums.OperaType;
import com.bonus.common.security.annotation.InnerAuth;
import com.bonus.common.security.annotation.RequiresPermissions;
import com.bonus.common.security.annotation.RequiresPermissionsOrInnerAuth;
import com.bonus.material.equipment.domain.DeptConfigRateSummary;
import com.bonus.material.equipment.domain.DeptConfigTypeSummary;
import com.bonus.material.equipment.domain.DeptEquipmentConfig;
import com.bonus.material.equipment.service.ISysDeptService;
import com.bonus.system.api.domain.SysDept;
@ -52,6 +54,20 @@ public class SysDeptController extends BaseController {
return getDataTableError(new ArrayList<>());
}
@GetMapping("/listRate")
@SysLog(title = "装备列表", businessType = OperaType.QUERY, logType = 0, module = "系统管理->装备列表", details = "查询装备列表")
public TableDataInfo listRate(DeptConfigRateSummary user) {
try {
startPage();
List<DeptConfigRateSummary> list = service.selectDeptConfigRatePivot(user);
return getDataTable(list);
} catch (Exception e) {
logger.error(e.toString(), e);
}
return getDataTableError(new ArrayList<>());
}
@PostMapping("/selectConfigList")
public AjaxResult selectConfigList(@RequestBody DeptEquipmentConfig user) {
return service.selectConfigList(user);
@ -61,4 +77,17 @@ public class SysDeptController extends BaseController {
public AjaxResult getTree() {
return service.getTree();
}
@GetMapping("/listConfigType")
@SysLog(title = "装备列表", businessType = OperaType.QUERY, logType = 0, module = "系统管理->装备列表", details = "查询装备列表")
public TableDataInfo listConfigType(DeptConfigTypeSummary user) {
try {
startPage();
List<DeptConfigTypeSummary> list = service.selectDeptConfigTypeSummary(user);
return getDataTable(list);
} catch (Exception e) {
logger.error(e.toString(), e);
}
return getDataTableError(new ArrayList<>());
}
}

View File

@ -0,0 +1,23 @@
package com.bonus.material.equipment.domain;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class DeptConfigRateSummary {
/** 部门ID */
private Long deptId;
private String deptName;
/** 配置类型A的装备配置率累计值 */
private BigDecimal valueA;
/** 配置类型B的装备配置率累计值 */
private BigDecimal valueB;
/** 配置类型C的装备配置率累计值 */
private BigDecimal valueC;
}

View File

@ -0,0 +1,23 @@
package com.bonus.material.equipment.domain;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class DeptConfigTypeSummary {
/** 部门ID */
private Long deptId;
/** 子类型名称mt1.type_name */
private String typeName;
/** 父类型名称mt2.type_name */
private String parentTypeName;
/** 配置率(已转数值) */
private BigDecimal configRate;
/** 配置说明 */
private String configDescription;
}

View File

@ -4,6 +4,7 @@ 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.domain.SysDept;
import com.bonus.material.equipment.domain.*;
import com.bonus.system.api.domain.SysUser;
import java.util.List;
@ -13,10 +14,14 @@ public interface SysDeptMapper {
List<com.bonus.system.api.domain.SysDept> selectDeptList(com.bonus.system.api.domain.SysDept dept);
List<SysUser> selectUserList(DeptEquipmentConfig user);
List<SysUser> selectUserList(DeptEquipmentConfig user);
List<ConfigEntity> selectConfigList(DeptEquipmentConfig user);
List<DeptConfigRateSummary> selectDeptConfigRatePivot(DeptConfigRateSummary entity);
List<DeptConfigTypeSummary> selectDeptConfigTypeSummary(DeptConfigTypeSummary entity);
List<DeptTreeSelect> getTree();
}

View File

@ -1,6 +1,7 @@
package com.bonus.material.equipment.service;
import com.bonus.common.core.web.domain.AjaxResult;
import com.bonus.material.equipment.domain.*;
import com.bonus.material.equipment.domain.DeptEquipmentConfig;
import com.bonus.material.equipment.domain.DeptTreeSelect;
import com.bonus.system.api.domain.SysDept;
@ -18,4 +19,8 @@ public interface ISysDeptService {
AjaxResult selectConfigList(DeptEquipmentConfig user);
AjaxResult getTree();
List<DeptConfigRateSummary> selectDeptConfigRatePivot(DeptConfigRateSummary entity);
List<DeptConfigTypeSummary> selectDeptConfigTypeSummary(DeptConfigTypeSummary entity);
}

View File

@ -8,9 +8,7 @@ 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.domain.*;
import com.bonus.material.equipment.mapper.SysDeptMapper;
import com.bonus.material.equipment.service.ISysDeptService;
import com.bonus.system.api.domain.SysDept;
@ -68,6 +66,16 @@ public class SysDeptServiceImpl implements ISysDeptService {
}
}
@Override
public List<DeptConfigRateSummary> selectDeptConfigRatePivot(DeptConfigRateSummary entity) {
return mapper.selectDeptConfigRatePivot(entity);
}
@Override
public List<DeptConfigTypeSummary> selectDeptConfigTypeSummary(DeptConfigTypeSummary entity) {
return mapper.selectDeptConfigTypeSummary(entity);
}
/**
* 查询部门管理数据
*

View File

@ -101,6 +101,30 @@
WHERE mt.level = 3
GROUP BY mt.type_id, mt2.type_name, mt.type_name
</select>
<select id="selectDeptConfigRatePivot"
resultType="com.bonus.material.equipment.domain.DeptConfigRateSummary">
SELECT
sd.dept_name AS deptName,
SUM( CASE WHEN mdc.config_type = '0' THEN CAST( mdc.config_rate AS DECIMAL ( 10, 2 )) ELSE 0 END ) AS valueA,
SUM( CASE WHEN mdc.config_type = '1' THEN CAST( mdc.config_rate AS DECIMAL ( 10, 2 )) ELSE 0 END ) AS valueB,
SUM( CASE WHEN mdc.config_type = '2' THEN CAST( mdc.config_rate AS DECIMAL ( 10, 2 )) ELSE 0 END ) AS valueC
FROM
ma_dept_config mdc
LEFT JOIN sys_dept sd ON sd.dept_id = mdc.dept_id
GROUP BY
mdc.dept_id
</select>
<select id="selectDeptConfigTypeSummary"
resultType="com.bonus.material.equipment.domain.DeptConfigTypeSummary">
SELECT mt1.type_name AS typeName,
mt2.type_name AS parentTypeName,
CAST(mdc.config_rate AS DECIMAL(10, 2)) AS configRate,
mdc.config_description AS configDescription
FROM ma_dept_config mdc
LEFT JOIN ma_type mt1 ON mt1.type_id = mdc.type_id
LEFT JOIN ma_type mt2 ON mt2.type_id = mt1.parent_id
WHERE mdc.dept_id = #{deptId}
</select>
</mapper>