15 changed files with 289 additions and 22 deletions
@ -0,0 +1,32 @@ |
|||||||
|
package com.mh.web.controller.policy; |
||||||
|
|
||||||
|
import com.mh.common.core.controller.BaseController; |
||||||
|
import com.mh.common.core.page.TableDataInfo; |
||||||
|
import com.mh.system.service.policy.IPolicyManageService; |
||||||
|
import org.springframework.web.bind.annotation.GetMapping; |
||||||
|
import org.springframework.web.bind.annotation.RequestMapping; |
||||||
|
import org.springframework.web.bind.annotation.RequestParam; |
||||||
|
import org.springframework.web.bind.annotation.RestController; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author LJF |
||||||
|
* @version 1.0 |
||||||
|
* @project EEMCS |
||||||
|
* @description 策略管理 |
||||||
|
* @date 2025-04-01 14:51:48 |
||||||
|
*/ |
||||||
|
@RestController |
||||||
|
@RequestMapping("/policy") |
||||||
|
public class PolicyManageController extends BaseController { |
||||||
|
|
||||||
|
private final IPolicyManageService policyManageService; |
||||||
|
|
||||||
|
public PolicyManageController(IPolicyManageService policyManageService) { |
||||||
|
this.policyManageService = policyManageService; |
||||||
|
} |
||||||
|
|
||||||
|
@GetMapping("/list") |
||||||
|
public TableDataInfo getPolicyList(@RequestParam(required = false) String systemType, @RequestParam(required = false) String funPolicyType){ |
||||||
|
return getDataTable(policyManageService.selectPolicyList(systemType,funPolicyType)); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,92 @@ |
|||||||
|
package com.mh.common.core.domain.entity; |
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType; |
||||||
|
import com.baomidou.mybatisplus.annotation.TableId; |
||||||
|
import com.baomidou.mybatisplus.annotation.TableName; |
||||||
|
import lombok.Getter; |
||||||
|
import lombok.Setter; |
||||||
|
import org.apache.commons.lang3.builder.ToStringBuilder; |
||||||
|
|
||||||
|
import java.math.BigDecimal; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author LJF |
||||||
|
* @version 1.0 |
||||||
|
* @project EEMCS |
||||||
|
* @description 策略管理 |
||||||
|
* @date 2025-04-01 14:26:31 |
||||||
|
*/ |
||||||
|
@Setter |
||||||
|
@Getter |
||||||
|
@TableName("policy_manage") |
||||||
|
public class PolicyManage { |
||||||
|
|
||||||
|
@TableId(value = "id", type = IdType.ASSIGN_UUID) |
||||||
|
private String id; |
||||||
|
|
||||||
|
/** |
||||||
|
* 策略类型 |
||||||
|
*/ |
||||||
|
private String policyType; |
||||||
|
|
||||||
|
/** |
||||||
|
* 策略名称 |
||||||
|
*/ |
||||||
|
private String policyName; |
||||||
|
|
||||||
|
/** |
||||||
|
* 点位名称 |
||||||
|
*/ |
||||||
|
private String pointName; |
||||||
|
|
||||||
|
/** |
||||||
|
* 输入类型 |
||||||
|
*/ |
||||||
|
private String inputType; |
||||||
|
|
||||||
|
/** |
||||||
|
* 输入值 |
||||||
|
*/ |
||||||
|
private BigDecimal curValue; |
||||||
|
|
||||||
|
/** |
||||||
|
* 单位 |
||||||
|
*/ |
||||||
|
private String unit; |
||||||
|
|
||||||
|
/** |
||||||
|
* 采集点位名称 |
||||||
|
*/ |
||||||
|
private String cpmId; |
||||||
|
|
||||||
|
/** |
||||||
|
* 系统类型 |
||||||
|
*/ |
||||||
|
private String systemType; |
||||||
|
|
||||||
|
/** |
||||||
|
* 功能策略类型 |
||||||
|
*/ |
||||||
|
private String funPolicyType; |
||||||
|
|
||||||
|
/** |
||||||
|
* 排序 |
||||||
|
*/ |
||||||
|
private int orderNum; |
||||||
|
|
||||||
|
@Override |
||||||
|
public String toString() { |
||||||
|
return new ToStringBuilder(this) |
||||||
|
.append("id", id) |
||||||
|
.append("policyType", policyType) |
||||||
|
.append("policyName", policyName) |
||||||
|
.append("pointName", pointName) |
||||||
|
.append("inputType", inputType) |
||||||
|
.append("unit", unit) |
||||||
|
.append("cpmId", cpmId) |
||||||
|
.append("systemType", systemType) |
||||||
|
.append("funPolicyType", funPolicyType) |
||||||
|
.toString(); |
||||||
|
} |
||||||
|
|
||||||
|
} |
@ -0,0 +1,26 @@ |
|||||||
|
package com.mh.system.mapper.policy; |
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||||
|
import com.mh.common.core.domain.entity.PolicyManage; |
||||||
|
import org.apache.ibatis.annotations.Mapper; |
||||||
|
import org.apache.ibatis.annotations.Param; |
||||||
|
import org.apache.ibatis.annotations.Select; |
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author LJF |
||||||
|
* @version 1.0 |
||||||
|
* @project EEMCS |
||||||
|
* @description 策略管理 |
||||||
|
* @date 2025-04-01 15:11:28 |
||||||
|
*/ |
||||||
|
@Mapper |
||||||
|
public interface PolicyManageMapper extends BaseMapper<PolicyManage> { |
||||||
|
|
||||||
|
@Select("select pm.*,cpm.cur_value from policy_manage pm " + |
||||||
|
" left join collection_params_manage cpm on pm.cpm_id = cpm.id " + |
||||||
|
" where pm.system_type = #{systemType} and pm.fun_policy_type = #{funPolicyType} order by pm.policy_type, pm.order_num ") |
||||||
|
List<PolicyManage> selectPolicyList(@Param("systemType") String systemType, |
||||||
|
@Param("funPolicyType") String funPolicyType); |
||||||
|
} |
@ -0,0 +1,14 @@ |
|||||||
|
package com.mh.system.service.policy; |
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author LJF |
||||||
|
* @version 1.0 |
||||||
|
* @project EEMCS |
||||||
|
* @description 策略管理 |
||||||
|
* @date 2025-04-01 15:04:53 |
||||||
|
*/ |
||||||
|
public interface IPolicyManageService { |
||||||
|
List<?> selectPolicyList(String systemType, String funPolicyType); |
||||||
|
} |
@ -0,0 +1,55 @@ |
|||||||
|
package com.mh.system.service.policy.impl; |
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
||||||
|
import com.mh.common.core.domain.dto.DeviceMonitorDTO; |
||||||
|
import com.mh.common.core.domain.entity.PolicyManage; |
||||||
|
import com.mh.system.mapper.policy.PolicyManageMapper; |
||||||
|
import com.mh.system.service.policy.IPolicyManageService; |
||||||
|
import org.springframework.stereotype.Service; |
||||||
|
|
||||||
|
import java.util.ArrayList; |
||||||
|
import java.util.Comparator; |
||||||
|
import java.util.List; |
||||||
|
import java.util.Map; |
||||||
|
import java.util.stream.Collectors; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author LJF |
||||||
|
* @version 1.0 |
||||||
|
* @project EEMCS |
||||||
|
* @description 策略管理服务实现类 |
||||||
|
* @date 2025-04-01 15:05:43 |
||||||
|
*/ |
||||||
|
@Service |
||||||
|
public class PolicyManageServiceImpl implements IPolicyManageService { |
||||||
|
|
||||||
|
private final PolicyManageMapper policyManageMapper; |
||||||
|
|
||||||
|
public PolicyManageServiceImpl(PolicyManageMapper policyManageMapper) { |
||||||
|
this.policyManageMapper = policyManageMapper; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public List<?> selectPolicyList(String systemType, String funPolicyType) { |
||||||
|
// QueryWrapper<PolicyManage> queryWrapper = new QueryWrapper<>();
|
||||||
|
// queryWrapper.eq("system_type", systemType);
|
||||||
|
// queryWrapper.eq("fun_policy_type", funPolicyType);
|
||||||
|
// queryWrapper.orderByAsc("order_num");
|
||||||
|
List<PolicyManage> policyManages = policyManageMapper.selectPolicyList(systemType, funPolicyType); |
||||||
|
// policyManages使用stream流,根据policyType进行数据分组,
|
||||||
|
Map<String, List<PolicyManage>> listMap = policyManages.stream() |
||||||
|
// 先按PolicyType排序
|
||||||
|
.sorted(Comparator.comparing(PolicyManage::getPolicyType)) |
||||||
|
// 再按PolicyName分组
|
||||||
|
.collect(Collectors.groupingBy(PolicyManage::getPolicyName, Collectors.toList())); |
||||||
|
// 在遍历赋值给DeviceMonitorDTO,key给name,value给list
|
||||||
|
List<DeviceMonitorDTO> list = new ArrayList<>(); |
||||||
|
listMap.keySet().forEach(k -> { |
||||||
|
DeviceMonitorDTO deviceMonitorDTO = new DeviceMonitorDTO(); |
||||||
|
deviceMonitorDTO.setName(k); |
||||||
|
deviceMonitorDTO.setValues(listMap.get(k)); |
||||||
|
list.add(deviceMonitorDTO); |
||||||
|
}); |
||||||
|
return list; |
||||||
|
} |
||||||
|
} |
Loading…
Reference in new issue