Explorar el Código

Merge branch 'V0.0.1' of http://10.87.10.227:4000/jzyd_yyds/soc into V0.0.1

jiawuxian hace 2 años
padre
commit
de34c9e51b
Se han modificado 25 ficheros con 513 adiciones y 134 borrados
  1. 3 0
      soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/edu/dto/CoreEduTrainingPlanPageDto.java
  2. 2 4
      soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/edu/dto/SysLearningMaterialsPageDto.java
  3. 0 8
      soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/edu/vo/CoreEduTrainingPlanPageVo.java
  4. 4 4
      soc-common/soc-common-core/src/main/java/com/xunmei/common/core/web/domain/PageRequest.java
  5. 6 1
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/access/domain/TMonitoringRetrievalPlan.java
  6. 71 10
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/access/service/impl/TMonitoringRetrievalPlanServiceImpl.java
  7. 18 0
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/access/vo/TMonitoringRetrievalPlanVO.java
  8. 2 0
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/edu/mapper/CoreEduTrainingPlanMapper.java
  9. 13 8
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/edu/service/impl/CoreEduTrainingPlanServiceImpl.java
  10. 21 19
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/edu/service/impl/SysLearningMaterialsServiceImpl.java
  11. 2 1
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/retrieval/service/impl/CoreMonitoringRetrievalTaskServiceImpl.java
  12. 2 2
      soc-modules/soc-modules-core/src/main/resources/mapper/access/TMonitoringRetrievalPlanMapper.xml
  13. 110 3
      soc-modules/soc-modules-core/src/main/resources/mapper/edu/CoreEduTrainingPlanMapper.xml
  14. 17 41
      soc-modules/soc-modules-core/src/main/resources/mapper/edu/SysLearningMaterialsMapper.xml
  15. 4 0
      soc-modules/soc-modules-core/src/main/resources/mapper/retrieval/CoreMonitoringRetrievalTaskMapper.xml
  16. 1 1
      soc-modules/soc-modules-sync/src/main/java/com/xunmei/sync/domain/FjnxOrg.java
  17. 12 12
      soc-modules/soc-modules-sync/src/main/java/com/xunmei/sync/domain/FjnxOrgBusinessRelation.java
  18. 1 1
      soc-modules/soc-modules-sync/src/main/java/com/xunmei/sync/domain/FjnxUser.java
  19. 5 4
      soc-modules/soc-modules-sync/src/main/java/com/xunmei/sync/service/impl/FJNXSyncServiceImpl.java
  20. 13 0
      soc-modules/soc-modules-system/src/main/java/com/xunmei/system/controller/SysOrgExtendController.java
  21. 15 1
      soc-modules/soc-modules-system/src/main/java/com/xunmei/system/domain/SysOrgExtend.java
  22. 14 13
      soc-modules/soc-modules-system/src/main/java/com/xunmei/system/domain/SysPhysicalDefenseConstruction.java
  23. 123 0
      soc-modules/soc-modules-system/src/main/java/com/xunmei/system/dto/SysOrgExtendDto.java
  24. 3 1
      soc-modules/soc-modules-system/src/main/java/com/xunmei/system/service/ISysOrgExtendService.java
  25. 51 0
      soc-modules/soc-modules-system/src/main/java/com/xunmei/system/service/impl/SysOrgExtendServiceImpl.java

+ 3 - 0
soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/edu/dto/CoreEduTrainingPlanPageDto.java

@@ -37,4 +37,7 @@ public class CoreEduTrainingPlanPageDto extends PageRequest {
     @ApiModelProperty(value = "计划名称")
     private String planName;
 
+    @ApiModelProperty(value = "计划id")
+    private Long id;
+
 }

+ 2 - 4
soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/edu/dto/SysLearningMaterialsPageDto.java

@@ -1,6 +1,7 @@
 package com.xunmei.common.core.domain.edu.dto;
 
 import com.xunmei.common.core.web.domain.BaseEntity;
+import com.xunmei.common.core.web.domain.PageRequest;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -15,16 +16,13 @@ import java.util.List;
 @Data
 @EqualsAndHashCode(callSuper = false)
 @Accessors(chain = true)
