瀏覽代碼

Merge remote-tracking branch 'origin/V0.0.2' into V0.0.2

jingyuanchao 2 年之前
父節點
當前提交
2aedb42287

+ 31 - 1
project_data/sql/0.0.2/soc 9月14号11.30 以后的增量部分脚本.sql

@@ -29,4 +29,34 @@ update sys_menu set menu_name ='安全教育' where id=2127;
 update sys_menu set menu_name ='知识库标签管理' where id=2038;
 update sys_menu set menu_name ='上传学习资料' where id=2045;
 update sys_menu set menu_name ='培训计划管理' where id=2059;
-update sys_menu set menu_name ='培训任务管理' where id=2079;
+update sys_menu set menu_name ='培训任务管理' where id=2079;
+
+-- 机构扩展添加是否业务库
+ALTER TABLE sys_org_extend
+    MODIFY COLUMN business_library INT COMMENT '是否业务库';
+
+-- 机构扩展字典添加
+delete from sys_dict_type where dict_type in ('org_extend_standard','org_extend_business_library_standard','org_extend_self_service_bank_standard','org_extend_detached_standard','org_extend_is');
+
+INSERT INTO `sys_dict_type`( `dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ( '机构扩展基础标准', 'org_extend_standard', '0', '超级管理员', '2023-09-14 16:53:49', '', NULL, '机构扩展基础标准');
+INSERT INTO `sys_dict_type`( `dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ( '机构扩展业务库标准', 'org_extend_business_library_standard', '0', '超级管理员', '2023-09-14 16:54:52', '', NULL, '机构扩展业务库标准');
+INSERT INTO `sys_dict_type`( `dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ( '机构扩展在行式自助银行标准', 'org_extend_self_service_bank_standard', '0', '超级管理员', '2023-09-14 16:55:45', '', NULL, '机构扩展在行式自助银行标准');
+INSERT INTO `sys_dict_type`( `dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ( '机构扩展离行式自助银行标准', 'org_extend_detached_standard', '0', '超级管理员', '2023-09-14 16:56:30', '', NULL, '机构扩展离行式自助银行标准');
+INSERT INTO `sys_dict_type`( `dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ( '机构扩展是否选择框', 'org_extend_is', '0', '超级管理员', '2023-09-15 09:48:38', '', NULL, '机构扩展是否选择框');
+
+delete from sys_dict_data where dict_type in ('org_extend_standard','org_extend_business_library_standard','org_extend_self_service_bank_standard','org_extend_detached_standard','org_extend_is');
+
+INSERT INTO `sys_dict_data`( `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ( 1, '基础标准1', '1', 'org_extend_standard', NULL, 'default', 'N', '0', '超级管理员', '2023-09-14 16:57:04', '', NULL, NULL);
+INSERT INTO `sys_dict_data`( `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ( 2, '基础标准2', '2', 'org_extend_standard', NULL, 'default', 'N', '0', '超级管理员', '2023-09-14 16:57:10', '', NULL, NULL);
+INSERT INTO `sys_dict_data`( `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ( 3, '基础标准3', '3', 'org_extend_standard', NULL, 'default', 'N', '0', '超级管理员', '2023-09-14 16:57:28', '', NULL, NULL);
+INSERT INTO `sys_dict_data`( `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ( 1, '业务库标准1', '1', 'org_extend_business_library_standard', NULL, 'default', 'N', '0', '超级管理员', '2023-09-14 16:57:45', '', NULL, NULL);
+INSERT INTO `sys_dict_data`( `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ( 2, '业务库标准2', '2', 'org_extend_business_library_standard', NULL, 'default', 'N', '0', '超级管理员', '2023-09-14 16:57:50', '', NULL, NULL);
+INSERT INTO `sys_dict_data`( `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ( 3, '业务库标准3', '3', 'org_extend_business_library_standard', NULL, 'default', 'N', '0', '超级管理员', '2023-09-14 16:57:55', '', NULL, NULL);
+INSERT INTO `sys_dict_data`( `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ( 1, '在行式自助银行标准1', '1', 'org_extend_self_service_bank_standard', NULL, 'default', 'N', '0', '超级管理员', '2023-09-14 16:58:09', '', NULL, NULL);
+INSERT INTO `sys_dict_data`( `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ( 2, '在行式自助银行标准2', '2', 'org_extend_self_service_bank_standard', NULL, 'default', 'N', '0', '超级管理员', '2023-09-14 16:58:13', '', NULL, NULL);
+INSERT INTO `sys_dict_data`( `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ( 3, '在行式自助银行标准3', '3', 'org_extend_self_service_bank_standard', NULL, 'default', 'N', '0', '超级管理员', '2023-09-14 16:58:20', '', NULL, NULL);
+INSERT INTO `sys_dict_data`( `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ( 1, '离行式自助银行标准1', '1', 'org_extend_detached_standard', NULL, 'default', 'N', '0', '超级管理员', '2023-09-14 16:58:33', '', NULL, NULL);
+INSERT INTO `sys_dict_data`( `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ( 2, '离行式自助银行标准2', '2', 'org_extend_detached_standard', NULL, 'default', 'N', '0', '超级管理员', '2023-09-14 16:58:37', '', NULL, NULL);
+INSERT INTO `sys_dict_data`( `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ( 3, '离行式自助银行标准3', '3', 'org_extend_detached_standard', NULL, 'default', 'N', '0', '超级管理员', '2023-09-14 16:58:41', '', NULL, NULL);
+INSERT INTO `sys_dict_data`( `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ( 1, '是', '1', 'org_extend_is', NULL, 'default', 'N', '0', '超级管理员', '2023-09-15 09:48:58', '', NULL, NULL);
+INSERT INTO `sys_dict_data`( `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ( 2, '否', '0', 'org_extend_is', NULL, 'default', 'N', '0', '超级管理员', '2023-09-15 09:49:08', '', NULL, NULL);

+ 1 - 1
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/resumption/controller/ResumptionRecordController.java

@@ -101,7 +101,7 @@ public class ResumptionRecordController extends BaseController {
     @ApiOperation(value = "履职记录导出")
     @PostMapping("/export")
     @RequiresPermissions("resumption:taskManager:export")
-    public void export(@RequestBody ResumptionRecordPageDto pageDto, HttpServletResponse response) throws Exception {
+    public void export(ResumptionRecordPageDto pageDto, HttpServletResponse response) throws Exception {
         resumptionRecordService.export(pageDto, response);
     }
 }

+ 48 - 24
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/resumption/service/impl/ResumptionRecordServiceImpl.java

@@ -3,10 +3,14 @@ package com.xunmei.core.resumption.service.impl;
 import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.ObjectUtil;
+import com.alibaba.excel.EasyExcel;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.xunmei.common.core.constant.SecurityConstants;
+import com.xunmei.common.core.domain.retrieval.vo.CoreMonitoringRetrievalTaskExcelVo;
+import com.xunmei.common.core.exception.ServiceException;
+import com.xunmei.common.core.utils.DateHelper;
 import com.xunmei.common.core.vo.IdNameVo;
 import com.xunmei.common.core.web.page.TableDataInfo;
 import com.xunmei.core.resumption.domain.Resumption;
@@ -23,8 +27,10 @@ import com.xunmei.core.resumption.domain.AppResumptionDataRemarkimg;
 import com.xunmei.core.resumption.vo.resumptionRecord.*;
 import com.xunmei.core.resumption.vo.resumptionRegister.ResumptionDataProtectionVo;
 import com.xunmei.system.api.Eto.RoleConditionEto;
+import com.xunmei.system.api.RemoteDictDataService;
 import com.xunmei.system.api.RemoteOrgService;
 import com.xunmei.system.api.RemoteRoleService;
+import com.xunmei.system.api.domain.SysDictData;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -33,6 +39,7 @@ import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
+import java.net.URLEncoder;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -49,27 +56,19 @@ import java.util.stream.Collectors;
 public class ResumptionRecordServiceImpl extends ServiceImpl<ResumptionRecordMapper, Resumption> implements IResumptionRecordService {
     @Resource
     private RemoteOrgService orgService;
-    //    @Resource
-//    private OrgRepository orgRepository;
-//    @Autowired
-//    IFileService fileService;
-//    @Resource
-//    private ObjectMapper objectMapper;
+
     @Resource
     private AppResumptionDataRemarkimgMapper taskDataRemarkimgMapper;
-//    @Resource
-//    private RedisTemplate<String, String> redisTemplate;
 
     @Resource
     private RemoteRoleService roleService;
-    //    @Resource
-//    private AppPlanService appPlanService;
-//
-//    @Resource
-//    AppPlanMapper appPlanMapper;
+
     @Autowired
     private ICoreResumptionDataProtectionService coreResumptionDataProtectionService;
 
+    @Resource
+    private RemoteDictDataService remoteDictDataService;
+
     @Override
     public TableDataInfo selectList(ResumptionRecordPageDto pageDto) {
         Page<ResumptionRecordPageVo> page = pageDto.getPageDto();
@@ -180,6 +179,12 @@ public class ResumptionRecordServiceImpl extends ServiceImpl<ResumptionRecordMap
 //            RESUMPTIONOVERVIEWLOG.info("履职记录查询,查询条件: pageDto: {},hashMap:{},isTime:{}", JSON.toJSONString(pageDto), JSON.toJSONString(hashMap), isTime);
         page = baseMapper.selectPageByCondition(page, pageDto, hashMap, isTime, ymdQuarters);
         dealData(page.getRecords());
+        page.getRecords().forEach(r -> {
+            if (ObjectUtil.equal(r.getStatus(), "1") && DateUtil.endOfDay(r.getPlanEndTime()).before(DateUtil.beginOfDay(new Date()))) {
+                r.setStatus("4");
+            }
+        });
+
         return TableDataInfo.success(page);
 //        } else {
 ////            RESUMPTIONOVERVIEWLOG.info("履职记录导出,查询条件: pageDto: {},hashMap:{}", JSON.toJSONString(pageDto), JSON.toJSONString(hashMap));
@@ -224,7 +229,7 @@ public class ResumptionRecordServiceImpl extends ServiceImpl<ResumptionRecordMap
 
 //        List<IdNameVo> planList = appPlanMapper.selectPlanNames(list.stream().map(i -> i.getPlanId()).distinct().collect(Collectors.toList()));
         List<IdNameVo> orgNames = orgService.getParentName(list.stream()
-                        .map(i -> i.getOrgId()).distinct().collect(Collectors.toList()),SecurityConstants.INNER)
+                        .map(i -> i.getOrgId()).distinct().collect(Collectors.toList()), SecurityConstants.INNER)
                 .getData();
         List<IdNameVo> roleNames = roleService.getNames(RoleConditionEto
                 .builder()
@@ -330,19 +335,38 @@ public class ResumptionRecordServiceImpl extends ServiceImpl<ResumptionRecordMap
     @Override
     public void export(ResumptionRecordPageDto pageDto, HttpServletResponse response) throws Exception {
 //        Org org = orgService.find(pageDto.getOrgId());
-//        if (org == null) {
-//            throw new RuntimeException("请选择机构再导出数据");
-//        }
-//        pageDto.setPage(null);
-//        pageDto.setSize(null);
-//        final List<ResumptionRecordPageVo> data = (List<ResumptionRecordPageVo>) this.selectList(pageDto);
-//        if (data.size() == 0) {
-//            throw new RuntimeException("暂无可用数据导出!");
-//        }
+        if (ObjectUtil.isNull(pageDto.getOrgId())) {
+            throw new ServiceException("请选择机构再导出数据");
+        }
+        pageDto.setPageNum(1L);
+        pageDto.setPageSize(10001L);
+        final List<ResumptionRecordPageVo> data = this.selectList(pageDto).getRows();
+        if (data.size() == 0) {
+            throw new ServiceException("暂无可用数据导出!");
+        }
+
+        if (data.size() > 10000) {
+            throw new ServiceException("每次最多导出10000条");
+        }
+
+        Map<String, SysDictData> dicts = remoteDictDataService.selectDictByeType("resumption_status", SecurityConstants.INNER)
+                .stream().collect(Collectors.toMap(SysDictData::getDictValue, v -> v));
+        List<ResumptionRecordPageVo> limit = data.stream().limit(10000).collect(Collectors.toList());
+        limit.forEach(r -> {
+            if (dicts.containsKey(r.getStatus())) {
+                r.setStatusText(dicts.get(r.getStatus()).getDictLabel());
+            } else {
+                r.setStatusText("未知");
+            }
+        });
+        response.setContentType("application/vnd.ms-excel");
+//        response.setCharacterEncoding("utf-8");
+        // 调用EasyExcel的导出方法
+        EasyExcel.write(response.getOutputStream(), ResumptionRecordPageVo.class).sheet("Sheet1").doWrite(limit);
 //        String newFile = "【" + org.getName() + "】-履职记录" + DateHelper.getDateString(new Date()) + ".et";
 //        InputStream stream = FileExportUtils.getTemplateExcel("ResumptionRecord");
 //        ExcelReader er = ExcelUtil.getReader(stream);
-//
+
 //        ExcelWriter ew = er.getWriter();
 //        int len = ew.getColumnCount();
 //        int r = 1;

+ 49 - 20
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/resumption/vo/resumptionRecord/ResumptionRecordPageVo.java

@@ -1,6 +1,11 @@
 package com.xunmei.core.resumption.vo.resumptionRecord;
 
+
+import com.alibaba.excel.annotation.ExcelIgnore;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonIgnore;
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import io.swagger.annotations.ApiModelProperty;
@@ -15,68 +20,92 @@ import java.util.Date;
 @Data
 public class ResumptionRecordPageVo {
     @ApiModelProperty("履职任务id")
+    @ExcelIgnore
     private String resumptionId;
 
-    /**任务名称*/
+    /**
+     * 任务名称
+     */
+    @ExcelProperty("任务名称")
+    @ColumnWidth(30)
     private String name;
 
     @ApiModelProperty("计划id")
+    @ExcelIgnore
     private Long planId;
 
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     @ApiModelProperty("任务开始时间")
+    @ExcelProperty("任务开始时间")
+    @ColumnWidth(30)
     private Date planStartTime;
 
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     @ApiModelProperty("任务结束时间")
+    @ExcelProperty("任务结束时间")
+    @ColumnWidth(30)
     private Date planEndTime;
 
 
     @ApiModelProperty(value = "机构id")
     @JsonSerialize(using = ToStringSerializer.class)
+    @ExcelIgnore
     private Long orgId;
 
-    @ApiModelProperty("机构名称")
-    private String orgName;
-
-//    @ApiModelProperty("上级机构编码")
-//    private Long parentOrgId;
-
     @ApiModelProperty("上级机构")
+    @ExcelProperty("上级机构")
+    @ColumnWidth(20)
     private String parentOrgName;
 
-//    @ApiModelProperty("时间")
-//    private String time;
-
-//    @ApiModelProperty("状态 0:待履职 1:按时完成 3:未完成 5:补登完成")
-    private String status;
+    @ApiModelProperty("机构名称")
+    @ExcelProperty("履职机构")
+    @ColumnWidth(20)
+    private String orgName;
 
     @ApiModelProperty("履职角色id")
+    @ExcelIgnore
     private Long roleId;
 
     @ApiModelProperty("履职角色")
+    @ExcelProperty("履职角色")
+    @ColumnWidth(20)
     private String roleName;
 
-    @ApiModelProperty("提交时间")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
-    private Date submitTime;
-
     @ApiModelProperty("提交人")
+    @ExcelProperty("提交人")
+    @ColumnWidth(15)
     private String submitter;
-/*    @ApiModelProperty("提交时间")
-    private Date executeTime;*/
 
+    @ApiModelProperty("提交时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @ExcelProperty("提交时间")
+    @ColumnWidth(20)
+    private Date submitTime;
 
     @ApiModelProperty("异常要点数量")
+    @ExcelProperty("异常个数")
+    @ColumnWidth(15)
     private int abnormalDataNums;
 
-    /**年*/
+    //    @ApiModelProperty("状态 0:待履职 1:按时完成 3:未完成 5:补登完成")
+    @ExcelIgnore
+    private String status;
+
+    @JsonIgnore
+    @ExcelProperty("履职状态")
+    private String statusText;
+
+    /**
+     * 年
+     */
+    @ExcelIgnore
     private Integer year;
 
     /**
      * 月
      */
-    private  Integer quarter;
+    @ExcelIgnore
+    private Integer quarter;
 //    @ApiModelProperty("二级机构")
 //    private String secondaryOrgName;
 //