Pārlūkot izejas kodu

评价模板
1、新增修改状态接口
2、列表返回部门名称
3、修复列表查询

dzx 1 gadu atpakaļ
vecāks
revīzija
6c9cbb709c

+ 27 - 12
src/main/java/com/xjrsoft/module/evaluate/controller/EvaluateTemplateController.java

@@ -1,31 +1,37 @@
 package com.xjrsoft.module.evaluate.controller;
 
+import cn.dev33.satoken.annotation.SaCheckPermission;
 import cn.hutool.core.bean.BeanUtil;
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.support.ExcelTypeEnum;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.xjrsoft.common.model.result.RT;
 import com.xjrsoft.common.page.ConventPage;
 import com.xjrsoft.common.page.PageOutput;
-import com.xjrsoft.common.model.result.RT;
 import com.xjrsoft.module.evaluate.dto.AddEvaluateTemplateDto;
-import com.xjrsoft.module.evaluate.dto.UpdateEvaluateTemplateDto;
-import cn.dev33.satoken.annotation.SaCheckPermission;
-import com.alibaba.excel.EasyExcel;
-import com.alibaba.excel.support.ExcelTypeEnum;
-import org.springframework.http.ResponseEntity;
-import java.io.ByteArrayOutputStream;
-import java.util.ArrayList;
-
 import com.xjrsoft.module.evaluate.dto.EvaluateTemplatePageDto;
+import com.xjrsoft.module.evaluate.dto.UpdateEvaluateTemplateDto;
+import com.xjrsoft.module.evaluate.dto.UpdateEvaluateTemplateStatusDto;
 import com.xjrsoft.module.evaluate.entity.EvaluateTemplate;
 import com.xjrsoft.module.evaluate.service.IEvaluateTemplateService;
 import com.xjrsoft.module.evaluate.vo.EvaluateTemplatePageVo;
-
 import com.xjrsoft.module.evaluate.vo.EvaluateTemplateVo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
 
 import javax.validation.Valid;
+import java.io.ByteArrayOutputStream;
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -68,7 +74,8 @@ public class EvaluateTemplateController {
     @ApiOperation(value = "新增评价模版")
     @SaCheckPermission("evaluatetemplate:add")
     public RT<Boolean> add(@Valid @RequestBody AddEvaluateTemplateDto dto){
-        boolean isSuccess = evaluateTemplateService.saveCustom(dto);
+        EvaluateTemplate evaluateTemplate = BeanUtil.toBean(dto, EvaluateTemplate.class);
+        boolean isSuccess = evaluateTemplateService.save(evaluateTemplate);
         return RT.ok(isSuccess);
     }
 
@@ -99,4 +106,12 @@ public class EvaluateTemplateController {
 
         return RT.fileStream(bot.toByteArray(), "EvaluateTemplate" + ExcelTypeEnum.XLSX.getValue());
     }
+
+    @PostMapping(value = "/change-status")
+    @ApiOperation(value="修改状态")
+    @SaCheckPermission("evaluatemanage:edit")
+    public RT<Boolean> changeStatus(@Valid @RequestBody UpdateEvaluateTemplateStatusDto dto){
+        Boolean release = evaluateTemplateService.changeStatus(dto);
+        return RT.ok(release);
+    }
 }

+ 28 - 0
src/main/java/com/xjrsoft/module/evaluate/dto/UpdateEvaluateTemplateStatusDto.java

@@ -0,0 +1,28 @@
+package com.xjrsoft.module.evaluate.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+
+/**
+* @title: 评价模版
+* @Author szs
+* @Date: 2024-01-15
+* @Version 1.0
+*/
+@Data
+public class UpdateEvaluateTemplateStatusDto implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+    * 主键编号
+    */
+    @ApiModelProperty("主键编号")
+    private Long id;
+
+    @ApiModelProperty("状态(0:禁用 1:启用)")
+    private Integer status;
+}

