From e3be005d35bffbeb0cac8789b4b0a794656f732c Mon Sep 17 00:00:00 2001
From: xieb <vip_xiaobin810@163.com>
Date: Fri, 22 Dec 2023 13:37:43 +0800
Subject: [PATCH] 任务结果
---
src/main/java/org/springblade/modules/evaluate/mapper/EvaluateTaskSetMapper.xml | 33 ++
src/main/java/org/springblade/modules/evaluate/controller/EvaluateTaskSetController.java | 155 +++++++++++
src/main/java/org/springblade/modules/evaluate/entity/EvaluateTaskSetEntity.java | 71 +++++
src/main/java/org/springblade/modules/evaluate/vo/EvaluateTaskSetVO.java | 38 ++
src/main/java/org/springblade/modules/evaluate/service/IEvaluateTaskSetService.java | 52 ++++
src/main/java/org/springblade/modules/evaluate/excel/EvaluateTaskSetExcel.java | 87 ++++++
src/main/java/org/springblade/modules/evaluate/service/impl/EvaluateTaskServiceImpl.java | 96 +++++++
src/main/java/org/springblade/modules/evaluate/service/impl/EvaluateTaskSetServiceImpl.java | 54 ++++
src/main/java/org/springblade/modules/evaluate/mapper/EvaluateTaskSetMapper.java | 54 ++++
src/main/java/org/springblade/modules/evaluate/dto/EvaluateTaskSetDTO.java | 34 ++
src/main/java/org/springblade/modules/evaluate/wrapper/EvaluateTaskSetWrapper.java | 82 ++++++
src/main/java/org/springblade/modules/leave/controller/LeaveWordsController.java | 2
12 files changed, 757 insertions(+), 1 deletions(-)
diff --git a/src/main/java/org/springblade/modules/evaluate/controller/EvaluateTaskSetController.java b/src/main/java/org/springblade/modules/evaluate/controller/EvaluateTaskSetController.java
new file mode 100644
index 0000000..ed74cc1
--- /dev/null
+++ b/src/main/java/org/springblade/modules/evaluate/controller/EvaluateTaskSetController.java
@@ -0,0 +1,155 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.evaluate.controller;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import lombok.AllArgsConstructor;
+import javax.validation.Valid;
+
+import org.springblade.core.secure.BladeUser;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.Func;
+import org.springframework.web.bind.annotation.*;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.modules.evaluate.entity.EvaluateTaskSetEntity;
+import org.springblade.modules.evaluate.vo.EvaluateTaskSetVO;
+import org.springblade.modules.evaluate.excel.EvaluateTaskSetExcel;
+import org.springblade.modules.evaluate.wrapper.EvaluateTaskSetWrapper;
+import org.springblade.modules.evaluate.service.IEvaluateTaskSetService;
+import org.springblade.core.boot.ctrl.BladeController;
+import org.springblade.core.tool.utils.DateUtil;
+import org.springblade.core.excel.util.ExcelUtil;
+import org.springblade.core.tool.constant.BladeConstant;
+import springfox.documentation.annotations.ApiIgnore;
+import java.util.Map;
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * 评优任务配置 控制器
+ *
+ * @author aix
+ * @since 2023-12-21
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("evaluate/evaluateTaskSet")
+@Api(value = "评优任务配置", tags = "评优任务配置接口")
+public class EvaluateTaskSetController extends BladeController {
+
+ private final IEvaluateTaskSetService evaluateTaskSetService;
+
+ /**
+ * 评优任务配置 详情
+ */
+ @GetMapping("/detail")
+ @ApiOperationSupport(order = 1)
+ @ApiOperation(value = "详情", notes = "传入evaluateTaskSet")
+ public R<EvaluateTaskSetVO> detail(EvaluateTaskSetEntity evaluateTaskSet) {
+ EvaluateTaskSetEntity detail = evaluateTaskSetService.getOne(Condition.getQueryWrapper(evaluateTaskSet));
+ return R.data(EvaluateTaskSetWrapper.build().entityVO(detail));
+ }
+ /**
+ * 个人评优任务配置 分页
+ */
+ @GetMapping("/list")
+ @ApiOperationSupport(order = 2)
+ @ApiOperation(value = "分页", notes = "传入evaluateTaskSet")
+ public R<IPage<EvaluateTaskSetVO>> list(@ApiIgnore @RequestParam Map<String, Object> evaluateTaskSet, Query query) {
+ IPage<EvaluateTaskSetEntity> pages = evaluateTaskSetService.page(Condition.getPage(query), Condition.getQueryWrapper(evaluateTaskSet, EvaluateTaskSetEntity.class));
+ return R.data(EvaluateTaskSetWrapper.build().pageVO(pages));
+ }
+
+ /**
+ * 部门评优 分页
+ */
+
+ /**
+ * 评优任务配置 自定义分页
+ */
+ @GetMapping("/page")
+ @ApiOperationSupport(order = 3)
+ @ApiOperation(value = "分页", notes = "传入evaluateTaskSet")
+ public R<IPage<EvaluateTaskSetVO>> page(EvaluateTaskSetVO evaluateTaskSet, Query query) {
+ IPage<EvaluateTaskSetVO> pages = evaluateTaskSetService.selectEvaluateTaskSetPage(Condition.getPage(query), evaluateTaskSet);
+ return R.data(pages);
+ }
+
+ /**
+ * 评优任务配置 新增
+ */
+ @PostMapping("/save")
+ @ApiOperationSupport(order = 4)
+ @ApiOperation(value = "新增", notes = "传入evaluateTaskSet")
+ public R save(@Valid @RequestBody EvaluateTaskSetEntity evaluateTaskSet) {
+ return R.status(evaluateTaskSetService.save(evaluateTaskSet));
+ }
+
+ /**
+ * 评优任务配置 修改
+ */
+ @PostMapping("/update")
+ @ApiOperationSupport(order = 5)
+ @ApiOperation(value = "修改", notes = "传入evaluateTaskSet")
+ public R update(@Valid @RequestBody EvaluateTaskSetEntity evaluateTaskSet) {
+ return R.status(evaluateTaskSetService.updateById(evaluateTaskSet));
+ }
+
+ /**
+ * 评优任务配置 新增或修改
+ */
+ @PostMapping("/submit")
+ @ApiOperationSupport(order = 6)
+ @ApiOperation(value = "新增或修改", notes = "传入evaluateTaskSet")
+ public R submit(@Valid @RequestBody EvaluateTaskSetEntity evaluateTaskSet) {
+ return R.status(evaluateTaskSetService.saveOrUpdate(evaluateTaskSet));
+ }
+
+ /**
+ * 评优任务配置 删除
+ */
+ @PostMapping("/remove")
+ @ApiOperationSupport(order = 7)
+ @ApiOperation(value = "逻辑删除", notes = "传入ids")
+ public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
+ return R.status(evaluateTaskSetService.deleteLogic(Func.toLongList(ids)));
+ }
+
+
+ /**
+ * 导出数据
+ */
+ @GetMapping("/export-evaluateTaskSet")
+ @ApiOperationSupport(order = 9)
+ @ApiOperation(value = "导出数据", notes = "传入evaluateTaskSet")
+ public void exportEvaluateTaskSet(@ApiIgnore @RequestParam Map<String, Object> evaluateTaskSet, BladeUser bladeUser, HttpServletResponse response) {
+ QueryWrapper<EvaluateTaskSetEntity> queryWrapper = Condition.getQueryWrapper(evaluateTaskSet, EvaluateTaskSetEntity.class);
+ //if (!AuthUtil.isAdministrator()) {
+ // queryWrapper.lambda().eq(EvaluateTaskSet::getTenantId, bladeUser.getTenantId());
+ //}
+ queryWrapper.lambda().eq(EvaluateTaskSetEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED);
+ List<EvaluateTaskSetExcel> list = evaluateTaskSetService.exportEvaluateTaskSet(queryWrapper);
+ ExcelUtil.export(response, "评优任务配置数据" + DateUtil.time(), "评优任务配置数据表", list, EvaluateTaskSetExcel.class);
+ }
+
+}
diff --git a/src/main/java/org/springblade/modules/evaluate/dto/EvaluateTaskSetDTO.java b/src/main/java/org/springblade/modules/evaluate/dto/EvaluateTaskSetDTO.java
new file mode 100644
index 0000000..56862ef
--- /dev/null
+++ b/src/main/java/org/springblade/modules/evaluate/dto/EvaluateTaskSetDTO.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.evaluate.dto;
+
+import org.springblade.modules.evaluate.entity.EvaluateTaskSetEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 评优任务配置 数据传输对象实体类
+ *
+ * @author aix
+ * @since 2023-12-21
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class EvaluateTaskSetDTO extends EvaluateTaskSetEntity {
+ private static final long serialVersionUID = 1L;
+
+}
diff --git a/src/main/java/org/springblade/modules/evaluate/entity/EvaluateTaskSetEntity.java b/src/main/java/org/springblade/modules/evaluate/entity/EvaluateTaskSetEntity.java
new file mode 100644
index 0000000..691ccd2
--- /dev/null
+++ b/src/main/java/org/springblade/modules/evaluate/entity/EvaluateTaskSetEntity.java
@@ -0,0 +1,71 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.evaluate.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.util.Date;
+import lombok.EqualsAndHashCode;
+import org.springblade.core.tenant.mp.TenantEntity;
+
+/**
+ * 评优任务配置 实体类
+ *
+ * @author aix
+ * @since 2023-12-21
+ */
+@Data
+@TableName("yw_evaluate_task_set")
+@ApiModel(value = "EvaluateTaskSet对象", description = "评优任务配置")
+@EqualsAndHashCode(callSuper = true)
+public class EvaluateTaskSetEntity extends TenantEntity {
+
+ @ApiModelProperty(value = "评优任务id")
+ private Long evaluateTaskId;
+
+ @ApiModelProperty(value = "评优任务名称")
+ private String evaluateTaskName;
+
+ /**
+ * 评优类型(0:员工评优,1:部门评优)
+ */
+ @ApiModelProperty(value = "评优类型(0:员工评优,1:部门评优)")
+ private Integer type;
+ /**
+ * 部门id
+ */
+ @ApiModelProperty(value = "部门id")
+ private Long deptId;
+ /**
+ * 部门名称
+ */
+ @ApiModelProperty(value = "部门名称")
+ private String deptName;
+ /**
+ * 用户id
+ */
+ @ApiModelProperty(value = "用户id")
+ private Long userId;
+ /**
+ * 用户名称
+ */
+ @ApiModelProperty(value = "用户名称")
+ private String userName;
+
+}
diff --git a/src/main/java/org/springblade/modules/evaluate/excel/EvaluateTaskSetExcel.java b/src/main/java/org/springblade/modules/evaluate/excel/EvaluateTaskSetExcel.java
new file mode 100644
index 0000000..0c83425
--- /dev/null
+++ b/src/main/java/org/springblade/modules/evaluate/excel/EvaluateTaskSetExcel.java
@@ -0,0 +1,87 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.evaluate.excel;
+
+
+import lombok.Data;
+
+import java.util.Date;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
+import com.alibaba.excel.annotation.write.style.ContentRowHeight;
+import com.alibaba.excel.annotation.write.style.HeadRowHeight;
+import java.io.Serializable;
+
+
+/**
+ * 评优任务配置 Excel实体类
+ *
+ * @author aix
+ * @since 2023-12-21
+ */
+@Data
+@ColumnWidth(25)
+@HeadRowHeight(20)
+@ContentRowHeight(18)
+public class EvaluateTaskSetExcel implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 租户ID
+ */
+ @ColumnWidth(20)
+ @ExcelProperty("租户ID")
+ private String tenantId;
+ /**
+ * 评优类型(0:员工评优,1:部门评优)
+ */
+ @ColumnWidth(20)
+ @ExcelProperty("评优类型(0:员工评优,1:部门评优)")
+ private Integer type;
+ /**
+ * 部门id
+ */
+ @ColumnWidth(20)
+ @ExcelProperty("部门id")
+ private Long deptId;
+ /**
+ * 部门名称
+ */
+ @ColumnWidth(20)
+ @ExcelProperty("部门名称")
+ private String deptName;
+ /**
+ * 用户id
+ */
+ @ColumnWidth(20)
+ @ExcelProperty("用户id")
+ private Long userId;
+ /**
+ * 用户名称
+ */
+ @ColumnWidth(20)
+ @ExcelProperty("用户名称")
+ private String userName;
+ /**
+ * 是否已删除
+ */
+ @ColumnWidth(20)
+ @ExcelProperty("是否已删除")
+ private Integer isDeleted;
+
+}
diff --git a/src/main/java/org/springblade/modules/evaluate/mapper/EvaluateTaskSetMapper.java b/src/main/java/org/springblade/modules/evaluate/mapper/EvaluateTaskSetMapper.java
new file mode 100644
index 0000000..54f8bb3
--- /dev/null
+++ b/src/main/java/org/springblade/modules/evaluate/mapper/EvaluateTaskSetMapper.java
@@ -0,0 +1,54 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.evaluate.mapper;
+
+import org.springblade.modules.evaluate.entity.EvaluateTaskSetEntity;
+import org.springblade.modules.evaluate.vo.EvaluateTaskSetVO;
+import org.springblade.modules.evaluate.excel.EvaluateTaskSetExcel;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.apache.ibatis.annotations.Param;
+import java.util.List;
+
+/**
+ * 评优任务配置 Mapper 接口
+ *
+ * @author aix
+ * @since 2023-12-21
+ */
+public interface EvaluateTaskSetMapper extends BaseMapper<EvaluateTaskSetEntity> {
+
+ /**
+ * 自定义分页
+ *
+ * @param page
+ * @param evaluateTaskSet
+ * @return
+ */
+ List<EvaluateTaskSetVO> selectEvaluateTaskSetPage(IPage page, EvaluateTaskSetVO evaluateTaskSet);
+
+
+ /**
+ * 获取导出数据
+ *
+ * @param queryWrapper
+ * @return
+ */
+ List<EvaluateTaskSetExcel> exportEvaluateTaskSet(@Param("ew") Wrapper<EvaluateTaskSetEntity> queryWrapper);
+
+}
diff --git a/src/main/java/org/springblade/modules/evaluate/mapper/EvaluateTaskSetMapper.xml b/src/main/java/org/springblade/modules/evaluate/mapper/EvaluateTaskSetMapper.xml
new file mode 100644
index 0000000..d45a22a
--- /dev/null
+++ b/src/main/java/org/springblade/modules/evaluate/mapper/EvaluateTaskSetMapper.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.springblade.modules.evaluate.mapper.EvaluateTaskSetMapper">
+
+ <!-- 通用查询映射结果 -->
+ <resultMap id="evaluateTaskSetResultMap" type="org.springblade.modules.evaluate.entity.EvaluateTaskSetEntity">
+ <result column="id" property="id"/>
+ <result column="tenant_id" property="tenantId"/>
+ <result column="type" property="type"/>
+ <result column="dept_id" property="deptId"/>
+ <result column="dept_name" property="deptName"/>
+ <result column="user_id" property="userId"/>
+ <result column="user_name" property="userName"/>
+ <result column="create_user" property="createUser"/>
+ <result column="create_dept" property="createDept"/>
+ <result column="create_time" property="createTime"/>
+ <result column="update_user" property="updateUser"/>
+ <result column="update_time" property="updateTime"/>
+ <result column="status" property="status"/>
+ <result column="is_deleted" property="isDeleted"/>
+ </resultMap>
+
+
+ <select id="selectEvaluateTaskSetPage" resultMap="evaluateTaskSetResultMap">
+ select * from yw_evaluate_task_set where is_deleted = 0
+ </select>
+
+
+ <select id="exportEvaluateTaskSet" resultType="org.springblade.modules.evaluate.excel.EvaluateTaskSetExcel">
+ SELECT * FROM yw_evaluate_task_set ${ew.customSqlSegment}
+ </select>
+
+</mapper>
diff --git a/src/main/java/org/springblade/modules/evaluate/service/IEvaluateTaskSetService.java b/src/main/java/org/springblade/modules/evaluate/service/IEvaluateTaskSetService.java
new file mode 100644
index 0000000..984f55f
--- /dev/null
+++ b/src/main/java/org/springblade/modules/evaluate/service/IEvaluateTaskSetService.java
@@ -0,0 +1,52 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.evaluate.service;
+
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import org.springblade.modules.evaluate.entity.EvaluateTaskSetEntity;
+import org.springblade.modules.evaluate.vo.EvaluateTaskSetVO;
+import org.springblade.modules.evaluate.excel.EvaluateTaskSetExcel;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.core.mp.base.BaseService;
+import java.util.List;
+
+/**
+ * 评优任务配置 服务类
+ *
+ * @author aix
+ * @since 2023-12-21
+ */
+public interface IEvaluateTaskSetService extends BaseService<EvaluateTaskSetEntity> {
+ /**
+ * 自定义分页
+ *
+ * @param page
+ * @param evaluateTaskSet
+ * @return
+ */
+ IPage<EvaluateTaskSetVO> selectEvaluateTaskSetPage(IPage<EvaluateTaskSetVO> page, EvaluateTaskSetVO evaluateTaskSet);
+
+
+ /**
+ * 导出数据
+ *
+ * @param queryWrapper
+ * @return
+ */
+ List<EvaluateTaskSetExcel> exportEvaluateTaskSet(Wrapper<EvaluateTaskSetEntity> queryWrapper);
+
+}
diff --git a/src/main/java/org/springblade/modules/evaluate/service/impl/EvaluateTaskServiceImpl.java b/src/main/java/org/springblade/modules/evaluate/service/impl/EvaluateTaskServiceImpl.java
index b510ae4..e2f2163 100644
--- a/src/main/java/org/springblade/modules/evaluate/service/impl/EvaluateTaskServiceImpl.java
+++ b/src/main/java/org/springblade/modules/evaluate/service/impl/EvaluateTaskServiceImpl.java
@@ -16,15 +16,28 @@
*/
package org.springblade.modules.evaluate.service.impl;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import lombok.AllArgsConstructor;
import org.springblade.modules.evaluate.entity.EvaluateTaskEntity;
+import org.springblade.modules.evaluate.entity.EvaluateTaskSetEntity;
+import org.springblade.modules.evaluate.service.IEvaluateTaskSetService;
import org.springblade.modules.evaluate.vo.EvaluateTaskVO;
import org.springblade.modules.evaluate.excel.EvaluateTaskExcel;
import org.springblade.modules.evaluate.mapper.EvaluateTaskMapper;
import org.springblade.modules.evaluate.service.IEvaluateTaskService;
+import org.springblade.modules.system.entity.Dept;
+import org.springblade.modules.system.entity.User;
+import org.springblade.modules.system.service.IDeptService;
+import org.springblade.modules.system.service.IUserService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.validation.constraints.NotEmpty;
import java.util.List;
/**
@@ -34,7 +47,13 @@
* @since 2023-12-08
*/
@Service
+@AllArgsConstructor
public class EvaluateTaskServiceImpl extends BaseServiceImpl<EvaluateTaskMapper, EvaluateTaskEntity> implements IEvaluateTaskService {
+
+ private final IEvaluateTaskSetService evaluateTaskSetService;
+ private final IUserService userService;
+
+ private final IDeptService deptService;
@Override
public IPage<EvaluateTaskVO> selectEvaluateTaskPage(IPage<EvaluateTaskVO> page, EvaluateTaskVO evaluateTask) {
@@ -51,4 +70,81 @@
return evaluateTaskList;
}
+ @Override
+ @Transactional
+ public boolean saveOrUpdate(EvaluateTaskEntity evaluateTask) {
+ boolean ret = super.saveOrUpdate(evaluateTask);
+ if (ret) {
+ //先删除
+ QueryWrapper<EvaluateTaskSetEntity> queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("evaluate_task_id", evaluateTask.getId());
+ evaluateTaskSetService.remove(queryWrapper);
+
+ if (evaluateTask.getType() == 0) { //个人评优处理
+ //保存
+ JSONArray jsonArray = JSONArray.parseArray(JSONObject.toJSONString(evaluateTask.getCandidateNum()));
+ for (int i = 0; i < jsonArray.size(); i++) {
+ JSONObject obj = jsonArray.getJSONObject(i);//{"deptId":"1737282385453543425","deptName":"中国铜业","val":3,"users":[{"id":"1737304543567310850","name":"张二瑶"}
+ Long deptId = obj.getLong("deptId");
+ String deptName = obj.getString("deptName");
+ String val = obj.getString("val");
+ JSONArray userJson = JSONArray.parseArray(JSONObject.toJSONString(obj.get("users")));
+ for (int j = 0; j < userJson.size(); j++) {
+ EvaluateTaskSetEntity entityPO = new EvaluateTaskSetEntity();
+ entityPO.setEvaluateTaskId(evaluateTask.getId());
+ entityPO.setDeptId(deptId);
+ entityPO.setDeptName(deptName);
+ entityPO.setUserId(userJson.getJSONObject(j).getLong("id"));
+ entityPO.setUserName(userJson.getJSONObject(j).getString("name"));
+ entityPO.setEvaluateTaskName(evaluateTask.getTaskName());
+ evaluateTaskSetService.save(entityPO);
+ }
+ if (userJson.size() == 0) {
+ QueryWrapper<User> userQueryWrapper = new QueryWrapper<>();
+ userQueryWrapper.eq("dept_id", deptId);
+ List<User> userList = userService.list(userQueryWrapper);
+ for (User po: userList) {
+ EvaluateTaskSetEntity entityPO = new EvaluateTaskSetEntity();
+ entityPO.setEvaluateTaskId(evaluateTask.getId());
+ entityPO.setDeptId(deptId);
+ entityPO.setDeptName(deptName);
+ entityPO.setUserId(po.getId());
+ entityPO.setUserName(po.getName());
+ entityPO.setEvaluateTaskName(evaluateTask.getTaskName());
+ evaluateTaskSetService.save(entityPO);
+ }
+ }
+ }
+ } else if (evaluateTask.getType() == 1){ //部门评优
+ //获取所有部门保存
+ List<Dept> list = deptService.list();
+ for (Dept dept: list) {
+ EvaluateTaskSetEntity entityPO = new EvaluateTaskSetEntity();
+ entityPO.setEvaluateTaskId(evaluateTask.getId());
+ entityPO.setDeptId(dept.getId());
+ entityPO.setDeptName(dept.getDeptName());
+ entityPO.setType(1);
+ entityPO.setEvaluateTaskName(evaluateTask.getTaskName());
+ evaluateTaskSetService.save(entityPO);
+ }
+ }
+
+ }
+ return ret;
+ }
+ @Override
+ @Transactional
+ public boolean deleteLogic(List<Long> ids) {
+ boolean ret = super.deleteLogic(ids);
+ if (ret) {
+ for (Long id:ids) {
+ //先删除
+ QueryWrapper<EvaluateTaskSetEntity> queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("evaluate_task_id", id);
+ evaluateTaskSetService.remove(queryWrapper);
+ }
+ }
+ return ret;
+ }
+
}
diff --git a/src/main/java/org/springblade/modules/evaluate/service/impl/EvaluateTaskSetServiceImpl.java b/src/main/java/org/springblade/modules/evaluate/service/impl/EvaluateTaskSetServiceImpl.java
new file mode 100644
index 0000000..679d431
--- /dev/null
+++ b/src/main/java/org/springblade/modules/evaluate/service/impl/EvaluateTaskSetServiceImpl.java
@@ -0,0 +1,54 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.evaluate.service.impl;
+
+import org.springblade.modules.evaluate.entity.EvaluateTaskSetEntity;
+import org.springblade.modules.evaluate.vo.EvaluateTaskSetVO;
+import org.springblade.modules.evaluate.excel.EvaluateTaskSetExcel;
+import org.springblade.modules.evaluate.mapper.EvaluateTaskSetMapper;
+import org.springblade.modules.evaluate.service.IEvaluateTaskSetService;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.core.mp.base.BaseServiceImpl;
+import java.util.List;
+
+/**
+ * 评优任务配置 服务实现类
+ *
+ * @author aix
+ * @since 2023-12-21
+ */
+@Service
+public class EvaluateTaskSetServiceImpl extends BaseServiceImpl<EvaluateTaskSetMapper, EvaluateTaskSetEntity> implements IEvaluateTaskSetService {
+
+ @Override
+ public IPage<EvaluateTaskSetVO> selectEvaluateTaskSetPage(IPage<EvaluateTaskSetVO> page, EvaluateTaskSetVO evaluateTaskSet) {
+ return page.setRecords(baseMapper.selectEvaluateTaskSetPage(page, evaluateTaskSet));
+ }
+
+
+ @Override
+ public List<EvaluateTaskSetExcel> exportEvaluateTaskSet(Wrapper<EvaluateTaskSetEntity> queryWrapper) {
+ List<EvaluateTaskSetExcel> evaluateTaskSetList = baseMapper.exportEvaluateTaskSet(queryWrapper);
+ //evaluateTaskSetList.forEach(evaluateTaskSet -> {
+ // evaluateTaskSet.setTypeName(DictCache.getValue(DictEnum.YES_NO, EvaluateTaskSet.getType()));
+ //});
+ return evaluateTaskSetList;
+ }
+
+}
diff --git a/src/main/java/org/springblade/modules/evaluate/vo/EvaluateTaskSetVO.java b/src/main/java/org/springblade/modules/evaluate/vo/EvaluateTaskSetVO.java
new file mode 100644
index 0000000..f3645ce
--- /dev/null
+++ b/src/main/java/org/springblade/modules/evaluate/vo/EvaluateTaskSetVO.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.evaluate.vo;
+
+import org.springblade.modules.evaluate.entity.EvaluateTaskSetEntity;
+import org.springblade.core.tool.node.INode;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 评优任务配置 视图实体类
+ *
+ * @author aix
+ * @since 2023-12-21
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class EvaluateTaskSetVO extends EvaluateTaskSetEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ private Long voteNum;
+
+}
diff --git a/src/main/java/org/springblade/modules/evaluate/wrapper/EvaluateTaskSetWrapper.java b/src/main/java/org/springblade/modules/evaluate/wrapper/EvaluateTaskSetWrapper.java
new file mode 100644
index 0000000..328377a
--- /dev/null
+++ b/src/main/java/org/springblade/modules/evaluate/wrapper/EvaluateTaskSetWrapper.java
@@ -0,0 +1,82 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.evaluate.wrapper;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.springblade.core.mp.support.BaseEntityWrapper;
+import org.springblade.core.tool.utils.BeanUtil;
+import org.springblade.core.tool.utils.SpringUtil;
+import org.springblade.modules.evaluate.entity.EvaluateResultEntity;
+import org.springblade.modules.evaluate.entity.EvaluateTaskSetEntity;
+import org.springblade.modules.evaluate.service.IEvaluateResultService;
+import org.springblade.modules.evaluate.service.IEvaluateTaskService;
+import org.springblade.modules.evaluate.service.IEvaluateTaskSetService;
+import org.springblade.modules.evaluate.vo.EvaluateTaskSetVO;
+
+import java.util.List;
+import java.util.Objects;
+
+/**
+ * 评优任务配置 包装类,返回视图层所需的字段
+ *
+ * @author aix
+ * @since 2023-12-21
+ */
+public class EvaluateTaskSetWrapper extends BaseEntityWrapper<EvaluateTaskSetEntity, EvaluateTaskSetVO> {
+
+ private static final IEvaluateResultService evaluateResultService;
+
+ static {
+ evaluateResultService = SpringUtil.getBean(IEvaluateResultService.class);
+ }
+
+ public static EvaluateTaskSetWrapper build() {
+ return new EvaluateTaskSetWrapper();
+ }
+
+ @Override
+ public EvaluateTaskSetVO entityVO(EvaluateTaskSetEntity evaluateTaskSet) {
+ EvaluateTaskSetVO evaluateTaskSetVO = Objects.requireNonNull(BeanUtil.copy(evaluateTaskSet, EvaluateTaskSetVO.class));
+
+ //User createUser = UserCache.getUser(evaluateTaskSet.getCreateUser());
+ //User updateUser = UserCache.getUser(evaluateTaskSet.getUpdateUser());
+ //evaluateTaskSetVO.setCreateUserName(createUser.getName());
+ //evaluateTaskSetVO.setUpdateUserName(updateUser.getName());
+
+ return evaluateTaskSetVO;
+ }
+
+ @Override
+ public IPage<EvaluateTaskSetVO> pageVO(IPage<EvaluateTaskSetEntity> pages) {
+ List<EvaluateTaskSetVO> records = listVO(pages.getRecords());
+
+ for (EvaluateTaskSetVO vo : records) {
+ QueryWrapper<EvaluateResultEntity> queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("be_id",vo.getUserId());
+ queryWrapper.eq("evaluate_task_id",vo.getEvaluateTaskId());
+ vo.setVoteNum(evaluateResultService.count(queryWrapper));
+ }
+
+ IPage<EvaluateTaskSetVO> pageVo = new Page<>(pages.getCurrent(), pages.getSize(), pages.getTotal());
+ pageVo.setRecords(records);
+ return pageVo;
+ }
+
+
+}
diff --git a/src/main/java/org/springblade/modules/leave/controller/LeaveWordsController.java b/src/main/java/org/springblade/modules/leave/controller/LeaveWordsController.java
index dff6d88..5650c76 100644
--- a/src/main/java/org/springblade/modules/leave/controller/LeaveWordsController.java
+++ b/src/main/java/org/springblade/modules/leave/controller/LeaveWordsController.java
@@ -118,7 +118,7 @@
/**
* 留言板块 新增或修改
*/
- @PostMapping("/submit")
+ @PostMapping(value = "/submit", produces = "application/json;charset=UTF-8")
@ApiOperationSupport(order = 6)
@ApiOperation(value = "新增或修改", notes = "传入leaveWords")
public R submit(@Valid @RequestBody LeaveWordsEntity leaveWords) {
--
Gitblit v1.9.3