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

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

......@@ -20,6 +20,7 @@ import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import java.util.Date;
import java.util.List;
import static org.springframework.http.ResponseEntity.ok;
......@@ -174,8 +175,7 @@ public class WorkController {
workService.alterTaskStatus(workId, status);
businessTreeManagement.saveAction(userId, workId, Action.FINISH_WORK, new Date(), msg);
break;
case WorkStatus
.FINISHED:
case WorkStatus.FINISHED:
workService.alterTaskStatus(workId, status);
businessTreeManagement.saveAction(userId, workId, Action.FINISHED_WORK, new Date(), msg);
......@@ -201,4 +201,11 @@ public class WorkController {
return ok(workService.findBySuperoirIdCount(workId));
}
@GetMapping(value = "/select/work/{userId}")
@ApiOperation(value = "根据用户id查看其部门所有的任务", notes = "部门所有的任务")
public ResponseEntity<List<WorkVo>> selectWorkUserId(@PathVariable("userId") String userId) {
return ok(workService.selectUserIdsWork(userId));
}
}
......@@ -13,6 +13,18 @@ import java.util.List;
*/
@Repository
public interface WorkRepository extends MongoRepository<Work, String> {
/**
* 上级任务id查询所有子任务
* @param superiorId 任务id
* @return 任务集合
*/
List<Work> findBySuperiorId(String superiorId);
/**
* 根据执行者id查询所有的任务
* @param ids 用户id集合
* @return
*/
List<Work> findAllByExecutorIn(List<String> ids);
}
......@@ -2,6 +2,7 @@ package com.zjty.tynotes.job.basic.service;
import com.zjty.tynotes.job.basic.entity.database.Work;
import com.zjty.tynotes.job.basic.entity.response.WorkIsNotCommit;
import com.zjty.tynotes.job.basic.entity.response.WorkVo;
import com.zjty.tynotes.job.basic.service.impl.WorkServiceImpl;
import org.springframework.stereotype.Service;
......@@ -126,4 +127,6 @@ public interface WorkService {
// * 查看正在进行中的任务
// */
// List<Work> selectTimeWork();
List<WorkVo> selectUserIdsWork(String userId);
}
......@@ -3,6 +3,7 @@ package com.zjty.tynotes.job.basic.service.impl;
import com.zjty.tynotes.job.basic.entity.database.Attachment;
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.AttachmentRepository;
import com.zjty.tynotes.job.basic.service.AttachmentService;
import com.zjty.tynotes.job.basic.service.ConversionService;
import com.zjty.tynotes.pas.entity.User;
......@@ -21,7 +22,7 @@ public class ConversionServiceImpl implements ConversionService {
IUserService iUserService;
@Autowired
AttachmentService attachmentService;
AttachmentRepository attachmentRepository;
@Override
public WorkVo workToVo(Work work) {
......@@ -39,10 +40,13 @@ public class ConversionServiceImpl implements ConversionService {
users.add(iUserService.findUserById(id));
}
}
if (users.size()==0){
users=null;
}
if (attachIds!=null && attachIds.size()!=0){
for (String id:attachIds){
attachments.add(attachmentService.findById(id));
attachments.add(attachmentRepository.findById(id).get());
}
}
return new WorkVo(
......
......@@ -3,19 +3,28 @@ package com.zjty.tynotes.job.basic.service.impl;
import com.google.common.collect.Lists;
import com.zjty.tynotes.job.basic.entity.database.Work;
import com.zjty.tynotes.job.basic.entity.response.WorkIsNotCommit;
import com.zjty.tynotes.job.basic.entity.response.WorkVo;
import com.zjty.tynotes.job.basic.repository.WorkRepository;
import com.zjty.tynotes.job.basic.service.ConversionService;
import com.zjty.tynotes.job.basic.service.WorkService;
import com.zjty.tynotes.job.basic.utils.WorkingTime;
import com.zjty.tynotes.job.common.constant.WorkStatus;
import com.zjty.tynotes.job.common.exception.BadRequestException;
import com.zjty.tynotes.job.common.exception.NotFoundException;
import com.zjty.tynotes.pas.entity.vo.HolidayRequest;
import com.zjty.tynotes.pas.service.ConfigService;
import com.zjty.tynotes.pas.service.IUserService;
import com.zjty.tynotes.pas.service.impl.UserServiceImpl;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;
import static java.util.Objects.isNull;
import static java.util.Objects.nonNull;
......@@ -35,10 +44,17 @@ public class WorkServiceImpl implements WorkService {
private final
WorkRepository workRepository;
@Autowired
IUserService iUserService;
@Autowired
ConversionService conversionService;
@Autowired
public WorkServiceImpl(WorkRepository workRepository) {
this.workRepository = workRepository;
}
@Autowired
ConfigService configService;
@Override
public String add(Work work) {
......@@ -111,9 +127,64 @@ public class WorkServiceImpl implements WorkService {
Work ob = workRepository.findById(taskId).get();
ob.setStatus(status);
if (status.equals(WorkStatus.ONGOING)){
Float expect= score(ob.getStateTime(),ob.getCompleteTime());
Float practical=score(ob.getStateTime(),ob.getEndTime());
if (expect<practical){
float time= practical-expect;
beyond(1,1.0f,time);
//添加
}else if (expect.equals(practical)){
//添加
}else {
float time= expect-practical;
advance(1,1.0f,time);
}
}
workRepository.save(ob);
}
private float beyond(float count,float coefficient,Float time){
if (coefficient<0.5f){
return 0.5f;
}
float si=time-4;
if (si<4){
return coefficient-0.025f*count;
}else {
coefficient=coefficient-0.025f*count;
}
count++;
return beyond(count,coefficient,si);
}
private float advance(float count,float coefficient,Float time){
if (coefficient>1.2f){
return 1.2f;
}
float remainingTime=time-6;
if (remainingTime<6){
return coefficient+0.025f*count;
}else {
coefficient=coefficient +0.025f*count;
}
count++;
return beyond(count,coefficient,remainingTime);
}
private Float score(Date startTime,Date entTime){
List<Date> dates= configService.findHolidays(new HolidayRequest(startTime,entTime));
try {
return WorkingTime.findOperHours(dates,startTime,entTime);
} catch (ParseException e) {
e.printStackTrace();
}
return null;
}
@Override
public void deleteWork(String taskId, int personalWorkload, int workloadCount) {
......@@ -179,6 +250,16 @@ public class WorkServiceImpl implements WorkService {
}
@Override
public List<WorkVo> selectUserIdsWork(String userId) {
return workRepository.findAllByExecutorIn(iUserService.findUsers(userId))
.stream()
.map(conversionService::workToVo)
.collect(Collectors.toList());
}
// @Override
// public List<Work> selectTimeWork() {
//// LocalDateTime minTime = LocalDateTime.now().with(LocalTime.MIN).atZone(ZoneOffset.ofHours(8)).ge;
......
......@@ -21,6 +21,10 @@ public interface WorkAttribution1 {
*/
int ME_RELEASE_WORK = 3;
/**
* 我的接收任务
*/
int ME_RECEIVE_WORK = 4;
......
......@@ -50,7 +50,7 @@ public class Read1Controller {
if (page==0){
pageSize=1;
}else {
pageSize=1;
pageSize=page;
}
return ResponseEntity.ok(testSeeService.selectMeCommissionWork(id,pageSize,size));
......@@ -77,7 +77,7 @@ public class Read1Controller {
if (page==0){
pageSize=1;
}else {
pageSize=1;
pageSize=page;
}
return ResponseEntity.ok(testSeeService.selectMeRelatedWork(id,pageSize,size));
......@@ -103,7 +103,7 @@ public class Read1Controller {
if (page==0){
pageSize=1;
}else {
pageSize=1;
pageSize=page;
}
return ResponseEntity.ok(testSeeService.selectMeResolveWork(id,pageSize,size));
}
......@@ -129,7 +129,7 @@ public class Read1Controller {
if (page==0){
pageSize=1;
}else {
pageSize=1;
pageSize=page;
}
return ResponseEntity.ok(testSeeService.selectMeReleaseWork(id,pageSize,size));
}
......@@ -157,7 +157,7 @@ public class Read1Controller {
if (page==0){
pageSize=0;
}else {
pageSize=page-1;
pageSize=page;
}
return ResponseEntity.ok(testSeeService.titleSelect(id,pageSize,size,title));
}
......
......@@ -84,4 +84,17 @@ public class RedisPersonalWork {
*/
@ApiModelProperty(value = "是否是代办任务",name = "isNotCommission",example = "1是代办 0不是")
private int isNotCommission;
// /**
// * 任务根据人员的状态
// */
// @ApiModelProperty(value = "任务根据人员的状态")
// private int TaskPersonnelStatus;
/**
* 执行人和发布者是否是同一人
*/
private int executorEqualRelease;
}
package com.zjty.tynotes.job.status.service.impl;
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.Personnel;
import com.zjty.tynotes.job.status.entity.RedisPersonalWork;
import com.zjty.tynotes.job.status.service.InternalService;
......@@ -31,7 +33,10 @@ public class InternalServiceImpl implements InternalService {
for (Object object:lists){
RedisPersonalWork redisPersonalWork=(RedisPersonalWork)object;
if (redisPersonalWork.getWorkAttribution()==WorkAttribution.ME_WORK){
if (redisPersonalWork.getWorkAttribution()==WorkAttribution1.ME_RECEIVE_WORK && redisPersonalWork.getStatus().equals(WorkStatus.ONGOING)){
count++;
}
if (redisPersonalWork.getExecutorEqualRelease()==1&& redisPersonalWork.getStatus().equals(WorkStatus.ONGOING)){
count++;
}
}
......@@ -47,7 +52,10 @@ public class InternalServiceImpl implements InternalService {
for (Object object:lists){
RedisPersonalWork redisPersonalWork=(RedisPersonalWork)object;
if (redisPersonalWork.getWorkAttribution()==WorkAttribution.ME_WORK){
if (redisPersonalWork.getWorkAttribution()==WorkAttribution1.ME_RECEIVE_WORK && redisPersonalWork.getStatus().equals(WorkStatus.ONGOING)){
count++;
}
if (redisPersonalWork.getExecutorEqualRelease()==1&& redisPersonalWork.getStatus().equals(WorkStatus.ONGOING)){
count++;
}
}
......
package com.zjty.tynotes.job.status.service.impl;
import com.zjty.tynotes.job.common.Constants;
import com.zjty.tynotes.job.common.constant.WorkStatus;
import com.zjty.tynotes.job.common.exception.WorkAttribution1;
import com.zjty.tynotes.job.status.entity.EsListSum;
import com.zjty.tynotes.job.status.entity.RedisListSum;
......@@ -37,9 +38,10 @@ public class TestSeeServiceImpl implements TestSeeService {
List<Object> objectList=redisTemplate.opsForList().range(Constants.REDIS_EVENT+id,0,-1);
for (Object object:objectList){
RedisPersonalWork redisPersonalWork=(RedisPersonalWork)object;
if (redisPersonalWork.getWorkAttribution()==WorkAttribution1.ME_RELATED_WORK){
if (redisPersonalWork.getWorkAttribution()==WorkAttribution1.ME_RELATED_WORK || redisPersonalWork.getWorkAttribution()==WorkAttribution1.ME_RECEIVE_WORK || redisPersonalWork.getExecutorEqualRelease()==1 ){
list.add(redisPersonalWork);
}
}
return listSum(list,size,page);
......@@ -94,8 +96,8 @@ public class TestSeeServiceImpl implements TestSeeService {
if (count%size!=0){
countPage=countPage+1;
}
if (page>countPage){
return new RedisListSum(count,list.subList((page-1)*size,countPage*size));
if (page>=countPage){
return new RedisListSum(count,list.subList((page-1)*size,count));
} else {
return new RedisListSum(count,list.subList((page-1)*size,page*size));
......
......@@ -27,22 +27,22 @@ public class UnionApplication {
public static void main(String[] args) {
SpringApplication.run(UnionApplication.class, args);
}
//// 开始支持http
// @Bean
// public ServletWebServerFactory servletContainer() {
// TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory();
// tomcat.addAdditionalTomcatConnectors(createHTTPConnector());
// return tomcat;
// }
//
//private Connector createHTTPConnector() {
// Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
// //同时启用http(8080)、https(8443)两个端口
// connector.setScheme("http");
// connector.setSecure(false);
// connector.setPort(8084);
// connector.setRedirectPort(8290);
// return connector;
//}
// 开始支持http
@Bean
public ServletWebServerFactory servletContainer() {
TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory();
tomcat.addAdditionalTomcatConnectors(createHTTPConnector());
return tomcat;
}
private Connector createHTTPConnector() {
Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
//同时启用http(8080)、https(8443)两个端口
connector.setScheme("http");
connector.setSecure(false);
connector.setPort(8084);
connector.setRedirectPort(8289);
return connector;
}
}
......@@ -3,14 +3,14 @@ spring.application.name=workbook
# https端口号.
server.port=8289
## 证书的路径.
#server.ssl.key-store=classpath:2586377_workbook.zjtys.com.cn.pfx
## 证书密码,请修改为您自己证书的密码.
#server.ssl.key-store-password=bMEPW9BG
## 秘钥库类型
#server.ssl.keyStoreType=PKCS12
## 证书别名
#server.ssl.keyAlias= alias
# 证书的路径.
server.ssl.key-store=classpath:2586377_workbook.zjtys.com.cn.pfx
# 证书密码,请修改为您自己证书的密码.
server.ssl.key-store-password=bMEPW9BG
# 秘钥库类型
server.ssl.keyStoreType=PKCS12
# 证书别名
server.ssl.keyAlias= alias
#mongodb configuration
spring.data.mongodb.uri=mongodb://localhost:27017/notes
......
......@@ -3,14 +3,14 @@ spring.application.name=workbook
# https端口号.
server.port=8289
## 证书的路径.
#server.ssl.key-store=classpath:2586377_workbook.zjtys.com.cn.pfx
## 证书密码,请修改为您自己证书的密码.
#server.ssl.key-store-password=bMEPW9BG
## 秘钥库类型
#server.ssl.keyStoreType=PKCS12
## 证书别名
#server.ssl.keyAlias= alias
# 证书的路径.
server.ssl.key-store=classpath:2586377_workbook.zjtys.com.cn.pfx
# 证书密码,请修改为您自己证书的密码.
server.ssl.key-store-password=bMEPW9BG
# 秘钥库类型
server.ssl.keyStoreType=PKCS12
# 证书别名
server.ssl.keyAlias= alias
#mongodb configuration
spring.data.mongodb.uri=mongodb://localhost:27017/notes
......
......@@ -4,14 +4,14 @@ spring.application.name=workbook
# https端口号.
server.port=8289
## 证书的路径.
#server.ssl.key-store=classpath:2586377_workbook.zjtys.com.cn.pfx
## 证书密码,请修改为您自己证书的密码.
#server.ssl.key-store-password=bMEPW9BG
## 秘钥库类型
#server.ssl.keyStoreType=PKCS12
## 证书别名
#server.ssl.keyAlias= alias
# 证书的路径.
server.ssl.key-store=classpath:2586377_workbook.zjtys.com.cn.pfx
# 证书密码,请修改为您自己证书的密码.
server.ssl.key-store-password=bMEPW9BG
# 秘钥库类型
server.ssl.keyStoreType=PKCS12
# 证书别名
server.ssl.keyAlias= alias
#mongodb configuration
spring.data.mongodb.uri=mongodb://localhost:27017/test
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论