Lihong@123456 5 years ago
parent
commit
65d5504b2a
  1. 39
      mt/src/main/java/com/ccsens/mt/api/CompeteCompanyController.java
  2. 8
      mt/src/main/java/com/ccsens/mt/bean/dto/CompeteDto.java
  3. 6
      mt/src/main/java/com/ccsens/mt/bean/vo/CompeteVo.java
  4. 7
      mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java
  5. 65
      mt/src/main/java/com/ccsens/mt/service/CompeteService.java
  6. 63
      mt/src/main/java/com/ccsens/mt/service/CompeteTaskService.java
  7. 2
      mt/src/main/java/com/ccsens/mt/service/ICompeteService.java
  8. 4
      mt/src/main/resources/application.yml
  9. 6
      mt/src/main/resources/mapper_dao/CompeteJudgmentDao.xml
  10. 133
      tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java

39
mt/src/main/java/com/ccsens/mt/api/CompeteCompanyController.java

@ -0,0 +1,39 @@
package com.ccsens.mt.api;
import com.ccsens.cloudutil.annotation.MustLogin;
import com.ccsens.mt.bean.dto.CompeteDto;
import com.ccsens.mt.bean.vo.CompeteVo;
import com.ccsens.mt.service.CompeteService;
import com.ccsens.mt.service.ICompeteService;
import com.ccsens.util.JsonResponse;
import com.ccsens.util.bean.dto.QueryDto;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
@Slf4j
@Api(tags = "用户信息", description = "")
@RestController
@RequestMapping("/compete/userMes")
public class CompeteCompanyController {
@Resource
private ICompeteService competeService;
@MustLogin
@ApiOperation(value = "用户的参赛单位id", notes = "")
@RequestMapping(value = "/getUserCompanyId", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<CompeteVo.CompanyId> getUserCompanyId(@ApiParam @Validated @RequestBody QueryDto<CompeteDto.GetUserCompany> params) {
log.info("查看当前用户的参赛单位id:{}",params);
CompeteVo.CompanyId companyId1=new CompeteVo.CompanyId();
Long companyId = competeService.getUserCompanyId(params.getUserId(),params.getParam().getType());
companyId1.setCompanyId(companyId);
return JsonResponse.newInstance().ok(companyId1);
}
}

8
mt/src/main/java/com/ccsens/mt/bean/dto/CompeteDto.java

@ -390,5 +390,11 @@ public class CompeteDto {
@ApiModelProperty("项目id")
private Long projectId;
}
@Data
@ApiModel
public static class GetUserCompany {
@NotNull
@ApiModelProperty("比赛的类型,0跳绳省赛 1跳绳校内比赛")
private Byte type;
}
}

6
mt/src/main/java/com/ccsens/mt/bean/vo/CompeteVo.java

@ -582,4 +582,10 @@ public class CompeteVo {
@ApiModelProperty("项目id")
private Long projectId;
}
@Data
@ApiModel("公司id")
public static class CompanyId {
@ApiModelProperty("公司")
private Long companyId;
}
}

7
mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java

@ -6,6 +6,7 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
@ -291,8 +292,10 @@ public class ProvinceCompeteVo {
private Long startTime;
@ApiModelProperty("项目结束时间")
private Long endTime;
@ApiModelProperty("场地数量")
private int siteNums;
@ApiModelProperty("项目下的场地")
private List<ProjectSite> siteList;
private List<ProjectSite> siteList = new ArrayList<>();
}
@Data
@ApiModel("项目下的场地信息")
@ -300,7 +303,7 @@ public class ProvinceCompeteVo {
@ApiModelProperty("场地编号")
private int siteNum;
@ApiModelProperty("场地下的裁判")
private List<SiteJudgment> judgmentList;
private List<SiteJudgment> judgmentList = new ArrayList<>();
}
@Data

65
mt/src/main/java/com/ccsens/mt/service/CompeteService.java