+ 3 - 0
src/main/java/com/xjrsoft/module/evaluate/service/IEvaluateTemplateService.java

@@ -3,6 +3,7 @@ package com.xjrsoft.module.evaluate.service;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.yulichang.base.MPJBaseService;
 import com.xjrsoft.module.evaluate.dto.AddEvaluateTemplateDto;
+import com.xjrsoft.module.evaluate.dto.UpdateEvaluateTemplateStatusDto;
 import com.xjrsoft.module.evaluate.entity.EvaluateTemplate;
 import com.xjrsoft.module.evaluate.dto.EvaluateTemplatePageDto;
 import com.xjrsoft.module.evaluate.vo.EvaluateTemplatePageVo;
@@ -18,4 +19,6 @@ public interface IEvaluateTemplateService extends MPJBaseService<EvaluateTemplat
     Page<EvaluateTemplatePageVo> getPage(Page<EvaluateTemplatePageDto> page, EvaluateTemplatePageDto dto);
 
     Boolean saveCustom(AddEvaluateTemplateDto dto);
+
+    Boolean changeStatus(UpdateEvaluateTemplateStatusDto dto);
 }

+ 43 - 1
src/main/java/com/xjrsoft/module/evaluate/service/impl/EvaluateTemplateServiceImpl.java

@@ -1,19 +1,29 @@
 package com.xjrsoft.module.evaluate.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.yulichang.base.MPJBaseServiceImpl;
 import com.google.gson.JsonArray;
 import com.google.gson.JsonObject;
+import com.xjrsoft.common.enums.DeleteMark;
 import com.xjrsoft.module.evaluate.dto.AddEvaluateTemplateDto;
 import com.xjrsoft.module.evaluate.dto.EvaluateTemplatePageDto;
+import com.xjrsoft.module.evaluate.dto.UpdateEvaluateTemplateStatusDto;
 import com.xjrsoft.module.evaluate.entity.EvaluateTemplate;
 import com.xjrsoft.module.evaluate.mapper.EvaluateTemplateMapper;
 import com.xjrsoft.module.evaluate.service.IEvaluateTemplateService;
 import com.xjrsoft.module.evaluate.vo.EvaluateTemplatePageVo;
+import com.xjrsoft.module.organization.entity.Department;
+import com.xjrsoft.module.organization.mapper.DepartmentMapper;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
 
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
 /**
 * @title: 评价模版
 * @Author szs
@@ -24,10 +34,31 @@ import org.springframework.stereotype.Service;
 @AllArgsConstructor
 public class EvaluateTemplateServiceImpl extends MPJBaseServiceImpl<EvaluateTemplateMapper, EvaluateTemplate> implements IEvaluateTemplateService {
     private final EvaluateTemplateMapper evaluateTemplateMapper;
+    private final DepartmentMapper departmentMapper;
 
     @Override
     public Page<EvaluateTemplatePageVo> getPage(Page<EvaluateTemplatePageDto> page, EvaluateTemplatePageDto dto) {
-        return evaluateTemplateMapper.getPage(page, dto);
+        Page<EvaluateTemplatePageVo> voPage = evaluateTemplateMapper.getPage(page, dto);
+        List<Department> departments = departmentMapper.selectList(
+                new QueryWrapper<Department>().lambda().eq(Department::getDeleteMark, DeleteMark.NODELETE.getCode())
+        );
+        Map<String, String> departmentMap = new HashMap<>();
+        for (Department department : departments) {
+            departmentMap.put(department.getId().toString(), department.getName());
+        }
+
+        for (EvaluateTemplatePageVo record : voPage.getRecords()) {
+            String[] deptIds = record.getDeptIds().replaceAll("\\[", "").replaceAll("]", "").replaceAll(" ", "").split(",");
+            String deptName = "";
+            for (int i = 0; i < deptIds.length; i ++){
+                if(i > 0){
+                    deptName += ",";
+                }
+                deptName += departmentMap.get(deptIds[i]);
+            }
+            record.setDeptNames(deptName);
+        }
+        return voPage;
     }
 
     @Override
@@ -43,5 +74,16 @@ public class EvaluateTemplateServiceImpl extends MPJBaseServiceImpl<EvaluateTemp
         template.setDeptIds(array.toString());
         evaluateTemplateMapper.insert(template);
         return true;
+
+    }
+
+    @Override
+    public Boolean changeStatus(UpdateEvaluateTemplateStatusDto dto) {
+        EvaluateTemplate evaluateTemplate = evaluateTemplateMapper.selectById(dto.getId());
+        UpdateWrapper<EvaluateTemplate> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.eq("id", evaluateTemplate.getId());
+        updateWrapper.setSql("status = "  + dto.getStatus());
+        evaluateTemplateMapper.update(evaluateTemplate, updateWrapper);
+        return true;
     }
 }

+ 5 - 0
src/main/java/com/xjrsoft/module/evaluate/vo/EvaluateTemplatePageVo.java

@@ -107,6 +107,11 @@ public class EvaluateTemplatePageVo {
     @ExcelProperty("使用部门ids")
     @ApiModelProperty("使用部门ids")
     private String deptIds;
+
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("使用部门名称")
+    @ApiModelProperty("使用部门名称")
+    private String deptNames;
     /**
     * 备注
     */

