diff --git a/.gitignore b/.gitignore index 2d50b71580592be3d6cbddc50432821eb80ba659..1e66c539a94d3b3c846aebf332df474a4506cb45 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,15 @@ +*.env + +.run/ + +redis/ + +sql/ + +mysql/ + +deploy/ + target/ # Package Files # *.jar diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..27f2ada406831d17843bb2e8e83728a694f6921c --- /dev/null +++ b/Dockerfile @@ -0,0 +1,28 @@ +# 指定基础镜像 +FROM docker.1ms.run/library/openjdk:17 + +#标签 + +LABEL authors="hrc" + +# 设置代码存储目录--容器中的位置 +WORKDIR /app + +# 安装字体--显示图片 +#RUN apt-get update && \ +# apt-get install -y \ +# fontconfig \ +# libx11-dev \ +# libxext-dev \ +# libxrender-dev \ +# libxtst-dev \ +# libfreetype6 \ +# fonts-dejavu && \ +# apt-get clean && \ +# rm -rf /var/lib/apt/lists/* + +# 将本机文件复制到容器工作目录中 +COPY ./target/my-project-1.0.0-SNAPSHOT.jar . + +#声明容器运行时监听的端口 +EXPOSE 9090 diff --git a/Makefile b/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..c9ced6fd69c95fe58eca26b4938140457854dc5f --- /dev/null +++ b/Makefile @@ -0,0 +1,81 @@ +# 自动获取构建时间和 Git 提交 ID +BUILD_DATE=$$(date +"%Y-%m-%d-%H:%M:%S") +GIT_COMMIT=$$(git rev-parse --short HEAD) + +# 镜像前缀 +IMAGE_PREFIX=registry.cn-hangzhou.aliyuncs.com/huthrc/dev +# 镜像名称 +IMAGE_NAME=performance_api +# 架构 +ARCH_AMD=amd +ARCH_ARM=arm + +include .env + +# 打包 +build: + mvn clean -DskipTests package +# 构建 arm镜像 +docker-arm-build: build + #删除旧标签 + docker rmi ${IMAGE_PREFIX}:${IMAGE_NAME}_${ARCH_ARM} || true + docker rmi ${IMAGE_NAME}_${ARCH_ARM} || true + + docker build \ + --build-arg BUILD_DATE=${BUILD_DATE} \ + --build-arg GIT_COMMIT=${GIT_COMMIT} \ + --platform linux/arm64 \ + -t ${IMAGE_NAME}_${ARCH_ARM} . + docker tag ${IMAGE_NAME}_${ARCH_ARM} ${IMAGE_PREFIX}:${IMAGE_NAME}_${ARCH_ARM} + +# 运行arm镜像 +docker-arm-run: docker-arm-build + (export IMAGE_NAME=${IMAGE_PREFIX}:${IMAGE_NAME}_${ARCH_ARM}; docker compose up) +# arm镜像构建并且运行 +docker-arm-build-run: docker-arm-build docker-arm-run + +# 构建amd镜像 +docker-amd-build: build + #删除旧标签 + docker rmi ${IMAGE_PREFIX}:${IMAGE_NAME}_${ARCH_AMD} || true + docker rmi ${IMAGE_NAME}:${ARCH_AMD} || true + + docker build \ + --build-arg BUILD_DATE=${BUILD_DATE} \ + --build-arg GIT_COMMIT=${GIT_COMMIT} \ + --platform linux/amd64 \ + -t ${IMAGE_NAME}:${ARCH_AMD} . + docker tag ${IMAGE_NAME}:${ARCH_AMD} ${IMAGE_PREFIX}:${IMAGE_NAME}_${ARCH_AMD} + +# 运行amd镜像 +docker-amd-run: + (export IMAGE_NAME=${IMAGE_PREFIX}:${IMAGE_NAME}_${ARCH_AMD}; docker compose up) + + +# amd镜像构建并且运行 +docker-amd-build-run: docker-amd-build docker-amd-run + +# 构建amd和arm镜像 +docker-build: docker-amd-build docker-arm-build + + +# amd和arm镜像构建并且运行 +docker-build-run: docker-build docker-arm-run docker-amd-run + +# push 镜像 +docker-push: docker-build + docker push ${IMAGE_PREFIX}:${IMAGE_NAME}_${ARCH_AMD} + docker push ${IMAGE_PREFIX}:${IMAGE_NAME}_${ARCH_ARM} + +# 查看镜像架构 +docker-arch: + docker inspect --format='{{.Architecture}}' ${IMAGE_PREFIX}:${IMAGE_NAME}_${ARCH_AMD} + docker inspect --format='{{.Architecture}}' ${IMAGE_PREFIX}:${IMAGE_NAME}_${ARCH_ARM} + +# 查看插件的全部目标 +help: + mvn help:describe -Dplugin=org.springframework.boot:spring-boot-maven-plugin -Ddetail=true + +# 运行程序 +run: + set -a && source .env && set +a && mvn spring-boot:run \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000000000000000000000000000000000000..88abff562b5e7083d80aee9dbc1458ac7b53bad8 --- /dev/null +++ b/README.md @@ -0,0 +1,152 @@ +绩效信息化平台 +---- + +## 项目描述 + +该项目是前后端分离,前端使用Vue3 + elementPlus等技术,后端用SpringBoot + Camunda等技术编写的企业内部的绩效管理系统,可以更方便的 +管理企业的员工的绩效。三人合作完成,我负责后端部分。 + +### 技术栈 + +SpringBoot + Camunda + JWT + redis + MyBatisPlus + +### 功能模块 + +1. 首页模块 +2. 部门模块 +3. 员工模块 +4. 岗位模块 +5. 权限模块 +6. 申报模块 +7. 评分模块 +8. 审批模块 +9. 归档模块 +10. 登录模块 + +分成三大类 + +1. 通用模块:登录模块,首页模块 +2. 基础数据相关模块:部门模块, 员工模块,岗位模块,权限模块 +3. 绩效相关模块:申报模块 评分模块 审批模块 归档模块 + +### 线上地址 + +http://performance.huthrc.top 或 http://pf.huthrc.top/ + +### 我的职责 + +1. 使用JWT生成token再结合拦截器完成员工30分钟无操作自动退出并且完成10分钟内自动续约功能 +2. 绘制BPMN流程图,使用Camunda工作引擎完成绩效审批功能 +3. 使用redis存放验证码解决跨域无法显示图片问题,存放员工权限路由提高接口请求速度 +4. 使用EasyExcel完成员工信息与绩效信息导入与导出功能 +5. 独立设计数据库并且完成RBAC权限控制功能 +6. 完成项目的前端与后端的部署,并且编写脚本简化部署流程 + +### 我的收获 + +1. 通过与前端搭档接口联调和编写接口文档,提高了我的合作能力 +2. 通过在IDEA中大量使用图形化git,提高了我的git使用能力 +3. 通过使用各种第三方库和debug,提高了我的编码能力 +4. 通过在Linux与windows上部署项目,提高了我的项目部署能力 +5. 通过设计40多张表,提高了我的表设计能力 +6. 通过与该公司的业务人员交流,提高了我对业务的理解与交流能力 + +### 部署 + +1)前端 + +1. 通过阿里云的OSS部署 http://performance.huthrc.top +2. 通过服务器的nginx部署 http://pf.huthrc.top/ + +2)后端 + +1. 通过服务器的宝塔部署java应用 + +### 遇到的问题 + +1. 在Controller层 private修饰的方法的Service实现类注入为空 +
+ 原因: spring aop代理的问题,无法代理private | final | static 修饰的方法 +
+ 将private方法改为public +2. 在前端分离开发中登录验证码过期问题 + 原因:跨域导致sessionId不一致 +
+ 解决:设置一个自定义请求头的x-request-id +3. 自定义的header在跨域的时候前端访问不到 +
+ 原因:在使用CORS解决跨域的请求中,默认只能取到五个response header值 Content-Language Content-Type + Expires Last-Modified Pragma +
+ 解决:跨域的时候后端必须设置允许暴露的请求头,且不能设置为*否则无效 https://www.cnblogs.com/younghxp/p/16693535.html +4. 登录获取的token直接失效 +
+ 原因: jwt中的exp过期时间单位为s,代码中获取当前时间戳单位为毫秒 +
+ 解决:将两者单位统一再比较 +5. 用户使用https协议访问无法获取验证码 +
+ 原因: 前端使用http协议请求后端,而浏览器默认不允许混合使用http与https +
+ 解决: 用户手动允许浏览器允许访问不安全内容或更换浏览器或者将前端的后端请求协议改为https + +### 表的优化 + +PositionAssessor 岗位审核人表 + +实体:岗位与员工 + +联系: 审核 + +关系: 多对多 + +字段 + +id int 业务id + +positionId int 岗位id + +assessorId int 审核人id + +level int 审核人级别 + +---- +手动添加第一个根部门 + +## RBAC + +- 角色表 +- 路由表 +- 按钮表 +- 用户表 + +员工进行登录,前端会向后端请求动态路由,后端根据员工的角色返回其对应的路由与按钮,然后前端根据这些动态路由加入路由表 + +## 审核流程 + +1. 首先绩效专员为岗位开启这个月的绩效考核流程 +2. 其次绩效专员再为这个岗位的员工进行申报(记件,奖金) +3. 然后岗位的负责人对员工进行评分(okr,kpi,评分) +4. 再由审核人员对这些评分进行审核 +5. 最后由绩效专员进行归档 + +## 请求流程 + +1. 每次请求都会依次经过Token拦截器,权限拦截器 +2. 如果token无效或过期直接拒绝请请求,token剩余10分钟,则重新生成token +3. 经过权限拦截器时,会首先获取请求的uri,然后根据用户的id从redis中获取该员工的权限路由 +4. 将这些权限路由与请求的uri进行匹配,如果没有则拒绝请求; +5. 当然如果redis中没有存放该员工的权限或者已经过期,则根据员工的roleId去数据库中查询该员工的权限路由 +6. 将数据存放到redis中,然后按照刚才的步骤检查是否拒绝请求 +7. 通过拦截器之后就根据请求的uri进入对应的controller类,然后执行方法 + +## camunda + +1. 基本概念: 事件 任务 定时器 bpmn图 +2. 使用SDK方式调用 runService taskService +3. 绘制bpmn图 : camunda modeler + +## redis + +1. 存放验证码 key vc:userid:xxx value string +2. 存放员工权限路由 key permission_routers:userid:xxx value set \ No newline at end of file diff --git a/build.dockerfile b/build.dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..8fd5aa5050e24a9b993d07b655c4aedc10ddf3f2 --- /dev/null +++ b/build.dockerfile @@ -0,0 +1,43 @@ +# 构建阶段 +FROM maven:3.8.7-eclipse-temurin-17 AS builder + +# 设置工作目录 +WORKDIR /build + +# 复制pom.xml +COPY pom.xml . + +# 下载依赖(利用Docker缓存层) +RUN mvn dependency:go-offline + +# 复制源代码 +COPY src ./src + +# 构建应用 +RUN mvn clean package -DskipTests + +# 运行阶段 +FROM eclipse-temurin:17-jre-jammy + +# 设置工作目录 +WORKDIR /app + +# 创建必要的目录 +RUN mkdir -p /app/uploads /app/logs + +# 设置时区 +ENV TZ=Asia/Shanghai +RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone + +# 复制构建产物 +COPY --from=builder /build/target/*.jar app.jar + +# 设置默认环境变量 +#ENV JAVA_OPTS="-Xms512m -Xmx1024m" +# ENV SPRING_PROFILES_ACTIVE="prod" + +# 暴露端口 +EXPOSE 9090 + +# 启动命令 +ENTRYPOINT ["sh", "-c", "java $JAVA_OPTS -jar app.jar"] \ No newline at end of file diff --git a/deploy/environment-install.sh b/deploy/environment-install.sh new file mode 100644 index 0000000000000000000000000000000000000000..74bb793c35fe219923d49c62b4db56c296cc9dba --- /dev/null +++ b/deploy/environment-install.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +# 更新软件包列表 +sudo apt update + +# 安装OpenJDK 8 +sudo apt install -y openjdk-8-jdk + +# 验证安装 +if [ "$(java -version 2>&1 | grep 'openjdk version')" ]; then + echo "Java 8 (OpenJDK) installed successfully." +else + echo "There was an error installing Java 8." +fi + +# 设置默认的Java版本为Java 8 +sudo update-alternatives --config java + +# 输出当前使用的Java版本信息 +java -version \ No newline at end of file diff --git a/deploy/run-performance.sh b/deploy/run-performance.sh new file mode 100644 index 0000000000000000000000000000000000000000..ceae4905265f6f857f838c5db6437f1dbf129212 --- /dev/null +++ b/deploy/run-performance.sh @@ -0,0 +1,2 @@ +## 后台运行,输出到 log文件 +nohup java -Dserver.port=8081 -Dspring.profiles.active=prod -jar my-project-1.0.0-SNAPSHOT.jar > nohup-performance.log 2>&1 & \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000000000000000000000000000000000000..0740f47310f4c403b3913da8215acabc5a892234 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,11 @@ +services: + performance-api: + image: ${IMAGE_NAME} + container_name: performance-api + env_file: + - .env + ports: + - "9090:9090" + command: /bin/bash -c "java -jar my-project-1.0.0-SNAPSHOT.jar --server.address=0.0.0.0 " + + diff --git a/pom.xml b/pom.xml index 59ef1cef7f52deb8b786d2fff8ee10b181f6be39..3cf0e831145ac80f9e8c8bff4ecd499b963ddf0a 100644 --- a/pom.xml +++ b/pom.xml @@ -20,16 +20,9 @@ UTF-8 8 8 - 2.7.3 3.5.3.1 - 1.2.10 8.0.23 - 1.9.4 1.2.66 - 3.4 - 1.9 - 2.5 - 3.2.0 @@ -46,26 +39,11 @@ - - org.camunda.bpm.springboot - camunda-bpm-spring-boot-starter-rest - - org.camunda.bpm.springboot camunda-bpm-spring-boot-starter-webapp - - org.camunda.bpm - camunda-engine-plugin-spin - - - - org.camunda.spin - camunda-spin-dataformat-all - - org.drools @@ -104,12 +82,7 @@ mybatis-plus-boot-starter ${mybatis-plus.version} - - - org.mybatis.spring.boot - mybatis-spring-boot-starter - 2.2.2 - + @@ -148,6 +121,18 @@ lombok true + + + org.mapstruct + mapstruct + 1.5.2.Final + + + org.mapstruct + mapstruct-processor + 1.5.2.Final + provided + diff --git a/src/main/java/com/example/workflow/Application.java b/src/main/java/com/example/workflow/Application.java index 1c48b5424ae955c8d4b8ea20d9423088849a07c6..b47b7a4c9ccdc9bdde07565c103000470f1b53b4 100644 --- a/src/main/java/com/example/workflow/Application.java +++ b/src/main/java/com/example/workflow/Application.java @@ -1,7 +1,6 @@ package com.example.workflow; import org.mybatis.spring.annotation.MapperScan; -import org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan; @@ -13,11 +12,20 @@ import org.springframework.transaction.annotation.EnableTransactionManagement; @EnableTransactionManagement @EnableScheduling @ServletComponentScan -@SpringBootApplication(exclude = MybatisAutoConfiguration.class) +@SpringBootApplication @MapperScan("com.example.workflow.mapper") public class Application { public static void main(String... args) { SpringApplication.run(Application.class, args); + // http://patorjk.com/software/taag/?spm=5176.28103460.0.0.297c5d27o3B1lK 横幅内容生成 + System.out.println(" _____ \n" + + "______ ____________/ ____\\___________ _____ _____ ____ ____ ____ \n" + + "\\____ \\_/ __ \\_ __ \\ __\\/ _ \\_ __ \\/ \\\\__ \\ / \\_/ ___\\/ __ \\ \n" + + "| |_> > ___/| | \\/| | ( <_> ) | \\/ Y Y \\/ __ \\| | \\ \\__\\ ___/ \n" + + "| __/ \\___ >__| |__| \\____/|__| |__|_| (____ /___| /\\___ >___ >\n" + + "|__| \\/ \\/ \\/ \\/ \\/ \\/" + '\n' + + "绩效管理系统后台服务启动成功"); + } } \ No newline at end of file diff --git a/src/main/java/com/example/workflow/aspect/ParamAspect.java b/src/main/java/com/example/workflow/aspect/ParamAspect.java new file mode 100644 index 0000000000000000000000000000000000000000..52c52105778ffffdf0b56283a8502d27e290efe2 --- /dev/null +++ b/src/main/java/com/example/workflow/aspect/ParamAspect.java @@ -0,0 +1,34 @@ +package com.example.workflow.aspect; + +import lombok.extern.slf4j.Slf4j; +import org.aspectj.lang.JoinPoint; +import org.aspectj.lang.annotation.Aspect; +import org.aspectj.lang.annotation.Before; +import org.aspectj.lang.annotation.Pointcut; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import java.util.StringJoiner; + +@Slf4j +@Component +@Aspect +public class ParamAspect { + + @Resource + HttpServletRequest request; + + @Pointcut("execution(* com.example.workflow.controller..*.*(..))") + public void controller() { + } + + @Before("controller()") + public void before(JoinPoint joinPoint) { + StringJoiner sj = new StringJoiner("\n", "\n", "\n"); + for (Object arg : joinPoint.getArgs()) { + sj.add(arg.toString()); + } + log.info("请求uri:{} \n 请求参数:{}", request.getRequestURI(), sj); + } +} diff --git a/src/main/java/com/example/workflow/config/WebMvcConfig.java b/src/main/java/com/example/workflow/config/WebMvcConfig.java index a8d7c366e5d5392646584ab9e2d0843ca4add0f9..715f8add1b266ed0d9e191975e6cb0b83945620f 100644 --- a/src/main/java/com/example/workflow/config/WebMvcConfig.java +++ b/src/main/java/com/example/workflow/config/WebMvcConfig.java @@ -2,41 +2,26 @@ package com.example.workflow.config; import com.example.workflow.interceptor.TokenCheckInterceptor; import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Configuration; -import org.springframework.web.servlet.config.annotation.CorsRegistry; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; +import javax.annotation.Resource; + @Slf4j @Configuration public class WebMvcConfig implements WebMvcConfigurer { -// //@JsonFormat(shape = JsonFormat.Shape.STRING) -// // public void extendMessageConverters(List> converters){ -// // log.info("拓展消息转换器"); -// // MappingJackson2CborHttpMessageConverter messageConverter=new MappingJackson2CborHttpMessageConverter(); -// // messageConverter.setObjectMapper(new JacksonObjectMapper()); -// // converters.add(0,messageConverter); -// // } - - - - @Autowired + @Resource private TokenCheckInterceptor tokenCheckInterceptor; + + @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(tokenCheckInterceptor) - .addPathPatterns("/**") // 指定拦截的路径模式 - .excludePathPatterns("/login","/getVerifyCode","/logout"); // 排除的路径 + // 指定拦截的路径模式 + .addPathPatterns("/**") + // 排除的路径 + .excludePathPatterns("/login", "/getVerifyCode", "/logout", "/login/test"); } - @Override - public void addCorsMappings(CorsRegistry registry) { - registry.addMapping("/**") - .allowedOriginPatterns("*") - .allowedMethods("GET", "POST", "PUT", "DELETE") - .allowedHeaders("*") - .allowCredentials(true) - .maxAge(3600); - } } diff --git a/src/main/java/com/example/workflow/constant/MyConstant.java b/src/main/java/com/example/workflow/constant/MyConstant.java new file mode 100644 index 0000000000000000000000000000000000000000..f771864316513b05f71a28564f3a827ae13b6149 --- /dev/null +++ b/src/main/java/com/example/workflow/constant/MyConstant.java @@ -0,0 +1,7 @@ +package com.example.workflow.constant; + +public interface MyConstant { + + /** 部门最小级别*/ + Short DEPT_MIN_LEVEL = 4; +} diff --git a/src/main/java/com/example/workflow/content/session/VerifyCodeSessionContent.java b/src/main/java/com/example/workflow/content/session/VerifyCodeSessionContent.java new file mode 100644 index 0000000000000000000000000000000000000000..7d2a8119b1c198a727e3a9639d6e56148217149d --- /dev/null +++ b/src/main/java/com/example/workflow/content/session/VerifyCodeSessionContent.java @@ -0,0 +1,23 @@ +package com.example.workflow.content.session; + +import java.util.HashMap; +import java.util.Map; + +/** + * 存放验证码 + */ +public class VerifyCodeSessionContent { + private static final Map data = new HashMap<>(); + + public static Object getVerifyCode(String key) { + return data.get(key); + } + + public static void setVerifyCode(String key, Object value) { + data.put(key, value); + } + + public static void clearVerifyCode(String key) { + data.remove(key); + } +} diff --git a/src/main/java/com/example/workflow/controller/BackWaitController.java b/src/main/java/com/example/workflow/controller/BackWaitController.java index a5defd9beb7fd3e3a1fe1c3aa71f5c670c99edb0..9d8a66e00415e650874bd64ad17a803d6e4b2bff 100644 --- a/src/main/java/com/example/workflow/controller/BackWaitController.java +++ b/src/main/java/com/example/workflow/controller/BackWaitController.java @@ -21,7 +21,7 @@ public class BackWaitController { private BackWaitService BackWaitService; @GetMapping("/getOpinion") - private R getOpinion(@RequestParam("empId") Long empId + public R getOpinion(@RequestParam("empId") Long empId ,@RequestParam("positionId") Long positionId ,@RequestParam("type") String type){ diff --git a/src/main/java/com/example/workflow/controller/DeptController.java b/src/main/java/com/example/workflow/controller/DeptController.java index e90f7615c580215bc749ff02d2e057f20c6d490c..b041f1e4035cf5e772f0da11a7c6923fa93dfbf4 100644 --- a/src/main/java/com/example/workflow/controller/DeptController.java +++ b/src/main/java/com/example/workflow/controller/DeptController.java @@ -24,10 +24,7 @@ import java.util.List; import java.util.Objects; /** - *

* 部门 前端控制器 - *

- * * @author 黄历 * @since 2024-03-12 */ diff --git a/src/main/java/com/example/workflow/controller/EmpCheckStateController.java b/src/main/java/com/example/workflow/controller/EmpCheckStateController.java index 40c600e5eab8a8bacca96873d1684760657977b1..c9d40dd7a502fe0d417c7ea191b285c4bccaa63b 100644 --- a/src/main/java/com/example/workflow/controller/EmpCheckStateController.java +++ b/src/main/java/com/example/workflow/controller/EmpCheckStateController.java @@ -62,7 +62,7 @@ public class EmpCheckStateController { * 查看次数+1 * */ @PostMapping("/point") - private R point(@RequestBody JSONObject obj){ + public R point(@RequestBody JSONObject obj) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(EmpCheckState::getEmpId,obj.getString("empId")) .apply(StringUtils.checkValNotNull(beginTime), @@ -92,7 +92,7 @@ public class EmpCheckStateController { * 是否已确认查看绩效 * */ @PostMapping("/match") - private R match(@RequestBody JSONObject obj){ + public R match(@RequestBody JSONObject obj) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(EmpCheckState::getEmpId,obj.getString("empId")) .apply(StringUtils.checkValNotNull(beginTime), diff --git a/src/main/java/com/example/workflow/controller/EmpCoefficientController.java b/src/main/java/com/example/workflow/controller/EmpCoefficientController.java index e06007c56d86f9b82e38e8541e405d52b2226abd..5d382660387b7c3e14ad7d0c4698493ce8af87d2 100644 --- a/src/main/java/com/example/workflow/controller/EmpCoefficientController.java +++ b/src/main/java/com/example/workflow/controller/EmpCoefficientController.java @@ -21,12 +21,20 @@ import com.example.workflow.mapper.ResultPieceEmpViewMapper; import com.example.workflow.mapper.ResultScoreEmpViewMapper; import com.example.workflow.mapper.TaskViewMapper; import com.example.workflow.model.dto.EmpCoeForm; -import com.example.workflow.model.entity.*; +import com.example.workflow.model.entity.CoefficientView; +import com.example.workflow.model.entity.EmpCoefficient; +import com.example.workflow.model.entity.EmployeePosition; +import com.example.workflow.model.entity.RegionCoefficient; +import com.example.workflow.model.entity.TaskView; import com.example.workflow.model.feedback.EmpCoefficientError; import com.example.workflow.model.feedback.ErrorExcelWrite; -import com.example.workflow.model.pojo.CoefficientViewExcel; import com.example.workflow.model.pojo.EmpCoefficientExcel; -import com.example.workflow.service.*; +import com.example.workflow.service.CoefficientViewService; +import com.example.workflow.service.EmpCoefficientService; +import com.example.workflow.service.EmpWageService; +import com.example.workflow.service.EmployeeCoefficientService; +import com.example.workflow.service.EmployeePositionService; +import com.example.workflow.service.RegionCoefficientService; import lombok.extern.slf4j.Slf4j; import org.camunda.bpm.engine.TaskService; import org.springframework.beans.BeanUtils; @@ -44,14 +52,8 @@ import java.io.IOException; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; -import java.util.ArrayList; import java.util.List; - -/** - * 员工绩效系数 - * */ - @Slf4j @RestController @RequestMapping("/EmpCoefficient") @@ -92,24 +94,16 @@ public class EmpCoefficientController { private EmployeeCoefficientService EmployeeCoefficientService; @Autowired private RegionCoefficientService RegionCoefficientService; - @Autowired - private EmployeeService EmployeeService; LocalDate today = LocalDate.now(); LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); LocalDateTime endTime = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()), LocalTime.MAX); - /** - * 查询当月员工系数 - * */ @GetMapping("/page") - private R page(@RequestParam("page") String page, @RequestParam("page_size") String pageSize){ - - List list = new ArrayList<>(); + public R page(@RequestParam("page") String page, @RequestParam("page_size") String pageSize) { Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - queryWrapper - .apply(StringUtils.checkValNotNull(beginTime), + queryWrapper.apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) @@ -119,12 +113,8 @@ public class EmpCoefficientController { return R.success(pageInfo); } - /** - * 复制上月员工绩效系数 - * */ @PostMapping("/copy") - private R copy(){ - + public R copy() { List list= EmpCoefficientService.lambdaQuery() .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) @@ -149,9 +139,6 @@ public class EmpCoefficientController { return R.success(); } - /** - * 查询员工绩效系数 - * */ @GetMapping("/search") public R searchPage(@RequestParam("page") String page , @RequestParam("page_size") String pageSize @@ -160,6 +147,7 @@ public class EmpCoefficientController { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.orderByDesc(CoefficientView::getEmpId) .like(CoefficientView::getEmpName,empName) + .eq(CoefficientView::getState,1) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), @@ -168,104 +156,46 @@ public class EmpCoefficientController { return R.success(pageInfo); } - /** - * 查询历史员工绩效系数 - * */ @GetMapping("/coefficientPastPage") - public R coefficientPastPage(@RequestParam("page") String page, - @RequestParam("page_size") String pageSize, - @RequestParam(defaultValue = "") String time - ){ - - //获取选择年月 - String choseMonth = time+"-01"; + public R coefficientPastPage(@RequestParam("page") String page, @RequestParam("page_size") String pageSize){ + LocalDate today = LocalDate.now(); + LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - queryWrapper.apply(StringUtils.checkValNotNull(choseMonth), - "date_format (create_time,'%Y-%m') >= date_format ({0},'%Y-%m')", choseMonth) - .apply(StringUtils.checkValNotNull(choseMonth), - "date_format (create_time,'%Y-%m') <= date_format ({0},'%Y-%m')", choseMonth); + queryWrapper.apply(StringUtils.checkValNotNull(beginTime), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime); CoefficientViewService.page(pageInfo,queryWrapper); return R.success(pageInfo); } - /** - * 搜素历史员工绩效系数 - * */ - @GetMapping("/coefficientPastSearch") - public R coefficientPastSearch( - @RequestParam("page") String page - , @RequestParam("page_size") String pageSize - ,@RequestParam(defaultValue = "") String empName - ,@RequestParam(defaultValue = "") String time - ){ - Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); - LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - - //获取选择年月 - String choseMonth = time+"-01"; - - queryWrapper.orderByDesc(CoefficientView::getEmpId) - .like(CoefficientView::getEmpName,empName) - .apply(StringUtils.checkValNotNull(choseMonth), - "date_format (create_time,'%Y-%m') >= date_format ({0},'%Y-%m')", choseMonth) - .apply(StringUtils.checkValNotNull(choseMonth), - "date_format (create_time,'%Y-%m') <= date_format ({0},'%Y-%m')", choseMonth); - CoefficientViewService.page(pageInfo,queryWrapper); - return R.success(pageInfo); - } - /** - * 修改当月员工系数 - * */ @PostMapping("/update") - private R update(@RequestBody EmpCoefficient one){ + public R update(@RequestBody EmpCoefficient one) { EmpCoefficientService.updateById(one); + return R.success(); } - /** - * 员工归档 - * */ @PostMapping("/file") - private R file(@RequestBody JSONObject obj){ - - //勿动(后续建议封装) - //获取员工所在岗位信息 - LambdaQueryWrapper wrapper=new LambdaQueryWrapper<>(); - wrapper.eq(EmployeePosition::getEmpId,obj.getString("empId")) - .eq(EmployeePosition::getPositionId,obj.getString("positionId")) - .eq(EmployeePosition::getState,1); - EmployeePosition EmployeePosition = EmployeePositionService.getOne(wrapper); - - //获取员工进程 - LambdaQueryWrapper query=new LambdaQueryWrapper<>(); - query.eq(TaskView::getStartUserId,obj.getString("empId")) - .eq(TaskView::getStartUserId,obj.getString("empId")) - .eq(TaskView::getProcInstId,EmployeePosition.getProcessDefinitionId()) - .eq(TaskView::getName,"wage_emp") - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')",endTime); - TaskView task = TaskViewMapper.selectOne(query); - - //使用&&当task为null时不继续判断,防止task.getName()报空指针错误 - //当满足判定条件时 ,可继续下面归档流程 - if (task != null){ - - }else { - return R.error("已归档,请勿重复归档"); - } - + public R file(@RequestBody JSONObject obj) { Long empId=Long.valueOf(obj.getString("empId")); Long positionId=Long.valueOf(obj.getString("positionId")); - //归档结算 EmployeeCoefficientService.fileOne(empId,positionId); - //结束进程 + + LambdaQueryWrapper queryWrapper5=new LambdaQueryWrapper<>(); + queryWrapper5.eq(EmployeePosition::getEmpId,empId) + .eq(EmployeePosition::getPositionId,positionId) + .eq(EmployeePosition::getState,1); + EmployeePosition EmployeePosition= EmployeePositionService.getOne(queryWrapper5); + + LambdaQueryWrapper queryWrapper7=new LambdaQueryWrapper<>(); + queryWrapper7.eq(TaskView::getProcInstId,EmployeePosition.getProcessDefinitionId()) + .eq(TaskView::getStartUserId,empId) + .eq(TaskView::getAssignee,obj.getString("assessorId")); + TaskView task= TaskViewMapper.selectOne(queryWrapper7); taskService.complete(task.getId()); UpdateWrapper updateWrapper =new UpdateWrapper<>(); @@ -275,66 +205,19 @@ public class EmpCoefficientController { .eq("position_id",positionId) .eq("state",1); EmployeePositionService.update(updateWrapper); - return R.success(); + return R.success(); } - /** - * 一键员工归档 - * */ - @PostMapping("/fileAll") - private R fileAll(@RequestBody JSONObject form){ - + public R fileAll(@RequestBody JSONObject form) { JSONArray formArray = form.getJSONArray("Form"); - if (formArray.isEmpty()){ - return R.error("未选择归档对象,请选择归档对象"); - } - - //避免重复归档(后续建议封装) - int flag =0; - - for (int i = 0; i < formArray.size(); i++) { - JSONObject formObject = formArray.getJSONObject(i); - Long empId=Long.valueOf(String.valueOf(formObject.get("empId"))); - Long positionId=Long.valueOf(String.valueOf(formObject.get("positionId"))); - String assessorId = form.getString("assessorId"); - - //获取员工所在岗位信息 - LambdaQueryWrapper wrapper=new LambdaQueryWrapper<>(); - wrapper.eq(EmployeePosition::getEmpId,empId) - .eq(EmployeePosition::getPositionId,positionId); - EmployeePosition EmployeePosition = EmployeePositionService.getOne(wrapper); - //获取员工进程 - LambdaQueryWrapper query=new LambdaQueryWrapper<>(); - query.eq(TaskView::getStartUserId,empId) - .eq(TaskView::getProcInstId,EmployeePosition.getProcessDefinitionId()) - .eq(TaskView::getName,"wage_emp"); - TaskView task = TaskViewMapper.selectOne(query); - - query.eq(TaskView::getStartUserId,empId) - .eq(TaskView::getProcInstId,EmployeePosition.getProcessDefinitionId()); - //使用&&当task为null时不继续判断,防止task.getName()报空指针错误当满足判定条件时 ,可继续下面申报流程 - if (task != null){ - - }else { - flag += 1; - } - } - - if (flag != 0){ - return R.error("已有"+flag+"人被归档,请刷新"); - } - - for (int i = 0; i < formArray.size(); i++) { JSONObject formObject = formArray.getJSONObject(i); Long empId=Long.valueOf(String.valueOf(formObject.get("empId"))); Long positionId=Long.valueOf(String.valueOf(formObject.get("positionId"))); - - //归档 EmployeeCoefficientService.fileOne(empId,positionId); LambdaQueryWrapper queryWrapper5=new LambdaQueryWrapper<>(); @@ -348,8 +231,6 @@ public class EmpCoefficientController { .eq(TaskView::getStartUserId,empId) .eq(TaskView::getAssignee,form.getString("assessorId")); TaskView task= TaskViewMapper.selectOne(queryWrapper7); - - //技术进程 taskService.complete(task.getId()); UpdateWrapper updateWrapper =new UpdateWrapper<>(); @@ -364,11 +245,8 @@ public class EmpCoefficientController { return R.success(); } - /** - * 一键修改员工绩效系数 - * */ @PostMapping("/changeAll") - private R changeAll(@RequestBody EmpCoeForm empCoeForm){ + public R changeAll(@RequestBody EmpCoeForm empCoeForm) { if(empCoeForm.getEmpList().isEmpty()) return R.error("员工选择不得为空"); @@ -396,9 +274,6 @@ public class EmpCoefficientController { return R.success(); } - /** - * 员工绩效系数导入 - * */ @PostMapping("/upload") public void uploadExcel(MultipartFile file, HttpServletResponse response) throws IOException { EasyExcel.read(file.getInputStream(), EmpCoefficientExcel.class, new EmpCoefficientExcelReadListener()).sheet().doRead(); @@ -413,33 +288,4 @@ public class EmpCoefficientController { ErrorExcelWrite.clearErrorCollection(); } - /** - * 下载 - * */ - @PostMapping("/downLoad") - private void downLoad(HttpServletResponse response) throws IOException { - - List list= CoefficientViewService.lambdaQuery() - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .list(); - - List coefficientViewExcels = new ArrayList<>(); - for (CoefficientView data : list) { - CoefficientViewExcel excel = new CoefficientViewExcel(); - BeanUtils.copyProperties(data, excel); - coefficientViewExcels.add(excel); - } - - response.setContentType("application/vnd.ms-excel;charset=utf-8"); - response.setCharacterEncoding("utf-8"); - response.setHeader("Content-Disposition", "attachment;filename=import.xlsx"); - - EasyExcel.write(response.getOutputStream(), CoefficientViewExcel.class) - .sheet("测试") - .doWrite(coefficientViewExcels); - } - } diff --git a/src/main/java/com/example/workflow/controller/EmpKpiController.java b/src/main/java/com/example/workflow/controller/EmpKpiController.java index 39ff4847219955efc34f1672e955a72e93f55aca..8378ecf95b001e9347b12b93a6cf22df8667d413 100644 --- a/src/main/java/com/example/workflow/controller/EmpKpiController.java +++ b/src/main/java/com/example/workflow/controller/EmpKpiController.java @@ -9,12 +9,19 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.example.workflow.common.R; import com.example.workflow.listener.EmpKpiExcelReadListener; import com.example.workflow.mapper.KpiPercentMapper; -import com.example.workflow.model.entity.*; +import com.example.workflow.model.entity.EmpKpi; +import com.example.workflow.model.entity.EmpKpiView; +import com.example.workflow.model.entity.KpiPercent; +import com.example.workflow.model.entity.KpiRule; +import com.example.workflow.model.entity.Order3; import com.example.workflow.model.feedback.EmpKpiError; import com.example.workflow.model.feedback.ErrorExcelWrite; import com.example.workflow.model.pojo.EmpKpiExcel; import com.example.workflow.model.pojo.ResultEmpKpiExcel; -import com.example.workflow.service.*; +import com.example.workflow.service.EmpKpiService; +import com.example.workflow.service.EmpKpiViewService; +import com.example.workflow.service.KpiPercentService; +import com.example.workflow.service.KpiRuleService; import lombok.extern.slf4j.Slf4j; import org.kie.api.io.ResourceType; import org.kie.api.runtime.KieSession; @@ -38,9 +45,6 @@ import java.time.LocalTime; import java.util.ArrayList; import java.util.List; -/** - * 员工kpi - * */ @Slf4j @RestController @RequestMapping("/EmpKpi") @@ -55,27 +59,19 @@ public class EmpKpiController { private KpiRuleService KpiRuleService; @Autowired private KpiPercentService KpiPercentService; - @Autowired - private TaskViewService TaskViewService; LocalDate today = LocalDate.now(); LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); LocalDateTime endTime = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()), LocalTime.MAX); - /** - * 员工kpi导出 - * */ @PostMapping("/downLoad") - private void downLoad(HttpServletResponse response) throws IOException { - + public void downLoad(HttpServletResponse response) throws IOException { List list=EmpKpiViewService.lambdaQuery() .orderByAsc(EmpKpiView::getEmpId) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .orderByDesc(EmpKpiView::getPositionId) - .orderByDesc(EmpKpiView::getEmpName) .list(); List result=new ArrayList<>(); @@ -94,11 +90,8 @@ public class EmpKpiController { .doWrite(result); } - /** - * 添加员工kpi项目 - * */ @PostMapping("/match") - private R matchCoefficient(@RequestBody List form){ + public R matchCoefficient(@RequestBody List form) { Long kpiRuleId=form.get(0).getKpiId(); KpiRule kpiRule= KpiRuleService.lambdaQuery() @@ -124,6 +117,7 @@ public class EmpKpiController { KieSession kSession = helper.build().newKieSession(); if(x.getEmpId()==null) + //! R.error("员工姓名不得为空"); else if(x.getInTarget1()==null) R.error("kpi条目一不得为空"); @@ -166,9 +160,6 @@ public class EmpKpiController { return R.success(); } - /** - * 查询所有员工kpi项目(导入提成数据) - * */ @GetMapping("/page") public R page(@RequestParam("page") String page, @RequestParam("page_size") String pageSize){ @@ -178,20 +169,15 @@ public class EmpKpiController { queryWrapper.apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .orderByDesc(EmpKpiView::getPositionId) - .orderByDesc(EmpKpiView::getEmpName); + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime); EmpKpiViewService.page(pageInfo,queryWrapper); return R.success(pageInfo); } - /** - * 查询单个员工kpi(审批) - * */ @PostMapping("/list") - private R> list(@RequestBody JSONObject obj){ + public R> list(@RequestBody JSONObject obj) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(EmpKpiView::getEmpId,obj.getString("empId")) @@ -199,35 +185,29 @@ public class EmpKpiController { .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .orderByDesc(EmpKpiView::getPositionId) - .orderByDesc(EmpKpiView::getEmpName); + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime); List list=EmpKpiViewService.list(queryWrapper); return R.success(list); } - /** - * 删除员工kpi项目 - * */ + + @PostMapping("/delete") - private R delete(@RequestBody EmpKpi one){ + public R delete(@RequestBody EmpKpi one) { EmpKpiService.removeById(one); return R.success(); } - /** - * 重填员工kpi项目 - * */ + @PostMapping("/addBackKpi") - private R addBackPiece(List form){ + public R addBackPiece(List form) { EmpKpiService.updateBatchById(form); + return R.success(); } - /** - * 修改员工kpi项目 - * */ + @PostMapping("/update") - private R updateMatch(@RequestBody EmpKpi form){ + public R updateMatch(@RequestBody EmpKpi form) { EmpKpiService.removeById(form); @@ -285,11 +265,9 @@ public class EmpKpiController { return R.success(); } - /** - * kpi修正值(未开放) - * */ + @GetMapping("/reAdd") - private R reAdd(@RequestParam("id") String id + public R reAdd(@RequestParam("id") String id ,@RequestParam("correctedValue") String correctedValue ,@RequestParam("empId") String empId){ UpdateWrapper updateWrapper=new UpdateWrapper<>(); @@ -300,58 +278,45 @@ public class EmpKpiController { EmpKpiService.reChange(Long.valueOf(id),Long.valueOf(empId)); return R.success(); } - /** - * - * */ + @PostMapping("/reDelete") - private R reAdd(@RequestBody EmpKpi one){ + public R reAdd(@RequestBody EmpKpi one) { one.setState(Short.parseShort("0")); EmpKpiService.updateById(one); return R.success(); } - /** - * 二级终审重审 - * */ @PostMapping("/secondBack") - private R> secondBack(@RequestBody JSONObject obj){ + public R> secondBack(@RequestBody JSONObject obj) { List EmpKpiViews=EmpKpiViewService.lambdaQuery() .eq(EmpKpiView::getPositionId,obj.getString("positionId")) + .orderByAsc(EmpKpiView::getEmpId) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .orderByDesc(EmpKpiView::getPositionId) - .orderByDesc(EmpKpiView::getEmpName) .list(); return R.success(EmpKpiViews); } - /** - * 当月员工kpi项目查询(提成结算) - * */ @GetMapping("/nowPage") public R nowPage(@RequestParam("page") String page , @RequestParam("page_size") String pageSize){ Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - queryWrapper + queryWrapper.orderByAsc(EmpKpiView::getEmpId) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .orderByDesc(EmpKpiView::getPositionId) - .orderByDesc(EmpKpiView::getEmpName); + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime); EmpKpiViewService.page(pageInfo,queryWrapper); return R.success(pageInfo); } - /** - * 当月员工kpi项目搜索(提成结算) - * */ + @GetMapping("/nowSearch") public R nowSerach(@RequestParam("page") String page , @RequestParam("page_size") String pageSize @@ -360,103 +325,72 @@ public class EmpKpiController { Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - queryWrapper - .like(EmpKpiView::getEmpId,empId) + queryWrapper.like(EmpKpiView::getEmpId,empId) .like(EmpKpiView::getEmpName,empName) + .orderByAsc(EmpKpiView::getEmpId) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .orderByDesc(EmpKpiView::getPositionId) - .orderByDesc(EmpKpiView::getEmpName); + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime); EmpKpiViewService.page(pageInfo,queryWrapper); return R.success(pageInfo); } - /** - * 历史员工kpi项目查询(提成结算) - * */ + @GetMapping("/pastPage") public R pastPage(@RequestParam("page") String page - , @RequestParam("page_size") String pageSize - , @RequestParam("time") String time){ - - //获取选择年月 - String choseMonth = time+"-01"; - + , @RequestParam("page_size") String pageSize){ LocalDate today = LocalDate.now(); LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - queryWrapper - .apply(StringUtils.checkValNotNull(choseMonth), - "date_format (create_time,'%Y-%m') >= date_format ({0},'%Y-%m')", choseMonth) - .apply(StringUtils.checkValNotNull(choseMonth), - "date_format (create_time,'%Y-%m') <= date_format ({0},'%Y-%m')", choseMonth) - .orderByDesc(EmpKpiView::getPositionId) - .orderByDesc(EmpKpiView::getEmpName); + queryWrapper.orderByAsc(EmpKpiView::getEmpId) + .apply(StringUtils.checkValNotNull(beginTime), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime); EmpKpiViewService.page(pageInfo,queryWrapper); return R.success(pageInfo); } - /** - * 历史员工kpi项目搜索(提成结算) - * */ + @GetMapping("/pastSearch") public R pastPage(@RequestParam("page") String page ,@RequestParam("page_size") String pageSize ,@RequestParam(defaultValue = "") String empId ,@RequestParam(defaultValue = "") String empName - ,@RequestParam(defaultValue = "") String time){ + ,@RequestParam(defaultValue = "") String beginTime + ,@RequestParam(defaultValue = "") String endTime){ Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - - //获取选择年月 - String choseMonth = time+"-01"; + if(beginTime.equals("")){ + LocalDate today = LocalDate.now(); + LocalDateTime beginDay = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); queryWrapper.like(EmpKpiView::getEmpId,empId) .like(EmpKpiView::getEmpName,empName) .orderByAsc(EmpKpiView::getEmpId) - .apply(StringUtils.checkValNotNull(choseMonth), - "date_format (create_time,'%Y-%m') >= date_format ({0},'%Y-%m')", choseMonth) - .apply(StringUtils.checkValNotNull(choseMonth), - "date_format (create_time,'%Y-%m') <= date_format ({0},'%Y-%m')", choseMonth) - .orderByDesc(EmpKpiView::getPositionId) - .orderByDesc(EmpKpiView::getEmpName); - - EmpKpiViewService.page(pageInfo,queryWrapper); - - return R.success(pageInfo); - } - - /** - * 当月员工kpi项目搜索(导入提成数据) - */ - @GetMapping("/Search") - public R Serach(@RequestParam("page") String page - , @RequestParam("page_size") String pageSize - ,@RequestParam(defaultValue = "") String empName - ,@RequestParam(defaultValue = "") String name){ + .apply(StringUtils.checkValNotNull(beginDay), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime); + } + else { + LocalDateTime beginDay = LocalDateTime.of(LocalDate.parse(beginTime), LocalTime.MIN); + LocalDateTime endDay = LocalDateTime.of(LocalDate.parse(endTime), LocalTime.MAX); - Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); - LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - queryWrapper.like(EmpKpiView::getEmpName,empName) - .like(EmpKpiView::getName,name) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime); + queryWrapper.like(EmpKpiView::getEmpId,empId) + .like(EmpKpiView::getEmpName,empName) + .orderByAsc(EmpKpiView::getEmpId) + .apply(StringUtils.checkValNotNull(beginDay), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginDay) + .apply(StringUtils.checkValNotNull(endDay), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endDay); + } EmpKpiViewService.page(pageInfo,queryWrapper); return R.success(pageInfo); } - /** - * 上传 - * */ @PostMapping("/upload") public void uploadExcel(MultipartFile file, HttpServletResponse response) throws IOException { EasyExcel.read(file.getInputStream(), EmpKpiExcel.class, new EmpKpiExcelReadListener()).sheet().doRead(); diff --git a/src/main/java/com/example/workflow/controller/EmpOkrController.java b/src/main/java/com/example/workflow/controller/EmpOkrController.java index dc1a18b5b4a715bdce14d3ec912997af37c56951..fb09132bf5b6a570392dff798010192e5a266a52 100644 --- a/src/main/java/com/example/workflow/controller/EmpOkrController.java +++ b/src/main/java/com/example/workflow/controller/EmpOkrController.java @@ -9,9 +9,19 @@ import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.example.workflow.common.R; import com.example.workflow.mapper.TaskViewMapper; -import com.example.workflow.model.entity.*; +import com.example.workflow.model.entity.BackWait; +import com.example.workflow.model.entity.EmpOkr; +import com.example.workflow.model.entity.EmpOkrView; +import com.example.workflow.model.entity.EmployeePosition; +import com.example.workflow.model.entity.PositionAssessor; +import com.example.workflow.model.entity.TaskView; import com.example.workflow.model.pojo.EmpOkrExcel; -import com.example.workflow.service.*; +import com.example.workflow.service.BackWaitService; +import com.example.workflow.service.EmpOkrService; +import com.example.workflow.service.EmpOkrViewService; +import com.example.workflow.service.EmployeePositionService; +import com.example.workflow.service.OkrViewService; +import com.example.workflow.service.PositionAssessorService; import lombok.extern.slf4j.Slf4j; import org.camunda.bpm.engine.TaskService; import org.springframework.beans.BeanUtils; @@ -35,9 +45,6 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -/** - * 员工okr - * */ @Slf4j @RestController @RequestMapping("/EmpOkr") @@ -58,37 +65,19 @@ public class EmpOkrController { private OkrViewService OkrViewService; @Autowired private BackWaitService BackWaitService; - @Autowired - private com.example.workflow.service.TaskViewService TaskViewService; + LocalDate today = LocalDate.now(); LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); LocalDateTime endTime = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()), LocalTime.MAX); - /** - * 员工okr导出 - * */ @PostMapping("/downLoad") - private void downLoad(HttpServletResponse response) throws IOException { - List taskViewList= TaskViewService.lambdaQuery() - .eq(TaskView::getName,"okr") - .list(); - - List empIds =new ArrayList<>(); - for (TaskView taskView : taskViewList) { - empIds.add(Long.valueOf(taskView.getStartUserId())); - } - - + public void downLoad(HttpServletResponse response) throws IOException { List list=EmpOkrViewService.lambdaQuery() - .notIn(!empIds.isEmpty(),EmpOkrView::getLiaEmpId,empIds) + .orderByAsc(EmpOkrView::getLiaEmpId) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .orderByDesc(EmpOkrView::getLiaEmpId) - .orderByDesc(EmpOkrView::getPositionId) - .orderByDesc(EmpOkrView::getEmpOkrId) - .orderByDesc(EmpOkrView::getKeyId) .list(); List result=new ArrayList<>(); @@ -108,43 +97,12 @@ public class EmpOkrController { } - /** - * okr评分 - * */ @PostMapping("/add") - private R add(@RequestBody JSONObject form){ - - //可修改(后续建议封装) - //获取员工所在岗位信息 - LambdaQueryWrapper wrapper11 =new LambdaQueryWrapper<>(); - wrapper11.eq(EmployeePosition::getEmpId,form.getString("empId")) - .eq(EmployeePosition::getPositionId,form.getString("positionId")); - EmployeePosition employeePosition1 = EmployeePositionService.getOne(wrapper11); - //获取员工进程 - LambdaQueryWrapper queryWrapper11 =new LambdaQueryWrapper<>(); - queryWrapper11.eq(TaskView::getStartUserId,form.getString("empId")) - .eq(TaskView::getProcInstId,employeePosition1.getProcessDefinitionId()) - .eq(TaskView::getName,"okr") - .eq(TaskView::getAssignee,form.getString("assessorId")) - .eq(TaskView::getState,"ACTIVE") - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')",endTime); - List task1 = TaskViewMapper.selectList(queryWrapper11); - try{ - if (task1.get(0) != null){ - - }else { - return R.error("已评分,请勿重复评分"); - } - }catch (IndexOutOfBoundsException indexOutOfBoundsException){ - - return R.error("已评分,请勿重复评分"); - } + public R add(@RequestBody JSONObject form) { JSONArray formArray = form.getJSONArray("Form"); + List list = new ArrayList<>(); for (int i = 0; i < formArray.size(); i++) { JSONObject formObject = formArray.getJSONObject(i); @@ -158,29 +116,13 @@ public class EmpOkrController { return R.error("评分不得超过20"); } - EmpOkr one = EmpOkrService.lambdaQuery() - .eq(EmpOkr::getOkrKeyId,Long.valueOf(String.valueOf(formObject.get("okrKeyId")))) - .eq(EmpOkr::getEmpId,Long.valueOf(String.valueOf(formObject.get("empId")))) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .one(); - - + EmpOkr one = new EmpOkr(); + one.setOkrKeyId(Long.valueOf(String.valueOf(formObject.get("okrKeyId")))); one.setScore(new BigDecimal(formObject.get("score").toString())); - - try{ - String remark = formObject.get("remark").toString(); - if ("".equals(remark)) - return R.error("请填写评分说明"); - one.setRemark(remark); - }catch (Exception e){ - return R.error("请填写评分说明"); - } - - EmpOkrService.updateById(one); + one.setEmpId(Long.valueOf(String.valueOf(formObject.get("empId")))); + list.add(one); } + EmpOkrService.saveBatch(list); LambdaQueryWrapper queryWrapper1=new LambdaQueryWrapper<>(); queryWrapper1.eq(PositionAssessor::getPositionId,form.getString("positionId")) @@ -196,8 +138,8 @@ public class EmpOkrController { map.put("thirdTimer",nextAssessor.getThirdTimer()); } else if(form.getString("positionType").equals("4")){ - map.put("thirdAssessor",nextAssessor.getThirdAssessorId().toString()); - map.put("thirdTimer",nextAssessor.getThirdTimer()); + map.put("secondAssessor",nextAssessor.getSecondAssessorId().toString()); + map.put("secondTimer",nextAssessor.getSecondTimer()); } LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); @@ -220,11 +162,8 @@ public class EmpOkrController { } - /** - * 查询单个员工kpi(审批) - * */ @PostMapping("/list") - private R> list(@RequestBody JSONObject form){ + public R> list(@RequestBody JSONObject form) { LocalDate firstDayOfLastMonth = LocalDate.now().minusMonths(1).withDayOfMonth(1); LocalDate lastDayOfLastMonth = firstDayOfLastMonth.with(TemporalAdjusters.lastDayOfMonth()); @@ -242,70 +181,55 @@ public class EmpOkrController { return R.success(); } - /** - * 查询所有员工okr项目 - * * */ + @GetMapping("/page") - private R page(@RequestParam("page") String page, @RequestParam("page_size") String pageSize){ + public R page(@RequestParam("page") String page, @RequestParam("page_size") String pageSize) { Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .orderByDesc(EmpOkrView::getLiaEmpId) - .orderByDesc(EmpOkrView::getPositionId) - .orderByDesc(EmpOkrView::getEmpOkrId) - .orderByDesc(EmpOkrView::getKeyId); + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime); EmpOkrViewService.page(pageInfo,queryWrapper); return R.success(pageInfo); } - /** - * 查询单个员工okr(审批) - * */ + @PostMapping("/getOneEmpOkr") - private R> getOneEmpOkr(@RequestBody JSONObject form){ + public R> getOneEmpOkr(@RequestBody JSONObject form) { List okrViews= EmpOkrViewService.lambdaQuery() .eq(EmpOkrView::getLiaEmpId,form.getString("empId")) - .eq(EmpOkrView::getPositionId,form.getString("positionId")) + .eq(EmpOkrView::getPositionId,form.getString("position")) .eq(EmpOkrView::getState,1) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .orderByDesc(EmpOkrView::getLiaEmpId) - .orderByDesc(EmpOkrView::getPositionId) - .orderByDesc(EmpOkrView::getEmpOkrId) - .orderByDesc(EmpOkrView::getKeyId) .list(); return R.success(okrViews); } - /** - * okr修正值 - * */ + @GetMapping("/reAdd") - private R reAdd(@RequestParam("id") String id + public R reAdd(@RequestParam("id") String id ,@RequestParam("correctedValue") String correctedValue ,@RequestParam("empId") String empId){ UpdateWrapper updateWrapper=new UpdateWrapper<>(); updateWrapper.eq("id",id) .set("corrected_value",correctedValue); EmpOkrService.update(updateWrapper); + EmpOkrService.reChange(Long.valueOf(id),Long.valueOf(empId)); return R.success(); } - /** - * - * */ + @PostMapping("/reDelete") - private R reAdd(@RequestBody EmpOkr one){ + public R reAdd(@RequestBody EmpOkr one) { one.setState(new Short("0")); EmpOkrService.updateById(one); @@ -313,44 +237,9 @@ public class EmpOkrController { return R.success(); } - /** - * okr重评 - * */ - @PostMapping("/reBackAdd") - private R reBackAdd(@RequestBody JSONObject form){ - //可修改(后续建议封装) - //在back_wait获取员工所在岗位打回进程 - LambdaQueryWrapper wrapper1 =new LambdaQueryWrapper<>(); - wrapper1.eq(BackWait::getEmpId,form.getString("empId")) - .eq(BackWait::getPositionId,form.getString("positionId")) - .and(qw -> qw.eq(BackWait::getType,"back_third_okr") - .or().eq(BackWait::getType,"back_second_okr")); - BackWait backWait1 = BackWaitService.getOne(wrapper1); - - //获取员工进程 - LambdaQueryWrapper queryWrapper1 =new LambdaQueryWrapper<>(); - queryWrapper1.eq(TaskView::getStartUserId,form.getString("empId")) - .eq(TaskView::getProcInstId,backWait1.getProcessDefineId()) - .eq(TaskView::getName,"back_okr") - .eq(TaskView::getAssignee,form.getString("assessorId")) - .eq(TaskView::getState,"ACTIVE") - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')",endTime); - List task1 = TaskViewMapper.selectList(queryWrapper1); - try{ - if (task1.get(0) != null){ - for (TaskView taskView : task1) { - - } - }else { - return R.error("已重评,请勿重复重评"); - } - }catch (IndexOutOfBoundsException indexOutOfBoundsException){ - return R.error("已重评,请勿重复重评"); - } + @PostMapping("/reBackAdd") + public R reBackAdd(@RequestBody JSONObject form) { JSONArray formArray = form.getJSONArray("Form"); List list = new ArrayList<>(); @@ -361,20 +250,8 @@ public class EmpOkrController { one.setOkrKeyId(Long.valueOf(String.valueOf(formObject.get("okrKeyId")))); one.setScore(new BigDecimal(formObject.get("score").toString())); one.setEmpId(Long.valueOf(String.valueOf(formObject.get("empId")))); - - try{ - String remark = formObject.get("remark").toString(); - if ("".equals(remark)) - return R.error("请填写评分说明"); - one.setRemark(remark); - }catch (Exception e){ - return R.error("请填写评分说明"); - } - - list.add(one); } - EmpOkrService.saveBatch(list); PositionAssessor nextAssessor= PositionAssessorService.lambdaQuery() @@ -386,17 +263,17 @@ public class EmpOkrController { .one(); Map map = new HashMap<>(); - if(form.getString("positionType").equals("5")||form.getString("positionType").equals("4")){ + if(form.getString("positionType").equals("5")){ map.put("Assessor",nextAssessor.getThirdAssessorId().toString()); } - else if(form.getString("positionType").equals("3")){ + else if(form.getString("positionType").equals("4")||form.getString("positionType").equals("3")){ map.put("Assessor",nextAssessor.getSecondAssessorId().toString()); } List backWait=BackWaitService.lambdaQuery() .eq(BackWait::getEmpId,form.getString("empId")) .eq(BackWait::getPositionId,form.getString("positionId")) - .and(qw -> qw.eq(BackWait::getType,"back_third_okr") + .and(qw -> qw.eq(BackWait::getType,"third_okr_back") .or().eq(BackWait::getType,"back_second_okr")) .list(); @@ -419,152 +296,109 @@ public class EmpOkrController { return R.success(); } - /** - * okr终审复审 - * */ + @PostMapping("/secondBack") - private R> secondBack(@RequestBody JSONObject obj){ + public R> secondBack(@RequestBody JSONObject obj) { List EmpOkrViews=EmpOkrViewService.lambdaQuery() .eq(EmpOkrView::getPositionId,obj.getString("positionId")) + .orderByAsc(EmpOkrView::getLiaEmpId) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .orderByDesc(EmpOkrView::getLiaEmpId) - .orderByDesc(EmpOkrView::getPositionId) - .orderByDesc(EmpOkrView::getEmpOkrId) - .orderByDesc(EmpOkrView::getKeyId) .list(); + return R.success(EmpOkrViews); } - /** - * 当月员工okr项目查询(okr结算) - * */ + @GetMapping("/nowPage") public R nowPage(@RequestParam("page") String page , @RequestParam("page_size") String pageSize){ - List taskViewList= TaskViewService.lambdaQuery() - .eq(TaskView::getName,"okr") - .list(); - - List empIds =new ArrayList<>(); - for (TaskView taskView : taskViewList) { - empIds.add(Long.valueOf(taskView.getStartUserId())); - } Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - queryWrapper - .notIn(!empIds.isEmpty(),EmpOkrView::getLiaEmpId,empIds) - .orderByAsc(EmpOkrView::getLiaEmpId) + queryWrapper.orderByAsc(EmpOkrView::getLiaEmpId) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .orderByDesc(EmpOkrView::getLiaEmpId) - .orderByDesc(EmpOkrView::getPositionId) - .orderByDesc(EmpOkrView::getEmpOkrId) - .orderByDesc(EmpOkrView::getKeyId); + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime); EmpOkrViewService.page(pageInfo,queryWrapper); return R.success(pageInfo); } - /** - * 当月员工okr项目搜索(okr结算) - * */ + @GetMapping("/nowSearch") public R nowSerach(@RequestParam("page") String page , @RequestParam("page_size") String pageSize ,@RequestParam(defaultValue = "") String empId ,@RequestParam(defaultValue = "") String empName){ - List taskViewList= TaskViewService.lambdaQuery() - .eq(TaskView::getName,"okr") - .list(); - - List empIds =new ArrayList<>(); - for (TaskView taskView : taskViewList) { - empIds.add(Long.valueOf(taskView.getStartUserId())); - } - Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - queryWrapper - .notIn(!empIds.isEmpty(),EmpOkrView::getLiaEmpId,empIds) - .like(EmpOkrView::getLiaEmpId,empId) + queryWrapper.like(EmpOkrView::getLiaEmpId,empId) .like(EmpOkrView::getName,empName) + .orderByAsc(EmpOkrView::getLiaEmpId) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .orderByDesc(EmpOkrView::getLiaEmpId) - .orderByDesc(EmpOkrView::getPositionId) - .orderByDesc(EmpOkrView::getEmpOkrId) - .orderByDesc(EmpOkrView::getKeyId); + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime); EmpOkrViewService.page(pageInfo,queryWrapper); return R.success(pageInfo); } - /** - * 历史员工okr项目查询(okr结算) - * */ + @GetMapping("/pastPage") public R pastPage(@RequestParam("page") String page - , @RequestParam("page_size") String pageSize - ,@RequestParam(defaultValue = "") String time){ + , @RequestParam("page_size") String pageSize){ LocalDate today = LocalDate.now(); LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); - //获取选择年月 - String choseMonth = time+"-01"; - Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - queryWrapper - .apply(StringUtils.checkValNotNull(choseMonth), - "date_format (create_time,'%Y-%m') >= date_format ({0},'%Y-%m')", choseMonth) - .apply(StringUtils.checkValNotNull(choseMonth), - "date_format (create_time,'%Y-%m') <= date_format ({0},'%Y-%m')", choseMonth) - .orderByDesc(EmpOkrView::getLiaEmpId) - .orderByDesc(EmpOkrView::getPositionId) - .orderByDesc(EmpOkrView::getEmpOkrId) - .orderByDesc(EmpOkrView::getKeyId); + queryWrapper.orderByAsc(EmpOkrView::getLiaEmpId) + .apply(StringUtils.checkValNotNull(beginTime), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime); EmpOkrViewService.page(pageInfo,queryWrapper); return R.success(pageInfo); } - /** - * 历史员工okr项目搜索(okr结算) - * */ + @GetMapping("/pastSearch") public R pastPage(@RequestParam("page") String page ,@RequestParam("page_size") String pageSize ,@RequestParam(defaultValue = "") String empId ,@RequestParam(defaultValue = "") String empName - ,@RequestParam(defaultValue = "") String time){ - //获取选择年月 - String choseMonth = time+"-01"; + ,@RequestParam(defaultValue = "") String beginTime + ,@RequestParam(defaultValue = "") String endTime){ Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - + if(beginTime.equals("")){ + LocalDate today = LocalDate.now(); + LocalDateTime beginDay = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); queryWrapper.like(EmpOkrView::getLiaEmpId,empId) .like(EmpOkrView::getName,empName) .orderByAsc(EmpOkrView::getLiaEmpId) - .apply(StringUtils.checkValNotNull(choseMonth), - "date_format (create_time,'%Y-%m') >= date_format ({0},'%Y-%m')", choseMonth) - .apply(StringUtils.checkValNotNull(choseMonth), - "date_format (create_time,'%Y-%m') <= date_format ({0},'%Y-%m')", choseMonth) - .orderByDesc(EmpOkrView::getLiaEmpId) - .orderByDesc(EmpOkrView::getPositionId) - .orderByDesc(EmpOkrView::getEmpOkrId) - .orderByDesc(EmpOkrView::getKeyId); + .apply(StringUtils.checkValNotNull(beginDay), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime); + } + else { + LocalDateTime beginDay = LocalDateTime.of(LocalDate.parse(beginTime), LocalTime.MIN); + LocalDateTime endDay = LocalDateTime.of(LocalDate.parse(endTime), LocalTime.MAX); + queryWrapper.like(EmpOkrView::getLiaEmpId,empId) + .like(EmpOkrView::getName,empName) + .orderByAsc(EmpOkrView::getLiaEmpId) + .apply(StringUtils.checkValNotNull(beginDay), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginDay) + .apply(StringUtils.checkValNotNull(endDay), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endDay); + } EmpOkrViewService.page(pageInfo,queryWrapper); return R.success(pageInfo); diff --git a/src/main/java/com/example/workflow/controller/EmpPieceController.java b/src/main/java/com/example/workflow/controller/EmpPieceController.java index 64f8bafe7e8d941e90a2a6bfb95d04804280eda9..27c0ba7edc1cd44f3bad83c751712dcb90a6e160 100644 --- a/src/main/java/com/example/workflow/controller/EmpPieceController.java +++ b/src/main/java/com/example/workflow/controller/EmpPieceController.java @@ -10,14 +10,12 @@ import com.example.workflow.listener.EmpPieceExcelReadListener; import com.example.workflow.mapper.EmpPieceMapper; import com.example.workflow.model.entity.EmpPiece; import com.example.workflow.model.entity.EmpPieceView; -import com.example.workflow.model.entity.TaskView; import com.example.workflow.model.feedback.EmpPieceError; import com.example.workflow.model.feedback.ErrorExcelWrite; import com.example.workflow.model.pojo.EmpPieceExcel; import com.example.workflow.model.pojo.ResultEmpPieceExcel; import com.example.workflow.service.EmpPieceService; import com.example.workflow.service.EmpPieceViewService; -import com.example.workflow.service.TaskViewService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -31,8 +29,6 @@ import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.io.IOException; -import java.math.BigDecimal; -import java.math.RoundingMode; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; @@ -41,9 +37,7 @@ import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; -/** - * 员工计件 - * */ + @Slf4j @RestController @RequestMapping("/EmpPiece") @@ -54,32 +48,24 @@ public class EmpPieceController { private EmpPieceMapper EmpPieceMapper; @Autowired private EmpPieceViewService EmpPieceViewService; - @Autowired - private TaskViewService TaskViewService; + LocalDate today = LocalDate.now(); LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); LocalDateTime endTime = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()), LocalTime.MAX); - /** - * 员工计件项目导出下载 - * */ - @PostMapping("/downLoad") - private void downLoad(HttpServletResponse response) throws IOException { + @PostMapping("/downLoad") + public void downLoad(HttpServletResponse response) throws IOException { List list=EmpPieceViewService.lambdaQuery() .orderByAsc(EmpPieceView::getEmpId) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .orderByDesc(EmpPieceView::getDepName) - .orderByDesc(EmpPieceView::getPosition) - .orderByDesc(EmpPieceView::getPieceId) .list(); List result=new ArrayList<>(); list.forEach(x->{ ResultEmpPieceExcel one=new ResultEmpPieceExcel(); - one.setTotal(x.getTargetNum().multiply(BigDecimal.valueOf(x.getWorkOrder())).multiply(x.getQuality()).multiply(x.getDifficulty()).divide(BigDecimal.valueOf(10000)).setScale(2, RoundingMode.HALF_UP)); BeanUtils.copyProperties(x,one); result.add(one); }); @@ -92,9 +78,7 @@ public class EmpPieceController { .sheet("导出") .doWrite(result); } - /** - * 查询所有员工计件项目(导入计件数据) - * */ + @GetMapping("/page") public R page(@RequestParam("page") String page, @RequestParam("page_size") String pageSize){ @@ -103,40 +87,32 @@ public class EmpPieceController { queryWrapper.apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .orderByDesc(EmpPieceView::getDepName) - .orderByDesc(EmpPieceView::getPosition) - .orderByDesc(EmpPieceView::getPieceId); + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime); EmpPieceViewService.page(pageInfo,queryWrapper); return R.success(pageInfo); } - /** - * 当月员工计件项目查询(计件结算) - * */ + @GetMapping("/nowPage") public R nowPage(@RequestParam("page") String page , @RequestParam("page_size") String pageSize){ + System.out.println("计件结算开始"); Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - queryWrapper - .orderByAsc(EmpPieceView::getEmpId) + queryWrapper.orderByAsc(EmpPieceView::getEmpId) .ne(EmpPieceView::getState,0) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .orderByDesc(EmpPieceView::getDepName) - .orderByDesc(EmpPieceView::getPosition) - .orderByDesc(EmpPieceView::getPieceId); + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime); EmpPieceViewService.page(pageInfo,queryWrapper); + System.out.println("计件结算结束"); return R.success(pageInfo); } - /** - * 当月员工计件项目搜索(计件结算) - * * */ + + @GetMapping("/nowSearch") public R nowSerach(@RequestParam("page") String page , @RequestParam("page_size") String pageSize @@ -145,89 +121,79 @@ public class EmpPieceController { Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - queryWrapper - .like(EmpPieceView::getEmpId,empId) + queryWrapper.like(EmpPieceView::getEmpId,empId) .like(EmpPieceView::getEmpName,empName) + .orderByAsc(EmpPieceView::getEmpId) .ne(EmpPieceView::getState,0) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .orderByDesc(EmpPieceView::getDepName) - .orderByDesc(EmpPieceView::getPosition) - .orderByDesc(EmpPieceView::getPieceId); + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime); EmpPieceViewService.page(pageInfo,queryWrapper); return R.success(pageInfo); } - /** - * 历史员工计件项目搜索(计件结算) - * */ + @GetMapping("/pastPage") public R pastPage(@RequestParam("page") String page - , @RequestParam("page_size") String pageSize - ,@RequestParam(defaultValue = "") String time - ){ + , @RequestParam("page_size") String pageSize){ LocalDate today = LocalDate.now(); LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); - //获取选择年月 - String choseMonth = time+"-01"; - Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - queryWrapper + queryWrapper.orderByAsc(EmpPieceView::getEmpId) .ne(EmpPieceView::getState,0) - .apply(StringUtils.checkValNotNull(choseMonth), - "date_format (create_time,'%Y-%m') >= date_format ({0},'%Y-%m')", choseMonth) - .apply(StringUtils.checkValNotNull(choseMonth), - "date_format (create_time,'%Y-%m') <= date_format ({0},'%Y-%m')", choseMonth) - .orderByDesc(EmpPieceView::getDepName) - .orderByDesc(EmpPieceView::getPosition) - .orderByDesc(EmpPieceView::getPieceId); + .apply(StringUtils.checkValNotNull(beginTime), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime); EmpPieceViewService.page(pageInfo,queryWrapper); return R.success(pageInfo); } - /** - * 历史员工计件记录查询(计件结算) - * */ + @GetMapping("/pastSearch") public R pastPage(@RequestParam("page") String page ,@RequestParam("page_size") String pageSize ,@RequestParam(defaultValue = "") String empId ,@RequestParam(defaultValue = "") String empName - ,@RequestParam(defaultValue = "") String time){ - - //获取选择年月 - String choseMonth = time+"-01"; + ,@RequestParam(defaultValue = "") String beginTime + ,@RequestParam(defaultValue = "") String endTime){ Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); + if(beginTime.isEmpty()){ + LocalDate today = LocalDate.now(); + LocalDateTime beginDay = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); queryWrapper.like(EmpPieceView::getEmpId,empId) .like(EmpPieceView::getEmpName,empName) .ne(EmpPieceView::getState,0) - .apply(StringUtils.checkValNotNull(choseMonth), - "date_format (create_time,'%Y-%m') >= date_format ({0},'%Y-%m')", choseMonth) - .apply(StringUtils.checkValNotNull(choseMonth), - "date_format (create_time,'%Y-%m') <= date_format ({0},'%Y-%m')", choseMonth) - .orderByDesc(EmpPieceView::getDepName) - .orderByDesc(EmpPieceView::getPosition) - .orderByDesc(EmpPieceView::getPieceId); + .orderByAsc(EmpPieceView::getEmpId) + .apply(StringUtils.checkValNotNull(beginDay), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime); + } + else { + LocalDateTime beginDay = LocalDateTime.of(LocalDate.parse(beginTime), LocalTime.MIN); + LocalDateTime endDay = LocalDateTime.of(LocalDate.parse(endTime), LocalTime.MAX); + queryWrapper.like(EmpPieceView::getEmpId,empId) + .like(EmpPieceView::getEmpName,empName) + .orderByAsc(EmpPieceView::getEmpId) + .ne(EmpPieceView::getState,0) + .apply(StringUtils.checkValNotNull(beginDay), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginDay) + .apply(StringUtils.checkValNotNull(endDay), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endDay); + } EmpPieceViewService.page(pageInfo,queryWrapper); return R.success(pageInfo); } - /** - * 查询单个员工计件项目(审批) - * */ @PostMapping("/list") - private R> list(@RequestBody JSONObject obj){ + public R> list(@RequestBody JSONObject obj) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(EmpPieceView::getEmpId,obj.getString("empId")) @@ -235,30 +201,21 @@ public class EmpPieceController { .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .orderByDesc(EmpPieceView::getDepName) - .orderByDesc(EmpPieceView::getPosition) - .orderByDesc(EmpPieceView::getPieceId); + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime); List list=EmpPieceViewService.list(queryWrapper); return R.success(list); } - /** - * 新增员工计件项目 - * * */ + @PostMapping("/add") - private R add(@RequestBody List form){ + public R add(@RequestBody List form) { for(EmpPiece x:form){ - Integer flag = (int) x.getWorkOrder(); if(x.getEmpId()==null) R.error("员工姓名不得为空"); else if(x.getPieceId()==null) R.error("计件条目不得为空"); -// else if(x.getWorkOrder() == null) -// R.error("数量不得为空"); - else if(flag == null) - R.error("数量不得为空"); + else if(x.getQuality()==null) R.error("质量不得为空"); } @@ -266,20 +223,16 @@ public class EmpPieceController { return R.success(); } - /** - * 修改员工计件项目(未开放) - * */ + @PostMapping("/updateOne") - private R updateOne(@RequestBody EmpPiece one){ + public R updateOne(@RequestBody EmpPiece one) { EmpPieceService.updateById(one); return R.success(); } - /** - * 修改所有员工计件项目(未开放) - * */ + @PostMapping("/updateAll") - private R updateAll(List> form){ + public R updateAll(List> form) { List list=new ArrayList<>(); Long empId=form.get(0).get(0).getEmpId(); @@ -300,36 +253,29 @@ public class EmpPieceController { return R.success(); } - /** - * 删除员工计件项目 - * */ + @PostMapping("/delete") - private R delete(@RequestBody EmpPiece one){ + public R delete(@RequestBody EmpPiece one) { EmpPieceService.removeById(one); return R.success(); } - /** - * 全部删除员工计件项目(未开放) - * */ + @PostMapping("/deleteAll") - private R deleteAll(@RequestBody List list){ + public R deleteAll(@RequestBody List list) { EmpPieceService.removeBatchByIds(list); return R.success(); } - /** - * 重填员工计件项目 - * */ + @PostMapping("/addBackPiece") - private R addBackPiece(List form){ + public R addBackPiece(List form) { EmpPieceService.updateBatchById(form); + return R.success(); } - /** - * - * */ + @PostMapping("/timeList") - private R> timeList(){ + public R> timeList() { List list=EmpPieceViewService.list(); List time=new ArrayList<>(); list.forEach(x->{ @@ -342,60 +288,49 @@ public class EmpPieceController { String yearMonth = dateTime.format(DateTimeFormatter.ofPattern("yyyy-MM")); uniqueYearMonths.add(yearMonth); } + return R.success(uniqueYearMonths); } - /** - * 时间范围查询 - * */ @GetMapping("/searchByTime") - private R searchByTime(@RequestParam("page") String page, @RequestParam("page_size") String pageSize){ + public R searchByTime(@RequestParam("page") String page, @RequestParam("page_size") String pageSize) { Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .orderByDesc(EmpPieceView::getDepName) - .orderByDesc(EmpPieceView::getPosition) - .orderByDesc(EmpPieceView::getPieceId); + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime); EmpPieceViewService.page(pageInfo,queryWrapper); return R.success(pageInfo); } - /** - * - * */ + @PostMapping("/reDelete") - private R reAdd(@RequestBody EmpPiece one){ + public R reAdd(@RequestBody EmpPiece one) { one.setState(Short.parseShort("0")); EmpPieceService.updateById(one); + EmpPieceService.reChange(one.getId(),one.getEmpId()); return R.success(); } - /** - * 计件项目终审重审 - * */ + @PostMapping("/secondBack") - private R> secondBack(@RequestBody JSONObject obj){ + public R> secondBack(@RequestBody JSONObject obj) { List empPieces=EmpPieceViewService.lambdaQuery() .eq(EmpPieceView::getPositionId,obj.getString("positionId")) + .orderByAsc(EmpPieceView::getEmpId) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .orderByDesc(EmpPieceView::getDepName) - .orderByDesc(EmpPieceView::getPosition) - .orderByDesc(EmpPieceView::getEmpName) .list(); + return R.success(empPieces); } - /** - * 当月员工计件项目搜索(导入计件数据) - * */ + @GetMapping("/Search") public R Serach(@RequestParam("page") String page , @RequestParam("page_size") String pageSize @@ -408,23 +343,20 @@ public class EmpPieceController { queryWrapper.like(EmpPieceView::getWorkOrder,workOrder) .like(EmpPieceView::getName,name) .like(EmpPieceView::getEmpName,empName) + .orderByAsc(EmpPieceView::getEmpId) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .orderByDesc(EmpPieceView::getDepName) - .orderByDesc(EmpPieceView::getPosition) - .orderByDesc(EmpPieceView::getPieceId); + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime); EmpPieceViewService.page(pageInfo,queryWrapper); return R.success(pageInfo); } - /** - * 计件项目导入上传 - * */ + @PostMapping("/upload") public void uploadExcel(MultipartFile file, HttpServletResponse response) throws IOException { EasyExcel.read(file.getInputStream(), EmpPieceExcel.class, new EmpPieceExcelReadListener()).sheet().doRead(); + if(!ErrorExcelWrite.getErrorCollection().isEmpty()){ response.setContentType("application/vnd.ms-excel;charset=utf-8"); response.setCharacterEncoding("utf-8"); diff --git a/src/main/java/com/example/workflow/controller/EmpRewardController.java b/src/main/java/com/example/workflow/controller/EmpRewardController.java index 94074ceb7777a8fb80be95e55218e80cd20a1248..8899a22585e55c76bc31dff10623dc49fac590ab 100644 --- a/src/main/java/com/example/workflow/controller/EmpRewardController.java +++ b/src/main/java/com/example/workflow/controller/EmpRewardController.java @@ -1,17 +1,15 @@ package com.example.workflow.controller; -import com.alibaba.excel.EasyExcel; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.example.workflow.common.R; -import com.example.workflow.mapper.*; -import com.example.workflow.model.entity.*; -import com.example.workflow.model.pojo.EmpRewardExcel; -import com.example.workflow.service.*; +import com.example.workflow.model.entity.EmpReward; +import com.example.workflow.model.entity.EmpRewardView; +import com.example.workflow.service.EmpRewardService; +import com.example.workflow.service.EmpRewardViewService; +import com.example.workflow.service.EmployeeCoefficientService; import lombok.extern.slf4j.Slf4j; -import org.camunda.bpm.engine.TaskService; -import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -20,16 +18,11 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; -import java.util.ArrayList; import java.util.List; -/** - * 员工特殊绩效 - * */ + @Slf4j @RestController @RequestMapping("/EmpReward") @@ -40,230 +33,49 @@ public class EmpRewardController { private EmpRewardViewService EmpRewardViewService; @Autowired private EmployeeCoefficientService EmployeeCoefficientService; - @Autowired - private com.example.workflow.service.CoefficientViewService CoefficientViewService; - @Autowired - private com.example.workflow.service.EmpCoefficientService EmpCoefficientService; - @Autowired - private com.example.workflow.mapper.ResultScoreEmpViewMapper ResultScoreEmpViewMapper; - @Autowired - private com.example.workflow.mapper.ResultPieceEmpViewMapper ResultPieceEmpViewMapper; - @Autowired - private com.example.workflow.mapper.ResultKpiEmpViewMapper ResultKpiEmpViewMapper; - @Autowired - private com.example.workflow.mapper.CoefficientViewMapper CoefficientViewMapper; - @Autowired - private EmpWageService EmpWageService; - @Autowired - private EmployeePositionService EmployeePositionService; - @Autowired - private TaskService taskService; - @Autowired - private com.example.workflow.mapper.TaskViewMapper TaskViewMapper; - @Autowired - private ResultOkrViewMapper ResultOkrViewMapper; - @Autowired - private EmpScoreViewMapper EmpScoreViewMapper; - @Autowired - private EmpPieceViewMapper EmpPieceViewMapper; - @Autowired - private EmpKpiViewMapper EmpKpiViewMapper; - @Autowired - private EmpOkrViewMapper EmpOkrViewMapper; - @Autowired - private EmpRewardViewMapper EmpRewardViewMapper; - @Autowired - private RegionCoefficientService RegionCoefficientService; - LocalDate today = LocalDate.now(); LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); LocalDateTime endTime = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()), LocalTime.MAX); - /** - * 新增(未编写) - * */ @PostMapping("/add") - private R add(@RequestBody List form){ + public R add(@RequestBody List form) { EmpRewardService.saveBatch(form); - return R.success(); - } - /** - * 一键归档 - * */ - @PostMapping("/fileAll") - private R fillAll(){ - //状态1-未归档;2-已归档 - List empRewardList = new ArrayList<>(); - empRewardList = EmpRewardService.lambdaQuery() - .eq(EmpReward::getState,1) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .list(); - - empRewardList.forEach(empReward -> { - Long empId = empReward.getEmpId(); - Long positionId = empReward.getPositionId(); - EmpRewardService.fileOne(empId,positionId); - empReward.setState((short) 2); - EmpRewardService.updateById(empReward); - }); + EmployeeCoefficientService.fileOne(form.get(0).getEmpId(),form.get(0).getPositionId()); return R.success(); } - /** - * 员工特殊绩效分页 - * */ - @GetMapping("/page") - private R page(@RequestParam("page") String page, @RequestParam("page_size") String pageSize){ + @GetMapping("/page") + public R page(@RequestParam("page") String page, @RequestParam("page_size") String pageSize) { Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .orderByDesc(EmpRewardView::getEmpId) - .orderByDesc(EmpRewardView::getPositionId) - .orderByDesc(EmpRewardView::getFileId); + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime); EmpRewardViewService.page(pageInfo,queryWrapper); + return R.success(pageInfo); } - /** - * 员工特殊绩删除 - * */ - @PostMapping("/delete") - private R delete(@RequestBody EmpReward one){ - //归档后允许,前端限制 - if (one.getState() == 1){ - EmpRewardService.removeById(one); - }else { - EmpWage wage = EmpWageService.lambdaQuery() - .eq(EmpWage::getEmpId, one.getEmpId()) - .eq(EmpWage::getPositionId, one.getPositionId()) - .eq(EmpWage::getState, 1) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .one(); + @PostMapping("/delete") + public R delete(@RequestBody EmpReward one) { + System.out.println(one); + EmpRewardService.removeById(one); - wage.setTotal(wage.getTotal().subtract(one.getReward())); - wage.setRewardWage(wage.getRewardWage().subtract(one.getReward())); - EmpWageService.updateById(wage); - EmpRewardService.removeById(one); - } + EmployeeCoefficientService.fileOne(one.getEmpId(),one.getPositionId()); return R.success(); } - /** - * 员工特殊绩修改 - * */ + @PostMapping("/updateOne") - private R updateOne(@RequestBody EmpReward one){ - //归档后不允许修改,前端限制 + public R updateOne(@RequestBody EmpReward one) { EmpRewardService.updateById(one); - return R.success(); - } - - - /** - * 员工特殊绩搜索(导入特殊绩效) - */ - @GetMapping("/Search") - public R Serach(@RequestParam("page") String page - , @RequestParam("page_size") String pageSize - ,@RequestParam(defaultValue = "") String empName - ,@RequestParam(defaultValue = "") String save - ,@RequestParam(defaultValue = "") String fileName){ - - List list = new ArrayList<>(); - list.add((short) 0); - list.add((short) 1); - - switch(save){ - case "0": list.clear();list.add((short) 0);break; - case "1": list.clear();list.add((short) 1);break; - } - - Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); - LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - queryWrapper.like(EmpRewardView::getEmpName,empName) - .like(EmpRewardView::getFileName,fileName) - .in(EmpRewardView::getSave,list) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .orderByDesc(EmpRewardView::getEmpId) - .orderByDesc(EmpRewardView::getPositionId) - .orderByDesc(EmpRewardView::getFileId); - EmpRewardViewService.page(pageInfo,queryWrapper); - - return R.success(pageInfo); - } - /** - * 一键复制上月(选择保存数据) - **/ - @PostMapping("/copy") - private R copy(HttpServletResponse response) throws IOException { - List list= EmpRewardService.lambdaQuery() - .eq(EmpReward::getSave,1) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .list(); - - if(!list.isEmpty()) - return R.error("本月特殊绩效已复制,请勿重复操作"); - - EmpRewardService.monthCopy(response); + EmployeeCoefficientService.fileOne(one.getEmpId(),one.getPositionId()); return R.success(); } - - /** - * 导出下载 - * */ - @PostMapping("/downLoad") - private void downLoad(HttpServletResponse response) throws IOException { - List list = EmpRewardViewService.lambdaQuery() - .orderByDesc(EmpRewardView::getEmpName) - .orderByDesc(EmpRewardView::getPosition) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .list(); - - List result=new ArrayList<>(); - - list.forEach(x->{ - - EmpRewardExcel one = new EmpRewardExcel(); - - BeanUtils.copyProperties(x,one); - - if (x.getState() == 1){ - one.setState("未归档"); - }else { - one.setState("已归档"); - } - - result.add(one); - }); - - response.setContentType("application/vnd.ms-excel;charset=utf-8"); - response.setCharacterEncoding("utf-8"); - response.setHeader("Content-Disposition", "attachment;filename=import.xlsx"); - EasyExcel.write(response.getOutputStream(), EmpRewardExcel.class) - .sheet("导出") - .doWrite(result); - } } diff --git a/src/main/java/com/example/workflow/controller/EmpScoreController.java b/src/main/java/com/example/workflow/controller/EmpScoreController.java index 9c0e8c9a597ce4d91a3b3477a512b81dbfc0e752..72566c183e4066f22735e2590c21ab8a5bb1def6 100644 --- a/src/main/java/com/example/workflow/controller/EmpScoreController.java +++ b/src/main/java/com/example/workflow/controller/EmpScoreController.java @@ -9,10 +9,19 @@ import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.example.workflow.common.R; import com.example.workflow.mapper.TaskViewMapper; -import com.example.workflow.model.entity.*; +import com.example.workflow.model.entity.BackWait; +import com.example.workflow.model.entity.EmpScore; +import com.example.workflow.model.entity.EmpScoreView; +import com.example.workflow.model.entity.EmployeePosition; +import com.example.workflow.model.entity.PositionAssessor; +import com.example.workflow.model.entity.TaskView; import com.example.workflow.model.pojo.EmpScoreExcel; -import com.example.workflow.model.pojo.EmpScoreTotalExcel; -import com.example.workflow.service.*; +import com.example.workflow.service.BackWaitService; +import com.example.workflow.service.EmpScoreService; +import com.example.workflow.service.EmpScoreViewService; +import com.example.workflow.service.EmployeePositionService; +import com.example.workflow.service.PositionAssessorService; +import com.example.workflow.service.PositionService; import lombok.extern.slf4j.Slf4j; import org.camunda.bpm.engine.TaskService; import org.springframework.beans.BeanUtils; @@ -27,14 +36,14 @@ import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.math.BigDecimal; -import java.math.RoundingMode; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; -import java.util.*; -/** - * 员工评分 - * */ +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + @Slf4j @RestController @RequestMapping("/EmpScore") @@ -56,35 +65,14 @@ public class EmpScoreController { private EmpScoreViewService EmpScoreViewService; @Autowired private BackWaitService BackWaitService; - @Autowired - private TaskViewService TaskViewService; - @Autowired - private EmpScoreTotalViewService EmpScoreTotalViewService; - @Autowired - private EmpScoreTotalService EmpScoreTotalService; - LocalDate today = LocalDate.now(); - + LocalDate today = LocalDate.now(); LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); LocalDateTime endTime = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()), LocalTime.MAX); - /** - * 导出下载 - * */ - @PostMapping("/downLoad") - private void downLoad(HttpServletResponse response) throws IOException { - - //未评分的不允许导出 - List taskViewList= TaskViewService.lambdaQuery() - .eq(TaskView::getName,"score") - .list(); - - List empIds =new ArrayList<>(); - for (TaskView taskView : taskViewList) { - empIds.add(Long.valueOf(taskView.getStartUserId())); - } + @PostMapping("/downLoad") + public void downLoad(HttpServletResponse response) throws IOException { List list=EmpScoreViewService.lambdaQuery() - .notIn(!empIds.isEmpty(),EmpScoreView::getEmpId,empIds) .orderByDesc(EmpScoreView::getPosition) .orderByDesc(EmpScoreView::getEmpName) .orderByDesc(EmpScoreView::getScorePercent) @@ -99,139 +87,36 @@ public class EmpScoreController { List result=new ArrayList<>(); list.forEach(x->{ - EmpScoreExcel one = new EmpScoreExcel(); + + EmpScoreExcel one=new EmpScoreExcel(); + BeanUtils.copyProperties(x,one); one.setScorePercent(x.getScorePercent()+"%"); one.setAssessorPercent(x.getAssessorPercent()+"%"); - one.setGrade(x.getScore().multiply(x.getScorePercent()).multiply(x.getAssessorPercent()).divide(BigDecimal.valueOf(10000)).setScale(2, RoundingMode.HALF_UP)); - - - - EmpScoreTotalView data =EmpScoreTotalViewService.lambdaQuery() - .eq(EmpScoreTotalView::getPositionId,x.getPositionId()) - .eq(EmpScoreTotalView::getEmpId,x.getEmpId()) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .one(); - - if (data == null){ - one.setState("未归档"); - }else { - one.setState("已归档"); - } - - - - // if (x.getCorrectedValue() == null){ -// one.setGrade(x.getScore().multiply(x.getScorePercent()).multiply(x.getAssessorPercent()).divide(BigDecimal.valueOf(10000)).setScale(2, RoundingMode.HALF_UP)); -// }else { -// one.setGrade(x.getCorrectedValue().multiply(x.getScorePercent()).multiply(x.getAssessorPercent()).divide(BigDecimal.valueOf(10000)).setScale(2, RoundingMode.HALF_UP)); -// } + one.setGrade(x.getScore().multiply(x.getScorePercent()).multiply(x.getAssessorPercent()).divide(BigDecimal.valueOf(10000))); result.add(one); }); response.setContentType("application/vnd.ms-excel;charset=utf-8"); response.setCharacterEncoding("utf-8"); response.setHeader("Content-Disposition", "attachment;filename=import.xlsx"); + EasyExcel.write(response.getOutputStream(), EmpScoreExcel.class) .sheet("导出") .doWrite(result); } - - - - /** - * 总分导出下载 - * */ - @PostMapping("/total/downLoad") - private void totalDownLoad(HttpServletResponse response) throws IOException { - - List list=EmpScoreTotalViewService.lambdaQuery() - .orderByDesc(EmpScoreTotalView::getDeptName) - .orderByDesc(EmpScoreTotalView::getPosition) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .list(); - - List result=new ArrayList<>(); - - list.forEach(x->{ - - EmpScoreTotalExcel one = new EmpScoreTotalExcel(); - if (x.getUpdateScore() == null) - one.setTotalScore(x.getOriginalScore()); - else - one.setTotalScore(x.getOriginalScore().add(x.getUpdateScore())); - BeanUtils.copyProperties(x,one); -// if (x.getCorrectedValue() == null){ -// one.setGrade(x.getScore().multiply(x.getScorePercent()).multiply(x.getAssessorPercent()).divide(BigDecimal.valueOf(10000)).setScale(2, RoundingMode.HALF_UP)); -// }else { -// one.setGrade(x.getCorrectedValue().multiply(x.getScorePercent()).multiply(x.getAssessorPercent()).divide(BigDecimal.valueOf(10000)).setScale(2, RoundingMode.HALF_UP)); -// } - result.add(one); - }); - - response.setContentType("application/vnd.ms-excel;charset=utf-8"); - response.setCharacterEncoding("utf-8"); - response.setHeader("Content-Disposition", "attachment;filename=import.xlsx"); - EasyExcel.write(response.getOutputStream(), EmpScoreTotalExcel.class) - .sheet("导出") - .doWrite(result); - } - /** - * 评分 - * */ @PostMapping("/add") - private R add(@RequestBody JSONObject form){ - //可修改(后续建议封装) - //获取员工所在岗位信息 - LambdaQueryWrapper wrapper1 =new LambdaQueryWrapper<>(); - wrapper1.eq(EmployeePosition::getEmpId,form.getString("empId")) - .eq(EmployeePosition::getPositionId,form.getString("positionId")); - EmployeePosition employeePosition1 = EmployeePositionService.getOne(wrapper1); - //获取员工进程 - LambdaQueryWrapper queryWrapper1 =new LambdaQueryWrapper<>(); - queryWrapper1.eq(TaskView::getStartUserId,form.getString("empId")) - .eq(TaskView::getProcInstId,employeePosition1.getProcessDefinitionId()) - .eq(TaskView::getName,"score") - .eq(TaskView::getAssignee,form.getString("assessorId")) - .eq(TaskView::getState,"ACTIVE") - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')",endTime); - List task1 = TaskViewMapper.selectList(queryWrapper1); - try{ - if (task1.get(0) != null){ - - }else { - return R.error("已评分,请勿重复评分"); - } - }catch (IndexOutOfBoundsException indexOutOfBoundsException){ - - return R.error("已评分,请勿重复评分"); - } - + public R add(@RequestBody JSONObject form) { JSONArray formArray = form.getJSONArray("Form"); - //数据判断 + List list = new ArrayList<>(); for (int i = 0; i < formArray.size(); i++) { JSONObject formObject = formArray.getJSONObject(i); - EmpScore one = EmpScoreService.lambdaQuery() - .eq(EmpScore::getScoreAssessorsId,Long.valueOf(String.valueOf(formObject.get("scoreAssessorsId")))) - .eq(EmpScore::getEmpId,Long.valueOf(String.valueOf(formObject.get("empId")))) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .one(); - + EmpScore one = new EmpScore(); + one.setScoreAssessorsId(Long.valueOf(String.valueOf(formObject.get("scoreAssessorsId")))); + one.setEmpId(Long.valueOf(String.valueOf(formObject.get("empId")))); if(formObject.get("score").toString()==null||formObject.get("score").toString().isEmpty()){ return R.error("评分不得为空"); @@ -242,22 +127,13 @@ public class EmpScoreController { if(new BigDecimal(formObject.get("score").toString()).compareTo(new BigDecimal(120)) > 0){ return R.error("评分不得超过120"); } - if(new BigDecimal(formObject.get("score").toString()).compareTo(new BigDecimal(100)) != 0 & "".equals(formObject.get("remark").toString())){ - return R.error("请填写扣分或者加分说明"); - } one.setScore(new BigDecimal(formObject.get("score").toString())); - if (formObject.get("remark")==null){ - one.setRemark(""); - }else { - one.setRemark(formObject.get("remark").toString()); - } - //修改 - EmpScoreService.updateById(one); + list.add(one); } + EmpScoreService.saveBatch(list); - //查找下一级 - PositionAssessor nextAssessor = PositionAssessorService.lambdaQuery() + PositionAssessor nextAssessor= PositionAssessorService.lambdaQuery() .eq(PositionAssessor::getPositionId,form.getString("positionId")) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) @@ -266,25 +142,20 @@ public class EmpScoreController { .one(); Map map = new HashMap<>(); - - - //普通员工评完去三级,四级CEO评完去三级,三级员工 二级评完去终审,二级不用评 if(form.getString("positionType").equals("5")){ map.put("thirdAssessor",nextAssessor.getThirdAssessorId().toString()); map.put("thirdTimer",nextAssessor.getThirdTimer()); } else if(form.getString("positionType").equals("4")){ - map.put("thirdAssessor",nextAssessor.getThirdAssessorId().toString()); - map.put("thirdTimer",nextAssessor.getThirdTimer()); + map.put("secondAssessor",nextAssessor.getSecondAssessorId().toString()); + map.put("secondTimer",nextAssessor.getSecondTimer()); } - //获取被评人信息 - LambdaQueryWrapper queryWrapper =new LambdaQueryWrapper<>(); + LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(EmployeePosition::getPositionId,form.getString("positionId")) .eq(EmployeePosition::getEmpId,form.getString("empId")); EmployeePosition EmployeePosition=EmployeePositionService.getOne(queryWrapper); - //结束评分进程 String assessorId=form.getString("assessorId"); String empId=form.getString("empId"); LambdaQueryWrapper queryWrapper2=new LambdaQueryWrapper<>(); @@ -293,418 +164,135 @@ public class EmpScoreController { .eq(TaskView::getName,"score") .eq(TaskView::getProcInstId,EmployeePosition.getProcessDefinitionId()); TaskView task=TaskViewMapper.selectOne(queryWrapper2); + taskService.complete(task.getId(),map); + return R.success(); } - /** - * 当月员工评分项目查询(评分结算) - * * */ @GetMapping("/nowPage") public R nowPage(@RequestParam("page") String page , @RequestParam("page_size") String pageSize){ - List taskViewList= TaskViewService.lambdaQuery() - .eq(TaskView::getName,"score") - .list(); - - List empIds =new ArrayList<>(); - for (TaskView taskView : taskViewList) { - empIds.add(Long.valueOf(taskView.getStartUserId())); - } - Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); - LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - queryWrapper + queryWrapper.orderByAsc(EmpScoreView::getEmpId) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .notIn(!empIds.isEmpty(),EmpScoreView::getEmpId,empIds) - .orderByDesc(EmpScoreView::getPosition) - .orderByDesc(EmpScoreView::getEmpName) - .orderByDesc(EmpScoreView::getScorePercent) - .orderByDesc(EmpScoreView::getTarget); + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime); EmpScoreViewService.page(pageInfo,queryWrapper); - for (EmpScoreView data : pageInfo.getRecords()) { - - EmpScoreTotalView x =EmpScoreTotalViewService.lambdaQuery() - .eq(EmpScoreTotalView::getPositionId,data.getPositionId()) - .eq(EmpScoreTotalView::getEmpId,data.getEmpId()) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .one(); - - if (x == null){ - data.setState((short) 0); - }else { - data.setState((short) 1); - } - - - } return R.success(pageInfo); } - /** - * 当月员工总分查询(评分结算) - * * */ - @GetMapping("/total/nowPage") - public R nowTotalPage(@RequestParam("page") String page - , @RequestParam("page_size") String pageSize){ - - Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); - - LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - queryWrapper - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .orderByDesc(EmpScoreTotalView::getPosition) - .orderByDesc(EmpScoreTotalView::getName); - - EmpScoreTotalViewService.page(pageInfo,queryWrapper); - - return R.success(pageInfo); - } - - /** - * 当月员工评分项目搜索(评分结算) - * */ @GetMapping("/nowSearch") public R nowSerach(@RequestParam("page") String page , @RequestParam("page_size") String pageSize ,@RequestParam(defaultValue = "") String empId ,@RequestParam(defaultValue = "") String empName){ - List taskViewList= TaskViewService.lambdaQuery() - .eq(TaskView::getName,"score") - .list(); - - List empIds =new ArrayList<>(); - for (TaskView taskView : taskViewList) { - empIds.add(Long.valueOf(taskView.getStartUserId())); - } - Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.like(EmpScoreView::getEmpId,empId) .like(EmpScoreView::getEmpName,empName) - .notIn(!empIds.isEmpty(),EmpScoreView::getEmpId,empIds) + .orderByAsc(EmpScoreView::getEmpId) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .orderByDesc(EmpScoreView::getPosition) - .orderByDesc(EmpScoreView::getEmpName) - .orderByDesc(EmpScoreView::getScorePercent) - .orderByDesc(EmpScoreView::getTarget); + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime); EmpScoreViewService.page(pageInfo,queryWrapper); - - for (EmpScoreView data : pageInfo.getRecords()) { - - EmpScoreTotalView x =EmpScoreTotalViewService.lambdaQuery() - .eq(EmpScoreTotalView::getPositionId,data.getPositionId()) - .eq(EmpScoreTotalView::getEmpId,data.getEmpId()) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .one(); - - if (x == null){ - data.setState((short) 0); - }else { - data.setState((short) 1); - } - - - } - - return R.success(pageInfo); } - /** - * 当月员工总分项目搜索(评分结算) - * */ - @GetMapping("/total/nowSearch") - public R nowTotalSerach(@RequestParam("page") String page - , @RequestParam("page_size") String pageSize - ,@RequestParam(defaultValue = "") String empId - ,@RequestParam(defaultValue = "") String empName){ - - - Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); - LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - queryWrapper - .like(EmpScoreTotalView::getName,empName) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .orderByDesc(EmpScoreTotalView::getPosition) - .orderByDesc(EmpScoreTotalView::getName); - EmpScoreTotalViewService.page(pageInfo,queryWrapper); - return R.success(pageInfo); - } - /** - * 历史员工评分项目查询(评分结算) - * */ @GetMapping("/pastPage") public R pastPage(@RequestParam("page") String page - , @RequestParam("page_size") String pageSize - , @RequestParam("time") String time - ){ - - //获取选择年月 - String choseMonth = time+"-01"; - + , @RequestParam("page_size") String pageSize){ LocalDate today = LocalDate.now(); + LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); + Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - queryWrapper - .apply(StringUtils.checkValNotNull(choseMonth), - "date_format (create_time,'%Y-%m') >= date_format ({0},'%Y-%m')", choseMonth) - .apply(StringUtils.checkValNotNull(choseMonth), - "date_format (create_time,'%Y-%m') <= date_format ({0},'%Y-%m')", choseMonth) - .orderByDesc(EmpScoreView::getPosition) - .orderByDesc(EmpScoreView::getEmpName) - .orderByDesc(EmpScoreView::getScorePercent) - .orderByDesc(EmpScoreView::getTarget); + queryWrapper.orderByAsc(EmpScoreView::getEmpId) + .apply(StringUtils.checkValNotNull(beginTime), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime); EmpScoreViewService.page(pageInfo,queryWrapper); return R.success(pageInfo); } - /** - * 历史员工评分项目搜索(评分结算) - * */ + @GetMapping("/pastSearch") public R pastPage(@RequestParam("page") String page ,@RequestParam("page_size") String pageSize ,@RequestParam(defaultValue = "") String empId ,@RequestParam(defaultValue = "") String empName - ,@RequestParam(defaultValue = "") String time){ + ,@RequestParam(defaultValue = "") String beginTime + ,@RequestParam(defaultValue = "") String endTime){ Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - - //获取选择年月 - String choseMonth = time+"-01"; - + if(beginTime.isEmpty()){ + LocalDate today = LocalDate.now(); + LocalDateTime beginDay = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); queryWrapper.like(EmpScoreView::getEmpId,empId) .like(EmpScoreView::getEmpName,empName) - .apply(StringUtils.checkValNotNull(choseMonth), - "date_format (create_time,'%Y-%m') >= date_format ({0},'%Y-%m')", choseMonth) - .apply(StringUtils.checkValNotNull(choseMonth), - "date_format (create_time,'%Y-%m') <= date_format ({0},'%Y-%m')", choseMonth) - .orderByDesc(EmpScoreView::getPosition) - .orderByDesc(EmpScoreView::getEmpName) - .orderByDesc(EmpScoreView::getScorePercent) - .orderByDesc(EmpScoreView::getTarget); + .orderByAsc(EmpScoreView::getEmpId) + .apply(StringUtils.checkValNotNull(beginDay), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginDay); + } + else { + LocalDateTime beginDay = LocalDateTime.of(LocalDate.parse(beginTime), LocalTime.MIN); + LocalDateTime endDay = LocalDateTime.of(LocalDate.parse(endTime), LocalTime.MAX); + queryWrapper.like(EmpScoreView::getEmpId,empId) + .like(EmpScoreView::getEmpName,empName) + .orderByAsc(EmpScoreView::getEmpId) + .apply(StringUtils.checkValNotNull(beginDay), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginDay) + .apply(StringUtils.checkValNotNull(endDay), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endDay); + } EmpScoreViewService.page(pageInfo,queryWrapper); return R.success(pageInfo); } - /** - * 历史员工评分项目查询(评分结算) - * */ - @GetMapping("/total/pastPage") - public R pastTotalPage(@RequestParam("page") String page - , @RequestParam("page_size") String pageSize - , @RequestParam("time") String time - ){ - - //获取选择年月 - String choseMonth = time+"-01"; - - LocalDate today = LocalDate.now(); - Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); - LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - queryWrapper - .apply(StringUtils.checkValNotNull(choseMonth), - "date_format (create_time,'%Y-%m') >= date_format ({0},'%Y-%m')", choseMonth) - .apply(StringUtils.checkValNotNull(choseMonth), - "date_format (create_time,'%Y-%m') <= date_format ({0},'%Y-%m')", choseMonth) - .orderByDesc(EmpScoreTotalView::getPosition) - .orderByDesc(EmpScoreTotalView::getName); - EmpScoreTotalViewService.page(pageInfo,queryWrapper); - - return R.success(pageInfo); - } - - /** - * 历史员工评分项目搜索(评分结算) - * */ - @GetMapping("/total/pastSearch") - public R pastTotalPage(@RequestParam("page") String page - ,@RequestParam("page_size") String pageSize - ,@RequestParam(defaultValue = "") String empId - ,@RequestParam(defaultValue = "") String empName - ,@RequestParam(defaultValue = "") String time){ - - Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); - LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - - //获取选择年月 - String choseMonth = time+"-01"; - - queryWrapper.like(EmpScoreTotalView::getEmpId,empId) - .like(EmpScoreTotalView::getName,empName) - .apply(StringUtils.checkValNotNull(choseMonth), - "date_format (create_time,'%Y-%m') >= date_format ({0},'%Y-%m')", choseMonth) - .apply(StringUtils.checkValNotNull(choseMonth), - "date_format (create_time,'%Y-%m') <= date_format ({0},'%Y-%m')", choseMonth) - .orderByDesc(EmpScoreTotalView::getPosition) - .orderByDesc(EmpScoreTotalView::getName); - - EmpScoreTotalViewService.page(pageInfo,queryWrapper); - - return R.success(pageInfo); - } - /** - * 修改评分(修正值) - * */ @GetMapping("/reAdd") - private R reAdd(@RequestParam("id") String id + public R reAdd(@RequestParam("id") String id ,@RequestParam("correctedValue") String correctedValue ,@RequestParam("empId") String empId){ + UpdateWrapper updateWrapper=new UpdateWrapper<>(); + updateWrapper.eq("id",id) + .set("corrected_value",correctedValue); + EmpScoreService.update(updateWrapper); - //判断是否在考核过程中(即任务列表是否存在被修改人id) - LambdaQueryWrapper queryWrapper2=new LambdaQueryWrapper<>(); - queryWrapper2 - .eq(TaskView::getStartUserId,empId) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime); - - Long task= TaskViewMapper.selectCount(queryWrapper2); - - //存在任务即未归档,不允许修改 - if (task != 0L){ - return R.error("员工未归档,等考核结束"); - } - - LambdaQueryWrapper queryWrapper3=new LambdaQueryWrapper<>(); - queryWrapper3.eq(EmpScore::getId,id); - - EmpScore empScore = EmpScoreService.getOne(queryWrapper3); - - if (empScore.getCorrectedValue() != null){ - //已修改过,只保存修正值 - UpdateWrapper updateWrapper=new UpdateWrapper<>(); - updateWrapper.eq("id",id) - .set("corrected_value",correctedValue) - .set("score",correctedValue); - EmpScoreService.update(updateWrapper); - }else { - //保存修正值并且保存原始分数 - UpdateWrapper updateWrapper=new UpdateWrapper<>(); - updateWrapper.eq("id",id) - .set("corrected_value",correctedValue) - .set("score",correctedValue) - .set("original_score",empScore.getScore()); - EmpScoreService.update(updateWrapper); - } - //修改评分工资 - EmpScoreService.reChange(Long.valueOf(empId),Long.valueOf(id)); + EmpScoreService.reChange(Long.valueOf(id),Long.valueOf(empId)); return R.success(); } - /** - * 修改总分(修正值) - * */ - @GetMapping("/total/reAdd") - private R totalReAdd( - @RequestParam("id") String id - ,@RequestParam("updateScore") BigDecimal updateScore - ,@RequestParam("remark") String remark - ){ - - - LambdaQueryWrapper queryWrapper3=new LambdaQueryWrapper<>(); - queryWrapper3.eq(EmpScoreTotal::getId,id); - EmpScoreTotal empScoreTotal = EmpScoreTotalService.getOne(queryWrapper3); - - empScoreTotal.setUpdateScore(updateScore); - empScoreTotal.setRemark(remark); - - EmpScoreTotalService.updateById(empScoreTotal); - - //修改评分工资 - EmpScoreTotalService.reChange(empScoreTotal.getEmpId(),empScoreTotal.getPositionId()); - - return R.success(); - } - /** - * 删除评分(不建议使用) - * */ @PostMapping("/reDelete") - private R reAdd(@RequestBody EmpScore one){ + public R reAdd(@RequestBody EmpScore one) { one.setState(new Short("0")); EmpScoreService.updateById(one); - EmpScoreService.reChange(one.getEmpId(),one.getId()); + + EmpScoreService.reChange(one.getId(),one.getEmpId()); return R.success(); } - /** - * 评分重评 - * */ + @PostMapping("/reBackAdd") - private R reBackAdd(@RequestBody JSONObject form){ + public R reBackAdd(@RequestBody JSONObject form) { JSONArray formArray = form.getJSONArray("Form"); - //可修改(后续建议封装) - //在back_wait获取员工所在岗位打回进程 - LambdaQueryWrapper wrapper1 =new LambdaQueryWrapper<>(); - wrapper1.eq(BackWait::getEmpId,form.getString("empId")) - .eq(BackWait::getPositionId,form.getString("positionId")) - .and(qw -> qw.eq(BackWait::getType,"back_third_score") - .or().eq(BackWait::getType,"back_second_score")); - BackWait backWait1 = BackWaitService.getOne(wrapper1); - - //获取员工进程 - LambdaQueryWrapper queryWrapper1 =new LambdaQueryWrapper<>(); - queryWrapper1.eq(TaskView::getStartUserId,form.getString("empId")) - .eq(TaskView::getProcInstId,backWait1.getProcessDefineId()) - .eq(TaskView::getName,"back_score") - .eq(TaskView::getAssignee,form.getString("assessorId")) - .eq(TaskView::getState,"ACTIVE") - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')",endTime); - List task1 = TaskViewMapper.selectList(queryWrapper1); - try{ - if (task1.get(0) != null){ - for (TaskView taskView : task1) { - - } - }else { - return R.error("已重评,请勿重复重评"); - } - }catch (IndexOutOfBoundsException indexOutOfBoundsException){ - return R.error("已重评,请勿重复重评"); - } - - List list = new ArrayList<>(); for (int i = 0; i < formArray.size(); i++) { JSONObject formObject = formArray.getJSONObject(i); @@ -715,24 +303,9 @@ public class EmpScoreController { if(formObject.get("score").toString()==null||formObject.get("score").toString().isEmpty()){ return R.error("评分不得为空"); } - if(new BigDecimal(formObject.get("score").toString()).compareTo(new BigDecimal(0)) < 0){ - return R.error("评分不得小于0"); - } - if(new BigDecimal(formObject.get("score").toString()).compareTo(new BigDecimal(120)) > 0){ - return R.error("评分不得超过120"); - } - if(new BigDecimal(formObject.get("score").toString()).compareTo(new BigDecimal(100)) != 0 & "".equals(formObject.get("remark").toString())){ - return R.error("请填写扣分或者加分说明"); - } one.setScore(new BigDecimal(formObject.get("score").toString())); - if (formObject.get("remark")==null){ - one.setRemark(""); - }else { - one.setRemark(formObject.get("remark").toString()); - } list.add(one); } - EmpScoreService.saveBatch(list); PositionAssessor nextAssessor= PositionAssessorService.lambdaQuery() @@ -747,16 +320,14 @@ public class EmpScoreController { if(form.getString("positionType").equals("5")){ map.put("Assessor",nextAssessor.getThirdAssessorId().toString()); } - else if(form.getString("positionType").equals("4")){ - map.put("Assessor",nextAssessor.getThirdAssessorId().toString()); - }else if(form.getString("positionType").equals("3")){ + else if(form.getString("positionType").equals("4")||form.getString("positionType").equals("3")){ map.put("Assessor",nextAssessor.getSecondAssessorId().toString()); } List backWait=BackWaitService.lambdaQuery() .eq(BackWait::getEmpId,form.getString("empId")) .eq(BackWait::getPositionId,form.getString("positionId")) - .and(qw -> qw.eq(BackWait::getType,"back_third_score") + .and(qw -> qw.eq(BackWait::getType,"third_score_back") .or().eq(BackWait::getType,"back_second_score")) .list(); @@ -770,8 +341,9 @@ public class EmpScoreController { backWait.forEach(x->{ task.forEach(y->{ - + System.out.println(y.getProcInstId().equals(x.getProcessDefineId())); if(y.getProcInstId().equals(x.getProcessDefineId())){ + System.out.println("完成任务"); taskService.complete(y.getId(),map); } }); @@ -780,11 +352,9 @@ public class EmpScoreController { return R.success(); } - /** - * 查询单个员工评分项目(审批) - * */ + @PostMapping("/getOneEmpScore") - private R> getOneEmpOkr(@RequestBody JSONObject form){ + public R> getOneEmpOkr(@RequestBody JSONObject form) { List empScoreViewList= EmpScoreViewService.lambdaQuery() .eq(EmpScoreView::getEmpId,form.getString("empId")) .eq(EmpScoreView::getPositionId,form.getString("positionId")) @@ -793,55 +363,23 @@ public class EmpScoreController { "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .orderByDesc(EmpScoreView::getType) - .orderByDesc(EmpScoreView::getTarget) - .orderByDesc(EmpScoreView::getScorePercent) - .orderByDesc(EmpScoreView::getAssessorPercent) .list(); + return R.success(empScoreViewList); } - /** - * 评分项目终审重审 - * */ + @PostMapping("/secondBack") - private R> secondBack(@RequestBody JSONObject obj){ + public R> secondBack(@RequestBody JSONObject obj) { List empScoreViews=EmpScoreViewService.lambdaQuery() .eq(EmpScoreView::getPositionId,obj.getString("positionId")) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) .orderByAsc(EmpScoreView::getEmpId) - .orderByDesc(EmpScoreView::getType) - .orderByDesc(EmpScoreView::getTarget) - .orderByDesc(EmpScoreView::getScorePercent) - .orderByDesc(EmpScoreView::getAssessorPercent) - .list(); - return R.success(empScoreViews); - } - - /** - * 总分编辑各评分条目细节 - * */ - @GetMapping("/empScoreTotalDetail") - private R> getEmpScoreTotalDetail( - @RequestParam("empId") long empId - ,@RequestParam("positionId") long positionId - ){ - List empScoreViews=EmpScoreViewService.lambdaQuery() - .eq(EmpScoreView::getEmpId,empId) - .eq(EmpScoreView::getPositionId,positionId) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .orderByAsc(EmpScoreView::getEmpId) - .orderByDesc(EmpScoreView::getType) - .orderByDesc(EmpScoreView::getTarget) - .orderByDesc(EmpScoreView::getScorePercent) - .orderByDesc(EmpScoreView::getAssessorPercent) .list(); + return R.success(empScoreViews); } diff --git a/src/main/java/com/example/workflow/controller/EmpWageController.java b/src/main/java/com/example/workflow/controller/EmpWageController.java index d216ab3a2a2ee01fd74a7007c6273293678f4783..c8fce38bb5b29e3d68b3a58258a4008ef8561eef 100644 --- a/src/main/java/com/example/workflow/controller/EmpWageController.java +++ b/src/main/java/com/example/workflow/controller/EmpWageController.java @@ -48,7 +48,7 @@ public class EmpWageController { * * */ @GetMapping("/page") - private R page(@RequestParam("page") String page, @RequestParam("page_size") String pageSize){ + public R page(@RequestParam("page") String page, @RequestParam("page_size") String pageSize) { Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); @@ -306,7 +306,7 @@ public class EmpWageController { * 员工工资导出下载 * */ @PostMapping("/downLoad") - private void downLoad(HttpServletResponse response) throws IOException { + public void downLoad(HttpServletResponse response) throws IOException { List list=EmpWageViewService.lambdaQuery() .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) diff --git a/src/main/java/com/example/workflow/controller/EmployeeController.java b/src/main/java/com/example/workflow/controller/EmployeeController.java index 7c3ca1a9502800b887874cf31bae7dff05e30259..90402cc1396883c3999b69f918b52dc69d925ee3 100644 --- a/src/main/java/com/example/workflow/controller/EmployeeController.java +++ b/src/main/java/com/example/workflow/controller/EmployeeController.java @@ -53,8 +53,6 @@ public class EmployeeController { EmployeePositionService.setStateToEmployeePosition(employeeIdAndStateIdList); // 员工停用 employeeService.setStateToEmployee(employeeIdAndStateIdList); - // 员工绩效系数停用 - EmpCoefficientService.setStateToEmployee(employeeIdAndStateIdList); return R.success(); } diff --git a/src/main/java/com/example/workflow/controller/EmployeePositionController.java b/src/main/java/com/example/workflow/controller/EmployeePositionController.java index a2cab5886089be1edd3b8dabd7ea575504e1ffda..68b4223ddc350128d7b87c6a686bf1a344f4b653 100644 --- a/src/main/java/com/example/workflow/controller/EmployeePositionController.java +++ b/src/main/java/com/example/workflow/controller/EmployeePositionController.java @@ -55,9 +55,6 @@ import java.util.HashSet; import java.util.List; import java.util.Set; -/** - * 员工岗位管理 - * */ @Slf4j @RestController @RequestMapping("/EmployeePosition") @@ -87,47 +84,35 @@ public class EmployeePositionController { LocalDate today = LocalDate.now(); LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); LocalDateTime endTime = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()), LocalTime.MAX); - /** - * 员工岗位导入上传 - * */ + @PostMapping("/upload") public void uploadExcel(MultipartFile file, HttpServletResponse response) throws IOException { EasyExcel.read(file.getInputStream(), EmpPositionExcel.class, new EmpPositionExcelReadListener()).sheet().doRead(); + if(!ErrorExcelWrite.getErrorCollection().isEmpty()){ response.setContentType("application/vnd.ms-excel;charset=utf-8"); response.setCharacterEncoding("utf-8"); response.setHeader("Content-Disposition", "attachment;filename=import.xlsx"); + EasyExcel.write(response.getOutputStream(), EmpPositionError.class).sheet("错误部分").doWrite(ErrorExcelWrite.getErrorCollection()); } ErrorExcelWrite.clearErrorCollection(); } - /** - * 员工岗位导出下载 - * */ - @PostMapping("/downLoad") - private void downLoad(HttpServletResponse response) throws IOException { + @PostMapping("/downLoad") + public void downLoad(HttpServletResponse response) throws IOException { List list=EmpPositionViewService.lambdaQuery() .orderByAsc(EmpPositionView::getEmpId) + .apply(StringUtils.checkValNotNull(beginTime), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) + .apply(StringUtils.checkValNotNull(endTime), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) .list(); List result=new ArrayList<>(); list.forEach(x->{ ResultEmpPositionExcel one=new ResultEmpPositionExcel(); BeanUtils.copyProperties(x,one); - - switch (x.getState()){ - case 0:one.setState("未启用");break; - case 1:one.setState("启用"); - switch (x.getAuditStatus()){ - case 0 : one.setAudit_status("未考核");break; - case 1 : one.setAudit_status("考核中");break; - case 2 : one.setAudit_status("暂停");break; - case 3 : one.setAudit_status("考核完成");break; - } - break; - } - result.add(one); }); @@ -140,11 +125,8 @@ public class EmployeePositionController { .doWrite(result); } - /** - * 被考核信息(暂未启用) - * */ @PostMapping("/list") - private R> list(@RequestBody JSONObject obj){ + public R> list(@RequestBody JSONObject obj) { String data=obj.toJSONString(); JSONObject json = JSON.parseObject(data); @@ -160,7 +142,6 @@ public class EmployeePositionController { if(task!=null) { TaskInf one = new TaskInf(); - one.setId(task.getId()); one.setAssignee(task.getAssignee()); one.setName(task.getName()); @@ -172,43 +153,38 @@ public class EmployeePositionController { one.setPositionId(x.getPositionId()); one.setEmpId(x.getEmpId()); one.setEmpName(x.getEmpName()); - result.add(one); } }); + return R.success(result); } - /** - * 分页 - * */ + @GetMapping("/page") - private R> page(@RequestParam("page") String page, @RequestParam("page_size") String pageSize){ + public R> page(@RequestParam("page") String page, @RequestParam("page_size") String pageSize) { Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - queryWrapper.orderByDesc(EmpPositionView::getEmpId); + queryWrapper.orderByDesc(EmpPositionView::getEmpId) + .eq(EmpPositionView::getState,1); EmpPositionViewService.page(pageInfo,queryWrapper); - for (EmpPositionView record : pageInfo.getRecords()) { - if (record.getState() == 0) - record.setAuditStatus(null); - } return R.success(pageInfo); } - /** - * 添加员工岗位信息 - * */ @PostMapping("/add") - private R add(@RequestBody JSONObject form){ + public R add(@RequestBody JSONObject form) { + LambdaQueryWrapper queryWrapper2=new LambdaQueryWrapper<>(); queryWrapper2.eq(EmployeePosition::getEmpId,form.getString("empId")); if(!EmployeePositionService.list(queryWrapper2).isEmpty()){ return R.error("该员工已任职岗位,请勿重复操作"); } + JSONArray formArray = form.getJSONArray("positionList"); List positionList = new ArrayList<>(); + for (int i = 0; i < formArray.size(); i++) { JSONObject formObject = formArray.getJSONObject(i); positionList.add(formObject.getString("positionId")); @@ -217,25 +193,32 @@ public class EmployeePositionController { if (set.size() < positionList.size()) { return R.error("员工不可重复任职同一岗位"); } + LambdaQueryWrapper queryWrapper =new LambdaQueryWrapper<>(); queryWrapper.eq(EmployeePosition::getEmpId,form.getString("empId")); EmployeePositionService.remove(queryWrapper); + List employeePositionList=new ArrayList<>(); for (int i = 0; i < formArray.size(); i++) { JSONObject formObject = formArray.getJSONObject(i); + EmployeePosition x=new EmployeePosition(); + if(formObject.getString("positionId").isEmpty()) return R.error("请选择人员岗位"); x.setEmpId(Long.valueOf(form.getString("empId"))); + if(formObject.getString("posiPercent").isEmpty()) return R.error("请填写岗位比例"); x.setPositionId(Long.valueOf(formObject.getString("positionId"))); String valueAsString = formObject.getString("posiPercent"); BigDecimal valueAsBigDecimal = new BigDecimal(valueAsString); x.setPosiPercent(valueAsBigDecimal); + LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); Wrapper.eq(Position::getId,Long.valueOf(formObject.getString("positionId"))); Short type= PositionService.getOne(Wrapper).getType(); + if(type==5) x.setProcessKey("Process_1gzouwy"); else if(type==4) @@ -245,27 +228,24 @@ public class EmployeePositionController { employeePositionList.add(x); } EmployeePositionService.saveBatch(employeePositionList); + return R.success(); } - /** - * 新增员工岗位弹窗(选择员工) - * */ @PostMapping("/getEmpPositionList") - private R> getEmpPositionList(@RequestBody JSONObject obj){ + public R> getEmpPositionList(@RequestBody JSONObject obj) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(EmpPositionView::getEmpId,obj.getString("empId")); List list=EmpPositionViewMapper.selectList(queryWrapper); + return R.success(list); } - /** - * 修改员工岗位 - * */ + @PostMapping("/update") - private R update(@RequestBody JSONObject form){ + public R update(@RequestBody JSONObject form) { List empReward=EmpRewardService.lambdaQuery() .eq(EmpReward::getEmpId,form.getString("empId")) .apply(StringUtils.checkValNotNull(beginTime), @@ -279,6 +259,15 @@ public class EmployeePositionController { } JSONArray formArray = form.getJSONArray("positionList"); + /*List positionList = new ArrayList<>(); + for (int i = 0; i < formArray.size(); i++) { + JSONObject formObject = formArray.getJSONObject(i); + positionList.add(formObject.getString("positionId")); + } + Set set = new HashSet<>(positionList); + if (set.size() < positionList.size()) { + return R.error("员工不可重复任职同一岗位"); + }*/ LambdaQueryWrapper queryWrapper =new LambdaQueryWrapper<>(); queryWrapper.eq(EmployeePosition::getEmpId,form.getString("empId")); @@ -318,11 +307,9 @@ public class EmployeePositionController { return R.success(); } - /** - * 删除 - * */ + @PostMapping("/delete") - private R remove(@RequestBody EmpPositionView form){ + public R remove(@RequestBody EmpPositionView form) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(EmployeePosition::getEmpId,form.getEmpId()); EmployeePositionService.remove(queryWrapper); @@ -370,9 +357,6 @@ public class EmployeePositionController { return R.success(); } - /** - * 根据员工姓名查询岗位信息 - * */ @GetMapping("/search") public R searchPage(@RequestParam("page") String page , @RequestParam("page_size") String pageSize @@ -380,17 +364,11 @@ public class EmployeePositionController { ,@RequestParam(defaultValue = "") String position){ Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - queryWrapper - .orderByDesc(EmpPositionView::getPosition) - .orderByDesc(EmpPositionView::getDeptName) - .orderByDesc(EmpPositionView::getEmpId) + queryWrapper.orderByDesc(EmpPositionView::getEmpId) .like(EmpPositionView::getEmpName,empName) - .like(EmpPositionView::getPosition,position); + .like(EmpPositionView::getPosition,position) + .eq(EmpPositionView::getState,1); EmpPositionViewService.page(pageInfo,queryWrapper); - for (EmpPositionView record : pageInfo.getRecords()) { - if (record.getState() == 0) - record.setAuditStatus(null); - } return R.success(pageInfo); } diff --git a/src/main/java/com/example/workflow/controller/FirstController.java b/src/main/java/com/example/workflow/controller/FirstController.java index 1a1456aa3830a4d5b29178ce0fa2deb8264d4704..61d6cc74f72b48c50ce5f48a3abd0e691e83a09b 100644 --- a/src/main/java/com/example/workflow/controller/FirstController.java +++ b/src/main/java/com/example/workflow/controller/FirstController.java @@ -14,15 +14,14 @@ import com.example.workflow.service.PieceRuleService; import com.example.workflow.service.PositionAssessorViewService; import com.example.workflow.service.RegionCoefficientService; import com.example.workflow.service.ScoreRuleService; +import com.example.workflow.utils.DateTimeUtils; import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import java.time.LocalDate; +import javax.annotation.Resource; import java.time.LocalDateTime; -import java.time.LocalTime; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -31,94 +30,97 @@ import java.util.Map; @RestController @RequestMapping("/first") public class FirstController { + @Resource + private ScoreRuleService scoreRuleService; + @Resource + private PieceRuleService pieceRuleService; + @Resource + private KpiRuleService kpiRuleService; + @Resource + public RegionCoefficientService regionCoefficientService; + @Resource + private EmpCoefficientService empCoefficientService; + @Resource + private PositionAssessorViewService positionAssessorViewService; - @Autowired - private ScoreRuleService ScoreRuleService; - @Autowired - private PieceRuleService PieceRuleService; - @Autowired - private KpiRuleService KpiRuleService; - @Autowired - private RegionCoefficientService RegionCoefficientService; - @Autowired - private EmpCoefficientService EmpCoefficientService; - @Autowired - private PositionAssessorViewService PositionAssessorViewService; - - LocalDate today = LocalDate.now(); - LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); - LocalDateTime endTime = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()), LocalTime.MAX); @PostMapping("/check") - private R> checkScore(){ - Map map=new HashMap<>(); - List list= ScoreRuleService.lambdaQuery() - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) + public R> checkScore() { + LocalDateTime[] time = DateTimeUtils.getTheStartAndEndTimeOfMonth(); + Map map = new HashMap<>(10); + List list = scoreRuleService.lambdaQuery() + .apply(StringUtils.checkValNotNull(time[0]), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", time[0]) + .apply(StringUtils.checkValNotNull(time[1]), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", time[1]) .list(); - if(list.isEmpty()) + if (list.isEmpty()) { map.put("scoreRule",0); - else + } else { map.put("scoreRule",1); + } - List list2= PieceRuleService.lambdaQuery() - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) + List list2 = pieceRuleService.lambdaQuery() + .apply(StringUtils.checkValNotNull(time[0]), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", time[0]) + .apply(StringUtils.checkValNotNull(time[1]), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", time[1]) .list(); - if(list2.isEmpty()) + if (list2.isEmpty()) { map.put("pieceRule",0); - else + } else { map.put("pieceRule",1); + } - List list3= KpiRuleService.lambdaQuery() - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) + List list3 = kpiRuleService.lambdaQuery() + .apply(StringUtils.checkValNotNull(time[0]), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", time[0]) + .apply(StringUtils.checkValNotNull(time[1]), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", time[1]) .list(); - if(list3.isEmpty()) + if (list3.isEmpty()) { map.put("kpiRule",0); - else + } else { map.put("kpiRule",1); + } - List list4=RegionCoefficientService.lambdaQuery() + List list4 = regionCoefficientService.lambdaQuery() .eq(RegionCoefficient::getState,1) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) + .apply(StringUtils.checkValNotNull(time), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", time[0]) + .apply(StringUtils.checkValNotNull(time[1]), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", time[1]) .list(); - if(list4.isEmpty()) + if (list4.isEmpty()) { map.put("region",0); - else + } else { map.put("region",1); + } - List list5= EmpCoefficientService.lambdaQuery() - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) + List list5 = empCoefficientService.lambdaQuery() + .apply(StringUtils.checkValNotNull(time), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", time[0]) + .apply(StringUtils.checkValNotNull(time[1]), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", time[1]) .list(); - if(list5.isEmpty()) + if (list5.isEmpty()) { map.put("coe",0); - else + } else { map.put("coe",1); + } - List list6=PositionAssessorViewService.lambdaQuery() + List list6 = positionAssessorViewService.lambdaQuery() .eq(PositionAssessorView::getState,1) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) + .apply(StringUtils.checkValNotNull(time), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", time[0]) + .apply(StringUtils.checkValNotNull(time[1]), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", time[1]) .list(); - if(list6.isEmpty()) + if (list6.isEmpty()) { map.put("ass",0); - else + } else { map.put("ass",1); + } return R.success(map); } diff --git a/src/main/java/com/example/workflow/controller/FlowController.java b/src/main/java/com/example/workflow/controller/FlowController.java index 9be77372a1c2395afd5844e5410eb36a8720f599..ad903f712b27959b11ebb1e822a797e6fee30fe5 100644 --- a/src/main/java/com/example/workflow/controller/FlowController.java +++ b/src/main/java/com/example/workflow/controller/FlowController.java @@ -5,10 +5,9 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.example.workflow.common.R; -import com.example.workflow.mapper.ActReDeploymentMapper; +import com.example.workflow.enums.ProcessState; import com.example.workflow.mapper.EmployeePositionMapper; import com.example.workflow.mapper.TaskViewMapper; -import com.example.workflow.model.entity.ActReDeployment; import com.example.workflow.model.entity.BackWait; import com.example.workflow.model.entity.EmpKpi; import com.example.workflow.model.entity.EmpOkr; @@ -44,145 +43,70 @@ import com.example.workflow.service.ResultFourthExamineService; import com.example.workflow.service.ResultSecondExamineService; import com.example.workflow.service.ResultThirdExamineService; import com.example.workflow.service.ScoreAssessorsService; +import com.example.workflow.utils.DateTimeUtils; +import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.camunda.bpm.engine.HistoryService; import org.camunda.bpm.engine.IdentityService; -import org.camunda.bpm.engine.ProcessEngine; -import org.camunda.bpm.engine.ProcessEngines; -import org.camunda.bpm.engine.RepositoryService; import org.camunda.bpm.engine.RuntimeService; -import org.camunda.bpm.engine.TaskService; -import org.camunda.bpm.engine.history.HistoricTaskInstance; -import org.camunda.bpm.engine.repository.Deployment; import org.camunda.bpm.engine.runtime.ProcessInstance; -import org.camunda.bpm.engine.task.IdentityLink; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import java.time.LocalDate; import java.time.LocalDateTime; -import java.time.LocalTime; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; -/** - * 岗位考核管理 - * **/ + @Slf4j @RestController @RequestMapping("/flow") +@AllArgsConstructor public class FlowController { - @Autowired - private ActReDeploymentMapper ActReDeploymentMapper; - @Autowired - private RepositoryService repositoryService; - @Autowired - private RuntimeService runtimeService; - @Autowired - private TaskService taskService; - @Autowired - private IdentityService identityService; - @Autowired - private EmployeePositionMapper EmployeePositionMapper; - @Autowired - private EmployeePositionService EmployeePositionService; - @Autowired - private PositionService PositionService; - @Autowired - private PositionAssessorService PositionAssessorService; - @Autowired - private ResultThirdExamineService ResultThirdExamineService; - @Autowired - private ResultSecondExamineService ResultSecondExamineService; - @Autowired - private TaskViewMapper TaskViewMapper; - @Autowired - private EmpPositionViewService EmpPositionViewService; - @Autowired - private PositionScoreService PositionScoreService; - @Autowired - private ScoreAssessorsService ScoreAssessorsService; - @Autowired - private PositionPieceService PositionPieceService; - @Autowired - private PositionKpiSerivce PositionKpiSerivce; - @Autowired - private EmpScoreService EmpScoreService; - @Autowired - private OkrKeyService OkrKeyService; - @Autowired - private EmpOkrService EmpOkrService; - @Autowired - private ResultFourthExamineService ResultFourthExamineService; - @Autowired - private EmpWageService EmpWageService; - @Autowired - private BackWaitService BackWaitService; - - LocalDate today = LocalDate.now(); - LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); - LocalDateTime endTime = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()), LocalTime.MAX); - - @PostMapping("/list") - private R> list(){ - List list= ActReDeploymentMapper.selectList(null); - return R.success(list); - } - - @PostMapping("/deployee") - private void deploy(String name,String resource){ - Deployment deploy = repositoryService.createDeployment() - .name(name) - .addClasspathResource(resource) - .deploy(); - } - - /** - * 开始考核 - * **/ - @PostMapping("/startFlow") - private R startFlow(@RequestBody JSONObject obj){ - //勿动(后续建议封装) - //判断是否已经开始考核 - LambdaQueryWrapper queryWrapper =new LambdaQueryWrapper<>(); - queryWrapper.eq(EmpPositionView::getPositionId,obj.getString("positionId")) - .eq(EmpPositionView::getState,1); - List empList= EmpPositionViewService.list(queryWrapper); - //获取任务进程 - String processDefinitionId; - try{ - processDefinitionId = empList.get(0).getProcessDefinitionId(); - }catch (IndexOutOfBoundsException indexOutOfBoundsException){ - return R.error("没有员工在该岗位"); - - } + private final RuntimeService runtimeService; + private final IdentityService identityService; + private final EmployeePositionMapper employeePositionMapper; + private final EmployeePositionService employeePositionService; + private final PositionService positionService; + private final PositionAssessorService positionAssessorService; + private final ResultThirdExamineService resultThirdExamineService; + private final ResultSecondExamineService resultSecondExamineService; + private final TaskViewMapper taskViewMapper; + private final EmpPositionViewService empPositionViewService; + private final PositionScoreService positionScoreService; + private final ScoreAssessorsService scoreAssessorsService; + private final PositionPieceService positionPieceService; + private final PositionKpiSerivce positionKpiSerivce; + private final EmpScoreService empScoreService; + private final OkrKeyService okrKeyService; + private final EmpOkrService empOkrService; + private final ResultFourthExamineService resultFourthExamineService; + private final EmpWageService empWageService; + private final BackWaitService backWaitService; - LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); - Wrapper.eq(TaskView::getStartUserId,empList.get(0).getEmpId()) - .eq(TaskView::getProcInstId,empList.get(0).getProcessDefinitionId()); - List taskViewList = TaskViewMapper.selectList(Wrapper); - //进程不为空 或者 不为""空字符串,则已经进行考核,不允许重复操作 - if (taskViewList != null ){ - }else { - return R.error("已开始考核"); - } - PositionAssessor assessor=PositionAssessorService.lambdaQuery() - .eq(PositionAssessor::getPositionId,obj.getString("positionId")) + @PostMapping("/startFlow") + public R startFlow(@RequestBody JSONObject obj) { + LocalDateTime[] time = DateTimeUtils.getTheStartAndEndTimeOfMonth(); + LocalDateTime beginTime = time[0]; + LocalDateTime endTime = time[1]; + PositionAssessor assessor = positionAssessorService.lambdaQuery() + .eq(PositionAssessor::getPositionId, obj.getString("positionId")) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) .one(); - if(empList.isEmpty()){ + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(EmpPositionView::getPositionId, obj.getString("positionId")); + List empList = empPositionViewService.list(queryWrapper); + if (empList.isEmpty()) { return R.error("没有员工在该岗位"); } @@ -190,16 +114,12 @@ public class FlowController { if(assessor.getSecondAssessorId()==null||assessor.getFourthAssessorId()==null||assessor.getThirdAssessorId()==null){ return R.error("该岗位未配置对应的审核人与审核时限,请前往配置"); } - } - - else if(empList.get(0).getType()==4){ - if(assessor.getSecondAssessorId()==null||assessor.getThirdAssessorId()==null){ + } else if (empList.get(0).getType() == 4) { + if (assessor.getSecondAssessorId() == null || assessor.getThirdAssessorId() == null) { return R.error("该岗位未配置对应的审核人与审核时限,请前往配置"); } - } - - else if(empList.get(0).getType()==3){ - if(assessor.getSecondAssessorId()==null){ + } else if (empList.get(0).getType() == 3) { + if (assessor.getSecondAssessorId() == null) { return R.error("该岗位未配置对应的审核人与审核时限,请前往配置"); } } @@ -207,187 +127,169 @@ public class FlowController { for(EmpPositionView x:empList){ Map map = new HashMap<>(); map.put("declarer",obj.getString("empId")); + identityService.setAuthenticatedUserId(String.valueOf(x.getEmpId())); + ProcessInstance processInstance = runtimeService - .startProcessInstanceByKey(x.getProcessKey(),map); + .startProcessInstanceByKey(x.getProcessKey(), map); + UpdateWrapper updateWrapper =new UpdateWrapper<>(); updateWrapper - .set("process_definition_id",processInstance.getId()) - .eq("emp_id",x.getEmpId()) - .eq("position_id",obj.getString("positionId")) - .eq("state",1); - EmployeePositionService.update(updateWrapper); + .set("process_definition_id", processInstance.getId()) + .eq("emp_id", x.getEmpId()) + .eq("position_id", obj.getString("positionId")) + .eq("state", 1); + employeePositionService.update(updateWrapper); } - UpdateWrapper updateWrapper =new UpdateWrapper<>(); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); updateWrapper .set("audit_status", '1') - .eq("id",obj.getString("positionId")) - .eq("state",1); - PositionService.update(updateWrapper); + .eq("id", obj.getString("positionId")) + .eq("state", 1); + positionService.update(updateWrapper); return R.success(); } - /** - * 暂停考核 - * **/ + @PostMapping("/stopFlow") - private R stopFlow(@RequestBody JSONObject obj){ - LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - queryWrapper.eq(EmployeePosition::getPositionId,obj.getString("positionId")); - List empList=EmployeePositionMapper.selectList(queryWrapper); - - empList.forEach(x->{ - LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); - Wrapper.eq(TaskView::getStartUserId,x.getEmpId()) - .eq(TaskView::getProcInstId,x.getProcessDefinitionId()) - .eq(TaskView::getState,"ACTIVE"); - List taskViewList=TaskViewMapper.selectList(Wrapper); - - taskViewList.forEach(y->{ - if(y!=null){ + public R stopFlow(@RequestBody JSONObject obj) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(EmployeePosition::getPositionId, obj.getString("positionId")); + List empList = employeePositionMapper.selectList(queryWrapper); + + empList.forEach(x -> { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(TaskView::getStartUserId, x.getEmpId()) + .eq(TaskView::getProcInstId, x.getProcessDefinitionId()) + .eq(TaskView::getState, ProcessState.ACTIVE.getState()); + List taskViewList = taskViewMapper.selectList(wrapper); + + taskViewList.forEach(y -> { + if (y != null) { runtimeService.suspendProcessInstanceById(y.getProcInstId()); } }); }); - UpdateWrapper updateWrapper =new UpdateWrapper<>(); - updateWrapper.set("audit_status", '2').eq("id",obj.getString("positionId")); - PositionService.update(updateWrapper); - + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.set("audit_status", '2').eq("id", obj.getString("positionId")); + positionService.update(updateWrapper); return R.success(); } - /** - * 恢复考核 - * **/ - @PostMapping("/restoreFlow") - private R restoreFlow(@RequestBody JSONObject obj){ - LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - queryWrapper.eq(EmployeePosition::getPositionId,obj.getString("positionId")); - List empList=EmployeePositionMapper.selectList(queryWrapper); - - empList.forEach(x->{ - LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); - Wrapper.eq(TaskView::getStartUserId,x.getEmpId()) - .eq(TaskView::getProcInstId,x.getProcessDefinitionId()); - List task = TaskViewMapper.selectList(Wrapper); - if(task!=null) { - for (TaskView taskView : task) { - runtimeService.activateProcessInstanceById(taskView.getProcInstId()); - } + @PostMapping("/restoreFlow") + public R restoreFlow(@RequestBody JSONObject obj) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(EmployeePosition::getPositionId, obj.getString("positionId")); + List empList = employeePositionMapper.selectList(queryWrapper); + + empList.forEach(x -> { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(TaskView::getStartUserId, x.getEmpId()) + .eq(TaskView::getProcInstId, x.getProcessDefinitionId()); + TaskView task = taskViewMapper.selectOne(wrapper); + if (task != null) { + runtimeService.activateProcessInstanceById(task.getProcInstId()); } }); - UpdateWrapper updateWrapper =new UpdateWrapper<>(); - updateWrapper.set("audit_status", '1').eq("id",obj.getString("positionId")); - PositionService.update(updateWrapper); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.set("audit_status", '1').eq("id", obj.getString("positionId")); + positionService.update(updateWrapper); return R.success(); } - /** - * 结束考核 - * **/ @PostMapping("/deleteFlow") - private R deleteFlow(@RequestBody JSONObject obj){ - - LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - queryWrapper.eq(EmployeePosition::getPositionId,obj.getString("positionId")); - List empList=EmployeePositionMapper.selectList(queryWrapper); - - List positionScores=PositionScoreService.lambdaQuery() - .eq(PositionScore::getPositionId,obj.getString("positionId")) - .eq(PositionScore::getState,1) + public R deleteFlow(@RequestBody JSONObject obj) { + LocalDateTime[] time = DateTimeUtils.getTheStartAndEndTimeOfMonth(); + LocalDateTime beginTime = time[0]; + LocalDateTime endTime = time[1]; + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(EmployeePosition::getPositionId, obj.getString("positionId")); + List empList = employeePositionMapper.selectList(queryWrapper); + + List positionScores = positionScoreService.lambdaQuery() + .eq(PositionScore::getPositionId, obj.getString("positionId")) + .eq(PositionScore::getState, 1) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .list(); - + .list(); - List delete1=new ArrayList<>(); - positionScores.forEach(x->{ - List scoreAssessorss=ScoreAssessorsService.lambdaQuery() - .eq(ScoreAssessors::getPositionScoreId,x.getId()) - .eq(ScoreAssessors::getState,1) + List delete1 = new ArrayList<>(); + positionScores.forEach(x -> { + List scoreAssessorss = scoreAssessorsService.lambdaQuery() + .eq(ScoreAssessors::getPositionScoreId, x.getId()) + .eq(ScoreAssessors::getState, 1) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) .list(); - scoreAssessorss.forEach(y->{ - delete1.add(y); - }); + delete1.addAll(scoreAssessorss); }); - - List delete2=PositionPieceService.lambdaQuery() - .eq(PositionPiece::getPositionId,obj.getString("positionId")) - .eq(PositionPiece::getState,1) + List delete2 = positionPieceService.lambdaQuery() + .eq(PositionPiece::getPositionId, obj.getString("positionId")) + .eq(PositionPiece::getState, 1) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) .list(); - - List delete3=PositionKpiSerivce.lambdaQuery() - .eq(PositionKpi::getPositionId,obj.getString("positionId")) - .eq(PositionKpi::getState,1) + List delete3 = positionKpiSerivce.lambdaQuery() + .eq(PositionKpi::getPositionId, obj.getString("positionId")) + .eq(PositionKpi::getState, 1) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) .list(); + empList.forEach(x -> { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(TaskView::getStartUserId, x.getEmpId()) + .eq(TaskView::getProcInstId, x.getProcessDefinitionId()); + List taskList = taskViewMapper.selectList(wrapper); - empList.forEach(x->{ - - LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); - Wrapper.eq(TaskView::getStartUserId,x.getEmpId()) - .eq(TaskView::getProcInstId,x.getProcessDefinitionId()); - List taskList=TaskViewMapper.selectList(Wrapper); - - taskList.forEach(y->{ - runtimeService.deleteProcessInstance(y.getProcInstId(),"删除原因"); - }); - + taskList.forEach(y -> runtimeService.deleteProcessInstance(y.getProcInstId(), "删除原因")); - if(!delete1.isEmpty()){ - delete1.forEach(y->{ - LambdaQueryWrapper queryWrapper1=new LambdaQueryWrapper<>(); - queryWrapper1.eq(EmpScore::getScoreAssessorsId,y.getId()) - .eq(EmpScore::getEmpId,x.getEmpId()) + if (!delete1.isEmpty()) { + delete1.forEach(y -> { + LambdaQueryWrapper queryWrapper1 = new LambdaQueryWrapper<>(); + queryWrapper1.eq(EmpScore::getScoreAssessorsId, y.getId()) + .eq(EmpScore::getEmpId, x.getEmpId()) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime); - EmpScoreService.remove(queryWrapper1); + empScoreService.remove(queryWrapper1); }); } - - if(!delete2.isEmpty()){ - delete2.forEach(y->{ - LambdaQueryWrapper queryWrapper1=new LambdaQueryWrapper<>(); - queryWrapper1.eq(EmpPiece::getPieceId,y.getPieceId()) - .eq(EmpPiece::getEmpId,x.getEmpId()) + if (!delete2.isEmpty()) { + delete2.forEach(y -> { + LambdaQueryWrapper queryWrapper1 = new LambdaQueryWrapper<>(); + queryWrapper1.eq(EmpPiece::getPieceId, y.getPieceId()) + .eq(EmpPiece::getEmpId, x.getEmpId()) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime); }); } - - if(!delete3.isEmpty()){ - delete3.forEach(y->{ - LambdaQueryWrapper queryWrapper1=new LambdaQueryWrapper<>(); - queryWrapper1.eq(EmpKpi::getKpiId,y.getKpiId()) - .eq(EmpKpi::getEmpId,x.getEmpId()) + if (!delete3.isEmpty()) { + delete3.forEach(y -> { + LambdaQueryWrapper queryWrapper1 = new LambdaQueryWrapper<>(); + queryWrapper1.eq(EmpKpi::getKpiId, y.getKpiId()) + .eq(EmpKpi::getEmpId, x.getEmpId()) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), @@ -395,308 +297,77 @@ public class FlowController { }); } - - //注意 - LocalDateTime lastBeginTime = LocalDateTime.of(today.withDayOfMonth(1).minusMonths(1), LocalTime.MIN); - LocalDateTime lastEndTime = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()).plusMonths(1), LocalTime.MAX); - - List delete4=OkrKeyService.lambdaQuery() - .eq(OkrKey::getPositionId,obj.getString("positionId")) - .eq(OkrKey::getLiaEmpId,x.getEmpId()) - .apply(StringUtils.checkValNotNull(lastBeginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", lastBeginTime) - .apply(StringUtils.checkValNotNull(lastEndTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", lastEndTime) + List delete4 = okrKeyService.lambdaQuery() + .eq(OkrKey::getPositionId, obj.getString("positionId")) + .eq(OkrKey::getLiaEmpId, x.getEmpId()) + .apply(StringUtils.checkValNotNull(beginTime), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) + .apply(StringUtils.checkValNotNull(endTime), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) .list(); - - - if(!delete4.isEmpty()){ - delete4.forEach(y->{ - LambdaQueryWrapper queryWrapper1=new LambdaQueryWrapper<>(); - queryWrapper1.eq(EmpOkr::getEmpId,x.getEmpId()) - .eq(EmpOkr::getOkrKeyId,y.getId()) + if (!delete4.isEmpty()) { + delete4.forEach(y -> { + LambdaQueryWrapper queryWrapper1 = new LambdaQueryWrapper<>(); + queryWrapper1.eq(EmpOkr::getEmpId, x.getEmpId()) + .eq(EmpOkr::getOkrKeyId, y.getId()) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime); - EmpOkrService.remove(queryWrapper1); + empOkrService.remove(queryWrapper1); }); } - - LambdaQueryWrapper queryWrapper1=new LambdaQueryWrapper<>(); - queryWrapper1.eq(EmpWage::getEmpId,x.getEmpId()) - .eq(EmpWage::getPositionId,obj.getString("positionId")) + LambdaQueryWrapper queryWrapper1 = new LambdaQueryWrapper<>(); + queryWrapper1.eq(EmpWage::getEmpId, x.getEmpId()) + .eq(EmpWage::getPositionId, obj.getString("positionId")) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime); - EmpWageService.remove(queryWrapper1); + empWageService.remove(queryWrapper1); }); - - LambdaQueryWrapper queryWrapper1=new LambdaQueryWrapper<>(); - queryWrapper1.eq(ResultFourthExamine::getPositionId,obj.getString("positionId")) + LambdaQueryWrapper queryWrapper1 = new LambdaQueryWrapper<>(); + queryWrapper1.eq(ResultFourthExamine::getPositionId, obj.getString("positionId")) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime); - ResultFourthExamineService.remove(queryWrapper1); - + resultFourthExamineService.remove(queryWrapper1); - LambdaQueryWrapper queryWrapper2=new LambdaQueryWrapper<>(); - queryWrapper2.eq(ResultThirdExamine::getPositionId,obj.getString("positionId")) + LambdaQueryWrapper queryWrapper2 = new LambdaQueryWrapper<>(); + queryWrapper2.eq(ResultThirdExamine::getPositionId, obj.getString("positionId")) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime); - ResultThirdExamineService.remove(queryWrapper2); - + resultThirdExamineService.remove(queryWrapper2); - LambdaQueryWrapper queryWrapper3=new LambdaQueryWrapper<>(); - queryWrapper3.eq(ResultSecondExamine::getPositionId,obj.getString("positionId")) + LambdaQueryWrapper queryWrapper3 = new LambdaQueryWrapper<>(); + queryWrapper3.eq(ResultSecondExamine::getPositionId, obj.getString("positionId")) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime); - ResultSecondExamineService.remove(queryWrapper3); - - - UpdateWrapper updateWrapper =new UpdateWrapper<>(); - updateWrapper.set("audit_status", '0').eq("id",obj.getString("positionId")); - PositionService.update(updateWrapper); - + resultSecondExamineService.remove(queryWrapper3); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.set("audit_status", '0').eq("id", obj.getString("positionId")); + positionService.update(updateWrapper); - List backWaitList=BackWaitService.lambdaQuery() - .eq(BackWait::getPositionId,obj.getString("positionId")) + List backWaitList = backWaitService.lambdaQuery() + .eq(BackWait::getPositionId, obj.getString("positionId")) .list(); - backWaitList.forEach(x->{ - runtimeService.deleteProcessInstance(x.getProcessDefineId(),"删除原因"); - BackWaitService.removeById(x); + backWaitList.forEach(x -> { + runtimeService.deleteProcessInstance(x.getProcessDefineId(), "删除原因"); + backWaitService.removeById(x); }); return R.success(); } - @PostMapping("/updateFlowOne") - public R updateFlowOne(@RequestBody JSONObject obj){ - /*Long empId=Long.valueOf(obj.getString("empId")); - - LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); - Wrapper.eq(EmployeePosition::getEmpId,String.valueOf(empId)); - Long positionId=EmployeePositionMapper.selectOne(Wrapper).getPositionId(); - - LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - queryWrapper.eq(TaskView::getStartUserId,String.valueOf(empId)); - TaskView task=TaskViewMapper.selectOne(queryWrapper); - - //评分 - List assessorList1 = new ArrayList<>(); - LambdaQueryWrapper query1=new LambdaQueryWrapper<>(); - query1.eq(ScoreRule::getPositionId,positionId); - List num1= ScoreRuleService.list(query1); - num1.forEach(x->{ - LambdaQueryWrapper query=new LambdaQueryWrapper<>(); - query.eq(ScoreAssessors::getRuleId,x.getId()); - List assessor= ScoreAssessorsService.list(query); - assessor.forEach(y->{ - assessorList1.add(String.valueOf(y.getAssessorId())); - }); - }); - List assessors1=assessorList1.stream().distinct().collect(Collectors.toList()); - - //计件 - List assessorList2 = new ArrayList<>(); - LambdaQueryWrapper query2=new LambdaQueryWrapper<>(); - query2.eq(PieceRule::getPositionId,positionId); - List num2= PieceRuleService.list(query2); - num2.forEach(x->{ - assessorList2.add(String.valueOf(x.getAssessorId())); - }); - List assessors2=assessorList2.stream().distinct().collect(Collectors.toList()); - - //KPI - List assessorList3 = new ArrayList<>(); - LambdaQueryWrapper query3=new LambdaQueryWrapper<>(); - query3.eq(KpiRule::getPositionId,positionId); - List num3= KpiRuleService.list(query3); - num3.forEach(x->{ - assessorList3.add(String.valueOf(x.getAssessorId())); - }); - List assessors3=assessorList3.stream().distinct().collect(Collectors.toList()); - - Map map = new HashMap<>(); - if(assessors1.isEmpty()==true) - map.put("scoreAppoint", "true"); - else - map.put("ASList", assessors1); - - if(assessors2.isEmpty()==true) - map.put("pieceAppoint", "true"); - else - map.put("APList", assessors2); - - if(assessors3.isEmpty()==true) - map.put("kpiAppoint", "true"); - else - map.put("AKList", assessors3); - map.put("kpiAppoint", "true"); - taskService.complete(task.getId(),map);*/ - - return R.success(); - } - - @PostMapping("/updateFlowAll") - public R updateFlowAll(@RequestBody JSONObject obj){ - /*List list=obj.getJSONArray("empList"); - - list.forEach(x->{ - - }); - - LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); - Wrapper.eq(EmployeePosition::getEmpId,String.valueOf(empId)); - Long positionId=EmployeePositionMapper.selectOne(Wrapper).getPositionId(); - - LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - queryWrapper.eq(TaskView::getStartUserId,String.valueOf(empId)); - TaskView task=TaskViewMapper.selectOne(queryWrapper); - - //评分 - List assessorList1 = new ArrayList<>(); - LambdaQueryWrapper query1=new LambdaQueryWrapper<>(); - query1.eq(ScoreRule::getPositionId,positionId); - List num1= ScoreRuleService.list(query1); - num1.forEach(x->{ - LambdaQueryWrapper query=new LambdaQueryWrapper<>(); - query.eq(ScoreAssessors::getRuleId,x.getId()); - List assessor= ScoreAssessorsService.list(query); - assessor.forEach(y->{ - assessorList1.add(String.valueOf(y.getAssessorId())); - }); - }); - List assessors1=assessorList1.stream().distinct().collect(Collectors.toList()); - - //计件 - List assessorList2 = new ArrayList<>(); - LambdaQueryWrapper query2=new LambdaQueryWrapper<>(); - query2.eq(PieceRule::getPositionId,positionId); - List num2= PieceRuleService.list(query2); - num2.forEach(x->{ - assessorList2.add(String.valueOf(x.getAssessorId())); - }); - List assessors2=assessorList2.stream().distinct().collect(Collectors.toList()); - - //KPI - List assessorList3 = new ArrayList<>(); - LambdaQueryWrapper query3=new LambdaQueryWrapper<>(); - query3.eq(KpiRule::getPositionId,positionId); - List num3= KpiRuleService.list(query3); - num3.forEach(x->{ - assessorList3.add(String.valueOf(x.getAssessorId())); - }); - List assessors3=assessorList3.stream().distinct().collect(Collectors.toList()); - - Map map = new HashMap<>(); - if(assessors1.isEmpty()==true) - map.put("scoreAppoint", "true"); - else - map.put("ASList", assessors1); - - if(assessors2.isEmpty()==true) - map.put("pieceAppoint", "true"); - else - map.put("APList", assessors2); - - if(assessors3.isEmpty()==true) - map.put("kpiAppoint", "true"); - else - map.put("AKList", assessors3); - map.put("kpiAppoint", "true"); - taskService.complete(task.getId(),map);*/ - - return R.success(); - } - - @PostMapping("/userId") - private R> searchId(String taskId){ - List id=taskService.getIdentityLinksForTask(taskId); - return R.success(id); - } - - @PostMapping("/complete") - private R complete(String id){ - List assessorList1 = new ArrayList<>(4); - assessorList1.add("userOne"); - assessorList1.add("userTwo"); - List assessorList2 = new ArrayList<>(4); - assessorList2.add("userThree"); - Map map = new HashMap<>(); - map.put("appoint","no"); - map.put("assessor","xxy"); - map.put("declear","q"); - map.put("pieceAppoint", "true"); - map.put("scoreAppoint", "false"); - map.put("kpiAppoint", "true"); - map.put("okrAppoint", "false"); - map.put("ASList", assessorList1); - map.put("AKList", assessorList1); - map.put("APList", assessorList2); - map.put("AOList", assessorList2); - map.put("AThirdList",assessorList2); - taskService.complete(id,map); - return R.success(); - } - - @PostMapping("/getComplete") - private R> getCompleteList(){ - ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine(); - HistoryService historyService = processEngine.getHistoryService(); - - List completedTasks = historyService.createHistoricTaskInstanceQuery() - .finished() - .list(); - - return R.success(completedTasks); - } - - public void SetState(EmployeePosition one){ - //评分 - /*LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - queryWrapper.eq(ScoreRule::getPositionId,one.getPositionId()); - List ScoreRuleList=ScoreRuleMapper.selectList(queryWrapper); - if(ScoreRuleList!=null){ - one.setScoreState((short)1); - } - else{ - one.setScoreState((short)0); - } - - //计件 - LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); - Wrapper.eq(PieceRule::getPositionId,one.getPositionId()); - List PieceRuleList=PieceRuleMapper.selectList(Wrapper); - if(PieceRuleList!=null){ - one.setPieceState((short)1); - } - else{ - one.setPieceState((short)0); - } - - //kpi - LambdaQueryWrapper query=new LambdaQueryWrapper<>(); - query.eq(KpiRule::getPositionId,one.getPositionId()); - List KpiRuleList=KpiRuleMapper.selectList(query); - if(KpiRuleList!=null){ - one.setKpiState((short)1); - } - else{ - one.setKpiState((short)0); - } - EmployeePositionService.updateById(one);*/ - } } diff --git a/src/main/java/com/example/workflow/controller/IndexController.java b/src/main/java/com/example/workflow/controller/IndexController.java index 21645e2e16e00c90fdab436676491130803832a7..ff3c1452b3c656d69efca06dd6b9a7f39b009ad7 100644 --- a/src/main/java/com/example/workflow/controller/IndexController.java +++ b/src/main/java/com/example/workflow/controller/IndexController.java @@ -11,6 +11,7 @@ import com.example.workflow.service.IndexService; import com.example.workflow.service.RoleRouterService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -19,6 +20,8 @@ import org.springframework.web.bind.annotation.RestController; import java.util.ArrayList; import java.util.List; import java.util.Random; +import java.util.Set; +import java.util.stream.Collectors; @Slf4j @RestController @@ -27,9 +30,9 @@ public class IndexController { @Autowired private IndexService IndexService; @Autowired - private RoleRouterService RoleRouterService; + public RoleRouterService roleRouterService; @Autowired - private RouterMapper RouterMapper; + public RouterMapper routerMapper; @PostMapping("/getPermission") public R> getPermission(@RequestBody JSONObject obj){ @@ -37,30 +40,28 @@ public class IndexController { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(RoleRouter::getRoleId,obj.getString("roleId")) .eq(RoleRouter::getState,1); - List routerList= RoleRouterService.list(queryWrapper); + List routerList= roleRouterService.list(queryWrapper); + if (!CollectionUtils.isEmpty(routerList)) { + Set routerSet = routerList.stream().map(RoleRouter::getRouterId).collect(Collectors.toSet()); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.in(Router::getId, routerSet); + List routers = routerMapper.selectList(wrapper); - List list=new ArrayList<>(); - List parent=new ArrayList<>(); - routerList.forEach(x->{ - LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); - Wrapper.eq(Router::getId,x.getRouterId()); - Router router= RouterMapper.selectOne(Wrapper); - list.add(router); + // 筛选出全部的父路由 + List parentRouterSet = routers.stream().filter(router -> router.getType().equals(1)).collect(Collectors.toList()); - if(router.getType().equals(1)){ - parent.add(router); + for (Router router : parentRouterSet) { + Integer id = Integer.valueOf(router.getId()); + // 筛选出它的子路由 + List childrenRouterSet = routers.stream().filter(router1 -> router1.getParentId().equals(id)).collect(Collectors.toList()); + router.setChildren(childrenRouterSet); } - }); + return R.success(parentRouterSet); + + } else { + return R.success(new ArrayList<>(0)); + } - parent.forEach(x->{ - List children= new ArrayList<>(); - list.forEach(y->{ - if(y.getParentId().equals(Integer.valueOf(x.getId()))) - children.add(y); - }); - x.setChildren(children); - }); - return R.success(parent); } @PostMapping("/getCaptchaCode") diff --git a/src/main/java/com/example/workflow/controller/KpiRuleController.java b/src/main/java/com/example/workflow/controller/KpiRuleController.java index 2c5bd5e04aab6770719beaa29764c3b05581799f..32afca085a865f9af1fd5b2c9139b0460fcfabcf 100644 --- a/src/main/java/com/example/workflow/controller/KpiRuleController.java +++ b/src/main/java/com/example/workflow/controller/KpiRuleController.java @@ -41,9 +41,7 @@ import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; import java.util.List; -/** - * kpi条目 - * **/ + @Slf4j @RestController @RequestMapping("/KpiRule") @@ -67,9 +65,6 @@ public class KpiRuleController { LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); LocalDateTime endTime = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()), LocalTime.MAX); - /** - * 当月kpi条目查询(提成条目设置) - * **/ @GetMapping("/page") public R page(@RequestParam("page") String page, @RequestParam("page_size") String pageSize){ Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); @@ -87,11 +82,9 @@ public class KpiRuleController { return R.success(pageInfo); } - /** - * kpi条目修改(提成条目设置) - * **/ + @PostMapping("/update") - private R update(@RequestBody KpiRuleForm form){ + public R update(@RequestBody KpiRuleForm form) { if(form.getName()==null) return R.error("条目名称不得为空"); else if (form.getTarget1()==null) @@ -104,6 +97,8 @@ public class KpiRuleController { KpiRule kpiRule=KpiRuleService.splitForm(form); KpiRuleMapper.updateById(kpiRule); + System.out.println(kpiRule); + LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(KpiPercent::getKpiId,kpiRule.getId()) .eq(KpiPercent::getState,1) @@ -119,24 +114,21 @@ public class KpiRuleController { return R.success(); } - /** - * kpi条目删除(提成条目设置) - * **/ @PostMapping("/delete") - private R delete(@RequestBody KpiRule one){ + public R delete(@RequestBody KpiRule one) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(KpiPercent::getKpiId,one.getId()); KpiPercentService.remove(queryWrapper); + KpiRuleMapper.deleteById(one); + return R.success(); } - /** - * kpi条目查询(岗位绩效管理-提成考核条目) - * **/ @PostMapping("/getPositionKpi") - private R> list(@RequestBody JSONObject obj){ + public R> list(@RequestBody JSONObject obj) { + LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(PositionKpiView::getPositionId,obj.getString("positionId")) .apply(StringUtils.checkValNotNull(beginTime), @@ -144,14 +136,13 @@ public class KpiRuleController { .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime); List list=PositionKpiViewMapper.selectList(queryWrapper); + return R.success(list); } - /** - * 新增kpi条目(提成条目设置) - * **/ + @PostMapping("/add") - private R add(@RequestBody KpiRuleForm form){ + public R add(@RequestBody KpiRuleForm form) { if(form.getName()==null) return R.error("条目名称不得为空"); else if (form.getTarget1()==null) @@ -182,10 +173,12 @@ public class KpiRuleController { } /** - * 获取当条kpi的百分比分成 + * 获取当条kpi的百分比分成,用于修改(time) + * @param kpiId + * @return */ @GetMapping("/getKpiPercent") - private R> getKpiPercent(@RequestParam("kpiId") String kpiId){ + public R> getKpiPercent(@RequestParam("kpiId") String kpiId) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(KpiPercent::getKpiId,kpiId) .orderByAsc(KpiPercent::getKpiId) @@ -203,9 +196,10 @@ public class KpiRuleController { /** * 无条件获取所有kpi项目(time) + * @return */ @PostMapping("/getRuleList") - private R> getRulelist(){ + public R> getRulelist() { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(KpiRule::getState,1) @@ -219,10 +213,12 @@ public class KpiRuleController { } /** - * 添加kpi条目(岗位绩效管理-提成考核条目) + * 添加kpi项目(time) + * @param form + * @return */ @PostMapping("/addAssessor") - private R addAssessor(@RequestBody PositionKpi form){ + public R addAssessor(@RequestBody PositionKpi form) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(PositionKpi::getPositionId,form.getPositionId()) .eq(PositionKpi::getKpiId,form.getKpiId()) @@ -241,10 +237,12 @@ public class KpiRuleController { } /** - * 获取该岗位的kpi条目(岗位绩效管理-提成考核条目) + * 获取该岗位的kpi项目(time) + * @param obj positionId + * @return */ @PostMapping("/getPositionKpiList") - private R> getPositionKpiList(@RequestBody JSONObject obj){ + public R> getPositionKpiList(@RequestBody JSONObject obj) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(PositionKpiView::getPositionId,obj.getString("positionId")) @@ -256,12 +254,10 @@ public class KpiRuleController { return R.success(list); } - /** - * 修改该岗位的kpi条目(岗位绩效管理-提成考核条目) - */ + @PostMapping("/updateAssessor") - private R updateAssessor(@RequestBody PositionKpi form){ + public R updateAssessor(@RequestBody PositionKpi form) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(PositionKpi::getPositionId,form.getPositionId()) .eq(PositionKpi::getKpiId,form.getKpiId()) @@ -279,11 +275,9 @@ public class KpiRuleController { return R.success(); } - /** - * 移除该岗位的kpi条目(岗位绩效管理-提成考核条目) - */ + @PostMapping("/removeAssessor") - private R removeAssessor(@RequestBody PositionKpiView form){ + public R removeAssessor(@RequestBody PositionKpiView form) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(PositionKpi::getPositionId,form.getPositionId()) .eq(PositionKpi::getKpiId,form.getKpiId()) @@ -295,11 +289,9 @@ public class KpiRuleController { return R.success(); } - /** - * 复制上月kpi考核条目 - */ + @PostMapping("/copy") - private R copy(){ + public R copy() { List list= KpiRuleService.lambdaQuery() .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) @@ -313,9 +305,7 @@ public class KpiRuleController { return R.success(); } - /** - * 历史kpi条目查询(提成条目设置) - * */ + @GetMapping("/kpiPastPage") public R kpiPastPage(@RequestParam("page") String page, @RequestParam("page_size") String pageSize){ LocalDate today = LocalDate.now(); @@ -329,9 +319,7 @@ public class KpiRuleController { return R.success(pageInfo); } - /** - * 历史kpi条目搜索(提成条目设置) - * */ + @GetMapping("/pastSearch") public R pastPage(@RequestParam("page") String page ,@RequestParam("page_size") String pageSize @@ -367,18 +355,12 @@ public class KpiRuleController { return R.success(pageInfo); } - /** - * kpi考核条目导入上传(提成条目设置) - */ @PostMapping("/upload") public R uploadExcel(MultipartFile file) throws IOException { EasyExcel.read(file.getInputStream(), KpiExcel.class, new KpiExcelReadListener()).sheet().doRead(); return R.success(); } - /** - * kpi考核条目导入上传(导入岗位-提成) - */ @PostMapping("/uploadPosition") public void uploadPositionExcel(MultipartFile file, HttpServletResponse response) throws IOException { EasyExcel.read(file.getInputStream(), PositionKpiExcel.class, new PositionKpiExcelReadListener()).sheet().doRead(); diff --git a/src/main/java/com/example/workflow/controller/LoginController.java b/src/main/java/com/example/workflow/controller/LoginController.java index 5cfd466bc74c3779acf4f44a448ef647ef5177a6..51def37eed173b77360c283bfbdafa962093dd81 100644 --- a/src/main/java/com/example/workflow/controller/LoginController.java +++ b/src/main/java/com/example/workflow/controller/LoginController.java @@ -1,20 +1,24 @@ package com.example.workflow.controller; +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.example.workflow.common.R; +import com.example.workflow.content.session.VerifyCodeSessionContent; import com.example.workflow.model.bean.CheckCode; import com.example.workflow.model.entity.Employee; import com.example.workflow.model.entity.LoginDto; import com.example.workflow.service.EmployeeService; -import com.example.workflow.utils.JWTHelper; +import com.example.workflow.utils.JwtHelper; import com.example.workflow.utils.VerifyCode; import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import javax.imageio.ImageIO; +import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.awt.image.BufferedImage; @@ -23,66 +27,61 @@ import java.io.OutputStream; import java.util.HashMap; import java.util.Map; import java.util.Objects; -/** - * 登录管理 - */ + @RestController @RequiredArgsConstructor +@Slf4j public class LoginController { private final EmployeeService employeeService; /** - * 二维码接口 + * 获取验证码图片 */ - /* 获取验证码图片*/ @GetMapping("/getVerifyCode") - public void getVerifyCode(HttpServletResponse response,HttpSession session) { + public void getVerifyCode(HttpServletResponse response, HttpSession session) throws IOException { - try { + try (OutputStream os = response.getOutputStream()) { - int width=200; + int width = 200; - int height=69; + int height = 69; - BufferedImage verifyImg=new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB); + BufferedImage verifyImg = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); //生成对应宽高的初始图片 //单独的一个类方法,出于代码复用考虑,进行了封装。 - String randomText = VerifyCode.drawRandomText(width,height,verifyImg); + String randomText = VerifyCode.drawRandomText(width, height, verifyImg); //功能是生成验证码字符并加上噪点,干扰线,返回值为验证码字符 - CheckCode checkCode = new CheckCode(randomText,60); - - session.setAttribute("verifyCode", checkCode); - - response.setContentType("image/png");//必须设置响应内容类型为图片,否则前台不识别 - - OutputStream os = response.getOutputStream(); //获取文件输出流 - - ImageIO.write(verifyImg,"png",os);//输出图片流 - + CheckCode checkCode = new CheckCode(randomText, 60); + response.setHeader("X-Request-ID", session.getId()); + VerifyCodeSessionContent.setVerifyCode(session.getId(), checkCode); + // session.setAttribute("verifyCode", checkCode); + // 必须设置响应内容类型为图片,否则前台不识别 + response.setContentType("image/png"); + // 输出图片流 + ImageIO.write(verifyImg, "png", os); os.flush(); - - os.close();//关闭流 - - } catch (IOException e) { - - e.printStackTrace(); - } - + // 关闭流 } /** * 登陆接口 */ @PostMapping("/login") - public R login(@RequestBody LoginDto dto, HttpSession session) { + public R login(@RequestBody LoginDto dto, HttpSession session, HttpServletRequest request) { + String sessionKey = request.getHeader("X-Request-ID"); + CheckCode checkCode = (CheckCode) VerifyCodeSessionContent.getVerifyCode(sessionKey); - CheckCode checkCode = (CheckCode) session.getAttribute("verifyCode"); + // CheckCode checkCode = (CheckCode) session.getAttribute("verifyCode"); - if(Objects.isNull(checkCode)||checkCode.isExpired()) return R.error("验证码已过期,请点击重新生成!"); - if (!checkCode.getCode().equalsIgnoreCase(dto.getVerifyCode())) return R.error("验证码错误,请重新输入!"); + if (Objects.isNull(checkCode) || checkCode.isExpired()) { + return R.error("验证码已过期,请点击重新生成!"); + } + if (!checkCode.getCode().equalsIgnoreCase(dto.getVerifyCode())) { + return R.error("验证码错误,请重新输入!"); + } LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); @@ -95,26 +94,65 @@ public class LoginController { }else if (employee.getState() == 0){ return R.error("账号已被封禁"); } - - Map payload = new HashMap<>(); + Map payload = new HashMap<>(30); payload.put("id", String.valueOf(employee.getId())); payload.put("num", employee.getNum()); payload.put("roleId", String.valueOf(employee.getRoleId())); - Long timestamp = JWTHelper.generateExpireDate(JWTHelper.EXPIRE_TIME); - String token = JWTHelper.createToken(timestamp, payload); - Map map = new HashMap<>(); + Long timestamp = JwtHelper.generateExpireDate(JwtHelper.EXPIRE_TIME); + String token = JwtHelper.createToken(timestamp, payload); + Map map = new HashMap<>(30); map.put("token", token); map.put("userInfo", employee); - map.put("timestamp", timestamp);//给这个的目的是让前端每次请求时校验是否过期token,如果还差一分钟就过期就应该马上更新token + // 给这个的目的是让前端每次请求时校验是否过期token,如果还差一分钟就过期就应该马上更新token + map.put("timestamp", timestamp); session.setAttribute(token, timestamp); return R.success(map); } /** - * 退出接口 - * */ + * 测试时使用的登陆接口 + */ + @PostMapping("/login/test") + public R test() { + Employee employee = JSON.parseObject(" {\n" + + " \"is_change_pwd\": 1,\n" + + " \"id\": 6,\n" + + " \"num\": \"10004\",\n" + + " \"role_id\": 1,\n" + + " \"password\": \"123456\",\n" + + " \"state\": 1,\n" + + " \"name\": \"开发人员\",\n" + + " \"phone_num1\": \"14578524245\",\n" + + " \"phone_num2\": \"14578524245\",\n" + + " \"email\": \"test@test.com\",\n" + + " \"id_num\": \"123456789\",\n" + + " \"birthday\": \"1238-10-17\",\n" + + " \"address\": \"123456789\",\n" + + " \"remark\": \" \",\n" + + " \"create_time\": \"2024-03-31 01:05:29\",\n" + + " \"update_time\": \"2024-03-31 01:05:29\",\n" + + " \"create_user\": null,\n" + + " \"update_user\": null\n" + + " }", Employee.class); + Map payload = new HashMap<>(30); + payload.put("id", String.valueOf(employee.getId())); + payload.put("num", employee.getNum()); + payload.put("roleId", String.valueOf(employee.getRoleId())); + + long timestamp = JwtHelper.generateExpireDate(JwtHelper.EXPIRE_TIME); + String token = JwtHelper.createToken(timestamp, payload); + Map map = new HashMap<>(30); + map.put("token", token); + map.put("userInfo", employee); + // 给这个的目的是让前端每次请求时校验是否过期token,如果还差一分钟就过期就应该马上更新token + map.put("timestamp", timestamp); + + return R.success(map); + } + + /** 退出接口*/ @GetMapping("/logout") public R logout(HttpSession session) { // 使session失效 diff --git a/src/main/java/com/example/workflow/controller/OkrRuleController.java b/src/main/java/com/example/workflow/controller/OkrRuleController.java index 87dc9a76e66529af06f6831193014614de2fe55d..85aa175c510c378301c0a248588d7301996251c0 100644 --- a/src/main/java/com/example/workflow/controller/OkrRuleController.java +++ b/src/main/java/com/example/workflow/controller/OkrRuleController.java @@ -76,7 +76,7 @@ public class OkrRuleController { * 当月okr项目查询(我发布的当月okr考核) */ @PostMapping("/list") - private R> list(@RequestBody JSONObject obj){ + public R> list(@RequestBody JSONObject obj) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(OkrView::getAssessorId,obj.getString("empId")) @@ -93,7 +93,7 @@ public class OkrRuleController { * 新增okr设置 */ @PostMapping("/add") - private R add(@RequestBody OkrForm form){ + public R add(@RequestBody OkrForm form) { OkrRule one=OkrRuleService.split(form); one.setCreateTime(LocalDateTime.now()); @@ -114,7 +114,7 @@ public class OkrRuleController { * 新增okr目标 */ @PostMapping("/getKey") - private R> getKeyList(@RequestBody JSONObject obj){ + public R> getKeyList(@RequestBody JSONObject obj) { List list=OkrKeyService.lambdaQuery().eq(OkrKey::getRuleId,obj.getString("ruleId")).list(); return R.success(list); @@ -123,7 +123,7 @@ public class OkrRuleController { * 修改okr项目 */ @PostMapping("/update") - private R update(@RequestBody OkrForm form){ + public R update(@RequestBody OkrForm form) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(OkrKey::getRuleId,form.getId()); OkrKeyService.remove(queryWrapper); @@ -148,7 +148,7 @@ public class OkrRuleController { * 删除okr项目 */ @PostMapping("/delete") - private R delete(@RequestBody JSONObject obj){ + public R delete(@RequestBody JSONObject obj) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(OkrKey::getRuleId,obj.getString("id")) .apply(StringUtils.checkValNotNull(beginTime), @@ -166,7 +166,7 @@ public class OkrRuleController { * 历史okr项目查询(我发布的历史okr考核) */ @PostMapping("/pastList") - private R> pastList(@RequestBody JSONObject obj){ + public R> pastList(@RequestBody JSONObject obj) { LocalDate today = LocalDate.now(); LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); @@ -183,7 +183,7 @@ public class OkrRuleController { * 获取员工okr */ @PostMapping("/getEmpPositionOkr") - private R> getEmpPositionOkr(@RequestBody JSONObject obj){ + public R> getEmpPositionOkr(@RequestBody JSONObject obj) { YearMonth lastMonth = YearMonth.now().minusMonths(1); LocalDateTime lastBeginTime = lastMonth.atDay(1).atStartOfDay(); LocalDateTime lastEndTime = lastMonth.atEndOfMonth().atTime(LocalTime.MAX); diff --git a/src/main/java/com/example/workflow/controller/PdfFilesController.java b/src/main/java/com/example/workflow/controller/PdfFilesController.java index 51d8bc04bd022f92cb0b1099385e6dff85905c97..4ee06a755cd21171a48ac86bd6f39784825709e2 100644 --- a/src/main/java/com/example/workflow/controller/PdfFilesController.java +++ b/src/main/java/com/example/workflow/controller/PdfFilesController.java @@ -7,12 +7,11 @@ import com.baomidou.mybatisplus.extension.toolkit.Db; import com.example.workflow.common.R; import com.example.workflow.model.bean.PageBean; import com.example.workflow.model.entity.PdfFile; -import com.example.workflow.repository.PdfFileRepository; import com.example.workflow.service.PdfFileService; +import com.example.workflow.utils.DateTimeUtils; import lombok.RequiredArgsConstructor; import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.pdmodel.PDDocumentInformation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; @@ -32,15 +31,11 @@ import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.URLEncoder; -import java.time.LocalDate; import java.time.LocalDateTime; -import java.time.LocalTime; import java.util.List; /** - *

- * 前端控制器 - *

+ * pdf控制器 * * @author 黄历 * @since 2024-03-14 @@ -49,28 +44,29 @@ import java.util.List; @RequiredArgsConstructor @RequestMapping("/pdf") public class PdfFilesController { - private final PdfFileRepository pdfFileRepository; - @Autowired - private PdfFileService PdfFileService; - LocalDate today = LocalDate.now(); - LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); - LocalDateTime endTime = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()), LocalTime.MAX); + private final PdfFileService pdfFileService; - /** - * 获取当月pdf文件 - */ - @PostMapping("/getNowList") - private R> getNowList(){ - List list= PdfFileService.lambdaQuery() + @GetMapping("/getNowList") + public R> getNowList() { + LocalDateTime[] time = DateTimeUtils.getTheStartAndEndTimeOfMonth(); + LocalDateTime beginTime = time[0]; + LocalDateTime endTime = time[1]; + List list = pdfFileService.lambdaQuery() + .apply(StringUtils.checkValNotNull(beginTime), + "date_format (update_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) + .apply(StringUtils.checkValNotNull(endTime), + "date_format (update_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) .list(); return R.success(list); } /** - * 导入依据pdf文件 + * 获取依据pdf文件 + * + * @return List */ @GetMapping("/list") public R getPdfFileList( @@ -79,28 +75,32 @@ public class PdfFilesController { @RequestParam(defaultValue = "1") Integer pageNum, @RequestParam(defaultValue = "10") Integer pageSize) { - Page page = new Page<>(pageNum,pageSize); + Page page = new Page<>(pageNum, pageSize); - Page pdfFiles = Db.lambdaQuery(PdfFile.class) - .select(PdfFile::getId,PdfFile::getFileName,PdfFile::getUploadTime,PdfFile::getUpdateTime) - .like(fileName != null,PdfFile::getFileName,fileName) - .like(id != null,PdfFile::getId,id) - .page(page); + Page pdfFiles = Db.lambdaQuery(PdfFile.class) + .select(PdfFile::getId, PdfFile::getFileName, PdfFile::getUploadTime, PdfFile::getUpdateTime) + .like(fileName != null, PdfFile::getFileName, fileName) + .like(id != null, PdfFile::getId, id) + .page(page); - PageBean pageBean = new PageBean(pdfFiles.getTotal(),pdfFiles.getRecords()); + PageBean pageBean = new PageBean(pdfFiles.getTotal(), pdfFiles.getRecords()); - return R.success(pageBean); + return R.success(pageBean); } /** * 删除依据pdf文件 + * + * @return R */ @DeleteMapping("/delete/{ids}") public R deletePdf(@PathVariable List ids) { - Boolean bool = Db.removeByIds(ids,PdfFile.class); + boolean bool = Db.removeByIds(ids, PdfFile.class); - if (bool) return R.success(); + if (bool) { + return R.success(); + } return R.error("删除文件失败"); } @@ -108,34 +108,29 @@ public class PdfFilesController { * 导入依据pdf文件 */ @PostMapping("/upload") - public ResponseEntity uploadFile(MultipartFile file) { + public ResponseEntity uploadFile(MultipartFile file) throws IOException { if (file.isEmpty()) { return new ResponseEntity<>("请上传文件", HttpStatus.BAD_REQUEST); } - try { - PdfFile pdfFile = new PdfFile(); - pdfFile.setFileName(file.getOriginalFilename()); - pdfFile.setFileContent(file.getBytes()); - pdfFile.setUploadTime(LocalDateTime.now()); - pdfFile.setId(String.valueOf(System.currentTimeMillis())); + PdfFile pdfFile = new PdfFile(); + pdfFile.setFileName(file.getOriginalFilename()); + pdfFile.setFileContent(file.getBytes()); + pdfFile.setUploadTime(LocalDateTime.now()); + pdfFile.setId(String.valueOf(System.currentTimeMillis())); - pdfFileRepository.save(pdfFile); + pdfFileService.save(pdfFile); + return new ResponseEntity<>("上传文件成功", HttpStatus.OK); - return new ResponseEntity<>("上传文件成功", HttpStatus.OK); - } catch (IOException e) { - e.printStackTrace(); - return new ResponseEntity<>("上传文件失败", HttpStatus.INTERNAL_SERVER_ERROR); - } } /** * 预览pdf文件 */ @GetMapping("/preview/{id}") - public void showPDF(@PathVariable Long id, HttpServletRequest request, HttpServletResponse response) { + public void showPDF(@PathVariable Long id, HttpServletRequest request, HttpServletResponse response) throws IOException { InputStream inputStream; - try { + //获取pdf文件 PdfFile pdfFile = Db.lambdaQuery(PdfFile.class).eq(id != null,PdfFile::getId,id).one(); @@ -157,39 +152,31 @@ public class PdfFilesController { document.save(out); //输出 document.close(); } - } catch (IOException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } } /** * 下载pdf文件 */ @GetMapping("/download/{id}") - public void downloadPDF(@PathVariable Long id, HttpServletRequest request, HttpServletResponse response) { - try { - //获取pdf文件 - PdfFile pdfFile = Db.lambdaQuery(PdfFile.class).eq(id != null,PdfFile::getId,id).one(); + public void downloadPDF(@PathVariable Long id, HttpServletResponse response) throws IOException { - //二进制文件内容 - byte[] content = pdfFile.getFileContent(); + // 获取pdf文件 + PdfFile pdfFile = Db.lambdaQuery(PdfFile.class).eq(id != null, PdfFile::getId, id).one(); - if (null != content && content.length > 0) { - String fileName = pdfFile.getFileName(); - // 设置响应内容类型为 PDF - response.setContentType(MediaType.APPLICATION_PDF_VALUE); - response.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode(fileName, "UTF-8")); - - // 将二进制数据写入 HttpServletResponse 的输出流 - try (OutputStream outputStream = response.getOutputStream()) { - outputStream.write(content); - outputStream.flush(); - } + // 二进制文件内容 + byte[] content = pdfFile.getFileContent(); + + if (null != content && content.length > 0) { + String fileName = pdfFile.getFileName(); + // 设置响应内容类型为 PDF + response.setContentType(MediaType.APPLICATION_PDF_VALUE); + response.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode(fileName, "UTF-8")); + + // 将二进制数据写入 HttpServletResponse 的输出流 + try (OutputStream outputStream = response.getOutputStream()) { + outputStream.write(content); + outputStream.flush(); } - } catch (IOException e) { - e.printStackTrace(); } } diff --git a/src/main/java/com/example/workflow/controller/PieceRuleController.java b/src/main/java/com/example/workflow/controller/PieceRuleController.java index 73785e35ecf7ff1f56e065ce1930ad8a5d1f2bde..69cf49b4e2b7301e09f45a5067e10bc9fbc33ab5 100644 --- a/src/main/java/com/example/workflow/controller/PieceRuleController.java +++ b/src/main/java/com/example/workflow/controller/PieceRuleController.java @@ -79,7 +79,7 @@ public class PieceRuleController { * 计件条目修改(计件条目设置) * */ @PostMapping("/update") - private R update(@RequestBody PieceRule one){ + public R update(@RequestBody PieceRule one) { if(one.getName()==null) return R.error("条目名称不得为空"); else if(one.getTarget1()==null) @@ -98,7 +98,7 @@ public class PieceRuleController { * 计件条目删除(计件条目设置) * */ @PostMapping("/delete") - private R delete(@RequestBody PieceRule one){ + public R delete(@RequestBody PieceRule one) { List list=PositionPieceService.lambdaQuery() .eq(PositionPiece::getPieceId,one.getId()) .apply(StringUtils.checkValNotNull(beginTime), @@ -117,7 +117,7 @@ public class PieceRuleController { * 新增计件条目(计件条目设置) * */ @PostMapping("/add") - private R add(@RequestBody PieceRule one){ + public R add(@RequestBody PieceRule one) { if(one.getName()==null) return R.error("条目名称不得为空"); else if(one.getTarget1()==null) @@ -148,7 +148,7 @@ public class PieceRuleController { * */ @PostMapping("/list") - private R> list(@RequestBody JSONObject obj){ + public R> list(@RequestBody JSONObject obj) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(PositionPieceView::getPositionId,obj.getString("positionId")) @@ -165,7 +165,7 @@ public class PieceRuleController { * 无条件获取所有计件项目(time) * */ @PostMapping("/getRuleList") - private R> getRulelist(){ + public R> getRulelist() { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(PieceRule::getState,1) .apply(StringUtils.checkValNotNull(beginTime), @@ -181,7 +181,7 @@ public class PieceRuleController { * 添加计件条目(岗位绩效管理-计件考核条目) * */ @PostMapping("/addAssessor") - private R addAssessor(@RequestBody PositionPiece form){ + public R addAssessor(@RequestBody PositionPiece form) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(PositionPiece::getPositionId,form.getPositionId()) .eq(PositionPiece::getPieceId,form.getPieceId()) @@ -203,7 +203,7 @@ public class PieceRuleController { * 获取该岗位的计件条目(岗位绩效管理-计件考核条目) */ @PostMapping("/getPositionPieceList") - private R> getPositionPieceList(@RequestBody JSONObject obj){ + public R> getPositionPieceList(@RequestBody JSONObject obj) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(PositionPieceView::getPositionId,obj.getString("positionId")) @@ -220,7 +220,7 @@ public class PieceRuleController { * 修改该岗位的计件条目(岗位绩效管理-计件考核条目) */ @PostMapping("/updateAssessor") - private R updateAssessor(@RequestBody PositionPiece form){ + public R updateAssessor(@RequestBody PositionPiece form) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(PositionPiece::getPositionId,form.getPositionId()) @@ -244,7 +244,7 @@ public class PieceRuleController { * 移除该岗位的计件条目(岗位绩效管理-计件考核条目) */ @PostMapping("/removeAssessor") - private R removeAssessor(@RequestBody PositionPieceView form){ + public R removeAssessor(@RequestBody PositionPieceView form) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(PositionPiece::getPositionId,form.getPositionId()) @@ -263,7 +263,7 @@ public class PieceRuleController { * 复制上月计件考核条目 */ @PostMapping("/copy") - private R copy(){ + public R copy() { List list= PieceRuleService.lambdaQuery() .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) diff --git a/src/main/java/com/example/workflow/controller/PositionAssessorController.java b/src/main/java/com/example/workflow/controller/PositionAssessorController.java index 347fae96055fda119bf4d6bcb29f18321a0c28d5..e733e62827d941e5d73d228ef22d3ecba48db7ce 100644 --- a/src/main/java/com/example/workflow/controller/PositionAssessorController.java +++ b/src/main/java/com/example/workflow/controller/PositionAssessorController.java @@ -47,46 +47,26 @@ public class PositionAssessorController { LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); LocalDateTime endTime = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()), LocalTime.MAX); - /** - * 新增 - */ + @PostMapping("/add") - private R add(@RequestBody PositionAssessor form){ + public R add(@RequestBody PositionAssessor form) { PositionAssessorService.save(form); return R.success(); } - /** - * 修改 - */ @PostMapping("/update") - private R update(@RequestBody PositionAssessor form){ + public R update(@RequestBody PositionAssessor form) { PositionAssessorService.updateById(form); return R.success(); } - /** - * 当月审核人员查询(审核人员和审核时限) - */ - @GetMapping("/page") - private R> list(@RequestParam("page") String page, @RequestParam("page_size") String pageSize){ - - - List list1 = PositionService.lambdaQuery() - .eq(Position::getState, 1) - .list(); - - List positionIds = new ArrayList<>(); - for (Position x : list1) { - positionIds.add(x.getId()); - } - + @GetMapping("/page") + public R> list(@RequestParam("page") String page, @RequestParam("page_size") String pageSize) { Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(PositionAssessorView::getState,1) - .in(PositionAssessorView::getPositionId,positionIds) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), @@ -96,11 +76,9 @@ public class PositionAssessorController { return R.success(list); } - /** - * 复制上月 - */ + @PostMapping("/copy") - private R copy(){ + public R copy() { List list=PositionAssessorViewService.lambdaQuery() .eq(PositionAssessorView::getState,1) .apply(StringUtils.checkValNotNull(beginTime), @@ -116,52 +94,30 @@ public class PositionAssessorController { return R.success(); } - /** - * 历史审核人员查询(审核人员和审核时限) - * */ + @GetMapping("/assessorPastPage") - public R assessorPastPage(@RequestParam("page") String page - , @RequestParam("page_size") String pageSize - ,@RequestParam(defaultValue = "") String time){ + public R assessorPastPage(@RequestParam("page") String page, @RequestParam("page_size") String pageSize){ + LocalDate today = LocalDate.now(); + LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); - //获取选择年月 - String choseMonth = time+"-01"; Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - queryWrapper.apply(StringUtils.checkValNotNull(choseMonth), - "date_format (create_time,'%Y-%m') >= date_format ({0},'%Y-%m')", choseMonth) - .apply(StringUtils.checkValNotNull(choseMonth), - "date_format (create_time,'%Y-%m') <= date_format ({0},'%Y-%m')", choseMonth); + queryWrapper.apply(StringUtils.checkValNotNull(beginTime), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime); PositionAssessorViewService.page(pageInfo,queryWrapper); return R.success(pageInfo); } - /** - * 当月审核人员搜索(审核人员和审核时限) - */ @GetMapping("/search") public R searchPage(@RequestParam("page") String page , @RequestParam("page_size") String pageSize ,@RequestParam(defaultValue = "") String position){ - - List list = PositionService.lambdaQuery() - .eq(Position::getState, 1) - .list(); - - List positionIds = new ArrayList<>(); - for (Position x : list) { - positionIds.add(x.getId()); - } - - - Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.orderByDesc(PositionAssessorView::getPosition) .like(PositionAssessorView::getPosition,position) .eq(PositionAssessorView::getState,1) - .in(PositionAssessorView::getPositionId,positionIds) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), @@ -170,42 +126,14 @@ public class PositionAssessorController { return R.success(pageInfo); } - /** - * 历史审核人员搜索(审核人员和审核时限) - */ - @GetMapping("/assessorPastSearch") - public R assessorPastSearch(@RequestParam("page") String page - , @RequestParam("page_size") String pageSize - ,@RequestParam(defaultValue = "") String position - ,@RequestParam(defaultValue = "") String time - ){ - Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); - LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - //获取选择年月 - String choseMonth = time+"-01"; - - queryWrapper.orderByDesc(PositionAssessorView::getPosition) - .like(PositionAssessorView::getPosition,position) - .eq(PositionAssessorView::getState,1) - .apply(StringUtils.checkValNotNull(choseMonth), - "date_format (create_time,'%Y-%m') >= date_format ({0},'%Y-%m')", choseMonth) - .apply(StringUtils.checkValNotNull(choseMonth), - "date_format (create_time,'%Y-%m') <= date_format ({0},'%Y-%m')", choseMonth); - PositionAssessorViewService.page(pageInfo,queryWrapper); - return R.success(pageInfo); - } - - /** - * 通过CEO搜索审核人 - */ @GetMapping("/ceo/{id}") - private R ceo(@PathVariable Integer id){ + public R ceo(@PathVariable Integer id) { ArrayList employeeVos = new ArrayList<>(); List positions = PositionService.lambdaQuery() .eq(Position::getState, 1) .eq(Position::getType,id) .list(); - positions.stream().filter(Objects::nonNull).filter(position -> position.getType() <= 5).forEach(position -> { + positions.stream().filter(Objects::nonNull).filter(position -> position.getType() < 5).forEach(position -> { Long positionId = position.getId(); List employeePositions = EmployeePositionService.lambdaQuery().eq(EmployeePosition::getPositionId, positionId).list(); employeePositions.stream().filter(Objects::nonNull).forEach(employeePosition -> { diff --git a/src/main/java/com/example/workflow/controller/PositionController.java b/src/main/java/com/example/workflow/controller/PositionController.java index e31949915288ffc3324850b63f845c755c9f372d..e391bdfa6b92133795e20b2bf7fbf69fdbf95f0b 100644 --- a/src/main/java/com/example/workflow/controller/PositionController.java +++ b/src/main/java/com/example/workflow/controller/PositionController.java @@ -10,7 +10,19 @@ import com.example.workflow.listener.PositionExcelReadListener; import com.example.workflow.mapper.EmployeePositionMapper; import com.example.workflow.mapper.PositionMapper; import com.example.workflow.mapper.TaskViewMapper; -import com.example.workflow.model.entity.*; +import com.example.workflow.model.entity.Dept; +import com.example.workflow.model.entity.EmpReward; +import com.example.workflow.model.entity.EmployeePosition; +import com.example.workflow.model.entity.OkrKey; +import com.example.workflow.model.entity.Position; +import com.example.workflow.model.entity.PositionAssessor; +import com.example.workflow.model.entity.PositionForm; +import com.example.workflow.model.entity.PositionKpi; +import com.example.workflow.model.entity.PositionPiece; +import com.example.workflow.model.entity.PositionScore; +import com.example.workflow.model.entity.PositionView; +import com.example.workflow.model.entity.ScoreAssessors; +import com.example.workflow.model.entity.TaskView; import com.example.workflow.model.feedback.ErrorExcelWrite; import com.example.workflow.model.feedback.PositionError; import com.example.workflow.model.pojo.PositionExcel; @@ -47,9 +59,6 @@ import java.util.List; import java.util.Map; import java.util.stream.Collectors; -/** - * 岗位管理 - */ @Slf4j @RestController @RequestMapping("/Position") @@ -75,7 +84,7 @@ public class PositionController { @Autowired private TaskViewMapper TaskViewMapper; @Autowired - private RuntimeService runtimeService; + public RuntimeService runtimeService; @Autowired private EmployeePositionMapper EmployeePositionMapper; @Autowired @@ -89,20 +98,17 @@ public class PositionController { LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); LocalDateTime endTime = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()), LocalTime.MAX); - /** - * 岗位集合 - */ + @PostMapping("/list") - private R> list(){ + public R> list() { List list= PositionMapper.selectList(null); + return R.success(list); } - /** - * 获取岗位信息 - */ + @PostMapping("/getOne") - private R getOne(@RequestBody JSONObject obj){ + public R getOne(@RequestBody JSONObject obj) { LambdaQueryWrapper queryWrapper1=new LambdaQueryWrapper<>(); queryWrapper1.eq(Position::getId,obj.getString("positionId")); @@ -111,25 +117,16 @@ public class PositionController { return R.success(one); } - /** - * 岗位查询 - */ @GetMapping("/page") public R page(@RequestParam("page") String page, @RequestParam("page_size") String pageSize){ Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - queryWrapper - .orderByDesc(PositionView::getState) - .orderByDesc(PositionView::getPosition) - .orderByDesc(PositionView::getDeptName); + queryWrapper.orderByDesc(PositionView::getPosition) + .eq(PositionView::getState,1); PositionViewService.page(pageInfo,queryWrapper); return R.success(pageInfo); } - - /** - * 岗位搜索 - */ @GetMapping("/search") public R searchPage(@RequestParam("page") String page , @RequestParam("page_size") String pageSize @@ -151,26 +148,24 @@ public class PositionController { case "考核完成": list.clear();list.add(3); break; } + + System.out.println("后auditStatus:"+auditStatus); + Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - queryWrapper - .orderByDesc(PositionView::getState) - .orderByDesc(PositionView::getPosition) + queryWrapper.orderByDesc(PositionView::getPosition) .like(PositionView::getPosition,position) .like(PositionView::getDeptName,dept) - .in(PositionView::getAuditStatus,list); + .in(PositionView::getAuditStatus,list) + .eq(PositionView::getState,1); PositionViewService.page(pageInfo,queryWrapper); return R.success(pageInfo); } - /** - * 新增岗位 - */ - @PostMapping("/add") - private R add(@RequestBody PositionForm form){ - //判断岗位是否已经任职 + @PostMapping("/add") + public R add(@RequestBody PositionForm form) { Position check=PositionService.lambdaQuery() .eq(Position::getPosition,form.getPosition()) .eq(Position::getDeptId,form.getDeptId()) @@ -182,6 +177,7 @@ public class PositionController { Position position=PositionService.splitForm(form); PositionMapper.insert(position); + PositionAssessor positionAssessor=new PositionAssessor(); positionAssessor.setPositionId(position.getId()); PositionAssessorService.save(positionAssessor); @@ -189,11 +185,9 @@ public class PositionController { return R.success(); } - /** - * 删除岗位 - */ + @PostMapping("/deleteOne") - private R deleteOne(@RequestBody Position form){ + public R deleteOne(@RequestBody Position form) { PositionMapper.deleteById(form); LambdaQueryWrapper queryWrapper1=new LambdaQueryWrapper<>(); @@ -273,11 +267,9 @@ public class PositionController { return R.success(); } - /** - * 获取岗位内员工信息 - */ + @PostMapping("/getInf") - private R>> getInf(@RequestBody JSONObject obj){ + public R>> getInf(@RequestBody JSONObject obj) { LambdaQueryWrapper queryWrapper1=new LambdaQueryWrapper<>(); queryWrapper1.eq(Position::getId,obj.getString("positionId")); @@ -298,11 +290,9 @@ public class PositionController { return R.success(resultMap); } - /** - * 修改岗位信息 - */ + @PostMapping("/update") - private R update(@RequestBody Position form){ + public R update(@RequestBody Position form) { if(form.getType()==2) form.setTypeName("二级CEO岗"); else if(form.getType()==3) @@ -325,11 +315,9 @@ public class PositionController { return R.success(); } - /** - * 获取员工岗位信息 - */ + @PostMapping("/getOnePosition") - private R> getOnePosition(@RequestBody JSONObject obj){ + public R> getOnePosition(@RequestBody JSONObject obj) { List employeePositions=EmployeePositionService .lambdaQuery() .eq(EmployeePosition::getEmpId,obj.getString("empId")) @@ -347,27 +335,21 @@ public class PositionController { return R.success(positionList); } - /** - * 修改岗位状态(是否启用) - */ + @PostMapping("/updateState") - private R updateState(){ + public R updateState() { List positionList=PositionService.lambdaQuery() .eq(Position::getState,1) .list(); positionList.forEach(x->{ x.setAuditStatus(Short.parseShort("0")); - EmployeePositionService.setStateToEmployeePosition(x); PositionService.updateById(x); }); return R.success(); } - /** - * 导入岗位 - */ @PostMapping("/upload") public void uploadExcel(MultipartFile file, HttpServletResponse response) throws IOException { EasyExcel.read(file.getInputStream(), PositionExcel.class, new PositionExcelReadListener()).sheet().doRead(); @@ -382,11 +364,8 @@ public class PositionController { ErrorExcelWrite.clearErrorCollection(); } - /** - * 获取岗位树 - */ @PostMapping("/getTree") - private R>>> getTree() { + public R>>> getTree() { List list=PositionService.lambdaQuery().list(); Map>> groupedByKind = list.stream() .collect(Collectors.groupingBy(Position::getKindName, @@ -396,7 +375,7 @@ public class PositionController { } @PostMapping("/getCheckTree") - private R>> getCheckTree() { + public R>> getCheckTree() { List list=DeptService.lambdaQuery().list(); List> tree=new ArrayList<>(); list.forEach(x->{ diff --git a/src/main/java/com/example/workflow/controller/PreviewController.java b/src/main/java/com/example/workflow/controller/PreviewController.java index ab32b918cf337893dcb715c250236a001e545b26..48f8f64045d892c7ea02eac963894def144d95a3 100644 --- a/src/main/java/com/example/workflow/controller/PreviewController.java +++ b/src/main/java/com/example/workflow/controller/PreviewController.java @@ -40,7 +40,7 @@ public class PreviewController { @Autowired private PositionKpiViewMapper PositionKpiViewMapper; @Autowired - private RegionCoefficientMapper RegionCoefficientMapper; + public RegionCoefficientMapper RegionCoefficientMapper; @Autowired private CoefficientViewService CoefficientViewService; @Autowired @@ -52,7 +52,7 @@ public class PreviewController { LocalDateTime endTime = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()).minusMonths(1), LocalTime.MAX); @PostMapping("/getScoreRulelist") - private R> getScoreRulelist(){ + public R> getScoreRulelist() { List list=ScoreRuleService.lambdaQuery() .eq(ScoreRule::getState,1) .apply(StringUtils.checkValNotNull(beginTime), @@ -65,7 +65,7 @@ public class PreviewController { } @PostMapping("/getPositionScoreList") - private R> getPositionScoreList(){ + public R> getPositionScoreList() { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(PositionScoreView::getScoreState,1) @@ -79,7 +79,7 @@ public class PreviewController { } @PostMapping("/getPieceRuleList") - private R> getPieceRuleList(){ + public R> getPieceRuleList() { List list=PieceRuleService.lambdaQuery() .eq(PieceRule::getState,1) .apply(StringUtils.checkValNotNull(beginTime), @@ -92,7 +92,7 @@ public class PreviewController { } @PostMapping("/getPositionPieceList") - private R> getPositionPieceList(){ + public R> getPositionPieceList() { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(PositionPieceView::getScoreState,1) @@ -106,7 +106,7 @@ public class PreviewController { } @PostMapping("/getKpiRuleList") - private R> getKpiRuleList(){ + public R> getKpiRuleList() { List list=KpiRulePercentService.lambdaQuery() .eq(KpiRulePercent::getState,1) @@ -122,7 +122,7 @@ public class PreviewController { } @PostMapping("/getPositionKpiList") - private R> getPositionKpiList(){ + public R> getPositionKpiList() { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(PositionKpiView::getKpiState,1) @@ -136,7 +136,7 @@ public class PreviewController { } @PostMapping("/getRegionCoefficientList") - private R> getRegionCoefficientList(){ + public R> getRegionCoefficientList() { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.orderByAsc(RegionCoefficient::getId) .eq(RegionCoefficient::getState,1) @@ -150,7 +150,7 @@ public class PreviewController { } @PostMapping("/getEmpCoefficientList") - private R> getEmpCoefficientList(){ + public R> getEmpCoefficientList() { List list=CoefficientViewService.lambdaQuery() .apply(StringUtils.checkValNotNull(beginTime), @@ -164,7 +164,7 @@ public class PreviewController { } @PostMapping("/getPositionAssessorView") - private R> getPositionAssessorView(){ + public R> getPositionAssessorView() { List list=PositionAssessorViewService.lambdaQuery() .eq(PositionAssessorView::getState,1) diff --git a/src/main/java/com/example/workflow/controller/ProgressController.java b/src/main/java/com/example/workflow/controller/ProgressController.java index c90bc7182f3c1ff352b6c789d231df783fd8b57f..512dd4e16818d8e93f973dee6c93b563cc7b8562 100644 --- a/src/main/java/com/example/workflow/controller/ProgressController.java +++ b/src/main/java/com/example/workflow/controller/ProgressController.java @@ -1,25 +1,21 @@ package com.example.workflow.controller; -import com.alibaba.excel.EasyExcel; -import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.toolkit.StringUtils; -import com.baomidou.mybatisplus.extension.toolkit.Db; import com.example.workflow.common.R; -import com.example.workflow.model.entity.*; -import com.example.workflow.model.pojo.EmpWageExcel; -import com.example.workflow.model.pojo.ProgressExcel; -import com.example.workflow.model.pojo.Test; -import com.example.workflow.model.vo.EmployeeVo; +import com.example.workflow.model.entity.EmpPositionView; +import com.example.workflow.model.entity.TaskView; import com.example.workflow.model.vo.HistoryTask; -import com.example.workflow.service.*; +import com.example.workflow.service.EmpPositionViewService; +import com.example.workflow.service.HistoryTaskService; +import com.example.workflow.service.TaskViewService; import lombok.extern.slf4j.Slf4j; -import org.apache.ibatis.annotations.One; -import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; @@ -28,11 +24,7 @@ import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.stream.Collectors; -/** - * 进度条 - */ @Slf4j @RestController @RequestMapping("/Progress") @@ -43,280 +35,66 @@ public class ProgressController { private TaskViewService TaskViewService; @Autowired private HistoryTaskService HistoryTaskService; - @Autowired - private BackWaitService BackWaitService; - @Autowired - private EmployeeService EmployeeService; - @Autowired - private DeptHierarchyService DeptHierarchyService; + LocalDate today = LocalDate.now(); LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); LocalDateTime endTime = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()), LocalTime.MAX); - /** - * 进度条查询 - */ @PostMapping("/now") - private R>> getProgress( - @RequestBody JSONObject obj - ){ - - //根据员工所属部门查看 查看本部门和下属部门情况 - List emp = EmpPositionViewService.lambdaQuery() - .eq(EmpPositionView::getState,1) - .eq(EmpPositionView::getEmpId,obj.getString("empId")) - .orderByAsc(EmpPositionView::getType) - //正在进行的 - .list(); - - List viewList = new ArrayList<>(); - - - if (!emp.isEmpty()){ - viewList.add(emp.get(0)); - } - - for (int i = 1; i < emp.size(); i++) { - if (emp.get(i).getType()==viewList.get(i-1).getType()) - viewList.add(emp.get(i)); - else - break; - } - - List deptIds = new ArrayList<>(); - - - - for (EmpPositionView data : viewList) { - deptIds.add(data.getDeptId()); - } - - Employee employee = Db.lambdaQuery(Employee.class) - .eq( Employee::getId,obj.getString("empId")) - .one(); - - Role role = Db.lambdaQuery(Role.class) - .eq( Role::getRoleName,"绩效专员") - .eq(Role::getId,employee.getRoleId()) - .one(); - - if (deptIds.isEmpty()&&"6".equals(obj.getString("empId"))) - deptIds.add(1L); - if (role!=null){ - deptIds.clear(); - deptIds.add(1L); - } - - - - for (int i = 1; i < 10; i++) { - List list = DeptHierarchyService.lambdaQuery() - .in(!deptIds.isEmpty(),DeptHierarchy::getParentId,deptIds) - .list(); - - for (DeptHierarchy data : list) { - deptIds.add(data.getChildId()); - } - deptIds = deptIds.stream().distinct().collect(Collectors.toList()); - } - - - + public R>> getProgress() { List empPositionViewList= EmpPositionViewService.lambdaQuery() .eq(EmpPositionView::getState,1) - //正在进行的 - .in(EmpPositionView::getAuditStatus,0,1,2,3) - .in(EmpPositionView::getDeptId,deptIds) + .eq(EmpPositionView::getAuditStatus,1) .list(); List> list=new ArrayList<>(); - empPositionViewList.forEach(x->{ - //判断是否有进程(终审后状态为3,暂停状态为2,考核中状态为1) obj.getBoolean("flag") 是否查看所有员工 - if (obj.getBoolean("flag")&&(x.getProcessDefinitionId() == null || "".equals(x.getProcessDefinitionId()))) { - - }else { - - //先查看是否有驳回记录 - List backWaitList = BackWaitService.lambdaQuery() - .eq(BackWait::getPositionId,x.getPositionId()) - .eq(BackWait::getEmpId,x.getEmpId()) - .list(); - - if (backWaitList.isEmpty()){ - list.add(match(x)); - }else { - list.add(match2(x)); - } - } - + list.add(match(x)); }); return R.success(list); } - /** - * 进度条搜索 - */ @GetMapping("/search") - private R>> searchProgress( + public R>> searchProgress( @RequestParam(defaultValue = "") String empName , @RequestParam(defaultValue = "") String dept - ,@RequestParam(defaultValue = "") String position - ,@RequestParam(defaultValue = "") String empId - ,@RequestParam(defaultValue = "") Boolean flag - ,@RequestParam(defaultValue = "") String auditStatus - ){ - - - List list2 = new ArrayList<>(); -// list2.add((short) 0); - list2.add((short) 1); - list2.add((short) 2); - list2.add((short) 3); - - switch(auditStatus){ - case "未考核": list2.clear();list2.add((short) 0);break; - case "考核中": list2.clear();list2.add((short) 1);break; - case "暂停": list2.clear();list2.add((short) 2);break; - case "考核完成": list2.clear();list2.add((short) 3);break; - } - - - List emp = EmpPositionViewService.lambdaQuery() - .eq(EmpPositionView::getState,1) - .eq(EmpPositionView::getEmpId,empId) - .orderByAsc(EmpPositionView::getType) - //正在进行的 - .list(); - - List viewList = new ArrayList<>(); - - - if (!emp.isEmpty()){ - viewList.add(emp.get(0)); - } - - for (int i = 1; i < emp.size(); i++) { - if (emp.get(i).getType()==viewList.get(i-1).getType()) - viewList.add(emp.get(i)); - else - break; - } - - List deptIds = new ArrayList<>(); - - - - for (EmpPositionView data : viewList) { - deptIds.add(data.getDeptId()); - - } - - - Employee employee = Db.lambdaQuery(Employee.class) - .eq( Employee::getId,empId) - .one(); - - Role role = Db.lambdaQuery(Role.class) - .eq( Role::getRoleName,"绩效专员") - .eq(Role::getId,employee.getRoleId()) - .one(); - - if (deptIds.isEmpty()&&"6".equals(empId)) - deptIds.add(1L); - if (role!=null){ - deptIds.clear(); - deptIds.add(1L); - } - - for (int i = 1; i < 10; i++) { - List list = DeptHierarchyService.lambdaQuery() - .in(!deptIds.isEmpty(),DeptHierarchy::getParentId,deptIds) - .list(); - - for (DeptHierarchy data : list) { - deptIds.add(data.getChildId()); - } - deptIds = deptIds.stream().distinct().collect(Collectors.toList()); - } + ,@RequestParam(defaultValue = "") String position){ List empPositionViewList= EmpPositionViewService.lambdaQuery() .like(EmpPositionView::getPosition,position) .like(EmpPositionView::getEmpName,empName) .like(EmpPositionView::getDeptName,dept) - .in(EmpPositionView::getDeptId,deptIds) .eq(EmpPositionView::getState,1) -// .in(EmpPositionView::getAuditStatus,1,3) - .in(EmpPositionView::getAuditStatus,list2) + .eq(EmpPositionView::getAuditStatus,1) .list(); List> list=new ArrayList<>(); - - empPositionViewList.forEach(x->{ - //判断是否有进程(终审后状态为3,暂停状态为2,考核中状态为1) flag 是否查看所有员工 - if (flag&&(x.getProcessDefinitionId() == null || "".equals(x.getProcessDefinitionId()))) { - - }else { - //先查看是否有驳回记录 - List backWaitList = BackWaitService.lambdaQuery() - .eq(BackWait::getPositionId,x.getPositionId()) - .eq(BackWait::getEmpId,x.getEmpId()) - .list(); - - if (backWaitList.isEmpty()){ - list.add(match(x)); - }else { - list.add(match2(x)); - } - } + list.add(match(x)); }); return R.success(list); } - /** - * 正常进度条 - */ public Map match(EmpPositionView x){ Map data = new HashMap<>(); - - //查看当前进程 List taskViewList= TaskViewService.lambdaQuery() .eq(TaskView::getProcInstId,x.getProcessDefinitionId()) .eq(TaskView::getStartUserId,x.getEmpId()) .eq(TaskView::getState,"ACTIVE") .list(); - if (taskViewList.isEmpty()) { - data.put("empName",x.getEmpName()); - data.put("deptName",x.getDeptName()); - data.put("position",x.getPosition()); - - data.put("auditStatus",x.getAuditStatus()); - - - return data; - } - - //申报和计件打回 boolean allContainDeclare = taskViewList.stream() .allMatch(taskView -> taskView.getName().contains("declare")); - //评分和okr 分数重评和okr重评 boolean allContainFourthEnter = taskViewList.stream() .allMatch(taskView -> taskView.getName().contains("score")||taskView.getName().contains("okr")); - //计件审核 和 kpi提成审核 以及 计件重审 和 kpi提成重审 boolean allContainFourth = taskViewList.stream() .allMatch(taskView -> taskView.getName().contains("piece")||taskView.getName().contains("kpi")); - //复审 和 复审重审 boolean allContainThird = taskViewList.stream() .allMatch(taskView -> taskView.getName().contains("third")); - //终审 和 终审重审 boolean allContainSecond = taskViewList.stream() .allMatch(taskView -> taskView.getName().contains("second")); - boolean allContainWageEmp = taskViewList.stream() - .allMatch(taskView -> taskView.getName().contains("wage_emp")); List historyTaskList= HistoryTaskService.lambdaQuery() .eq(HistoryTask::getProcInstId,x.getProcessDefinitionId()) @@ -326,7 +104,6 @@ public class ProgressController { "date_format (start_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), "date_format (start_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .orderByDesc(HistoryTask::getEmpName) .list(); String task1=""; @@ -334,47 +111,39 @@ public class ProgressController { String task3=""; String task4=""; String task5=""; - String task6=""; - for(HistoryTask y:historyTaskList){ if(y.getName().equals("declare")){ - task1=task1.concat("["+y.getAssessorName()+"-"+y.getEndTime()+"-完成任务]"+"\n"); + task1=task1.concat("["+y.getAssessorName()+"-"+y.getEndTime()+"-完成任务]"); } else if(y.getName().equals("score")||y.getName().equals("okr")){ - task2=task2.concat("["+y.getAssessorName()+"-"+y.getEndTime()+"-完成任务]"+"\n"); + task2=task2.concat("["+y.getAssessorName()+"-"+y.getEndTime()+"-完成任务]"); } else if(y.getName().equals("kpi")||y.getName().equals("piece")){ - task3=task3.concat("["+y.getAssessorName()+"-"+y.getEndTime()+"-完成任务]"+"\n"); + task3=task3.concat("["+y.getAssessorName()+"-"+y.getEndTime()+"-完成任务]"); } else if(y.getName().equals("third")){ - task4=task4.concat("["+y.getAssessorName()+"-"+y.getEndTime()+"-完成任务]"+"\n"); + task4=task4.concat("["+y.getAssessorName()+"-"+y.getEndTime()+"-完成任务]"); } else if(y.getName().equals("second")){ - task5=task5.concat("["+y.getAssessorName()+"-"+y.getEndTime()+"-完成任务]"+"\n"); - } - else if(y.getName().equals("wage_emp")){ - task5=task6.concat("["+y.getAssessorName()+"-"+y.getEndTime()+"-完成任务]"+"\n"); + task5=task5.concat("["+y.getAssessorName()+"-"+y.getEndTime()+"-完成任务]"); } } for(TaskView y:taskViewList){ if(y.getName().equals("declare")){ - task1=task1.concat("["+y.getAssessorName()+"-"+y.getCreateTime()+"-未完成]"+"\n"); + task1=task1.concat("["+y.getAssessorName()+"-"+y.getCreateTime()+"-未完成]"); } else if(y.getName().equals("score")||y.getName().equals("okr")){ - task2=task2.concat("["+y.getAssessorName()+"-"+y.getCreateTime()+"-未完成]"+"\n"); + task2=task2.concat("["+y.getAssessorName()+"-"+y.getCreateTime()+"-未完成]"); } else if(y.getName().equals("kpi")||y.getName().equals("piece")){ - task3=task3.concat("["+y.getAssessorName()+"-"+y.getCreateTime()+"-未完成]"+"\n"); + task3=task3.concat("["+y.getAssessorName()+"-"+y.getCreateTime()+"-未完成]"); } else if(y.getName().equals("third")){ - task4=task4.concat("["+y.getAssessorName()+"-"+y.getCreateTime()+"-未完成]"+"\n"); + task4=task4.concat("["+y.getAssessorName()+"-"+y.getCreateTime()+"-未完成]"); } else if(y.getName().equals("second")){ - task5=task5.concat("["+y.getAssessorName()+"-"+y.getCreateTime()+"-未完成]"+"\n"); - } - else if(y.getName().equals("wage_emp")){ - task6=task6.concat("["+y.getAssessorName()+"-"+y.getCreateTime()+"-未完成]"+"\n"); + task5=task5.concat("["+y.getAssessorName()+"-"+y.getCreateTime()+"-未完成]"); } } @@ -384,7 +153,6 @@ public class ProgressController { String finalTask3 = task3; String finalTask4 = task4; String finalTask5 = task5; - String finalTask6 = task6; List> items = Arrays.asList( new HashMap() {{ put("title", "绩效专员申报"); @@ -392,7 +160,7 @@ public class ProgressController { }}, new HashMap() {{ put("title", "评分/okr(没有则忽略)"); - put("description", finalTask2); + put("description", "\n"+finalTask2); }}, new HashMap() {{ put("title", "初审"); @@ -405,10 +173,6 @@ public class ProgressController { new HashMap() {{ put("title", "终审"); put("description", finalTask5); - }}, - new HashMap() {{ - put("title", "归档"); - put("description", finalTask6); }} ); data.put("items", items); @@ -422,16 +186,12 @@ public class ProgressController { data.put("orderStatus", 3); else if(allContainSecond) data.put("orderStatus", 4); - else if(allContainWageEmp) - data.put("orderStatus", 5); } else if(x.getType()==4){ String finalTask1 = task1; String finalTask2 = task2; String finalTask3 = task3; - String finalTask4 = task4; String finalTask5 = task5; - String finalTask6 = task6; List> items = Arrays.asList( new HashMap() {{ put("title", "绩效专员申报"); @@ -439,25 +199,16 @@ public class ProgressController { }}, new HashMap() {{ put("title", "评分/okr(没有则忽略)"); - put("description", finalTask2); + put("description", "\n"+finalTask2); }}, new HashMap() {{ put("title", "初审"); put("description", finalTask3); }}, - new HashMap() {{ - put("title", "复审"); - put("description", finalTask4); - }}, new HashMap() {{ put("title", "终审"); put("description", finalTask5); - }}, - new HashMap() {{ - put("title", "归档"); - put("description", finalTask6); }} - ); data.put("items", items); @@ -467,18 +218,13 @@ public class ProgressController { data.put("orderStatus", 1); else if(allContainFourth) data.put("orderStatus", 2); - else if(allContainThird) - data.put("orderStatus", 3); else if(allContainSecond) - data.put("orderStatus", 4); - else if(allContainWageEmp) - data.put("orderStatus", 5); + data.put("orderStatus", 3); } else if(x.getType()==3){ String finalTask1 = task1; String finalTask2 = task2; String finalTask5 = task5; - String finalTask6 = task6; List> items = Arrays.asList( new HashMap() {{ put("title", "绩效专员申报"); @@ -486,15 +232,11 @@ public class ProgressController { }}, new HashMap() {{ put("title", "评分/okr(没有则忽略)"); - put("description", finalTask2); + put("description", "\n"+finalTask2); }}, new HashMap() {{ put("title", "终审"); put("description", finalTask5); - }}, - new HashMap() {{ - put("title", "归档"); - put("description", finalTask6); }} ); data.put("items", items); @@ -505,429 +247,11 @@ public class ProgressController { data.put("orderStatus", 1); else if(allContainSecond) data.put("orderStatus", 2); - else if(allContainWageEmp) - data.put("orderStatus", 3); } data.put("empName",x.getEmpName()); data.put("deptName",x.getDeptName()); data.put("position",x.getPosition()); - data.put("auditStatus",x.getAuditStatus()); - return data; - } - - - /** - * 被驳回进度条 - */ - public Map match2(EmpPositionView x){ - Map data = new HashMap<>(); - - - //获取被驳回记录ProcessDefineId - List backWait = BackWaitService.lambdaQuery() - .eq(BackWait::getPositionId,x.getPositionId()) - .eq(BackWait::getEmpId,x.getEmpId()) - .list(); - - if (backWait.isEmpty()) { - data.put("empName",x.getEmpName()); - data.put("deptName",x.getDeptName()); - data.put("position",x.getPosition()); - data.put("auditStatus",x.getAuditStatus()); - return data; - } - - -// 遍历backwait进程 - List list = new ArrayList<>(); - for (BackWait wait : backWait) { - list.add(wait.getProcessDefineId()); - } - - - //获取驳回详细记录 - List taskViewList= TaskViewService.lambdaQuery() - .in(TaskView::getProcInstId,list) - .eq(TaskView::getStartUserId,x.getEmpId()) - .eq(TaskView::getState,"ACTIVE") - .list(); - - - //获取驳回记录进度 - - //申报和计件打回 - boolean allContainDeclare = taskViewList.stream() - .allMatch(taskView -> taskView.getName().contains("back_wageEmp_piece")||taskView.getName().contains("back_wageEmp_kpi")); - //评分和okr 分数重评和okr重评 - boolean allContainFourthEnter = taskViewList.stream() - .allMatch(taskView -> taskView.getName().contains("back_score")||taskView.getName().contains("back_okr")); - //计件审核 和 kpi提成审核 以及 计件重审 和 kpi提成重审 - boolean allContainFourth = taskViewList.stream() - .allMatch(taskView -> taskView.getName().contains("back_fourth_piece")||taskView.getName().contains("back_fourth_kpi")); - //复审 和 复审重审 - boolean allContainThird = taskViewList.stream() - .allMatch(taskView -> taskView.getName().contains("back_third_score")||taskView.getName().contains("back_third_okr")|| - taskView.getName().contains("back_third_kpi")||taskView.getName().contains("back_third_piece")); - //终审 和 终审重审 - boolean allContainSecond = taskViewList.stream() - .allMatch(taskView -> taskView.getName().contains("back_second_score")||taskView.getName().contains("back_second_okr")|| - taskView.getName().contains("back_second_kpi")||taskView.getName().contains("back_second_piece")); - boolean allContainWageEmp = taskViewList.stream() - .allMatch(taskView -> taskView.getName().contains("wage_emp")); - - //获取未被完成的驳回记录 - List historyTaskList1= HistoryTaskService.lambdaQuery() - .in(HistoryTask::getProcInstId,list) - .isNull(HistoryTask::getDeleteReason) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (start_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (start_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .list(); - - - //获取被完成的驳回记录 - List historyTaskList2= HistoryTaskService.lambdaQuery() - .eq(HistoryTask::getDeleteReason,"completed") - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (start_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (start_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .in(HistoryTask::getProcInstId,list) - .list(); - - - String task1=""; - String task2=""; - String task3=""; - String task4=""; - String task5=""; - - //建立节点 - - for(HistoryTask y:historyTaskList2){ - if(y.getName().equals("back_wageEmp_piece")||y.getName().equals("back_wageEmp_kpi")){ - task1=task1.concat("["+y.getAssessorName()+"-"+y.getEndTime()+"-完成任务]"+"\n"); - } - else if(y.getName().equals("back_score")||y.getName().equals("back_okr")){ - task2=task2.concat("["+y.getAssessorName()+"-"+y.getEndTime()+"-完成任务]"+"\n"); - } - else if(y.getName().equals("back_fourth_kpi")||y.getName().equals("back_fourth_piece")){ - task3=task3.concat("["+y.getAssessorName()+"-"+y.getEndTime()+"-完成任务]"+"\n"); - } - else if(y.getName().equals("back_third_score")||y.getName().equals("back_third_kpi")|| - y.getName().equals("back_third_okr")||y.getName().equals("back_third_piece")){ - task4=task4.concat("["+y.getAssessorName()+"-"+y.getEndTime()+"-完成任务]"+"\n"); - } - else if(y.getName().equals("back_second_score")||y.getName().equals("back_second_kpi")|| - y.getName().equals("back_second_okr")||y.getName().equals("back_second_piece")){ - task5=task5.concat("["+y.getAssessorName()+"-"+y.getEndTime()+"-完成任务]"+"\n"); - } - } - - for(HistoryTask y:historyTaskList1){ - if(y.getName().equals("back_wageEmp_piece")||y.getName().equals("back_wageEmp_kpi")){ - task1=task1.concat("["+y.getAssessorName()+"-"+y.getStartTime()+"-未完成]"+"\n"); - } - else if(y.getName().equals("back_score")||y.getName().equals("back_okr")){ - task2=task2.concat("["+y.getAssessorName()+"-"+y.getStartTime()+"-未完成]"+"\n"); - } - else if(y.getName().equals("back_fourth_kpi")||y.getName().equals("back_fourth_piece")){ - task3=task3.concat("["+y.getAssessorName()+"-"+y.getStartTime()+"-未完成]"+"\n"); - } - else if(y.getName().equals("back_third_score")||y.getName().equals("back_third_kpi")|| - y.getName().equals("back_third_okr")||y.getName().equals("back_third_piece")){ - task4=task4.concat("["+y.getAssessorName()+"-"+y.getStartTime()+"-未完成]"+"\n"); - } - else if(y.getName().equals("back_second_score")||y.getName().equals("back_second_kpi")|| - y.getName().equals("back_second_okr")||y.getName().equals("back_second_piece")){ - task5=task5.concat("["+y.getAssessorName()+"-"+y.getStartTime()+"-未完成]"+"\n"); - } - } - - - - - if(x.getType()==5){ - String finalTask1 = task1; - String finalTask2 = task2; - String finalTask3 = task3; - String finalTask4 = task4; - String finalTask5 = task5; - List> items = Arrays.asList( - new HashMap() {{ - put("title", "绩效专员重新导入数据"); - put("description", finalTask1); - }}, - new HashMap() {{ - put("title", "重评评分/重评okr(没有则忽略)"); - put("description", finalTask2); - }}, - new HashMap() {{ - put("title", "初审重审"); - put("description", finalTask3); - }}, - new HashMap() {{ - put("title", "复审重审"); - put("description", finalTask4); - }}, - new HashMap() {{ - put("title", "终审重审"); - put("description", finalTask5); - }} - ); - data.put("items", items); - if(allContainDeclare) - data.put("orderStatus", 0); - else if(allContainFourthEnter) - data.put("orderStatus", 1); - else if(allContainFourth) - data.put("orderStatus", 2); - else if(allContainThird) - data.put("orderStatus", 3); - else if(allContainSecond) - data.put("orderStatus", 4); - else if(allContainWageEmp) - data.put("orderStatus", 5); - } - else if(x.getType()==4){ - String finalTask1 = task1; - String finalTask2 = task2; - String finalTask3 = task3; - String finalTask4 = task4; - String finalTask5 = task5; - List> items = Arrays.asList( - new HashMap() {{ - put("title", "绩效专员重新导入数据"); - put("description", finalTask1); - }}, - new HashMap() {{ - put("title", "重评评分/重评okr(没有则忽略)"); - put("description", finalTask2); - }}, - new HashMap() {{ - put("title", "初审重审"); - put("description", finalTask3); - }}, - new HashMap() {{ - put("title", "复审重审"); - put("description", finalTask4); - }}, - new HashMap() {{ - put("title", "终审重审"); - put("description", finalTask5); - }} - - ); - data.put("items", items); - - if(allContainDeclare) - data.put("orderStatus", 0); - else if(allContainFourthEnter) - data.put("orderStatus", 1); - else if(allContainFourth) - data.put("orderStatus", 2); - else if(allContainThird) - data.put("orderStatus", 3); - else if(allContainSecond) - data.put("orderStatus", 4); - else if(allContainWageEmp) - data.put("orderStatus", 5); - } - else if(x.getType()==3){ - String finalTask1 = task1; - String finalTask2 = task2; - String finalTask5 = task5; - List> items = Arrays.asList( - new HashMap() {{ - put("title", "绩效专员重新导入数据"); - put("description", finalTask1); - }}, - new HashMap() {{ - put("title", "重评评分/重评okr(没有则忽略)"); - put("description", finalTask2); - }}, - new HashMap() {{ - put("title", "终审重审"); - put("description", finalTask5); - }} - ); - data.put("items", items); - if(allContainDeclare) - data.put("orderStatus", 0); - else if(allContainFourthEnter) - data.put("orderStatus", 1); - else if(allContainSecond) - data.put("orderStatus", 2); - else if(allContainWageEmp) - data.put("orderStatus", 3); - } - data.put("empName",x.getEmpName()); - data.put("deptName",x.getDeptName()); - data.put("position",x.getPosition()); - data.put("auditStatus",x.getAuditStatus()); return data; } - - - /** - * 导出未完成人员 - */ - @PostMapping("/downLoad") - private void downLoad(HttpServletResponse response) throws IOException { - - - //搜索正在执行任务 - List list = TaskViewService.lambdaQuery() - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .eq(TaskView::getState,"ACTIVE") - .orderByAsc(TaskView::getEmpName) - .orderByDesc(TaskView::getProcInstId) - .list(); - - - List result=new ArrayList<>(); - - - - list.forEach(x->{ - - - ProgressExcel one= new ProgressExcel(); - one.setEmpName(x.getEmpName()); - switch (x.getName()){ - case "declare": one.setName("申报");break; - case "score" : one.setName("评分");break; - case "okr": one.setName("评分");break; - case "kpi": one.setName("初审");break; - case "piece": one.setName("初审");break; - case "third": one.setName("复审");break; - case "second": one.setName("终审");break; - case "wage_emp": one.setName("归档");break; - case "back_wageEmp_piece": one.setName("绩效专员重新导入数据");break; - case "back_wageEmp_kpi": one.setName("绩效专员重新导入数据");break; - case "back_score": one.setName("重评");break; - case "back_okr": one.setName("重评");break; - case "back_fourth_kpi": one.setName("初审重审");break; - case "back_fourth_piece": one.setName("初审重审");break; - case "back_third_score": one.setName("复审重审");break; - case "back_second_score": one.setName("终审重审");break; - } - - EmpPositionView position = EmpPositionViewService.lambdaQuery() - .eq(EmpPositionView::getProcessDefinitionId,x.getProcInstId()) - .one(); - - if (position == null){ - - List backWait = BackWaitService.lambdaQuery() - .eq(BackWait::getProcessDefineId,x.getProcInstId()).list(); - - - List position1 = EmpPositionViewService.lambdaQuery() - .eq(EmpPositionView::getPositionId,backWait.get(0).getPositionId()) - .list(); - - one.setPosition(position1.get(0).getPosition()); - one.setDepName(position1.get(0).getDeptName()); - - }else{ - one.setPosition(position.getPosition()); - one.setDepName(position.getDeptName()); - } - - one.setAssessors(x.getAssessorName()); - result.add(one); - }); - - - response.setContentType("application/vnd.ms-excel;charset=utf-8"); - response.setCharacterEncoding("utf-8"); - response.setHeader("Content-Disposition", "attachment;filename=import.xlsx"); - - EasyExcel.write(response.getOutputStream(), ProgressExcel.class) - .sheet("员工考核进度") - .doWrite(result); - } - - /** - * 获取超时未审核人员名单 - * */ - @PostMapping("/test") - private void getPerson(HttpServletResponse response){ - - //获取人员名单 - List list = EmployeeService.list(); - - - List testList = new ArrayList<>(); - //按人查看未评分次数 - for (Employee employee : list) { - - - List list1 = HistoryTaskService.lambdaQuery() - .eq(HistoryTask::getAssessorId,employee.getId()) - .eq(HistoryTask::getDeleteReason,"deleted") - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (start_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (start_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .orderByDesc(HistoryTask::getAssessorId) - .list(); - - - if (list1.isEmpty()) - continue; - - - //次数统计 - int score = 0; - int okr = 0; - int piece = 0; - int kpi = 0; - int third = 0; - - for (HistoryTask data : list1) { - switch(data.getName()){ - case "score":score++;break; - case "okr":okr++;break; - case "piece":piece++;break; - case "kpi":kpi++;break; - case "third":third++;break; - } - } - - - com.example.workflow.model.pojo.Test test = new com.example.workflow.model.pojo.Test(); - test.setName(employee.getName()); - test.setScore(score); - test.setOkr(okr); - test.setKpi(kpi); - test.setPiece(piece); - test.setThird(third); - - testList.add(test); - - } - - try{ - response.setContentType("application/vnd.ms-excel;charset=utf-8"); - response.setCharacterEncoding("utf-8"); - response.setHeader("Content-Disposition", "attachment;filename=import.xlsx"); - - EasyExcel.write(response.getOutputStream(), Test.class) - .sheet("员工考核进度") - .doWrite(testList); - }catch (Exception e){ - - } - - - } - - } diff --git a/src/main/java/com/example/workflow/controller/RegionCoefficientController.java b/src/main/java/com/example/workflow/controller/RegionCoefficientController.java index 7d3c277debf276861472c725ca5ec3d16b28ba58..1fba71fa34ac9d5ae38c7c6cbeda2c336190df6a 100644 --- a/src/main/java/com/example/workflow/controller/RegionCoefficientController.java +++ b/src/main/java/com/example/workflow/controller/RegionCoefficientController.java @@ -43,9 +43,9 @@ import java.util.List; @RequestMapping("/RegionCoefficient") public class RegionCoefficientController { @Autowired - private RegionCoefficientMapper RegionCoefficientMapper; + public RegionCoefficientMapper RegionCoefficientMapper; @Autowired - private RegionCoefficientService RegionCoefficientService; + public RegionCoefficientService RegionCoefficientService; @Autowired private EmployeeCoefficientService EmployeeCoefficientService; @Autowired @@ -59,7 +59,7 @@ public class RegionCoefficientController { * */ @PostMapping("/list") - private R> list(){ + public R> list() { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.orderByAsc(RegionCoefficient::getId) .eq(RegionCoefficient::getState,1) @@ -92,7 +92,7 @@ public class RegionCoefficientController { * 员工绩效系数新增 */ @PostMapping("/add") - private R add(@RequestBody RegionCoefficient form){ + public R add(@RequestBody RegionCoefficient form) { if(form.getRegion()==null) return R.error("地区不得为空"); if(form.getCoefficient()==null) @@ -106,7 +106,7 @@ public class RegionCoefficientController { * */ @PostMapping("/match") - private R matchCoefficient(){ + public R matchCoefficient() { List list=RegionCoefficientMapper.selectList(null); String rules=RegionCoefficientService.defineRule(list); @@ -126,7 +126,7 @@ public class RegionCoefficientController { * 员工绩效系数删除 */ @PostMapping("/delete") - private R delete(@RequestBody RegionCoefficient one){ + public R delete(@RequestBody RegionCoefficient one) { RegionCoefficientMapper.deleteById(one); return R.success(); } @@ -134,7 +134,7 @@ public class RegionCoefficientController { * 员工绩效系数修改 */ @PostMapping("/update") - private R update(@RequestBody RegionCoefficient form){ + public R update(@RequestBody RegionCoefficient form) { if(form.getRegion()==null) return R.error("地区不得为空"); if(form.getCoefficient()==null) @@ -148,7 +148,7 @@ public class RegionCoefficientController { * 员工绩效系数复制上月 */ @PostMapping("/copy") - private R copy(){ + public R copy() { List list=RegionCoefficientService.lambdaQuery() .eq(RegionCoefficient::getState,1) .apply(StringUtils.checkValNotNull(beginTime), diff --git a/src/main/java/com/example/workflow/controller/ResultFourthExamineController.java b/src/main/java/com/example/workflow/controller/ResultFourthExamineController.java index 414cc83baf61ccc6db9f3df7fd507ff490d3ce55..3c98ab04855b4ec7a44732fb41b47652ea4bdf96 100644 --- a/src/main/java/com/example/workflow/controller/ResultFourthExamineController.java +++ b/src/main/java/com/example/workflow/controller/ResultFourthExamineController.java @@ -15,7 +15,13 @@ import com.example.workflow.model.entity.ResultFourthExamine; import com.example.workflow.model.entity.Role; import com.example.workflow.model.entity.TaskState; import com.example.workflow.model.entity.TaskView; -import com.example.workflow.service.*; +import com.example.workflow.service.BackWaitService; +import com.example.workflow.service.EmpPositionViewService; +import com.example.workflow.service.EmployeePositionService; +import com.example.workflow.service.EmployeeService; +import com.example.workflow.service.PositionAssessorService; +import com.example.workflow.service.ResultFourthExamineService; +import com.example.workflow.service.RoleService; import lombok.extern.slf4j.Slf4j; import org.camunda.bpm.engine.IdentityService; import org.camunda.bpm.engine.RuntimeService; @@ -34,15 +40,13 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; -/** - * 四级CEO - */ + @Slf4j @RestController @RequestMapping("/ResultFourthExamine") public class ResultFourthExamineController { @Autowired - private ResultFourthExamineService ResultFourthExamineService; + public ResultFourthExamineService ResultFourthExamineService; @Autowired private PositionAssessorService PositionAssessorService; @Autowired @@ -54,27 +58,22 @@ public class ResultFourthExamineController { @Autowired private IdentityService identityService; @Autowired - private RuntimeService runtimeService; + public RuntimeService runtimeService; @Autowired - private RoleService RoleService; + public RoleService RoleService; @Autowired private EmployeeService EmployeeService; @Autowired private BackWaitService BackWaitService; @Autowired private EmpPositionViewService EmpPositionViewService; - @Autowired - private com.example.workflow.service.TaskViewService TaskViewService; LocalDate today = LocalDate.now(); LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); LocalDateTime endTime = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()), LocalTime.MAX); - /** - * 完成审批列表 - */ @PostMapping("/completeList") - private R> completeList(@RequestBody JSONObject obj){ + public R> completeList(@RequestBody JSONObject obj) { List resultFourthExamineList=ResultFourthExamineService.lambdaQuery() .eq(ResultFourthExamine::getAssessorId, obj.getString("assessorId")) .apply(StringUtils.checkValNotNull(beginTime), @@ -97,7 +96,7 @@ public class ResultFourthExamineController { } @PostMapping("/getFinishState") - private R getFinishState(@RequestBody JSONObject obj){ + public R getFinishState(@RequestBody JSONObject obj) { TaskState state=new TaskState(); state.setKpiState(0); state.setPieceState(0); @@ -122,41 +121,9 @@ public class ResultFourthExamineController { return R.success(state); } - /** - * 计件初审通过 - */ - @PostMapping("/addPiece") - private R add(@RequestBody JSONObject form) { - - //可修改 - //获取员工所在岗位信息 - LambdaQueryWrapper wrapper1 =new LambdaQueryWrapper<>(); - wrapper1.eq(EmployeePosition::getEmpId,form.getString("empId")) - .eq(EmployeePosition::getPositionId,form.getString("positionId")); - EmployeePosition employeePosition1 = EmployeePositionService.getOne(wrapper1); - //获取员工进程 - LambdaQueryWrapper queryWrapper1 =new LambdaQueryWrapper<>(); - queryWrapper1.eq(TaskView::getStartUserId,form.getString("empId")) - .eq(TaskView::getProcInstId,employeePosition1.getProcessDefinitionId()) - .eq(TaskView::getName,"piece") - .eq(TaskView::getAssignee,form.getString("assessorId")) - .eq(TaskView::getState,"ACTIVE") - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')",endTime); - List task1 = TaskViewMapper.selectList(queryWrapper1); - try{ - if (task1.get(0) != null){ - - }else { - return R.error("已初审,请勿重复初审"); - } - }catch (IndexOutOfBoundsException indexOutOfBoundsException){ - - return R.error("已初审,请勿重复初审"); - } + @PostMapping("/addPiece") + public R add(@RequestBody JSONObject form) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(ResultFourthExamine::getPositionId, form.getString("positionId")) .eq(ResultFourthExamine::getEmpId, form.getString("empId")) @@ -190,43 +157,10 @@ public class ResultFourthExamineController { return R.success(); } - /** - * kpi初审通过 - */ - - @PostMapping("/addKpi") - private R addKpi(@RequestBody JSONObject form) { - - //可修改 - //获取员工所在岗位信息 - LambdaQueryWrapper wrapper1 =new LambdaQueryWrapper<>(); - wrapper1.eq(EmployeePosition::getEmpId,form.getString("empId")) - .eq(EmployeePosition::getPositionId,form.getString("positionId")); - EmployeePosition employeePosition1 = EmployeePositionService.getOne(wrapper1); - //获取员工进程 - LambdaQueryWrapper queryWrapper1 =new LambdaQueryWrapper<>(); - queryWrapper1.eq(TaskView::getStartUserId,form.getString("empId")) - .eq(TaskView::getProcInstId,employeePosition1.getProcessDefinitionId()) - .eq(TaskView::getName,"kpi") - .eq(TaskView::getAssignee,form.getString("assessorId")) - .eq(TaskView::getState,"ACTIVE") - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')",endTime); - List task1 = TaskViewMapper.selectList(queryWrapper1); - try{ - if (task1.get(0) != null){ - - }else { - return R.error("已初审,请勿重复初审"); - } - }catch (IndexOutOfBoundsException indexOutOfBoundsException){ - - return R.error("已初审,请勿重复初审"); - } + @PostMapping("/addKpi") + public R addKpi(@RequestBody JSONObject form) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(ResultFourthExamine::getPositionId, form.getString("positionId")) .eq(ResultFourthExamine::getEmpId, form.getString("empId")) @@ -262,42 +196,9 @@ public class ResultFourthExamineController { return R.success(); } - /** - * 计件初审驳回 - */ - @PostMapping("/rejectPiece") - private R rejectPiece(@RequestBody JSONObject form){ - -//可修改 - //获取员工所在岗位信息 - LambdaQueryWrapper wrapper1 =new LambdaQueryWrapper<>(); - wrapper1.eq(EmployeePosition::getEmpId,form.getString("empId")) - .eq(EmployeePosition::getPositionId,form.getString("positionId")); - EmployeePosition employeePosition1 = EmployeePositionService.getOne(wrapper1); - //获取员工进程 - LambdaQueryWrapper queryWrapper1 =new LambdaQueryWrapper<>(); - queryWrapper1.eq(TaskView::getStartUserId,form.getString("empId")) - .eq(TaskView::getProcInstId,employeePosition1.getProcessDefinitionId()) - .eq(TaskView::getName,"piece") - .eq(TaskView::getAssignee,form.getString("assessorId")) - .eq(TaskView::getState,"ACTIVE") - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')",endTime); - List task1 = TaskViewMapper.selectList(queryWrapper1); - try{ - if (task1.get(0) != null){ - - }else { - return R.error("已初审,请勿重复初审"); - } - }catch (IndexOutOfBoundsException indexOutOfBoundsException){ - - return R.error("已初审,请勿重复初审"); - } - + @PostMapping("/rejectPiece") + public R rejectPiece(@RequestBody JSONObject form) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(ResultFourthExamine::getPositionId, form.getString("positionId")) .eq(ResultFourthExamine::getEmpId, form.getString("empId")) @@ -337,7 +238,7 @@ public class ResultFourthExamineController { BackWait backWait=new BackWait(); backWait.setProcessDefineId(processInstance.getId()); - backWait.setType("back_fourth_piece"); + backWait.setType("fourth_piece_back"); backWait.setEmpId(Long.valueOf(form.getString("empId"))); backWait.setPositionId(Long.valueOf(form.getString("positionId"))); backWait.setProcessKey("Process_049b9ah"); @@ -365,42 +266,9 @@ public class ResultFourthExamineController { return R.success(); } - /** - * kpi初审驳回 - */ - @PostMapping("/rejectKpi") - private R rejectKpi(@RequestBody JSONObject form){ - -//可修改 - //获取员工所在岗位信息 - LambdaQueryWrapper wrapper1 =new LambdaQueryWrapper<>(); - wrapper1.eq(EmployeePosition::getEmpId,form.getString("empId")) - .eq(EmployeePosition::getPositionId,form.getString("positionId")); - EmployeePosition employeePosition1 = EmployeePositionService.getOne(wrapper1); - //获取员工进程 - LambdaQueryWrapper queryWrapper1 =new LambdaQueryWrapper<>(); - queryWrapper1.eq(TaskView::getStartUserId,form.getString("empId")) - .eq(TaskView::getProcInstId,employeePosition1.getProcessDefinitionId()) - .eq(TaskView::getName,"kpi") - .eq(TaskView::getAssignee,form.getString("assessorId")) - .eq(TaskView::getState,"ACTIVE") - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')",endTime); - List task1 = TaskViewMapper.selectList(queryWrapper1); - try{ - if (task1.get(0) != null){ - - }else { - return R.error("已初审,请勿重复初审"); - } - }catch (IndexOutOfBoundsException indexOutOfBoundsException){ - - return R.error("已初审,请勿重复初审"); - } - + @PostMapping("/rejectKpi") + public R rejectKpi(@RequestBody JSONObject form) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(ResultFourthExamine::getPositionId, form.getString("positionId")) .eq(ResultFourthExamine::getEmpId, form.getString("empId")) @@ -440,7 +308,7 @@ public class ResultFourthExamineController { BackWait backWait=new BackWait(); backWait.setProcessDefineId(processInstance.getId()); - backWait.setType("back_fourth_kpi"); + backWait.setType("fourth_kpi_back"); backWait.setEmpId(Long.valueOf(form.getString("empId"))); backWait.setPositionId(Long.valueOf(form.getString("positionId"))); backWait.setProcessKey("Process_1fqcjpm"); @@ -468,35 +336,9 @@ public class ResultFourthExamineController { return R.success(); } - /** - * 计件初审重审 - */ - @PostMapping("/reAddPiece") - private R reAddPiece(@RequestBody JSONObject form) { - - //可修改form.getString("empId") - //在back_wait获取员工所在岗位打回进程 - LambdaQueryWrapper wrapper11 =new LambdaQueryWrapper<>(); - wrapper11.eq(BackWait::getEmpId,form.getString("empId")) - .eq(BackWait::getPositionId,form.getString("positionId")) - .and(qw -> qw.eq(BackWait::getType,"back_fourth_piece") - .or().eq(BackWait::getType,"back_third_piece") - .or().eq(BackWait::getType,"back_second_piece")); - - BackWait backWait1 = BackWaitService.getOne(wrapper11); - - TaskView taskView=TaskViewService.lambdaQuery() - .eq(TaskView::getAssignee,form.getString("assessorId")) - .eq(TaskView::getName,"back_fourth_piece") - .eq(TaskView::getStartUserId,form.getString("empId")) - .eq(TaskView::getProcInstId,backWait1.getProcessDefineId()) - .one(); - - if (taskView == null){ - return R.error("已初审复审,请勿重复初审复审"); - } - + @PostMapping("/reAddPiece") + public R reAddPiece(@RequestBody JSONObject form) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(ResultFourthExamine::getPositionId, form.getString("positionId")) .eq(ResultFourthExamine::getEmpId, form.getString("empId")) @@ -511,7 +353,7 @@ public class ResultFourthExamineController { LambdaQueryWrapper queryWrapper1=new LambdaQueryWrapper<>(); queryWrapper1.eq(BackWait::getPositionId,form.getString("positionId")) .eq(BackWait::getEmpId,form.getString("empId")) - .eq(BackWait::getType,"back_fourth_piece"); + .eq(BackWait::getType,"fourth_piece_back"); BackWait backWait=BackWaitService.getOne(queryWrapper1); if(backWait!=null){ @@ -536,7 +378,7 @@ public class ResultFourthExamineController { LambdaQueryWrapper queryWrapper2=new LambdaQueryWrapper<>(); queryWrapper2.eq(BackWait::getPositionId,form.getString("positionId")) .eq(BackWait::getEmpId,form.getString("empId")) - .and(qw -> qw.eq(BackWait::getType,"back_third_piece") + .and(qw -> qw.eq(BackWait::getType,"third_piece_back") .or().eq(BackWait::getType,"back_second_piece")); BackWait backThirdWait=BackWaitService.getOne(queryWrapper2); @@ -568,34 +410,10 @@ public class ResultFourthExamineController { return R.success(); } - /** - * kpi初审重审 - */ - @PostMapping("/reAddKpi") - private R reAddKpi(@RequestBody JSONObject form) { - //可修改form.getString("empId") - //在back_wait获取员工所在岗位打回进程 - LambdaQueryWrapper wrapper11 =new LambdaQueryWrapper<>(); - wrapper11.eq(BackWait::getEmpId,form.getString("empId")) - .eq(BackWait::getPositionId,form.getString("positionId")) - .and(qw -> qw.eq(BackWait::getType,"back_fourth_kpi") - .or().eq(BackWait::getType,"back_third_kpi") - .or().eq(BackWait::getType,"back_second_kpi")); - - BackWait backWait1 = BackWaitService.getOne(wrapper11); - - TaskView taskView=TaskViewService.lambdaQuery() - .eq(TaskView::getAssignee,form.getString("assessorId")) - .eq(TaskView::getName,"back_fourth_kpi") - .eq(TaskView::getStartUserId,form.getString("empId")) - .eq(TaskView::getProcInstId,backWait1.getProcessDefineId()) - .one(); - - if (taskView == null){ - return R.error("已初审复审,请勿重复初审复审"); - } + @PostMapping("/reAddKpi") + public R reAddKpi(@RequestBody JSONObject form) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(ResultFourthExamine::getPositionId, form.getString("positionId")) .eq(ResultFourthExamine::getEmpId, form.getString("empId")) @@ -610,7 +428,7 @@ public class ResultFourthExamineController { LambdaQueryWrapper queryWrapper1=new LambdaQueryWrapper<>(); queryWrapper1.eq(BackWait::getPositionId,form.getString("positionId")) .eq(BackWait::getEmpId,form.getString("empId")) - .eq(BackWait::getType,"back_fourth_kpi"); + .eq(BackWait::getType,"fourth_kpi_back"); BackWait backWait=BackWaitService.getOne(queryWrapper1); if(backWait!=null){ @@ -635,7 +453,7 @@ public class ResultFourthExamineController { LambdaQueryWrapper queryWrapper2=new LambdaQueryWrapper<>(); queryWrapper2.eq(BackWait::getPositionId,form.getString("positionId")) .eq(BackWait::getEmpId,form.getString("empId")) - .and(qw -> qw.eq(BackWait::getType,"back_third_kpi") + .and(qw -> qw.eq(BackWait::getType,"third_kpi_back") .or().eq(BackWait::getType,"back_second_kpi")); BackWait backThirdWait=BackWaitService.getOne(queryWrapper2); diff --git a/src/main/java/com/example/workflow/controller/ResultKpiController.java b/src/main/java/com/example/workflow/controller/ResultKpiController.java index 48dbd31b206b2914641ae726cf4712632811a9f8..7a0eb41eff982d4245b3238220a58c7a8feb8050 100644 --- a/src/main/java/com/example/workflow/controller/ResultKpiController.java +++ b/src/main/java/com/example/workflow/controller/ResultKpiController.java @@ -45,23 +45,23 @@ public class ResultKpiController { @Autowired private EmpKpiViewMapper EmpKpiViewMapper; @Autowired - private ResultKpiService ResultKpiService; + public ResultKpiService ResultKpiService; @Autowired private TaskViewMapper TaskViewMapper; @Autowired private TaskService taskService; @Autowired - private ResultKpiEmpViewMapper ResultKpiEmpViewMapper; + public ResultKpiEmpViewMapper ResultKpiEmpViewMapper; @Autowired private PositionAssessorService PositionAssessorService; @Autowired private com.example.workflow.service.EmployeePositionService EmployeePositionService; @Autowired - private RuntimeService runtimeService; + public RuntimeService runtimeService; @Autowired private IdentityService identityService; @Autowired - private RoleMapper RoleMapper; + public RoleMapper RoleMapper; @Autowired private BackWaitService BackWaitService; @Autowired @@ -73,7 +73,7 @@ public class ResultKpiController { @PostMapping("/list") - private R> list(@RequestBody JSONObject obj){ + public R> list(@RequestBody JSONObject obj) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(EmpKpiView::getEmpId,obj.getString("empId")) @@ -90,7 +90,7 @@ public class ResultKpiController { @PostMapping("/add") - private R add(@RequestBody JSONObject form){ + public R add(@RequestBody JSONObject form) { JSONArray formArray = form.getJSONArray("Form"); List list = new ArrayList<>(); @@ -147,7 +147,7 @@ public class ResultKpiController { } @PostMapping("/BackKpiList") - private R> BackList(@RequestBody JSONObject obj){ + public R> BackList(@RequestBody JSONObject obj) { LocalDate today = LocalDate.now(); LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); @@ -168,7 +168,7 @@ public class ResultKpiController { } @PostMapping("/BackAdd") - private R BackAdd(@RequestBody JSONObject form){ + public R BackAdd(@RequestBody JSONObject form) { /*JSONArray formArray = form.getJSONArray("Form"); List list = new ArrayList<>(); @@ -230,7 +230,7 @@ public class ResultKpiController { } @PostMapping("/updateBackAdd") - private R updateBackAdd(@RequestBody JSONObject form){ + public R updateBackAdd(@RequestBody JSONObject form) { JSONArray formArray = form.getJSONArray("Form"); List list = new ArrayList<>(); diff --git a/src/main/java/com/example/workflow/controller/ResultOkrController.java b/src/main/java/com/example/workflow/controller/ResultOkrController.java index 0eb34df621c2bc57874fcf6fecd727c56ac93a5b..744778b5740358f02de6577387a09c2de899b1e1 100644 --- a/src/main/java/com/example/workflow/controller/ResultOkrController.java +++ b/src/main/java/com/example/workflow/controller/ResultOkrController.java @@ -29,10 +29,10 @@ public class ResultOkrController { @Autowired private EmpOkrViewMapper EmpOkrViewMapper; @Autowired - private ResultOkrService ResultOkrService; + public ResultOkrService ResultOkrService; @PostMapping("/list") - private R> list(@RequestBody JSONObject obj){ + public R> list(@RequestBody JSONObject obj) { LocalDate today = LocalDate.now(); LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); LocalDateTime endTime = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()), LocalTime.MAX); @@ -54,7 +54,7 @@ public class ResultOkrController { } @PostMapping("/add") - private R add(@RequestBody JSONObject form){ + public R add(@RequestBody JSONObject form) { JSONArray formArray = form.getJSONArray("Form"); List list = new ArrayList<>(); diff --git a/src/main/java/com/example/workflow/controller/ResultPieceController.java b/src/main/java/com/example/workflow/controller/ResultPieceController.java index 5397af83dee2ff7e68b23c7cab8abcef62587c4f..a5c8258fa732869bf1231c7e7b582f82de349d7e 100644 --- a/src/main/java/com/example/workflow/controller/ResultPieceController.java +++ b/src/main/java/com/example/workflow/controller/ResultPieceController.java @@ -46,23 +46,23 @@ public class ResultPieceController { @Autowired private EmpPieceViewMapper EmpPieceViewMapper; @Autowired - private ResultPieceService ResultPieceService; + public ResultPieceService ResultPieceService; @Autowired private TaskViewMapper TaskViewMapper; @Autowired private TaskService taskService; @Autowired - private ResultPieceEmpViewMapper ResultPieceEmpViewMapper; + public ResultPieceEmpViewMapper ResultPieceEmpViewMapper; @Autowired private PositionAssessorService PositionAssessorService; @Autowired private EmployeePositionService EmployeePositionService; @Autowired - private RuntimeService runtimeService; + public RuntimeService runtimeService; @Autowired private IdentityService identityService; @Autowired - private RoleMapper RoleMapper; + public RoleMapper RoleMapper; @Autowired private BackWaitService BackWaitService; @Autowired @@ -74,7 +74,7 @@ public class ResultPieceController { @PostMapping("/list") - private R> list(@RequestBody JSONObject obj){ + public R> list(@RequestBody JSONObject obj) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(EmpPieceView::getEmpId,obj.getString("empId")) @@ -92,7 +92,7 @@ public class ResultPieceController { @PostMapping("/add") - private R add(@RequestBody JSONObject form){ + public R add(@RequestBody JSONObject form) { JSONArray formArray = form.getJSONArray("Form"); List list = new ArrayList<>(); @@ -149,7 +149,7 @@ public class ResultPieceController { } @PostMapping("/BackPieceList") - private R> BackList(@RequestBody JSONObject obj){ + public R> BackList(@RequestBody JSONObject obj) { LocalDate today = LocalDate.now(); LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); LocalDateTime endTime = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()), LocalTime.MAX); @@ -170,7 +170,7 @@ public class ResultPieceController { } @PostMapping("/BackAdd") - private R BackAdd(@RequestBody JSONObject form){ + public R BackAdd(@RequestBody JSONObject form) { /*JSONArray formArray = form.getJSONArray("Form"); List list = new ArrayList<>(); @@ -232,7 +232,7 @@ public class ResultPieceController { } @PostMapping("/updateBackAdd") - private R updateBackAdd(@RequestBody JSONObject form){ + public R updateBackAdd(@RequestBody JSONObject form) { JSONArray formArray = form.getJSONArray("Form"); List list = new ArrayList<>(); diff --git a/src/main/java/com/example/workflow/controller/ResultScoreController.java b/src/main/java/com/example/workflow/controller/ResultScoreController.java index d2e4e05fa0a7379924c3d153894b323b21050655..5b966e6c2a54d9b1d19dfa33e51bf964131b831c 100644 --- a/src/main/java/com/example/workflow/controller/ResultScoreController.java +++ b/src/main/java/com/example/workflow/controller/ResultScoreController.java @@ -15,7 +15,12 @@ import com.example.workflow.model.entity.PositionAssessor; import com.example.workflow.model.entity.ResultScore; import com.example.workflow.model.entity.ResultScoreEmpView; import com.example.workflow.model.entity.TaskView; -import com.example.workflow.service.*; +import com.example.workflow.service.BackWaitService; +import com.example.workflow.service.EmployeePositionService; +import com.example.workflow.service.PositionAssessorService; +import com.example.workflow.service.PositionScoreService; +import com.example.workflow.service.ResultScoreService; +import com.example.workflow.service.ScoreAssessorsService; import lombok.extern.slf4j.Slf4j; import org.camunda.bpm.engine.IdentityService; import org.camunda.bpm.engine.RuntimeService; @@ -37,17 +42,17 @@ import java.util.Map; @Slf4j @RestController @RequestMapping("/ResultScore") -public class ResultScoreController { +public class ResultScoreController { @Autowired private EmpScoreContentViewMapper EmpScoreContentViewMapper; @Autowired - private ResultScoreService ResultScoreService; + public ResultScoreService ResultScoreService; @Autowired private TaskViewMapper TaskViewMapper; @Autowired - private ResultScoreEmpViewMapper ResultScoreEmpViewMapper; + public ResultScoreEmpViewMapper ResultScoreEmpViewMapper; @Autowired - private RuntimeService runtimeService; + public RuntimeService runtimeService; @Autowired private IdentityService identityService; @Autowired @@ -62,18 +67,14 @@ public class ResultScoreController { private TaskService taskService; @Autowired private PositionAssessorService PositionAssessorService; - @Autowired - private com.example.workflow.service.TaskViewService TaskViewService; + @PostMapping("/list") - private R> list(@RequestBody JSONObject obj){ + public R> list(@RequestBody JSONObject obj) { + LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(EmpScoreView::getEmpId,obj.getString("empId")) - .eq(EmpScoreView::getPositionId,obj.get("positionId")) - .orderByDesc(EmpScoreView::getPosition) - .orderByDesc(EmpScoreView::getEmpName) - .orderByDesc(EmpScoreView::getScorePercent) - .orderByDesc(EmpScoreView::getTarget); + .eq(EmpScoreView::getPositionId,obj.get("positionId")); List list=EmpScoreContentViewMapper.selectList(queryWrapper); return R.success(list); @@ -81,7 +82,7 @@ public class ResultScoreController { @PostMapping("/add") - private R add(@RequestBody JSONObject form){ + public R add(@RequestBody JSONObject form) { JSONArray formArray = form.getJSONArray("Form"); List list = new ArrayList<>(); @@ -101,7 +102,7 @@ public class ResultScoreController { } @PostMapping("/BackScoreList") - private R> BackList(@RequestBody JSONObject obj){ + public R> BackList(@RequestBody JSONObject obj) { LocalDate today = LocalDate.now(); LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); LocalDateTime endTime = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()), LocalTime.MAX); @@ -112,19 +113,14 @@ public class ResultScoreController { .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .orderByDesc(ResultScoreEmpView::getPositionId) - .orderByDesc(ResultScoreEmpView::getEmpId) - .orderByDesc(ResultScoreEmpView::getScorePercent) - .orderByDesc(ResultScoreEmpView::getTarget); - + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime); List list=ResultScoreEmpViewMapper.selectList(queryWrapper); return R.success(list); } @PostMapping("/BackAdd") - private R BackAdd(@RequestBody JSONObject form){ + public R BackAdd(@RequestBody JSONObject form) { /*JSONArray formArray = form.getJSONArray("Form"); List list = new ArrayList<>(); @@ -182,7 +178,7 @@ public class ResultScoreController { } @PostMapping("/updateBackAdd") - private R updateBackAdd(@RequestBody JSONObject form){ + public R updateBackAdd(@RequestBody JSONObject form) { JSONArray formArray = form.getJSONArray("Form"); List list = new ArrayList<>(); diff --git a/src/main/java/com/example/workflow/controller/ResultSecondExamineController.java b/src/main/java/com/example/workflow/controller/ResultSecondExamineController.java index 967f3687c5b62746213cb2ea5129b5c4bc510d5d..4c3db441ee957bce09eb4ef2a349ef97d2f11746 100644 --- a/src/main/java/com/example/workflow/controller/ResultSecondExamineController.java +++ b/src/main/java/com/example/workflow/controller/ResultSecondExamineController.java @@ -1,6 +1,5 @@ package com.example.workflow.controller; -import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.StringUtils; @@ -15,8 +14,39 @@ import com.example.workflow.mapper.ResultPieceEmpViewMapper; import com.example.workflow.mapper.ResultScoreEmpViewMapper; import com.example.workflow.mapper.RoleMapper; import com.example.workflow.mapper.TaskViewMapper; -import com.example.workflow.model.entity.*; -import com.example.workflow.service.*; +import com.example.workflow.model.entity.BackWait; +import com.example.workflow.model.entity.EmpKpiView; +import com.example.workflow.model.entity.EmpOkr; +import com.example.workflow.model.entity.EmpOkrView; +import com.example.workflow.model.entity.EmpPieceView; +import com.example.workflow.model.entity.EmpScore; +import com.example.workflow.model.entity.EmpScoreView; +import com.example.workflow.model.entity.Employee; +import com.example.workflow.model.entity.EmployeePosition; +import com.example.workflow.model.entity.OkrKey; +import com.example.workflow.model.entity.OkrRule; +import com.example.workflow.model.entity.Position; +import com.example.workflow.model.entity.PositionScore; +import com.example.workflow.model.entity.PositionView; +import com.example.workflow.model.entity.ResultSecondExamine; +import com.example.workflow.model.entity.Role; +import com.example.workflow.model.entity.ScoreAssessors; +import com.example.workflow.model.entity.TaskState; +import com.example.workflow.model.entity.TaskView; +import com.example.workflow.service.BackWaitService; +import com.example.workflow.service.EmpOkrService; +import com.example.workflow.service.EmpScoreService; +import com.example.workflow.service.EmployeePositionService; +import com.example.workflow.service.EmployeeService; +import com.example.workflow.service.OkrKeyService; +import com.example.workflow.service.OkrRuleService; +import com.example.workflow.service.PositionScoreService; +import com.example.workflow.service.PositionService; +import com.example.workflow.service.PositionViewService; +import com.example.workflow.service.ResultSecondExamineService; +import com.example.workflow.service.RoleService; +import com.example.workflow.service.ScoreAssessorsService; +import com.example.workflow.service.TaskViewService; import com.fasterxml.jackson.core.JsonProcessingException; import lombok.extern.slf4j.Slf4j; import org.camunda.bpm.engine.RuntimeService; @@ -30,10 +60,11 @@ import org.springframework.web.bind.annotation.RestController; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; -import java.util.*; -/** - * 二级CEO - */ +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + @Slf4j @RestController @RequestMapping("/ResultSecondExamine") @@ -45,19 +76,19 @@ public class ResultSecondExamineController { @Autowired private TaskService taskService; @Autowired - private ResultScoreEmpViewMapper ResultScoreEmpViewMapper; + public ResultScoreEmpViewMapper ResultScoreEmpViewMapper; @Autowired - private ResultPieceEmpViewMapper ResultPieceEmpViewMapper; + public ResultPieceEmpViewMapper ResultPieceEmpViewMapper; @Autowired - private ResultKpiEmpViewMapper ResultKpiEmpViewMapper; + public ResultKpiEmpViewMapper ResultKpiEmpViewMapper; @Autowired - private RoleMapper RoleMapper; + public RoleMapper RoleMapper; @Autowired - private ResultSecondExamineService ResultSecondExamineService; + public ResultSecondExamineService ResultSecondExamineService; @Autowired private EmployeeMapper EmployeeMapper; @Autowired - private RuntimeService runtimeService; + public RuntimeService runtimeService; @Autowired private EmpScoreViewMapper EmpScoreViewMapper; @Autowired @@ -69,7 +100,7 @@ public class ResultSecondExamineController { @Autowired private PositionViewService PositionViewService; @Autowired - private RoleService RoleService; + public RoleService RoleService; @Autowired private EmployeeService EmployeeService; @Autowired @@ -90,20 +121,13 @@ public class ResultSecondExamineController { private OkrRuleService OkrRuleService; @Autowired private EmpOkrService EmpOkrService; - @Autowired - private ResultThirdExamineService ResultThirdExamineService; - @Autowired - private PositionAssessorService PositionAssessorService; LocalDate today = LocalDate.now(); LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); LocalDateTime endTime = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()), LocalTime.MAX); - /** - * 完成列表 - */ @PostMapping("/completeList") - private R> completeList(@RequestBody JSONObject obj){ + public R> completeList(@RequestBody JSONObject obj) { List resultThirdExamineList=ResultSecondExamineService.lambdaQuery() .eq(ResultSecondExamine::getAssessorId, obj.getString("assessorId")) .apply(StringUtils.checkValNotNull(beginTime), @@ -125,7 +149,7 @@ public class ResultSecondExamineController { } @PostMapping("/getFinishState") - private R>> getFinishState(@RequestBody JSONObject obj){ + public R>> getFinishState(@RequestBody JSONObject obj) { Map> resultMap = new HashMap<>(); TaskState state=new TaskState(); state.setKpiState(0); @@ -204,11 +228,8 @@ public class ResultSecondExamineController { return R.success(); } - /** - * 终审列表 - */ @PostMapping("/list") - private R>> list(@RequestBody JSONObject obj) throws JsonProcessingException { + public R>> list(@RequestBody JSONObject obj) throws JsonProcessingException { TaskState state=new TaskState(); state.setKpiState(0); state.setPieceState(0); @@ -221,12 +242,7 @@ public class ResultSecondExamineController { .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .orderByAsc(EmpScoreView::getEmpId) - .orderByDesc(EmpScoreView::getType) - .orderByDesc(EmpScoreView::getTarget) - .orderByDesc(EmpScoreView::getScorePercent) - .orderByDesc(EmpScoreView::getAssessorPercent); + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime);; List list1= EmpScoreViewMapper.selectList(queryWrapper1); if(!list1.isEmpty()) state.setScoreState(1); @@ -290,55 +306,11 @@ public class ResultSecondExamineController { return R.success(resultMap); } - /** - * 终审 - */ - @PostMapping("/add") - private R add(@RequestBody JSONObject form){ - - - //驳回名单 - - //score - List empList11 = (List) form.get("empList11"); - //piece - List empList22 = (List) form.get("empList22"); - //kpi - List empList33 = (List) form.get("empList33"); - //okr - List empList44 = (List) form.get("empList44"); - - //可修改 - //获取岗位所有员工信息 - LambdaQueryWrapper wrapper1 =new LambdaQueryWrapper<>(); - wrapper1.eq(EmployeePosition::getPositionId,form.getString("positionId")); - List employeePosition1 = EmployeePositionService.list(wrapper1); - - //遍历,获取每个员工进程 - for (int i = 0; i < employeePosition1.size(); i++) { - LambdaQueryWrapper queryWrapper1 =new LambdaQueryWrapper<>(); - queryWrapper1.eq(TaskView::getProcInstId,employeePosition1.get(i).getProcessDefinitionId()) - .eq(TaskView::getName,"second") - .eq(TaskView::getAssignee,form.getString("assessorId")) - .eq(TaskView::getState,"ACTIVE") - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')",endTime); - List task1 = TaskViewMapper.selectList(queryWrapper1); - - try{ - if (task1.get(0) != null){ - - }else { - return R.error("已终审,请勿重复终审"); - } - }catch (IndexOutOfBoundsException indexOutOfBoundsException){ - - return R.error("已终审,请勿重复终审"); - } - } + //===================================================================== + //终审需查看 + @PostMapping("/add") + public R add(@RequestBody JSONObject form) { LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); Wrapper.eq(EmployeePosition::getPositionId,form.getString("positionId")); @@ -346,7 +318,6 @@ public class ResultSecondExamineController { JSONObject formArray = form.getJSONObject("form"); - //二级添加 ResultSecondExamine result=new ResultSecondExamine(); result.setAssessorId(Long.valueOf(form.getString("assessorId"))); result.setPositionId(Long.valueOf(form.getString("positionId"))); @@ -357,68 +328,6 @@ public class ResultSecondExamineController { ResultSecondExamineService.save(result); - //三级添加 - //当二级驳回时,三级并没有加上评分重评标识符,导致三级复审重审出现问题 - if (form.getString("positionType").equals("5")||form.getString("positionType").equals("4")){ - employeePosition1.forEach(x->{ - //先判断是否被驳回 - short score = 1; - short piece = 1; - short kpi = 1; - short okr = 1; - - if (empList11.contains(x.getEmpId().toString())) - score = 2; - if (empList22.contains(x.getEmpId().toString())) - piece = 2; - if (empList33.contains(x.getEmpId().toString())) - kpi = 2; - if (empList44.contains(x.getEmpId().toString())) - okr = 2; - - - //获取三级ceo id - PositionAssessor nextAssessor = PositionAssessorService.lambdaQuery() - .eq(PositionAssessor::getPositionId,form.getString("positionId")) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .one(); - - - ResultThirdExamine examine= ResultThirdExamineService.lambdaQuery() - .eq(ResultThirdExamine::getEmpId,x.getEmpId()) - .eq(ResultThirdExamine::getPositionId,x.getPositionId()) - .eq(ResultThirdExamine::getAssessorId,nextAssessor.getThirdAssessorId()) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .one(); - - if (examine != null){ - examine.setScoreExamine(score); - examine.setPieceExamine(piece); - examine.setKpiExamine(kpi); - examine.setOkrExamine(okr); - ResultThirdExamineService.updateById(examine); - }else { - ResultThirdExamine examine1 =new ResultThirdExamine(); - examine1.setEmpId(x.getEmpId()); - examine1.setAssessorId(nextAssessor.getThirdAssessorId()); - examine1.setPositionId(Long.valueOf(form.getString("positionId"))); - examine1.setScoreExamine(score); - examine1.setPieceExamine(piece); - examine1.setKpiExamine(kpi); - examine1.setOkrExamine(okr); - ResultThirdExamineService.save(examine1); - } - - }); - } - - Long roleId= RoleService.lambdaQuery() .eq(Role::getRoleName,"绩效专员") .eq(Role::getState,1) @@ -465,66 +374,13 @@ public class ResultSecondExamineController { runtimeService.suspendProcessInstanceById(task.getProcInstId()); - Integer positionType=Integer.valueOf(form.getString("positionType")); - - //okr驳回 - if(result.getOkrExamine().equals(Short.parseShort("2"))&& empList44.contains(x.getEmpId().toString())){ - removeOkr(form,x); - if(positionType.equals(5)||positionType.equals(4)){ - ResultSecondExamineService.reOkrSecondFifth(form,x); - } - else if(positionType.equals(3)){ - ResultSecondExamineService.reOkrSecondFourth(form,x); - } - } - //kpi驳回 - if(result.getKpiExamine().equals(Short.parseShort("2"))&& empList33.contains(x.getEmpId().toString())){ - if(positionType.equals(5)){ - - ResultSecondExamineService.reKpiSecondFifth(form,x.getEmpId()); - } - else if(positionType.equals(4)){ - - ResultSecondExamineService.reKpiSecondFourth(form,x.getEmpId()); - } - else if(positionType.equals(3)){ - - ResultSecondExamineService.reKpiSecondThird(form,x.getEmpId()); - } - } - //计件驳回 - if(result.getPieceExamine().equals(Short.parseShort("2"))&& empList22.contains(x.getEmpId().toString())){ - if(positionType.equals(5)){ - ResultSecondExamineService.rePieceSecondFifth(form,x.getEmpId()); - } - else if(positionType.equals(4)){ - ResultSecondExamineService.rePieceSecondFourth(form,x.getEmpId()); - } - else if(positionType.equals(3)){ - ResultSecondExamineService.rePieceSecondThird(form,x.getEmpId()); - } - } - //评分驳回 - if(result.getScoreExamine().equals(Short.parseShort("2"))&& empList11.contains(x.getEmpId().toString())){ - - removeScore(form,x); - if(positionType.equals(5)||positionType.equals(4)){ - ResultSecondExamineService.reScoreSecondFifth(form,x.getEmpId()); - } - else if(positionType.equals(3)){ - ResultSecondExamineService.reScoreSecondFourth(form,x.getEmpId()); - } - } }); } return R.success(); } - /** - * 获取okr终审重审列表 - */ @PostMapping("/getSecondBackOkrTask") - private R> getSecondBackOkrTask(@RequestBody JSONObject obj){ + public R> getSecondBackOkrTask(@RequestBody JSONObject obj) { List task= TaskViewService.lambdaQuery() .eq(TaskView::getAssignee,obj.getString("assessorId")) .eq(TaskView::getName,"back_second_okr") @@ -575,11 +431,8 @@ public class ResultSecondExamineController { return R.success(positionViewList); } - /** - * 获取计件终审重审列表 - */ @PostMapping("/getSecondBackPieceTask") - private R> getSecondBackPieceTask(@RequestBody JSONObject obj){ + public R> getSecondBackPieceTask(@RequestBody JSONObject obj) { List task= TaskViewService.lambdaQuery() .eq(TaskView::getAssignee,obj.getString("assessorId")) .eq(TaskView::getName,"back_second_piece") @@ -630,11 +483,8 @@ public class ResultSecondExamineController { return R.success(positionViewList); } - /** - * 获取评分终审重审列表 - */ @PostMapping("/getSecondBackScoreTask") - private R> getSecondBackScoreTask(@RequestBody JSONObject obj){ + public R> getSecondBackScoreTask(@RequestBody JSONObject obj) { List task= TaskViewService.lambdaQuery() .eq(TaskView::getAssignee,obj.getString("assessorId")) .eq(TaskView::getName,"back_second_score") @@ -685,11 +535,8 @@ public class ResultSecondExamineController { return R.success(positionViewList); } - /** - * 获取kpi终审重审列表 - */ @PostMapping("/getSecondBackKpiTask") - private R> getSecondBackKpiTask(@RequestBody JSONObject obj){ + public R> getSecondBackKpiTask(@RequestBody JSONObject obj) { List task= TaskViewService.lambdaQuery() .eq(TaskView::getAssignee,obj.getString("assessorId")) .eq(TaskView::getName,"back_second_kpi") @@ -741,57 +588,8 @@ public class ResultSecondExamineController { } - /** - * 评分终审重审 - */ @PostMapping("/backAddScore") - private R backAddScore(@RequestBody JSONObject form){ - - //可修改 - //获取员工所在岗位信息 - LambdaQueryWrapper wrapper1 =new LambdaQueryWrapper<>(); - wrapper1.eq(BackWait::getPositionId,form.getString("positionId")) - .eq(BackWait::getType,"back_second_score"); - - List backWait1 = BackWaitService.list(wrapper1); - - try{ - if (backWait1.get(0) != null){ - - }else { - return R.error("已终审重审,请勿重复终审复审"); - } - }catch (IndexOutOfBoundsException indexOutOfBoundsException){ - - return R.error("已终审重审,请勿重复终审重审"); - } - - - //遍历,获取每个员工进程 - for (int i = 0; i < backWait1.size(); i++) { - LambdaQueryWrapper queryWrapper1 =new LambdaQueryWrapper<>(); - queryWrapper1.eq(TaskView::getProcInstId,backWait1.get(i).getProcessDefineId()) - .eq(TaskView::getName,"back_second_score") - .eq(TaskView::getAssignee,form.getString("assessorId")) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')",endTime); - List task1 = TaskViewMapper.selectList(queryWrapper1); - - try{ - if (task1.get(0) != null){ - - }else { - return R.error("已终审,请勿重复终审"); - } - }catch (IndexOutOfBoundsException indexOutOfBoundsException){ - - return R.error("已终审,请勿重复终审"); - } - } - - + public R backAddScore(@RequestBody JSONObject form) { ResultSecondExamine examine=ResultSecondExamineService.lambdaQuery() .eq(ResultSecondExamine::getPositionId,form.getString("positionId")) .eq(ResultSecondExamine::getAssessorId,form.getString("assessorId")) @@ -809,7 +607,6 @@ public class ResultSecondExamineController { .list(); List taskViews=new ArrayList<>(); - backWaitList.forEach(x->{ taskViews.add(TaskViewService.lambdaQuery() .eq(TaskView::getAssignee,form.getString("assessorId")) @@ -834,58 +631,8 @@ public class ResultSecondExamineController { return R.success(); } - /** - * 计件终审重审 - */ @PostMapping("/backAddPiece") - private R backAddPiece(@RequestBody JSONObject form){ - - //可修改 - //获取员工所在岗位信息 - LambdaQueryWrapper wrapper1 =new LambdaQueryWrapper<>(); - wrapper1.eq(BackWait::getPositionId,form.getString("positionId")) - .eq(BackWait::getType,"back_second_piece"); - - List backWait1 = BackWaitService.list(wrapper1); - - try{ - if (backWait1.get(0) != null){ - - }else { - return R.error("已终审重审,请勿重复终审复审"); - } - }catch (IndexOutOfBoundsException indexOutOfBoundsException){ - - return R.error("已终审重审,请勿重复终审重审"); - } - - - //遍历,获取每个员工进程 - for (int i = 0; i < backWait1.size(); i++) { - LambdaQueryWrapper queryWrapper1 =new LambdaQueryWrapper<>(); - queryWrapper1.eq(TaskView::getProcInstId,backWait1.get(i).getProcessDefineId()) - .eq(TaskView::getName,"back_second_piece") - .eq(TaskView::getAssignee,form.getString("assessorId")) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')",endTime); - List task1 = TaskViewMapper.selectList(queryWrapper1); - - try{ - if (task1.get(0) != null){ - - }else { - return R.error("已终审,请勿重复终审"); - } - }catch (IndexOutOfBoundsException indexOutOfBoundsException){ - - return R.error("已终审,请勿重复终审"); - } - } - - - + public R backAddPiece(@RequestBody JSONObject form) { ResultSecondExamine examine=ResultSecondExamineService.lambdaQuery() .eq(ResultSecondExamine::getPositionId,form.getString("positionId")) .eq(ResultSecondExamine::getAssessorId,form.getString("assessorId")) @@ -927,56 +674,8 @@ public class ResultSecondExamineController { return R.success(); } - /** - * kpi终审重审 - */ @PostMapping("/backAddKpi") - private R backAddKpi(@RequestBody JSONObject form){ - - //可修改 - //获取员工所在岗位信息 - LambdaQueryWrapper wrapper1 =new LambdaQueryWrapper<>(); - wrapper1.eq(BackWait::getPositionId,form.getString("positionId")) - .eq(BackWait::getType,"back_second_kpi"); - - List backWait1 = BackWaitService.list(wrapper1); - - try{ - if (backWait1.get(0) != null){ - - }else { - return R.error("已终审重审,请勿重复终审复审"); - } - }catch (IndexOutOfBoundsException indexOutOfBoundsException){ - - return R.error("已终审重审,请勿重复终审重审"); - } - - //遍历,获取每个员工进程 - for (int i = 0; i < backWait1.size(); i++) { - LambdaQueryWrapper queryWrapper1 =new LambdaQueryWrapper<>(); - queryWrapper1.eq(TaskView::getProcInstId,backWait1.get(i).getProcessDefineId()) - .eq(TaskView::getName,"back_second_kpi") - .eq(TaskView::getAssignee,form.getString("assessorId")) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')",endTime); - List task1 = TaskViewMapper.selectList(queryWrapper1); - - try{ - if (task1.get(0) != null){ - - }else { - return R.error("已终审,请勿重复终审"); - } - }catch (IndexOutOfBoundsException indexOutOfBoundsException){ - - return R.error("已终审,请勿重复终审"); - } - } - - + public R backAddKpi(@RequestBody JSONObject form) { ResultSecondExamine examine=ResultSecondExamineService.lambdaQuery() .eq(ResultSecondExamine::getPositionId,form.getString("positionId")) .eq(ResultSecondExamine::getAssessorId,form.getString("assessorId")) @@ -1019,55 +718,8 @@ public class ResultSecondExamineController { return R.success(); } - /** - * okr终审重审 - */ @PostMapping("/backAddOkr") - private R backAddOkr(@RequestBody JSONObject form){ - //可修改 - //获取员工所在岗位信息 - LambdaQueryWrapper wrapper1 =new LambdaQueryWrapper<>(); - wrapper1.eq(BackWait::getPositionId,form.getString("positionId")) - .eq(BackWait::getType,"back_second_okr"); - - List backWait1 = BackWaitService.list(wrapper1); - - try{ - if (backWait1.get(0) != null){ - - }else { - return R.error("已复审重审,请勿重复终审复审"); - } - }catch (IndexOutOfBoundsException indexOutOfBoundsException){ - - return R.error("已复审重审,请勿重复终审重审"); - } - - - //遍历,获取每个员工进程 - for (int i = 0; i < backWait1.size(); i++) { - LambdaQueryWrapper queryWrapper1 =new LambdaQueryWrapper<>(); - queryWrapper1.eq(TaskView::getProcInstId,backWait1.get(i).getProcessDefineId()) - .eq(TaskView::getName,"back_second_okr") - .eq(TaskView::getAssignee,form.getString("assessorId")) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')",endTime); - List task1 = TaskViewMapper.selectList(queryWrapper1); - - try{ - if (task1.get(0) != null){ - - }else { - return R.error("已终审,请勿重复终审"); - } - }catch (IndexOutOfBoundsException indexOutOfBoundsException){ - - return R.error("已终审,请勿重复终审"); - } - } - + public R backAddOkr(@RequestBody JSONObject form) { ResultSecondExamine examine=ResultSecondExamineService.lambdaQuery() .eq(ResultSecondExamine::getPositionId,form.getString("positionId")) .eq(ResultSecondExamine::getAssessorId,form.getString("assessorId")) @@ -1111,7 +763,7 @@ public class ResultSecondExamineController { } - private void updateFlow(JSONObject form){ + public void updateFlow(JSONObject form) { Long roleId= RoleService.lambdaQuery() .eq(Role::getRoleName,"绩效专员") .eq(Role::getState,1) @@ -1148,7 +800,7 @@ public class ResultSecondExamineController { PositionService.updateById(position); } - private void removeScore(JSONObject form,EmployeePosition one){ + public void removeScore(JSONObject form, EmployeePosition one) { List assessorList1 = new ArrayList<>(); List scoreList=PositionScoreService.lambdaQuery() .eq(PositionScore::getPositionId,form.getString("positionId")) @@ -1180,26 +832,23 @@ public class ResultSecondExamineController { }); } - private void removeOkr(JSONObject form,EmployeePosition one){ - - - LocalDateTime lastBeginTime = LocalDateTime.of(today.withDayOfMonth(1).minusMonths(1), LocalTime.MIN); - LocalDateTime latsEndTime = LocalDateTime.of(today.withDayOfMonth(1).minusDays(1), LocalTime.MAX); - - + public void removeOkr(JSONObject form, EmployeePosition one) { List okrList=OkrKeyService.lambdaQuery() .eq(OkrKey::getPositionId,form.getString("positionId")) .eq(OkrKey::getLiaEmpId,one.getEmpId()) - .apply(StringUtils.checkValNotNull(lastBeginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", lastBeginTime) - .apply(StringUtils.checkValNotNull(latsEndTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", latsEndTime) + .apply(StringUtils.checkValNotNull(beginTime), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) + .apply(StringUtils.checkValNotNull(endTime), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) .list(); - okrList.forEach(x->{ List assessor= OkrRuleService.lambdaQuery() - .eq(OkrRule::getId,x.getRuleId()) + .eq(OkrRule::getAssessorId,x.getId()) + .apply(StringUtils.checkValNotNull(beginTime), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) + .apply(StringUtils.checkValNotNull(endTime), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) .list(); assessor.forEach(y->{ LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); @@ -1212,8 +861,6 @@ public class ResultSecondExamineController { EmpOkrService.remove(queryWrapper); }); }); - - } /*@PostMapping("/page") diff --git a/src/main/java/com/example/workflow/controller/ResultThirdExamineController.java b/src/main/java/com/example/workflow/controller/ResultThirdExamineController.java index 8dd6ac4fd3747eda7284f16a85072b558050eb60..53584186bdf4a072d92ac3e266109435980be173 100644 --- a/src/main/java/com/example/workflow/controller/ResultThirdExamineController.java +++ b/src/main/java/com/example/workflow/controller/ResultThirdExamineController.java @@ -77,27 +77,25 @@ import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; -/** - * 三级CEO - */ + @Slf4j @RestController @RequestMapping("/ResultThirdExamine") public class ResultThirdExamineController { @Autowired - private ResultScoreEmpViewMapper ResultScoreEmpViewMapper; + public ResultScoreEmpViewMapper ResultScoreEmpViewMapper; @Autowired - private ResultPieceEmpViewMapper ResultPieceEmpViewMapper; + public ResultPieceEmpViewMapper ResultPieceEmpViewMapper; @Autowired - private ResultKpiEmpViewMapper ResultKpiEmpViewMapper; + public ResultKpiEmpViewMapper ResultKpiEmpViewMapper; @Autowired - private ResultThirdExamineService ResultThirdExamineService; + public ResultThirdExamineService ResultThirdExamineService; @Autowired private TaskViewMapper TaskViewMapper; @Autowired private TaskService taskService; @Autowired - private ResultThirdExamineMapper ResultThirdExamineMapper; + public ResultThirdExamineMapper ResultThirdExamineMapper; @Autowired private PositionAssessorService PositionAssessorService; @Autowired @@ -113,11 +111,11 @@ public class ResultThirdExamineController { @Autowired private IdentityService identityService; @Autowired - private RuntimeService runtimeService; + public RuntimeService runtimeService; @Autowired private PositionPieceService PositionPieceService; @Autowired - private RoleService RoleService; + public RoleService RoleService; @Autowired private EmployeeService EmployeeService; @Autowired @@ -157,11 +155,8 @@ public class ResultThirdExamineController { LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); LocalDateTime endTime = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()), LocalTime.MAX); - /** - * 复审完成列表 - */ @PostMapping("/completeList") - private R> completeList(@RequestBody JSONObject obj){ + public R> completeList(@RequestBody JSONObject obj) { List resultThirdExamineList=ResultThirdExamineService.lambdaQuery() .eq(ResultThirdExamine::getAssessorId, obj.getString("assessorId")) .apply(StringUtils.checkValNotNull(beginTime), @@ -182,11 +177,9 @@ public class ResultThirdExamineController { return R.success(list); } - /** - * - */ + @PostMapping("/getFinishState") - private R>> getFinishState(@RequestBody JSONObject obj){ + public R>> getFinishState(@RequestBody JSONObject obj) { Map> resultMap = new HashMap<>(); TaskState state=new TaskState(); state.setKpiState(0); @@ -270,31 +263,26 @@ public class ResultThirdExamineController { return R.success(); } - /** - * 复审列表 - */ + @PostMapping("/list") - private R>> list(@RequestBody JSONObject obj) throws JsonProcessingException { + public R>> list(@RequestBody JSONObject obj) throws JsonProcessingException { TaskState state=new TaskState(); state.setKpiState(0); state.setPieceState(0); state.setOkrState(0); state.setScoreState(0); + System.out.println(1); LambdaQueryWrapper queryWrapper1=new LambdaQueryWrapper<>(); queryWrapper1.eq(EmpScoreView::getEmpId,obj.getString("empId")) .eq(EmpScoreView::getPositionId,obj.getString("positionId")) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .orderByDesc(EmpScoreView::getType) - .orderByDesc(EmpScoreView::getTarget) - .orderByDesc(EmpScoreView::getScorePercent) - .orderByDesc(EmpScoreView::getAssessorPercent); - + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime);; List list1= EmpScoreViewMapper.selectList(queryWrapper1); + System.out.println(2); if(!list1.isEmpty()) state.setScoreState(1); @@ -307,7 +295,7 @@ public class ResultThirdExamineController { .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime);; List list2= EmpPieceViewMapper.selectList(queryWrapper2); - + System.out.println(3); if(!list2.isEmpty()) state.setPieceState(1); @@ -319,6 +307,7 @@ public class ResultThirdExamineController { .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime);; List list3= EmpKpiViewMapper.selectList(queryWrapper3); + System.out.println(4); if(!list3.isEmpty()) state.setKpiState(1); @@ -330,6 +319,7 @@ public class ResultThirdExamineController { .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime); List list4= EmpOkrViewMapper.selectList(queryWrapper4); + System.out.println(5); if(!list4.isEmpty()) state.setOkrState(1); @@ -357,62 +347,24 @@ public class ResultThirdExamineController { resultMap.put("okr",okr); resultMap.put("state", taskState); + System.out.println("======================"); + System.out.println(resultMap); + System.out.println("======================"); return R.success(resultMap); } - /** - * 复审 - */ - @PostMapping("/add") - private R add(@RequestBody ResultThirdExamineForm form){ - //可修改 - //获取员工所在岗位信息 - LambdaQueryWrapper wrapper1 =new LambdaQueryWrapper<>(); - wrapper1.eq(EmployeePosition::getEmpId,form.getEmpId()) - .eq(EmployeePosition::getPositionId,form.getPositionId()); - EmployeePosition employeePosition1 = EmployeePositionService.getOne(wrapper1); - //获取员工进程 - LambdaQueryWrapper queryWrapper1 =new LambdaQueryWrapper<>(); - queryWrapper1.eq(TaskView::getStartUserId,form.getEmpId()) - .eq(TaskView::getProcInstId,employeePosition1.getProcessDefinitionId()) - .eq(TaskView::getName,"third") - .eq(TaskView::getState,"ACTIVE") - .eq(TaskView::getAssignee,form.getAssessorId()) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')",endTime); - List task1 = TaskViewMapper.selectList(queryWrapper1); - try{ - if (task1.get(0) != null){ - - }else { - return R.error("已复审,请勿重复复审"); - } - }catch (IndexOutOfBoundsException indexOutOfBoundsException){ - - return R.error("已复审,请勿重复复审"); - } + @PostMapping("/add") + public R add(@RequestBody ResultThirdExamineForm form) { - ResultThirdExamine examine= ResultThirdExamineService.lambdaQuery() - .eq(ResultThirdExamine::getEmpId,form.getEmpId()) - .eq(ResultThirdExamine::getPositionId,form.getPositionId()) - .eq(ResultThirdExamine::getAssessorId,form.getAssessorId()) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .one(); + System.out.println(form); - examine.setScoreExamine(form.getScoreExamine()); - examine.setPieceExamine(form.getPieceExamine()); - examine.setOkrExamine(form.getOkrExamine()); - examine.setKpiExamine(form.getKpiExamine()); - ResultThirdExamineService.updateById(examine); + ResultThirdExamine examin= new ResultThirdExamine(); + BeanUtil.copyProperties(form, examin); + ResultThirdExamineService.save(examin); if(form.getScoreExamine()!=2&&form.getPieceExamine()!=2&&form.getKpiExamine()!=2&&form.getOkrExamine()!=2){ - continueFlow(examine); + continueFlow(examin); } else{ suspendFlow(form); @@ -421,48 +373,15 @@ public class ResultThirdExamineController { } - /** - * 评分复审重审 - */ + @PostMapping("/addBackScore") - private R addBack(@RequestBody JSONObject obj){ + public R addBack(@RequestBody JSONObject obj) { Long assessorId = Long.valueOf(obj.getString("assessorId")); Long empId=Long.valueOf(obj.getString("empId")); Long positionId=Long.valueOf(obj.getString("positionId")); - /*****/ - //可修改 - //获取员工所在岗位信息 - LambdaQueryWrapper wrapper1 =new LambdaQueryWrapper<>(); - wrapper1.eq(BackWait::getEmpId,empId) - .eq(BackWait::getPositionId,positionId) - .and(qw -> qw.eq(BackWait::getType,"back_third_score") - .or().eq(BackWait::getType,"back_second_score")); - BackWait backWait1 = BackWaitService.getOne(wrapper1); - - //获取员工进程 - LambdaQueryWrapper queryWrapper11 =new LambdaQueryWrapper<>(); - queryWrapper11.eq(TaskView::getStartUserId,empId) - .eq(TaskView::getProcInstId,backWait1.getProcessDefineId()) - .eq(TaskView::getName,"back_third_score") - .eq(TaskView::getAssignee,assessorId) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')",endTime); - List task1 = TaskViewMapper.selectList(queryWrapper11); - try{ - if (task1.get(0) != null){ - - }else { - return R.error("已复审重审,请勿重复复审重审"); - } - }catch (IndexOutOfBoundsException indexOutOfBoundsException){ - - return R.error("已复审重审,请勿重复复审重审"); - } - + System.out.println("===============1============================="); ResultThirdExamine examine= ResultThirdExamineService.lambdaQuery() @@ -475,15 +394,20 @@ public class ResultThirdExamineController { .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) .one(); + System.out.println("===================111========================="); examine.setScoreExamine(new Short("1")); + System.out.println("==================222=========================="); ResultThirdExamineService.updateById(examine); + System.out.println("=================2==========================="); + LambdaQueryWrapper queryWrapper1=new LambdaQueryWrapper<>(); queryWrapper1.eq(BackWait::getEmpId,empId) .eq(BackWait::getPositionId,positionId) - .eq(BackWait::getType,"back_third_score"); + .eq(BackWait::getType,"third_score_back"); BackWait backWait=BackWaitService.getOne(queryWrapper1); + System.out.println("===================3========================="); if(backWait!=null) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); @@ -509,6 +433,7 @@ public class ResultThirdExamineController { } } + System.out.println("===================4========================="); LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(BackWait::getEmpId,empId) @@ -517,6 +442,8 @@ public class ResultThirdExamineController { BackWait backWaitSecond=BackWaitService.getOne(queryWrapper); + System.out.println("======================5======================"); + if(backWaitSecond!=null){ PositionAssessor nextAssessor = PositionAssessorService.lambdaQuery() .eq(PositionAssessor::getPositionId, obj.getString("positionId")) @@ -540,54 +467,16 @@ public class ResultThirdExamineController { taskService.complete(task.getId(),map); } + System.out.println("====================6========================"); return R.success(); } - /** - * 计件复审重审 - */ - @PostMapping("/addBackPiece") - private R addBackPiece(@RequestBody JSONObject obj){ - + @PostMapping("/addBackPiece") + public R addBackPiece(@RequestBody JSONObject obj) { Long empId=Long.valueOf(obj.getString("empId")); Long positionId=Long.valueOf(obj.getString("positionId")); - Long assessorId = Long.valueOf(obj.getString("assessorId")); - - - //可修改 - //获取员工所在岗位信息 - LambdaQueryWrapper wrapper1 =new LambdaQueryWrapper<>(); - wrapper1.eq(BackWait::getEmpId,empId) - .eq(BackWait::getPositionId,positionId) - .and(qw -> qw.eq(BackWait::getType,"back_third_piece") - .or().eq(BackWait::getType,"back_second_piece")); - BackWait backWait1 = BackWaitService.getOne(wrapper1); - - //获取员工进程 - LambdaQueryWrapper queryWrapper11 =new LambdaQueryWrapper<>(); - queryWrapper11.eq(TaskView::getStartUserId,empId) - .eq(TaskView::getProcInstId,backWait1.getProcessDefineId()) - .eq(TaskView::getName,"back_third_piece") - .eq(TaskView::getAssignee,assessorId) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')",endTime); - List task1 = TaskViewMapper.selectList(queryWrapper11); - try{ - if (task1.get(0) != null){ - - }else { - return R.error("已复审重审,请勿重复复审重审"); - } - }catch (IndexOutOfBoundsException indexOutOfBoundsException){ - - return R.error("已复审重审,请勿重复复审重审"); - } - - ResultThirdExamine examine= ResultThirdExamineService.lambdaQuery() .eq(ResultThirdExamine::getEmpId,empId) @@ -603,7 +492,7 @@ public class ResultThirdExamineController { LambdaQueryWrapper queryWrapper1=new LambdaQueryWrapper<>(); queryWrapper1.eq(BackWait::getEmpId,empId) .eq(BackWait::getPositionId,positionId) - .eq(BackWait::getType,"back_third_piece"); + .eq(BackWait::getType,"third_piece_back"); BackWait backWait=BackWaitService.getOne(queryWrapper1); if(backWait!=null) { @@ -660,47 +549,11 @@ public class ResultThirdExamineController { return R.success(); } - /** - * kpi复审重审 - */ - @PostMapping("/addBackKpi") - private R addBackKpi(@RequestBody JSONObject obj){ + @PostMapping("/addBackKpi") + public R addBackKpi(@RequestBody JSONObject obj) { Long empId=Long.valueOf(obj.getString("empId")); Long positionId=Long.valueOf(obj.getString("positionId")); - Long assessorId = Long.valueOf(obj.getString("assessorId")); - - //可修改 - //获取员工所在岗位信息 - LambdaQueryWrapper wrapper1 =new LambdaQueryWrapper<>(); - wrapper1.eq(BackWait::getEmpId,empId) - .eq(BackWait::getPositionId,positionId) - .and(qw -> qw.eq(BackWait::getType,"back_third_kpi") - .or().eq(BackWait::getType,"back_second_kpi")); - BackWait backWait1 = BackWaitService.getOne(wrapper1); - - //获取员工进程 - LambdaQueryWrapper queryWrapper11 =new LambdaQueryWrapper<>(); - queryWrapper11.eq(TaskView::getStartUserId,empId) - .eq(TaskView::getProcInstId,backWait1.getProcessDefineId()) - .eq(TaskView::getName,"back_third_kpi") - .eq(TaskView::getAssignee,assessorId) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')",endTime); - List task1 = TaskViewMapper.selectList(queryWrapper11); - try{ - if (task1.get(0) != null){ - - }else { - return R.error("已复审重审,请勿重复复审重审"); - } - }catch (IndexOutOfBoundsException indexOutOfBoundsException){ - - return R.error("已复审重审,请勿重复复审重审"); - } - ResultThirdExamine examine= ResultThirdExamineService.lambdaQuery() .eq(ResultThirdExamine::getEmpId,empId) @@ -716,7 +569,7 @@ public class ResultThirdExamineController { LambdaQueryWrapper queryWrapper1=new LambdaQueryWrapper<>(); queryWrapper1.eq(BackWait::getEmpId,empId) .eq(BackWait::getPositionId,positionId) - .eq(BackWait::getType,"back_third_kpi"); + .eq(BackWait::getType,"third_kpi_back"); BackWait backWait=BackWaitService.getOne(queryWrapper1); if(backWait!=null) { @@ -775,48 +628,9 @@ public class ResultThirdExamineController { return R.success(); } - /** - * okr复审重审 - */ - @PostMapping("/addBackOkr") - private R addBackOkr(@RequestBody JSONObject obj){ - Long assessorId1 = Long.valueOf(obj.getString("assessorId")); - Long empId1=Long.valueOf(obj.getString("empId")); - Long positionId1=Long.valueOf(obj.getString("positionId")); - - //可修改 - //获取员工所在岗位信息 - LambdaQueryWrapper wrapper1 =new LambdaQueryWrapper<>(); - wrapper1.eq(BackWait::getEmpId,empId1) - .eq(BackWait::getPositionId,positionId1) - .and(qw -> qw.eq(BackWait::getType,"back_third_okr") - .or().eq(BackWait::getType,"back_second_okr")); - BackWait backWait1 = BackWaitService.getOne(wrapper1); - - //获取员工进程 - LambdaQueryWrapper queryWrapper11 =new LambdaQueryWrapper<>(); - queryWrapper11.eq(TaskView::getStartUserId,empId1) - .eq(TaskView::getProcInstId,backWait1.getProcessDefineId()) - .eq(TaskView::getName,"back_third_okr") - .eq(TaskView::getAssignee,assessorId1) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')",endTime); - List task1 = TaskViewMapper.selectList(queryWrapper11); - try{ - if (task1.get(0) != null){ - - }else { - return R.error("已复审重审,请勿重复复审重审"); - } - }catch (IndexOutOfBoundsException indexOutOfBoundsException){ - - return R.error("已复审重审,请勿重复复审重审"); - } - - + @PostMapping("/addBackOkr") + public R addBackOkr(@RequestBody JSONObject obj) { Long empId=Long.valueOf(obj.getString("empId")); Long positionId=Long.valueOf(obj.getString("positionId")); @@ -834,7 +648,7 @@ public class ResultThirdExamineController { LambdaQueryWrapper queryWrapper1=new LambdaQueryWrapper<>(); queryWrapper1.eq(BackWait::getEmpId,empId) .eq(BackWait::getPositionId,positionId) - .eq(BackWait::getType,"back_third_okr"); + .eq(BackWait::getType,"third_okr_back"); BackWait backWait=BackWaitService.getOne(queryWrapper1); if(backWait!=null) { @@ -893,11 +707,9 @@ public class ResultThirdExamineController { return R.success(); } - /** - * 驳回列表 - */ + @PostMapping("/backList") - private R>> backList(@RequestBody JSONObject obj) throws JsonProcessingException { + public R>> backList(@RequestBody JSONObject obj) throws JsonProcessingException { Long empId=Long.valueOf(obj.getString("empId")); Long positionId=Long.valueOf(obj.getString("positionId")); @@ -969,17 +781,6 @@ public class ResultThirdExamineController { .one().getId(); if(form.getScoreExamine()==2){ - - List empScoreList = form.getEmpScoreList(); - - List assessorList11 = new ArrayList<>(); - List empScoreList11 = new ArrayList<>(); - - for (EmpScoreView empScoreView : empScoreList) { - assessorList11.add(String.valueOf(empScoreView.getAssessorId())); - empScoreList11.add(String.valueOf(empScoreView.getEmpScoreId())); - } - List assessorList1 = new ArrayList<>(); List scoreList=PositionScoreService.lambdaQuery() .eq(PositionScore::getPositionId,form.getPositionId()) @@ -988,7 +789,6 @@ public class ResultThirdExamineController { .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) .list(); - scoreList.forEach(x->{ List assessor= ScoreAssessorsService.lambdaQuery() .eq(ScoreAssessors::getPositionScoreId,x.getId()) @@ -997,26 +797,19 @@ public class ResultThirdExamineController { .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) .list(); - assessor.forEach(y->{ - - if (assessorList11.contains(String.valueOf(y.getAssessorId()))){ - assessorList1.add(String.valueOf(y.getAssessorId())); - } + assessorList1.add(String.valueOf(y.getAssessorId())); LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(EmpScore::getEmpId,form.getEmpId()) .eq(EmpScore::getScoreAssessorsId,y.getId()) - .in(EmpScore::getId,empScoreList11) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime); - EmpScoreService.remove(queryWrapper); }); }); - List assessors1=assessorList1.stream().distinct().collect(Collectors.toList()); Map map = new HashMap<>(); map.put("ASList", assessors1); @@ -1027,13 +820,12 @@ public class ResultThirdExamineController { BackWait backWait=new BackWait(); backWait.setProcessDefineId(processInstance.getId()); - backWait.setType("back_third_score"); + backWait.setType("third_score_back"); backWait.setEmpId(form.getEmpId()); backWait.setPositionId(form.getPositionId()); backWait.setProcessKey("Process_12mkpug"); backWait.setOpinion(form.getOpinion1()); BackWaitService.save(backWait); - } if(form.getPieceExamine()==2){ @@ -1046,7 +838,7 @@ public class ResultThirdExamineController { BackWait backWait=new BackWait(); backWait.setProcessDefineId(processInstance.getId()); - backWait.setType("back_third_piece"); + backWait.setType("third_piece_back"); backWait.setEmpId(form.getEmpId()); backWait.setPositionId(form.getPositionId()); backWait.setProcessKey("Process_0qrsna2"); @@ -1083,7 +875,7 @@ public class ResultThirdExamineController { BackWait backWait=new BackWait(); backWait.setProcessDefineId(processInstance.getId()); - backWait.setType("back_third_kpi"); + backWait.setType("third_kpi_back"); backWait.setEmpId(form.getEmpId()); backWait.setPositionId(form.getPositionId()); backWait.setProcessKey("Process_07oa6pv"); @@ -1111,26 +903,23 @@ public class ResultThirdExamineController { } if(form.getOkrExamine()==2){ - - LocalDateTime lastBeginTime = LocalDateTime.of(today.withDayOfMonth(1).minusMonths(1), LocalTime.MIN); - LocalDateTime latsEndTime = LocalDateTime.of(today.withDayOfMonth(1).minusDays(1), LocalTime.MAX); List assessorList2 = new ArrayList<>(); List okrList=OkrKeyService.lambdaQuery() .eq(OkrKey::getPositionId,form.getPositionId()) .eq(OkrKey::getLiaEmpId,form.getEmpId()) - .apply(StringUtils.checkValNotNull(lastBeginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", lastBeginTime) - .apply(StringUtils.checkValNotNull(latsEndTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", latsEndTime) + .apply(StringUtils.checkValNotNull(beginTime), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) + .apply(StringUtils.checkValNotNull(endTime), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) .list(); okrList.forEach(x->{ List assessor= OkrRuleService.lambdaQuery() - .eq(OkrRule::getId,x.getRuleId()) - .apply(StringUtils.checkValNotNull(lastBeginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", lastBeginTime) - .apply(StringUtils.checkValNotNull(latsEndTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", latsEndTime) + .eq(OkrRule::getAssessorId,x.getId()) + .apply(StringUtils.checkValNotNull(beginTime), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) + .apply(StringUtils.checkValNotNull(endTime), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) .list(); assessor.forEach(y->{ assessorList2.add(String.valueOf(y.getAssessorId())); @@ -1155,7 +944,7 @@ public class ResultThirdExamineController { BackWait backWait=new BackWait(); backWait.setProcessDefineId(processInstance.getId()); - backWait.setType("back_third_okr"); + backWait.setType("third_okr_back"); backWait.setEmpId(form.getEmpId()); backWait.setPositionId(form.getPositionId()); backWait.setProcessKey("Process_0quk6t8"); diff --git a/src/main/java/com/example/workflow/controller/RoleController.java b/src/main/java/com/example/workflow/controller/RoleController.java index faecc0900918c2935f05ba76ea88758c47c68b59..a3b9adc93c62742d6def5a7dbee424421da29996 100644 --- a/src/main/java/com/example/workflow/controller/RoleController.java +++ b/src/main/java/com/example/workflow/controller/RoleController.java @@ -33,10 +33,7 @@ import java.util.List; import java.util.Map; /** - *

* 角色信息 前端控制器 - *

- * * @author 黄历 * @since 2024-03-12 */ diff --git a/src/main/java/com/example/workflow/controller/ScoreRuleController.java b/src/main/java/com/example/workflow/controller/ScoreRuleController.java index 23f75a09906bf041bbed769514d087a47af40e32..c4f24ab49ed921c7746c3a1744c72578f403a4f9 100644 --- a/src/main/java/com/example/workflow/controller/ScoreRuleController.java +++ b/src/main/java/com/example/workflow/controller/ScoreRuleController.java @@ -12,13 +12,17 @@ import com.example.workflow.mapper.PositionScoreMapper; import com.example.workflow.mapper.PositionScoreViewMapper; import com.example.workflow.mapper.ScoreContactAssessorsMapper; import com.example.workflow.mapper.ScoreRuleMapper; -import com.example.workflow.model.entity.*; +import com.example.workflow.model.entity.PositionScore; +import com.example.workflow.model.entity.PositionScoreView; +import com.example.workflow.model.entity.ScoreAssessors; +import com.example.workflow.model.entity.ScoreContactAssessors; +import com.example.workflow.model.entity.ScoreRule; +import com.example.workflow.model.entity.ScoreRuleForm; import com.example.workflow.model.feedback.ErrorExcelWrite; import com.example.workflow.model.feedback.PositionScoreError; import com.example.workflow.model.feedback.ScoreError; import com.example.workflow.model.pojo.PositionScoreExcel; import com.example.workflow.model.pojo.ScoreExcel; -import com.example.workflow.service.EmpScoreService; import com.example.workflow.service.PositionScoreService; import com.example.workflow.service.ScoreAssessorsService; import com.example.workflow.service.ScoreRuleService; @@ -38,11 +42,8 @@ import java.math.BigDecimal; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; -import java.util.ArrayList; import java.util.List; -/** - * 评分条目 - */ + @Slf4j @RestController @RequestMapping("/ScoreRule") @@ -61,14 +62,12 @@ public class ScoreRuleController { private PositionScoreViewMapper PositionScoreViewMapper; @Autowired private PositionScoreService PositionScoreService; - @Autowired - private com.example.workflow.service.EmpScoreService EmpScoreService; + LocalDate today = LocalDate.now(); LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); LocalDateTime endTime = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()), LocalTime.MAX); - /** - * 评分条目分页 - */ + + @GetMapping("/page") public R page(@RequestParam("page") String page, @RequestParam("page_size") String pageSize){ Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); @@ -82,9 +81,7 @@ public class ScoreRuleController { return R.success(pageInfo); } - /** - * 评分修改 - */ + @PostMapping("/update") private R update(@RequestBody ScoreRule one){ if(one.getTarget()==null) @@ -95,9 +92,7 @@ public class ScoreRuleController { return R.success(); } - /** - * 评分删除 - */ + @PostMapping("/delete") private R delete(@RequestBody ScoreRule one){ List list=PositionScoreService.lambdaQuery() @@ -125,9 +120,7 @@ public class ScoreRuleController { return R.success(); } - /** - * 新增评分条目 - */ + @PostMapping("/add") private R add(@RequestBody ScoreRule one){ if(one.getTarget()==null) @@ -150,9 +143,7 @@ public class ScoreRuleController { return R.success(); } - /** - * 评分条目评分人 - */ + @PostMapping("/list") private R> list(@RequestBody JSONObject obj){ @@ -162,17 +153,13 @@ public class ScoreRuleController { .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .orderByDesc(ScoreContactAssessors::getType) - .orderByDesc(ScoreContactAssessors::getScoreId); + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime); List list=ScoreContactAssessorsMapper.selectList(queryWrapper); return R.success(list); } - /** - * 获取评分条目 - */ + @PostMapping("/getRulelist") private R> getRulelist(){ @@ -187,9 +174,7 @@ public class ScoreRuleController { return R.success(list); } - /** - * 新增部门评分条目 - */ + @PostMapping("/addAssessor") private R addAssessor(@RequestBody ScoreRuleForm form){ LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); @@ -214,13 +199,12 @@ public class ScoreRuleController { "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) .list(); - - final BigDecimal[] totalScore = {new BigDecimal(0)}; + BigDecimal totalScore=new BigDecimal(0); check.forEach(x->{ - totalScore[0] = totalScore[0].add(x.getPercent()); + totalScore.add(x.getPercent()); }); - totalScore[0] = totalScore[0].add(form.getPercent()); - if(totalScore[0].compareTo(new BigDecimal(100)) > 0){ + totalScore.add(form.getPercent()); + if(totalScore.compareTo(new BigDecimal(100)) > 0){ return R.error("评分占比总和不可超过100%"); } @@ -232,9 +216,6 @@ public class ScoreRuleController { return R.success(); } - /** - * 获取部门评分条目 - */ @PostMapping("/getPositionScoreList") private R> getPositionScoreList(@RequestBody JSONObject obj){ @@ -243,24 +224,15 @@ public class ScoreRuleController { .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .orderByDesc(PositionScoreView::getType) - .orderByDesc(PositionScoreView::getTarget) - .orderByAsc(PositionScoreView::getScorePercent) - .orderByAsc(PositionScoreView::getAssessorPercent); - - List list=PositionScoreViewMapper.selectList(queryWrapper); + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime);;; + List list=PositionScoreViewMapper.selectList(queryWrapper); return R.success(list); } - /** - * 获取评分人列表 - */ - @PostMapping("/getPositionScoreAssessorList") - private R> getPositionScoreAssessorList(@RequestBody JSONObject obj){ - System.out.println(obj); + @PostMapping("/getPositionScoreAssessorList") + public R> getPositionScoreAssessorList(@RequestBody JSONObject obj) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(PositionScoreView::getPositionId,obj.getString("positionId")) @@ -268,48 +240,14 @@ public class ScoreRuleController { .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime); - - List list = PositionScoreViewMapper.selectList(queryWrapper); - - List list1 = new ArrayList<>(); - - for (PositionScoreView data : list) { - EmpScore one = EmpScoreService.lambdaQuery() - .eq(EmpScore::getScoreAssessorsId,data.getScoreAssessorsId()) - .eq(EmpScore::getEmpId,obj.getString("empId")) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .one(); - - - - if (one != null && one.getRemark().length()>=6 && "业绩自动评分".equals(one.getRemark().substring(0,6))){ - list1.add(data); - }else if (one != null){ - if (one.getRemark().equals("")) - list1.add(data); - if (!(one.getRemark().length()>=6 && "超时自动评分".equals(one.getRemark().substring(0,6)))) - list1.add(data); - } - - } - - for (PositionScoreView data : list1) { - list.remove(data); - } - + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime);;; + List list=PositionScoreViewMapper.selectList(queryWrapper); return R.success(list); } - /** - * 获取部门评分评分人列表 - */ @PostMapping("/getOneScoreAssessorList") - private R> getOneScoreAssessorList(@RequestBody JSONObject obj){ + public R> getOneScoreAssessorList(@RequestBody JSONObject obj) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(PositionScoreView::getPositionId,obj.getString("positionId")) @@ -323,9 +261,6 @@ public class ScoreRuleController { return R.success(list); } - /** - * 修改部门评分评分人列表 - */ @PostMapping("/updateAssessor") private R updateAssessor(@RequestBody ScoreRuleForm form){ LambdaQueryWrapper queryWrapper1=new LambdaQueryWrapper<>(); @@ -350,15 +285,12 @@ public class ScoreRuleController { "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) .list(); - - final BigDecimal[] totalScore = {new BigDecimal(0)}; + BigDecimal totalScore=new BigDecimal(0); check.forEach(x->{ - if (!x.getId().equals(form.getId()) ) - totalScore[0] = totalScore[0].add(x.getPercent()); + totalScore.add(x.getPercent()); }); - - totalScore[0] = totalScore[0].add(form.getPercent()); - if(totalScore[0].compareTo(new BigDecimal(100)) > 0){ + totalScore.add(form.getPercent()); + if(totalScore.compareTo(new BigDecimal(100)) > 0){ return R.error("评分占比总和不可超过100%"); } @@ -378,11 +310,9 @@ public class ScoreRuleController { return R.success(); } - /** - * 删除部门评分评分人列表 - */ + @PostMapping("/removeAssessor") - private R removeAssessor(@RequestBody PositionScoreView form){ + public R removeAssessor(@RequestBody PositionScoreView form) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(PositionScore::getPositionId,form.getPositionId()) .eq(PositionScore::getScoreId,form.getScoreId()) @@ -408,11 +338,9 @@ public class ScoreRuleController { return R.success(); } - /** - * 复制上月 - */ + @PostMapping("/copy") - private R copy(){ + public R copy() { List list= ScoreRuleService.lambdaQuery() .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) @@ -426,9 +354,6 @@ public class ScoreRuleController { return R.success(); } - /** - * 历史记录 - */ @GetMapping("/scorePastPage") public R scorePastPage(@RequestParam("page") String page, @RequestParam("page_size") String pageSize){ LocalDate today = LocalDate.now(); @@ -443,9 +368,6 @@ public class ScoreRuleController { return R.success(pageInfo); } - /** - * 历史记录查询 - */ @GetMapping("/pastSearch") public R pastPage(@RequestParam("page") String page ,@RequestParam("page_size") String pageSize @@ -481,9 +403,6 @@ public class ScoreRuleController { return R.success(pageInfo); } - /** - * 上传评分条目 - */ @PostMapping("/upload") public void uploadExcel(MultipartFile file, HttpServletResponse response) throws IOException { EasyExcel.read(file.getInputStream(), ScoreExcel.class, new ScoreExcelReadListener()).sheet().doRead(); @@ -498,9 +417,6 @@ public class ScoreRuleController { ErrorExcelWrite.clearErrorCollection(); } - /** - * 上传部门评分条目 - */ @PostMapping("/uploadPosition") public void uploadPositionExcel(MultipartFile file,HttpServletResponse response) throws IOException { EasyExcel.read(file.getInputStream(), PositionScoreExcel.class, new PositionScoreExcelReadListener()).sheet().doRead(); diff --git a/src/main/java/com/example/workflow/controller/TaskViewController.java b/src/main/java/com/example/workflow/controller/TaskViewController.java index 71e4ae8718ce2877f430190987d7be9c35661265..16057358e7b776c2e9d4cfd2a83b93a25d09ebf2 100644 --- a/src/main/java/com/example/workflow/controller/TaskViewController.java +++ b/src/main/java/com/example/workflow/controller/TaskViewController.java @@ -2,33 +2,37 @@ package com.example.workflow.controller; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.StringUtils; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.example.workflow.common.R; import com.example.workflow.mapper.BackWaitMapper; import com.example.workflow.mapper.EmpPositionViewMapper; import com.example.workflow.mapper.EmployeePositionMapper; import com.example.workflow.mapper.PositionViewMapper; import com.example.workflow.mapper.TaskViewMapper; -import com.example.workflow.model.entity.*; +import com.example.workflow.model.entity.BackWait; +import com.example.workflow.model.entity.EmpPositionView; +import com.example.workflow.model.entity.EmployeePosition; +import com.example.workflow.model.entity.PositionView; +import com.example.workflow.model.entity.TaskState; +import com.example.workflow.model.entity.TaskView; import com.example.workflow.service.BackWaitService; -import com.example.workflow.service.EmpPartTimeRewardViewService; import com.example.workflow.service.EmployeePositionService; import com.example.workflow.service.TaskViewService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import java.time.LocalDate; -import java.time.LocalDateTime; -import java.time.LocalTime; -import java.util.*; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; import java.util.function.Function; import java.util.stream.Collectors; -/** - * 获取任务进程 - */ @Slf4j @RestController @RequestMapping("/TaskView") @@ -49,16 +53,9 @@ public class TaskViewController { private BackWaitService BackWaitService; @Autowired private EmployeePositionService EmployeePositionService; - @Autowired - private com.example.workflow.service.EmpPartTimeRewardViewService EmpPartTimeRewardViewService; - - LocalDate today = LocalDate.now(); - LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); - LocalDateTime endTime = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()), LocalTime.MAX); - @PostMapping("/getWageTask") - private R> getWageTask(@RequestBody JSONObject obj){ + public R> getWageTask(@RequestBody JSONObject obj) { LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); Wrapper.eq(TaskView::getName,"declare") .eq(TaskView::getAssignee,obj.getString("empId")); @@ -77,23 +74,17 @@ public class TaskViewController { empList.add(EmpPositionViewMapper.selectOne(query)); } }); - - //new - empList.sort(Comparator.comparing(EmpPositionView::getDeptName).thenComparing(EmpPositionView::getPosition)); - - return R.success(empList); } @PostMapping("/getFourthTask") - private R> getView(@RequestBody JSONObject obj){ + public R> getView(@RequestBody JSONObject obj) { LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); Wrapper.eq(TaskView::getAssignee,obj.getString("assessorId")) .eq(TaskView::getState,"ACTIVE") .and(qw -> qw.eq(TaskView::getName, "piece") .or().eq(TaskView::getName, "kpi")); - List task=TaskViewMapper.selectList(Wrapper); List taskList = task.stream() @@ -111,17 +102,12 @@ public class TaskViewController { .eq(EmpPositionView::getEmpId,x.getStartUserId()); empList.add(EmpPositionViewMapper.selectOne(queryWrapper2)); }); - - //new - empList.sort(Comparator.comparing(EmpPositionView::getDeptName).thenComparing(EmpPositionView::getPosition)); - - return R.success(empList); } @PostMapping("/getFourthTaskState") - private R getFourthTaskState(@RequestBody JSONObject obj){ + public R getFourthTaskState(@RequestBody JSONObject obj) { TaskState state=new TaskState(); state.setKpiState(0); state.setPieceState(0); @@ -146,7 +132,7 @@ public class TaskViewController { } @PostMapping("/getFourthEnterTask") - private R> getFourthEnterTask(@RequestBody JSONObject obj){ + public R> getFourthEnterTask(@RequestBody JSONObject obj) { LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); Wrapper.eq(TaskView::getAssignee,obj.getString("assessorId")) @@ -171,16 +157,12 @@ public class TaskViewController { empList.add(EmpPositionViewMapper.selectOne(queryWrapper)); }); - - //new - empList.sort(Comparator.comparing(EmpPositionView::getDeptName).thenComparing(EmpPositionView::getPosition)); - return R.success(empList); } @PostMapping("/getFourthTaskEnterState") - private R getFourthTaskEnterState(@RequestBody JSONObject obj){ + public R getFourthTaskEnterState(@RequestBody JSONObject obj) { TaskState state=new TaskState(); state.setKpiState(0); state.setPieceState(0); @@ -200,13 +182,12 @@ public class TaskViewController { state.setOkrState(1); } }); - return R.success(state); } @PostMapping("/getThirdTask") - private R> getThirdTask(@RequestBody JSONObject obj){ + public R> getThirdTask(@RequestBody JSONObject obj) { LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); Wrapper.eq(TaskView::getAssignee,obj.getString("assessorId")) @@ -221,17 +202,12 @@ public class TaskViewController { .eq(EmpPositionView::getProcessDefinitionId,x.getProcInstId()); empList.add(EmpPositionViewMapper.selectOne(queryWrapper)); }); - - //new - empList.sort(Comparator.comparing(EmpPositionView::getDeptName).thenComparing(EmpPositionView::getPosition)); - - return R.success(empList); } @PostMapping("/getSecondTask") - private R> getSecondTask(@RequestBody JSONObject obj){ + public R> getSecondTask(@RequestBody JSONObject obj) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(TaskView::getAssignee,obj.getString("assessorId")) .eq(TaskView::getName,"second") @@ -275,16 +251,11 @@ public class TaskViewController { positionViewList.add(PositionViewMapper.selectOne(queryWrapper3)); }); - //new - positionViewList.sort(Comparator.comparing(PositionView::getType).thenComparing(PositionView::getDeptName) - .thenComparing(PositionView::getPosition)); - - return R.success(positionViewList); } @PostMapping("/getBackWagePiece") - private R> getBackWagePiece(@RequestBody JSONObject obj){ + public R> getBackWagePiece(@RequestBody JSONObject obj) { LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); Wrapper.eq(TaskView::getAssignee,obj.getString("empId")) .eq(TaskView::getName,"back_wageEmp_piece") @@ -306,16 +277,11 @@ public class TaskViewController { .eq(EmpPositionView::getPositionId,x.getPositionId()); empList.add(EmpPositionViewMapper.selectOne(queryWrapper)); }); - - //new - empList.sort(Comparator.comparing(EmpPositionView::getDeptName).thenComparing(EmpPositionView::getPosition)); - - return R.success(empList); } @PostMapping("/getBackWageKpi") - private R> getBackWageKpi(@RequestBody JSONObject obj){ + public R> getBackWageKpi(@RequestBody JSONObject obj) { LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); Wrapper.eq(TaskView::getAssignee,obj.getString("empId")) .eq(TaskView::getName,"back_wageEmp_kpi") @@ -338,17 +304,11 @@ public class TaskViewController { .eq(EmpPositionView::getState,1); empList.add(EmpPositionViewMapper.selectOne(queryWrapper)); }); - - //new - empList.sort(Comparator.comparing(EmpPositionView::getDeptName).thenComparing(EmpPositionView::getPosition)); - - return R.success(empList); } @PostMapping("/getBackFourthScore") - private R> getBackFourthScore(@RequestBody JSONObject obj){ - + public R> getBackFourthScore(@RequestBody JSONObject obj) { LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); Wrapper.eq(TaskView::getAssignee,obj.getString("empId")) .eq(TaskView::getName,"back_score") @@ -363,29 +323,18 @@ public class TaskViewController { backWaitList.add(BackWaitMapper.selectOne(queryWrapper)); }); - List empList=new ArrayList<>(); - backWaitList.forEach(x->{ - LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(EmpPositionView::getEmpId,x.getEmpId()) .eq(EmpPositionView::getPositionId,x.getPositionId()); empList.add(EmpPositionViewMapper.selectOne(queryWrapper)); }); - - - //new - empList.sort(Comparator.comparing(EmpPositionView::getDeptName).thenComparing(EmpPositionView::getPosition)); - - - - return R.success(empList); } @PostMapping("/getBackFourthOkr") - private R> getBackFourthOkr(@RequestBody JSONObject obj){ + public R> getBackFourthOkr(@RequestBody JSONObject obj) { LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); Wrapper.eq(TaskView::getAssignee,obj.getString("empId")) .eq(TaskView::getName,"back_okr") @@ -407,16 +356,11 @@ public class TaskViewController { .eq(EmpPositionView::getPositionId,x.getPositionId()); empList.add(EmpPositionViewMapper.selectOne(queryWrapper)); }); - - //new - empList.sort(Comparator.comparing(EmpPositionView::getDeptName).thenComparing(EmpPositionView::getPosition)); - - return R.success(empList); } @PostMapping("/getBackFourthPiece") - private R> getBackFourthPiece(@RequestBody JSONObject obj){ + public R> getBackFourthPiece(@RequestBody JSONObject obj) { LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); Wrapper.eq(TaskView::getAssignee,obj.getString("empId")) .eq(TaskView::getName,"back_fourth_piece") @@ -439,16 +383,11 @@ public class TaskViewController { .eq(EmpPositionView::getState,1); empList.add(EmpPositionViewMapper.selectOne(queryWrapper)); }); - - //new - empList.sort(Comparator.comparing(EmpPositionView::getDeptName).thenComparing(EmpPositionView::getPosition)); - - return R.success(empList); } @PostMapping("/getBackFourthKpi") - private R> getBackFourthKpi(@RequestBody JSONObject obj){ + public R> getBackFourthKpi(@RequestBody JSONObject obj) { LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); Wrapper.eq(TaskView::getAssignee,obj.getString("empId")) .eq(TaskView::getName,"back_fourth_kpi") @@ -471,17 +410,11 @@ public class TaskViewController { .eq(EmpPositionView::getState,1); empList.add(EmpPositionViewMapper.selectOne(queryWrapper)); }); - - - //new - empList.sort(Comparator.comparing(EmpPositionView::getDeptName).thenComparing(EmpPositionView::getPosition)); - - return R.success(empList); } @PostMapping("/getBackThirdPiece") - private R> getBackThirdPiece(@RequestBody JSONObject obj){ + public R> getBackThirdPiece(@RequestBody JSONObject obj) { LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); Wrapper.eq(TaskView::getAssignee,obj.getString("empId")) .eq(TaskView::getName,"back_third_piece") @@ -503,17 +436,11 @@ public class TaskViewController { .eq(EmpPositionView::getPositionId,x.getPositionId()); empList.add(EmpPositionViewMapper.selectOne(queryWrapper)); }); - - - //new - empList.sort(Comparator.comparing(EmpPositionView::getDeptName).thenComparing(EmpPositionView::getPosition)); - - return R.success(empList); } @PostMapping("/getBackThirdKpi") - private R> getBackThirdKpi(@RequestBody JSONObject obj){ + public R> getBackThirdKpi(@RequestBody JSONObject obj) { LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); Wrapper.eq(TaskView::getAssignee,obj.getString("empId")) .eq(TaskView::getName,"back_third_kpi") @@ -535,17 +462,11 @@ public class TaskViewController { .eq(EmpPositionView::getPositionId,x.getPositionId()); empList.add(EmpPositionViewMapper.selectOne(queryWrapper)); }); - - - //new - empList.sort(Comparator.comparing(EmpPositionView::getDeptName).thenComparing(EmpPositionView::getPosition)); - - return R.success(empList); } @PostMapping("/getBackThirdScore") - private R> getBackThirdScore(@RequestBody JSONObject obj){ + public R> getBackThirdScore(@RequestBody JSONObject obj) { LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); Wrapper.eq(TaskView::getAssignee,obj.getString("empId")) .eq(TaskView::getName,"back_third_score") @@ -561,24 +482,17 @@ public class TaskViewController { }); List empList=new ArrayList<>(); - backWaitList.forEach(x->{ LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(EmpPositionView::getEmpId,x.getEmpId()) .eq(EmpPositionView::getPositionId,x.getPositionId()); empList.add(EmpPositionViewMapper.selectOne(queryWrapper)); }); - - //new - empList.sort(Comparator.comparing(EmpPositionView::getDeptName).thenComparing(EmpPositionView::getPosition)); - - - return R.success(empList); } @PostMapping("/getBackThirdOkr") - private R> getBackThirdOkr(@RequestBody JSONObject obj){ + public R> getBackThirdOkr(@RequestBody JSONObject obj) { LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); Wrapper.eq(TaskView::getAssignee,obj.getString("empId")) .eq(TaskView::getName,"back_third_okr") @@ -600,17 +514,12 @@ public class TaskViewController { .eq(EmpPositionView::getPositionId,x.getPositionId()); empList.add(EmpPositionViewMapper.selectOne(queryWrapper)); }); - - //new - empList.sort(Comparator.comparing(EmpPositionView::getDeptName).thenComparing(EmpPositionView::getPosition)); - - return R.success(empList); } @PostMapping("/getWageFileTask") - private R> getWageFileTask(@RequestBody JSONObject obj){ + public R> getWageFileTask(@RequestBody JSONObject obj) { LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); Wrapper.eq(TaskView::getAssignee,obj.getString("assessorId")) .eq(TaskView::getName,"wage_emp") @@ -633,17 +542,12 @@ public class TaskViewController { empList.add(EmpPositionViewMapper.selectOne(queryWrapper)); }); - - //new - empList.sort(Comparator.comparing(EmpPositionView::getDeptName).thenComparing(EmpPositionView::getPosition)); - - return R.success(empList); } @PostMapping("/fourthTaskCount") - private R> getFourthCount(@RequestBody JSONObject obj){ + public R> getFourthCount(@RequestBody JSONObject obj) { LambdaQueryWrapper Wrapper1=new LambdaQueryWrapper<>(); Wrapper1.eq(TaskView::getAssignee,obj.getString("assessorId")) .eq(TaskView::getState,"ACTIVE") @@ -704,32 +608,18 @@ public class TaskViewController { }); Integer count4=backWaitList4.size(); - - List list= EmpPartTimeRewardViewService.lambdaQuery() - .eq(EmpParttimeRewardView::getAssessorId,obj.getString("assessorId")) - .eq(EmpParttimeRewardView::getState,1) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .list(); - Integer count5 = list.size(); - - - Map resultMap = new HashMap<>(); resultMap.put("count1", count1); resultMap.put("count2", count2); resultMap.put("count3", count3); resultMap.put("count4", count4); - resultMap.put("count5", count5); return R.success(resultMap); } @PostMapping("/EmpWageTaskCount") - private R> getEmpWageCount(@RequestBody JSONObject obj){ + public R> getEmpWageCount(@RequestBody JSONObject obj) { LambdaQueryWrapper Wrapper1=new LambdaQueryWrapper<>(); Wrapper1.eq(TaskView::getAssignee,obj.getString("assessorId")) .eq(TaskView::getName,"wage_emp") @@ -788,7 +678,7 @@ public class TaskViewController { @PostMapping("/thirdTaskCount") - private R> getThirdCount(@RequestBody JSONObject obj){ + public R> getThirdCount(@RequestBody JSONObject obj) { LambdaQueryWrapper Wrapper1=new LambdaQueryWrapper<>(); Wrapper1.eq(TaskView::getAssignee,obj.getString("assessorId")) .eq(TaskView::getState,"ACTIVE") @@ -873,18 +763,6 @@ public class TaskViewController { }); Integer count6=backWaitList6.size(); - List list= EmpPartTimeRewardViewService.lambdaQuery() - .eq(EmpParttimeRewardView::getAssessorId,obj.getString("assessorId")) - .eq(EmpParttimeRewardView::getState,1) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .list(); - Integer count7 = list.size(); - - - Map resultMap = new HashMap<>(); resultMap.put("count1", count1); resultMap.put("count2", count2); @@ -892,13 +770,13 @@ public class TaskViewController { resultMap.put("count4", count4); resultMap.put("count5", count5); resultMap.put("count6", count6); - resultMap.put("count7", count7); + return R.success(resultMap); } @PostMapping("/secondTaskCount") - private R> getSecondCount(@RequestBody JSONObject obj){ + public R> getSecondCount(@RequestBody JSONObject obj) { LambdaQueryWrapper Wrapper1=new LambdaQueryWrapper<>(); Wrapper1.eq(TaskView::getAssignee,obj.getString("assessorId")) .eq(TaskView::getName,"third") @@ -992,18 +870,6 @@ public class TaskViewController { }); Integer count6=backWaitList6.size(); - - List list= EmpPartTimeRewardViewService.lambdaQuery() - .eq(EmpParttimeRewardView::getAssessorId,obj.getString("assessorId")) - .eq(EmpParttimeRewardView::getState,1) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .list(); - Integer count7 = list.size(); - - Map resultMap = new HashMap<>(); resultMap.put("count1", count1); resultMap.put("count2", count2); @@ -1011,7 +877,6 @@ public class TaskViewController { resultMap.put("count4", count4); resultMap.put("count5", count5); resultMap.put("count6", count6); - resultMap.put("count7", count7); return R.success(resultMap); } @@ -1186,50 +1051,4 @@ public class TaskViewController { return samePositionIds.size(); } - - @GetMapping("/getWageFileTaskSearch") - private R> getWageFileTaskSearch( - @RequestParam(defaultValue = "") String empName - , @RequestParam(defaultValue = "") String position - , @RequestParam(defaultValue = "") String deptName - , @RequestParam(defaultValue = "") String assessorId - - ){ - - System.out.println(empName); - System.out.println(position); - System.out.println(deptName); - System.out.println(assessorId); - - - LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); - Wrapper.eq(TaskView::getAssignee,assessorId) - .eq(TaskView::getName,"wage_emp") - .eq(TaskView::getState,"ACTIVE"); - List task=TaskViewMapper.selectList(Wrapper); - - List list=new ArrayList<>(); - task.forEach(x->{ - LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - queryWrapper.eq(EmployeePosition::getEmpId,x.getStartUserId()) - .eq(EmployeePosition::getProcessDefinitionId,x.getProcInstId()); - list.add(EmployeePositionMapper.selectOne(queryWrapper)); - }); - - List empList=new ArrayList<>(); - list.forEach(x->{ - LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - queryWrapper.eq(EmpPositionView::getEmpId,x.getEmpId()) - .eq(EmpPositionView::getPositionId,x.getPositionId()) - .like(EmpPositionView::getEmpName,empName) - .like(EmpPositionView::getPosition,position) - .like(EmpPositionView::getDeptName,deptName); - EmpPositionView empPositionView = EmpPositionViewMapper.selectOne(queryWrapper); - if (empPositionView!=null) - empList.add(empPositionView); - }); - - - return R.success(empList); - } } diff --git a/src/main/java/com/example/workflow/controller/TestController.java b/src/main/java/com/example/workflow/controller/TestController.java index 36fec64d1a1a5be8e65b8cf93c9f07fc87abcacb..9fcddcfaf3969c963253dbec264479ba833be80b 100644 --- a/src/main/java/com/example/workflow/controller/TestController.java +++ b/src/main/java/com/example/workflow/controller/TestController.java @@ -22,16 +22,16 @@ public class TestController { return "test"; }*/ @Autowired - private RepositoryService repositoryService; + public RepositoryService repositoryService; @Autowired private IdentityService identityService; @Autowired - private RuntimeService runtimeService; + public RuntimeService runtimeService; @Autowired private PositionAssessorService PositionAssessorService; @PostMapping("/test") - private R test(){ + public R test() { PositionAssessorService.monthCopy(); return R.success(); } diff --git a/src/main/java/com/example/workflow/controller/WageEmpController.java b/src/main/java/com/example/workflow/controller/WageEmpController.java index 9b3a9033ef6184d393e96be287cf5efe95d88e69..bccd4b151503d661086e05a9fab908fb13fb6837 100644 --- a/src/main/java/com/example/workflow/controller/WageEmpController.java +++ b/src/main/java/com/example/workflow/controller/WageEmpController.java @@ -1,26 +1,42 @@ package com.example.workflow.controller; -import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.example.workflow.common.R; import com.example.workflow.mapper.EmpKpiViewMapper; import com.example.workflow.mapper.EmpPieceViewMapper; -import com.example.workflow.mapper.ScoreContactAssessorsMapper; import com.example.workflow.mapper.TaskViewMapper; -import com.example.workflow.model.entity.*; -import com.example.workflow.service.*; +import com.example.workflow.model.entity.BackWait; +import com.example.workflow.model.entity.EmpKpiView; +import com.example.workflow.model.entity.EmpPieceView; +import com.example.workflow.model.entity.EmployeePosition; +import com.example.workflow.model.entity.OkrKey; +import com.example.workflow.model.entity.OkrRule; +import com.example.workflow.model.entity.Position; +import com.example.workflow.model.entity.PositionAssessor; +import com.example.workflow.model.entity.PositionKpi; +import com.example.workflow.model.entity.PositionPiece; +import com.example.workflow.model.entity.PositionScore; +import com.example.workflow.model.entity.ScoreAssessors; +import com.example.workflow.model.entity.TaskState; +import com.example.workflow.model.entity.TaskView; +import com.example.workflow.service.BackWaitService; +import com.example.workflow.service.OkrKeyService; +import com.example.workflow.service.OkrRuleService; +import com.example.workflow.service.PositionAssessorService; +import com.example.workflow.service.PositionKpiSerivce; +import com.example.workflow.service.PositionPieceService; +import com.example.workflow.service.PositionScoreService; +import com.example.workflow.service.TaskViewService; import lombok.extern.slf4j.Slf4j; import org.camunda.bpm.engine.TaskService; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; -import spinjar.com.fasterxml.jackson.core.type.TypeReference; -import spinjar.com.fasterxml.jackson.databind.ObjectMapper; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; - -import java.math.BigDecimal; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; @@ -31,9 +47,6 @@ import java.util.Map; import java.util.Objects; import java.util.stream.Collectors; -/** - * 绩效专员 - */ @Slf4j @RestController @RequestMapping("/WageEmp") @@ -69,30 +82,14 @@ public class WageEmpController { @Autowired private TaskViewService TaskViewService; - @Autowired - private EmpScoreService EmpScoreService; - @Autowired - private EmpOkrService EmpOkrService; - @Autowired - private EmpPerformanceService EmpPerformanceService; - @Autowired - private ScoreContactAssessorsMapper ScoreContactAssessorsMapper; - @Autowired - private EmpPerformanceViewService EmpPerformanceViewService; - @Autowired - private ResultFourthExamineService ResultFourthExamineService; - @Autowired - private ResultThirdExamineService ResultThirdExamineService; LocalDate today = LocalDate.now(); LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); LocalDateTime endTime = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()), LocalTime.MAX); - /** - * - */ + @PostMapping("/getState") - private R getState(@RequestBody JSONObject obj){ + public R getState(@RequestBody JSONObject obj) { TaskState state=new TaskState(); state.setKpiState(0); @@ -137,60 +134,17 @@ public class WageEmpController { return R.success(state); } - /** - * 申报 - * */ @PostMapping("/updateFlow") - private R updateFlow(@RequestBody JSONObject obj){ - - //勿动 - //获取员工所在岗位信息 - LambdaQueryWrapper wrapper=new LambdaQueryWrapper<>(); - wrapper.eq(EmployeePosition::getEmpId,obj.getString("empId")) - .eq(EmployeePosition::getPositionId,obj.getString("positionId")); - EmployeePosition EmployeePosition = EmployeePositionService.getOne(wrapper); - - //获取员工进程 - LambdaQueryWrapper query=new LambdaQueryWrapper<>(); - query.eq(TaskView::getStartUserId,obj.getString("empId")) - .eq(TaskView::getProcInstId,EmployeePosition.getProcessDefinitionId()) - .eq(TaskView::getName,"declare") - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')",endTime); - TaskView task = TaskViewMapper.selectOne(query); - - - //使用&&当task为null时不继续判断,防止task.getName()报空指针错误 - //当满足判定条件时 ,可继续下面申报流程 - if (task != null){ - - }else { - return R.error("已申报,请勿重复申报"); - } + public R updateFlow(@RequestBody JSONObject obj) { - - - //查找评分规则 Map map = new HashMap<>(); - - List assessorList1 = new ArrayList<>(); + List assessorList1 = new ArrayList<>(); LambdaQueryWrapper query1=new LambdaQueryWrapper<>(); - query1.eq(PositionScore::getPositionId,obj.getString("positionId")) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')",endTime); - - - List num1= PositionScoreService.list(query1); - - List list = new ArrayList<>(); + query1.eq(PositionScore::getPositionId,obj.getString("positionId")); + List num1= PositionScoreService.list(query1); num1.forEach(y->{ - List assessor= ScoreAssessorsService.lambdaQuery() .eq(ScoreAssessors::getPositionScoreId,y.getId()) .apply(StringUtils.checkValNotNull(beginTime), @@ -199,94 +153,11 @@ public class WageEmpController { "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')",endTime) .list(); - -// assessor.forEach(z-> assessorList1.add(String.valueOf(z.getAssessorId()))); - - //获取业绩评分 - - List scores = EmpPerformanceService.lambdaQuery() - .eq(PositionPerformance::getPositionId,obj.getString("positionId")) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')",endTime) - .list(); - - - List scoreIds = new ArrayList<>(); - for (PositionPerformance data : scores) { - scoreIds.add(data.getScoreId()); - } - - - //修改 建立初始评分 默认100分 - for (ScoreAssessors x : assessor) { - ScoreContactAssessors data = null; - if (!scoreIds.isEmpty()){ - LambdaQueryWrapper scoreContactAssessor =new LambdaQueryWrapper<>(); - scoreContactAssessor - .in(ScoreContactAssessors::getScoreId,scoreIds) - .eq(ScoreContactAssessors::getScoreAssessorsId,x.getId()) - .eq(ScoreContactAssessors::getPositionId,Long.parseLong(obj.getString("positionId"))) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')",endTime); - - data = ScoreContactAssessorsMapper.selectOne(scoreContactAssessor); - } - - if (data == null){ - assessorList1.add(String.valueOf(x.getAssessorId())); - EmpScore empScore = new EmpScore(); - empScore.setScore(BigDecimal.valueOf(100)); - empScore.setScoreAssessorsId(x.getId()); - empScore.setEmpId(Long.valueOf(obj.getString("empId"))); - empScore.setRemark("超时自动评分"); - list.add(empScore); - - }else { - - PositionPerformance yy = EmpPerformanceService.lambdaQuery() - .eq(PositionPerformance::getPositionId,Long.parseLong(obj.getString("positionId"))) - .eq(PositionPerformance::getScoreId,data.getScoreId()) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')",endTime) - .one(); - - - PositionPerformanceView positionPerformanceView = EmpPerformanceViewService.lambdaQuery() - .eq(PositionPerformanceView::getId,yy.getId()) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')",endTime) - .one(); - - - EmpScore empScore = new EmpScore(); - empScore.setScore(BigDecimal.valueOf(yy.getGrade())); - empScore.setScoreAssessorsId(x.getId()); - empScore.setEmpId(Long.valueOf(obj.getString("empId"))); - empScore.setRemark("业绩自动评分,实际完成进度"+positionPerformanceView.getGrade1()+"%"); - list.add(empScore); - - } - - } - - + assessor.forEach(z-> assessorList1.add(String.valueOf(z.getAssessorId()))); }); - //新增 - EmpScoreService.saveBatch(list); - List assessors1=assessorList1.stream().distinct().collect(Collectors.toList()); - - if(assessors1.isEmpty()) { map.put("scoreAppoint", "false"); } else{ @@ -294,8 +165,6 @@ public class WageEmpController { map.put("scoreAppoint", "true"); } - - //查找计件规则 List pieceList= PositionPieceService.lambdaQuery() .eq(PositionPiece::getPositionId,obj.getString("positionId")) .apply(StringUtils.checkValNotNull(beginTime), @@ -309,7 +178,6 @@ public class WageEmpController { map.put("pieceAppoint", "true"); } - //查找kpi规则 List kpiList= PositionKpiSerivce.lambdaQuery() .eq(PositionKpi::getPositionId,obj.getString("positionId")) .apply(StringUtils.checkValNotNull(beginTime), @@ -323,8 +191,6 @@ public class WageEmpController { map.put("kpiAppoint", "true"); } - - //查找okr规则 LocalDateTime lastBeginTime = LocalDateTime.of(today.withDayOfMonth(1).minusMonths(1), LocalTime.MIN); LocalDateTime latsEndTime = LocalDateTime.of(today.withDayOfMonth(1).minusDays(1), LocalTime.MAX); List keyList=OkrKeyService.lambdaQuery() @@ -336,32 +202,14 @@ public class WageEmpController { "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", latsEndTime) .list(); List assessorList2=new ArrayList<>(); - - List list2 = new ArrayList<>(); - keyList.forEach(x->{ - OkrRule okrRule = OkrRuleService.lambdaQuery() .eq(OkrRule::getId, x.getRuleId()) .one(); - if (Objects.nonNull(okrRule)) { assessorList2.add(okrRule.getAssessorId().toString()); } - - //修改 建立初始评分 默认0分 - EmpOkr empOkr = new EmpOkr(); - empOkr.setScore(BigDecimal.valueOf(0)); - empOkr.setRemark("超时自动评分"); - empOkr.setOkrKeyId(x.getId()); - empOkr.setEmpId(Long.valueOf(obj.getString("empId"))); - list2.add(empOkr); - }); - //新增 - EmpOkrService.saveBatch(list2); - - List assessors2=assessorList2.stream().distinct().collect(Collectors.toList()); if(assessors2.isEmpty()) { map.put("okrAppoint", "false"); @@ -370,12 +218,10 @@ public class WageEmpController { map.put("okrAppoint", "true"); } - //获取岗位信息 Position position=PositionService.lambdaQuery() .eq(Position::getId,obj.getString("positionId")) .one(); - //获取评分人信息 PositionAssessor assessor=PositionAssessorService.lambdaQuery() .eq(PositionAssessor::getPositionId,obj.getString("positionId")) .apply(StringUtils.checkValNotNull(beginTime), @@ -384,149 +230,51 @@ public class WageEmpController { "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) .one(); - - if (map.get("pieceAppoint").equals("true")||map.get("kpiAppoint").equals("true")){ - //建立初审通过 - ResultFourthExamine newOne = new ResultFourthExamine(); - if (map.get("pieceAppoint").equals("true")) - newOne.setPieceExamine(new Short("1")); - if (map.get("kpiAppoint").equals("true")) - newOne.setKpiExamine(new Short("1")); - newOne.setEmpId(Long.valueOf(obj.getString("empId"))); - newOne.setPositionId(Long.valueOf(obj.getString("positionId"))); - newOne.setAssessorId(assessor.getFourthAssessorId()); - ResultFourthExamineService.save(newOne); - } - - - //普通员工岗 if(position.getType()==5){ map.put("fourthAssessor",assessor.getFourthAssessorId().toString()); map.put("fourthTimer",assessor.getFourthTimer()); map.put("thirdAssessor",assessor.getThirdAssessorId().toString()); map.put("thirdTimer",assessor.getThirdTimer()); - map.put("secondAssessor",assessor.getSecondAssessorId().toString()); - map.put("secondTimer",assessor.getSecondTimer()); - ResultThirdExamine examine1 =new ResultThirdExamine(); - examine1.setEmpId(Long.valueOf(obj.getString("empId"))); - examine1.setAssessorId(assessor.getThirdAssessorId()); - examine1.setPositionId(Long.valueOf(obj.getString("positionId"))); - examine1.setScoreExamine((short) 1); - examine1.setPieceExamine((short) 1); - examine1.setKpiExamine((short) 1); - examine1.setOkrExamine((short) 1); - ResultThirdExamineService.save(examine1); -// map.put("wage_emp",obj.getString("assessorId")); } - - //四级CEO岗 else if(position.getType()==4){ map.put("thirdAssessor",assessor.getThirdAssessorId().toString()); map.put("thirdTimer",assessor.getThirdTimer()); map.put("secondAssessor",assessor.getSecondAssessorId().toString()); map.put("secondTimer",assessor.getSecondTimer()); - ResultThirdExamine examine1 =new ResultThirdExamine(); - examine1.setEmpId(Long.valueOf(obj.getString("empId"))); - examine1.setAssessorId(assessor.getThirdAssessorId()); - examine1.setPositionId(Long.valueOf(obj.getString("positionId"))); - examine1.setScoreExamine((short) 1); - examine1.setPieceExamine((short) 1); - examine1.setKpiExamine((short) 1); - examine1.setOkrExamine((short) 1); - ResultThirdExamineService.save(examine1); -// map.put("wage_emp",obj.getString("assessorId")); } - - //三级CEO岗 else if(position.getType()==3){ map.put("secondAssessor",assessor.getSecondAssessorId().toString()); map.put("secondTimer",assessor.getSecondTimer()); -// map.put("wage_emp",obj.getString("assessorId")); } + LambdaQueryWrapper wrapper=new LambdaQueryWrapper<>(); + wrapper.eq(EmployeePosition::getEmpId,obj.getString("empId")) + .eq(EmployeePosition::getPositionId,obj.getString("positionId")); + EmployeePosition EmployeePosition=EmployeePositionService.getOne(wrapper); - - -// //获取员工所在岗位信息 -// LambdaQueryWrapper wrapper=new LambdaQueryWrapper<>(); -// wrapper.eq(EmployeePosition::getEmpId,obj.getString("empId")) -// .eq(EmployeePosition::getPositionId,obj.getString("positionId")); -// EmployeePosition EmployeePosition=EmployeePositionService.getOne(wrapper); -// -// //获取员工进程 -// LambdaQueryWrapper query=new LambdaQueryWrapper<>(); -// query.eq(TaskView::getStartUserId,obj.getString("empId")) -// .eq(TaskView::getProcInstId,EmployeePosition.getProcessDefinitionId()); -// TaskView task=TaskViewMapper.selectOne(query); - + LambdaQueryWrapper query=new LambdaQueryWrapper<>(); + query.eq(TaskView::getStartUserId,obj.getString("empId")) + .eq(TaskView::getProcInstId,EmployeePosition.getProcessDefinitionId()); + TaskView task=TaskViewMapper.selectOne(query); taskService.complete(task.getId(),map); + return R.success(); } - /** - * 一键申报 - * */ - @PostMapping("/updateFlowAll") - private R updateFlowAll(@RequestBody JSONObject obj){ - - String assessorId = obj.getString("assessorId"); - - JSONArray jsonArray = obj.getJSONArray("select"); - - List list = jsonArray.toJavaList(EmployeePosition.class); - - if(list == null || list.isEmpty()) { + @PostMapping("/updateFlowAll") + public R updateFlowAll(@RequestBody List list) { + if(list.isEmpty()) { return R.error("未选择申报对象,请选择申报对象"); } - //标志 - int flag = 0; - //判断 - for (EmployeePosition x : list) { - //获取员工所在岗位信息 - LambdaQueryWrapper wrapper=new LambdaQueryWrapper<>(); - wrapper.eq(EmployeePosition::getEmpId,x.getEmpId()) - .eq(EmployeePosition::getPositionId,x.getPositionId()); - EmployeePosition EmployeePosition = EmployeePositionService.getOne(wrapper); - //获取员工进程 - LambdaQueryWrapper query=new LambdaQueryWrapper<>(); - query.eq(TaskView::getStartUserId,x.getEmpId()) - .eq(TaskView::getProcInstId,EmployeePosition.getProcessDefinitionId()) - .eq(TaskView::getName,"declare"); - TaskView task = TaskViewMapper.selectOne(query); - - query.eq(TaskView::getStartUserId,x.getEmpId()) - .eq(TaskView::getProcInstId,EmployeePosition.getProcessDefinitionId()); - //使用&&当task为null时不继续判断,防止task.getName()报空指针错误当满足判定条件时 ,可继续下面申报流程 - if (task != null){ - - }else { - flag += 1; - } - } - if (flag != 0){ - return R.error("已有"+flag+"人被申报,请刷新"); - } - - //人 list.forEach(x->{ - Map map = new HashMap<>(); - //评分 List assessorList1 = new ArrayList<>(); LambdaQueryWrapper query1=new LambdaQueryWrapper<>(); - query1.eq(PositionScore::getPositionId,x.getPositionId()) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')",endTime); - - + query1.eq(PositionScore::getPositionId,x.getPositionId()); List num1= PositionScoreService.list(query1); - List list1 = new ArrayList<>(); - //评分条目 num1.forEach(y->{ List assessor= ScoreAssessorsService.lambdaQuery() .eq(ScoreAssessors::getPositionScoreId,y.getId()) @@ -535,87 +283,10 @@ public class WageEmpController { .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')",endTime) .list(); - - - List scores = EmpPerformanceService.lambdaQuery() - .eq(PositionPerformance::getPositionId,x.getPositionId()) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')",endTime) - .list(); - - - List scoreIds = new ArrayList<>(); - for (PositionPerformance data : scores) { - scoreIds.add(data.getScoreId()); - } - -// assessor.forEach(z-> assessorList1.add(String.valueOf(z.getAssessorId()))); - - //修改 建立初始评分 默认100分 - //评分人 - for (ScoreAssessors z : assessor) { - ScoreContactAssessors data = null; - if (!scoreIds.isEmpty()){ - LambdaQueryWrapper scoreContactAssessor =new LambdaQueryWrapper<>(); - scoreContactAssessor - .in(ScoreContactAssessors::getScoreId,scoreIds) - .eq(ScoreContactAssessors::getScoreAssessorsId,z.getId()) - .eq(ScoreContactAssessors::getPositionId,x.getPositionId()) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')",endTime); - - data = ScoreContactAssessorsMapper.selectOne(scoreContactAssessor); - } - - if (data == null){ - assessorList1.add(String.valueOf(z.getAssessorId())); - EmpScore empScore = new EmpScore(); - empScore.setScore(BigDecimal.valueOf(100)); - empScore.setScoreAssessorsId(z.getId()); - empScore.setEmpId(x.getEmpId()); - empScore.setRemark("超时自动评分"); - list1.add(empScore); - - }else { - - PositionPerformance yy = EmpPerformanceService.lambdaQuery() - .eq(PositionPerformance::getPositionId,x.getPositionId()) - .eq(PositionPerformance::getScoreId,data.getScoreId()) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')",endTime) - .one(); - - PositionPerformanceView positionPerformanceView = EmpPerformanceViewService.lambdaQuery() - .eq(PositionPerformanceView::getId,yy.getId()) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')",endTime) - .one(); - - EmpScore empScore = new EmpScore(); - empScore.setScore(BigDecimal.valueOf(yy.getGrade())); - empScore.setScoreAssessorsId(z.getId()); - empScore.setEmpId(x.getEmpId()); - empScore.setRemark("业绩自动评分,实际完成进度"+positionPerformanceView.getGrade1()+"%"); - list1.add(empScore); - } - - - - } + assessor.forEach(z-> assessorList1.add(String.valueOf(z.getAssessorId()))); }); - //新增 - EmpScoreService.saveBatch(list1); - - List assessors1 = assessorList1.stream().distinct().collect(Collectors.toList()); + List assessors1=assessorList1.stream().distinct().collect(Collectors.toList()); if(assessors1.isEmpty()) { map.put("scoreAppoint", "false"); } else{ @@ -623,10 +294,6 @@ public class WageEmpController { map.put("scoreAppoint", "true"); } - - - - List pieceList= PositionPieceService.lambdaQuery() .eq(PositionPiece::getPositionId,x.getPositionId()) .apply(StringUtils.checkValNotNull(beginTime), @@ -634,7 +301,6 @@ public class WageEmpController { .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')",endTime) .list(); - if(pieceList.isEmpty()) { map.put("pieceAppoint", "false"); } else { @@ -654,7 +320,6 @@ public class WageEmpController { map.put("kpiAppoint", "true"); } - LocalDateTime lastBeginTime = LocalDateTime.of(today.withDayOfMonth(1).minusMonths(1), LocalTime.MIN); LocalDateTime latsEndTime = LocalDateTime.of(today.withDayOfMonth(1).minusDays(1), LocalTime.MAX); List keyList=OkrKeyService.lambdaQuery() @@ -665,32 +330,13 @@ public class WageEmpController { .apply(StringUtils.checkValNotNull(latsEndTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", latsEndTime) .list(); - List assessorList2=new ArrayList<>(); - List list2 = new ArrayList<>(); - keyList.forEach(xx->{ - + keyList.forEach(y-> { OkrRule okrRule = OkrRuleService.lambdaQuery() - .eq(OkrRule::getId, xx.getRuleId()) + .eq(OkrRule::getId, y.getRuleId()) .one(); - - if (Objects.nonNull(okrRule)) { - assessorList2.add(okrRule.getAssessorId().toString()); - } - - //修改 建立初始评分 默认0分 - EmpOkr empOkr = new EmpOkr(); - empOkr.setScore(BigDecimal.valueOf(0)); - empOkr.setOkrKeyId(xx.getId()); - empOkr.setEmpId(Long.valueOf(x.getEmpId())); - empOkr.setRemark("超时自动评分"); - list2.add(empOkr); + assessorList2.add(okrRule.getAssessorId().toString()); }); - //新增 - EmpOkrService.saveBatch(list2); - - - List assessors2=assessorList2.stream().distinct().collect(Collectors.toList()); if(assessors2.isEmpty()) { map.put("okrAppoint", "false"); @@ -711,58 +357,17 @@ public class WageEmpController { "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) .one(); - if (map.get("pieceAppoint").equals("true")||map.get("kpiAppoint").equals("true")){ - //建立初审通过 - ResultFourthExamine newOne = new ResultFourthExamine(); - if (map.get("pieceAppoint").equals("true")) - newOne.setPieceExamine(new Short("1")); - if (map.get("kpiAppoint").equals("true")) - newOne.setKpiExamine(new Short("1")); - newOne.setEmpId(Long.valueOf(x.getEmpId())); - newOne.setPositionId(Long.valueOf(x.getPositionId())); - newOne.setAssessorId(assessor.getFourthAssessorId()); - ResultFourthExamineService.save(newOne); - } - if(position.getType()==5){ map.put("fourthAssessor",assessor.getFourthAssessorId().toString()); map.put("fourthTimer",assessor.getFourthTimer()); - map.put("thirdAssessor",assessor.getThirdAssessorId().toString()); - map.put("thirdTimer",assessor.getThirdTimer()); - map.put("secondAssessor",assessor.getSecondAssessorId().toString()); - map.put("secondTimer",assessor.getSecondTimer()); - - ResultThirdExamine examine1 =new ResultThirdExamine(); - examine1.setEmpId(x.getEmpId()); - examine1.setAssessorId(assessor.getThirdAssessorId()); - examine1.setPositionId(Long.valueOf(x.getPositionId())); - examine1.setScoreExamine((short) 1); - examine1.setPieceExamine((short) 1); - examine1.setKpiExamine((short) 1); - examine1.setOkrExamine((short) 1); - ResultThirdExamineService.save(examine1); - //map.put("wage_emp",assessorId); } else if(position.getType()==4){ map.put("thirdAssessor",assessor.getThirdAssessorId().toString()); map.put("thirdTimer",assessor.getThirdTimer()); - map.put("secondAssessor",assessor.getSecondAssessorId().toString()); - map.put("secondTimer",assessor.getSecondAssessorId()); - ResultThirdExamine examine1 =new ResultThirdExamine(); - examine1.setEmpId(x.getEmpId()); - examine1.setAssessorId(assessor.getThirdAssessorId()); - examine1.setPositionId(Long.valueOf(x.getPositionId())); - examine1.setScoreExamine((short) 1); - examine1.setPieceExamine((short) 1); - examine1.setKpiExamine((short) 1); - examine1.setOkrExamine((short) 1); - ResultThirdExamineService.save(examine1); -// map.put("wage_emp",assessorId); } else if(position.getType()==3){ map.put("secondAssessor",assessor.getSecondAssessorId().toString()); map.put("secondTimer",assessor.getSecondTimer()); -// map.put("wage_emp",assessorId); } LambdaQueryWrapper wrapper=new LambdaQueryWrapper<>(); @@ -774,28 +379,22 @@ public class WageEmpController { query.eq(TaskView::getStartUserId,x.getEmpId()) .eq(TaskView::getProcInstId,EmployeePosition.getProcessDefinitionId()); TaskView task=TaskViewMapper.selectOne(query); - - taskService.complete(task.getId(),map); }); return R.success(); } - /** - * 绩效专员重新导入计件数据 - * */ @PostMapping("/reAddPiece") - private R reAddPiece(@RequestBody JSONObject obj){ + public R reAddPiece(@RequestBody JSONObject obj) { BackWait backWait=BackWaitService.lambdaQuery() .eq(BackWait::getPositionId,obj.getString("positionId")) .eq(BackWait::getEmpId,obj.getString("empId")) - .and(qw -> qw.eq(BackWait::getType,"back_fourth_piece") - .or().eq(BackWait::getType,"back_third_piece") + .and(qw -> qw.eq(BackWait::getType,"fourth_piece_back") + .or().eq(BackWait::getType,"third_piece_back") .or().eq(BackWait::getType,"back_second_piece")) .one(); - TaskView taskView=TaskViewService.lambdaQuery() .eq(TaskView::getAssignee,obj.getString("assessorId")) .eq(TaskView::getName,"back_wageEmp_piece") @@ -803,10 +402,6 @@ public class WageEmpController { .eq(TaskView::getProcInstId,backWait.getProcessDefineId()) .one(); - if (taskView == null){ - return R.error("已提交重审,请勿重复提交"); - } - PositionAssessor nextAssessor = PositionAssessorService.lambdaQuery() .eq(PositionAssessor::getPositionId, obj.getString("positionId")) .apply(StringUtils.checkValNotNull(beginTime), @@ -830,20 +425,17 @@ public class WageEmpController { return R.success(); } - /** - * 绩效专员重新导入kpi数据 - * */ + @PostMapping("/reAddKpi") - private R reAddKpi(@RequestBody JSONObject obj){ + public R reAddKpi(@RequestBody JSONObject obj) { BackWait backWait=BackWaitService.lambdaQuery() .eq(BackWait::getPositionId,obj.getString("positionId")) .eq(BackWait::getEmpId,obj.getString("empId")) - .and(qw -> qw.eq(BackWait::getType,"back_fourth_kpi") - .or().eq(BackWait::getType,"back_third_kpi") + .and(qw -> qw.eq(BackWait::getType,"fourth_kpi_back") + .or().eq(BackWait::getType,"third_kpi_back") .or().eq(BackWait::getType,"back_second_kpi")) .one(); - TaskView taskView=TaskViewService.lambdaQuery() .eq(TaskView::getAssignee,obj.getString("assessorId")) .eq(TaskView::getName,"back_wageEmp_kpi") @@ -851,10 +443,6 @@ public class WageEmpController { .eq(TaskView::getProcInstId,backWait.getProcessDefineId()) .one(); - if (taskView == null){ - return R.error("已提交重审,请勿重复提交"); - } - PositionAssessor nextAssessor = PositionAssessorService.lambdaQuery() .eq(PositionAssessor::getPositionId, obj.getString("positionId")) .apply(StringUtils.checkValNotNull(beginTime), diff --git a/src/main/java/com/example/workflow/enums/PositionEnum.java b/src/main/java/com/example/workflow/enums/PositionEnum.java new file mode 100644 index 0000000000000000000000000000000000000000..3044d7282ff70f6121b42216c92d3ccca58e9549 --- /dev/null +++ b/src/main/java/com/example/workflow/enums/PositionEnum.java @@ -0,0 +1,23 @@ +package com.example.workflow.enums; + +import lombok.Getter; + + +@Getter +public enum PositionEnum { + + //一类岗位 + ONE("1","Process_1gzouwy"), + FOUR("4", "Process_1whe0gq"), + THREE("3", "Process_01p7ac7") + ; + /** 岗位类型*/ + final Short type ; + /** 流程key */ + final String processKey; + + PositionEnum(String type, String processKey) { + this.type = Short.parseShort(type); + this.processKey = processKey; + } +} diff --git a/src/main/java/com/example/workflow/enums/ProcessState.java b/src/main/java/com/example/workflow/enums/ProcessState.java new file mode 100644 index 0000000000000000000000000000000000000000..32117f241458c223aefe0e97fd27cb210be9691e --- /dev/null +++ b/src/main/java/com/example/workflow/enums/ProcessState.java @@ -0,0 +1,15 @@ +package com.example.workflow.enums; + +public enum ProcessState { + ACTIVE("ACTIVE"); + + private final String state; + + public String getState() { + return this.state; + } + + ProcessState(final String state) { + this.state = state; + } +} \ No newline at end of file diff --git a/src/main/java/com/example/workflow/interceptor/MyCorsFilter.java b/src/main/java/com/example/workflow/interceptor/MyCorsFilter.java new file mode 100644 index 0000000000000000000000000000000000000000..2d3737b01f1a283239b90f4ef4768ee6cc542416 --- /dev/null +++ b/src/main/java/com/example/workflow/interceptor/MyCorsFilter.java @@ -0,0 +1,31 @@ +package com.example.workflow.interceptor; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.cors.CorsConfiguration; +import org.springframework.web.cors.UrlBasedCorsConfigurationSource; +import org.springframework.web.filter.CorsFilter; + +@Configuration +public class MyCorsFilter { + @Bean + public CorsFilter corsFilter() { + // 1.创建 CORS 配置对象 + CorsConfiguration config = new CorsConfiguration(); + // 支持域 + config.addAllowedOriginPattern("*"); + // 是否发送 Cookie + config.setAllowCredentials(true); + // 支持请求方式 + config.addAllowedMethod("*"); + // 允许的原始请求头部信息 + config.addAllowedHeader("*"); + // 暴露的头部信息 + config.addExposedHeader("X-Request-ID"); + // 2.添加地址映射 + UrlBasedCorsConfigurationSource corsConfigurationSource = new UrlBasedCorsConfigurationSource(); + corsConfigurationSource.registerCorsConfiguration("/**", config); + // 3.返回 CorsFilter 对象 + return new CorsFilter(corsConfigurationSource); + } +} \ No newline at end of file diff --git a/src/main/java/com/example/workflow/interceptor/TokenCheckInterceptor.java b/src/main/java/com/example/workflow/interceptor/TokenCheckInterceptor.java index 723c6dad003b407ed5a009261742c60bf83e1b54..dfa1324c3f544cbc8d8fd92617759596c2cebb66 100644 --- a/src/main/java/com/example/workflow/interceptor/TokenCheckInterceptor.java +++ b/src/main/java/com/example/workflow/interceptor/TokenCheckInterceptor.java @@ -1,10 +1,8 @@ package com.example.workflow.interceptor; -import camundafeel.de.odysseus.el.tree.impl.Scanner; -import com.auth0.jwt.interfaces.Claim; import com.example.workflow.exception.BaseException; -import com.example.workflow.utils.JWTHelper; -import org.springframework.beans.factory.annotation.Autowired; +import com.example.workflow.utils.JwtHelper; +import org.springframework.http.HttpMethod; import org.springframework.stereotype.Component; import org.springframework.util.StringUtils; import org.springframework.web.servlet.HandlerInterceptor; @@ -12,23 +10,13 @@ import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import javax.servlet.http.HttpSession; -import java.io.UnsupportedEncodingException; -import java.util.HashMap; -import java.util.Map; -/** - * 令牌 - * */ @Component public class TokenCheckInterceptor implements HandlerInterceptor { - @Autowired - private HttpSession session; - - @Override//目标资源(controller接口)放行前运行,返回true:放行,返回false:不放行 - public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws UnsupportedEncodingException { - if (request.getMethod().equals("OPTIONS")) { + @Override + public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) { + if (HttpMethod.OPTIONS.matches(request.getMethod())) { return true; } // 获取请求头中的令牌(token) @@ -41,48 +29,17 @@ public class TokenCheckInterceptor implements HandlerInterceptor { throw new BaseException("403", "登录信息无效,请先登录"); } } - - token = token.replace("Bearer ",""); - //解析token,如果解析失败,返回错误结果(token失效) - Map map = JWTHelper.verifyToken(token); - - - if (map == null) { - throw new BaseException("403", "登录信息无效,请先登录,token is invalid"); - } - - Long exp = (Long) session.getAttribute(token); - if (exp == null) { - //在规定时间内没有发送请求,则token过期 - throw new BaseException("403", "登录信息无效,请先登录,token已过期"); - } - - //session可以在规定时间内发送请求自动续约 - - - - Long timestamp = JWTHelper.generateExpireDate(JWTHelper.EXPIRE_TIME); - //token失效时间 - - - - - - - -// session.setAttribute(token,timestamp); - - return true; + return !JwtHelper.isExpired(token); } - @Override//目标资源方法运行后运行 + @Override public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { HandlerInterceptor.super.postHandle(request, response, handler, modelAndView); } - @Override//视图渲染完毕后运行,最后运行 + @Override public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { HandlerInterceptor.super.afterCompletion(request, response, handler, ex); } diff --git a/src/main/java/com/example/workflow/mapper/ActReDeploymentMapper.java b/src/main/java/com/example/workflow/mapper/ActReDeploymentMapper.java deleted file mode 100644 index 450b0a98bd7929855b09b2121324645b0a60009f..0000000000000000000000000000000000000000 --- a/src/main/java/com/example/workflow/mapper/ActReDeploymentMapper.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.example.workflow.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.example.workflow.model.entity.ActReDeployment; -import org.apache.ibatis.annotations.Mapper; - -@Mapper -public interface ActReDeploymentMapper extends BaseMapper { -} diff --git a/src/main/java/com/example/workflow/mapper/DeptPerformanceMapper.java b/src/main/java/com/example/workflow/mapper/DeptPerformanceMapper.java index 5cd491d3a4c149dc31bf9b42f54aa7b3a234f1dd..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 --- a/src/main/java/com/example/workflow/mapper/DeptPerformanceMapper.java +++ b/src/main/java/com/example/workflow/mapper/DeptPerformanceMapper.java @@ -1,9 +0,0 @@ -package com.example.workflow.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.example.workflow.model.entity.DeptPerformance; -import org.apache.ibatis.annotations.Mapper; - -@Mapper -public interface DeptPerformanceMapper extends BaseMapper { -} diff --git a/src/main/java/com/example/workflow/model/entity/PdfFile.java b/src/main/java/com/example/workflow/model/entity/PdfFile.java index fddccb039ccdb14fedd4c6f0392409c86dfbc22c..bb9bfd73b2d8ebbcc233a83b37f529dafaf49eaa 100644 --- a/src/main/java/com/example/workflow/model/entity/PdfFile.java +++ b/src/main/java/com/example/workflow/model/entity/PdfFile.java @@ -6,8 +6,6 @@ import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; -import javax.persistence.Entity; -import javax.persistence.Id; import java.io.Serializable; import java.time.LocalDateTime; @@ -22,13 +20,12 @@ import java.time.LocalDateTime; @Data @EqualsAndHashCode(callSuper = false) @Accessors(chain = true) -@Entity @TableName("pdf_file") public class PdfFile implements Serializable { private static final long serialVersionUID = 1L; - @Id + private String id; /** diff --git a/src/main/java/com/example/workflow/repository/PdfFileRepository.java b/src/main/java/com/example/workflow/repository/PdfFileRepository.java deleted file mode 100644 index 8c1ea2e901a700c7e0352fda65337d0aa76519bf..0000000000000000000000000000000000000000 --- a/src/main/java/com/example/workflow/repository/PdfFileRepository.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.example.workflow.repository; - -import com.example.workflow.model.entity.PdfFile; -import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.stereotype.Repository; - -@Repository -public interface PdfFileRepository extends JpaRepository { -} diff --git a/src/main/java/com/example/workflow/service/EmpCoefficientService.java b/src/main/java/com/example/workflow/service/EmpCoefficientService.java index f6843c3304141dd8f80b87b8c4a5376b527ddfd4..454b8816f14c3deca4f788bc3a1f6aaa88376ea5 100644 --- a/src/main/java/com/example/workflow/service/EmpCoefficientService.java +++ b/src/main/java/com/example/workflow/service/EmpCoefficientService.java @@ -9,5 +9,4 @@ import java.util.List; public interface EmpCoefficientService extends IService { void monthCopy(); - void setStateToEmployee(List employeeIdAndStateIdList); } diff --git a/src/main/java/com/example/workflow/service/ResultSecondExamineService.java b/src/main/java/com/example/workflow/service/ResultSecondExamineService.java index 6d766ae646186cafddaa77c87c40508a330b8050..d164859362e0d1debd873a0e937105c971eb5ed1 100644 --- a/src/main/java/com/example/workflow/service/ResultSecondExamineService.java +++ b/src/main/java/com/example/workflow/service/ResultSecondExamineService.java @@ -1,29 +1,9 @@ package com.example.workflow.service; -import com.alibaba.fastjson.JSONObject; + import com.baomidou.mybatisplus.extension.service.IService; -import com.example.workflow.model.entity.EmployeePosition; import com.example.workflow.model.entity.ResultSecondExamine; public interface ResultSecondExamineService extends IService { - void rePieceSecondFifth(JSONObject form,Long empId); - - void reKpiSecondFifth(JSONObject form,Long empId); - - void reScoreSecondFifth(JSONObject form, Long empId); - - void reOkrSecondFifth(JSONObject form, EmployeePosition emp); - - void rePieceSecondFourth(JSONObject form,Long empId); - - void reKpiSecondFourth(JSONObject form,Long empId); - - void reScoreSecondFourth(JSONObject form, Long empId); - - void reOkrSecondFourth(JSONObject form, EmployeePosition emp); - - void rePieceSecondThird(JSONObject form,Long empId); - - void reKpiSecondThird(JSONObject form,Long empId); } diff --git a/src/main/java/com/example/workflow/service/impl/DeptPerformanceServiceImpl.java b/src/main/java/com/example/workflow/service/impl/DeptPerformanceServiceImpl.java deleted file mode 100644 index c6dfb8280d8e80015e3efe470719b692b4cf235d..0000000000000000000000000000000000000000 --- a/src/main/java/com/example/workflow/service/impl/DeptPerformanceServiceImpl.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.example.workflow.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.example.workflow.mapper.DeptHierarchyMapper; -import com.example.workflow.mapper.DeptPerformanceMapper; -import com.example.workflow.model.entity.DeptHierarchy; -import com.example.workflow.model.entity.DeptPerformance; -import com.example.workflow.service.DeptHierarchyService; -import com.example.workflow.service.DeptPerformanceService; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; - -@Service -@RequiredArgsConstructor -@Slf4j -public class DeptPerformanceServiceImpl extends ServiceImpl implements DeptPerformanceService { -} diff --git a/src/main/java/com/example/workflow/service/impl/DeptPerformanceViewServiceImpl.java b/src/main/java/com/example/workflow/service/impl/DeptPerformanceViewServiceImpl.java deleted file mode 100644 index f10dabdffa489e3b5192f1bd9d8b94390b7d5b0a..0000000000000000000000000000000000000000 --- a/src/main/java/com/example/workflow/service/impl/DeptPerformanceViewServiceImpl.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.example.workflow.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.example.workflow.mapper.DeptPerformanceMapper; -import com.example.workflow.mapper.DeptPerformanceViewMapper; -import com.example.workflow.model.entity.DeptPerformance; -import com.example.workflow.model.entity.DeptPerformanceView; -import com.example.workflow.service.DeptPerformanceService; -import com.example.workflow.service.DeptPerformanceViewService; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; - -@Service -@RequiredArgsConstructor -@Slf4j -public class DeptPerformanceViewServiceImpl extends ServiceImpl implements DeptPerformanceViewService { -} diff --git a/src/main/java/com/example/workflow/service/impl/DeptServiceImpl.java b/src/main/java/com/example/workflow/service/impl/DeptServiceImpl.java index aeda0a4555fa025b057fa4f9c27c7d13063cf1bb..d0bed974f6c7d0896609a5383ff80a86b8616854 100644 --- a/src/main/java/com/example/workflow/service/impl/DeptServiceImpl.java +++ b/src/main/java/com/example/workflow/service/impl/DeptServiceImpl.java @@ -69,6 +69,9 @@ public class DeptServiceImpl extends ServiceImpl implements De */ @Override public Map getDeptNameMap(List ids) { + if (CollectionUtils.isEmpty(ids)) { + return Collections.emptyMap(); + } // 首先根据部门id获取部门 List depts = lambdaQuery().in(Dept::getId, ids).list(); if (CollectionUtils.isEmpty(depts)) { @@ -198,7 +201,10 @@ public class DeptServiceImpl extends ServiceImpl implements De Set deptHierarchySet = new HashSet<>(); for (DeptHierarchy dh : deptHierarchyList) { - deptHierarchySet.add(dh.getChildId()); + if (!dh.getParentId().equals(1L)) { + deptHierarchySet.add(dh.getChildId()); + } + DeptVo parentDept = deptMap.get(dh.getParentId()); DeptVo childDept = deptMap.get(dh.getChildId()); diff --git a/src/main/java/com/example/workflow/service/impl/EmpCoefficientServiceImpl.java b/src/main/java/com/example/workflow/service/impl/EmpCoefficientServiceImpl.java index ebe48740bb146a5b71b25367494c6b8835f93e19..ece2c81c755b8bc78cf939aac16df6b08c046b89 100644 --- a/src/main/java/com/example/workflow/service/impl/EmpCoefficientServiceImpl.java +++ b/src/main/java/com/example/workflow/service/impl/EmpCoefficientServiceImpl.java @@ -3,36 +3,23 @@ package com.example.workflow.service.impl; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.example.workflow.mapper.EmpCoefficientMapper; -import com.example.workflow.model.entity.*; -import com.example.workflow.model.pojo.EmpIdAndStateId; +import com.example.workflow.model.entity.EmpCoefficient; +import com.example.workflow.model.entity.RegionCoefficient; import com.example.workflow.service.EmpCoefficientService; -import com.example.workflow.service.EmployeeService; import com.example.workflow.service.RegionCoefficientService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import org.springframework.util.CollectionUtils; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; -import java.util.ArrayList; import java.util.List; -import java.util.Objects; -import java.util.Set; -import java.util.stream.Collectors; @Service public class EmpCoefficientServiceImpl extends ServiceImpl implements EmpCoefficientService { - @Autowired - private EmpCoefficientService EmpCoefficientService; + @Autowired private RegionCoefficientService RegionCoefficientService; - @Autowired - private EmployeeService EmployeeService; - /** - * 复制上月员工业绩系数 - * **/ - @Override public void monthCopy(){ @@ -40,7 +27,8 @@ public class EmpCoefficientServiceImpl extends ServiceImpl list=EmpCoefficientService.lambdaQuery() + List list= lambdaQuery() + .eq(EmpCoefficient::getState,1) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), @@ -65,25 +53,7 @@ public class EmpCoefficientServiceImpl extends ServiceImpl empIdAndStateIdList) { - LocalDate today = LocalDate.now(); - LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); - LocalDateTime endTime = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()), LocalTime.MAX); - for (EmpIdAndStateId x : empIdAndStateIdList) { - EmpCoefficient empCoefficient = EmpCoefficientService.lambdaQuery() - .in(EmpCoefficient::getEmpId, x.getEmpId()).apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .one(); - empCoefficient.setState(x.getStateId()); - EmpCoefficientService.updateById(empCoefficient); - - } - } } diff --git a/src/main/java/com/example/workflow/service/impl/EmployeeServiceImpl.java b/src/main/java/com/example/workflow/service/impl/EmployeeServiceImpl.java index 34b3afa35ea31d24f1a19779fcb3ebf4df4c5231..e4aa5e15dc72a9384f291965aad6450bfbc443a8 100644 --- a/src/main/java/com/example/workflow/service/impl/EmployeeServiceImpl.java +++ b/src/main/java/com/example/workflow/service/impl/EmployeeServiceImpl.java @@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.toolkit.Db; import com.example.workflow.common.R; +import com.example.workflow.enums.PositionEnum; import com.example.workflow.mapper.EmployeeMapper; import com.example.workflow.mapper.EmployeePositionMapper; import com.example.workflow.model.dto.EmployeeFormDto; @@ -51,6 +52,7 @@ import com.example.workflow.service.RegionCoefficientService; import com.example.workflow.service.RoleBtnService; import com.example.workflow.service.RoleService; import com.example.workflow.service.ScoreAssessorsService; +import com.example.workflow.utils.Check; import com.example.workflow.utils.DateTimeUtils; import com.example.workflow.utils.Find; import lombok.RequiredArgsConstructor; @@ -73,6 +75,7 @@ import java.util.Objects; import java.util.Set; import java.util.StringJoiner; import java.util.concurrent.atomic.AtomicReference; +import java.util.function.Function; import java.util.stream.Collectors; /** @@ -118,21 +121,18 @@ public class EmployeeServiceImpl extends ServiceImpl i @Autowired private EmpOkrService EmpOkrService; - /** - * 改变员工账号状态 - */ - + // 改变员工账号状态 @Override public void setStateToEmployee(List empIdAndStateIdList) { - //stateId = 0 停用 + // stateId = 0 停用 Set state0EmpSet = empIdAndStateIdList.stream().filter(empIdAndStateId -> empIdAndStateId.getStateId().equals(Short.valueOf("0"))).map(EmpIdAndStateId::getEmpId).collect(Collectors.toSet()); - if (!CollectionUtils.isEmpty(state0EmpSet)){ - lambdaUpdate().set(Employee::getState, 0).in(Employee::getId,state0EmpSet).update(); + if (!CollectionUtils.isEmpty(state0EmpSet)) { + lambdaUpdate().set(Employee::getState, 0).in(Employee::getId, state0EmpSet).update(); } - //stateId = 1 恢复 + // stateId = 1 恢复 Set state1EmpSet = empIdAndStateIdList.stream().filter(empIdAndStateId -> empIdAndStateId.getStateId().equals(Short.valueOf("1"))).map(EmpIdAndStateId::getEmpId).collect(Collectors.toSet()); - if (!CollectionUtils.isEmpty(state1EmpSet)){ - lambdaUpdate().set(Employee::getState, 1).in(Employee::getId,state1EmpSet).update(); + if (!CollectionUtils.isEmpty(state1EmpSet)) { + lambdaUpdate().set(Employee::getState, 1).in(Employee::getId, state1EmpSet).update(); } } @@ -174,11 +174,6 @@ public class EmployeeServiceImpl extends ServiceImpl i if (Objects.nonNull(role)) { employeeExcel.setRoleName(role.getRoleName()); } - if (employee.getState()==0){ - employeeExcel.setState("停用"); - }else { - employeeExcel.setState("正常"); - } // 向返回对象设置岗位和部门信息 setPositionAndDeptToEmployeeExcel(employeeId, employeeExcel); // 向返回对象设置地域和岗位绩效 @@ -251,7 +246,7 @@ public class EmployeeServiceImpl extends ServiceImpl i */ @Override - public List getList(String name, String num,Long roleId,Long id) { + public List getList(String name, String num, Long roleId, Long id) { List employeeVos = new ArrayList<>(); // 获取员工基本信息 @@ -266,6 +261,121 @@ public class EmployeeServiceImpl extends ServiceImpl i return employeeVos; } + /** + * 使用map提高性能 + */ + + private void wrapperToEmployeeVo2(List employees, List employeeVos) { + // 角色 + Set roleIdSet = employees.stream().map(Employee::getRoleId).collect(Collectors.toSet()); + List roleList = roleService.listByIds(roleIdSet); + Map roleMap = roleList.stream().collect(Collectors.toMap(Role::getId, Function.identity())); + + // 员工系数 + List employeeIdList = employees.stream().map(Employee::getId).distinct().collect(Collectors.toList()); + LocalDateTime[] times = DateTimeUtils.getTheStartAndEndTimeOfMonth(); + List empCoefficientList = empCoefficientService.lambdaQuery().eq(EmpCoefficient::getEmpId, employeeIdList).between(EmpCoefficient::getCreateTime, times[0], times[1]).list(); + Map empCoefficientMap = empCoefficientList.stream().collect(Collectors.toMap(EmpCoefficient::getEmpId, Function.identity())); + + // 地域系数 + List regionCoefficientIdList = empCoefficientList.stream().map(EmpCoefficient::getRegionCoefficientId).distinct().collect(Collectors.toList()); + Map regionCoefficientMap = getRegionCoefficientMap(regionCoefficientIdList); + + // 员工岗位 + List employeePositionList = employeePositionService.lambdaQuery().eq(EmployeePosition::getEmpId, employeeIdList).list(); + List positionIdList = employeePositionList.stream().map(EmployeePosition::getPositionId).distinct().collect(Collectors.toList()); + List positions = new ArrayList<>(0); + if (!CollectionUtils.isEmpty(positionIdList)) { + positions = positionService.listByIds(positionIdList); + } + Map> employeePositionMap = getEmployeePositionMap(employeeIdList, positions, employeePositionList); + + + + // 部门名 + Map deptNameMap = deptService.getDeptNameMap(positionIdList); + + for (Employee employee : employees) { + EmployeeVo employeeVo = new EmployeeVo(); + BeanUtils.copyProperties(employee, employeeVo); + + // 职务名 + Long roleId = employee.getRoleId(); + Role role = roleMap.get(roleId); + if (Check.noNull(roleId, role)) { + String roleName = role.getRoleName(); + employeeVo.setRoleName(roleName); + } + + //系数与地域 + Long employeeId = employee.getId(); + EmpCoefficient empCoefficient = empCoefficientMap.get(employeeId); + if (Objects.nonNull(empCoefficient)) { + // 员工级别 + BigDecimal grade = empCoefficient.getPositionCoefficient(); + employeeVo.setGrade(grade); + + // 地域名称 + Long regionCoefficientId = empCoefficient.getRegionCoefficientId(); + RegionCoefficient regionCoefficient = regionCoefficientMap.get(regionCoefficientId); + if (Objects.nonNull(regionCoefficient)) { + String region = regionCoefficient.getRegion(); + employeeVo.setRegionName(region); + } + } + + //岗位与部门 + List employeePositions = employeePositionMap.get(employeeId); + if (!CollectionUtils.isEmpty(employeePositions)) { + //岗位名 + List positionNameList = employeePositions.stream() + .map(Position::getPosition) + .collect(Collectors.toList()); + employeeVo.setPostName(positionNameList); + + // 部门名 + Set deptIdSet = employeePositions.stream().map(Position::getDeptId).collect(Collectors.toSet()); + List deptNameList = deptNameMap.entrySet().stream() + .filter(entry -> deptIdSet.contains(entry.getKey())) + .map(Map.Entry::getValue) + .collect(Collectors.toList()); + employeeVo.setDeptNames(deptNameList); + + } + + employeeVos.add(employeeVo); + } + } + + /** + * 获取地域系数 + */ + + private Map getRegionCoefficientMap(List regionCoefficientIdList) { + if (!CollectionUtils.isEmpty(regionCoefficientIdList)) { + List regionCoefficientList = regionCoefficientService.listByIds(regionCoefficientIdList); + return regionCoefficientList.stream().collect(Collectors.toMap(RegionCoefficient::getId, Function.identity())); + } + return new HashMap<>(0); + } + + /** + * 获取员工岗位 + */ + private Map> getEmployeePositionMap(List employeeIdList, List positions, List employeePositionList) { + + Map positionMap = positions.stream().collect(Collectors.toMap(Position::getId, Function.identity())); + Map> poitionIdMap = employeePositionList.stream().collect(Collectors.groupingBy(EmployeePosition::getEmpId, Collectors.mapping(EmployeePosition::getPositionId, Collectors.toSet()))); + + Map> employeePositionMap = new HashMap<>(employeeIdList.size()); + poitionIdMap.forEach((empId, positionIdSet) -> { + List positionList = positionIdSet.stream().distinct().map(positionMap::get).collect(Collectors.toList()); + employeePositionMap.put(empId, positionList); + }); + return employeePositionMap; + } + + // 为员工添加额外信息 private void wrapperToEmployeeVo(List employees, List employeeVos) { if (!CollectionUtils.isEmpty(employees)) { @@ -445,7 +555,9 @@ public class EmployeeServiceImpl extends ServiceImpl i HashMap positionMap = new HashMap<>(); // 哈希表降低查询岗位名称的时间复杂度 - for (Position position : positions) positionMap.put(position.getId(), position.getPosition()); + for (Position position : positions) { + positionMap.put(position.getId(), position.getPosition()); + } if (employeePositions != null) { employeePositions.stream().filter(Objects::nonNull).forEach(employeePosition -> { @@ -606,7 +718,9 @@ public class EmployeeServiceImpl extends ServiceImpl i List roles = Db.lambdaQuery(Role.class).list(); // 将角色转换为map,提高检索时的效率 Map roleMap = new HashMap<>(); - for (Role role : roles) roleMap.put(role.getId(), role.getRoleName()); + for (Role role : roles) { + roleMap.put(role.getId(), role.getRoleName()); + } // 根据岗位id分组之后的岗位 Map> positionMap = positions.stream().collect(Collectors.groupingBy(Position::getId)); @@ -634,7 +748,9 @@ public class EmployeeServiceImpl extends ServiceImpl i // 再根据部门id调用deptService的getDeptName()获得部门name String deptName = deptIdNameMap.get(deptId1); - if (Find.findPathDeptId(deptHierarchyMap, deptId, deptId1)) hasDeptIdFlag.set(true); + if (Find.findPathDeptId(deptHierarchyMap, deptId, deptId1)) { + hasDeptIdFlag.set(true); + } positionIds.add(positionId); postNames.add(postName); deptIds.add(deptId1); @@ -691,9 +807,6 @@ public class EmployeeServiceImpl extends ServiceImpl i @Transactional @Override public R addEmployee(EmployeeFormDto employeeFormDto) { - - - // 员工号不嫩重复 String num = employeeFormDto.getNum(); @@ -704,30 +817,42 @@ public class EmployeeServiceImpl extends ServiceImpl i Employee employee = new Employee(); BeanUtils.copyProperties(employeeFormDto, employee); save(employee); - log.info(employee.toString()); List postIdPercentList = employeeFormDto.getPostIdPercent(); + Set postIdSet = postIdPercentList.stream() + .map(PostIdPercent::getPostId) + .collect(Collectors.toSet()); // 岗位所对应的绩效 - Map map = postIdPercentList.stream().collect(Collectors.toMap(PostIdPercent::getPostId, PostIdPercent::getPercent)); - + Map percentMap = postIdPercentList.stream().collect(Collectors.toMap(PostIdPercent::getPostId, PostIdPercent::getPercent)); + List positionList = Db.lambdaQuery(Position.class).in(Position::getId, postIdSet).list(); + + if (!CollectionUtils.isEmpty(positionList)) { + Map typeMap = positionList.stream().collect(Collectors.toMap(Position::getId, Position::getType)); + + List employeePositionList = postIdSet.stream().map(postId -> { + // 向员工岗位表插入数据 + EmployeePosition employeePosition = new EmployeePosition(); + employeePosition.setEmpId(employee.getId()); + employeePosition.setState(1); + employeePosition.setPositionId(postId); + employeePosition.setPosiPercent(percentMap.get(postId)); + + Short type = typeMap.get(postId); + if (type.equals(PositionEnum.ONE.getType())) { + employeePosition.setProcessKey(PositionEnum.ONE.getProcessKey()); + } else if (type.equals(PositionEnum.FOUR.getType())) { + employeePosition.setProcessKey(PositionEnum.FOUR.getProcessKey()); + } else if (type.equals(PositionEnum.THREE.getType())) { + employeePosition.setProcessKey(PositionEnum.THREE.getProcessKey()); + } + return employeePosition; + }).collect(Collectors.toList()); + employeePositionService.saveBatch(employeePositionList); - map.forEach((postId, percent) -> { + } - // 向员工岗位表插入数据 - EmployeePosition employeePosition = new EmployeePosition(); - employeePosition.setEmpId(employee.getId()); - employeePosition.setState(1); - employeePosition.setPositionId(postId); - employeePosition.setPosiPercent(map.get(postId)); - - Short type = Db.lambdaQuery(Position.class).eq(Position::getId, postId).one().getType(); - if (type == 5) employeePosition.setProcessKey("Process_1gzouwy"); - else if (type == 4) employeePosition.setProcessKey("Process_1whe0gq"); - else if (type == 3) employeePosition.setProcessKey("Process_01p7ac7"); - employeePositionService.save(employeePosition); - }); // 向员工绩效表中添加数据 EmpCoefficient empCoefficient = new EmpCoefficient(); @@ -887,45 +1012,45 @@ public class EmployeeServiceImpl extends ServiceImpl i wrapper1.eq(EmpCoefficient::getEmpId, id).between(EmpCoefficient::getUpdateTime, time[0], time[1]); empCoefficientService.remove(wrapper1); - LambdaUpdateWrapper deleteWapper1=new LambdaUpdateWrapper<>(); - deleteWapper1.set(PositionAssessor::getFourthAssessorId,null) - .eq(PositionAssessor::getFourthAssessorId,id) + LambdaUpdateWrapper deleteWapper1 = new LambdaUpdateWrapper<>(); + deleteWapper1.set(PositionAssessor::getFourthAssessorId, null) + .eq(PositionAssessor::getFourthAssessorId, id) .between(PositionAssessor::getUpdateTime, time[0], time[1]); PositionAssessorService.update(deleteWapper1); - LambdaUpdateWrapper deleteWapper2=new LambdaUpdateWrapper<>(); - deleteWapper2.set(PositionAssessor::getThirdAssessorId,null) - .eq(PositionAssessor::getThirdAssessorId,id) + LambdaUpdateWrapper deleteWapper2 = new LambdaUpdateWrapper<>(); + deleteWapper2.set(PositionAssessor::getThirdAssessorId, null) + .eq(PositionAssessor::getThirdAssessorId, id) .between(PositionAssessor::getUpdateTime, time[0], time[1]); PositionAssessorService.update(deleteWapper2); - LambdaUpdateWrapper deleteWapper3=new LambdaUpdateWrapper<>(); - deleteWapper3.set(PositionAssessor::getSecondAssessorId,null) - .eq(PositionAssessor::getSecondAssessorId,id) + LambdaUpdateWrapper deleteWapper3 = new LambdaUpdateWrapper<>(); + deleteWapper3.set(PositionAssessor::getSecondAssessorId, null) + .eq(PositionAssessor::getSecondAssessorId, id) .between(PositionAssessor::getUpdateTime, time[0], time[1]); PositionAssessorService.update(deleteWapper3); - LambdaQueryWrapper deleteWapper5=new LambdaQueryWrapper<>(); - deleteWapper5.eq(ScoreAssessors::getAssessorId,id) + LambdaQueryWrapper deleteWapper5 = new LambdaQueryWrapper<>(); + deleteWapper5.eq(ScoreAssessors::getAssessorId, id) .between(ScoreAssessors::getUpdateTime, time[0], time[1]); ScoreAssessorsService.remove(deleteWapper5); - LambdaQueryWrapper deleteWapper6=new LambdaQueryWrapper<>(); - deleteWapper6.eq(EmpKpi::getEmpId,id) + LambdaQueryWrapper deleteWapper6 = new LambdaQueryWrapper<>(); + deleteWapper6.eq(EmpKpi::getEmpId, id) .between(EmpKpi::getUpdateTime, time[0], time[1]); EmpKpiService.remove(deleteWapper6); - LambdaQueryWrapper deleteWapper7=new LambdaQueryWrapper<>(); - deleteWapper7.eq(EmpPiece::getEmpId,id) + LambdaQueryWrapper deleteWapper7 = new LambdaQueryWrapper<>(); + deleteWapper7.eq(EmpPiece::getEmpId, id) .between(EmpPiece::getUpdateTime, time[0], time[1]); EmpPieceService.remove(deleteWapper7); - LambdaQueryWrapper deleteWapper8=new LambdaQueryWrapper<>(); - deleteWapper8.eq(EmpReward::getEmpId,id) + LambdaQueryWrapper deleteWapper8 = new LambdaQueryWrapper<>(); + deleteWapper8.eq(EmpReward::getEmpId, id) .between(EmpReward::getUpdateTime, time[0], time[1]); EmpRewardService.remove(deleteWapper8); - LambdaQueryWrapper deleteWapper9=new LambdaQueryWrapper<>(); - deleteWapper9.eq(EmpScore::getEmpId,id) + LambdaQueryWrapper deleteWapper9 = new LambdaQueryWrapper<>(); + deleteWapper9.eq(EmpScore::getEmpId, id) .between(EmpScore::getUpdateTime, time[0], time[1]); EmpScoreService.remove(deleteWapper9); - LambdaQueryWrapper deleteWapper10=new LambdaQueryWrapper<>(); - deleteWapper10.eq(EmpOkr::getEmpId,id) + LambdaQueryWrapper deleteWapper10 = new LambdaQueryWrapper<>(); + deleteWapper10.eq(EmpOkr::getEmpId, id) .between(EmpOkr::getUpdateTime, time[0], time[1]); EmpOkrService.remove(deleteWapper10); }); @@ -966,10 +1091,10 @@ public class EmployeeServiceImpl extends ServiceImpl i return R.success(routerAndButtonVo); } - /** - * @param deptId 部门id - * @return 员工信息集合 - */ + /** + * @param deptId 部门id + * @return 员工信息集合 + */ @Override public List getEmployeeVoListByDeptId(Long deptId) { ArrayList employeeVos = new ArrayList<>(); diff --git a/src/main/java/com/example/workflow/service/impl/KpiRuleServiceImpl.java b/src/main/java/com/example/workflow/service/impl/KpiRuleServiceImpl.java index b52fb6f7a2f8b8b115374e83cc23996b6437fc23..729c134a70c1a003c689d9dc498e8387d666a7c0 100644 --- a/src/main/java/com/example/workflow/service/impl/KpiRuleServiceImpl.java +++ b/src/main/java/com/example/workflow/service/impl/KpiRuleServiceImpl.java @@ -20,8 +20,7 @@ import java.util.List; @Service public class KpiRuleServiceImpl extends ServiceImpl implements KpiRuleService { - @Autowired - private KpiRuleService KpiRuleService; + @Autowired private PositionKpiSerivce PositionKpiSerivce; @Autowired @@ -34,7 +33,7 @@ public class KpiRuleServiceImpl extends ServiceImpl impl LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1).minusMonths(1), LocalTime.MIN); LocalDateTime endTime = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()).minusMonths(1), LocalTime.MAX); - List list=KpiRuleService.lambdaQuery() + List list= lambdaQuery() .eq(KpiRule::getState,1) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) @@ -57,7 +56,7 @@ public class KpiRuleServiceImpl extends ServiceImpl impl .list(); x.setId(null); - KpiRuleService.save(x); + save(x); positionKpis.forEach(y->{ y.setId(null); diff --git a/src/main/java/com/example/workflow/service/impl/PerformanceRuleServiceImpl.java b/src/main/java/com/example/workflow/service/impl/PerformanceRuleServiceImpl.java index b5fe9f1645eebc4448950f8f6ea46cf4335301d8..6901774c1d4403207ecc75b1e8b03a8e4e0e9502 100644 --- a/src/main/java/com/example/workflow/service/impl/PerformanceRuleServiceImpl.java +++ b/src/main/java/com/example/workflow/service/impl/PerformanceRuleServiceImpl.java @@ -1,7 +1,7 @@ package com.example.workflow.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.example.workflow.mapper.DeptPerformanceMapper; + import com.example.workflow.mapper.PerformanceRuleMapper; import com.example.workflow.model.entity.DeptPerformance; import com.example.workflow.model.entity.PerformanceRule; diff --git a/src/main/java/com/example/workflow/service/impl/PieceRuleServiceImpl.java b/src/main/java/com/example/workflow/service/impl/PieceRuleServiceImpl.java index 60b456f0e784fac624ee317cae917b2788c88040..1aa53998aeb9d47e91a07e3147196d9801860365 100644 --- a/src/main/java/com/example/workflow/service/impl/PieceRuleServiceImpl.java +++ b/src/main/java/com/example/workflow/service/impl/PieceRuleServiceImpl.java @@ -20,8 +20,7 @@ import java.util.List; @Service public class PieceRuleServiceImpl extends ServiceImpl implements PieceRuleService { - @Autowired - private PieceRuleService PieceRuleService; + @Autowired private PositionPieceService PositionPieceService; @@ -32,7 +31,7 @@ public class PieceRuleServiceImpl extends ServiceImpl list=PieceRuleService.lambdaQuery() + List list= lambdaQuery() .eq(PieceRule::getState,1) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) @@ -50,7 +49,7 @@ public class PieceRuleServiceImpl extends ServiceImpl{ y.setId(null); diff --git a/src/main/java/com/example/workflow/service/impl/PositionAssessorServiceImpl.java b/src/main/java/com/example/workflow/service/impl/PositionAssessorServiceImpl.java index 719f92195453653b1f5a98987439a674804e0f9f..438db96335927fdb0a045d75fdfcbc5278ac580c 100644 --- a/src/main/java/com/example/workflow/service/impl/PositionAssessorServiceImpl.java +++ b/src/main/java/com/example/workflow/service/impl/PositionAssessorServiceImpl.java @@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.example.workflow.mapper.PositionAssessorMapper; import com.example.workflow.model.entity.PositionAssessor; import com.example.workflow.service.PositionAssessorService; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.time.LocalDate; @@ -15,8 +14,7 @@ import java.util.List; @Service public class PositionAssessorServiceImpl extends ServiceImpl implements PositionAssessorService { - @Autowired - private PositionAssessorService PositionAssessorService; + @Override @@ -25,7 +23,7 @@ public class PositionAssessorServiceImpl extends ServiceImpl list=PositionAssessorService.lambdaQuery() + List list= lambdaQuery() .eq(PositionAssessor::getState,1) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) @@ -35,7 +33,7 @@ public class PositionAssessorServiceImpl extends ServiceImpl{ x.setId(null); - PositionAssessorService.save(x); + save(x); }); } diff --git a/src/main/java/com/example/workflow/service/impl/RegionCoefficientServiceImpl.java b/src/main/java/com/example/workflow/service/impl/RegionCoefficientServiceImpl.java index d60bdf89de2e7698c72ed52a93683062b30e25d2..06ba210f1ec9c3173ca9f09b6a838586deb9ca14 100644 --- a/src/main/java/com/example/workflow/service/impl/RegionCoefficientServiceImpl.java +++ b/src/main/java/com/example/workflow/service/impl/RegionCoefficientServiceImpl.java @@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.example.workflow.mapper.RegionCoefficientMapper; import com.example.workflow.model.entity.RegionCoefficient; import com.example.workflow.service.RegionCoefficientService; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.time.LocalDate; @@ -15,8 +14,7 @@ import java.util.List; @Service public class RegionCoefficientServiceImpl extends ServiceImpl implements RegionCoefficientService { - @Autowired - private RegionCoefficientService RegionCoefficientService; + @Override public String defineRule(List list){ String rule= "package resources.rules;\r\n"; @@ -42,8 +40,8 @@ public class RegionCoefficientServiceImpl extends ServiceImpl list=RegionCoefficientService.lambdaQuery() -// .eq(RegionCoefficient::getState,1) + List list=lambdaQuery() + .eq(RegionCoefficient::getState,1) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), @@ -52,7 +50,7 @@ public class RegionCoefficientServiceImpl extends ServiceImpl{ x.setId(null); - RegionCoefficientService.save(x); + save(x); }); } } diff --git a/src/main/java/com/example/workflow/service/impl/ResultSecondExamineServiceImpl.java b/src/main/java/com/example/workflow/service/impl/ResultSecondExamineServiceImpl.java deleted file mode 100644 index 6d544c535ab9bf5ec0a9d3538b1b7f431404207e..0000000000000000000000000000000000000000 --- a/src/main/java/com/example/workflow/service/impl/ResultSecondExamineServiceImpl.java +++ /dev/null @@ -1,491 +0,0 @@ -package com.example.workflow.service.impl; - -import com.alibaba.fastjson.JSONObject; -import com.baomidou.mybatisplus.core.toolkit.StringUtils; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.example.workflow.mapper.ResultSecondExamineMapper; -import com.example.workflow.model.entity.BackWait; -import com.example.workflow.model.entity.Employee; -import com.example.workflow.model.entity.EmployeePosition; -import com.example.workflow.model.entity.OkrKey; -import com.example.workflow.model.entity.OkrRule; -import com.example.workflow.model.entity.PositionScore; -import com.example.workflow.model.entity.ResultSecondExamine; -import com.example.workflow.model.entity.Role; -import com.example.workflow.model.entity.ScoreAssessors; -import com.example.workflow.service.BackWaitService; -import com.example.workflow.service.EmployeePositionService; -import com.example.workflow.service.EmployeeService; -import com.example.workflow.service.OkrKeyService; -import com.example.workflow.service.OkrRuleService; -import com.example.workflow.service.PositionScoreService; -import com.example.workflow.service.ResultSecondExamineService; -import com.example.workflow.service.RoleService; -import com.example.workflow.service.ScoreAssessorsService; -import org.camunda.bpm.engine.IdentityService; -import org.camunda.bpm.engine.RuntimeService; -import org.camunda.bpm.engine.runtime.ProcessInstance; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.time.LocalDate; -import java.time.LocalDateTime; -import java.time.LocalTime; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; - -@Service -public class ResultSecondExamineServiceImpl extends ServiceImpl implements ResultSecondExamineService { - @Autowired - private IdentityService identityService; - @Autowired - private EmployeePositionService EmployeePositionService; - @Autowired - private RoleService RoleService; - @Autowired - private RuntimeService runtimeService; - @Autowired - private PositionScoreService PositionScoreService; - @Autowired - private ScoreAssessorsService ScoreAssessorsService; - @Autowired - private BackWaitService BackWaitService; - @Autowired - private OkrKeyService OkrKeyService; - @Autowired - private OkrRuleService OkrRuleService; - @Autowired - private EmployeeService EmployeeService; - LocalDate today = LocalDate.now(); - LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); - LocalDateTime endTime = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()), LocalTime.MAX); - - @Override - public void rePieceSecondFifth(JSONObject form,Long id){ - - Long roleId= RoleService.lambdaQuery() - .eq(Role::getRoleName,"绩效专员") - .eq(Role::getState,1) - .one().getId(); - - Long empId=EmployeeService.lambdaQuery() - .eq(Employee::getRoleId,roleId) - .one().getId(); - - List list= EmployeePositionService - .lambdaQuery() - .eq(EmployeePosition::getPositionId,form.getString("positionId")) - .eq(EmployeePosition::getEmpId,id) - .list(); - - list.forEach(x->{ - Map map = new HashMap<>(); - map.put("wageEmp",empId.toString()); - - identityService.setAuthenticatedUserId(String.valueOf(x.getEmpId())); - ProcessInstance processInstance = runtimeService - .startProcessInstanceByKey("Process_1a4y3g9",map); - - BackWait backWait=BackWaitService.addOne( - Long.valueOf(form.getString("positionId")) - ,x.getEmpId() - , "back_second_piece" - ,processInstance - ,"Process_1a4y3g9" - ,form.getString("opinion2")); - BackWaitService.save(backWait); - }); - } - - - @Override - public void reKpiSecondFifth(JSONObject form,Long id){ - Long roleId= RoleService.lambdaQuery() - .eq(Role::getRoleName,"绩效专员") - .eq(Role::getState,1) - .one().getId(); - - Long empId=EmployeeService.lambdaQuery() - .eq(Employee::getRoleId,roleId) - .one().getId(); - - - List list= EmployeePositionService - .lambdaQuery() - .eq(EmployeePosition::getPositionId,form.getString("positionId")) - .eq(EmployeePosition::getEmpId,id) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - - .list(); - - list.forEach(x->{ - Map map = new HashMap<>(); - map.put("wageEmp",empId.toString()); - - identityService.setAuthenticatedUserId(String.valueOf(x.getEmpId())); - ProcessInstance processInstance = runtimeService - .startProcessInstanceByKey("Process_065p3a1",map); - - BackWait backWait=BackWaitService.addOne(Long.valueOf(form.getString("positionId")) - ,x.getEmpId(),"back_second_kpi" - ,processInstance - ,"Process_065p3a1" - ,form.getString("opinion3")); - BackWaitService.save(backWait); - }); - } - - - @Override - public void reScoreSecondFifth(JSONObject form, Long empId){ - - - List assessorList = new ArrayList<>(); - - List num= PositionScoreService.lambdaQuery() - .eq(PositionScore::getPositionId,form.getString("positionId")) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .list(); - - - - num.forEach(y->{ - List assessor= ScoreAssessorsService.lambdaQuery() - .eq(ScoreAssessors::getPositionScoreId,y.getId()) - .list(); - - assessor.forEach(z->{ - assessorList.add(String.valueOf(z.getAssessorId())); - }); - }); - - - - List assessors=assessorList.stream().distinct().collect(Collectors.toList()); - - - List list= EmployeePositionService - .lambdaQuery() - .eq(EmployeePosition::getPositionId,form.getString("positionId")) - .eq(EmployeePosition::getEmpId,empId) - .list(); - - - list.forEach(x->{ - Map map = new HashMap<>(); - map.put("ASList", assessors); - - identityService.setAuthenticatedUserId(String.valueOf(x.getEmpId())); - ProcessInstance processInstance = runtimeService - .startProcessInstanceByKey("Process_0scky72",map); - - BackWait backWait=BackWaitService.addOne(Long.valueOf(form.getString("positionId")) - ,x.getEmpId(),"back_second_score" - ,processInstance - ,"Process_0scky72" - ,form.getString("opinion1")); - BackWaitService.save(backWait); - - - }); - } - - - @Override - public void reOkrSecondFifth(JSONObject form,EmployeePosition emp){ - List assessorList = new ArrayList<>(); - - - LocalDateTime lastBeginTime = LocalDateTime.of(today.withDayOfMonth(1).minusMonths(1), LocalTime.MIN); - LocalDateTime latsEndTime = LocalDateTime.of(today.withDayOfMonth(1).minusDays(1), LocalTime.MAX); - - List num= OkrKeyService.lambdaQuery() - .eq(OkrKey::getPositionId,form.getString("positionId")) - .eq(OkrKey::getLiaEmpId,emp.getEmpId()) - .apply(StringUtils.checkValNotNull(lastBeginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", lastBeginTime) - .apply(StringUtils.checkValNotNull(latsEndTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", latsEndTime) - .list(); - - num.forEach(y->{ - List ruleList= OkrRuleService.lambdaQuery() - .eq(OkrRule::getId,y.getRuleId()) - .list(); - ruleList.forEach(z->{ - assessorList.add(String.valueOf(z.getAssessorId())); - }); - }); - List assessors=assessorList.stream().distinct().collect(Collectors.toList()); - - Map map = new HashMap<>(); - map.put("AOList", assessors); - - identityService.setAuthenticatedUserId(String.valueOf(emp.getEmpId())); - ProcessInstance processInstance = runtimeService - .startProcessInstanceByKey("Process_0jeppqc",map); - - BackWait backWait=BackWaitService.addOne(Long.valueOf(form.getString("positionId")) - ,emp.getEmpId(),"back_second_okr" - ,processInstance - ,"Process_0jeppqc" - ,form.getString("opinion4")); - BackWaitService.save(backWait); - } - - - @Override - public void rePieceSecondFourth(JSONObject form,Long id){ - Long roleId= RoleService.lambdaQuery() - .eq(Role::getRoleName,"绩效专员") - .eq(Role::getState,1) - .one().getId(); - - Long empId=EmployeeService.lambdaQuery() - .eq(Employee::getRoleId,roleId) - .one().getId(); - - List list= EmployeePositionService - .lambdaQuery() - .eq(EmployeePosition::getPositionId,form.getString("positionId")) - .eq(EmployeePosition::getEmpId,id) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .list(); - - list.forEach(x->{ - Map map = new HashMap<>(); - map.put("wageEmp",empId.toString()); - - identityService.setAuthenticatedUserId(String.valueOf(x.getEmpId())); - ProcessInstance processInstance = runtimeService - .startProcessInstanceByKey("Process_0a7afjy",map); - - BackWait backWait=BackWaitService.addOne(Long.valueOf(form.getString("positionId")) - ,x.getEmpId(),"back_second_piece" - ,processInstance - ,"Process_0a7afjy" - ,form.getString("opinion2")); - BackWaitService.save(backWait); - }); - } - - - @Override - public void reKpiSecondFourth(JSONObject form,Long id){ - Long roleId= RoleService.lambdaQuery() - .eq(Role::getRoleName,"绩效专员") - .eq(Role::getState,1) - .one().getId(); - - Long empId=EmployeeService.lambdaQuery() - .eq(Employee::getRoleId,roleId) - .one().getId(); - - List list= EmployeePositionService - .lambdaQuery() - .eq(EmployeePosition::getPositionId,form.getString("positionId")) - .eq(EmployeePosition::getEmpId,id) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - - .list(); - - list.forEach(x->{ - Map map = new HashMap<>(); - map.put("wageEmp",empId.toString()); - - identityService.setAuthenticatedUserId(String.valueOf(x.getEmpId())); - ProcessInstance processInstance = runtimeService - .startProcessInstanceByKey("Process_0tcatx0",map); - - BackWait backWait=BackWaitService.addOne(Long.valueOf(form.getString("positionId")) - ,x.getEmpId(),"back_second_kpi" - ,processInstance - ,"Process_0tcatx0" - ,form.getString("opinion3")); - BackWaitService.save(backWait); - }); - } - - - @Override - public void reScoreSecondFourth(JSONObject form, Long empId){ - List assessorList = new ArrayList<>(); - - List num= PositionScoreService.lambdaQuery() - .eq(PositionScore::getPositionId,form.getString("positionId")) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .list(); - - num.forEach(y->{ - List assessor= ScoreAssessorsService.lambdaQuery() - .eq(ScoreAssessors::getPositionScoreId,y.getId()) - .list(); - assessor.forEach(z->{ - assessorList.add(String.valueOf(z.getAssessorId())); - }); - }); - List assessors=assessorList.stream().distinct().collect(Collectors.toList()); - - List list= EmployeePositionService - .lambdaQuery() - .eq(EmployeePosition::getPositionId,form.getString("positionId")) - .eq(EmployeePosition::getEmpId,empId) - .list(); - - list.forEach(x->{ - Map map = new HashMap<>(); - map.put("ASList", assessors); - - identityService.setAuthenticatedUserId(String.valueOf(x.getEmpId())); - ProcessInstance processInstance = runtimeService - .startProcessInstanceByKey("Process_17y117z",map); - - BackWait backWait=BackWaitService.addOne(Long.valueOf(form.getString("positionId")) - ,x.getEmpId(),"back_second_score" - ,processInstance - ,"Process_17y117z" - ,form.getString("opinion1")); - BackWaitService.save(backWait); - }); - } - - - @Override - public void reOkrSecondFourth(JSONObject form,EmployeePosition emp){ - List assessorList = new ArrayList<>(); - - LocalDateTime lastBeginTime = LocalDateTime.of(today.withDayOfMonth(1).minusMonths(1), LocalTime.MIN); - LocalDateTime latsEndTime = LocalDateTime.of(today.withDayOfMonth(1).minusDays(1), LocalTime.MAX); - - - - List num= OkrKeyService.lambdaQuery() - .eq(OkrKey::getPositionId,form.getString("positionId")) - .eq(OkrKey::getLiaEmpId,emp.getEmpId()) - .apply(StringUtils.checkValNotNull(lastBeginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", lastBeginTime) - .apply(StringUtils.checkValNotNull(latsEndTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", latsEndTime) - .list(); - - num.forEach(y->{ - List ruleList= OkrRuleService.lambdaQuery() - .eq(OkrRule::getId,y.getRuleId()) - .list(); - ruleList.forEach(z->{ - assessorList.add(String.valueOf(z.getAssessorId())); - }); - }); - List assessors=assessorList.stream().distinct().collect(Collectors.toList()); - - Map map = new HashMap<>(); - map.put("AOList", assessors); - - identityService.setAuthenticatedUserId(String.valueOf(emp.getEmpId())); - ProcessInstance processInstance = runtimeService - .startProcessInstanceByKey("Process_0aqalb8",map); - - BackWait backWait=BackWaitService.addOne(Long.valueOf(form.getString("positionId")) - ,emp.getEmpId(),"back_second_okr" - ,processInstance - ,"Process_0aqalb8" - ,form.getString("opinion4")); - BackWaitService.save(backWait); - } - - - @Override - public void rePieceSecondThird(JSONObject form,Long id){ - Long roleId= RoleService.lambdaQuery() - .eq(Role::getRoleName,"绩效专员") - .eq(Role::getState,1) - .one().getId(); - - Long empId=EmployeeService.lambdaQuery() - .eq(Employee::getRoleId,roleId) - .one().getId(); - - List list= EmployeePositionService - .lambdaQuery() - .eq(EmployeePosition::getPositionId,form.getString("positionId")) - .eq(EmployeePosition::getEmpId,id) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .list(); - - list.forEach(x->{ - Map map = new HashMap<>(); - map.put("wageEmp",empId.toString()); - - identityService.setAuthenticatedUserId(String.valueOf(x.getEmpId())); - ProcessInstance processInstance = runtimeService - .startProcessInstanceByKey("Process_1rgr65b",map); - - BackWait backWait=BackWaitService.addOne(Long.valueOf(form.getString("positionId")) - ,x.getEmpId(),"back_second_piece" - ,processInstance - ,"Process_1rgr65b" - ,form.getString("opinion2")); - BackWaitService.save(backWait); - }); - } - - - @Override - public void reKpiSecondThird(JSONObject form,Long id){ - Long roleId= RoleService.lambdaQuery() - .eq(Role::getRoleName,"绩效专员") - .eq(Role::getState,1) - .one().getId(); - - Long empId=EmployeeService.lambdaQuery() - .eq(Employee::getRoleId,roleId) - .one().getId(); - - List list= EmployeePositionService - .lambdaQuery() - .eq(EmployeePosition::getPositionId,form.getString("positionId")) - .eq(EmployeePosition::getEmpId,id) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .list(); - - list.forEach(x->{ - Map map = new HashMap<>(); - map.put("wageEmp",empId.toString()); - - identityService.setAuthenticatedUserId(String.valueOf(x.getEmpId())); - ProcessInstance processInstance = runtimeService - .startProcessInstanceByKey("Process_0m9w7vi",map); - - BackWait backWait=BackWaitService.addOne(Long.valueOf(form.getString("positionId")) - ,x.getEmpId(),"back_second_kpi" - ,processInstance - ,"Process_0m9w7vi" - ,form.getString("opinion3")); - BackWaitService.save(backWait); - }); - } -} diff --git a/src/main/java/com/example/workflow/service/impl/ScoreRuleServiceImpl.java b/src/main/java/com/example/workflow/service/impl/ScoreRuleServiceImpl.java index 004bc479a8c6441abf1e2b55ec738808e19c0366..d93e79ebe9782c2efe0a4663ea558b7e7015df2f 100644 --- a/src/main/java/com/example/workflow/service/impl/ScoreRuleServiceImpl.java +++ b/src/main/java/com/example/workflow/service/impl/ScoreRuleServiceImpl.java @@ -10,9 +10,9 @@ import com.example.workflow.model.entity.ScoreRuleForm; import com.example.workflow.service.PositionScoreService; import com.example.workflow.service.ScoreAssessorsService; import com.example.workflow.service.ScoreRuleService; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; @@ -20,12 +20,12 @@ import java.util.List; @Service public class ScoreRuleServiceImpl extends ServiceImpl implements ScoreRuleService { - @Autowired - private ScoreRuleService ScoreRuleService; - @Autowired - private PositionScoreService PositionScoreService; - @Autowired - private ScoreAssessorsService ScoreAssessorsService; + @Resource + private ScoreAssessorsService scoreAssessorsService; + @Resource + private PositionScoreService positionScoreService; + + @Override @@ -34,7 +34,7 @@ public class ScoreRuleServiceImpl extends ServiceImpl list=ScoreRuleService.lambdaQuery() + List list= lambdaQuery() .eq(ScoreRule::getState,1) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) @@ -43,8 +43,7 @@ public class ScoreRuleServiceImpl extends ServiceImpl{ - - List positionScores= PositionScoreService.lambdaQuery() + List positionScores = positionScoreService.lambdaQuery() .eq(PositionScore::getScoreId,x.getId()) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) @@ -53,10 +52,10 @@ public class ScoreRuleServiceImpl extends ServiceImpl{ - List scoreAssessors= ScoreAssessorsService.lambdaQuery() + List scoreAssessors = scoreAssessorsService.lambdaQuery() .eq(ScoreAssessors::getPositionScoreId,y.getId()) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) @@ -66,12 +65,12 @@ public class ScoreRuleServiceImpl extends ServiceImpl{ z.setId(null); z.setPositionScoreId(y.getId()); - ScoreAssessorsService.save(z); + scoreAssessorsService.save(z); }); }); }); diff --git a/src/main/java/com/example/workflow/utils/DateTimeUtils.java b/src/main/java/com/example/workflow/utils/DateTimeUtils.java index 986ff4b61509422cbd422641f97b3d45eec29e69..67091200fa9844db0322d1ab0801522b235ecf74 100644 --- a/src/main/java/com/example/workflow/utils/DateTimeUtils.java +++ b/src/main/java/com/example/workflow/utils/DateTimeUtils.java @@ -23,7 +23,7 @@ public class DateTimeUtils { return new LocalDateTime[]{startOfMonth, endOfMonth}; } - /* 返回现在的时间 */ + /** 返回现在的时间 */ public static String now(String format) { LocalDateTime localDateTime = LocalDateTime.now(); DateTimeFormatter formatter = DateTimeFormatter.ofPattern(format); diff --git a/src/main/java/com/example/workflow/utils/Deploy.java b/src/main/java/com/example/workflow/utils/Deploy.java deleted file mode 100644 index 16af4258084f4a8f24df83286f66dd35e0a629cf..0000000000000000000000000000000000000000 --- a/src/main/java/com/example/workflow/utils/Deploy.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.example.workflow.utils; - -import org.camunda.bpm.engine.RepositoryService; -import org.camunda.bpm.engine.RuntimeService; - -public class Deploy { - private RepositoryService repositoryService; - private RuntimeService runtimeService; - public void deployBasicEmp(){ - - } - - -} diff --git a/src/main/java/com/example/workflow/utils/JWTHelper.java b/src/main/java/com/example/workflow/utils/JwtHelper.java similarity index 67% rename from src/main/java/com/example/workflow/utils/JWTHelper.java rename to src/main/java/com/example/workflow/utils/JwtHelper.java index 01cc01a503237480e9c41547635429c490132eeb..cfa6f208430c241f834a4626a0cd76eae6c96ebe 100644 --- a/src/main/java/com/example/workflow/utils/JWTHelper.java +++ b/src/main/java/com/example/workflow/utils/JwtHelper.java @@ -6,28 +6,33 @@ import com.auth0.jwt.algorithms.Algorithm; import com.auth0.jwt.interfaces.Claim; import com.auth0.jwt.interfaces.DecodedJWT; import com.auth0.jwt.interfaces.JWTVerifier; +import lombok.extern.slf4j.Slf4j; -import java.util.Date; +import java.time.Instant; +import java.time.ZoneOffset; import java.util.HashMap; import java.util.Map; -public class JWTHelper {//过期时间 - public static final long EXPIRE_TIME = 100 * 60 * 1000 ; -// 100 * 60 * 1000;//默认100分钟 - //私钥 + +@Slf4j +public class JwtHelper { + /** + * 过期时间 + * 默认30分钟 + */ + public static final long EXPIRE_TIME = 30 * 60 * 1000; + /** + * 私钥 + */ private static final String TOKEN_SECRET = "privateKey"; /** * 生成token,自定义过期时间 毫秒 - * - * @param **username** - * @param **password** - * @return */ public static String createToken(long expireDate, Map payload) { try { // 设置过期时间 - Date date = new Date(expireDate); + Instant instant = Instant.ofEpochMilli(expireDate).atZone(ZoneOffset.UTC).toInstant(); // 私钥和加密算法 Algorithm algorithm = Algorithm.HMAC256(TOKEN_SECRET); // 设置头部信息 @@ -37,7 +42,7 @@ public class JWTHelper {//过期时间 // 返回token字符串 JWTCreator.Builder builder = JWT.create() .withHeader(header) - .withExpiresAt(date); + .withExpiresAt(instant); for (Map.Entry entry : payload.entrySet()) { builder.withClaim(entry.getKey(), entry.getValue()); } @@ -45,7 +50,7 @@ public class JWTHelper {//过期时间 return builder.sign(algorithm); } catch (Exception e) { - e.printStackTrace(); + log.error(e.getMessage()); return null; } } @@ -56,9 +61,6 @@ public class JWTHelper {//过期时间 /** * 检验token是否正确 - * - * @param **token** - * @return */ public static Map verifyToken(String token) { try { @@ -71,5 +73,15 @@ public class JWTHelper {//过期时间 } } - + public static boolean isExpired(String token) { + Map map = verifyToken(token); + if (map == null) { + return false; + } + // TODO (hrc,2024/12/15,16:50) jwt 中的exp的时间戳单位是秒 + Claim exp = map.get("exp"); + Long expLong = exp.asLong(); + long nowMilli = Instant.now().toEpochMilli(); + return expLong * 1000 < nowMilli; + } } diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml deleted file mode 100644 index caf4dfcd647483863672818bd860d4ec4767e8de..0000000000000000000000000000000000000000 --- a/src/main/resources/application.yml +++ /dev/null @@ -1,3 +0,0 @@ -spring: - profiles: - active: dev \ No newline at end of file diff --git a/src/main/resources/baseFlow.bpmn b/src/main/resources/baseFlow.bpmn deleted file mode 100644 index 87c7148bb1a1c09723e97595ea4232766892192e..0000000000000000000000000000000000000000 --- a/src/main/resources/baseFlow.bpmn +++ /dev/null @@ -1,155 +0,0 @@ - - - - - Flow_0mg737h - - - Flow_1s8r2zk - Flow_0a0swzy - - - Flow_1h6ogr9 - Flow_0zsazvj - - - - - - - - - Flow_0zsazvj - Flow_1s8r2zk - Flow_0mpn7wj - - - - ${appoint=='other'} - - - Flow_0a0swzy - Flow_0mpn7wj - Flow_1ol9ue9 - - - - ${appoint!='other'} - - - - Flow_1ol9ue9 - Flow_0oq1yn2 - - - - Flow_0oq1yn2 - Flow_1xyc2c8 - - - Flow_1xyc2c8 - Flow_14p8pbf - - - - Flow_14p8pbf - - - - - - Flow_0mg737h - Flow_1h6ogr9 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/main/resources/config/application-camunda.yml b/src/main/resources/config/application-camunda.yml new file mode 100644 index 0000000000000000000000000000000000000000..99ac674f60c9fd5fbd472532321dc795687e5f7d --- /dev/null +++ b/src/main/resources/config/application-camunda.yml @@ -0,0 +1,11 @@ +camunda: + bpm: + database: + type: mysql + schema-update: true + webapp: + index-redirect-enabled: true + admin-user: + id: admin + password: admin123 + auto-deployment-enabled: false \ No newline at end of file diff --git a/src/main/resources/application-dev.yml b/src/main/resources/config/application-dev.yml similarity index 100% rename from src/main/resources/application-dev.yml rename to src/main/resources/config/application-dev.yml diff --git a/src/main/resources/config/application-log.yml b/src/main/resources/config/application-log.yml new file mode 100644 index 0000000000000000000000000000000000000000..9934062b6ba4ed5cf637180efa58a900984b8a45 --- /dev/null +++ b/src/main/resources/config/application-log.yml @@ -0,0 +1,7 @@ +logging: + level: + root: info + +mybatis-plus: + configuration: + log-impl: org.apache.ibatis.logging.nologging.NoLoggingImpl diff --git a/src/main/resources/config/application-mybatis-plus.yml b/src/main/resources/config/application-mybatis-plus.yml new file mode 100644 index 0000000000000000000000000000000000000000..3159b9ee726625e33afc1b9d7d785f0d3a5ec7f5 --- /dev/null +++ b/src/main/resources/config/application-mybatis-plus.yml @@ -0,0 +1,9 @@ +mybatis-plus: + global-config: + db-config: + table-prefix: #tb_ + configuration: + #驼峰命名法映射 + map-underscore-to-camel-case: true + # log-impl: org.apache.ibatis.logging.stdout.StdOutImpl + mapper-locations: classpath:/mapper/*.xml diff --git a/src/main/resources/config/application-sealos.yml b/src/main/resources/config/application-sealos.yml new file mode 100644 index 0000000000000000000000000000000000000000..e27a044d4b84c48f696329a4d125dd9032c2f7d3 --- /dev/null +++ b/src/main/resources/config/application-sealos.yml @@ -0,0 +1,34 @@ +spring: + main: + allow-circular-references: true + mvc: + throw-exception-if-no-handler-found: true + hiddenmethod: + filter: + enabled: true + web: + resources: + add-mappings: false + datasource: + url: jdbc:mysql://root:7fjj2cth@bja.sealos.run:46198/performance?useSSL=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8 + username: root + password: 7fjj2cth + driver-class-name: com.mysql.cj.jdbc.Driver + hikari: + pool-name: HikariCPDatasource + minimum-idle: 5 + idle-timeout: 180000 + maximum-pool-size: 10 + auto-commit: true + max-lifetime: 1800000 + connection-timeout: 30000 + connection-test-query: SELECT 1 + jackson: + time-zone: GMT+8 + date-format: yyyy-MM-dd hh:mm:ss + servlet: + multipart: + max-file-size: 15MB + max-request-size: 15MB + + diff --git a/src/main/resources/config/application-server.yml b/src/main/resources/config/application-server.yml new file mode 100644 index 0000000000000000000000000000000000000000..2fe15889ec69e9aaa10154616bbaeccb921c27f1 --- /dev/null +++ b/src/main/resources/config/application-server.yml @@ -0,0 +1,6 @@ +server: + port: 9090 + servlet: + context-path: /api + session: + timeout: 30m diff --git a/src/main/resources/config/application-sqlpub.yml b/src/main/resources/config/application-sqlpub.yml new file mode 100644 index 0000000000000000000000000000000000000000..24cecacf0c6567dd54f3d50f5c5244e629c926b9 --- /dev/null +++ b/src/main/resources/config/application-sqlpub.yml @@ -0,0 +1,34 @@ +spring: + main: + allow-circular-references: true + mvc: + throw-exception-if-no-handler-found: true + hiddenmethod: + filter: + enabled: true + web: + resources: + add-mappings: false + datasource: + url: ${DB_SQLPUB_URL} + username: ${DB_SQLPUB_USERNAME} + password: ${DB_SQLPUB_PASSWORD} + driver-class-name: com.mysql.cj.jdbc.Driver + hikari: + pool-name: HikariCPDatasource + minimum-idle: 5 + idle-timeout: 180000 + maximum-pool-size: 10 + auto-commit: true + max-lifetime: 1800000 + connection-timeout: 30000 + connection-test-query: SELECT 1 + jackson: + time-zone: GMT+8 + date-format: yyyy-MM-dd hh:mm:ss + servlet: + multipart: + max-file-size: 15MB + max-request-size: 15MB + + diff --git a/src/main/resources/config/application.yml b/src/main/resources/config/application.yml new file mode 100644 index 0000000000000000000000000000000000000000..51fd3730de8c0877222cefa5d02df043aa340db0 --- /dev/null +++ b/src/main/resources/config/application.yml @@ -0,0 +1,3 @@ +spring: + profiles: + active: server,sqlpub,mybatis-plus,camunda,log \ No newline at end of file diff --git a/src/main/resources/fourthKpiBackFlow.bpmn b/src/main/resources/fourthKpiBackFlow.bpmn deleted file mode 100644 index bf1fc2a85285aa3ca874504f3a09d623edb9ccad..0000000000000000000000000000000000000000 --- a/src/main/resources/fourthKpiBackFlow.bpmn +++ /dev/null @@ -1,57 +0,0 @@ - - - - - Flow_0dp5ijm - - - - - - Flow_0dp5ijm - Flow_09h2guf - - - Flow_09h2guf - Flow_1lfqasp - - - Flow_1lfqasp - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/main/resources/fourthPieceBackFlow.bpmn b/src/main/resources/fourthPieceBackFlow.bpmn deleted file mode 100644 index d4661b8b0c598e49a65a55fc74dead9ac79725aa..0000000000000000000000000000000000000000 --- a/src/main/resources/fourthPieceBackFlow.bpmn +++ /dev/null @@ -1,58 +0,0 @@ - - - - - Flow_0fgl1sp - - - Flow_0fgl1sp - Flow_0f1zv4k - - - Flow_1dtd78y - - - - - - Flow_0f1zv4k - Flow_1dtd78y - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/main/resources/logback-spring.xml b/src/main/resources/logback-spring.xml new file mode 100644 index 0000000000000000000000000000000000000000..2323dc18bac0b40958079c778a038b8e84e197c4 --- /dev/null +++ b/src/main/resources/logback-spring.xml @@ -0,0 +1,40 @@ + + + + + + + %red(%d{HH:mm:ss.SSS}) [%thread] %green(%-5level) %blue(%logger{36} :%L) %green(%X{sno}-%X{passwd}) + %msg%n + + + + + ` + + + + ./performance/logs/%d{yyyy-MM-dd-HH-mm-ss}.log + + + 30 + + + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50}:%L - %msg%n + + + + 10MB + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/process.bpmn b/src/main/resources/process.bpmn deleted file mode 100644 index f5af8121bd461cba572bbd4660fb193d715d8b59..0000000000000000000000000000000000000000 --- a/src/main/resources/process.bpmn +++ /dev/null @@ -1,38 +0,0 @@ - - - - - SequenceFlow_1fp17al - - - - SequenceFlow_16gzt2m - - - - SequenceFlow_1fp17al - SequenceFlow_16gzt2m - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/main/resources/secondKpiFifthFlow.bpmn b/src/main/resources/secondKpiFifthFlow.bpmn deleted file mode 100644 index 7d52b010b12eb8b60211d65fdd9f6853c9b0812a..0000000000000000000000000000000000000000 --- a/src/main/resources/secondKpiFifthFlow.bpmn +++ /dev/null @@ -1,83 +0,0 @@ - - - - - Flow_1wpwmfa - - - Flow_0jpzozd - - - Flow_1wpwmfa - Flow_1k85c1d - - - Flow_1oriro4 - Flow_19cf19k - - - Flow_1k85c1d - Flow_1oriro4 - - - - - - Flow_19cf19k - Flow_0jpzozd - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/main/resources/secondKpiFourthFlow.bpmn b/src/main/resources/secondKpiFourthFlow.bpmn deleted file mode 100644 index 5e0b7e54c6fb35853964f28a3008fe9caaf2d74c..0000000000000000000000000000000000000000 --- a/src/main/resources/secondKpiFourthFlow.bpmn +++ /dev/null @@ -1,71 +0,0 @@ - - - - - Flow_1wpwmfa - - - Flow_1dcv6sm - - - Flow_1wpwmfa - Flow_1k85c1d - - - Flow_1oriro4 - Flow_1dcv6sm - - - Flow_1k85c1d - Flow_1oriro4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/main/resources/secondKpiThirdFlow.bpmn b/src/main/resources/secondKpiThirdFlow.bpmn deleted file mode 100644 index d916782f13f6979960536e4f7540e9760f644ec0..0000000000000000000000000000000000000000 --- a/src/main/resources/secondKpiThirdFlow.bpmn +++ /dev/null @@ -1,58 +0,0 @@ - - - - - Flow_1wpwmfa - - - Flow_1dcv6sm - - - Flow_1wpwmfa - Flow_1k85c1d - - - Flow_1k85c1d - Flow_1dcv6sm - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/main/resources/secondOkrFifthFlow.bpmn b/src/main/resources/secondOkrFifthFlow.bpmn deleted file mode 100644 index 000f1a2cda06c523acbdc603d7ec88c653e843f4..0000000000000000000000000000000000000000 --- a/src/main/resources/secondOkrFifthFlow.bpmn +++ /dev/null @@ -1,74 +0,0 @@ - - - - - Flow_1v6wp8j - - - Flow_05hluio - - - Flow_1v6wp8j - Flow_1jve7v8 - - ${nrOfInstances == nrOfCompletedInstances} - - - - Flow_1jve7v8 - Flow_1afoyj7 - - - Flow_1afoyj7 - Flow_05hluio - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/main/resources/secondOkrFourthFlow.bpmn b/src/main/resources/secondOkrFourthFlow.bpmn deleted file mode 100644 index 99645f8119460ebd98bcd549bc23cdef46383684..0000000000000000000000000000000000000000 --- a/src/main/resources/secondOkrFourthFlow.bpmn +++ /dev/null @@ -1,60 +0,0 @@ - - - - - Flow_1v6wp8j - - - Flow_05hluio - - - Flow_1v6wp8j - Flow_1jve7v8 - - ${nrOfInstances == nrOfCompletedInstances} - - - - - - - Flow_1jve7v8 - Flow_05hluio - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/main/resources/secondPieceFifthFlow.bpmn b/src/main/resources/secondPieceFifthFlow.bpmn deleted file mode 100644 index 65e45c7c4239c54566dfcd66278ea701be6ba71e..0000000000000000000000000000000000000000 --- a/src/main/resources/secondPieceFifthFlow.bpmn +++ /dev/null @@ -1,83 +0,0 @@ - - - - - Flow_0y2yb5k - - - Flow_0y2yb5k - Flow_0umct46 - - - Flow_0d9ysys - Flow_1tym4na - - - Flow_1jpdvb2 - - - Flow_0umct46 - Flow_0d9ysys - - - - - - - - Flow_1tym4na - Flow_1jpdvb2 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/main/resources/secondPieceFourthFlow.bpmn b/src/main/resources/secondPieceFourthFlow.bpmn deleted file mode 100644 index d815254fa88f724c049aab5bf3bd8af008647f0f..0000000000000000000000000000000000000000 --- a/src/main/resources/secondPieceFourthFlow.bpmn +++ /dev/null @@ -1,71 +0,0 @@ - - - - - Flow_0y2yb5k - - - Flow_0y2yb5k - Flow_0umct46 - - - Flow_0d9ysys - Flow_16h1vww - - - Flow_16h1vww - - - Flow_0umct46 - Flow_0d9ysys - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/main/resources/secondPieceThird.bpmn b/src/main/resources/secondPieceThird.bpmn deleted file mode 100644 index fb475aecd120e184ba73628f331caf6ccaa775ad..0000000000000000000000000000000000000000 --- a/src/main/resources/secondPieceThird.bpmn +++ /dev/null @@ -1,58 +0,0 @@ - - - - - Flow_0y2yb5k - - - Flow_0y2yb5k - Flow_0umct46 - - - Flow_0umct46 - Flow_16h1vww - - - Flow_16h1vww - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/main/resources/secondScoreFifthFlow.bpmn b/src/main/resources/secondScoreFifthFlow.bpmn deleted file mode 100644 index 36be9d4146488d11d900f87f1c98270c3116d83d..0000000000000000000000000000000000000000 --- a/src/main/resources/secondScoreFifthFlow.bpmn +++ /dev/null @@ -1,73 +0,0 @@ - - - - - Flow_1v6wp8j - - - Flow_05hluio - - - Flow_1v6wp8j - Flow_1jve7v8 - - ${nrOfInstances == nrOfCompletedInstances} - - - - Flow_1jve7v8 - Flow_1afoyj7 - - - - - - - Flow_1afoyj7 - Flow_05hluio - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/main/resources/secondScoreFourthFlow.bpmn b/src/main/resources/secondScoreFourthFlow.bpmn deleted file mode 100644 index b1657736d287e8166479c58d2332cf6b8220ff06..0000000000000000000000000000000000000000 --- a/src/main/resources/secondScoreFourthFlow.bpmn +++ /dev/null @@ -1,61 +0,0 @@ - - - - - Flow_1v6wp8j - - - Flow_0wh1gha - - - Flow_1v6wp8j - Flow_1jve7v8 - - ${nrOfInstances == nrOfCompletedInstances} - - - - Flow_1jve7v8 - Flow_0wh1gha - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/main/resources/test.bpmn b/src/main/resources/test.bpmn deleted file mode 100644 index be11d35be93092e8b5183dc6a4e3e287532b8995..0000000000000000000000000000000000000000 --- a/src/main/resources/test.bpmn +++ /dev/null @@ -1,41 +0,0 @@ - - - - - Flow_1gkg89j - - - Flow_1gkg89j - Flow_1lhykx9 - - ${nrOfInstances == nrOfCompletedInstances} - - - - - Flow_1lhykx9 - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/main/resources/thirdKpiBackFlow.bpmn b/src/main/resources/thirdKpiBackFlow.bpmn deleted file mode 100644 index e905e8f3662ca65f80b33d2c68ac5291ddcce958..0000000000000000000000000000000000000000 --- a/src/main/resources/thirdKpiBackFlow.bpmn +++ /dev/null @@ -1,71 +0,0 @@ - - - - - Flow_1wpwmfa - - - Flow_1dcv6sm - - - - - Flow_1wpwmfa - Flow_1k85c1d - - - Flow_1oriro4 - Flow_1dcv6sm - - - Flow_1k85c1d - Flow_1oriro4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/main/resources/thirdOkrBackFlow.bpmn b/src/main/resources/thirdOkrBackFlow.bpmn deleted file mode 100644 index 3f01e0a312bf3e0b781c6ad36701b7831f5f9810..0000000000000000000000000000000000000000 --- a/src/main/resources/thirdOkrBackFlow.bpmn +++ /dev/null @@ -1,61 +0,0 @@ - - - - - Flow_1v6wp8j - - - Flow_0wh1gha - - - Flow_1v6wp8j - Flow_1jve7v8 - - ${nrOfInstances == nrOfCompletedInstances} - - - - Flow_1jve7v8 - Flow_0wh1gha - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/main/resources/thirdPieceBackFlow.bpmn b/src/main/resources/thirdPieceBackFlow.bpmn deleted file mode 100644 index f6089ce0d76f59c2c118bb0749671fa4e950b66e..0000000000000000000000000000000000000000 --- a/src/main/resources/thirdPieceBackFlow.bpmn +++ /dev/null @@ -1,71 +0,0 @@ - - - - - Flow_0y2yb5k - - - - Flow_0y2yb5k - Flow_0umct46 - - - Flow_0d9ysys - Flow_16h1vww - - - Flow_16h1vww - - - - - - Flow_0umct46 - Flow_0d9ysys - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/main/resources/thirdScoreBackFlow.bpmn b/src/main/resources/thirdScoreBackFlow.bpmn deleted file mode 100644 index 9370e18f24d09926dc4e79751c3c65e0dd0e5735..0000000000000000000000000000000000000000 --- a/src/main/resources/thirdScoreBackFlow.bpmn +++ /dev/null @@ -1,61 +0,0 @@ - - - - - Flow_1v6wp8j - - - - - Flow_0wh1gha - - - - Flow_1v6wp8j - Flow_1jve7v8 - - ${nrOfInstances == nrOfCompletedInstances} - - - - Flow_1jve7v8 - Flow_0wh1gha - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -