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