Ver código fonte

驾驶舱调试

jiawuxian 2 anos atrás
pai
commit
473fbb172e

+ 9 - 0
soc-api/soc-api-system/src/main/java/com/xunmei/system/api/RemoteOrgService.java

@@ -42,6 +42,15 @@ public interface RemoteOrgService {
     @GetMapping("/org/selectSysOrgByParentId")
     List<SysOrg> selectSysOrgByParentId(@RequestParam("id") Long id, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
 
+    /**
+     * 查询第一级机构
+     *
+     * @param source
+     * @return
+     */
+    @PostMapping("/org/selectSysOrgByParentIds")
+    List<SysOrg> selectSysOrgByParentIds(@RequestBody List<Long> parentIds, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
+
     @GetMapping("/org/selectOrgTreeListByCurOrgId")
     List<SysOrg> selectOrgTreeListByCurOrgId(@RequestParam("id") Long id, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
 

+ 5 - 0
soc-api/soc-api-system/src/main/java/com/xunmei/system/api/factory/RemoteOrgFallbackFactory.java

@@ -15,6 +15,7 @@ import org.slf4j.LoggerFactory;
 import org.springframework.cloud.openfeign.FallbackFactory;
 import org.springframework.stereotype.Component;
 import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestHeader;
 
 import java.util.ArrayList;
@@ -52,6 +53,10 @@ public class RemoteOrgFallbackFactory implements FallbackFactory<RemoteOrgServic
             public List<SysOrg> selectSysOrgByParentId(Long id, String source) {
                 return null;
             }
+            @Override
+            public List<SysOrg> selectSysOrgByParentIds( List<Long> parentIds,String source){
+                return  null;
+            }
 
             @Override
             public R<List<SysOrg>> listByIds(List<Long> ids, String source) {

+ 8 - 3
soc-common/soc-common-core/src/main/java/com/xunmei/common/core/interceptor/EscapeLikeSqlInterceptor.java

@@ -8,11 +8,15 @@ import com.baomidou.mybatisplus.extension.plugins.inner.InnerInterceptor;
 import org.apache.ibatis.executor.Executor;
 import org.apache.ibatis.mapping.BoundSql;
 import org.apache.ibatis.mapping.MappedStatement;
+import org.apache.ibatis.mapping.ParameterMapping;
+import org.apache.ibatis.reflection.MetaObject;
+import org.apache.ibatis.reflection.SystemMetaObject;
 import org.apache.ibatis.session.ResultHandler;
 import org.apache.ibatis.session.RowBounds;
 
 import java.sql.SQLException;
 import java.util.HashSet;
+import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
@@ -155,13 +159,14 @@ public class EscapeLikeSqlInterceptor implements InnerInterceptor {
     private void escapeSql(BoundSql boundSql) {
         String[] split = boundSql.getSql().split(PLACEHOLDER_REGEX);
         Object parameter = boundSql.getParameterObject();
+        List<ParameterMapping> parameterMappings= boundSql.getParameterMappings();
         Set<String> processedProperty = new HashSet<>();
         for (int i = 0; i < split.length; i++) {
             // like 通常在末尾
-            if (StrUtil.lastIndexOfIgnoreCase(split[i], LIKE_SQL) > -1) {
+            if (StrUtil.lastIndexOfIgnoreCase(split[i], LIKE_SQL) > -1 && i<parameterMappings.size()) {
                 if (parameter instanceof Map) {
                     // 拿到此位置的"?"对应的参数名
-                    String property = boundSql.getParameterMappings().get(i).getProperty();
+                    String property = parameterMappings.get(i).getProperty();
                     // 防止重复转义
                     if (processedProperty.contains(property)){
                         continue;
@@ -179,7 +184,7 @@ public class EscapeLikeSqlInterceptor implements InnerInterceptor {
                     // 单条件&&不通过条件构造器&&直接写sql&&mapper不写@Param注解,会导致parameter直接为参数值而不是map
 //                    BeanUtil.setFieldValue(boundSql, "parameterObject", SqlUtil.addSalashes((String) parameter));
                     // 强行反射设置属性,暂不清楚为什么更改parameterObject无效
-                    BeanUtil.setFieldValue(boundSql.getParameterObject(), "value", addSalashes(((String) parameter)).toCharArray());
+                    BeanUtil.setFieldValue(parameter, "value", addSalashes(((String) parameter)).toCharArray());
                 }
             }
         }

+ 5 - 5
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/board/mapper/CockpitMapper.java

@@ -10,14 +10,14 @@ import org.apache.ibatis.annotations.Param;
 import java.util.List;
 import java.util.Date;
 public interface CockpitMapper extends BaseMapper {
-    List<TaskStatisticVo> resumption(@Param("date") Date start,@Param("orgPath") String orgPath);
+    List<TaskStatisticVo> resumption(@Param("startDate") Date start,@Param("endDate") Date end,@Param("orgPath") String orgPath);
 
-    List<TaskStatisticVo> safetyCheck(@Param("date") Date start,@Param("orgPath") String orgPath);
+    List<TaskStatisticVo> safetyCheck(@Param("startDate") Date start,@Param("endDate") Date end,@Param("orgPath") String orgPath);
 
-    List<TaskStatisticVo> edu(@Param("date") Date start,@Param("orgPath") String orgPath);
-    List<TaskStatisticVo> monitor(@Param("date") Date start,@Param("orgPath") String orgPath);
+    List<TaskStatisticVo> edu(@Param("startDate") Date start,@Param("endDate") Date end,@Param("orgPath") String orgPath);
+    List<TaskStatisticVo> monitor(@Param("startDate") Date start,@Param("endDate") Date end,@Param("orgPath") String orgPath);
 
-    List<TaskStatisticVo> drill(@Param("date") Date start,@Param("orgPath") String orgPath);
+    List<TaskStatisticVo> drill(@Param("startDate") Date start,@Param("endDate") Date end,@Param("orgPath") String orgPath);
 
     List<OrgGA38StatisticVo> orgGA38(@Param("orgId") Long orgId);
 

+ 57 - 41
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/board/service/impl/CockpitServiceImpl.java

@@ -4,6 +4,7 @@ import cn.hutool.core.collection.ListUtil;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.NumberUtil;
 import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.xunmei.common.core.constant.SecurityConstants;
 import com.xunmei.common.core.enums.OrgTypeEnum;
 import com.xunmei.common.core.exception.ServiceException;
@@ -25,6 +26,7 @@ import java.util.Comparator;
 import java.util.List;
 import java.util.Date;
 import java.util.function.Function;
+import java.util.stream.Collectors;
 
 @Service
 public class CockpitServiceImpl implements CockpitService {
@@ -38,7 +40,7 @@ public class CockpitServiceImpl implements CockpitService {
     public List<TaskStatisticVo> resumption(TaskStatisticDto dto) {
         Date date = getStartDate(dto.getPeriod());
         String orgPath = remoteOrgService.selectOrgById(dto.getOrgId(), SecurityConstants.INNER).getPath();
-        List<TaskStatisticVo> list = cockpitMapper.resumption(date, orgPath);
+        List<TaskStatisticVo> list = cockpitMapper.resumption(date, DateUtil.endOfDay(new Date()), orgPath);
         return taskStatistic(list, dto);
     }
 
@@ -46,7 +48,7 @@ public class CockpitServiceImpl implements CockpitService {
     public List<TaskStatisticVo> safetyCheck(TaskStatisticDto dto) {
         Date date = getStartDate(dto.getPeriod());
         String orgPath = remoteOrgService.selectOrgById(dto.getOrgId(), SecurityConstants.INNER).getPath();
-        List<TaskStatisticVo> list = cockpitMapper.safetyCheck(date, orgPath);
+        List<TaskStatisticVo> list = cockpitMapper.safetyCheck(date, DateUtil.endOfDay(new Date()), orgPath);
         return taskStatistic(list, dto);
     }
 
@@ -54,7 +56,7 @@ public class CockpitServiceImpl implements CockpitService {
     public List<TaskStatisticVo> monitor(TaskStatisticDto dto) {
         Date date = getStartDate(dto.getPeriod());
         String orgPath = remoteOrgService.selectOrgById(dto.getOrgId(), SecurityConstants.INNER).getPath();
-        List<TaskStatisticVo> list = cockpitMapper.monitor(date, orgPath);
+        List<TaskStatisticVo> list = cockpitMapper.monitor(date, DateUtil.endOfDay(new Date()), orgPath);
         return taskStatistic(list, dto);
     }
 
@@ -62,7 +64,7 @@ public class CockpitServiceImpl implements CockpitService {
     public List<TaskStatisticVo> edu(TaskStatisticDto dto) {
         Date date = getStartDate(dto.getPeriod());
         String orgPath = remoteOrgService.selectOrgById(dto.getOrgId(), SecurityConstants.INNER).getPath();
-        List<TaskStatisticVo> list = cockpitMapper.edu(date, orgPath);
+        List<TaskStatisticVo> list = cockpitMapper.edu(date, DateUtil.endOfDay(new Date()), orgPath);
         return taskStatistic(list, dto);
     }
 
@@ -70,7 +72,7 @@ public class CockpitServiceImpl implements CockpitService {
     public List<TaskStatisticVo> drill(TaskStatisticDto dto) {
         Date date = getStartDate(dto.getPeriod());
         String orgPath = remoteOrgService.selectOrgById(dto.getOrgId(), SecurityConstants.INNER).getPath();
-        List<TaskStatisticVo> list = cockpitMapper.drill(date, orgPath);
+        List<TaskStatisticVo> list = cockpitMapper.drill(date, DateUtil.endOfDay(new Date()), orgPath);
         return taskStatistic(list, dto);
     }
 
@@ -81,14 +83,14 @@ public class CockpitServiceImpl implements CockpitService {
         for (OrgGA38StatisticVo orgVo : data) {
             for (OrgGA38StatisticVo statisticVo : r) {
                 if (orgVo.getOrgPath().startsWith(statisticVo.getOrgPath())) {
-                    statisticVo.setTotal(orgVo.getTotal() + statisticVo.getTotal());
+                    statisticVo.setTotal(1 + statisticVo.getTotal());
                     statisticVo.setReachCount(orgVo.getReachCount() + statisticVo.getReachCount());
                 }
             }
         }
 
         r.forEach(i -> {
-            if (ObjectUtil.equal(i.getTotal(), 0)) {
+            if (ObjectUtil.equal(i.getTotal(), 0F)) {
                 i.setReachRate(1F);
             } else {
                 i.setReachRate(i.getReachCount() / i.getTotal());
@@ -97,7 +99,7 @@ public class CockpitServiceImpl implements CockpitService {
         r.sort(new Comparator<OrgGA38StatisticVo>() {
             @Override
             public int compare(OrgGA38StatisticVo o1, OrgGA38StatisticVo o2) {
-                return o1.getReachRate().compareTo(o2.getReachRate());
+                return NumberUtil.compare(o1.getReachRate(), o2.getReachRate());
             }
         });
 
@@ -123,7 +125,7 @@ public class CockpitServiceImpl implements CockpitService {
         }
 
         r.forEach(i -> {
-            if (ObjectUtil.equal(i.getTaskTotal(), 0)) {
+            if (ObjectUtil.equal(i.getTaskTotal(), 0F)) {
                 i.setCompletedRate(1F);
             } else {
                 i.setCompletedRate(i.getCompletedCount() / i.getTaskTotal());
@@ -137,11 +139,11 @@ public class CockpitServiceImpl implements CockpitService {
         if (ObjectUtil.equal(period, PeriodEnum.Today.getCode())) {
             return DateUtil.beginOfDay(new Date());
         } else if (ObjectUtil.equal(period, PeriodEnum.Nearly7Days.getCode())) {
-            return DateUtil.beginOfDay(DateUtil.offsetDay(new Date(), 7));
+            return DateUtil.beginOfDay(DateUtil.offsetDay(new Date(), -7));
         } else if (ObjectUtil.equal(period, PeriodEnum.Nearly30Days.getCode())) {
-            return DateUtil.beginOfDay(DateUtil.offsetDay(new Date(), 30));
+            return DateUtil.beginOfDay(DateUtil.offsetDay(new Date(), -30));
         } else if (ObjectUtil.equal(period, PeriodEnum.Nearly90Days.getCode())) {
-            return DateUtil.beginOfDay(DateUtil.offsetDay(new Date(), 90));
+            return DateUtil.beginOfDay(DateUtil.offsetDay(new Date(), -90));
         } else if (ObjectUtil.equal(period, PeriodEnum.ThisYear.getCode())) {
             return DateUtil.beginOfDay(DateUtil.beginOfYear(new Date()));
         } else {
@@ -150,50 +152,64 @@ public class CockpitServiceImpl implements CockpitService {
     }
 
     private List<TaskStatisticVo> getTaskChildren(Long orgId) {
-        List<SysOrg> children = remoteOrgService.selectSysOrgByParentId(orgId, SecurityConstants.INNER);
-        List<Integer> enableOrgType = ListUtil.toList(
-                OrgTypeEnum.HANG_SHE.getCode(),
-                OrgTypeEnum.WANGDIAN_YEWUKU.getCode(),
-                OrgTypeEnum.DIQU_HANG_SHE.getCode(),
-                OrgTypeEnum.YINGYE_WANGDIAN.getCode()
-        );
+        List<SysOrg> children = getChildren(orgId);
         List<TaskStatisticVo> list = new ArrayList<>();
+
         for (SysOrg child : children) {
-            if (enableOrgType.contains(child.getType())) {
-                TaskStatisticVo vo = new TaskStatisticVo();
-                vo.setOrgPath(child.getPath());
-                vo.setOrgId(child.getId());
-                vo.setOrgName(child.getName());
-                vo.setTaskTotal(0F);
-                vo.setCompletedCount(0F);
-                list.add(vo);
-            }
+            TaskStatisticVo vo = new TaskStatisticVo();
+            vo.setOrgPath(child.getPath());
+            vo.setOrgId(child.getId());
+            vo.setOrgName(child.getName());
+            vo.setTaskTotal(0F);
+            vo.setCompletedCount(0F);
+            list.add(vo);
         }
 
         return list;
     }
 
     private List<OrgGA38StatisticVo> getGA38Children(Long orgId) {
+        List<SysOrg> children = getChildren(orgId);
+        List<OrgGA38StatisticVo> list = new ArrayList<>();
+        for (SysOrg child : children) {
+            OrgGA38StatisticVo vo = new OrgGA38StatisticVo();
+            vo.setOrgPath(child.getPath());
+            vo.setOrgId(child.getId());
+            vo.setOrgName(child.getName());
+            vo.setTotal(0F);
+            vo.setReachCount(0F);
+            list.add(vo);
+        }
+
+        return list;
+    }
+
+    private List<SysOrg> getChildren(Long orgId) {
         List<SysOrg> children = remoteOrgService.selectSysOrgByParentId(orgId, SecurityConstants.INNER);
+        List<SysOrg> banshichu = children.stream()
+                .filter(c -> ObjectUtil.equal(c.getType(), OrgTypeEnum.BAN_SHI_CHU.getCode()))
+                .collect(Collectors.toList());
+        if (CollectionUtils.isNotEmpty(banshichu)) {
+            List<SysOrg> diquHS = remoteOrgService.selectSysOrgByParentIds(banshichu.stream().map(SysOrg::getId).collect(Collectors.toList()), SecurityConstants.INNER);
+            children.addAll(diquHS);
+        }
         List<Integer> enableOrgType = ListUtil.toList(
                 OrgTypeEnum.HANG_SHE.getCode(),
                 OrgTypeEnum.WANGDIAN_YEWUKU.getCode(),
                 OrgTypeEnum.DIQU_HANG_SHE.getCode(),
                 OrgTypeEnum.YINGYE_WANGDIAN.getCode()
         );
-        List<OrgGA38StatisticVo> list = new ArrayList<>();
-        for (SysOrg child : children) {
-            if (enableOrgType.contains(child.getType())) {
-                OrgGA38StatisticVo vo = new OrgGA38StatisticVo();
-                vo.setOrgPath(child.getPath());
-                vo.setOrgId(child.getId());
-                vo.setOrgName(child.getName());
-                vo.setTotal(0F);
-                vo.setReachCount(0F);
-                list.add(vo);
-            }
-        }
+        List<TaskStatisticVo> list = new ArrayList<>();
+        children.sort(new Comparator<SysOrg>() {
+            @Override
+            public int compare(SysOrg o1, SysOrg o2) {
+                if (ObjectUtil.isNull(o1.getSort()) || ObjectUtil.isNull(o2.getSort())) {
+                    return 0;
+                }
 
-        return list;
+                return o1.getSort().compareTo(o2.getSort());
+            }
+        });
+        return children.stream().filter(c -> enableOrgType.contains(c.getType())).collect(Collectors.toList());
     }
 }

+ 3 - 3
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/board/vo/OrgGA38StatisticVo.java

@@ -21,15 +21,15 @@ public class OrgGA38StatisticVo {
     /**
      * 机构总数
      */
-    private Float total;
+    private float total;
 
     /**
      * 达标数
      */
-    private Float reachCount;
+    private float reachCount;
 
     /**
      * 达标率
      */
-    private Float reachRate;
+    private float reachRate;
 }

+ 6 - 6
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/board/vo/QuestionStatisticVo.java

@@ -7,29 +7,29 @@ import lombok.Data;
  */
 @Data
 public class QuestionStatisticVo {
-    private Integer total;
+    private int total;
     /**
      * 未确认
      */
-    private Integer unconfirm;
+    private int unconfirm;
 
     /**
      * 异议审批中
      */
-    private Integer auditing;
+    private int auditing;
 
     /**
      * 待整改
      */
-    private Integer unreform;
+    private int unreform;
 
     /**
      * 异议隐患
      */
-    private Integer notQuestion;
+    private int notQuestion;
 
     /**
      * 整改完成
      */
-    private Integer reformed;
+    private int reformed;
 }

+ 24 - 20
soc-modules/soc-modules-core/src/main/resources/mapper/board/CockpitMapper.xml

@@ -5,26 +5,28 @@
         SELECT
         org_id,
          org_path,
-        count( 0 ) AS count,
-        SUM( CASE `status` WHEN 3 THEN 1 ELSE 0 END ) AS completed
+        count( 0 ) AS task_total,
+        SUM( CASE `status` WHEN 3 THEN 1 ELSE 0 END ) AS completed_count
         FROM
         core_resumption r
         <!--                INNER  join ( SELECT id,path FROM sys_org WHERE path LIKE CONCAT(( SELECT path FROM sys_org WHERE id =#{orgId}), '%' ) AND deleted = 0 ) o on r.org_Id=o.id-->
         WHERE
-        ymd_date >= #{date} and org_path like concat(#{orgPath},'%')
+        ((plan_start_time >= #{startDate} and plan_end_time&lt;=#{endDate}) or (plan_start_time&lt;=#{startDate} and plan_end_time>=#{startDate}))
+        and org_path like concat(#{orgPath},'%')
         GROUP BY org_id,org_path
     </select>
     <select id="safetyCheck" resultType="com.xunmei.core.board.vo.TaskStatisticVo">
         SELECT
         org_id,
         org_path,
-        count( 0 ) AS count,
-        SUM( CASE `status` WHEN 3 THEN 1 ELSE 0 END ) AS completed
+        count( 0 ) AS task_total,
+        SUM( CASE `status` WHEN 3 THEN 1 ELSE 0 END ) AS completed_count
         FROM
         core_safety_task r
         <!--                INNER  join ( SELECT id,path FROM sys_org WHERE path LIKE CONCAT(( SELECT path FROM sys_org WHERE id =#{orgId}), '%' ) AND deleted = 0 ) o on r.org_Id=o.id-->
         WHERE
-        ymd_date >= #{date} and org_path like concat(#{orgPath},'%')
+        ((plan_start_time >= #{startDate} and plan_end_time&lt;=#{endDate}) or (plan_start_time&lt;=#{startDate} and plan_end_time>=#{startDate}))
+        and org_path like concat(#{orgPath},'%')
         GROUP BY
         org_id,org_path
     </select>
@@ -32,13 +34,14 @@
         SELECT
         org_id,
         org_path,
-        count( 0 ) AS count,
-        SUM( CASE `status` WHEN 2 THEN 1 ELSE 0 END ) AS completed
+        count( 0 ) AS task_total,
+        SUM( CASE `status` WHEN 2 THEN 1 ELSE 0 END ) AS completed_count
         FROM
         core_monitoring_retrieval_task r
         <!--                INNER  join ( SELECT id,path FROM sys_org WHERE path LIKE CONCAT(( SELECT path FROM sys_org WHERE id =#{orgId}), '%' ) AND deleted = 0 ) o on r.org_Id=o.id-->
         WHERE
-        ymd_date >= #{date} and org_path like concat(#{orgPath},'%')
+        ((plan_start_time >= #{startDate} and plan_end_time&lt;=#{endDate}) or (plan_start_time&lt;=#{startDate} and plan_end_time>=#{startDate}))
+        and org_path like concat(#{orgPath},'%')
         GROUP BY
         org_id,org_path
     </select>
@@ -46,13 +49,14 @@
         SELECT
         org_id,
         org_path,
-        count( 0 ) AS count,
-        SUM( CASE `status` WHEN 4 THEN 1 ELSE 0 END ) AS completed
+        count( 0 ) AS task_total,
+        SUM( CASE `status` WHEN 4 THEN 1 ELSE 0 END ) AS completed_count
         FROM
         core_edu_training_task r
         <!--                INNER  join ( SELECT id,path FROM sys_org WHERE path LIKE CONCAT(( SELECT path FROM sys_org WHERE id =#{orgId}), '%' ) AND deleted = 0 ) o on r.org_Id=o.id-->
         WHERE
-        start_date >= #{date} and org_path like concat(#{orgPath},'%')
+        ((start_date >= #{startDate} and end_date&lt;=#{endDate}) or (start_date&lt;=#{startDate} and end_date>=#{startDate}))
+        and org_path like concat(#{orgPath},'%')
         GROUP BY
         org_id,org_path
     </select>
@@ -60,13 +64,14 @@
         SELECT
         org_id,
         org_path,
-        count( 0 ) AS count,
-        SUM( CASE `status` WHEN 4 THEN 1 ELSE 0 END ) AS completed
+        count( 0 ) AS task_total,
+        SUM( CASE `status` WHEN 4 THEN 1 ELSE 0 END ) AS completed_count
         FROM
         core_drill_task r
         <!--                INNER  join ( SELECT id,path FROM sys_org WHERE path LIKE CONCAT(( SELECT path FROM sys_org WHERE id =#{orgId}), '%' ) AND deleted = 0 ) o on r.org_Id=o.id-->
         WHERE
-        start_date >= #{date} and org_path like concat(#{orgPath},'%')
+        ((start_date >= #{startDate} and end_date&lt;=#{endDate}) or (start_date&lt;=#{startDate} and end_date>=#{startDate}))
+        and org_path like concat(#{orgPath},'%')
         GROUP BY
         org_id,org_path
     </select>
@@ -74,12 +79,11 @@
         SELECT o.id                                           as org_id,
                o.path                                         as org_path,
                o.short_name                                   as org_name,
-               count(0)                                       AS count,
-               SUM(CASE c.org_id WHEN null THEN 0 ELSE 1 END) AS completed
+               IF(c.org_id is null,0,1) as  reach_count
         FROM sys_org o
-                 left join (select distinct org_id from sys_org_physical_defense_construction) c on o.id = c.org_id
-        WHERE type = 4
-          and deleted = 0
+        left join (select distinct org_id from sys_org_physical_defense_construction where standard!=3) c on o.id = c.org_id
+        WHERE (o.type = 4 or o.type=5)
+          and o.deleted = 0
           and o.path like concat((select path from sys_org where id = #{orgId}), '%')
     </select>
     <select id="question" resultType="com.xunmei.core.board.vo.QuestionStatisticVo">

+ 1 - 1
soc-modules/soc-modules-core/src/main/resources/mapper/resumption/ResumptionMapper.xml

@@ -133,7 +133,7 @@
             inner join core_resumption_plan p on pr.plan_id=p.id and p.parent_id =-1 and p.deleted=0)
         </if>
         <if test="res.dateTime != null ">
-            and r.ymd_date = #{res.dateTime}
+            and  r.plan_start_time &lt;= #{res.dateTime} and r.plan_end_time>= #{res.dateTime}
         </if>
     </select>
     <select id="selectAllByPlanStartTime" resultType="com.xunmei.core.resumption.domain.Resumption">

+ 12 - 0
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/controller/SysOrgController.java

@@ -146,6 +146,18 @@ public class SysOrgController extends BaseController {
         return sysOrgMapper.selectList(queryWrapper);
     }
 
+    /**
+     * 通过父类查询子集合
+     */
+    @ApiOperation(value = "通过父类查询子集合")
+    @InnerAuth
+    @PostMapping("/selectSysOrgByParentIds")
+    public List<SysOrg> selectSysOrgByParentIds(@RequestBody List<Long> parentIds) {
+        QueryWrapper queryWrapper = new QueryWrapper();
+        queryWrapper.in("parent_id", parentIds);
+        return sysOrgMapper.selectList(queryWrapper);
+    }
+
     @ApiOperation(value = "通过当前用户所在机构id查询机构列表")
     @InnerAuth
     @GetMapping("/selectOrgTreeListByCurOrgId")