吉安感知网项目-后端
rain
2026-02-09 66bfbdb9251c22ffa2b5f05595a76a3547a2f5eb
drone-service/drone-system/src/main/java/org/sxkj/system/service/impl/DeptServiceImpl.java
@@ -32,12 +32,15 @@
import org.springblade.core.tool.utils.Func;
import org.springblade.core.tool.utils.StringPool;
import org.springframework.stereotype.Service;
import org.sxkj.common.constant.WordOrderConstant;
import org.sxkj.common.func.Streams;
import org.sxkj.common.node.TreeStringNode;
import org.sxkj.common.utils.NodeTreeUtil;
import org.sxkj.common.utils.OrderNumUtils;
import org.sxkj.system.cache.SysCache;
import org.sxkj.system.entity.Dept;
import org.sxkj.system.excel.DeptExcel;
import org.sxkj.system.excel.DeptImportExcel;
import org.sxkj.system.mapper.DeptMapper;
import org.sxkj.system.param.DeptExportParam;
import org.sxkj.system.param.DeptPageParam;
@@ -301,6 +304,7 @@
   /**
    * 分页查询
    *
    * @param page
    * @param deptPageParam
    * @return
@@ -312,25 +316,50 @@
   /**
    * 导入部门
    *
    * @param data
    * @param isCovered
    */
   @Override
   public void importDept(List<DeptExcel> data, Boolean isCovered) {
   public void importDept(List<DeptImportExcel> data, Boolean isCovered) {
      List<Dept> list = new ArrayList<>();
      data.forEach(deptExcel -> {
         // 校验必填字段
         if (deptExcel.getDeptName() == null || deptExcel.getDeptName().trim().isEmpty()) {
            throw new RuntimeException("机构名称不能为空");
         }
         if (deptExcel.getAreaCode() == null || deptExcel.getAreaCode().trim().isEmpty()) {
            throw new RuntimeException("所属区划编码不能为空");
         }
         if (deptExcel.getRemark() == null || deptExcel.getRemark().trim().isEmpty()) {
            throw new RuntimeException("机构描述不能为空");
         }
         if (deptExcel.getStatus() == null || deptExcel.getStatus().trim().isEmpty()) {
            throw new RuntimeException("机构状态不能为空");
         }
         // 转换数据
         Dept dept = BeanUtil.copy(deptExcel, Dept.class);
         list.add(dept);
      });
      if (isCovered) {
         this.saveOrUpdateBatch(list);
      } else {
         list.forEach(item -> {
            String times = OrderNumUtils.initOrderNum2(WordOrderConstant.ORG_CODE);
            String deptCode = WordOrderConstant.ORG_PREFIX + times;
            item.setDeptCode(deptCode);
         });
         this.saveBatch(list);
      }
   }
   @Override
   public List<DeptExcel> exportDept(DeptExportParam dept) {
        return baseMapper.exportDept(dept);
      return baseMapper.exportDept(dept);
   }
   @Override
   public DeptVO getDetailWithAreaName(Dept dept) {
      return baseMapper.getDetailWithAreaName(dept);
   }
}