-public class SysLearningMaterialsPageDto extends BaseEntity {
+public class SysLearningMaterialsPageDto extends PageRequest {
     @ApiModelProperty(value = "资料类型(知识库标签)")
     private Long knowledgeId;
     @ApiModelProperty(value = "公开状态,0:未公开,1:已公开")
     private Integer isOpen;
     @ApiModelProperty(value = "资料标题")
     private String title;
-    @ApiModelProperty(value = "资料标题")
-    private Long orgId;
-
     @ApiModelProperty(value = "上级机构id集合",notes = "学习资料分页列表默认查询上级机构且公开的数据,此字段无需传递,后端自行获取")
     private List<Long> orgIdList;
 

+ 0 - 8
soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/edu/vo/CoreEduTrainingPlanPageVo.java

@@ -16,7 +16,6 @@ import java.util.List;
 public class CoreEduTrainingPlanPageVo {
     @ApiModelProperty(value = "序号")
     private Integer no;
-
     @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "id")
     private Long id;
@@ -37,13 +36,6 @@ public class CoreEduTrainingPlanPageVo {
     @ApiModelProperty(value = "培训机构类型")
     private Integer execOrgType;
 
-
-    @ApiModelProperty(value = "计划执行角色")
-    private Long planRoleId;
-
-    @ApiModelProperty(value = "计划执行角色")
-    private String planRoleName;
-
     @ApiModelProperty(value = "计划周期")
     private Integer planCycle;
 

+ 4 - 4
soc-common/soc-common-core/src/main/java/com/xunmei/common/core/web/domain/PageRequest.java

@@ -12,14 +12,14 @@ public class PageRequest {
 
     private Boolean checkSub = Boolean.FALSE;
 
-    private int page = 0;
+    private int pageNum = 0;
 
-    private int size = 10;
+    private int pageSize = 10;
 
     public <T> Page<T> getPageRequest() {
         Page<T> mePage = new Page<>();
-        mePage.setCurrent(this.getPage());
-        mePage.setSize(this.getSize());
+        mePage.setCurrent(this.getPageNum());
+        mePage.setSize(this.getPageSize());
         return mePage;
     }
 }

+ 6 - 1
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/access/domain/TMonitoringRetrievalPlan.java

@@ -37,7 +37,12 @@ public class TMonitoringRetrievalPlan extends BaseEntity {
     @JsonSerialize(using = ToStringSerializer.class)
     @TableId(type = IdType.AUTO)
     private Long id;
-
+    @JsonSerialize(using = ToStringSerializer.class)
+    /**
+     * 上级id
+     */
+    @ApiModelProperty(value = "上级id")
+    private Long parentId;
     /**
      * 计划名称
      */

+ 71 - 10
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/access/service/impl/TMonitoringRetrievalPlanServiceImpl.java

@@ -1,24 +1,38 @@
 package com.xunmei.core.access.service.impl;
 
+import cn.hutool.core.util.ObjectUtil;
+import com.alibaba.nacos.common.utils.CollectionUtils;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.IdWorker;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.xunmei.common.core.constant.ErrorMsgConstants;
 import com.xunmei.common.core.constant.SecurityConstants;
+import com.xunmei.common.core.domain.edu.domain.CoreEduTrainingPlan;
+import com.xunmei.common.core.domain.edu.vo.CoreEduTrainingPlanPageVo;
+import com.xunmei.common.core.domain.edu.vo.CoreEduTrainingPlanRoleVo;
+import com.xunmei.common.core.domain.retrieval.domain.CoreMonitoringRetrievalTask;
+import com.xunmei.common.core.exception.ServiceException;
+import com.xunmei.common.core.util.BeanHelper;
 import com.xunmei.common.core.utils.DateUtils;
 import com.xunmei.common.core.utils.StringUtils;
+import com.xunmei.common.core.vo.IdNameVo;
 import com.xunmei.common.core.web.page.TableDataInfo;
 import com.xunmei.common.security.utils.SecurityUtils;
 import com.xunmei.core.access.domain.TMonitoringRetrievalPlan;
 import com.xunmei.core.access.mapper.TMonitoringRetrievalPlanMapper;
 import com.xunmei.core.access.service.ITMonitoringRetrievalPlanService;
+import com.xunmei.core.access.vo.TMonitoringRetrievalPlanVO;
 import com.xunmei.core.retrieval.service.ICoreMonitoringRetrievalTaskService;
+import com.xunmei.system.api.Eto.RoleConditionEto;
 import com.xunmei.system.api.RemoteOrgService;
 import com.xunmei.system.api.RemoteRoleService;
 import com.xunmei.system.api.RemoteUserService;
 import com.xunmei.system.api.domain.SysOrg;
 import com.xunmei.system.api.domain.SysRole;
 import com.xunmei.system.api.domain.SysUser;
+import com.xunmei.system.api.function.RemoteCallHandlerExecutor;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
@@ -26,6 +40,8 @@ import org.springframework.stereotype.Service;
 import javax.annotation.Resource;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 
 /**
@@ -47,12 +63,14 @@ public class TMonitoringRetrievalPlanServiceImpl extends ServiceImpl<TMonitoring
     private RemoteOrgService remoteOrgService;
     @Autowired
     private RemoteRoleService remoteRoleService;
+    @Autowired
+    private RemoteOrgService orgService;
     @Lazy
     @Resource
     private ICoreMonitoringRetrievalTaskService iCoreMonitoringRetrievalTaskService;
 
     @Override
-    public TableDataInfo<TMonitoringRetrievalPlan> selectPage(TMonitoringRetrievalPlan tMonitoringRetrievalPlan) {
+    public TableDataInfo selectPage(TMonitoringRetrievalPlan tMonitoringRetrievalPlan) {
         //未删除
         tMonitoringRetrievalPlan.setIsDeleted(ZERO.longValue());
         Page<TMonitoringRetrievalPlan> page;
@@ -68,7 +86,7 @@ public class TMonitoringRetrievalPlanServiceImpl extends ServiceImpl<TMonitoring
 
         QueryWrapper<TMonitoringRetrievalPlan> query = new QueryWrapper<>(tMonitoringRetrievalPlan);
         //下穿
-        tMonitoringRetrievalPlan.setCheckSub(true);
+       // tMonitoringRetrievalPlan.setCheckSub(true);
         List<SysOrg> data = remoteOrgService.selectSysOrgByParentId(MINUS_ONE.longValue(), SecurityConstants.INNER);
         if (null == tMonitoringRetrievalPlan.getOrgId()) {
             tMonitoringRetrievalPlan.setOrgId(data.get(0).getId());
@@ -90,13 +108,29 @@ public class TMonitoringRetrievalPlanServiceImpl extends ServiceImpl<TMonitoring
         }
         query.orderByDesc("create_time");
         //获取数据
+        query.eq("create_type", 0);
         page = tMonitoringRetrievalPlanMapper.selectPage(page, query);
+        SysOrg sysOrg = RemoteCallHandlerExecutor.executeRemoteCall(() -> orgService.selectTopOrg(SecurityConstants.INNER), ErrorMsgConstants.QUERY_ORG_DATA_ERROR);
+        List<TMonitoringRetrievalPlan> records = page.getRecords();
+        List<TMonitoringRetrievalPlanVO> tMonitoringRetrievalPlanVOS = BeanHelper.copyProperties(records, TMonitoringRetrievalPlanVO.class);
+        for (TMonitoringRetrievalPlanVO monitoringRetrievalPlan : tMonitoringRetrievalPlanVOS) {
+            dealData(monitoringRetrievalPlan, tMonitoringRetrievalPlanVOS, sysOrg.getId());
+        }
         //抓换为TableDataInfo适配前端
-        return TableDataInfo.build(page);
-
-
+        TableDataInfo<TMonitoringRetrievalPlanVO> tableDataInfo = new TableDataInfo();
+        tableDataInfo.setMsg("操作成功");
+        tableDataInfo.setCode(200);
+        tableDataInfo.setTotal(page.getTotal());
+        tableDataInfo.setRows(tMonitoringRetrievalPlanVOS);
+        return tableDataInfo;
     }
 
+    private void dealData(TMonitoringRetrievalPlanVO record, List<TMonitoringRetrievalPlanVO> records, Long orgId) {
+        record.setNo(records.indexOf(record) + 1);
+        List<TMonitoringRetrievalPlan> tMonitoringRetrievalPlans = tMonitoringRetrievalPlanMapper.selectList(new LambdaQueryWrapper<TMonitoringRetrievalPlan>().eq(TMonitoringRetrievalPlan::getParentId, record.getId()));
+        List<TMonitoringRetrievalPlanVO> children = BeanHelper.copyProperties(tMonitoringRetrievalPlans, TMonitoringRetrievalPlanVO.class);
+        record.setChildren(children);
+    }
 
     /**
      * 查询监控调阅计划
@@ -115,7 +149,7 @@ public class TMonitoringRetrievalPlanServiceImpl extends ServiceImpl<TMonitoring
         TMonitoringRetrievalPlan tMonitoringRetrievalPlan = tMonitoringRetrievalPlanMapper.selectById(id);
         tMonitoringRetrievalPlan.setPlanStatus(ZERO);
         tMonitoringRetrievalPlanMapper.updateById(tMonitoringRetrievalPlan);
-        List<SysOrg> list = remoteOrgService.selectSysOrgByParentId(MINUS_ONE.longValue(), SecurityConstants.INNER);
+        List<SysOrg> list = remoteOrgService.selectSysOrgByParentId(tMonitoringRetrievalPlan.getOrgId(), SecurityConstants.INNER);
         Integer i = ZERO;
         List<TMonitoringRetrievalPlan> tMonitoringRetrievalPlans = new ArrayList<>();
         for (SysOrg l : list) {
@@ -138,6 +172,7 @@ public class TMonitoringRetrievalPlanServiceImpl extends ServiceImpl<TMonitoring
             monitoringRetrievalPlan.setDescription(tMonitoringRetrievalPlan.getDescription());
             monitoringRetrievalPlan.setCreateType(1);
             monitoringRetrievalPlan.setId(IdWorker.getId());
+            monitoringRetrievalPlan.setParentId(tMonitoringRetrievalPlan.getId());
             i = tMonitoringRetrievalPlanMapper.insert(monitoringRetrievalPlan);
             tMonitoringRetrievalPlans.add(monitoringRetrievalPlan);
             if (i < ZERO) {
@@ -217,14 +252,40 @@ public class TMonitoringRetrievalPlanServiceImpl extends ServiceImpl<TMonitoring
      */
     @Override
     public int deleteTMonitoringRetrievalPlanByIds(Long[] ids) {
-        int i = ZERO;
+        int i = 0;
         for (Long id : ids) {
             TMonitoringRetrievalPlan tMonitoringRetrievalPlan = new TMonitoringRetrievalPlan();
             tMonitoringRetrievalPlan.setIsDeleted(2L);
             tMonitoringRetrievalPlan.setId(id);
-            i = tMonitoringRetrievalPlanMapper.updateTMonitoringRetrievalPlan(tMonitoringRetrievalPlan);
-            if (i < 1) {
-                return i;
+            TMonitoringRetrievalPlan monitoringRetrievalPlan = tMonitoringRetrievalPlanMapper.selectById(id);
+            //如果是下发的任务
+            if (monitoringRetrievalPlan.getParentId() != null) {
+                //不能删除
+                throw new ServiceException("子任务,不能删除");
+            } else {
+                if (monitoringRetrievalPlan.getCreateType() == 0) {
+                    QueryWrapper queryWrapper = new QueryWrapper();
+                    queryWrapper.eq("parent_id", monitoringRetrievalPlan.getId());
+                    List<TMonitoringRetrievalPlan> list = tMonitoringRetrievalPlanMapper.selectList(queryWrapper);
+                    list.add(monitoringRetrievalPlan);
+                    for (TMonitoringRetrievalPlan p : list) {
+                        CoreMonitoringRetrievalTask coreMonitoringRetrievalTask = new CoreMonitoringRetrievalTask();
+                        coreMonitoringRetrievalTask.setPlanId(p.getId());
+                        coreMonitoringRetrievalTask.setStatus("0");
+                        List<CoreMonitoringRetrievalTask> coreMonitoringRetrievalTasks = iCoreMonitoringRetrievalTaskService.selectCoreMonitoringRetrievalTaskList(coreMonitoringRetrievalTask);
+                        List<Long> collect = coreMonitoringRetrievalTasks.stream().map(CoreMonitoringRetrievalTask::getId).distinct().collect(Collectors.toList());
+                        if (CollectionUtils.isNotEmpty(collect)) {
+                            Long[] arr = new Long[collect.size()];
+                            collect.toArray(arr);
+                            iCoreMonitoringRetrievalTaskService.deleteCoreMonitoringRetrievalTaskByIds(arr);
+                        }
+                        p.setIsDeleted(2L);
+                        i = tMonitoringRetrievalPlanMapper.updateTMonitoringRetrievalPlan(p);
+                        if (i < 1) {
+                            return i;
+                        }
+                    }
+                }
             }
         }
         return i;

+ 18 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/access/vo/TMonitoringRetrievalPlanVO.java

@@ -0,0 +1,18 @@
+package com.xunmei.core.access.vo;
+
+import com.xunmei.core.access.domain.TMonitoringRetrievalPlan;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author :LuoWei
+ * @date : 2023/9/5
+ */
+@Data
+public class TMonitoringRetrievalPlanVO extends TMonitoringRetrievalPlan {
+    @ApiModelProperty(value = "序号")
+    private Integer no;
+    private List<TMonitoringRetrievalPlanVO> children;
+}

+ 2 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/edu/mapper/CoreEduTrainingPlanMapper.java

@@ -74,4 +74,6 @@ public interface CoreEduTrainingPlanMapper extends BaseMapper<CoreEduTrainingPla
     CoreEduTrainingPlanDataVo getDetailPlanData(@Param("id") Long id);
 
     List<IdName<Long, String>> planList(@Param("path") String path);
+
+    List<CoreEduTrainingPlanPageVo> selectChildrenPlan(@Param("request") CoreEduTrainingPlanPageDto request);
 }

+ 13 - 8
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/edu/service/impl/CoreEduTrainingPlanServiceImpl.java

@@ -92,7 +92,7 @@ public class CoreEduTrainingPlanServiceImpl extends ServiceImpl<CoreEduTrainingP
         SysOrg sysOrg = RemoteCallHandlerExecutor.executeRemoteCall(() -> orgService.selectTopOrg(SecurityConstants.INNER), ErrorMsgConstants.QUERY_ORG_DATA_ERROR);
         List<CoreEduTrainingPlanPageVo> records = page.getRecords();
         for (CoreEduTrainingPlanPageVo record : records) {
-            dealData(record, records, sysOrg.getId());
+            dealData(record, records, sysOrg.getId(),request);
         }
         //抓换为TableDataInfo适配前端
         TableDataInfo<CoreEduTrainingPlanPageVo> tableDataInfo = new TableDataInfo();
@@ -105,28 +105,31 @@ public class CoreEduTrainingPlanServiceImpl extends ServiceImpl<CoreEduTrainingP
 
     }
 
-    private void dealData(CoreEduTrainingPlanPageVo record, List<CoreEduTrainingPlanPageVo> records, Long orgId) {
+    private void dealData(CoreEduTrainingPlanPageVo record, List<CoreEduTrainingPlanPageVo> records, Long orgId, CoreEduTrainingPlanPageDto request) {
         record.setNo(records.indexOf(record) + 1);
         if (ObjectUtil.equal(record.getCreateOrgId(), orgId)) {
             record.setCreateByTopOrg(1);
         }
         String roleNameList = coreEduTrainingPlanToRoleMapper.selectRoleNameByPlanId(record.getId()).stream().map(CoreEduTrainingPlanRoleVo::getRoleName).collect(Collectors.joining(","));
         record.setPlanRoleNameList(roleNameList);
-        List<CoreEduTrainingPlan> planList = coreEduTrainingPlanMapper.selectList(new LambdaQueryWrapper<CoreEduTrainingPlan>().eq(CoreEduTrainingPlan::getParentId, record.getId()));
-        List<CoreEduTrainingPlanPageVo> children = BeanHelper.copyProperties(planList, CoreEduTrainingPlanPageVo.class);
-        final List<Long> collect = children.stream().map(CoreEduTrainingPlanPageVo::getUpdateBy).map(Long::valueOf).distinct().collect(Collectors.toList());
+
+       /* List<CoreEduTrainingPlan> planList = coreEduTrainingPlanMapper.selectList(new LambdaQueryWrapper<CoreEduTrainingPlan>().eq(CoreEduTrainingPlan::getParentId, record.getId()));
+        List<CoreEduTrainingPlanPageVo> children = BeanHelper.copyProperties(planList, CoreEduTrainingPlanPageVo.class);*/
+        request.setId(record.getId());
+        List<CoreEduTrainingPlanPageVo> children = coreEduTrainingPlanMapper.selectChildrenPlan(request);
+/*        final List<Long> collect = children.stream().map(CoreEduTrainingPlanPageVo::getUpdateBy).map(Long::valueOf).distinct().collect(Collectors.toList());
         final List<IdNameVo> idNameVos = RemoteCallHandlerExecutor.executeRemoteCall(() -> remoteRoleService.getNames(new RoleConditionEto(collect)), ErrorMsgConstants.QUERY_ROLE_DATA_ERROR);
 
         //将idNameVos使用steam转为map
-        final Map<Long, String> idNameMap = idNameVos.stream().collect(Collectors.toMap(IdNameVo::getId, IdNameVo::getName));
+        final Map<Long, String> idNameMap = idNameVos.stream().collect(Collectors.toMap(IdNameVo::getId, IdNameVo::getName));*/
         record.setChildren(children);
         record.setHasChildren(ObjectUtil.isNotEmpty(children));
         for (CoreEduTrainingPlanPageVo child : children) {
             if (ObjectUtil.equal(child.getCreateOrgId(), orgId)) {
                 child.setCreateByTopOrg(1);
             }
-            final String name = idNameMap.get(Long.valueOf(child.getUpdateBy()));
-            child.setUpdateBy(name);
+            /*final String name = idNameMap.get(Long.valueOf(child.getUpdateBy()));
+            child.setUpdateBy(name);*/
             child.setPlanRoleNameList(roleNameList);
         }
     }
@@ -281,6 +284,7 @@ public class CoreEduTrainingPlanServiceImpl extends ServiceImpl<CoreEduTrainingP
     }
 
     public void batchSavePlanToRole(List<Long> roleIdList, Long planId) {
+        roleIdList.removeIf(Objects::isNull);
         if (ObjectUtil.isEmpty(roleIdList)) {
             return;
         }
@@ -297,6 +301,7 @@ public class CoreEduTrainingPlanServiceImpl extends ServiceImpl<CoreEduTrainingP
     }
 
     public void batchSavePlanToExecOrg(List<Long> orgIdList, Long planId) {
+        orgIdList.removeIf(Objects::isNull);
         if (ObjectUtil.isEmpty(orgIdList)) {
             return;
         }

+ 21 - 19
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/edu/service/impl/SysLearningMaterialsServiceImpl.java

@@ -52,19 +52,12 @@ public class SysLearningMaterialsServiceImpl extends ServiceImpl<SysLearningMate
     private RemoteOrgService remoteOrgService;
 
     @Override
-    public TableDataInfo selectPage(SysLearningMaterialsPageDto sysLearningMaterials) {
-        Page<SysLearningMaterialsPageVo> page;
-        //分页
-        if (ObjectUtil.isAllNotEmpty(sysLearningMaterials.getPageNum(), sysLearningMaterials.getPageSize())) {
-            page = new Page<>(sysLearningMaterials.getPageNum(), sysLearningMaterials.getPageSize());
-        } else {
-            page = new Page<>();
-        }
-        final List<Long> list = dealParentOrgId(sysLearningMaterials.getOrgId(), true);
-        sysLearningMaterials.setOrgIdList(list);
-        sysLearningMaterials.setUserId(SecurityUtils.getUserId());
-        //获取数据
-        page = sysLearningMaterialsMapper.selectPageData(page, sysLearningMaterials);
+    public TableDataInfo selectPage(SysLearningMaterialsPageDto request) {
+        final List<Long> list = dealParentOrgId(request, request.getOrgId());
+        request.setOrgIdList(list);
+        request.setUserId(SecurityUtils.getUserId());
+        //获取数据 默认查询当前及上级机构公开,当前用户创建的的数据
+        Page<SysLearningMaterialsPageVo> page = sysLearningMaterialsMapper.selectPageData(request.getPageRequest(), request);
         for (SysLearningMaterialsPageVo record : page.getRecords()) {
             extractStringFromUrl(record);
         }
@@ -77,7 +70,7 @@ public class SysLearningMaterialsServiceImpl extends ServiceImpl<SysLearningMate
         return tableDataInfo;
     }
 
-    private List<Long> dealParentOrgId(Long orgId, Boolean isNeedRemoveSelf) {
+    private List<Long> dealParentOrgId(SysLearningMaterialsPageDto request, Long orgId) {
         SysOrg sysOrg = remoteOrgService.selectSysOrgById(orgId, SecurityConstants.INNER);
         if (sysOrg == null || ObjectUtil.isEmpty(sysOrg.getPath())) {
             throw new RuntimeException("机构不存在或机构信息缺失!");
@@ -85,9 +78,18 @@ public class SysLearningMaterialsServiceImpl extends ServiceImpl<SysLearningMate
         String[] split = sysOrg.getPath().split("-");
         List<Long> list = new ArrayList<>();
         Stream.of(split).forEach(s -> list.add(Long.valueOf(s)));
-        if (isNeedRemoveSelf) {
-            list.remove(orgId);
+        request.setOrgPath(sysOrg.getPath());
+        return list;
+    }
+
+    private List<Long> dealParentOrgId(Long orgId) {
+        SysOrg sysOrg = remoteOrgService.selectSysOrgById(orgId, SecurityConstants.INNER);
+        if (sysOrg == null || ObjectUtil.isEmpty(sysOrg.getPath())) {
+            throw new RuntimeException("机构不存在或机构信息缺失!");
         }
+        String[] split = sysOrg.getPath().split("-");
+        List<Long> list = new ArrayList<>();
+        Stream.of(split).forEach(s -> list.add(Long.valueOf(s)));
         return list;
     }
 
@@ -159,7 +161,7 @@ public class SysLearningMaterialsServiceImpl extends ServiceImpl<SysLearningMate
     /**
      * 修改学习资料
      *
-     * @param sysLearningMaterials 学习资料
+     * @param request 学习资料
      * @return 结果
      */
     @Override
@@ -208,7 +210,7 @@ public class SysLearningMaterialsServiceImpl extends ServiceImpl<SysLearningMate
 
     @Override
     public TableDataInfo filePageList(SysLearningMaterialsFileListPageDto request) {
-        final List<Long> list = dealParentOrgId(request.getOrgId(), false);
+        final List<Long> list = dealParentOrgId(request.getOrgId());
         request.setOrgIdList(list);
         final IPage<SysLearningMaterialsFileListVo> page = sysLearningMaterialsMapper.selectFilePageList(request.getPageRequest(), request);
         final List<SysLearningMaterialsFileListVo> records = page.getRecords();
@@ -226,7 +228,7 @@ public class SysLearningMaterialsServiceImpl extends ServiceImpl<SysLearningMate
             IOException {
         SysOrg sysOrg = RemoteCallHandlerExecutor.executeRemoteCall(() -> remoteOrgService.selectOrgById(sysLearningMaterials.getOrgId(), SecurityConstants.INNER), ErrorMsgConstants.QUERY_ORG_DATA_ERROR);
 
-        sysLearningMaterials.setPageSize((long) Integer.MAX_VALUE);
+        sysLearningMaterials.setPageSize(Integer.MAX_VALUE);
         final TableDataInfo tableDataInfo = this.selectPage(sysLearningMaterials);
         if (ObjectUtil.isEmpty(tableDataInfo.getRows())) {
             throw new RuntimeException("导出数据为空!");

+ 2 - 1
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/retrieval/service/impl/CoreMonitoringRetrievalTaskServiceImpl.java

@@ -163,7 +163,8 @@ public class CoreMonitoringRetrievalTaskServiceImpl extends ServiceImpl<CoreMoni
      */
     @Override
     public List<CoreMonitoringRetrievalTask> selectCoreMonitoringRetrievalTaskList(CoreMonitoringRetrievalTask CoreMonitoringRetrievalTask) {
-        return coreMonitoringRetrievalTaskMapper.selectList(new QueryWrapper<>(CoreMonitoringRetrievalTask));
+       // return coreMonitoringRetrievalTaskMapper.selectList(new QueryWrapper<>(CoreMonitoringRetrievalTask));
+        return coreMonitoringRetrievalTaskMapper. selectCoreMonitoringRetrievalTaskList(CoreMonitoringRetrievalTask);
     }
 
     /**

+ 2 - 2
soc-modules/soc-modules-core/src/main/resources/mapper/access/TMonitoringRetrievalPlanMapper.xml

@@ -159,7 +159,7 @@
     </insert>
 
     <update id="updateTMonitoringRetrievalPlan" parameterType="com.xunmei.core.access.domain.TMonitoringRetrievalPlan">
-        update t_monitoring_retrieval_plan
+        update core_monitoring_retrieval_plan
         <trim prefix="SET" suffixOverrides=",">
                     <if test="planName != null">plan_name =
                         #{planName},
@@ -212,7 +212,7 @@
             <if test="endTime != null">end_time =
                 #{endTime},
             </if>
-            <if test="createType != null">createType =
+            <if test="createType != null">create_type =
                 #{createType},
             </if>
         </trim>

+ 110 - 3
soc-modules/soc-modules-core/src/main/resources/mapper/edu/CoreEduTrainingPlanMapper.xml

@@ -123,7 +123,50 @@
         <include refid="selectCoreEduTrainingPlanVo"/>
         where id = #{id}
     </select>
-
+<sql id="pageIncludeSP">
+    <if test="request.execOrgType!=null">
+        and sp.exec_org_type = #{request.execOrgType}
+    </if>
+    <if test="request.planCycle!=null">
+        and sp.plan_cycle = #{request.planCycle}
+    </if>
+    <if test="request.planStatus!=null">
+        and sp.plan_status = #{request.planStatus}
+    </if>
+    <if test="request.planName!=null">
+        and sp.plan_name = #{request.planName}
+    </if>
+    <choose>
+        <when test="request.checkSub==true">
+            and sp.belong_org_path like concat(#{request.belongOrgPath},'%')
+        </when>
+        <otherwise>
+            and sp.belong_org_id = #{request.belongOrgId}
+        </otherwise>
+    </choose>
+</sql>
+    <sql id="pageIncludeP">
+        <if test="request.execOrgType!=null">
+            and p.exec_org_type = #{request.execOrgType}
+        </if>
+        <if test="request.planCycle!=null">
+            and p.plan_cycle = #{request.planCycle}
+        </if>
+        <if test="request.planStatus!=null">
+            and p.plan_status = #{request.planStatus}
+        </if>
+        <if test="request.planName!=null">
+            and p.plan_name = #{request.planName}
+        </if>
+        <choose>
+            <when test="request.checkSub==true">
+                and p.belong_org_path like concat(#{request.belongOrgPath},'%')
+            </when>
+            <otherwise>
+                and p.belong_org_id = #{request.belongOrgId}
+            </otherwise>
+        </choose>
+    </sql>
     <insert id="insertCoreEduTrainingPlan" parameterType="com.xunmei.common.core.domain.edu.domain.CoreEduTrainingPlan"
             useGeneratedKeys="true" keyProperty="id">
         insert into core_edu_training_plan
@@ -382,8 +425,31 @@
             #{id}
         </foreach>
     </delete>
-
     <select id="selectPageData" resultType="com.xunmei.common.core.domain.edu.vo.CoreEduTrainingPlanPageVo">
+        select
+        p.id as id,
+        p.plan_name,
+        p.create_org_id,
+        p.create_org_name,
+        p.exec_org_type,
+        p.plan_cycle,
+        p.exec_times,
+        p.remark,
+        u.name as updateBy,
+        p.plan_status,
+        p.issue,
+        p.standard,
+        P.belong_org_id,
+        P.belong_org_name from core_edu_training_plan p left join sys_user u on p.update_by=u.id where p.deleted = 0 and p.parent_id is null
+        and p.standard=1 and p.issue=1
+        and p.id in ( select sp.parent_id from core_edu_training_plan sp where sp.deleted = 0 and sp.parent_id is not null  <include refid="pageIncludeSP"/>)
+        <!-- 不是标准计划但是也没下发: 行社自建的计划 -->
+        or ( p.standard=0 and p.issue=0 and p.deleted=0 and p.parent_id is null  <include refid="pageIncludeP"/>)
+        <!-- 是标准计划但是未下发 -->
+        or ( p.standard=1 and p.issue=0 and p.deleted=0 and p.parent_id is null  <include refid="pageIncludeP"/>)
+
+    </select>
+    <select id="selectPageData1" resultType="com.xunmei.common.core.domain.edu.vo.CoreEduTrainingPlanPageVo">
         select p.id as id,
         p.plan_name,
         p.create_org_id,
@@ -415,7 +481,6 @@
         <if test="request.planStatus!=null">
             and p.plan_status = #{request.planStatus}
         </if>
-
         <if test="request.planName!=null">
             and p.plan_name = #{request.planName}
         </if>
@@ -454,4 +519,46 @@
           and p.standard = 0
           and p.belong_org_path like concat(#{path}, '%')
     </select>
+
+    <select id="selectChildrenPlan" resultType="com.xunmei.common.core.domain.edu.vo.CoreEduTrainingPlanPageVo">
+        select
+        sp.id as id,
+        sp.plan_name,
+        sp.create_org_id,
+        sp.create_org_name,
+        sp.exec_org_type,
+        sp.plan_cycle,
+        sp.exec_times,
+        sp.remark,
+        sp.plan_status,
+        u.name as updateBy,
+        sp.issue,
+        sp.standard,
+        sp.belong_org_id as belongOrgId,
+        sp.belong_org_name as belongOrgName from core_edu_training_plan sp left join sys_user u on sp.update_by=u.id
+        where sp.deleted = 0 and sp.parent_id is not null
+        <if test="request.id!=null">
+            and sp.parent_id = #{request.id}
+        </if>
+        <if test="request.execOrgType!=null">
+            and sp.exec_org_type = #{request.execOrgType}
+        </if>
+        <if test="request.planCycle!=null">
+            and sp.plan_cycle = #{request.planCycle}
+        </if>
+        <if test="request.planStatus!=null">
+            and sp.plan_status = #{request.planStatus}
+        </if>
+        <if test="request.planName!=null">
+            and sp.plan_name = #{request.planName}
+        </if>
+        <choose>
+            <when test="request.checkSub==true">
+                and sp.belong_org_path like concat(#{request.belongOrgPath},'%')
+            </when>
+            <otherwise>
+                and sp.belong_org_id = #{request.belongOrgId}
+            </otherwise>
+        </choose>
+    </select>
 </mapper>

+ 17 - 41
soc-modules/soc-modules-core/src/main/resources/mapper/edu/SysLearningMaterialsMapper.xml

@@ -88,7 +88,10 @@
             and m.knowledge_id = #{request.knowledgeId}
         </if>
         <if test="request.title != null ">
-            and m.title  like concat('%', #{request.title}, '%')
+            and m.title like concat('%', #{request.title}, '%')
+        </if>
+        <if test="request.isOpen != null ">
+            and m.is_open = #{request.isOpen}
         </if>
     </sql>
     <select id="selectPageData" resultType="com.xunmei.common.core.domain.edu.vo.SysLearningMaterialsPageVo">
@@ -109,46 +112,19 @@
         inner join sys_user u on u.id=m.create_by
         where m.deleted = 0
         and k.deleted = 0
-        <choose>
-            <!-- 查询公开的,需要判断是否关联上级机构,类型与标题 -->
-            <when test="request.isOpen != null and request.isOpen ==1">
-                <if test="request.checkSub==false">
-                    and m.org_id = #{request.orgId} and m.is_open = 1
-                </if>
-                <if test="request.checkSub==true">
-                    or ( m.org_id in
-                    <foreach collection="request.orgIdList" item="item" open="(" separator="," close=")">
-                        #{item}
-                    </foreach>
-                    and m.is_open = 1
-                    <include refid="pageRequest"/>)
-                </if>
-            </when>
-            <!-- 查询未公开的,需要判断类型与标题 且查询当前机构自己创建的, -->
-            <when test="request.isOpen != null">
-                <include refid="pageRequest"/>
-                and m.org_id = #{request.orgId}
-                and m.create_by = #{request.userId}
-                and m.is_open = 0
-            </when>
-            <!-- 公开条件等于null时,需要判断类型与标题 且查询当前机构自己创建的, -->
-            <otherwise>
-                <include refid="pageRequest"/>
-                <if test="request.checkSub==false">
-                    and m.org_id = #{request.orgId}
-                </if>
-                <if test="request.checkSub==true">
-                    or ( m.is_open = 1
-                    <if test="request.orgIdList.size>0">
-                        and m.org_id in
-                        <foreach collection="request.orgIdList" item="item" open="(" separator="," close=")">
-                            #{item}
-                        </foreach>
-                    </if>
-                    <include refid="pageRequest"/>)
-                </if>
-            </otherwise>
-        </choose>
+        and m.create_by=#{request.userId}
+        <include refid="pageRequest"/>
+        <if test="request.checkSub==true">
+            or ( m.org_path like concat(#{request.orgPath},'%') and m.is_open = 1 and m.org_path !=#{request.orgPath}
+            <include refid="pageRequest"/>)
+        </if>
+        or ( m.org_id in
+        <foreach collection="request.orgIdList" item="item" open="(" separator="," close=")">
+            #{item}
+        </foreach>
+        and m.is_open = 1
+        <include refid="pageRequest"/>
+        )
         order by m.org_id, m.create_time desc
     </select>
 

+ 4 - 0
soc-modules/soc-modules-core/src/main/resources/mapper/retrieval/CoreMonitoringRetrievalTaskMapper.xml

@@ -56,6 +56,10 @@
                         <if test="status != null ">
                             and status = #{status}
                         </if>
+                        <if test="planId !=null ">
+                            and plan_id=#{planId}
+                        </if>
+
         </where>
     </select>
 

+ 1 - 1
soc-modules/soc-modules-sync/src/main/java/com/xunmei/sync/domain/FjnxOrg.java

@@ -21,7 +21,7 @@ import java.util.Date;
  */
 @Data
 @EqualsAndHashCode(callSuper = false)
-@TableName("t_fjnx_org")
+@TableName("sync_fjnx_org")
 @ApiModel(value="同步FJNX机构保存对象", description="")
 public class FjnxOrg implements Serializable {
 

+ 12 - 12
soc-modules/soc-modules-sync/src/main/java/com/xunmei/sync/domain/FjnxOrgBusinessRelation.java

@@ -16,7 +16,7 @@ import java.util.Date;
  */
 
 @Data
-@TableName("t_fjnx_org_business_relation")
+@TableName("sync_fjnx_org_business_relation")
 @ApiModel(value = "OrgBusinessRelation对象", description = "")
 public class FjnxOrgBusinessRelation implements Serializable {
 
@@ -25,27 +25,27 @@ public class FjnxOrgBusinessRelation implements Serializable {
     @JsonSerialize(using = ToStringSerializer.class)
     private Long id;
 
-    @ApiModelProperty(value = "机构id")
-    @TableField("org_id")
-    @JsonSerialize(using = ToStringSerializer.class)
-    private Long orgId;
+//    @ApiModelProperty(value = "机构id")
+//    @TableField("org_id")
+//    @JsonSerialize(using = ToStringSerializer.class)
+//    private Long orgId;
 
     @ApiModelProperty(value = "机构编码")
     @TableField("org_code")
     private String orgCode;
 
-    @ApiModelProperty(value = "业务父级Id")
-    @TableField("business_parent_id")
-    @JsonSerialize(using = ToStringSerializer.class)
-    private Long businessParentId;
+//    @ApiModelProperty(value = "业务父级Id")
+//    @TableField("business_parent_id")
+//    @JsonSerialize(using = ToStringSerializer.class)
+//    private Long businessParentId;
 
     @ApiModelProperty(value = "业务父级机构编码")
     @TableField("business_parent_code")
     private String businessParentCode;
 
-    @ApiModelProperty(value = "机构层级")
-    @TableField("org_level")
-    private Integer orgLevel;
+//    @ApiModelProperty(value = "机构层级")
+//    @TableField("org_level")
+//    private Integer orgLevel;
 
     @ApiModelProperty(value = "创建时间")
     @TableField("create_time")

+ 1 - 1
soc-modules/soc-modules-sync/src/main/java/com/xunmei/sync/domain/FjnxUser.java

@@ -14,7 +14,7 @@ import java.util.Date;
 
 @Data
 @EqualsAndHashCode(callSuper = false)
-@TableName("t_fjnx_user")
+@TableName("sync_fjnx_user")
 @ApiModel(value="同步FJNX用户保存对象", description="")
 public class FjnxUser {
 

+ 5 - 4
soc-modules/soc-modules-sync/src/main/java/com/xunmei/sync/service/impl/FJNXSyncServiceImpl.java

@@ -534,7 +534,6 @@ public class FJNXSyncServiceImpl implements IFJNXSyncService {
                 } else {
                     log.error("同步人员【{}】所属机构编码【{}】在当前数据库中未找到,{}", x.getUserId() + x.getUserName(), x.getDepCode(), x);
                 }
-
             });
         }
         return result;
@@ -559,6 +558,7 @@ public class FJNXSyncServiceImpl implements IFJNXSyncService {
         user.setSource(1);
         // TODO 机构状态和机构类型转换
         //user.setIsLock(fjnxOrgDto.getUsableFlag());
+        user.setOriginalOrgId(org.getId());
         return user;
 
     }
@@ -573,14 +573,15 @@ public class FJNXSyncServiceImpl implements IFJNXSyncService {
         user.setJobNumber(fjnxUserDto.getTeller());
         user.setApproveStatus(1L);
         user.setUpdateTime(fjnxUserDto.getUpdateTime());
-        user.setOrgId(org.getId());
-        user.setOrgName(org.getName());
-        user.setOrgPath(org.getPath());
+        user.setOrgId(businessOrg.getId());
+        user.setOrgName(businessOrg.getName());
+        user.setOrgPath(businessOrg.getPath());
         //0 禁用 1 启用已改密码 2 启用未改密码
         user.setIsLock(fjnxUserDto.getUserStatus());
         // TODO 机构状态和机构类型转换
         //user.setIsLock(fjnxOrgDto.getUsableFlag());
         user.setSource(1);
+        user.setOriginalOrgId(org.getId());
         return user;
 
     }

+ 13 - 0
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/controller/SysOrgExtendController.java

@@ -7,6 +7,7 @@ import com.xunmei.common.log.annotation.Log;
 import com.xunmei.common.log.enums.BusinessType;
 import com.xunmei.common.security.annotation.RequiresPermissions;
 import com.xunmei.system.domain.SysOrgExtend;
+import com.xunmei.system.dto.SysOrgExtendDto;
 import com.xunmei.system.service.ISysOrgExtendService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -68,6 +69,18 @@ public class SysOrgExtendController extends BaseController {
     }
 
     /**
+     * 新增/编辑机构扩展
+     */
+    @ApiOperation(value = "新增/编辑SysOrgExtend")
+    @RequiresPermissions("system:extend:add")
+    @Log(title = "新增/编辑机构扩展", businessType = BusinessType.INSERT)
+    @PostMapping("/addOrUpdate")
+    public AjaxResult addOrUpdate(@RequestBody SysOrgExtendDto sysOrgExtend) {
+        return success(sysOrgExtendService.insertOrUpdateSysOrgExtend(sysOrgExtend));
+    }
+
+
+    /**
      * 修改机构扩展
      */
     @ApiOperation(value = "修改SysOrgExtend")

+ 15 - 1
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/domain/SysOrgExtend.java

@@ -107,7 +107,21 @@ public class SysOrgExtend extends BaseEntity {
      */
     @ApiModelProperty(value = "业务库出入口远程控制")
     private Long remoteControl;
-
+    /**
+     * 离行式大堂设备
+     */
+    @ApiModelProperty(value = "离行式大堂设备")
+    private Long detachedLobbyEquipment;
+    /**
+     * 离行式穿墙设备
+     */
+    @ApiModelProperty(value = "离行式穿墙设备")
+    private Long detachedWallPenetratingEquipment;
+    /**
+     * 加钞间远程控制
+     */
+    @ApiModelProperty(value = "加钞间远程控制")
+    private Long cashAddingRoomRemoteControl;
     /**
      * 是否有在行自助银行
      */

+ 14 - 13
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/domain/SysPhysicalDefenseConstruction.java

@@ -27,7 +27,7 @@ import com.xunmei.common.core.web.domain.BaseEntity;
 @EqualsAndHashCode(callSuper = false)
 @Accessors(chain = true)
 @TableName("sys_org_physical_defense_construction")
-@ApiModel(value = "SysOrgPhysicalDefenseConstruction对象" , description = "机构物防建设")
+@ApiModel(value = "SysOrgPhysicalDefenseConstruction对象", description = "机构物防建设")
 public class SysPhysicalDefenseConstruction extends BaseEntity {
     private static final long serialVersionUID = 1L;
 
@@ -46,7 +46,7 @@ public class SysPhysicalDefenseConstruction extends BaseEntity {
     /**
      * 达标日期
      */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" , timezone = "GMT+8")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     @ApiModelProperty(value = "达标日期")
     private Date dateOfCompliance;
 
@@ -56,6 +56,7 @@ public class SysPhysicalDefenseConstruction extends BaseEntity {
     @ApiModelProperty(value = "是否证书佐证")
     private Long certificateEvidence;
 
+
     /**
      * 证书
      */
@@ -82,37 +83,37 @@ public class SysPhysicalDefenseConstruction extends BaseEntity {
         return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
 
 
-                .append("id" , getId())
+                .append("id", getId())
 
 
-                .append("standard" , getStandard())
+                .append("standard", getStandard())
 
 
-                .append("dateOfCompliance" , getDateOfCompliance())
+                .append("dateOfCompliance", getDateOfCompliance())
 
 
-                .append("certificateEvidence" , getCertificateEvidence())
+                .append("certificateEvidence", getCertificateEvidence())
 
 
-                .append("certificate" , getCertificate())
+                .append("certificate", getCertificate())
 
 
-                .append("evidence" , getEvidence())
+                .append("evidence", getEvidence())
 
 
-                .append("createTime" , getCreateTime())
+                .append("createTime", getCreateTime())
 
 
-                .append("updateTime" , getUpdateTime())
+                .append("updateTime", getUpdateTime())
 
 
-                .append("createBy" , getCreateBy())
+                .append("createBy", getCreateBy())
 
 
-                .append("updateBy" , getUpdateBy())
+                .append("updateBy", getUpdateBy())
 
 
-                .append("orgId" , getOrgId())
+                .append("orgId", getOrgId())
                 .toString();
     }
 }

+ 123 - 0
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/dto/SysOrgExtendDto.java

@@ -0,0 +1,123 @@
+package com.xunmei.system.dto;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import com.xunmei.system.api.domain.SysOrg;
+import com.xunmei.system.domain.SysOrgExtend;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class SysOrgExtendDto  {
+    @TableId
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Long id;
+
+    @ApiModelProperty(value = "地址")
+    @TableField(value = "address")
+    private String address;
+
+    @ApiModelProperty(value = "code")
+    @TableField(value = "code")
+    private String code;
+
+    @ApiModelProperty(value = "guid")
+    @TableField(value = "guid")
+    private String guid;
+
+    @ApiModelProperty(value = "禁用")
+    @TableField(value = "is_lock")
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Integer isLock;
+
+    @ApiModelProperty(value = "负责人")
+    @TableField(value = "manager")
+    private String manager;
+
+    @ApiModelProperty(value = "负责人电话")
+    @TableField(value = "manager_phone")
+    private String managerPhone;
+
+    @ApiModelProperty(value = "nh名称")
+    @TableField(value = "name")
+    private String name;
+
+    @ApiModelProperty(value = "上级nh")
+    @JsonSerialize(using = ToStringSerializer.class)
+    @TableField(value = "parent_id")
+    private Long parentId;
+
+    @ApiModelProperty(value = "父节点GUID")
+    @TableField(value = "parent_guid")
+    private String parentGuid;
+
+    @ApiModelProperty(value = "联系电话")
+    @TableField(value = "phone")
+    private String phone;
+
+    @ApiModelProperty(value = "行政区域编码")
+    @TableField(value = "city_code")
+    private String cityCode;
+
+    @ApiModelProperty(value = "机构类型")
+    @TableField(value = "type")
+    private Integer type;
+
+    @ApiModelProperty(value = "路径")
+    @TableField(value = "path")
+    private String path;
+
+    @ApiModelProperty(value = "是否删除")
+    @TableField(value = "deleted")
+    private Integer deleted;
+
+    @TableField(value = "sort")
+    @ApiModelProperty(value = "排序")
+    private Double sort;
+    @ApiModelProperty(value = "天气城市区域编码")
+    @TableField(value = "weather_city_code")
+    private String weatherCityCode;
+
+    @JsonSerialize(using = ToStringSerializer.class)
+    @TableField(value = "org_extend_id")
+    private Long orgExtendId;
+    @ApiModelProperty(value = "机构来源, 0:系统新增 1:fjnx同步")
+    @TableField(value = "source")
+    private Integer source;
+
+    /**
+     * 机构简称
+     */
+    @ApiModelProperty(value = "机构简称")
+    @TableField(value = "short_name")
+    private String shortName;
+
+    /**
+     * 备注
+     */
+    @ApiModelProperty(value = "备注")
+    @TableField(value = "remark")
+    private String remark;
+    /**
+     * 业务库出入口远程控制
+     */
+    @ApiModelProperty(value = "业务库出入口远程控制")
+    private Long remoteControl;
+    /**
+     * 离行式大堂设备
+     */
+    @ApiModelProperty(value = "离行式大堂设备")
+    private Long detachedLobbyEquipment;
+    /**
+     * 离行式穿墙设备
+     */
+    @ApiModelProperty(value = "离行式穿墙设备")
+    private Long detachedWallPenetratingEquipment;
+    /**
+     * 加钞间远程控制
+     */
+    @ApiModelProperty(value = "加钞间远程控制")
+    private Long cashAddingRoomRemoteControl;
+}

+ 3 - 1
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/service/ISysOrgExtendService.java

@@ -7,6 +7,7 @@ import com.xunmei.system.domain.SysOrgExtend;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.xunmei.common.core.web.page.TableDataInfo;
+import com.xunmei.system.dto.SysOrgExtendDto;
 
 /**
  * 机构扩展Service接口
@@ -24,7 +25,6 @@ public interface ISysOrgExtendService extends IService<SysOrgExtend> {
     SysOrgExtend selectSysOrgExtendById(Long id);
 
     /**
-     *
      * @param id
      * @return
      */
@@ -46,6 +46,8 @@ public interface ISysOrgExtendService extends IService<SysOrgExtend> {
      */
     int insertSysOrgExtend(SysOrgExtend sysOrgExtend);
 
+    int insertOrUpdateSysOrgExtend(SysOrgExtendDto sysOrgExtend);
+
     /**
      * 修改机构扩展
      *

+ 51 - 0
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/service/impl/SysOrgExtendServiceImpl.java

@@ -2,8 +2,13 @@ package com.xunmei.system.service.impl;
 
 import java.util.List;
 
+import com.baomidou.mybatisplus.core.toolkit.IdWorker;
 import com.xunmei.common.core.utils.DateUtils;
+import com.xunmei.common.core.utils.StringUtils;
 import com.xunmei.system.api.domain.SysOrg;
+import com.xunmei.system.dto.SysOrgExtendDto;
+import com.xunmei.system.mapper.SysOrgMapper;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.xunmei.system.service.ISysOrgService;
@@ -30,6 +35,8 @@ public class SysOrgExtendServiceImpl extends ServiceImpl<SysOrgExtendMapper, Sys
     private SysOrgExtendMapper sysOrgExtendMapper;
     @Autowired
     private ISysOrgService orgService;
+    @Autowired
+    private SysOrgMapper orgMapper;
 
     @Override
     public TableDataInfo<SysOrgExtend> selectPage(SysOrgExtend sysOrgExtend) {
@@ -104,6 +111,50 @@ public class SysOrgExtendServiceImpl extends ServiceImpl<SysOrgExtendMapper, Sys
         return sysOrgExtendMapper.insert(sysOrgExtend);
     }
 
+    @Override
+    public int insertOrUpdateSysOrgExtend(SysOrgExtendDto sysOrgExtend) {
+//        sysOrgExtend.setCreateTime(DateUtils.getNowDate());
+//        SysOrg sysOrg = orgMapper.selectById(sysOrgExtend.getParentId());
+//        sysOrgExtend.setId(IdWorker.getId());
+//        sysOrgExtend.setPath(sysOrg.getPath()+sysOrgExtend.getId()+"-");
+        sysOrgExtend.setDeleted(0);
+//        sysOrgExtend.setParentGuid(sysOrg.getParentGuid());
+        SysOrg org = new SysOrg();
+        BeanUtils.copyProperties(sysOrgExtend,org);
+        boolean isOk = false;
+        if (org.getId() != null) {
+            if (StringUtils.isEmpty(org.getManagerPhone())) {
+                org.setManagerPhone(org.getPhone());
+            }
+            isOk = orgService.updateById(org);
+        } else {
+            SysOrg sysOrg = orgMapper.selectById(org.getParentId());
+            org.setParentGuid(sysOrg.getGuid());
+            org.setDeleted(0);
+            long id = IdWorker.getId();
+            org.setId(id);
+            org.setPath(sysOrg.getPath() + id + "-");
+            if (StringUtils.isEmpty(org.getManagerPhone())) {
+                org.setManagerPhone(org.getPhone());
+            }
+            isOk = orgService.save(org);
+        }
+        /*
+         * 重置缓存
+         */
+        orgService.clearOrgCache();
+        orgService.loadingOrgCache();
+//        orgService.saveOrUpdateOrg(org);
+
+        SysOrgExtend extend = new SysOrgExtend();
+        extend.setOrgId(org.getId());
+        extend.setCreateTime(DateUtils.getNowDate());
+        extend.setDetachedLobbyEquipment(sysOrgExtend.getDetachedLobbyEquipment());
+        extend.setDetachedWallPenetratingEquipment(sysOrgExtend.getDetachedWallPenetratingEquipment());
+        extend.setCashAddingRoomRemoteControl(sysOrgExtend.getCashAddingRoomRemoteControl());
+        return sysOrgExtendMapper.insert(extend);
+    }
+
     /**
      * 修改机构扩展
      *