提交 c6b09091 authored 作者: gongwenjie's avatar gongwenjie

Merge branch 'master' of git.yfzx.zjtys.com.cn:zjm/notes2.0

...@@ -47,6 +47,7 @@ public class AttachmentController { ...@@ -47,6 +47,7 @@ public class AttachmentController {
return ok(new JobResponse(saveId)); return ok(new JobResponse(saveId));
} }
@PutMapping() @PutMapping()
@ApiOperation(value = "修改附件.", notes = "修改必须在数据中附带id.") @ApiOperation(value = "修改附件.", notes = "修改必须在数据中附带id.")
public ResponseEntity<JobResponse> modify(@RequestBody Attachment attachment) { public ResponseEntity<JobResponse> modify(@RequestBody Attachment attachment) {
......
...@@ -2,6 +2,7 @@ package com.zjty.tynotes.job.basic.entity.response; ...@@ -2,6 +2,7 @@ package com.zjty.tynotes.job.basic.entity.response;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.zjty.tynotes.job.basic.entity.database.Attachment; import com.zjty.tynotes.job.basic.entity.database.Attachment;
import com.zjty.tynotes.job.basic.entity.database.Work;
import com.zjty.tynotes.pas.entity.User; import com.zjty.tynotes.pas.entity.User;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
...@@ -146,4 +147,9 @@ public class WorkVo { ...@@ -146,4 +147,9 @@ public class WorkVo {
private int workloadCount=1; private int workloadCount=1;
/**
* 主任务对象
*/
@ApiModelProperty(value = "主任务对象")
private Work workVos;
} }
package com.zjty.tynotes.job.basic.service;
import com.zjty.tynotes.job.basic.entity.database.Work;
import com.zjty.tynotes.job.basic.entity.response.WorkVo;
public interface PriviceService {
/**
* 根据任务id 查看主任务
* @return WorkVo 主任务对象
*/
Work findByWorkIdWorkVo(String superoirId);
}
...@@ -134,6 +134,8 @@ public interface WorkService { ...@@ -134,6 +134,8 @@ public interface WorkService {
*/ */
int findBySuperoirIdCount(String SuperoirId); int findBySuperoirIdCount(String SuperoirId);
// /** // /**
// * 查看正在进行中的任务 // * 查看正在进行中的任务
// */ // */
......
...@@ -6,6 +6,8 @@ import com.zjty.tynotes.job.basic.entity.response.WorkVo; ...@@ -6,6 +6,8 @@ import com.zjty.tynotes.job.basic.entity.response.WorkVo;
import com.zjty.tynotes.job.basic.repository.AttachmentRepository; import com.zjty.tynotes.job.basic.repository.AttachmentRepository;
import com.zjty.tynotes.job.basic.service.AttachmentService; import com.zjty.tynotes.job.basic.service.AttachmentService;
import com.zjty.tynotes.job.basic.service.ConversionService; import com.zjty.tynotes.job.basic.service.ConversionService;
import com.zjty.tynotes.job.basic.service.PriviceService;
import com.zjty.tynotes.job.basic.service.WorkService;
import com.zjty.tynotes.pas.entity.User; import com.zjty.tynotes.pas.entity.User;
import com.zjty.tynotes.pas.service.IUserService; import com.zjty.tynotes.pas.service.IUserService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
...@@ -23,6 +25,8 @@ public class ConversionServiceImpl implements ConversionService { ...@@ -23,6 +25,8 @@ public class ConversionServiceImpl implements ConversionService {
@Autowired @Autowired
AttachmentRepository attachmentRepository; AttachmentRepository attachmentRepository;
@Autowired
PriviceService priviceService;
@Override @Override
public WorkVo workToVo(Work work) { public WorkVo workToVo(Work work) {
...@@ -49,27 +53,56 @@ public class ConversionServiceImpl implements ConversionService { ...@@ -49,27 +53,56 @@ public class ConversionServiceImpl implements ConversionService {
attachments.add(attachmentRepository.findById(id).get()); attachments.add(attachmentRepository.findById(id).get());
} }
} }
return new WorkVo(
work.getId(),
work.getSuperiorId(), if (work.getSuperiorId()==null || "".equals(work.getSuperiorId())){
work.getTitle(), return new WorkVo(
work.getCreateTime(), work.getId(),
work.getStateTime(), work.getSuperiorId(),
work.getEndTime(), work.getTitle(),
work.getCompleteTime(), work.getCreateTime(),
work.getUpdateTime(), work.getStateTime(),
work.getSubmitTime(), work.getEndTime(),
work.getAuditTime(), work.getCompleteTime(),
pUser, work.getUpdateTime(),
eUser, work.getSubmitTime(),
users, work.getAuditTime(),
attachments, pUser,
work.getContent(), eUser,
work.getWorkload(), users,
work.getStatus(), attachments,
work.getWorkCoefficient(), work.getContent(),
work.getPWorkload(), work.getWorkload(),
work.getWorkloadCount() work.getStatus(),
); work.getWorkCoefficient(),
work.getPWorkload(),
work.getWorkloadCount(),
null
);
}else {
return new WorkVo(
work.getId(),
work.getSuperiorId(),
work.getTitle(),
work.getCreateTime(),
work.getStateTime(),
work.getEndTime(),
work.getCompleteTime(),
work.getUpdateTime(),
work.getSubmitTime(),
work.getAuditTime(),
pUser,
eUser,
users,
attachments,
work.getContent(),
work.getWorkload(),
work.getStatus(),
work.getWorkCoefficient(),
work.getPWorkload(),
work.getWorkloadCount(),
priviceService.findByWorkIdWorkVo(work.getSuperiorId()));
}
} }
} }
package com.zjty.tynotes.job.basic.service.impl;
import com.zjty.tynotes.job.basic.entity.database.Work;
import com.zjty.tynotes.job.basic.entity.response.WorkVo;
import com.zjty.tynotes.job.basic.repository.WorkRepository;
import com.zjty.tynotes.job.basic.service.PriviceService;
import com.zjty.tynotes.job.common.exception.NotFoundException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class PriviceServiceImpl implements PriviceService {
@Autowired
WorkRepository workRepository;
@Override
public Work findByWorkIdWorkVo(String superoirId) {
return superoirIdWork(superoirId);
}
private Work superoirIdWork(String superoirId){
if (!workRepository.existsById(superoirId)){
throw new NotFoundException(String.format("[job] id为 %s 的任务不存在.", superoirId));
}
Work work= workRepository.findById(superoirId).get();
if (work.getSuperiorId()==null|| "".equals(work.getSuperiorId())){
return work;
}else {
return superoirIdWork(work.getSuperiorId());
}
}
}
...@@ -123,6 +123,7 @@ public class WorkServiceImpl implements WorkService { ...@@ -123,6 +123,7 @@ public class WorkServiceImpl implements WorkService {
@Override @Override
public Work findById(String workId) { public Work findById(String workId) {
Optional<Work> workOptional = workRepository.findById(workId); Optional<Work> workOptional = workRepository.findById(workId);
return workOptional.orElseThrow(() -> new BadRequestException(String.format("[job] id为 %s 的数据不存在.", workId))); return workOptional.orElseThrow(() -> new BadRequestException(String.format("[job] id为 %s 的数据不存在.", workId)));
} }
......
package com.zjty.tynotes.job.status.service;
public interface RepairService {
void dbAllToRedis();
}
package com.zjty.tynotes.job.status.service.impl;
import com.zjty.tynotes.job.basic.entity.database.ScoreCoefficient;
import com.zjty.tynotes.job.basic.entity.database.Work;
import com.zjty.tynotes.job.basic.service.ScoreCoefficientService;
import com.zjty.tynotes.job.basic.service.WorkService;
import com.zjty.tynotes.job.common.Constants;
import com.zjty.tynotes.job.common.constant.WorkStatus;
import com.zjty.tynotes.job.common.exception.WorkAttribution;
import com.zjty.tynotes.job.common.exception.WorkAttribution1;
import com.zjty.tynotes.job.status.entity.RedisPersonalWork;
import com.zjty.tynotes.job.status.service.RepairService;
import com.zjty.tynotes.pas.service.IUserService;
import com.zjty.tynotes.search.subject.service.EsUtil;
import com.zjty.tynotes.sms.service.MessageTemplateService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@Service
public class RepairServiceImpl implements RepairService {
@Autowired
private RedisTemplate<String,Object> redisTemplate;
@Autowired
MessageTemplateService messageTemplateService;
@Autowired
WorkService workService;
@Autowired
EsUtil esUtil;
@Autowired
ScoreCoefficientService scoreCoefficientService;
@Autowired
IUserService iUserService;
@Override
public void dbAllToRedis() {
workService.findAll();
}
private void dbToRedis(Work work){
List<String> uIds=new ArrayList<>();
Long time=new Date().getTime();
String releaseName= iUserService.findUserById(work.getPublisher()).getUsername();
String executorName= iUserService.findUserById(work.getExecutor()).getUsername();
RedisPersonalWork personalWork=new RedisPersonalWork(work.getId(),time,work.getTitle(),work.getStatus(),releaseName,executorName,1,WorkAttribution.ME_WORK,"",work.getSuperiorId(),new ArrayList<>(),0,0);
if (releaseName.equals(executorName)){
if (work.getSuperiorId() == null){
personalWork.setWorkAttribution(WorkAttribution1.ME_RELEASE_WORK);
personalWork.setExecutorEqualRelease(1);
personalWork.setReadState(1);
personalWork.setIsNotCommission(1);
redisTemplate.opsForList().leftPush(Constants.REDIS_EVENT + work.getPublisher(), personalWork);
}else {
uIds = tests(work.getSuperiorId(), uIds);
uIds.remove(work.getPublisher());
uIds.remove(work.getExecutor());
personalWork.setWorkAttribution(WorkAttribution1.ME_RESOLVE_WORK);
personalWork.setExecutorEqualRelease(1);
personalWork.setReadState(1);
personalWork.setIsNotCommission(1);
redisTemplate.opsForList().leftPush(Constants.REDIS_EVENT + work.getPublisher(), personalWork);
List<Object> list = redisTemplate.opsForList().range(Constants.REDIS_EVENT + work.getPublisher(), 0, -1);
assert list != null;
}
}else {
//发布人
if (work.getSuperiorId() == null) {
personalWork.setWorkAttribution(WorkAttribution1.ME_RELEASE_WORK);
switch (work.getStatus()){
case WorkStatus
.AUDIT:
personalWork.setIsNotCommission(1);
break;
case WorkStatus
.REVIEW:
ScoreCoefficient scoreCoefficient= scoreCoefficientService.findById(work.getId());
if (scoreCoefficient==null){
personalWork.setIsNotCommission(0);
}else {
personalWork.setIsNotCommission(1);
}
break;
default:
personalWork.setIsNotCommission(0);
break;
}
personalWork.setReadState(1);
redisTemplate.opsForList().leftPush(Constants.REDIS_EVENT + work.getPublisher(), personalWork);
} else {
uIds = tests(work.getSuperiorId(), uIds);
uIds.remove(work.getPublisher());
uIds.remove(work.getExecutor());
personalWork.setWorkAttribution(WorkAttribution1.ME_RESOLVE_WORK);
switch (work.getStatus()){
case WorkStatus
.AUDIT:
personalWork.setIsNotCommission(1);
break;
case WorkStatus
.REVIEW:
ScoreCoefficient scoreCoefficient= scoreCoefficientService.findById(work.getId());
if (scoreCoefficient==null){
personalWork.setIsNotCommission(0);
}else {
personalWork.setIsNotCommission(1);
}
break;
default:
personalWork.setIsNotCommission(0);
break;
}
personalWork.setReadState(1);
redisTemplate.opsForList().leftPush(Constants.REDIS_EVENT + work.getPublisher(), personalWork);
}
//执行人 判断执行人是否有分解权限
personalWork.setWorkAttribution(WorkAttribution1.ME_RECEIVE_WORK);
personalWork.setReadState(1);
switch (work.getStatus()){
case WorkStatus
.ONGOING:
personalWork.setIsNotCommission(1);
break;
case WorkStatus
.REVIEW:
ScoreCoefficient scoreCoefficient= scoreCoefficientService.findById(work.getId());
if (scoreCoefficient==null){
personalWork.setIsNotCommission(1);
}else {
personalWork.setIsNotCommission(0);
}
break;
default:
personalWork.setIsNotCommission(0);
break;
}
redisTemplate.opsForList().leftPush(Constants.REDIS_EVENT + work.getExecutor(), personalWork);
}
//有待修改
if (uIds.size()!=0) {
for (String id : uIds) {
personalWork.setWorkAttribution(WorkAttribution1.ME_RELATED_WORK);
personalWork.setReadState(1);
personalWork.setIsNotCommission(0);
redisTemplate.opsForList().leftPush(Constants.REDIS_EVENT + id, personalWork);
}
}
}
private List<String> tests(String id,List<String> list){
Work work=workService.findById(id);
String workId=work.getSuperiorId();
list.add(work.getPublisher());
if (workId==null || "".equals(workId)){
return list;
}
return tests(workId,list);
}
}
...@@ -12,6 +12,7 @@ server.ssl.keyStoreType=PKCS12 ...@@ -12,6 +12,7 @@ server.ssl.keyStoreType=PKCS12
# 证书别名 # 证书别名
server.ssl.keyAlias= alias server.ssl.keyAlias= alias
#mongodb configuration #mongodb configuration
spring.data.mongodb.uri=mongodb://localhost:27017/notes2 spring.data.mongodb.uri=mongodb://localhost:27017/notes2
# servlet configuration # servlet configuration
...@@ -22,6 +23,7 @@ spring.redis.host=localhost ...@@ -22,6 +23,7 @@ spring.redis.host=localhost
spring.redis.port=6379 spring.redis.port=6379
spring.redis.timeout=5000ms spring.redis.timeout=5000ms
# es configuraiton # es configuraiton
es.ip=localhost es.ip=localhost
logging.file=./log/note.log logging.file=./log/note.log
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论