Explorar o código

1、安全检查情况跟踪 导出(临时登记显示 检查角色)
2、安全工作情况表导出 “责任制落实” 统计新增 当前年份查询条件
3、安全工作情况表导出 “总行(联社)安全检查 包含行社临时登记的检查

zhulu hai 9 meses
pai
achega
cdc80d99c2

+ 19 - 0
project_data/sql/1.0.11/soc/soc.sql

@@ -217,6 +217,25 @@ end if;
 ALTER TABLE `core_message_center`
     ADD INDEX `idx_userid_type`(`user_id`, `type`) USING BTREE;
 
+IF NOT EXISTS(SELECT DISTINCT INDEX_NAME
+            FROM INFORMATION_SCHEMA.STATISTICS
+            WHERE TABLE_SCHEMA = DATABASE()
+              AND TABLE_NAME = 'core_safety_task'
+              AND INDEX_NAME = 'idx_start_time') THEN
+ALTER TABLE `core_safety_task`
+    ADD INDEX `idx_start_time`(`start_time`) USING BTREE;
+end if;
+
+    IF NOT EXISTS(SELECT DISTINCT INDEX_NAME
+            FROM INFORMATION_SCHEMA.STATISTICS
+            WHERE TABLE_SCHEMA = DATABASE()
+              AND TABLE_NAME = 'core_safety_task'
+              AND INDEX_NAME = 'idx_check_org') THEN
+ALTER TABLE `core_safety_task`
+    ADD INDEX `idx_check_org`(`check_org_id`) USING BTREE;
+end if;
+
+
 END ??
 DELIMITER ;
 CALL schema_change();

+ 24 - 11
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/safetyCheck/service/impl/CoreSafetyTaskServiceImpl.java

@@ -300,6 +300,13 @@ public class CoreSafetyTaskServiceImpl extends ServiceImpl<CoreSafetyTaskMapper,
                 names = remoteRoleService.getNames(roleConditionEto);
             }
 
+            List<Long> tempTaskRoldIds = list.stream().filter(r -> ObjectUtil.isEmpty(r.getTaskType())).map(r -> r.getRoleId()).distinct().collect(Collectors.toList());
+            final List<IdNameVo> tempTaskRoles = new ArrayList();
+            if (CollectionUtil.isNotEmpty(tempTaskRoldIds)) {
+                RoleConditionEto eto = new RoleConditionEto();
+                eto.setIds(tempTaskRoldIds);
+                tempTaskRoles.addAll(remoteRoleService.getNames(eto));
+            }
 
             for (CoreSafetyTaskExport task : list) {
                 task.setIndex(list.indexOf(task) + 1);
@@ -312,18 +319,24 @@ public class CoreSafetyTaskServiceImpl extends ServiceImpl<CoreSafetyTaskMapper,
                 }
                 if (ObjectUtil.isEmpty(task.getTaskType())) {
                     task.setTaskType("临时登记");
+                    Optional<IdNameVo> opt = tempTaskRoles.stream().filter(role -> ObjectUtil.equal(task.getRoleId(), role.getId())).findFirst();
+                    if (opt.isPresent()) {
+                        task.setSubmitName(opt.get().getName());
+                    }
                 }
-                if (ObjectUtil.isNotEmpty(toRoleList)) {
-                    List<IdNameVo> finalNames = names;
-                    String roleNames = toRoleList
-                            .stream()
-                            .map(r -> finalNames.stream()
-                                    .filter(n -> ObjectUtil.equal(n.getId(), r.getRoleId()))
-                                    .map(IdNameVo::getName)
-                                    .collect(Collectors.toList()))
-                            .flatMap(Collection::stream)
-                            .collect(Collectors.joining(","));
-                    task.setSubmitName(roleNames);
+                else {
+                    if (ObjectUtil.isNotEmpty(toRoleList)) {
+                        List<IdNameVo> finalNames = names;
+                        String roleNames = toRoleList
+                                .stream()
+                                .map(r -> finalNames.stream()
+                                        .filter(n -> ObjectUtil.equal(n.getId(), r.getRoleId()))
+                                        .map(IdNameVo::getName)
+                                        .collect(Collectors.toList()))
+                                .flatMap(Collection::stream)
+                                .collect(Collectors.joining(","));
+                        task.setSubmitName(roleNames);
+                    }
                 }
             }
 

