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

预案演练:网点预案管理代码提交

xujie 1 жил өмнө
parent
commit
e1d4167d86
12 өөрчлөгдсөн 532 нэмэгдсэн , 1 устгасан
  1. 72 0
      soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/drill/domain/CoreDrillDictionaryBranch.java
  2. 30 0
      soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/drill/dto/CoreDrillDictBranchInsertDto.java
  3. 39 0
      soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/drill/dto/CoreDrillDictBranchPageDto.java
  4. 22 0
      soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/drill/dto/CoreDrillDictBranchUpdateDto.java
  5. 53 0
      soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/drill/vo/CoreDrillDictionaryBranchDetailVo.java
  6. 43 0
      soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/drill/vo/CoreDrillDictionaryBranchPageVo.java
  7. 69 0
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/drill/controller/CoreDrillDictionaryBranchController.java
  8. 16 0
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/drill/mapper/CoreDrillDictionaryBranchMapper.java
  9. 23 0
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/drill/service/ICoreDrillDictionaryBranchService.java
  10. 112 0
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/drill/service/impl/CoreDrillDictionaryBranchServiceImpl.java
  11. 47 0
      soc-modules/soc-modules-core/src/main/resources/mapper/drill/CoreDrillDictionaryBranchMapper.xml
  12. 6 1
      soc-modules/soc-modules-system/src/main/java/com/xunmei/system/service/ISysVersionService.java

+ 72 - 0
soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/drill/domain/CoreDrillDictionaryBranch.java

@@ -0,0 +1,72 @@
+package com.xunmei.common.core.domain.drill.domain;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.xunmei.common.core.web.domain.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * 网点预案管理 core_drill_dictionary_branch
+ *
+ * @author xunmei
+ * @date 2024-04-15
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("core_drill_dictionary_branch")
+@ApiModel(value = "CoreDrillDictionaryBranch对象", description = "网点预案管理")
+public class CoreDrillDictionaryBranch extends BaseEntity {
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value="id",type = IdType.AUTO)
+    private Integer id;
+
+    @TableField("org_id")
+    @ApiModelProperty(value = "机构")
+    private Long orgId;
+
+
+    @TableField("org_name")
+    @ApiModelProperty(value = "机构名称")
+    private String orgName;
+
+
+    @TableField("org_path")
+    @ApiModelProperty(value = "机构")
+    private String orgPath;
+
+    @TableField("drill_type")
+    @ApiModelProperty(value = "演练项目,字典表关联取值")
+    private String drillType;
+
+    @TableField("drill_type_name")
+    @ApiModelProperty(value = "演练项目名称")
+    private String drillTypeName;
+
+
+    @TableField("drill_category")
+    @ApiModelProperty(value = "演练类型,字典表关联取值")
+    private String drillCategory;
+
+    @TableField("drill_category_name")
+    @ApiModelProperty(value = "演练类型名称")
+    private String drillCategoryName;
+
+    @TableField("drill_projects")
+    @ApiModelProperty(value = "解决方案")
+    private String drillProjects;
+
+    @TableField("default_cause")
+    @ApiModelProperty(value = "预设案由")
+    private String defaultCause;
+
+    @ApiModelProperty(value = "删除标志", notes = "0:未删除,1:已删除")
+    @TableLogic(value = "0", delval = "1")
+    @TableField(value = "deleted")
+    private int deleted;
+
+}

+ 30 - 0
soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/drill/dto/CoreDrillDictBranchInsertDto.java

@@ -0,0 +1,30 @@
+package com.xunmei.common.core.domain.drill.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * @author jingyuanchao
+ * @date 2023/9/8 19:15
+ */
+@Data
+public class CoreDrillDictBranchInsertDto {
+
+    @NotNull(message = "机构不能为空")
+    @ApiModelProperty(value = "机构")
+    private Long orgId;
+
+    @ApiModelProperty(value = "演练项目,字典表关联取值")
+    private String drillType;
+
+    @ApiModelProperty(value = "演练类型,字典表关联取值")
+    private Integer drillCategory;
+
+    @ApiModelProperty(value = "解决方案")
+    private String drillProjects;
+
+    @ApiModelProperty(value = "预设案由")
+    private String defaultCause;
+}

