diff --git a/src/main/java/com/api/bokang/xiao/porsche_review/controller/YearReviewController.java b/src/main/java/com/api/bokang/xiao/porsche_review/controller/YearReviewController.java
new file mode 100644
index 0000000..7c1a9a8
--- /dev/null
+++ b/src/main/java/com/api/bokang/xiao/porsche_review/controller/YearReviewController.java
@@ -0,0 +1,157 @@
+package com.api.bokang.xiao.porsche_review.controller;
+
+import aiyh.utils.ApiResult;
+import aiyh.utils.Util;
+import aiyh.utils.zwl.common.ToolUtil;
+import com.api.bokang.xiao.porsche_review.service.ReviewService;
+import com.api.bokang.xiao.porsche_review.service.impl.ReviewServiceImpl;
+import io.swagger.v3.oas.annotations.parameters.RequestBody;
+import org.apache.log4j.Logger;
+import weaver.hrm.HrmUserVarify;
+import weaver.hrm.User;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.Produces;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import java.util.List;
+import java.util.Map;
+
+
+/**
+ * @ClassName YearReviewController
+ * @Author 肖博亢
+ * @Date 2023/2/14 17:00
+ * @Description
保时捷年终总结相关接口
+ **/
+@Path("/xbk/porsche_review")
+public class YearReviewController {
+
+ private final Logger log = Util.getLogger();
+ ReviewService reviewService = new ReviewServiceImpl();
+
+ /** 需要排除的流程id */
+ private final String workflowIds = new ToolUtil().getSystemParamValue("workflowIds");
+
+ /** 建模表表名及字段 */
+ private final String modelTables = new ToolUtil().getSystemParamValue("modelTables");
+
+ /**
+ * 获取创建或处理流程的总数
+ * @param request 请求体
+ * @param response 响应体
+ * @param param 请求参数
+ * @return 请求结果
+ */
+ @Path("/getCreateOrOperateCount")
+ @POST
+ @Produces(MediaType.APPLICATION_JSON)
+ public String getCreateOrOperateCount(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody Map param) {
+ try{
+ log.info("into getCreateOrOperateCount success params ==> "+param);
+ User loginUser = HrmUserVarify.getUser(request, response);
+ String type = Util.null2String(param.get("type"));
+ param.put("workflowIds",workflowIds);
+ Map data = "create".equals(type) ? reviewService.getCreateCount(param,loginUser) : reviewService.getDealCount(param,loginUser);
+ return ApiResult.success(data);
+ }catch (Exception e){
+ log.error("获取创建或处理流程的总数异常 ==> "+Util.getErrString(e));
+ return ApiResult.error(e.getMessage());
+ }
+ }
+
+ /**
+ * 获取流程的总数
+ * @param request 请求体
+ * @param response 响应体
+ * @param param 请求参数
+ * @return 请求结果
+ */
+ @Path("/getTotalCount")
+ @POST
+ @Produces(MediaType.APPLICATION_JSON)
+ public String getTotalCount(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody Map param) {
+ try{
+ log.info("into getTotalCount success params ==> "+param);
+ param.put("workflowIds",workflowIds);
+ int totalCount = reviewService.getTotalCount(param);
+ return ApiResult.success(totalCount);
+ }catch (Exception e){
+ log.error("获取流程总数异常 ==> "+Util.getErrString(e));
+ return ApiResult.error(e.getMessage());
+ }
+ }
+
+ /**
+ * 获取电子章的总数
+ * @param request 请求体
+ * @param response 响应体
+ * @param param 请求参数
+ * @return 请求结果
+ */
+ @Path("/getElectronicSealCount")
+ @POST
+ @Produces(MediaType.APPLICATION_JSON)
+ public String getElectronicSealCount(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody Map param) {
+ try{
+ param.put("modelTables",modelTables);
+ int count = reviewService.getElectronicSealCount(param);
+ return ApiResult.success(count);
+ }catch (Exception e){
+ log.error("获取电子章总数异常 ==> "+Util.getErrString(e));
+ return ApiResult.error(e.getMessage());
+ }
+ }
+
+ /**
+ * 获取创建或处理流程的总数
+ * @param request 请求体
+ * @param response 响应体
+ * @param param 请求参数
+ * @return 请求结果
+ */
+ @Path("/getWorkflowTop5")
+ @POST
+ @Produces(MediaType.APPLICATION_JSON)
+ public String getWorkflowTop5(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody Map param) {
+ try{
+ log.info("into getWorkflowTop5 success params ==> "+param);
+ User loginUser = HrmUserVarify.getUser(request, response);
+ param.put("workflowIds",workflowIds);
+ String type = Util.null2String(param.get("type"));
+ List