Эх сурвалжийг харах

报表修改用户组为多选,报表模板新增通过id修改名称

zhoupeng 2 жил өмнө
parent
commit
6bb713a092

+ 3 - 1
chaunyi_opc/opc_common/src/main/java/com/example/opc_common/entity/ReportTable.java

@@ -4,7 +4,9 @@ import com.example.opc_common.dynamicSchedule.BaseSchedule;
 import lombok.Data;
 
 import java.io.Serializable;
+import java.util.ArrayList;
 import java.util.Date;
+import java.util.List;
 
 @Data
 public class ReportTable extends BaseSchedule implements Serializable {
@@ -42,7 +44,7 @@ public class ReportTable extends BaseSchedule implements Serializable {
     /**
      * 用户组id
      */
-    private Integer userGroupId;
+    List<UserGroup> userGroupList=new ArrayList<>();
     /**
      * 创建时间
      */

+ 16 - 0
chaunyi_opc/opc_da/src/main/java/com/example/opc_da/controller/ReportTableController.java

@@ -54,6 +54,22 @@ public class ReportTableController {
     }
 
     /**
+     * 根据id修改报表模板名称
+     *
+     * @param id
+     * @param templateName
+     * @return
+     */
+    @PostMapping("/updateTableTemplateNameById")
+    @WebLog(ServerEnum = ServerEnum.CLIENT, ModelEnum = ModelEnum.REPORTTABLE, OperationEnum = OperationEnum.UPDATE)
+    public Result updateTableTemplateNameById(Integer id, String templateName) {
+        if (Blank.isEmpty(id)) {
+            return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "报表id不能为空");
+        }
+        return reportTableService.updateTableTemplateNameById(id, templateName);
+    }
+
+    /**
      * 通过字段id查询相应的系统报表模板
      *
      * @param keyType

+ 9 - 4
chaunyi_opc/opc_da/src/main/java/com/example/opc_da/dao/ReportTableDao.java

@@ -1,9 +1,6 @@
 package com.example.opc_da.dao;
 
-import com.example.opc_common.entity.ReportTable;
-import com.example.opc_common.entity.SysTableTemplate;
-import com.example.opc_common.entity.TableTemplate;
-import com.example.opc_common.entity.UserGroupUser;
+import com.example.opc_common.entity.*;
 import org.springframework.stereotype.Repository;
 
 import java.util.List;
@@ -68,4 +65,12 @@ public interface ReportTableDao {
     List<SysTableTemplate> getSysTableTemplate(List<Integer> dictIdList, String templateName);
 
     SysTableTemplate getSysTableTemplateById(Integer id);
+
+    Integer addTableUserGroup(Integer reportTableId, List<UserGroup> userGroupList);
+
+    Integer delTableUserGroup(Integer reportTableId);
+
+    Integer updateTableTemplateNameById(Integer id, String templateName);
+
+    List<UserGroup> getTableUserGroup(Integer reportTableId);
 }

+ 2 - 0
chaunyi_opc/opc_da/src/main/java/com/example/opc_da/service/ReportTableService.java

@@ -39,4 +39,6 @@ public interface ReportTableService {
     Result getSysTableTemplate(String keyType, Integer dictId, String templateName);
 
     Result getSysTableTemplateById(Integer id);
+
+    Result updateTableTemplateNameById(Integer id, String templateName);
 }

+ 30 - 6
chaunyi_opc/opc_da/src/main/java/com/example/opc_da/service/impl/ReportTableServiceImpl.java

@@ -1,10 +1,7 @@
 package com.example.opc_da.service.impl;
 
 import com.alibaba.fastjson.JSONObject;
-import com.example.opc_common.entity.Dict;
-import com.example.opc_common.entity.ReportTable;
-import com.example.opc_common.entity.TableTemplate;
-import com.example.opc_common.entity.UserGroupUser;
+import com.example.opc_common.entity.*;
 import com.example.opc_common.enums.ResultEnum;
 import com.example.opc_common.util.Blank;
 import com.example.opc_common.util.ConstantStr;
@@ -84,8 +81,9 @@ public class ReportTableServiceImpl implements ReportTableService {
         if (Blank.isNotEmpty(isExistReportTable)) {
             return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "已经存在此名称的报表了,请更改名称");
         }
-        if (reportTableDao.addReportTable(reportTable) <= 0) {
-            return Result.no(ResultEnum.SERVER_ERROR.getRespCode(), "添加报表失败");
+        reportTableDao.addReportTable(reportTable);
+        if (Blank.isNotEmpty(reportTable.getUserGroupList())) {
+            reportTableDao.addTableUserGroup(reportTable.getId(), reportTable.getUserGroupList());
         }
         return Result.ok("添加报表成功");
     }
@@ -100,6 +98,11 @@ public class ReportTableServiceImpl implements ReportTableService {
         if (reportTableDao.updateReportTable(reportTable) <= 0) {
             return Result.no(ResultEnum.SERVER_ERROR.getRespCode(), "修改报表失败");
         }
+        reportTableDao.delTableUserGroup(reportTable.getId());
+        if (Blank.isNotEmpty(reportTable.getUserGroupList())) {
+            reportTableDao.addTableUserGroup(reportTable.getId(), reportTable.getUserGroupList());
+
+        }
         return Result.ok("修改报表成功");
     }
 
@@ -135,6 +138,10 @@ public class ReportTableServiceImpl implements ReportTableService {
     @Override
     public synchronized Result tableExchangeTypeById(Integer id, Integer isAutoReport, String cron) {
         ReportTable reportTable = reportTableDao.getReportTableById(id);
+        List<UserGroup> userGroupList = reportTableDao.getTableUserGroup(reportTable.getId());
+        if (Blank.isNotEmpty(userGroupList)) {
+            reportTable.setUserGroupList(userGroupList);
+        }
         if (isAutoReport == ConstantStr.AUTOMATIC_REPORT) {
             if (Blank.isEmpty(cron)) {
                 return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "cron表达式不能为空");
@@ -246,6 +253,23 @@ public class ReportTableServiceImpl implements ReportTableService {
         return Result.ok(reportTableDao.getSysTableTemplateById(id));
     }
 
+    @Override
+    public synchronized Result updateTableTemplateNameById(Integer id, String templateName) {
+        String userId = userUtil.getCurrentUserId();
+        TableTemplate tableTemplate = reportTableDao.getTableTemplateById(id);
+        if (!tableTemplate.getUserId().equals(userId)) {
+            return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "此报表模板不是你创建的,不能修改其名称");
+        }
+        TableTemplate isExistTableTemplate = reportTableDao.getTableTemplateByNameNoId(id, userId, templateName);
+        if (Blank.isNotEmpty(isExistTableTemplate)) {
+            return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "已经存在此报表模板名称了,请修改");
+        }
+        if (reportTableDao.updateTableTemplateNameById(id, templateName) <= 0) {
+            return Result.no(ResultEnum.SERVER_ERROR.getRespCode(), "修改报表模板名称失败");
+        }
+        return Result.ok("修改报表模板名称成功");
+    }
+
     public List<Integer> gen(List<Integer> dictIdList, List<Dict> dictList, Integer dictId) {
         dictIdList.add(dictId);
         Iterator<Dict> iterator = dictList.iterator();

+ 6 - 2
chaunyi_opc/opc_da/src/main/java/com/example/opc_da/task/ReportTableTask.java

@@ -57,8 +57,10 @@ public class ReportTableTask {
             reportTable1.setReportTableName(reportTable.getReportTableName() + "_" + DateUtil.dateChangeStr(new Date(), "yyyyMMddHHmmss"));
             reportTable1.setReportTableData(jsonObject.toJSONString());
             reportTable1.setIsAutoReport(ConstantStr.AUTOMATIC_GENERATE_REPORT);
-            reportTable1.setUserGroupId(reportTable.getUserGroupId());
             reportTableDao.addReportTable(reportTable1);
+            if (Blank.isNotEmpty(reportTable.getUserGroupList())) {
+                reportTableDao.addTableUserGroup(reportTable1.getId(), reportTable.getUserGroupList());
+            }
             log.info("动态报表,{},执行结束,执行时间为{}", reportTable, DateUtil.dateChangeStrYmdhmss(new Date()));
             return;
         }
@@ -157,8 +159,10 @@ public class ReportTableTask {
         reportTable1.setReportTableName(reportTable.getReportTableName() + "_" + DateUtil.dateChangeStr(new Date(), "yyyyMMddHHmmss"));
         reportTable1.setReportTableData(jsonObject.toJSONString());
         reportTable1.setIsAutoReport(ConstantStr.AUTOMATIC_GENERATE_REPORT);
-        reportTable1.setUserGroupId(reportTable.getUserGroupId());
         reportTableDao.addReportTable(reportTable1);
+        if (Blank.isNotEmpty(reportTable.getUserGroupList())) {
+            reportTableDao.addTableUserGroup(reportTable1.getId(), reportTable.getUserGroupList());
+        }
         log.info("动态报表,{},执行结束,执行时间为{}", reportTable, DateUtil.dateChangeStrYmdhmss(new Date()));
     }
 }

+ 28 - 1
chaunyi_opc/opc_da/src/main/resources/mapper/ReportTableDao.xml

@@ -40,13 +40,22 @@
             )
     </insert>
 
-    <insert id="addReportTable">
+    <insert id="addReportTable" parameterType="com.example.opc_common.entity.ReportTable" useGeneratedKeys="true"
+            keyProperty="id">
         insert into t_report_table(user_id, report_table_name, report_table_data, is_auto_report, report_value_format,
                                    user_group_id,
                                    create_time) VALUE
             (#{userId}, #{reportTableName}, #{reportTableData}, #{isAutoReport}, #{reportValueFormat}, #{userGroupId}, now())
     </insert>
 
+    <insert id="addTableUserGroup">
+        insert into t_table_user_group (table_id, user_group_id)
+        values
+        <foreach collection="userGroupList" item="userGroup" index="index" separator=",">
+            (#{reportTableId}, #{userGroup.id})
+        </foreach>
+    </insert>
+
     <update id="updateTableTemplate">
         update t_table_template
         set template_name=#{templateName},
@@ -88,6 +97,12 @@
         where id = #{id}
     </update>
 
+    <update id="updateTableTemplateNameById">
+        update t_table_template
+        set template_name=#{templateName}
+        where id = #{id}
+    </update>
+
     <delete id="delTableTemplateById">
         delete
         from t_table_template
@@ -100,6 +115,12 @@
         where id = #{id}
     </delete>
 
+    <delete id="delTableUserGroup">
+        delete
+        from t_table_user_group
+        where table_id = #{reportTableId}
+    </delete>
+
     <select id="getTableTemplateByName" resultType="com.example.opc_common.entity.TableTemplate">
         select
         <include refid="tableTemplate"/>
@@ -339,4 +360,10 @@
         from t_sys_table_template
         where id = #{id}
     </select>
+
+    <select id="getTableUserGroup" resultType="com.example.opc_common.entity.UserGroup">
+        select user_group_id as id
+        from t_table_user_group
+        where table_id = #{templateName}
+    </select>
 </mapper>