+ 39 - 0
soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/drill/dto/CoreDrillDictBranchPageDto.java

@@ -0,0 +1,39 @@
+package com.xunmei.common.core.domain.drill.dto;
+
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import com.xunmei.common.core.web.domain.PageRequest;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.util.List;
+
+/**
+ * @author xujie
+ * @date 2024/04/15 17:03
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value = "CoreDrillDictionaryBranch分页对象", description = "预案演练库")
+public class CoreDrillDictBranchPageDto extends PageRequest {
+    private static final long serialVersionUID = 1L;
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Long id;
+
+    @ApiModelProperty(value = "演练项目,字典表关联取值")
+    private String drillType;
+
+    @ApiModelProperty(value = "演练类型,字典表关联取值")
+    private String drillCategory;
+
+    @ApiModelProperty(value = "演练场景")
+    private String drillProjects;
+
+    private List<Long> orgIdList;
+
+    private Long orgParentId;
+}

+ 22 - 0
soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/drill/dto/CoreDrillDictBranchUpdateDto.java

@@ -0,0 +1,22 @@
+package com.xunmei.common.core.domain.drill.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author jingyuanchao
+ * @date 2023/9/8 19:41
+ */
+@Data
+public class CoreDrillDictBranchUpdateDto {
+    private Integer id;
+
+    @ApiModelProperty(value = "演练类型,字典表关联取值")
+    private String drillType;
+
+    @ApiModelProperty(value = "演练场景")
+    private String drillProjects;
+
+    @ApiModelProperty(value = "预设案由")
+    private String defaultCause;
+}

+ 53 - 0
soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/drill/vo/CoreDrillDictionaryBranchDetailVo.java