@ -1038,26 +1038,31 @@ public class CompeteService implements ICompeteService {
if(competeJudgment.getChiefJudgment()!=(byte)0){
//不是主裁判
//先判断主裁判提交了没
Integer ti= new Integer(0);//0代表没提交 1代表提交了
CompeteVarietyScoreExample competeVarietyScoreExample=new CompeteVarietyScoreExample();
competeVarietyScoreExample.createCriteria().andSiteOrderIdEqualTo(param.getSiteOrderId()).andRecStatusEqualTo((byte) 0);
List<CompeteVarietyScore> competeVarietyScoresList = competeVarietyScoreMapper.selectByExample(competeVarietyScoreExample);
//下面就是想看看主裁判提交了没
if(competeVarietyScoresList.size()>0){
for (CompeteVarietyScore competeVarietyScore:competeVarietyScoresList){
CompeteJudgment competeJudgment1 = competeJudgmentMapper.selectByPrimaryKey(competeVarietyScore.getJudgmentId());
if(competeJudgment1.getChiefJudgment()==(byte)0){
ti=1;
break;
}
}
}
if(ti>0){
//主裁判提交了,
if(competeStartOrder1.getWaiver()!=(byte)0){
for(int j=0;j<param.getFractionsList().size();j++){
param.getFractionsList().get(j).setScore(new BigDecimal(0));
}
// Integer ti= new Integer(0);//0代表没提交 1代表提交了
// CompeteVarietyScoreExample competeVarietyScoreExample=new CompeteVarietyScoreExample();
// competeVarietyScoreExample.createCriteria().andSiteOrderIdEqualTo(param.getSiteOrderId()).andRecStatusEqualTo((byte) 0);
// List<CompeteVarietyScore> competeVarietyScoresList = competeVarietyScoreMapper.selectByExample(competeVarietyScoreExample);
// //下面就是想看看主裁判提交了没
// if(competeVarietyScoresList.size()>0){
// for (CompeteVarietyScore competeVarietyScore:competeVarietyScoresList){
// CompeteJudgment competeJudgment1 = competeJudgmentMapper.selectByPrimaryKey(competeVarietyScore.getJudgmentId());
// if(competeJudgment1.getChiefJudgment()==(byte)0){
// ti=1;
// break;
// }
// }
// }
// if(ti>0){
// //主裁判提交了,则看一下他里面是否选择了弃权
// if(competeStartOrder1.getWaiver()!=(byte)0){
// for(int j=0;j<param.getFractionsList().size();j++){
// param.getFractionsList().get(j).setScore(new BigDecimal(0));
// }
// }
// }
if(competeStartOrder1.getWaiver()!=(byte)0){
for(int j=0;j<param.getFractionsList().size();j++){
param.getFractionsList().get(j).setScore(new BigDecimal(0));
}
}
}else {
@ -1067,9 +1072,9 @@ public class CompeteService implements ICompeteService {
CompeteVarietyScoreExample competeVarietyScoreExample=new CompeteVarietyScoreExample();
competeVarietyScoreExample.createCriteria().andRecStatusEqualTo((byte)0).andSiteOrderIdEqualTo(param.getSiteOrderId());
List<CompeteVarietyScore> competeVarietyScoresList = competeVarietyScoreMapper.selectByExample(competeVarietyScoreExample);
for (CompeteVarietyScore competeVarietyScore : competeVarietyScoresList) {
competeVarietyScore.setScore(new BigDecimal(0));
competeVarietyScoreMapper.updateByPrimaryKeySelective(competeVarietyScore);
for (int i = 0; i < competeVarietyScoresList.size(); i++) {
competeVarietyScoresList.get(i).setScore(new BigDecimal(0));
competeVarietyScoreMapper.updateByPrimaryKeySelective(competeVarietyScoresList.get(i));
}
}
}
@ -1085,6 +1090,9 @@ public class CompeteService implements ICompeteService {
competeStartOrder.setId(param.getSiteOrderId());
competeStartOrder.setWaiver(param.getWaiver());
competeStartOrderMapper.updateByPrimaryKeySelective(competeStartOrder);
for (int i = 0; i < param.getFractionsList().size(); i++) {
param.getFractionsList().get(i).setScore(new BigDecimal(0));
}
}
CompeteVarietyScore competeVarietyScore=new CompeteVarietyScore();
competeVarietyScore.setId(snowflake.nextId());
@ -1570,4 +1578,15 @@ public class CompeteService implements ICompeteService {
return selScropeVo;
}
@Override
public Long getUserCompanyId(Long userId, Byte type) {
CompeteCompanyExample competeCompanyExample=new CompeteCompanyExample();
competeCompanyExample.createCriteria().andUserIdEqualTo(userId).andTypeEqualTo(type).andRecStatusEqualTo((byte) 0);
List<CompeteCompany> competeCompanies = competeCompanyMapper.selectByExample(competeCompanyExample);
if(competeCompanies.size()>0){
return competeCompanies.get(0).getId();
}
return null;
}
}

63
mt/src/main/java/com/ccsens/mt/service/CompeteTaskService.java

@ -312,26 +312,55 @@ public class CompeteTaskService implements ICompeteTaskService{
if(CollectionUtil.isNotEmpty(queryJudgmentList)){
queryJudgmentList.forEach(projectJudgment -> {
//裁判数量
int count = 0;
if(CollectionUtil.isNotEmpty(projectJudgment.getSiteList())){
for(ProvinceCompeteVo.ProjectSite siteJudgment : projectJudgment.getSiteList()) {
if(projectJudgment.getProjectType() == 0){
count = 3;
int count = projectJudgment.getProjectType() == 0 ? 3 : 7;
// if(CollectionUtil.isNotEmpty(projectJudgment.getSiteList())){
for (int i = 0; i < projectJudgment.getSiteNums(); i++) {
if(i < projectJudgment.getSiteList().size()){
ProvinceCompeteVo.ProjectSite siteJudgment = projectJudgment.getSiteList().get(i);
if (CollectionUtil.isEmpty(siteJudgment.getJudgmentList())) {
siteJudgment.setJudgmentList(new ArrayList<>());
}
int a = siteJudgment.getJudgmentList().size();
for (int j = 0; j < count - a; j++) {
ProvinceCompeteVo.SiteJudgment siteJudgment1 = new ProvinceCompeteVo.SiteJudgment();
siteJudgment1.setJudgmentNum(a + j);
siteJudgment.getJudgmentList().add(siteJudgment1);
}
}else {
count = 7;
}
if (CollectionUtil.isEmpty(siteJudgment.getJudgmentList())) {
siteJudgment.setJudgmentList(new ArrayList<>());
}
int a = siteJudgment.getJudgmentList().size();
for (int i = 0; i < count - a; i++) {
ProvinceCompeteVo.SiteJudgment siteJudgment1 = new ProvinceCompeteVo.SiteJudgment();
siteJudgment1.setJudgmentNum(a + i);
siteJudgment.getJudgmentList().add(siteJudgment1);
int a = projectJudgment.getSiteList().size();
for (int j = 0; j < count - a; j++) {
ProvinceCompeteVo.ProjectSite siteJudgment = new ProvinceCompeteVo.ProjectSite();
siteJudgment.setSiteNum(a + j + 1);
projectJudgment.getSiteList().add(siteJudgment);
int b = siteJudgment.getJudgmentList().size();
for (int x = 0; x < count - b; x++) {
ProvinceCompeteVo.SiteJudgment siteJudgment1 = new ProvinceCompeteVo.SiteJudgment();
siteJudgment1.setJudgmentNum(b + x);
siteJudgment.getJudgmentList().add(siteJudgment1);
}
}
}
}
}
// for(ProvinceCompeteVo.ProjectSite siteJudgment : projectJudgment.getSiteList()) {
// if(projectJudgment.getProjectType() == 0){
// count = 3;
// }else {
// count = 7;
// }
// if (CollectionUtil.isEmpty(siteJudgment.getJudgmentList())) {
// siteJudgment.setJudgmentList(new ArrayList<>());
// }
// int a = siteJudgment.getJudgmentList().size();
// for (int i = 0; i < count - a; i++) {
// ProvinceCompeteVo.SiteJudgment siteJudgment1 = new ProvinceCompeteVo.SiteJudgment();
// siteJudgment1.setJudgmentNum(a + i);
// siteJudgment.getJudgmentList().add(siteJudgment1);
// }
// }
// }
});
}
return queryJudgmentList;

2
mt/src/main/java/com/ccsens/mt/service/ICompeteService.java

@ -204,6 +204,8 @@ public interface ICompeteService {
List<ScoreVo.CountScoreCurrentSite> queryCountScoreAll(ScoreDto.ShowResult param);
CompeteVo.SelScropeVo selSubmitOrderList(ScoreDto.SelScrop param);
Long getUserCompanyId(Long userId, Byte type);
}

4
mt/src/main/resources/application.yml

@ -1,5 +1,5 @@
spring:
profiles:
active: dev
include: common, util-dev
active: test
include: common, util-test

6
mt/src/main/resources/mapper_dao/CompeteJudgmentDao.xml

@ -8,6 +8,7 @@
<result column="projectType" property="projectType"/>
<result column="startTime" property="startTime"/>
<result column="endTime" property="endTime"/>
<result column="siteNums" property="siteNums"/>
<collection property="siteList" ofType="com.ccsens.mt.bean.vo.ProvinceCompeteVo$ProjectSite">
<id column="siteNum" property="siteNum"/>
<collection property="judgmentList" ofType="com.ccsens.mt.bean.vo.ProvinceCompeteVo$SiteJudgment">
@ -25,6 +26,7 @@
p.`name` as projectName,
pc.start_time as startTime,
pc.end_time as endTime,
pc.site_num AS siteNums,
j.site as siteNum,
j.chief_judgment as judgmentNum,
j.`name` as judgmentName,
@ -34,7 +36,7 @@
FROM
t_compete_project p LEFT JOIN t_compete_time ct on p.type = ct.type
LEFT JOIN t_compete_project_config pc on p.id = pc.project_id
LEFT JOIN t_compete_judgment j on j.project_id = p.id
LEFT JOIN t_compete_judgment j on j.project_id = p.id and (j.rec_status = 0 or j.rec_status IS NULL)
WHERE
ct.id = #{competeTimeId}
<if test="projectId != null">
@ -43,7 +45,7 @@
and p.`level` = 2
and p.certificate = 0
and p.rec_status = 0
and (j.rec_status = 0 or j.rec_status is null)
and pc.rec_status = 0
</select>

133
tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java

@ -26,6 +26,8 @@ import com.ccsens.util.WebConstant;
import com.ccsens.util.cron.CronConstant;
import com.ccsens.util.cron.NatureToDate;
import com.ccsens.util.exception.BaseException;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
@ -73,8 +75,6 @@ public class ProTaskDetailService implements IProTaskDetailService {
@Resource
private Snowflake snowflake;
@Resource
private MtFeignClient mtFeignClient;
@Resource
private ProPluginConfigDao pluginConfigDao;
@Resource
private IRobotService robotService;
@ -86,6 +86,8 @@ public class ProTaskDetailService implements IProTaskDetailService {
private ProMemberRoleDao proMemberRoleDao;
@Resource
private TaskPluginService taskPluginService;
@Resource
private ProShowDao proShowDao;
@Override
public void saveTaskDetail(ProTaskDetail taskDetail) {
@ -160,11 +162,27 @@ public class ProTaskDetailService implements IProTaskDetailService {
List<TaskVo.NormalTask> normalTaskList = new ArrayList<>();
TaskVo.GlobalTask globalTask;
TaskVo.NormalTask normalTask;
//1、查找一级任务
SysProject project = sysProjectDao.selectByPrimaryKey(projectId);
if (ObjectUtil.isNull(project)){
throw new BaseException(CodeEnum.PARAM_ERROR);
}
if (endTime < project.getBeginTime() || startTime > project.getEndTime()) {
return proTaskInfo;
}
//查找项目配置
ProShowExample proShowExample = new ProShowExample();
proShowExample.createCriteria().andProjectIdEqualTo(projectId);
List<ProShow> proShowList = proShowDao.selectByExample(proShowExample);
if(CollectionUtil.isNotEmpty(proShowList)){
ProShow proShow = proShowList.get(0);
if(proShow.getSelectTaskType() == 4){
return getTaskAndType4ByPM(currentUserId,projectId,startTime,endTime,page,pageSize,roleId);
}
}
//1、查找一级任务
ProTaskDetailExample proTaskDetailExample = new ProTaskDetailExample();
proTaskDetailExample.createCriteria().andProjectIdEqualTo(projectId).andLevelEqualTo((byte) 1)
.andLevelEqualTo((byte) 1).andBeginTimeLessThanOrEqualTo(endTime).andEndTimeGreaterThanOrEqualTo(startTime);
@ -253,6 +271,105 @@ public class ProTaskDetailService implements IProTaskDetailService {
return proTaskInfo;
}
//特殊任务分页查找项目经理下的任务(不处理时间)
private TaskVo.ProTaskInfo getTaskAndType4ByPM(Long currentUserId,Long projectId,Long startTime,Long endTime,int page,int pageSize,Long roleId) throws Exception {
List<TaskVo.NormalTask> normalTasks = new ArrayList<>();
//1、查找一级任务
PageHelper.startPage(page, pageSize);
ProTaskDetailExample proTaskDetailExample = new ProTaskDetailExample();
proTaskDetailExample.createCriteria().andProjectIdEqualTo(projectId).andLevelEqualTo((byte) 1)
.andLevelEqualTo((byte) 1).andBeginTimeLessThanOrEqualTo(endTime).andEndTimeGreaterThanOrEqualTo(startTime);
proTaskDetailExample.setOrderByClause("begin_time");
List<ProTaskDetail> firstTaskDetailList = taskDetailDao.selectByExample(proTaskDetailExample);
PageInfo pageInfo = new PageInfo<>(firstTaskDetailList);
if (CollectionUtil.isNotEmpty(firstTaskDetailList)) {
int sequence = 1;
for (ProTaskDetail firstTaskDetail : firstTaskDetailList) {
TaskVo.NormalTask normalTask = new TaskVo.NormalTask();
BeanUtil.copyProperties(firstTaskDetail, normalTask);
normalTask.setDetailId(firstTaskDetail.getId());
normalTask.setId(taskDeliverService.isTaskOrSubTime(firstTaskDetail.getId()));
normalTask.setSequence(sequence);
// 查询任务名对应的配置
ProPluginConfigExample configExample = new ProPluginConfigExample();
configExample.createCriteria().andTaskIdEqualTo(firstTaskDetail.getId()).andPlaceLocationEqualTo((byte) 0);
List<ProPluginConfig> proPluginConfigs = pluginConfigDao.selectByExample(configExample);
if (CollectionUtil.isNotEmpty(proPluginConfigs)) {
ProPluginConfig config = proPluginConfigs.get(0);
normalTask.setImportParam(config.getImportParam());
normalTask.setRoutineLocation(config.getRoutineLocation());
normalTask.setWebPath(config.getWebPath());
}
//一级任务配置
normalTask.setProTaskConfig(getProTaskShow(normalTask.getDetailId()));
//一级任务完成状态
ProSubTimeMember firstSubTimeMember = getProcessByUserIdAndTask(currentUserId, normalTask.getId());
if (ObjectUtil.isNotNull(firstSubTimeMember)) {
normalTask.setRealEndTime(firstSubTimeMember.getRealFinishTime());
normalTask.setProcess(firstSubTimeMember.getComplatedStatus());
}
//查找一级任务下的二级任务
List<TaskVo.NormalTask> secondNormalTaskList = taskDetailDao.selectNormalTaskListByPM(projectId, firstTaskDetail.getId(), startTime, endTime, roleId);
if (CollectionUtil.isNotEmpty(secondNormalTaskList)) {
normalTask.setSecondTasks(secondNormalTaskList);
}
sequence++;
normalTasks.add(normalTask);
}
}
//页码
TaskVo.PageInfo p = new TaskVo.PageInfo();
p.setCurrentPage(pageInfo.getPageNum());
p.setTotalPage(pageInfo.getPages());
TaskVo.ProTaskInfo proTaskInfo = new TaskVo.ProTaskInfo();
proTaskInfo.setPageInfo(p);
proTaskInfo.setNormalTaskList(normalTasks);
return proTaskInfo;
}
private TaskVo.ProTaskInfo getTaskAndType4ByMember(Long currentUserId,Long projectId,Long startTime,Integer imitation,
Long endTime,int page,int pageSize,Long roleId,Long allMemberId,Integer priority) throws Exception {
//查找该角色的所有任务(全体成员的任务也是这个角色的任务)
PageHelper.startPage(page, pageSize);
List<TaskVo.NormalTask> secondTaskVoList = taskDetailDao.selectTaskByRoleAndAllMembers(projectId, roleId,
allMemberId, startTime, endTime, priority);
PageInfo pageInfo = new PageInfo<>(secondTaskVoList);
if (CollectionUtil.isNotEmpty(secondTaskVoList)) {
for (TaskVo.NormalTask normalTask : secondTaskVoList) {
//处理插件
managePlugin(currentUserId, roleId, normalTask, imitation);
//任务完成状态
if (normalTask.getProcess() != 2) {
ProSubTimeMember subTimeMember = getProcessByUserIdAndTask(currentUserId, normalTask.getId());
if (ObjectUtil.isNotNull(subTimeMember)) {
normalTask.setProcess(subTimeMember.getComplatedStatus());
normalTask.setRealEndTime(subTimeMember.getRealFinishTime());
} else if (normalTask.getProcess() > 2) {
normalTask.setRealEndTime((long) 0);
normalTask.setProcess(0);
}
}
//任务配置
normalTask.setProTaskConfig(getProTaskShow(normalTask.getDetailId()));
//提醒信息
normalTask.setRemindInfoList(proRemindDao.queryRemindByTask(normalTask.getId()));
}
}
//页码
TaskVo.PageInfo p = new TaskVo.PageInfo();
p.setCurrentPage(pageInfo.getPageNum());
p.setTotalPage(pageInfo.getPages());
TaskVo.ProTaskInfo proTaskInfo = new TaskVo.ProTaskInfo();
proTaskInfo.setPageInfo(p);
proTaskInfo.setNormalTaskList(secondTaskVoList);
return proTaskInfo;
}
/**
* 查看任务 项目成员
*/
@ -269,6 +386,16 @@ public class ProTaskDetailService implements IProTaskDetailService {
if (ObjectUtil.isNotNull(allMember)) {
allMemberId = allMember.getId();
}
//查找项目配置
ProShowExample proShowExample = new ProShowExample();
proShowExample.createCriteria().andProjectIdEqualTo(projectId);
List<ProShow> proShowList = proShowDao.selectByExample(proShowExample);
if(CollectionUtil.isNotEmpty(proShowList)){
ProShow proShow = proShowList.get(0);
if(proShow.getSelectTaskType() == 4){
return getTaskAndType4ByMember(currentUserId,projectId,startTime,imitation,endTime,page,pageSize,roleId,allMemberId,priority);
}
}
//查找该角色的所有任务(全体成员的任务也是这个角色的任务)
List<TaskVo.NormalTask> secondTaskVoList = taskDetailDao.selectTaskByRoleAndAllMembers(projectId, roleId,
allMemberId, startTime, endTime, priority);

Loading…
Cancel
Save