+ 1 - 1
src/main/resources/mapper/evaluate/EvaluateObjectMapper.xml

@@ -12,7 +12,7 @@
         ORDER BY t1.id
     </select>
     <select id="getExecuterList" resultType="com.xjrsoft.module.evaluate.vo.EvaluateExecuterVo">
-        SELECT t1.evaluate_object_id,t2.name AS user_name,t1.user_id FROM evaluate_executer t1
+        SELECT t1.evaluate_object_id,t2.name AS executer_name,t1.id as executer_id FROM evaluate_executer t1
         LEFT JOIN xjr_user t2 ON t1.user_id = t2.id
         WHERE t1.delete_mark = 0 and t1.evaluate_manage_id = #{id}
     </select>

+ 4 - 7
src/main/resources/mapper/evaluationmanagemen/EvaluateTemplateMapper.xml → src/main/resources/mapper/evaluate/EvaluateTemplateMapper.xml

@@ -5,22 +5,19 @@
 <mapper namespace="com.xjrsoft.module.evaluate.mapper.EvaluateTemplateMapper">
     <select id="getPage" parameterType="com.xjrsoft.module.evaluate.dto.EvaluateTemplatePageDto" resultType="com.xjrsoft.module.evaluate.vo.EvaluateTemplatePageVo">
         SELECT t.id, t.name,
-            (SELECT t1.name
-            FROM xjr_dictionary_detail t1
-            JOIN xjr_dictionary_item t2 ON t1.item_id = t2.id
-            WHERE t2.code = 'evaluate_type'
-            AND t1.code = t.evaluate_type) AS evaluate_type,
+        t2.name AS evaluate_type,
         t.dept_ids, t.total, t.remark, t.status
         FROM evaluate_template t
+        left join xjr_dictionary_detail t2 on t.evaluate_type = t2.code and t2.item_id = 1746831039385366530
         WHERE t.delete_mark = 0
         <if test="dto.deptIds != null and dto.deptIds != ''">
-            AND t.dept_ids = #{dto.deptIds}
+            AND t.dept_ids like concat('%',#{dto.deptIds},'%')
         </if>
         <if test="dto.evaluateType != null and dto.evaluateType != ''">
             AND t.evaluate_type = #{dto.evaluateType}
         </if>
         <if test="dto.name != null">
-            AND t.name = #{dto.name}
+            AND t.name like concat('%',#{dto.name},'%')
         </if>
         <if test="dto.status != null">
             AND t.status = #{dto.status}