@@ -0,0 +1,53 @@
+package com.xunmei.common.core.domain.drill.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @author xujie
+ * @date 2024/04/15 10:21
+ */
+@Data
+public class CoreDrillDictionaryBranchDetailVo {
+    private Integer id;
+    @ApiModelProperty(value = "机构id")
+    private String orgId;
+
+    @ApiModelProperty(value = "机构名称")
+    private String orgName;
+
+    @ApiModelProperty(value = "演练类型,字典表关联取值")
+    private String drillType;
+
+    @ApiModelProperty(value = "演练类型名称,字典表关联取值")
+    private String drillTypeName;
+
+    @ApiModelProperty(value = "演练项目")
+    private String drillProjects;
+
+    @ApiModelProperty(value = "预设案由")
+    private String defaultCause;
+
+    @ApiModelProperty(value = "演练类型,字典表关联取值")
+    private String drillCategory;
+
+    @ApiModelProperty(value = "演练类型名称")
+    private String drillCategoryName;
+
+    @ApiModelProperty(value = "创建人")
+    private String createUserName;
+
+    @ApiModelProperty(value = "创建时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+
+    @ApiModelProperty(value = "修改人")
+    private String updateUserName;
+
+    @ApiModelProperty(value = "修改时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date updateTime;
+}

+ 43 - 0
soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/drill/vo/CoreDrillDictionaryBranchPageVo.java

@@ -0,0 +1,43 @@
+package com.xunmei.common.core.domain.drill.vo;
+
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author xujie
+ * @date 2024/4/15 11:11
+ */
+@Data
+public class CoreDrillDictionaryBranchPageVo {
+
+    @ApiModelProperty(value = "序号")
+    private Integer no;
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Long id;
+
+    @ApiModelProperty(value = "参考演练创建机构")
+    private String orgId;
+
+    @ApiModelProperty(value = "机构名称")
+    private String orgName;
+
+    @ApiModelProperty(value = "演练类型,字典表关联取值")
+    private String drillType;
+    @ApiModelProperty(value = "演练类型名称")
+    private String drillTypeName;
+
+    @ApiModelProperty(value = "演练类型,字典表关联取值")
+    private String drillCategory;
+
+    @ApiModelProperty(value = "演练类型名称")
+    private String drillCategoryName;
+
+    @ApiModelProperty(value = "演练场景")
+    private String drillProjects;
+
+    @ApiModelProperty(value = "预设案由")
+    private String defaultCause;
+
+}

+ 69 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/drill/controller/CoreDrillDictionaryBranchController.java

@@ -0,0 +1,69 @@
+package com.xunmei.core.drill.controller;
+
+import com.alibaba.fastjson.JSONObject;
+import com.xunmei.common.core.domain.drill.dto.CoreDrillDictBranchInsertDto;
+import com.xunmei.common.core.domain.drill.dto.CoreDrillDictBranchPageDto;
+import com.xunmei.common.core.domain.drill.dto.CoreDrillDictBranchUpdateDto;
+import com.xunmei.common.core.domain.drill.vo.CoreDrillDictionaryBranchPageVo;
+import com.xunmei.common.core.web.controller.BaseController;
+import com.xunmei.common.core.web.domain.AjaxResult;
+import com.xunmei.common.core.web.page.TableDataInfo;
+import com.xunmei.common.log.annotation.Log;
+import com.xunmei.common.log.enums.BusinessType;
+import com.xunmei.common.security.annotation.RequiresPermissions;
+import com.xunmei.core.drill.service.ICoreDrillDictionaryBranchService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+
+@Api(tags = {"CoreDrillDictionaryBranch"})
+@RestController
+@RequestMapping("/drillDictionaryBranch")
+public class CoreDrillDictionaryBranchController extends BaseController {
+
+    @Resource
+    private ICoreDrillDictionaryBranchService coreDrillDictionaryBranchService;
+
+    /**
+     * 查询预案演练库列表
+     */
+    @ApiOperation(value = "查询CoreDrillDictionaryBranch列表")
+    @RequiresPermissions("core:drillDictionaryBranch:list")
+    @GetMapping("/list")
+    public TableDataInfo<CoreDrillDictionaryBranchPageVo> list(CoreDrillDictBranchPageDto coreDrillDictionaryBranch) {
+        return coreDrillDictionaryBranchService.selectPage(coreDrillDictionaryBranch);
+    }
+
+    @ApiOperation(value = "获取CoreDrillDictionaryBranch详细信息")
+    @RequiresPermissions("core:drillDictionaryBranch:detail")
+    @GetMapping(value = "/detail/{id}")
+    public AjaxResult detail(@PathVariable("id") Long id) {
+        return success(coreDrillDictionaryBranchService.getCoreDrillDictionaryBranchById(id));
+    }
+
+    @ApiOperation(value = "删除CoreDrillDictionaryBranch")
+    @RequiresPermissions("core:drillDictionaryBranch:remove")
+    @Log(title = "网点预案管理", businessType = BusinessType.DELETE)
+    @DeleteMapping("/remove/{id}")
+    public AjaxResult remove(@PathVariable Long id) {
+        return toAjax(coreDrillDictionaryBranchService.deleteCoreDrillDictionaryBranchById(id));
+    }
+
+    @ApiOperation(value = "添加CoreDrillDictionaryBranch")
+    @RequiresPermissions("core:drillDictionaryBranch:add")
+    @Log(title = "网点预案管理", businessType = BusinessType.INSERT)
+    @PostMapping(value = "/add")
+    public AjaxResult add(@RequestBody CoreDrillDictBranchInsertDto insertDto) {
+        return toAjax(coreDrillDictionaryBranchService.insertCoreDrillDictionaryBranch(insertDto));
+    }
+
+    @ApiOperation(value = "修改CoreDrillDictionaryBranch")
+    @RequiresPermissions("core:drillDictionaryBranch:edit")
+    @Log(title = "网点预案管理", businessType = BusinessType.UPDATE)
+    @PutMapping(value = "/edit")
+    public AjaxResult edit(@RequestBody CoreDrillDictBranchUpdateDto updateDto) {
+        return toAjax(coreDrillDictionaryBranchService.updateCoreDrillDictionaryBranch(updateDto));
+    }
+}

+ 16 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/drill/mapper/CoreDrillDictionaryBranchMapper.java

@@ -0,0 +1,16 @@
+package com.xunmei.core.drill.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.xunmei.common.core.domain.drill.domain.CoreDrillDictionaryBranch;
+import com.xunmei.common.core.domain.drill.dto.CoreDrillDictBranchPageDto;
+import com.xunmei.common.core.domain.drill.vo.CoreDrillDictionaryBranchDetailVo;
+import com.xunmei.common.core.domain.drill.vo.CoreDrillDictionaryBranchPageVo;
+import org.apache.ibatis.annotations.Param;
+
+public interface CoreDrillDictionaryBranchMapper extends BaseMapper<CoreDrillDictionaryBranch> {
+
+    Page<CoreDrillDictionaryBranchPageVo> selectPageData(Page<CoreDrillDictionaryBranchPageVo> pageRequest, @Param("request") CoreDrillDictBranchPageDto request);
+    CoreDrillDictionaryBranchDetailVo getCoreDrillDictionaryBranchById(@Param("id") Long id);
+
+}

+ 23 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/drill/service/ICoreDrillDictionaryBranchService.java

@@ -0,0 +1,23 @@
+package com.xunmei.core.drill.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.xunmei.common.core.domain.drill.domain.CoreDrillDictionaryBranch;
+import com.xunmei.common.core.domain.drill.dto.CoreDrillDictBranchInsertDto;
+import com.xunmei.common.core.domain.drill.dto.CoreDrillDictBranchPageDto;
+import com.xunmei.common.core.domain.drill.dto.CoreDrillDictBranchUpdateDto;
+import com.xunmei.common.core.domain.drill.vo.CoreDrillDictionaryBranchDetailVo;
+import com.xunmei.common.core.domain.drill.vo.CoreDrillDictionaryBranchPageVo;
+import com.xunmei.common.core.web.page.TableDataInfo;
+
+public interface ICoreDrillDictionaryBranchService extends IService<CoreDrillDictionaryBranch> {
+
+    TableDataInfo<CoreDrillDictionaryBranchPageVo> selectPage(CoreDrillDictBranchPageDto coreDrillDictionaryBranch);
+
+    CoreDrillDictionaryBranchDetailVo getCoreDrillDictionaryBranchById(Long id);
+
+    int deleteCoreDrillDictionaryBranchById(Long id);
+
+    int insertCoreDrillDictionaryBranch(CoreDrillDictBranchInsertDto insertDto);
+
+    int updateCoreDrillDictionaryBranch(CoreDrillDictBranchUpdateDto updateDto);
+}

+ 112 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/drill/service/impl/CoreDrillDictionaryBranchServiceImpl.java

@@ -0,0 +1,112 @@
+package com.xunmei.core.drill.service.impl;
+
+import cn.hutool.core.util.ObjectUtil;
+import com.alibaba.nacos.shaded.io.grpc.netty.shaded.io.netty.util.internal.StringUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.xunmei.common.core.constant.DictConstants;
+import com.xunmei.common.core.constant.ErrorMsgConstants;
+import com.xunmei.common.core.constant.SecurityConstants;
+import com.xunmei.common.core.domain.drill.domain.CoreDrillDictionaryBranch;
+import com.xunmei.common.core.domain.drill.dto.CoreDrillDictBranchInsertDto;
+import com.xunmei.common.core.domain.drill.dto.CoreDrillDictBranchPageDto;
+import com.xunmei.common.core.domain.drill.dto.CoreDrillDictBranchUpdateDto;
+import com.xunmei.common.core.domain.drill.vo.CoreDrillDictionaryBranchDetailVo;
+import com.xunmei.common.core.domain.drill.vo.CoreDrillDictionaryBranchPageVo;
+import com.xunmei.common.core.web.page.TableDataInfo;
+import com.xunmei.common.security.utils.DictUtils;
+import com.xunmei.common.security.utils.SecurityUtils;
+import com.xunmei.core.drill.mapper.CoreDrillDictionaryBranchMapper;
+import com.xunmei.core.drill.service.ICoreDrillDictionaryBranchService;
+import com.xunmei.system.api.RemoteOrgService;
+import com.xunmei.system.api.domain.SysDictData;
+import com.xunmei.system.api.domain.SysOrg;
+import com.xunmei.system.api.function.RemoteCallHandlerExecutor;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.Date;
+import java.util.List;
+
+@Service
+public class CoreDrillDictionaryBranchServiceImpl extends ServiceImpl<CoreDrillDictionaryBranchMapper, CoreDrillDictionaryBranch> implements ICoreDrillDictionaryBranchService {
+    @Resource
+    private CoreDrillDictionaryBranchMapper branchMapper;
+    @Resource
+    private RemoteOrgService orgService;
+
+    @Override
+    public TableDataInfo<CoreDrillDictionaryBranchPageVo> selectPage(CoreDrillDictBranchPageDto dto) {
+
+        SysOrg org = RemoteCallHandlerExecutor.executeRemoteCall(() -> orgService.selectOrgById(dto.getOrgId(), SecurityConstants.INNER), ErrorMsgConstants.QUERY_ORG_DATA_ERROR);
+        if (Boolean.TRUE.equals(dto.getCheckSub())) {
+            dto.setOrgPath(org.getPath());
+        }
+
+        Page<CoreDrillDictionaryBranchPageVo> page = branchMapper.selectPageData(dto.getPageRequest(),dto);
+        page.getRecords()
+                .forEach(coreDrillDictionaryPageVo -> {
+                    if (StringUtil.isNullOrEmpty(coreDrillDictionaryPageVo.getDrillCategory())) {
+                        return;
+                    }
+                    coreDrillDictionaryPageVo.setDrillCategoryName(DictUtils.getDictLabel(DictConstants.CORE_DRILL_CATEGORY, Integer.parseInt(coreDrillDictionaryPageVo.getDrillCategory())));
+                });
+
+        //抓换为TableDataInfo适配前端
+        return TableDataInfo.build(page);
+    }
+
+    @Override
+    public CoreDrillDictionaryBranchDetailVo getCoreDrillDictionaryBranchById(Long id) {
+        CoreDrillDictionaryBranchDetailVo detailVo = branchMapper.getCoreDrillDictionaryBranchById(id);
+        if (ObjectUtil.isNotEmpty(detailVo.getDrillCategory())){
+            detailVo.setDrillCategoryName(DictUtils.getDictLabel(DictConstants.CORE_DRILL_CATEGORY, Integer.parseInt(detailVo.getDrillCategory())));
+        }
+        return detailVo;
+    }
+
+    @Override
+    public int deleteCoreDrillDictionaryBranchById(Long id) {
+        return branchMapper.deleteById(id);
+    }
+
+    @Override
+    public int insertCoreDrillDictionaryBranch(CoreDrillDictBranchInsertDto insertDto) {
+        final CoreDrillDictionaryBranch dictionaryBranch = new CoreDrillDictionaryBranch();
+        final List<SysDictData> drillTypeDictList = DictUtils.getDictCache(DictConstants.CORE_DRILL_TYPE);
+        BeanUtils.copyProperties(insertDto, dictionaryBranch);
+        if (null != drillTypeDictList && ObjectUtil.isNotEmpty(drillTypeDictList)) {
+            drillTypeDictList.stream().filter(dict -> ObjectUtil.equal(dict.getDictValue(), insertDto.getDrillType())).findFirst().ifPresent(dict -> dictionaryBranch.setDrillTypeName(dict.getDictLabel()));
+        }
+        dictionaryBranch.setDrillCategoryName(DictUtils.getDictLabel(DictConstants.CORE_DRILL_CATEGORY, insertDto.getDrillCategory()));
+        dictionaryBranch.setDrillProjects(insertDto.getDrillProjects());
+        SysOrg sysOrg = getOrg(SecurityUtils.getLoginUser().getOrgId());
+        dictionaryBranch.setOrgId(sysOrg.getId());
+        dictionaryBranch.setOrgName(sysOrg.getShortName());
+        dictionaryBranch.setOrgPath(sysOrg.getPath());
+        dictionaryBranch.setCreateBy(SecurityUtils.getUserId().toString());
+        dictionaryBranch.setCreateTime(new Date());
+        //dictionaryBranch.setUpdateBy(SecurityUtils.getUserId().toString());
+        //dictionaryBranch.setUpdateTime(new Date());
+        return branchMapper.insert(dictionaryBranch);
+    }
+
+    @Override
+    public int updateCoreDrillDictionaryBranch(CoreDrillDictBranchUpdateDto updateDto) {
+        if (null != updateDto && updateDto.getId() == null){
+            return 0;
+        }
+        final CoreDrillDictionaryBranch dictionaryBranch = new CoreDrillDictionaryBranch();
+        BeanUtils.copyProperties(updateDto, dictionaryBranch);
+        dictionaryBranch.setUpdateBy(SecurityUtils.getUserId().toString());
+        dictionaryBranch.setUpdateTime(new Date());
+        return branchMapper.updateById(dictionaryBranch);
+    }
+
+    private SysOrg getOrg(Long orgId) {
+        return RemoteCallHandlerExecutor.executeRemoteCall(() ->
+                orgService.selectOrgById(orgId, SecurityConstants.INNER), ErrorMsgConstants.QUERY_ORG_DATA_ERROR);
+    }
+}

+ 47 - 0
soc-modules/soc-modules-core/src/main/resources/mapper/drill/CoreDrillDictionaryBranchMapper.xml

@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.xunmei.core.drill.mapper.CoreDrillDictionaryBranchMapper">
+
+    <select id="selectPageData" resultType="com.xunmei.common.core.domain.drill.vo.CoreDrillDictionaryBranchPageVo">
+        select * from core_drill_dictionary_branch d
+        where d.deleted = 0
+        <choose>
+            <when test="request.checkSub==true">
+               and d.org_path like concat(#{request.orgPath}, '%')
+            </when>
+            <otherwise>
+               and d.org_id = #{request.orgId}
+            </otherwise>
+        </choose>
+        <if test="request.drillProjects!= null and request.drillProjects !=''">
+            and d.drill_projects like concat('%',#{request.drillProjects}, '%')
+        </if>
+        <if test="request.drillType!= null">
+            and d.drill_type=#{request.drillType}
+        </if>
+        order by d.create_time desc
+    </select>
+
+    <select id="getCoreDrillDictionaryBranchById" resultType="com.xunmei.common.core.domain.drill.vo.CoreDrillDictionaryBranchDetailVo">
+        SELECT
+            d.id AS id,
+            d.org_id AS orgId,
+            d.org_name AS orgName,
+            d.drill_type AS drillType,
+            d.drill_type_name AS drillTypeName,
+            d.drill_projects AS drillProjects,
+            d.default_cause AS defaultCause,
+            d.drill_category AS drillCategory,
+            s.`name` AS createUserName,
+            d.create_time AS createTime,
+            ss.`name` AS updateUserName,
+            d.update_time AS updateTime
+        FROM
+            core_drill_dictionary_branch d
+            LEFT JOIN sys_user s ON d.create_by = s.id
+            LEFT JOIN sys_user ss ON d.update_by = ss.id
+        where d.id = #{id} and d.deleted = 0
+    </select>
+</mapper>

+ 6 - 1
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/service/ISysVersionService.java

@@ -7,6 +7,7 @@ import com.xunmei.system.api.domain.SysVersion;
 import com.xunmei.system.dto.SysCheckUpdateDto;
 
 import javax.servlet.http.HttpServletResponse;
+import java.util.List;
 
 public interface ISysVersionService extends IService<SysVersion> {
 
@@ -25,7 +26,11 @@ public interface ISysVersionService extends IService<SysVersion> {
 
     SysVersion getDetailById(Long id);
 
-    void downloadFile(HttpServletResponse response, Long id);
+    SysVersion getByPackageName(String packageName);
+
+    List<String> getAllPackageName();
+
+    void downloadFile(HttpServletResponse response, String packageName);
 
     SysCheckUpdateDto checkUpdate(SysCheckUpdateDto checkUpdateDto);
 }