feat(domain): 完善领域管理系统功能

master
zhaokai 2026-02-28 08:42:18 +08:00
parent f79685b4da
commit 1043ec5efd
39 changed files with 180 additions and 64 deletions

View File

@ -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

View File

@ -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();

View File

@ -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));
}

View File

@ -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));

View File

@ -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));
}

View File

@ -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);
}

View File

@ -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);

View File

@ -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);

View File

@ -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);
}
}
}

View File

@ -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();

View File

@ -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());
}

View File

@ -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;
}

View File

@ -28,5 +28,7 @@ public class DomainGroupQry{
private String domainType;
@ApiModelProperty(value = "领域管理组名称")
private String domainGroupName;
private Long corpinfoId;
}

View File

@ -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;
}

View File

@ -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)

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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 = "课题名称")

View File

@ -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 = "领域类型不能为空")

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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 = "评分")

View File

@ -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;
}

View File

@ -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"),
;

View File

@ -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;
}
}

View File

@ -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;

View File

@ -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;
//创建人

View File

@ -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;

View File

@ -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 = "评分")

View File

@ -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;

View File

@ -21,5 +21,6 @@ public interface CorpInfoRepository extends BaseRepository<CorpInfoDO> {
boolean isSupper();
Boolean checkCorp();
}

View File

@ -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);
}

View File

@ -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());
}
}

View File

@ -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);
}
}

View File

@ -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'

View File

@ -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>

View File

@ -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