Merge branch 'main' of http://carsafe.uicp.cn/toolchaintechnologycenter/spdm-backend
This commit is contained in:
9
1-sql/2026-01-08/simulation_role_permission.sql
Normal file
9
1-sql/2026-01-08/simulation_role_permission.sql
Normal file
@@ -0,0 +1,9 @@
|
||||
CREATE TABLE `simulation_role_permission` (
|
||||
`id` int NOT NULL AUTO_INCREMENT,
|
||||
`roleId` bigint NOT NULL COMMENT '角色id(对应CID)',
|
||||
`permissionCode` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '菜单权限编码',
|
||||
`tenantId` bigint NOT NULL DEFAULT '0' COMMENT '租户ID',
|
||||
`creator` bigint NOT NULL DEFAULT '0' COMMENT '创建者ID',
|
||||
`createTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='角色菜单权限表';
|
||||
11
1-sql/2026-01-08/sys_dept_user.sql
Normal file
11
1-sql/2026-01-08/sys_dept_user.sql
Normal file
@@ -0,0 +1,11 @@
|
||||
|
||||
CREATE TABLE `sys_dept_user` (
|
||||
`id` int NOT NULL AUTO_INCREMENT,
|
||||
`deptId` bigint NOT NULL COMMENT '部门ID',
|
||||
`deptName` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '部门名称',
|
||||
`userId` bigint NOT NULL COMMENT '部门负责人用户ID',
|
||||
`tenantId` bigint NOT NULL DEFAULT '0' COMMENT '租户ID',
|
||||
`creator` bigint NOT NULL DEFAULT '0' COMMENT '创建者ID',
|
||||
`createTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='部门负责人表';
|
||||
1
1-sql/2026-01-08/system_form_configure.sql
Normal file
1
1-sql/2026-01-08/system_form_configure.sql
Normal file
@@ -0,0 +1 @@
|
||||
ALTER TABLE spdm_baseline.system_form_configure MODIFY COLUMN comment mediumtext CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL COMMENT '描述信息';
|
||||
@@ -74,13 +74,15 @@ public class SimulationReportTemplateServiceImpl extends ServiceImpl<SimulationR
|
||||
upgradeTemplate.setCreator(creator);
|
||||
upgradeTemplate.setTenantId(tenantId);
|
||||
|
||||
UploadFilesReq req = new UploadFilesReq();
|
||||
req.setFile(templateDto.getFile());
|
||||
SdmResponse<Long> response = dataFeignClient.uploadReportTemplateFile(req);
|
||||
if (!response.isSuccess()) {
|
||||
return response;
|
||||
if (templateDto.getFile() != null) {
|
||||
UploadFilesReq req = new UploadFilesReq();
|
||||
req.setFile(templateDto.getFile());
|
||||
SdmResponse<Long> response = dataFeignClient.uploadReportTemplateFile(req);
|
||||
if (!response.isSuccess()) {
|
||||
return response;
|
||||
}
|
||||
upgradeTemplate.setFileId(response.getData());
|
||||
}
|
||||
upgradeTemplate.setFileId(response.getData());
|
||||
this.save(upgradeTemplate);
|
||||
return SdmResponse.success(upgradeTemplate.getUuid());
|
||||
}
|
||||
|
||||
@@ -6,6 +6,8 @@ import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import java.time.LocalDateTime;
|
||||
import java.io.Serializable;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
@@ -99,6 +101,7 @@ public class SimulationPerformance implements Serializable {
|
||||
private String tenantId;
|
||||
|
||||
@TableField("createTime")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
@TableField("creator")
|
||||
|
||||
@@ -151,8 +151,15 @@ public class SpdmTaskDetailVo extends BaseEntity {
|
||||
private String englishName;
|
||||
private String description;
|
||||
|
||||
private String projectName;
|
||||
|
||||
private String phaseName;
|
||||
private String tag1;
|
||||
private String tag2;
|
||||
private String tag3;
|
||||
private String tag4;
|
||||
private String tag5;
|
||||
private String tag6;
|
||||
private String tag7;
|
||||
private String tag8;
|
||||
private String tag9;
|
||||
private String tag10;
|
||||
|
||||
}
|
||||
|
||||
@@ -1945,13 +1945,15 @@ public class TaskServiceImpl implements ITaskService {
|
||||
return SdmResponse.success(jsonObject);
|
||||
}
|
||||
taskVoList.forEach(task -> {
|
||||
SpdmNodeVo phaseNode = nodeMapper.getNodeById(task.getTag2());
|
||||
SpdmNodeVo phaseNode = nodeMapper.getNodeById(task.getNewTag2());
|
||||
if (phaseNode != null) {
|
||||
task.setPhaseName(phaseNode.getNodeName());
|
||||
task.setTag2(phaseNode.getNodeName());
|
||||
}
|
||||
SpdmNodeVo projectNode = nodeMapper.getNodeById(task.getTag1());
|
||||
SpdmNodeVo projectNode = nodeMapper.getNodeById(task.getNewTag1());
|
||||
if (projectNode != null) {
|
||||
task.setProjectName(projectNode.getNodeName());
|
||||
task.setTag1(projectNode.getNodeName());
|
||||
}
|
||||
});
|
||||
List<String> taskIdList = taskVoList.stream().map(SpdmNewTaskVo::getUuid).toList();
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
package com.sdm.system.controller;
|
||||
|
||||
import com.sdm.common.common.SdmResponse;
|
||||
import com.sdm.common.entity.resp.PageDataResp;
|
||||
import com.sdm.system.model.entity.SysDeptUser;
|
||||
import com.sdm.system.model.req.dept.DeptOperateReq;
|
||||
import com.sdm.system.model.req.dept.DeptQueryReq;
|
||||
import com.sdm.system.service.ISysDeptUserService;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import org.springdoc.core.annotations.ParameterObject;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Tag(name = "部门管理", description = "部门相关接口")
|
||||
@RestController
|
||||
@RequestMapping("/dept")
|
||||
public class SysDeptController {
|
||||
|
||||
@Autowired
|
||||
private ISysDeptUserService deptUserService;
|
||||
|
||||
@Operation(summary = "新增部门及负责人", description = "新增部门及负责人")
|
||||
@PostMapping("/addDept")
|
||||
public SdmResponse addDept(@RequestBody DeptOperateReq deptAddReq) {
|
||||
return deptUserService.addDept(deptAddReq);
|
||||
}
|
||||
|
||||
@Operation(summary = "新增部门及负责人", description = "新增部门及负责人")
|
||||
@PostMapping("/editDept")
|
||||
public SdmResponse editDept(@RequestBody DeptOperateReq deptAddReq) {
|
||||
return deptUserService.editDept(deptAddReq);
|
||||
}
|
||||
|
||||
@Operation(summary = "查询部门列表", description = "查询部门列表")
|
||||
@GetMapping("/listDept")
|
||||
public SdmResponse<PageDataResp<List<SysDeptUser>>> listDept(@ParameterObject DeptQueryReq req) {
|
||||
return deptUserService.listDept(req);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -7,6 +7,7 @@ import com.sdm.system.model.req.role.QueryRoleReq;
|
||||
import com.sdm.system.model.req.role.UpdateRoleReq;
|
||||
import com.sdm.system.model.req.system.AssignRolePermissionReq;
|
||||
import com.sdm.system.model.resp.SysRoleResp;
|
||||
import com.sdm.system.service.ISimulationRolePermissionService;
|
||||
import com.sdm.system.service.ISysRoleService;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
@@ -20,6 +21,8 @@ import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Tag(name = "角色管理", description = "角色相关操作接口")
|
||||
@RestController
|
||||
@RequestMapping("/role")
|
||||
@@ -29,6 +32,9 @@ public class SysRoleController {
|
||||
@Qualifier("roleService")
|
||||
private ISysRoleService sysRoleService;
|
||||
|
||||
@Autowired
|
||||
private ISimulationRolePermissionService rolePermissionService;
|
||||
|
||||
/**
|
||||
* 角色列表查询
|
||||
*/
|
||||
@@ -102,7 +108,7 @@ public class SysRoleController {
|
||||
@Operation(summary = "分配角色权限", description = "为指定角色分配权限")
|
||||
@PostMapping("/assignPermissions")
|
||||
public SdmResponse assignPermissions(@RequestBody @Valid AssignRolePermissionReq req) {
|
||||
return sysRoleService.assignPermissions(req);
|
||||
return rolePermissionService.assignPermissions(req);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -110,8 +116,7 @@ public class SysRoleController {
|
||||
*/
|
||||
@Operation(summary = "查询角色权限", description = "获取指定角色拥有的权限列表")
|
||||
@GetMapping("/getRolePermissions")
|
||||
public SdmResponse getRolePermissions(
|
||||
@Parameter(description = "角色ID") @RequestParam("id") Long id) {
|
||||
return sysRoleService.getRolePermissions(id);
|
||||
public SdmResponse<List<String>> getRolePermissions(@Parameter(description = "角色ID") @RequestParam("roleId") String roleId) {
|
||||
return rolePermissionService.getRolePermissions(Long.valueOf(roleId));
|
||||
}
|
||||
}
|
||||
@@ -8,6 +8,7 @@ import com.sdm.common.entity.resp.system.*;
|
||||
import com.sdm.common.entity.resp.PageDataResp;
|
||||
import com.sdm.common.feign.inter.system.ISysUserFeignClient;
|
||||
import com.sdm.system.model.req.user.*;
|
||||
import com.sdm.system.service.ISimulationRolePermissionService;
|
||||
import com.sdm.system.service.ISysUserService;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
@@ -29,6 +30,9 @@ public class SysUserController implements ISysUserFeignClient {
|
||||
@Qualifier("userService")
|
||||
private ISysUserService ISysUserService;
|
||||
|
||||
@Autowired
|
||||
private ISimulationRolePermissionService rolePermissionService;
|
||||
|
||||
/**
|
||||
* 新增用户
|
||||
*
|
||||
@@ -138,7 +142,7 @@ public class SysUserController implements ISysUserFeignClient {
|
||||
*/
|
||||
@Operation(summary = "查询用户角色", description = "查询用户角色接口,用于查询指定用户的角色列表")
|
||||
@GetMapping("/queryUserRole")
|
||||
public SdmResponse<CIDRoleResp> queryUserRole(@Parameter(description = "用户id") @RequestParam("userId") Long userId) {
|
||||
public SdmResponse<List<CIDRoleResp>> queryUserRole(@Parameter(description = "用户id") @RequestParam("userId") Long userId) {
|
||||
return ISysUserService.queryUserRole(userId);
|
||||
}
|
||||
|
||||
@@ -235,5 +239,11 @@ public class SysUserController implements ISysUserFeignClient {
|
||||
return ISysUserService.getUserByRoleCode(roleCode, tenantId);
|
||||
}
|
||||
|
||||
@Operation(summary = "查询用户菜单权限", description = "查询用户菜单权限")
|
||||
@GetMapping("/getUserPermissions")
|
||||
public SdmResponse<List<String>> getUserPermissions(@Parameter(description = "查询用户菜单权限请求参数") @RequestParam("userId") String userId) {
|
||||
return rolePermissionService.getUserPermissions(Long.valueOf(userId));
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
package com.sdm.system.dao;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.sdm.system.model.entity.SimulationRolePermission;
|
||||
|
||||
public interface SimulationRolePermissionMapper extends BaseMapper<SimulationRolePermission> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
package com.sdm.system.dao;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.sdm.system.model.entity.SysDeptUser;
|
||||
|
||||
public interface SysDeptUserMapper extends BaseMapper<SysDeptUser> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
package com.sdm.system.model.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@Accessors(chain = true)
|
||||
@TableName("simulation_role_permission")
|
||||
@ApiModel(value="SimulationRolePermission对象", description="角色菜单权限表")
|
||||
public class SimulationRolePermission implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Schema(description = "主键ID")
|
||||
@TableId(value = "id", type = IdType.AUTO)
|
||||
private Integer id;
|
||||
|
||||
@Schema(description = "角色id(对应CID")
|
||||
@TableField("roleId")
|
||||
private Long roleId;
|
||||
|
||||
@Schema(description = "菜单权限编码")
|
||||
@TableField("permissionCode")
|
||||
private String permissionCode;
|
||||
|
||||
@Schema(description = "所属租户ID")
|
||||
@TableField("tenantId")
|
||||
private Long tenantId;
|
||||
|
||||
@Schema(description = "创建人")
|
||||
@TableField("creator")
|
||||
private Long creator;
|
||||
|
||||
@Schema(description = "创建时间")
|
||||
@TableField("createTime")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,56 @@
|
||||
package com.sdm.system.model.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@Accessors(chain = true)
|
||||
@TableName("sys_dept_user")
|
||||
@ApiModel(value="SysDeptUser对象", description="部门负责人表")
|
||||
public class SysDeptUser implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Schema(description = "主键ID")
|
||||
@TableId(value = "id", type = IdType.AUTO)
|
||||
private Integer id;
|
||||
|
||||
@Schema(description = "部门ID")
|
||||
@TableField("deptId")
|
||||
private Long deptId;
|
||||
|
||||
@Schema(description = "部门名称")
|
||||
@TableField("deptName")
|
||||
private String deptName;
|
||||
|
||||
@Schema(description = "部门负责人用户ID")
|
||||
@TableField("userId")
|
||||
private Long userId;
|
||||
|
||||
@Schema(description = "所属租户ID")
|
||||
@TableField("tenantId")
|
||||
private Long tenantId;
|
||||
|
||||
@Schema(description = "创建人")
|
||||
@TableField("creator")
|
||||
private Long creator;
|
||||
|
||||
@Schema(description = "创建时间")
|
||||
@TableField("createTime")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package com.sdm.system.model.req.dept;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class DeptOperateReq {
|
||||
|
||||
@Schema(description = "部门名称")
|
||||
private String deptName;
|
||||
|
||||
@Schema(description = "部门负责人用户ID")
|
||||
private Long userId;
|
||||
|
||||
@Schema(description = "部门ID")
|
||||
private Long deptId;
|
||||
|
||||
@Schema(description = "主键")
|
||||
private Integer id;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package com.sdm.system.model.req.dept;
|
||||
|
||||
import com.sdm.system.model.req.BaseReq;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class DeptQueryReq extends BaseReq {
|
||||
|
||||
@Schema(description = "部门名称")
|
||||
private String deptName;
|
||||
|
||||
}
|
||||
@@ -10,8 +10,8 @@ import java.util.List;
|
||||
public class AssignRolePermissionReq {
|
||||
|
||||
@NotBlank(message = "角色ID不能为空")
|
||||
private Integer roleId;
|
||||
private String roleId;
|
||||
|
||||
@NotEmpty(message = "权限ID列表不能为空")
|
||||
private List<Integer> permissionIds;
|
||||
@NotEmpty(message = "菜单权限编码不能为空")
|
||||
private List<String> permissionCodes;
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.sdm.system.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.sdm.common.common.SdmResponse;
|
||||
import com.sdm.system.model.entity.SimulationRolePermission;
|
||||
import com.sdm.system.model.req.system.AssignRolePermissionReq;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface ISimulationRolePermissionService extends IService<SimulationRolePermission> {
|
||||
|
||||
SdmResponse assignPermissions(AssignRolePermissionReq req);
|
||||
|
||||
SdmResponse<List<String>> getRolePermissions(Long roleId);
|
||||
|
||||
SdmResponse<List<String>> getUserPermissions(Long userId);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package com.sdm.system.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.sdm.common.common.SdmResponse;
|
||||
import com.sdm.common.entity.resp.PageDataResp;
|
||||
import com.sdm.system.model.entity.SysDeptUser;
|
||||
import com.sdm.system.model.req.dept.DeptOperateReq;
|
||||
import com.sdm.system.model.req.dept.DeptQueryReq;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface ISysDeptUserService extends IService<SysDeptUser> {
|
||||
|
||||
SdmResponse addDept(DeptOperateReq deptAddReq);
|
||||
|
||||
SdmResponse editDept(DeptOperateReq deptAddReq);
|
||||
|
||||
SdmResponse<PageDataResp<List<SysDeptUser>>> listDept(DeptQueryReq req);
|
||||
|
||||
}
|
||||
@@ -33,7 +33,7 @@ public interface ISysUserService extends IService<SysUser> {
|
||||
|
||||
SdmResponse updateUserRole(UpdateUserRole req);
|
||||
|
||||
SdmResponse<CIDRoleResp> queryUserRole(Long userId);
|
||||
SdmResponse<List<CIDRoleResp>> queryUserRole(Long userId);
|
||||
|
||||
SdmResponse addGroup(GroupAddReq req);
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@ import cn.hutool.http.HttpUtil;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import com.alibaba.fastjson2.TypeReference;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.sdm.common.common.SdmResponse;
|
||||
import com.sdm.common.common.ThreadLocalContext;
|
||||
@@ -172,7 +173,7 @@ public class CIDISysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser>
|
||||
}
|
||||
|
||||
@Override
|
||||
public SdmResponse<CIDRoleResp> queryUserRole(Long userId) {
|
||||
public SdmResponse<List<CIDRoleResp>> queryUserRole(Long userId) {
|
||||
try {
|
||||
Map<String, Object> paramMap = new HashMap<>();
|
||||
paramMap.put("userId", userId);
|
||||
@@ -180,7 +181,11 @@ public class CIDISysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser>
|
||||
log.info("正在向CID用户角色API发送请求: {},参数: {}", cidUrl + queryUserRole, paramMap);
|
||||
String resultJson = HttpUtil.get(cidUrl + queryUserRole, paramMap);
|
||||
log.info("收到CID用户角色API的响应: {}", resultJson);
|
||||
SdmResponse<CIDRoleResp> result = JSON.parseObject(resultJson, SdmResponse.class);
|
||||
// SdmResponse<List<CIDRoleResp>> result = JSON.parseObject(resultJson, SdmResponse.class);
|
||||
SdmResponse<List<CIDRoleResp>> result = JSON.parseObject(
|
||||
resultJson,
|
||||
new TypeReference<SdmResponse<List<CIDRoleResp>>>() {}
|
||||
);
|
||||
return result;
|
||||
} catch (Exception e) {
|
||||
log.error("查询用户角色失败", e);
|
||||
|
||||
@@ -0,0 +1,63 @@
|
||||
package com.sdm.system.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import com.sdm.common.common.SdmResponse;
|
||||
import com.sdm.common.common.ThreadLocalContext;
|
||||
import com.sdm.common.entity.resp.PageDataResp;
|
||||
import com.sdm.common.utils.PageUtils;
|
||||
import com.sdm.system.dao.SysDeptUserMapper;
|
||||
import com.sdm.system.model.entity.SysDeptUser;
|
||||
import com.sdm.system.model.req.dept.DeptOperateReq;
|
||||
import com.sdm.system.model.req.dept.DeptQueryReq;
|
||||
import com.sdm.system.service.ISysDeptUserService;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class ISysDeptUserServiceImpl extends ServiceImpl<SysDeptUserMapper, SysDeptUser> implements ISysDeptUserService {
|
||||
|
||||
@Override
|
||||
public SdmResponse addDept(DeptOperateReq deptAddReq) {
|
||||
SysDeptUser deptUser = new SysDeptUser();
|
||||
deptUser.setDeptName(deptAddReq.getDeptName());
|
||||
deptUser.setUserId(deptAddReq.getUserId());
|
||||
deptUser.setTenantId(ThreadLocalContext.getTenantId());
|
||||
deptUser.setCreator(ThreadLocalContext.getUserId());
|
||||
deptUser.setDeptId(IdWorker.getId(deptUser));
|
||||
this.save(deptUser);
|
||||
return SdmResponse.success();
|
||||
}
|
||||
|
||||
@Override
|
||||
public SdmResponse editDept(DeptOperateReq deptEditReq) {
|
||||
SysDeptUser deptUser = this.getById(deptEditReq.getId());
|
||||
if (deptUser != null) {
|
||||
if (StringUtils.isNotBlank(deptEditReq.getDeptName())) {
|
||||
deptUser.setDeptName(deptEditReq.getDeptName());
|
||||
}
|
||||
if (deptEditReq.getUserId() != null) {
|
||||
deptUser.setUserId(deptEditReq.getUserId());
|
||||
}
|
||||
this.updateById(deptUser);
|
||||
}
|
||||
return SdmResponse.success();
|
||||
}
|
||||
|
||||
@Override
|
||||
public SdmResponse<PageDataResp<List<SysDeptUser>>> listDept(DeptQueryReq req) {
|
||||
PageHelper.startPage(req.getCurrent(), req.getSize());
|
||||
LambdaQueryWrapper<SysDeptUser> queryWrapper = new LambdaQueryWrapper<>();
|
||||
if (StringUtils.isNotEmpty(req.getDeptName())) {
|
||||
queryWrapper.like(SysDeptUser::getDeptName, req.getDeptName());
|
||||
}
|
||||
List<SysDeptUser> sysDeptUsers = this.list(queryWrapper);
|
||||
PageInfo<SysDeptUser> page = new PageInfo<>(sysDeptUsers);
|
||||
return PageUtils.getJsonObjectSdmResponse(sysDeptUsers, page);
|
||||
}
|
||||
}
|
||||
@@ -30,6 +30,7 @@ import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
@Slf4j
|
||||
@@ -169,7 +170,7 @@ public class LocalUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> im
|
||||
}
|
||||
|
||||
@Override
|
||||
public SdmResponse<CIDRoleResp> queryUserRole(Long userId) {
|
||||
public SdmResponse<List<CIDRoleResp>> queryUserRole(Long userId) {
|
||||
SysUserRoleRelation userRoleRelation = sysUserRoleRelationService.lambdaQuery().eq(SysUserRoleRelation::getUserId, userId).one();
|
||||
if (userRoleRelation == null) {
|
||||
return SdmResponse.failed("用户角色不存在");
|
||||
@@ -177,7 +178,7 @@ public class LocalUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> im
|
||||
SysRole role = sysRoleService.getById(userRoleRelation.getRoleId());
|
||||
CIDRoleResp cidRoleResp = new CIDRoleResp();
|
||||
BeanUtils.copyProperties(role, cidRoleResp);
|
||||
return SdmResponse.success(cidRoleResp);
|
||||
return SdmResponse.success(Arrays.asList(cidRoleResp));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -0,0 +1,75 @@
|
||||
package com.sdm.system.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.sdm.common.common.SdmResponse;
|
||||
import com.sdm.common.common.ThreadLocalContext;
|
||||
import com.sdm.common.entity.resp.system.CIDRoleResp;
|
||||
import com.sdm.system.dao.SimulationRolePermissionMapper;
|
||||
import com.sdm.system.model.entity.SimulationRolePermission;
|
||||
import com.sdm.system.model.req.system.AssignRolePermissionReq;
|
||||
import com.sdm.system.service.ISimulationRolePermissionService;
|
||||
import com.sdm.system.service.ISysRoleService;
|
||||
import com.sdm.system.service.ISysUserService;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class SimulationRolePermissionServiceImpl extends ServiceImpl<SimulationRolePermissionMapper, SimulationRolePermission> implements ISimulationRolePermissionService {
|
||||
|
||||
@Autowired
|
||||
@Qualifier("userService")
|
||||
private ISysUserService sysUserService;
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public SdmResponse assignPermissions(AssignRolePermissionReq req) {
|
||||
List<SimulationRolePermission> rolePermissionList = new ArrayList<>();
|
||||
String roleId = req.getRoleId();
|
||||
Long tenantId = ThreadLocalContext.getTenantId();
|
||||
Long userId = ThreadLocalContext.getUserId();
|
||||
this.lambdaUpdate().eq(SimulationRolePermission::getRoleId, roleId).remove();
|
||||
for (String permissionCode : req.getPermissionCodes()) {
|
||||
SimulationRolePermission rolePermission = new SimulationRolePermission();
|
||||
rolePermission.setRoleId(Long.valueOf(roleId));
|
||||
rolePermission.setPermissionCode(permissionCode);
|
||||
rolePermission.setTenantId(tenantId);
|
||||
rolePermission.setCreator(userId);
|
||||
rolePermissionList.add(rolePermission);
|
||||
}
|
||||
this.saveBatch(rolePermissionList);
|
||||
return SdmResponse.success();
|
||||
}
|
||||
|
||||
@Override
|
||||
public SdmResponse<List<String>> getRolePermissions(Long roleId) {
|
||||
List<SimulationRolePermission> rolePermissionList = this.lambdaQuery().eq(SimulationRolePermission::getRoleId, roleId).list();
|
||||
if (CollectionUtils.isNotEmpty(rolePermissionList)) {
|
||||
return SdmResponse.success(rolePermissionList.stream().map(SimulationRolePermission::getPermissionCode).toList());
|
||||
} else {
|
||||
return SdmResponse.success(new ArrayList<>());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public SdmResponse<List<String>> getUserPermissions(Long userId) {
|
||||
SdmResponse<List<CIDRoleResp>> cidRoleRespSdmResponse = sysUserService.queryUserRole(userId);
|
||||
if (cidRoleRespSdmResponse.getData() != null) {
|
||||
List<CIDRoleResp> cidRoleRespList = cidRoleRespSdmResponse.getData();
|
||||
List<String> userPermissionList = new ArrayList<>();
|
||||
for (CIDRoleResp cidRoleResp : cidRoleRespList) {
|
||||
List<String> rolePermissionList = getRolePermissions(cidRoleResp.getRoleId()).getData();
|
||||
if (CollectionUtils.isNotEmpty(rolePermissionList)) {
|
||||
userPermissionList.addAll(rolePermissionList);
|
||||
}
|
||||
}
|
||||
return SdmResponse.success(userPermissionList.stream().distinct().toList());
|
||||
}
|
||||
return SdmResponse.success(new ArrayList<>());
|
||||
}
|
||||
}
|
||||
@@ -146,23 +146,27 @@ public class SimuluationTaskPoolController implements ISimuluationTaskPoolFeignC
|
||||
}
|
||||
|
||||
@GetMapping(value = "statisticDisciplineConfidence")
|
||||
public SdmResponse statisticDisciplineConfidence(@RequestParam("poolName") String poolName,@RequestParam("nodeType") String nodeType)
|
||||
public SdmResponse statisticDisciplineConfidence(@RequestParam("poolName") String poolName)
|
||||
{
|
||||
return service.statisicDisciplineConfidence(poolName,nodeType);
|
||||
return service.statisicNodeTypeConfidence(poolName,"discipline");
|
||||
}
|
||||
|
||||
@GetMapping(value = "statisticDisciplineConfidenceTrend")
|
||||
public SdmResponse statisticDisciplineConfidenceTrend(@RequestParam("poolName") String poolName,@RequestParam("timeRange")String timeRange,@RequestParam("nodeType")String nodeType)
|
||||
public SdmResponse statisticDisciplineConfidenceTrend(@RequestParam("poolName") String poolName,@RequestParam("timeRange")String timeRange)
|
||||
{
|
||||
return service.staticDisciplineConfidenceTrend(poolName,timeRange,nodeType);
|
||||
return service.staticNodeTypeConfidenceTrend(poolName,timeRange,"discipline");
|
||||
}
|
||||
|
||||
@GetMapping(value = "statisticDisciplineDifficulty")
|
||||
public SdmResponse statisticDisciplineDifficulty(@RequestParam("poolName") String poolName,@RequestParam("nodeType") String nodeType)
|
||||
public SdmResponse statisticDisciplineDifficulty(@RequestParam("poolName") String poolName)
|
||||
{
|
||||
return service.statisicDisciplineDifficulty(poolName,nodeType);
|
||||
return service.statisicNodeTypeDifficulty(poolName,"discipline");
|
||||
}
|
||||
|
||||
|
||||
@GetMapping(value = "statisticWorkspaceConfidence")
|
||||
public SdmResponse statisticWorkspaceConfidence(@RequestParam("poolName") String poolName)
|
||||
{
|
||||
return service.statisicNodeTypeConfidence(poolName,"workspace");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -161,8 +161,8 @@ public interface SimulationPoolMapper {
|
||||
@Delete("DELETE FROM simulation_pool_node WHERE uuid = #{nodeId}")
|
||||
int deleteTaskPoolNode(@Param("nodeId")String nodeId);
|
||||
|
||||
@Select("SELECT DISTINCT(nodeName) FROM simulation_pool_node WHERE nodeType='discipline' AND poolName=#{poolName}")
|
||||
List<String> queryTaskPoolAllDiscipline(@Param("poolName") String poolName);
|
||||
@Select("SELECT DISTINCT(nodeName) FROM simulation_pool_node WHERE nodeType=#{nodeType} AND poolName=#{poolName}")
|
||||
List<String> queryTaskPoolAllNodeNameByNodeType(@Param("poolName") String poolName,@Param("nodeType")String nodeType);
|
||||
|
||||
|
||||
@Delete("DELETE FROM simulation_pool_node_extra WHERE nodeId=#{nodeId}")
|
||||
@@ -260,23 +260,22 @@ public interface SimulationPoolMapper {
|
||||
@Select("SELECT * FROM simulation_taskpool_flowtemplate_relate WHERE poolName=#{poolName} AND version=#{version}")
|
||||
List<SimulatePoolTaskFlowTemplateRelate> queryTaskFlowRelateByPoolVersion(@Param("poolName")String poolName,@Param("version")String version);
|
||||
|
||||
@Select("SELECT discipline,AVG(confidence) confidence FROM simulation_task_confidence_difficulty_month_record WHERE month=#{month} AND confidence > 0 GROUP BY discipline")
|
||||
List<DisciplineConfidenceInfo> statisticDisciplineLastConfidence(@Param("month")String month);
|
||||
@Select("SELECT nodeName,AVG(confidence) confidence FROM simulation_task_confidence_difficulty_month_record WHERE month=#{month} AND confidence > 0 AND nodeType=#{nodeType} GROUP BY nodeName")
|
||||
List<DisciplineConfidenceInfo> statisticNodeLastConfidence(@Param("month")String month,@Param("nodeType") String nodeType);
|
||||
|
||||
@Select("SELECT discipline,AVG(difficulty) difficulty FROM simulation_task_confidence_difficulty_month_record WHERE month=#{month} AND difficulty > 0 GROUP BY discipline")
|
||||
List<DisciplineDifficultyInfo> statisticDisciplineLastDifficulty(@Param("month")String month);
|
||||
@Select("SELECT nodeName,AVG(difficulty) difficulty FROM simulation_task_confidence_difficulty_month_record WHERE month=#{month} AND nodeType=#{nodeType} AND difficulty > 0 GROUP BY nodeName")
|
||||
List<DisciplineDifficultyInfo> statisticDisciplineLastDifficulty(@Param("month")String month,@Param("nodeType")String nodeType);
|
||||
|
||||
@Insert("INSERT INTO simulation_task_confidence_difficulty_month_record(discipline,taskName,taskCode,confidence,difficulty,month) VALUES (#{entity.discipline},#{entity.taskName},#{entity.taskCode},#{entity.confidence},#{entity.difficulty},#{entity.month})")
|
||||
@Insert("INSERT INTO simulation_task_confidence_difficulty_month_record(nodeName,nodeType,taskName,taskCode,confidence,difficulty,month) VALUES (#{entity.nodeName},#{entity.nodeType},#{entity.taskName},#{entity.taskCode},#{entity.confidence},#{entity.difficulty},#{entity.month})")
|
||||
int addDisciplineTaskMonthRecord(@Param("entity")DisciplineTaskConfidenceDifficultyRecord entity);
|
||||
|
||||
@Select("SELECT * FROM simulation_task_confidence_difficulty_month_record WHERE discipline=#{discipline} AND taskCode=#{taskCode} AND month=#{month}")
|
||||
List<DisciplineTaskConfidenceDifficultyRecord> queryDisciplineTaskMonthRecord(@Param("discipline")String discipline,@Param("taskCode")String taskCode,@Param("month")String month);
|
||||
@Select("SELECT * FROM simulation_task_confidence_difficulty_month_record WHERE nodeName=#{nodeName} AND taskCode=#{taskCode} AND month=#{month} AND nodeType=#{nodeType}")
|
||||
List<DisciplineTaskConfidenceDifficultyRecord> queryDisciplineTaskMonthRecord(@Param("nodeName")String nodeName,@Param("taskCode")String taskCode,@Param("month")String month,@Param("nodeType")String nodeType);
|
||||
|
||||
@Update("UPDATE simulation_task_confidence_difficulty_month_record SET confidence=#{entity.confidence},difficulty=#{entity.difficulty} WHERE discipline=#{entity.discipline} AND taskCode=#{entity.taskCode} AND month=#{entity.month}")
|
||||
@Update("UPDATE simulation_task_confidence_difficulty_month_record SET confidence=#{entity.confidence},difficulty=#{entity.difficulty} WHERE nodeName=#{entity.nodeName} AND nodeType=#{entity.nodeType} AND taskCode=#{entity.taskCode} AND month=#{entity.month}")
|
||||
int updateDisciplineTaskMonthRecord(@Param("entity")DisciplineTaskConfidenceDifficultyRecord entity);
|
||||
|
||||
@Select("SELECT month,AVG(confidence) FROM simulation_task_confidence_difficulty_month_record WHERE discipline=#{discipline} AND ${timeCondition} GROUP BY month ORDER BY month")
|
||||
List<DisciplineConfidenceInfo> statisticDisciplineConfidenceTrend(@Param("discipline")String discipline,@Param("timeCondition")String timeCondition);
|
||||
|
||||
@Select("SELECT month,AVG(confidence) FROM simulation_task_confidence_difficulty_month_record WHERE nodeName=#{nodeName} AND nodeType=#{nodeType} AND ${timeCondition} GROUP BY month ORDER BY month")
|
||||
List<DisciplineConfidenceInfo> statisticDisciplineConfidenceTrend(@Param("nodeName")String nodeName,@Param("nodeType")String nodeType,@Param("timeCondition")String timeCondition);
|
||||
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.sdm.task.model.dto;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
@@ -69,6 +70,7 @@ public class TaskPerformanceDto {
|
||||
private String tenantId;
|
||||
|
||||
@Schema(description = "创建时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
@Schema(description = "父ID")
|
||||
|
||||
@@ -2,7 +2,7 @@ package com.sdm.task.model.entity;
|
||||
|
||||
public class DisciplineConfidenceInfo {
|
||||
|
||||
public String discipline;
|
||||
public String nodeName;
|
||||
|
||||
public String month;
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ package com.sdm.task.model.entity;
|
||||
|
||||
public class DisciplineDifficultyInfo {
|
||||
|
||||
public String discipline;
|
||||
public String nodeName;
|
||||
|
||||
public float difficulty;
|
||||
}
|
||||
|
||||
@@ -8,7 +8,9 @@ public class DisciplineTaskConfidenceDifficultyRecord {
|
||||
|
||||
public String taskCode;
|
||||
|
||||
public String discipline;
|
||||
public String nodeName;
|
||||
|
||||
public String nodeType;
|
||||
|
||||
public float confidence;
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ import java.util.List;
|
||||
|
||||
public class DiscplineConfidenceTrendInfo {
|
||||
|
||||
public String discipline;
|
||||
public String nodeName;
|
||||
|
||||
public List<DisciplineConfidenceInfo> disciplineConfidenceInfoList ;
|
||||
}
|
||||
@@ -6,6 +6,8 @@ import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import java.time.LocalDateTime;
|
||||
import java.io.Serializable;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
@@ -99,6 +101,7 @@ public class SimulationPerformance implements Serializable {
|
||||
private String tenantId;
|
||||
|
||||
@TableField("createTime")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
@TableField("creator")
|
||||
|
||||
@@ -62,10 +62,10 @@ public interface ISimulationTaskPoolService {
|
||||
|
||||
SdmResponse updateFlowTaskRelate(BindTaskAndFlowTemplateReq req);
|
||||
|
||||
SdmResponse statisicDisciplineConfidence(String poolName,String nodeType);
|
||||
SdmResponse statisicNodeTypeConfidence(String poolName,String nodeType);
|
||||
|
||||
SdmResponse staticDisciplineConfidenceTrend(String poolName,String timeRange,String nodeType);
|
||||
SdmResponse staticNodeTypeConfidenceTrend(String poolName,String timeRange,String nodeType);
|
||||
|
||||
SdmResponse statisicDisciplineDifficulty(String poolName,String nodeType);
|
||||
SdmResponse statisicNodeTypeDifficulty(String poolName,String nodeType);
|
||||
|
||||
}
|
||||
|
||||
@@ -2340,23 +2340,23 @@ public class SimulationTaskPoolServiceImpl extends BaseService implements ISimul
|
||||
* @param poolName
|
||||
* @return
|
||||
*/
|
||||
public SdmResponse statisicDisciplineConfidence(String poolName,String nodeType)
|
||||
public SdmResponse statisicNodeTypeConfidence(String poolName,String nodeType)
|
||||
{
|
||||
SdmResponse response = SdmResponse.success();
|
||||
syncProjectTaskConfidence(nodeType);
|
||||
List<String> disciplineNames = mapper.queryTaskPoolAllDiscipline(poolName);
|
||||
List<String> nodeNames = mapper.queryTaskPoolAllNodeNameByNodeType(poolName,nodeType);
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
|
||||
String month = sdf.format(new Date());
|
||||
List<DisciplineConfidenceInfo> confidenceInfos = mapper.statisticDisciplineLastConfidence(month);
|
||||
List<DisciplineConfidenceInfo> confidenceInfos = mapper.statisticNodeLastConfidence(month,nodeType);
|
||||
Map<String,DisciplineConfidenceInfo> disciplineConfidenceInfoMap = new HashMap<>();
|
||||
for(DisciplineConfidenceInfo confidenceInfo : confidenceInfos)
|
||||
{
|
||||
disciplineConfidenceInfoMap.put(confidenceInfo.discipline,confidenceInfo);
|
||||
disciplineConfidenceInfoMap.put(confidenceInfo.nodeName,confidenceInfo);
|
||||
}
|
||||
List<DisciplineConfidenceInfo> disciplineConfidenceInfoList = new ArrayList<>();
|
||||
for(String discipline : disciplineNames)
|
||||
for(String nodeName : nodeNames)
|
||||
{
|
||||
DisciplineConfidenceInfo confidenceInfo = disciplineConfidenceInfoMap.get(discipline);
|
||||
DisciplineConfidenceInfo confidenceInfo = disciplineConfidenceInfoMap.get(nodeName);
|
||||
if(confidenceInfo != null)
|
||||
{
|
||||
disciplineConfidenceInfoList.add(confidenceInfo);
|
||||
@@ -2364,7 +2364,7 @@ public class SimulationTaskPoolServiceImpl extends BaseService implements ISimul
|
||||
else
|
||||
{
|
||||
DisciplineConfidenceInfo info = new DisciplineConfidenceInfo();
|
||||
info.discipline = discipline;
|
||||
info.nodeName = nodeName;
|
||||
info.confidence = 0;
|
||||
disciplineConfidenceInfoList.add(info);
|
||||
}
|
||||
@@ -2379,7 +2379,7 @@ public class SimulationTaskPoolServiceImpl extends BaseService implements ISimul
|
||||
* @param timeRange
|
||||
* @return
|
||||
*/
|
||||
public SdmResponse staticDisciplineConfidenceTrend(String poolName,String timeRange,String nodeType)
|
||||
public SdmResponse staticNodeTypeConfidenceTrend(String poolName,String timeRange,String nodeType)
|
||||
{
|
||||
SdmResponse response = SdmResponse.success();
|
||||
syncProjectTaskConfidence(nodeType);
|
||||
@@ -2389,7 +2389,7 @@ public class SimulationTaskPoolServiceImpl extends BaseService implements ISimul
|
||||
}
|
||||
else
|
||||
{
|
||||
List<String> disciplineNames = mapper.queryTaskPoolAllDiscipline(poolName);
|
||||
List<String> nodeNames = mapper.queryTaskPoolAllNodeNameByNodeType(poolName,nodeType);
|
||||
String[] yearMonths = timeRange.split(",");
|
||||
String timeCondition = " 1 ";
|
||||
if(yearMonths.length == 1)
|
||||
@@ -2401,11 +2401,11 @@ public class SimulationTaskPoolServiceImpl extends BaseService implements ISimul
|
||||
timeCondition += " AND month BETWEEN '"+yearMonths[0]+"' AND '"+yearMonths[1]+"'";
|
||||
}
|
||||
List<DiscplineConfidenceTrendInfo> discplineConfidenceTrendInfos = new ArrayList<>();
|
||||
for(String discipline : disciplineNames)
|
||||
for(String nodeName : nodeNames)
|
||||
{
|
||||
List<DisciplineConfidenceInfo> disciplineConfidenceInfoList = mapper.statisticDisciplineConfidenceTrend(discipline,timeCondition);
|
||||
List<DisciplineConfidenceInfo> disciplineConfidenceInfoList = mapper.statisticDisciplineConfidenceTrend(nodeName,nodeType,timeCondition);
|
||||
DiscplineConfidenceTrendInfo trendInfo = new DiscplineConfidenceTrendInfo();
|
||||
trendInfo.discipline = discipline;
|
||||
trendInfo.nodeName = nodeName;
|
||||
trendInfo.disciplineConfidenceInfoList = disciplineConfidenceInfoList;
|
||||
discplineConfidenceTrendInfos.add(trendInfo);
|
||||
}
|
||||
@@ -2419,23 +2419,23 @@ public class SimulationTaskPoolServiceImpl extends BaseService implements ISimul
|
||||
* @param poolName
|
||||
* @return
|
||||
*/
|
||||
public SdmResponse statisicDisciplineDifficulty(String poolName,String nodeType)
|
||||
public SdmResponse statisicNodeTypeDifficulty(String poolName,String nodeType)
|
||||
{
|
||||
SdmResponse response = SdmResponse.success();
|
||||
syncProjectTaskDifficulty(nodeType);
|
||||
List<String> disciplineNames = mapper.queryTaskPoolAllDiscipline(poolName);
|
||||
List<String> nodeNames = mapper.queryTaskPoolAllNodeNameByNodeType(poolName,nodeType);
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
|
||||
String month = sdf.format(new Date());
|
||||
List<DisciplineDifficultyInfo> confidenceInfos = mapper.statisticDisciplineLastDifficulty(month);
|
||||
List<DisciplineDifficultyInfo> confidenceInfos = mapper.statisticDisciplineLastDifficulty(month,nodeType);
|
||||
Map<String,DisciplineDifficultyInfo> disciplineDifficultyInfoMap = new HashMap<>();
|
||||
for(DisciplineDifficultyInfo confidenceInfo : confidenceInfos)
|
||||
{
|
||||
disciplineDifficultyInfoMap.put(confidenceInfo.discipline,confidenceInfo);
|
||||
disciplineDifficultyInfoMap.put(confidenceInfo.nodeName,confidenceInfo);
|
||||
}
|
||||
List<DisciplineDifficultyInfo> disciplineDifficultyInfos = new ArrayList<>();
|
||||
for(String discipline : disciplineNames)
|
||||
for(String nodeName : nodeNames)
|
||||
{
|
||||
DisciplineDifficultyInfo difficultyInfo = disciplineDifficultyInfoMap.get(discipline);
|
||||
DisciplineDifficultyInfo difficultyInfo = disciplineDifficultyInfoMap.get(nodeName);
|
||||
if(difficultyInfo != null)
|
||||
{
|
||||
disciplineDifficultyInfos.add(difficultyInfo);
|
||||
@@ -2443,7 +2443,7 @@ public class SimulationTaskPoolServiceImpl extends BaseService implements ISimul
|
||||
else
|
||||
{
|
||||
DisciplineDifficultyInfo info = new DisciplineDifficultyInfo();
|
||||
info.discipline = discipline;
|
||||
info.nodeName = nodeName;
|
||||
info.difficulty = 0;
|
||||
disciplineDifficultyInfos.add(info);
|
||||
}
|
||||
@@ -2457,7 +2457,7 @@ public class SimulationTaskPoolServiceImpl extends BaseService implements ISimul
|
||||
* @param statisticArray
|
||||
* @param type
|
||||
*/
|
||||
private void handleSyncProjectTaskRecord(List<JSONObject> statisticArray,int type)
|
||||
private void handleSyncProjectTaskRecord(List<JSONObject> statisticArray,int type,String nodeType)
|
||||
{
|
||||
|
||||
Map<String,List<Float>> taskConfidencesMap = new HashMap<>();
|
||||
@@ -2465,7 +2465,7 @@ public class SimulationTaskPoolServiceImpl extends BaseService implements ISimul
|
||||
for(int index=0; index<statisticArray.size(); index++)
|
||||
{
|
||||
JSONObject taskConfidence = (JSONObject)statisticArray.get(index);
|
||||
String discipline = taskConfidence.getString("discipline");
|
||||
String nodeName = taskConfidence.getString("nodeName");
|
||||
String taskCode = taskConfidence.getString("taskCode");
|
||||
String taskName = taskConfidence.getString("taskName");
|
||||
float floatVal = 0;
|
||||
@@ -2473,7 +2473,7 @@ public class SimulationTaskPoolServiceImpl extends BaseService implements ISimul
|
||||
floatVal = taskConfidence.getFloat("confidence");
|
||||
else
|
||||
floatVal = taskConfidence.getFloat("difficult");
|
||||
String key = discipline + "_" + taskCode;
|
||||
String key = nodeName + "_" + taskCode;
|
||||
taskConfidencesMap.computeIfAbsent(key, k -> new ArrayList<>()).add(floatVal);
|
||||
taskCodeAndNameMap.put(taskCode, taskName);
|
||||
}
|
||||
@@ -2482,7 +2482,7 @@ public class SimulationTaskPoolServiceImpl extends BaseService implements ISimul
|
||||
for(String key : taskConfidencesMap.keySet())
|
||||
{
|
||||
String[] keyHeader = key.split("_");
|
||||
String discipline = keyHeader[0];
|
||||
String nodeName = keyHeader[0];
|
||||
String taskCode = keyHeader[1];
|
||||
List<Float> confidenceList = taskConfidencesMap.get(key);
|
||||
float confidence = 0;
|
||||
@@ -2491,11 +2491,12 @@ public class SimulationTaskPoolServiceImpl extends BaseService implements ISimul
|
||||
confidence += f;
|
||||
}
|
||||
confidence = confidence / taskConfidencesMap.size();
|
||||
List<DisciplineTaskConfidenceDifficultyRecord> records = mapper.queryDisciplineTaskMonthRecord(discipline,taskCode,month);
|
||||
List<DisciplineTaskConfidenceDifficultyRecord> records = mapper.queryDisciplineTaskMonthRecord(nodeName,taskCode,month,nodeType);
|
||||
if(records == null || records.isEmpty())
|
||||
{
|
||||
DisciplineTaskConfidenceDifficultyRecord record = new DisciplineTaskConfidenceDifficultyRecord();
|
||||
record.discipline = discipline;
|
||||
record.nodeName = nodeName;
|
||||
record.nodeType = nodeType;
|
||||
record.taskCode = taskCode;
|
||||
record.confidence = 0;
|
||||
record.difficulty = 0;
|
||||
@@ -2535,7 +2536,7 @@ public class SimulationTaskPoolServiceImpl extends BaseService implements ISimul
|
||||
if(response.isSuccess())
|
||||
{
|
||||
List<JSONObject> taskConfidences = (List<JSONObject>)response.getData();
|
||||
handleSyncProjectTaskRecord(taskConfidences,0);
|
||||
handleSyncProjectTaskRecord(taskConfidences,0,nodeType);
|
||||
}
|
||||
return response;
|
||||
}
|
||||
@@ -2550,7 +2551,7 @@ public class SimulationTaskPoolServiceImpl extends BaseService implements ISimul
|
||||
if(response.isSuccess())
|
||||
{
|
||||
List<JSONObject> taskDifficulty = (List<JSONObject>)response.getData();
|
||||
handleSyncProjectTaskRecord(taskDifficulty,1);
|
||||
handleSyncProjectTaskRecord(taskDifficulty,1,nodeType);
|
||||
}
|
||||
return response;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user