feat(domain): 完善领域管理系统功能
parent
f79685b4da
commit
1043ec5efd
|
|
@ -20,7 +20,7 @@ spring:
|
|||
file-extension: yml
|
||||
shared-configs:
|
||||
- config-common.yml
|
||||
# - config-port.yml
|
||||
- config-port.yml
|
||||
- config-mq.yml
|
||||
- config-log.yml
|
||||
- config-sdk-server.yml
|
||||
|
|
@ -36,5 +36,3 @@ spring:
|
|||
discovery:
|
||||
server-addr: ${spring.cloud.nacos.config.server-addr}
|
||||
namespace: ${spring.cloud.nacos.config.namespace}
|
||||
server:
|
||||
port: 8080
|
||||
|
|
@ -44,12 +44,12 @@ public class DomainDepartmentController {
|
|||
|
||||
@ApiOperation("分页")
|
||||
@PostMapping("/list")
|
||||
@PreAuthorize("@pms.hasAnyPermission('lybmgl')")
|
||||
// @PreAuthorize("@pms.hasAnyPermission('lybmgl')")
|
||||
public PageResponse<DomainDepartmentListCO> page(@RequestBody DomainDepartmentPageQry qry) {
|
||||
return domainDepartmentService.listPage(qry);
|
||||
}
|
||||
|
||||
@ApiOperation("所有数据")
|
||||
@ApiOperation("领域部门所有数据")
|
||||
@PostMapping("/listAll")
|
||||
public MultiResponse<DomainDepartmentCO> listAll() {
|
||||
List<DomainDepartmentCO> domainDepartmentCOList = domainDepartmentService.listAll();
|
||||
|
|
|
|||
|
|
@ -38,13 +38,13 @@ public class DomainDepartmentUserController {
|
|||
|
||||
@ApiOperation("领域部门下审核人员分页")
|
||||
@PostMapping("/list")
|
||||
public PageResponse<DomainDepartmentUserCO> page(@RequestBody DomainDepartmentUserPageQry qry) {
|
||||
public PageResponse<DomainDepartmentUserCO> page(@Validated @RequestBody DomainDepartmentUserPageQry qry) {
|
||||
return domainDepartmentUserService.listPage(qry);
|
||||
}
|
||||
|
||||
@ApiOperation("领域部门下审核人员所有数据")
|
||||
@PostMapping("/listAll")
|
||||
public MultiResponse<DomainDepartmentUserCO> listAll(@RequestBody DomainDepartmentUserPageQry qry) {
|
||||
public MultiResponse<DomainDepartmentUserCO> listAll(@Validated @RequestBody DomainDepartmentUserPageQry qry) {
|
||||
return MultiResponse.of(domainDepartmentUserService.listAll(qry));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -50,12 +50,12 @@ public class DomainGroupController {
|
|||
|
||||
@ApiOperation("领域组分页")
|
||||
@PostMapping("/list")
|
||||
@PreAuthorize("@pms.hasAnyPermission('lyzgl')")
|
||||
// @PreAuthorize("@pms.hasAnyPermission('lyzgl')")
|
||||
public PageResponse<DomainGroupCO> page(@RequestBody DomainGroupPageQry qry) {
|
||||
return domainGroupService.listPage(qry);
|
||||
}
|
||||
|
||||
@ApiOperation("所有数据")
|
||||
@ApiOperation("领域组所有数据")
|
||||
@PostMapping("/listAll")
|
||||
public MultiResponse<DomainGroupCO> listAll(@RequestBody DomainGroupQry qry) {
|
||||
return MultiResponse.of(domainGroupService.listAll(qry));
|
||||
|
|
|
|||
|
|
@ -38,13 +38,13 @@ public class DomainGroupUserController {
|
|||
|
||||
@ApiOperation("领域组人员分页")
|
||||
@PostMapping("/list")
|
||||
public PageResponse<DomainGroupUserCO> page(@RequestBody DomainGroupUserPageQry qry) {
|
||||
public PageResponse<DomainGroupUserCO> page(@Validated @RequestBody DomainGroupUserPageQry qry) {
|
||||
return domainGroupUserService.listPage(qry);
|
||||
}
|
||||
|
||||
@ApiOperation("领域组人员所有数据")
|
||||
@PostMapping("/listAll")
|
||||
public MultiResponse<DomainGroupUserCO> listAll(@RequestBody DomainGroupUserPageQry qry) {
|
||||
public MultiResponse<DomainGroupUserCO> listAll(@Validated @RequestBody DomainGroupUserPageQry qry) {
|
||||
return MultiResponse.of(domainGroupUserService.listAll(qry));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -42,15 +42,15 @@ public class ProjectTaskController {
|
|||
}
|
||||
|
||||
@ApiOperation("课题任务分页")
|
||||
@PostMapping("/projectpage")
|
||||
@PreAuthorize("@pms.hasAnyPermission('gfd-ktrw','qyd-ktrw')")
|
||||
@PostMapping("/projectPage")
|
||||
// @PreAuthorize("@pms.hasAnyPermission('gfd-ktrw','qyd-ktrw')")
|
||||
public PageResponse<ProjectTaskCO> listPage(@RequestBody ProjectTaskPageQry qry) {
|
||||
return projectTaskService.listPage(qry);
|
||||
}
|
||||
|
||||
@ApiOperation("课题评分分页")
|
||||
@PostMapping("/projectScorepage")
|
||||
@PreAuthorize("@pms.hasAnyPermission('gfd-ktpf','qyd-ktpf')")
|
||||
// @PreAuthorize("@pms.hasAnyPermission('gfd-ktpf','qyd-ktpf')")
|
||||
public PageResponse<ProjectTaskCO> projectScorepage(@RequestBody ProjectTaskPageQry qry) {
|
||||
return projectTaskService.listPage(qry);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ import java.util.ArrayList;
|
|||
@AllArgsConstructor
|
||||
public class ProjectTaskInfoController {
|
||||
private final ProjectTaskInfoServiceI projectTaskInfoService;
|
||||
@ApiOperation("新增课题反馈任务项")
|
||||
@ApiOperation("更新课题反馈任务项")
|
||||
@PutMapping("/edit")
|
||||
public SingleResponse edit(@Validated @RequestBody ProjectTaskInfoUpdateCmd projectTaskInfoUpdateCmd) {
|
||||
projectTaskInfoService.edit(projectTaskInfoUpdateCmd);
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
package com.zcloud.domain.command;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import com.alibaba.cola.exception.BizException;
|
||||
import com.zcloud.domain.command.convertor.DomainGroupUserCoConvertor;
|
||||
import com.zcloud.domain.domain.gateway.DomainGroupGateway;
|
||||
|
|
@ -8,7 +9,9 @@ import com.zcloud.domain.dto.DomainDepartmentUserAddCmd;
|
|||
import com.zcloud.domain.dto.DomainGroupAddCmd;
|
||||
import com.zcloud.domain.dto.DomainGroupUserAddCmd;
|
||||
import com.zcloud.domain.persistence.dataobject.DomainDepartmentUserDO;
|
||||
import com.zcloud.domain.persistence.dataobject.DomainGroupDO;
|
||||
import com.zcloud.domain.persistence.dataobject.DomainGroupUserDO;
|
||||
import com.zcloud.domain.persistence.repository.DomainGroupRepository;
|
||||
import com.zcloud.domain.persistence.repository.DomainGroupUserRepository;
|
||||
import com.zcloud.gbscommon.utils.Tools;
|
||||
import lombok.AllArgsConstructor;
|
||||
|
|
@ -29,6 +32,7 @@ import java.util.List;
|
|||
@AllArgsConstructor
|
||||
public class DomainGroupAddExe {
|
||||
private final DomainGroupGateway domainGroupGateway;
|
||||
private final DomainGroupRepository domainGroupRepository;
|
||||
private final DomainGroupUserRepository domainGroupUserRepository;
|
||||
private final DomainGroupUserCoConvertor domainDepartmentUserCoConvertor;
|
||||
|
||||
|
|
@ -36,6 +40,13 @@ public class DomainGroupAddExe {
|
|||
public boolean execute(DomainGroupAddCmd cmd) {
|
||||
DomainGroupE domainGroupE = new DomainGroupE();
|
||||
BeanUtils.copyProperties(cmd, domainGroupE);
|
||||
|
||||
//判断一个小组,只能负责一个领域;领域小组必须为,分子公办公司;
|
||||
cmd.getCorpinfoId();
|
||||
List<DomainGroupDO> domainGroupDOList =domainGroupRepository.getListByCorpinfoId(cmd.getCorpinfoId());
|
||||
if (CollUtil.isNotEmpty(domainGroupDOList)) {
|
||||
throw new BizException("该公司已存在领域小组");
|
||||
}
|
||||
boolean res = false;
|
||||
try {
|
||||
res = domainGroupGateway.add(domainGroupE);
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ package com.zcloud.domain.command;
|
|||
|
||||
import com.alibaba.cola.exception.BizException;
|
||||
import com.zcloud.domain.domain.enums.CommonFlagEnum;
|
||||
import com.zcloud.domain.domain.enums.ScoreStatusEnum;
|
||||
import com.zcloud.domain.domain.gateway.ProjectTaskScoreInfoGateway;
|
||||
import com.zcloud.domain.domain.model.ProjectTaskScoreInfoE;
|
||||
import com.zcloud.domain.dto.ProjectTaskScoreInfoUpdateCmd;
|
||||
|
|
@ -63,7 +64,12 @@ public class ProjectTaskScoreInfoUpdateExe {
|
|||
// 计算平均分并保留两位小数
|
||||
BigDecimal averageScore = totalScore.divide(new BigDecimal(listByTaskId.size()),2,RoundingMode.HALF_UP);
|
||||
|
||||
projectTaskRepository.updateScoreStatus(info.getProjectTaskId(), CommonFlagEnum.YES.getCode(),averageScore);
|
||||
projectTaskRepository.updateScoreStatus(info.getProjectTaskId(), ScoreStatusEnum.SCORED.getCode(),averageScore);
|
||||
}else{
|
||||
//修改为评分中
|
||||
projectTaskRepository.updateScoreStatus(info.getProjectTaskId(), ScoreStatusEnum.SCOREING.getCode(),null);
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@ public class ProjectTaskUpdateExe {
|
|||
throw new BizException("数据不存在");
|
||||
}
|
||||
if(ProjectTaskExecuteStatusEnum.FINISHED.getCode().equals(projectTaskDO.getExecuteStatus())){
|
||||
throw new BizException("已结束的课题不能删除");
|
||||
throw new BizException("已结束的课题不能修改");
|
||||
}
|
||||
|
||||
ProjectTaskE projectTaskE = new ProjectTaskE();
|
||||
|
|
|
|||
|
|
@ -14,10 +14,7 @@ import com.zcloud.domain.persistence.dataobject.ProjectTaskDO;
|
|||
import com.zcloud.domain.persistence.dataobject.ProjectTaskGroupUserDO;
|
||||
import com.zcloud.domain.persistence.dataobject.ProjectTaskInfoDO;
|
||||
import com.zcloud.domain.persistence.dataobject.ProjectTaskScoreInfoDO;
|
||||
import com.zcloud.domain.persistence.repository.ProjectTaskGroupUserRepository;
|
||||
import com.zcloud.domain.persistence.repository.ProjectTaskInfoRepository;
|
||||
import com.zcloud.domain.persistence.repository.ProjectTaskRepository;
|
||||
import com.zcloud.domain.persistence.repository.ProjectTaskScoreInfoRepository;
|
||||
import com.zcloud.domain.persistence.repository.*;
|
||||
import com.zcloud.gbscommon.utils.PageQueryHelper;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
|
|
@ -44,6 +41,7 @@ public class ProjectTaskQueryExe {
|
|||
private final ProjectTaskScoreInfoCoConvertor projectTaskScoreInfoCoConvertor;
|
||||
private final ProjectTaskGroupUserRepository projectTaskGroupUserRepository;
|
||||
private final ProjectTaskGroupUserCoConvertor projectTaskGroupUserCoConvertor;
|
||||
private final CorpInfoRepository corpInfoRepository;
|
||||
|
||||
/**
|
||||
* 分页
|
||||
|
|
@ -55,6 +53,26 @@ public class ProjectTaskQueryExe {
|
|||
Map<String, Object> params = PageQueryHelper.toHashMap(projectTaskPageQry);
|
||||
PageResponse<ProjectTaskDO> pageResponse = projectTaskRepository.listPage(params);
|
||||
List<ProjectTaskCO> examCenterCOS = projectTaskCoConvertor.converDOsToCOs(pageResponse.getData());
|
||||
|
||||
|
||||
/**
|
||||
*权限控制
|
||||
* 1. 股份端看所有数据,企业端只能执行单位是自己的数据
|
||||
* 2. 主账号可以修改企业下创建的所有数据,个人账号,只能修改自己创建的数据
|
||||
*/
|
||||
examCenterCOS.forEach(videoCoursewareCO -> {
|
||||
//如果是企业,可以看本企业下所有的,如果是个人,只能看个人的,判断登录的账号是企业主账号还是个人
|
||||
Boolean isCorpAccount = corpInfoRepository.checkCorp();
|
||||
// 企业账户:检查租户ID匹配
|
||||
if (isCorpAccount && AuthContext.getTenantId().equals(videoCoursewareCO.getTenantId())) {
|
||||
videoCoursewareCO.setIsUserCreate(true);
|
||||
return;
|
||||
}
|
||||
// 个人账户:检查创建者ID匹配
|
||||
if (!isCorpAccount && videoCoursewareCO.getCreateId().equals(AuthContext.getUserId())) {
|
||||
videoCoursewareCO.setIsUserCreate(true);
|
||||
}
|
||||
});
|
||||
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -4,6 +4,8 @@ import com.alibaba.cola.dto.PageQuery;
|
|||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
|
||||
|
||||
/**
|
||||
* web-client
|
||||
|
|
@ -25,6 +27,7 @@ public class DomainDepartmentUserPageQry extends PageQuery {
|
|||
* - `ne`: 不等比较查询,对应SQL的!=操作符
|
||||
*/
|
||||
@ApiModelProperty(value = "领域部门id", name = "domainDepartmentId")
|
||||
@NotEmpty(message = "领域部门不能为空")
|
||||
private String domainDepartmentId;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -28,5 +28,7 @@ public class DomainGroupQry{
|
|||
private String domainType;
|
||||
@ApiModelProperty(value = "领域管理组名称")
|
||||
private String domainGroupName;
|
||||
|
||||
private Long corpinfoId;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -4,6 +4,8 @@ import com.alibaba.cola.dto.PageQuery;
|
|||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
|
||||
|
||||
/**
|
||||
* web-client
|
||||
|
|
@ -25,6 +27,7 @@ public class DomainGroupUserPageQry extends PageQuery {
|
|||
* - `ne`: 不等比较查询,对应SQL的!=操作符
|
||||
*/
|
||||
@ApiModelProperty(value = "领域组id", name = "domainGroupId", required = true)
|
||||
@NotEmpty(message = "领域组不能为空")
|
||||
private String domainGroupId;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ import java.io.Serializable;
|
|||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class ProjectTaskGroupUserAddCmd implements Serializable {
|
||||
@ApiModelProperty(value = "课题任务主键id", name = "projectTaskId", required = true)
|
||||
@ApiModelProperty(value = "课题任务主键id", name = "projectTaskId")
|
||||
private String projectTaskId;
|
||||
|
||||
@ApiModelProperty(value = "部门主键id", name = "departmentId", required = true)
|
||||
|
|
|
|||
|
|
@ -20,14 +20,14 @@ import java.io.Serializable;
|
|||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class ProjectTaskInfoAddCmd implements Serializable {
|
||||
@ApiModelProperty(value = "课题任务主键id", name = "projectTaskId", required = true)
|
||||
@ApiModelProperty(value = "课题任务主键id", name = "projectTaskId")
|
||||
private String projectTaskId;
|
||||
|
||||
@ApiModelProperty(value = "任务名称", name = "workName", required = true)
|
||||
@NotEmpty(message = "任务名称不能为空")
|
||||
private String workName;
|
||||
|
||||
@ApiModelProperty(value = "任务附件url", name = "workUrl", required = true)
|
||||
@ApiModelProperty(value = "任务附件url", name = "workUrl")
|
||||
private String workUrl;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,5 +36,8 @@ public class ProjectTaskInfoUpdateCmd implements Serializable {
|
|||
@ApiModelProperty(value = "任务附件url", name = "workUrl", required = true)
|
||||
@NotEmpty(message = "任务附件url不能为空")
|
||||
private String workUrl;
|
||||
@ApiModelProperty(value = "任务附件名称", name = "workUrl", required = true)
|
||||
@NotEmpty(message = "任务附件名称不能为空")
|
||||
private String attachmentName;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ public class ProjectTaskPageQry extends PageQuery {
|
|||
@ApiModelProperty(value = "课题执行状态(0:评分人员待制定,1:课题组人员待制定,2:已完善待执行,3:执行中,4:已结束)")
|
||||
private Integer executeStatus;
|
||||
|
||||
@ApiModelProperty(value = "评分状态(0:未评分,1:已评分)")
|
||||
@ApiModelProperty(value = "评分状态(0:未评分,1:评分中,2:已评分)")
|
||||
private Integer scoreStatus;
|
||||
|
||||
@ApiModelProperty(value = "课题名称")
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ public class ProjectTaskUpdateCmd extends Command {
|
|||
@ApiModelProperty(value = "主键", name = "id", required = true)
|
||||
@NotNull(message = "主键不能为空")
|
||||
private Long id;
|
||||
@ApiModelProperty(value = "业务主键id", name = "projectTaskId", required = true)
|
||||
@ApiModelProperty(value = "业务主键id", name = "projectTaskId")
|
||||
private String projectTaskId;
|
||||
@ApiModelProperty(value = "领域类型", name = "domainType", required = true)
|
||||
@NotEmpty(message = "领域类型不能为空")
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
package com.zcloud.domain.dto.clientobject;
|
||||
|
||||
import com.alibaba.cola.dto.ClientObject;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
|
|
@ -51,6 +52,8 @@ public class DomainGroupCO implements Serializable {
|
|||
private String teamUserName;
|
||||
@ApiModelProperty(value = "领域课题数")
|
||||
private Long projectTaskCount;
|
||||
@ApiModelProperty(value = "领域课题完成数")
|
||||
private Long projectTaskFinishedCount;
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ import java.io.Serializable;
|
|||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
|
|
@ -56,8 +57,8 @@ public class ProjectTaskCO implements Serializable {
|
|||
//课题执行状态(0:评分人员待制定,1:课题组人员待制定,2:已完善待执行,3:执行中,4:已结束)
|
||||
@ApiModelProperty(value = "课题执行状态(0:评分人员待制定,1:课题组人员待制定,2:已完善待执行,3:执行中,4:已结束)")
|
||||
private Integer executeStatus;
|
||||
//评分状态(0:未评分,1:已评分)
|
||||
@ApiModelProperty(value = "评分状态(0:未评分,1:已评分)")
|
||||
//评分状态(0:未评分,1:评分中,2:已评分)
|
||||
@ApiModelProperty(value = "评分状态(0:未评分,1:评分中,2:已评分)")
|
||||
private Integer scoreStatus;
|
||||
//评分
|
||||
@ApiModelProperty(value = "评分")
|
||||
|
|
@ -65,5 +66,14 @@ public class ProjectTaskCO implements Serializable {
|
|||
@ApiModelProperty(value = "领域主管部门名称")
|
||||
private String masterDepartmentName;
|
||||
|
||||
@ApiModelProperty(value = "创建人id")
|
||||
private Long createId;
|
||||
|
||||
private Long tenantId;
|
||||
|
||||
|
||||
|
||||
@ApiModelProperty(value = "是否是当前用户创建的数据")
|
||||
private Boolean isUserCreate = false;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -59,8 +59,8 @@ public class ProjectTaskDetailsCO implements Serializable {
|
|||
//课题执行状态(0:评分人员待制定,1:课题组人员待制定,2:已完善待执行,3:执行中,4:已结束)
|
||||
@ApiModelProperty(value = "课题执行状态(0:评分人员待制定,1:课题组人员待制定,2:已完善待执行,3:执行中,4:已结束)")
|
||||
private Integer executeStatus;
|
||||
//评分状态(0:未评分,1:已评分)
|
||||
@ApiModelProperty(value = "评分状态(0:未评分,1:已评分)")
|
||||
//评分状态(0:未评分,1:评分中,2:已评分)
|
||||
@ApiModelProperty(value = "评分状态(0:未评分,1:评分中,2:已评分)")
|
||||
private Integer scoreStatus;
|
||||
//评分
|
||||
@ApiModelProperty(value = "评分")
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ import com.alibaba.cola.dto.ClientObject;
|
|||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
|
|
@ -31,6 +32,8 @@ public class ProjectTaskInfoCO implements Serializable {
|
|||
//任务附件url
|
||||
@ApiModelProperty(value = "任务附件url")
|
||||
private String workUrl;
|
||||
@ApiModelProperty(value = "任务附件名称")
|
||||
private String attachmentName;
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -13,20 +13,20 @@ import java.util.stream.Collectors;
|
|||
@Getter
|
||||
public enum MenuEnum {
|
||||
//领域部门
|
||||
LYBMGL("/edu/container/supervision/resourceManage/teacherManage/list", "lybmgl"),
|
||||
LYBMGL("/domain/container/supervision/domainDepartment", "lybmgl"),
|
||||
//领域组
|
||||
LYZGL("/edu/container/supervision/resourceManage/courseware/list", "lyzgl"),
|
||||
LYZGL("/domain/container/supervision/domainGroup", "lyzgl"),
|
||||
//课题任务管理
|
||||
GFDKTRW("/edu/container/supervision/resourceManage/courseManage/list", "gfd-ktrw"),
|
||||
GFDKTRW("/domain/container/supervision/resourceManage/courseManage/list", "gfd-ktrw"),
|
||||
//课题评分管理
|
||||
GFDKTPF("/edu/container/supervision/resourceManage/testPaperManage/list", "gfd-ktpf"),
|
||||
GFDKTPF("/domain/container/supervision/resourceManage/testPaperManage/list", "gfd-ktpf"),
|
||||
|
||||
|
||||
//企业端
|
||||
//课题任务管理
|
||||
QYDKTRW("/edu/container/branchCompany/resourceManage/courseware/list", "qyd-ktrw"),
|
||||
QYDKTRW("/domain/container/branchCompany/resourceManage/courseware/list", "qyd-ktrw"),
|
||||
//课题评分管理
|
||||
QYDKTPF("/edu/container/branchCompany/resourceManage/courseManage/list", "qyd-ktpf"),
|
||||
QYDKTPF("/domain/container/branchCompany/resourceManage/courseManage/list", "qyd-ktpf"),
|
||||
|
||||
;
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,21 @@
|
|||
package com.zcloud.domain.domain.enums;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* 评分状态(0:未评分,1:评分中,2:已评分)
|
||||
*/
|
||||
@Getter
|
||||
public enum ScoreStatusEnum {
|
||||
NO_SCORE(0,"未评分"),
|
||||
SCOREING(1,"评分中"),
|
||||
SCORED(2,"已评分"),
|
||||
;
|
||||
private final Integer code;
|
||||
private final String name;
|
||||
|
||||
ScoreStatusEnum(Integer code, String name) {
|
||||
this.code = code;
|
||||
this.name = name;
|
||||
}
|
||||
}
|
||||
|
|
@ -38,7 +38,7 @@ public class ProjectTaskE extends BaseE {
|
|||
//课题执行状态(0:评分人员待制定,1:课题组人员待制定,2:已完善待执行,3:执行中,4:已结束)
|
||||
private Integer executeStatus;
|
||||
|
||||
//评分状态(0:未评分,1:已评分)
|
||||
//评分状态(0:未评分,1:评分中,2:已评分)
|
||||
private Integer scoreStatus;
|
||||
//评分
|
||||
private BigDecimal score;
|
||||
|
|
|
|||
|
|
@ -1,8 +1,10 @@
|
|||
package com.zcloud.domain.domain.model;
|
||||
|
||||
import com.jjb.saas.framework.domain.model.BaseE;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
|
|
@ -23,6 +25,8 @@ public class ProjectTaskInfoE extends BaseE {
|
|||
private String workName;
|
||||
//任务附件url
|
||||
private String workUrl;
|
||||
//附件名称
|
||||
private String attachmentName;
|
||||
//乐观锁
|
||||
private Integer version;
|
||||
//创建人
|
||||
|
|
|
|||
|
|
@ -53,6 +53,9 @@ public class DomainGroupDO extends BaseDO {
|
|||
@ApiModelProperty(value = "领域课题数")
|
||||
@TableField(exist = false)
|
||||
private Long projectTaskCount;
|
||||
@ApiModelProperty(value = "领域课题完成数")
|
||||
@TableField(exist = false)
|
||||
private Long projectTaskFinishedCount;
|
||||
|
||||
public DomainGroupDO(String domainGroupId) {
|
||||
this.domainGroupId = domainGroupId;
|
||||
|
|
|
|||
|
|
@ -53,8 +53,8 @@ public class ProjectTaskDO extends BaseDO {
|
|||
//课题执行状态(0:评分人员待制定,1:课题组人员待制定,2:已完善待执行,3:执行中,4:已结束)
|
||||
@ApiModelProperty(value = "课题执行状态(0:评分人员待制定,1:课题组人员待制定,2:已完善待执行,3:执行中,4:已结束)")
|
||||
private Integer executeStatus;
|
||||
//评分状态(0:未评分,1:已评分)
|
||||
@ApiModelProperty(value = "评分状态(0:未评分,1:已评分)")
|
||||
//评分状态(0:未评分,1:评分中,2:已评分)
|
||||
@ApiModelProperty(value = "评分状态(0:未评分,1:评分中,2:已评分)")
|
||||
private Integer scoreStatus;
|
||||
//评分
|
||||
@ApiModelProperty(value = "评分")
|
||||
|
|
|
|||
|
|
@ -7,6 +7,8 @@ import lombok.Data;
|
|||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
|
||||
/**
|
||||
* web-infrastructure
|
||||
*
|
||||
|
|
@ -30,6 +32,8 @@ public class ProjectTaskInfoDO extends BaseDO {
|
|||
//任务附件url
|
||||
@ApiModelProperty(value = "任务附件url")
|
||||
private String workUrl;
|
||||
@ApiModelProperty(value = "任务附件名称")
|
||||
private String attachmentName;
|
||||
|
||||
public ProjectTaskInfoDO(String projectTaskInfoId) {
|
||||
this.projectTaskInfoId = projectTaskInfoId;
|
||||
|
|
|
|||
|
|
@ -21,5 +21,6 @@ public interface CorpInfoRepository extends BaseRepository<CorpInfoDO> {
|
|||
|
||||
boolean isSupper();
|
||||
|
||||
Boolean checkCorp();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ import com.jjb.saas.framework.repository.repo.BaseRepository;
|
|||
import com.zcloud.domain.persistence.dataobject.DomainGroupDO;
|
||||
import com.zcloud.domain.persistence.dataobject.DomainGroupUserDO;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
|
|
@ -21,5 +22,6 @@ public interface DomainGroupRepository extends BaseRepository<DomainGroupDO> {
|
|||
|
||||
List<DomainGroupDO> listAll(Map<String, Object> params);
|
||||
|
||||
List<DomainGroupDO> getListByCorpinfoId(@NotNull(message = "主责企业不能为空") Long corpinfoId);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -64,6 +64,9 @@ public class CorpInfoRepositoryImpl extends BaseRepositoryImpl<CorpInfoMapper, C
|
|||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean checkCorp() {
|
||||
return AuthContext.getUserId().equals(AuthContext.getTenantId());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ package com.zcloud.domain.persistence.repository.impl;
|
|||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.jjb.saas.framework.auth.utils.AuthContext;
|
||||
import com.jjb.saas.framework.repository.common.PageHelper;
|
||||
import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl;
|
||||
import com.zcloud.domain.domain.enums.MenuEnum;
|
||||
|
|
@ -28,6 +29,7 @@ import java.util.Map;
|
|||
@RequiredArgsConstructor
|
||||
public class DomainGroupRepositoryImpl extends BaseRepositoryImpl<DomainGroupMapper, DomainGroupDO> implements DomainGroupRepository {
|
||||
private final DomainGroupMapper domainGroupMapper;
|
||||
private final CorpInfoRepositoryImpl corpInfoRepository;
|
||||
|
||||
@Override
|
||||
public PageResponse<DomainGroupDO> listPage(Map<String, Object> params) {
|
||||
|
|
@ -47,7 +49,17 @@ public class DomainGroupRepositoryImpl extends BaseRepositoryImpl<DomainGroupMap
|
|||
|
||||
@Override
|
||||
public List<DomainGroupDO> listAll(Map<String, Object> params) {
|
||||
if(!corpInfoRepository.isSupper()){
|
||||
params.put("corpinfoId", AuthContext.getTenantId());
|
||||
}
|
||||
return domainGroupMapper.listAll( params);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<DomainGroupDO> getListByCorpinfoId(Long corpinfoId) {
|
||||
QueryWrapper<DomainGroupDO> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("corpinfo_id", corpinfoId);
|
||||
return domainGroupMapper.selectList(queryWrapper);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -17,8 +17,8 @@
|
|||
select dd.*,
|
||||
d.name as masterDepartmentName,
|
||||
u.name as masterUserName,
|
||||
count(pt.id) as projectTaskCount,
|
||||
count(ddu.id) as domainDepartmentUserCount
|
||||
count(distinct pt.id) as projectTaskCount,
|
||||
count(distinct ddu.id) as domainDepartmentUserCount
|
||||
from domain_department dd
|
||||
left join department d on dd.master_department_id = d.id and d.delete_enum = 'FALSE'
|
||||
left join user u on dd.master_user_id = u.id and u.delete_enum = 'FALSE'
|
||||
|
|
|
|||
|
|
@ -9,7 +9,8 @@
|
|||
c.corp_name as corpinfoname,
|
||||
d.name as teamdepartmentname,
|
||||
u.name as teamusername,
|
||||
count(distinct ptg.id) as projectTaskCount
|
||||
count(distinct ptg.id) as projectTaskCount,
|
||||
sum(if(ptg.execute_status = 4, 1, 0)) as projectTaskFinishedCount
|
||||
from domain_group dg
|
||||
left join corp_info c on dg.corpinfo_id = c.id and c.delete_enum = 'false'
|
||||
left join department d on dg.team_department_id = d.id and d.delete_enum = 'false'
|
||||
|
|
@ -39,15 +40,13 @@
|
|||
</select>
|
||||
<select id="listAll" resultType="com.zcloud.domain.persistence.dataobject.DomainGroupDO">
|
||||
select dg.*,
|
||||
c.corp_name as corpinfoname,
|
||||
d.name as teamdepartmentname,
|
||||
u.name as teamusername
|
||||
c.corp_name as corpinfoName,
|
||||
d.name as teamDepartmentName,
|
||||
u.name as teamUserName
|
||||
from domain_group dg
|
||||
left join corp_info c on dg.corpinfo_id = c.id and c.delete_enum = 'false'
|
||||
left join department d on dg.team_department_id = d.id and d.delete_enum = 'false'
|
||||
left join user u on dg.team_user_id = u.id and u.delete_enum = 'false'
|
||||
|
||||
|
||||
where dg.delete_enum = 'false'
|
||||
<if test="domainType != null and domainType != ''">
|
||||
and dg.domain_type = #{domainType}
|
||||
|
|
@ -55,6 +54,9 @@
|
|||
<if test="domainGroupName != null and domainGroupName != ''">
|
||||
and dg.domain_group_name like CONCAT('%', #{domainGroupName}, '%')
|
||||
</if>
|
||||
<if test="corpinfoId != null ">
|
||||
and dg.corpinfo_id = #{corpinfoId}
|
||||
</if>
|
||||
order by dg.create_time desc
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
|
|||
|
|
@ -26,13 +26,13 @@
|
|||
</if>
|
||||
|
||||
<if test="params.projectName != null and params.projectName != '' ">
|
||||
and pt.project_name = #{params.projectName}
|
||||
and pt.project_name like CONCAT('%', #{params.projectName}, '%')
|
||||
</if>
|
||||
<if test="params.startDate != null and params.startDate != '' ">
|
||||
and pt.executed_start_date >= #{params.startDate}
|
||||
and pt.executed_start_date <![CDATA[<=]]> #{params.startDate}
|
||||
</if>
|
||||
<if test="params.endDate != null and params.endDate != '' ">
|
||||
and pt.executed_end_date <![CDATA[<=]]> #{params.endDate}
|
||||
and pt.executed_end_date >= #{params.endDate}
|
||||
</if>
|
||||
<if test="params.scoreStatus != null ">
|
||||
and pt.score_status = #{params.scoreStatus}
|
||||
|
|
@ -53,7 +53,11 @@
|
|||
where pt.delete_enum = 'false' and pt.id=#{id}
|
||||
</select>
|
||||
<update id="updateScoreStatus">
|
||||
update project_task set score_status = #{code},score = #{averageScore} where project_task_id = #{projectTaskId}
|
||||
update project_task set score_status = #{code}
|
||||
<if test="averageScore != null">
|
||||
,score = #{averageScore}
|
||||
</if>
|
||||
where project_task_id = #{projectTaskId}
|
||||
</update>
|
||||
<update id="updateExecuteStatusBatchById">
|
||||
update project_task set execute_status = #{code} where
|
||||
|
|
|
|||
Loading…
Reference in New Issue