+ 2 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/safetyCheck/vo/CoreSafetyTaskExport.java

@@ -111,5 +111,7 @@ public class CoreSafetyTaskExport {
     @ExcelIgnore
     private Long planId;
 
+    @ExcelIgnore
+    private Long roleId;
 
 }

+ 2 - 1
soc-modules/soc-modules-core/src/main/resources/mapper/safetycheck/CoreSafetyTaskMapper.xml

@@ -934,7 +934,8 @@
         o1.affiliated_bank,
         t.submit_by as submitUserName,
         ifnull(p.check_type,'') as taskType,
-        p.plan_cycle as planCycle
+        p.plan_cycle as planCycle,
+        t.role_id as roleId
         FROM
         core_safety_task t
         left join core_safecheck_plan p on t.plan_id=p.id

+ 2 - 2
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/mapper/SysOrgMapper.java

@@ -152,9 +152,9 @@ public interface SysOrgMapper extends BaseMapper<SysOrg> {
 
     Map getDangerNumber(@Param("orgId") Long orgId,@Param("year") int year);
 
-    Integer getSafeHeadToNetwork(@Param("type") Integer type, @Param("level") Integer level, @Param("orgPath") String orgPath);
+    Integer getSafeHeadToNetwork(@Param("year") Integer year,@Param("type") Integer type, @Param("level") Integer level, @Param("orgPath") String orgPath);
 
-    Integer getJointHeadToNetwork(@Param("type") Integer type, @Param("level") Integer level, @Param("orgPath") String orgPath);
+    Integer getJointHeadToNetwork(@Param("year") Integer year,@Param("type") Integer type, @Param("level") Integer level, @Param("orgPath") String orgPath);
 
     Integer getEduNumber(@Param("orgPath") String orgPath, @Param("startTime") Date startTime, @Param("endTime") Date endTime);
 

+ 6 - 5
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/service/impl/SysOrgServiceImpl.java

@@ -526,18 +526,19 @@ public class SysOrgServiceImpl extends ServiceImpl<SysOrgMapper, SysOrg> impleme
             Integer haveSecurityNetworkNumber = baseMapper.getHaveSecurityNetworkNumber(s.getPath());
             securityWorkExport.setHaveSecurityNetworkNumber(haveSecurityNetworkNumber);
 
+            DateHelper dateHelper = new DateHelper(new Date());
             //安全责任总到网
-            Integer safeHeadToNetwork = baseMapper.getSafeHeadToNetwork(1, 1, s.getPath());
+            Integer safeHeadToNetwork = baseMapper.getSafeHeadToNetwork(dateHelper.getYear(),1, 1, s.getPath());
             securityWorkExport.setSafeHeadToNetwork(safeHeadToNetwork);
-            Integer safeHeadToNetwork1 = baseMapper.getSafeHeadToNetwork(1, 2, s.getPath());
+            Integer safeHeadToNetwork1 = baseMapper.getSafeHeadToNetwork(dateHelper.getYear(),1, 2, s.getPath());
             securityWorkExport.setSafeNetworkToPeople(safeHeadToNetwork1);
-            Integer jointHeadToNetwork = baseMapper.getJointHeadToNetwork(2, 1, s.getPath());
+            Integer jointHeadToNetwork = baseMapper.getJointHeadToNetwork(dateHelper.getYear(),2, 1, s.getPath());
             securityWorkExport.setJointHeadToNetwork(jointHeadToNetwork);
-            Integer jointHeadToNetwork1 = baseMapper.getJointHeadToNetwork(2, 2, s.getPath());
+            Integer jointHeadToNetwork1 = baseMapper.getJointHeadToNetwork(dateHelper.getYear(),2, 2, s.getPath());
             securityWorkExport.setJointNetworkToPeople(jointHeadToNetwork1);
             //总行安全检查
             //组织开展次数 省联社下发的,行社做的“行社全面安全检查”登记的任务
-            DateHelper dateHelper = new DateHelper(new Date());
+
             Integer headSafeCheckNumber = baseMapper.getHeadSafeCheckNumber(s.getId(),dateHelper.getYear());
             securityWorkExport.setHeadSafeCheckNumber(headSafeCheckNumber);
             //检查网点数量

+ 26 - 15
soc-modules/soc-modules-system/src/main/resources/mapper/system/SysOrgMapper.xml

@@ -1286,6 +1286,7 @@ and
         WHERE
             a.type = #{type}
           AND a.sign_level = #{level}
+          AND a.year = #{year}
           AND b.deleted = 0
           and b.is_lock = 0
           AND b.path LIKE concat(#{orgPath}, '%')
@@ -1298,7 +1299,10 @@ and
                 LEFT JOIN sys_org b ON a.party_a_org = b.id
         WHERE
             a.type = #{type}
+          AND a.year = #{year}
           AND a.sign_level = #{level}
+          AND b.deleted = 0
+          and b.is_lock = 0
           AND b.path LIKE concat(#{orgPath}, '%')
     </select>
     <select id="getHaveSecurityNetworkNumber" resultType="java.lang.Integer">
@@ -1316,28 +1320,31 @@ and
         count(a.id)
         FROM
         core_safety_task a
-        LEFT JOIN core_safecheck_plan b ON a.plan_id = b.id
+        LEFT JOIN sys_org c ON c.id = a.org_id
         WHERE
-        b.check_type = 4
-        AND b.plan_create_org_id != b.plan_of_org_id
-        AND a.`status` =3
+<!--        b.check_type = 4-->
+<!--        AND b.plan_create_org_id != b.plan_of_org_id-->
+         a.`status` =3
         AND a.ymd_year =#{year}
         AND a.check_org_id =#{orgId}
+        AND c.deleted = 0
+        and c.is_lock = 0
+        AND c.type=4
     </select>
     <select id="getHeadSafeCheckNetworkNumber" resultType="java.lang.Integer">
         SELECT
             COUNT( DISTINCT a.org_id )
         FROM
             core_safety_task a
-                LEFT JOIN core_safecheck_plan b ON a.plan_id = b.id
---                LEFT JOIN sys_org c ON c.id = a.org_id
+<!--                LEFT JOIN core_safecheck_plan b ON a.plan_id = b.id-->
+                LEFT JOIN sys_org c ON c.id = a.org_id
         WHERE
-            b.check_type = 4
-            AND b.plan_create_org_id != b.plan_of_org_id
-            AND a.`status` =3
---            AND c.deleted = 0
---            and c.is_lock = 0
---           AND c.type = 4
+<!--            b.check_type = 4-->
+<!--            AND b.plan_create_org_id != b.plan_of_org_id-->
+             a.`status` =3
+            AND c.deleted = 0
+           and c.is_lock = 0
+           AND c.type = 4
             AND a.ymd_year =#{year}
             AND a.check_org_id =#{orgId}
     </select>
@@ -1356,13 +1363,17 @@ and
         FROM
             core_question a
                 LEFT JOIN core_safety_task b ON a.src_task_id = b.id
-                LEFT JOIN core_safecheck_plan c ON c.id = b.plan_id
+<!--                LEFT JOIN core_safecheck_plan c ON c.id = b.plan_id-->
+                LEFT JOIN sys_org c ON c.id = a.org_id
         WHERE
             src_type = 2
-          AND c.check_type = 4
-          AND c.plan_create_org_id != c.plan_of_org_id
+<!--          AND c.check_type = 4-->
+<!--          AND c.plan_create_org_id != c.plan_of_org_id-->
           AND b.ymd_year =#{year}
           AND b.check_org_id =#{orgId}
+          AND c.deleted = 0
+          and c.is_lock = 0
+          AND c.type=4
     </select>
     <select id="selectSysOrgByPathAndType" resultType="com.xunmei.system.api.domain.SysOrg">
         SELECT