|
@@ -19,13 +19,20 @@
|
|
|
|
|
|
package com.qunzhixinxi.hnqz.admin.service.impl;
|
|
package com.qunzhixinxi.hnqz.admin.service.impl;
|
|
|
|
|
|
|
|
+import cn.hutool.core.bean.BeanUtil;
|
|
import cn.hutool.core.collection.CollUtil;
|
|
import cn.hutool.core.collection.CollUtil;
|
|
|
|
+import cn.hutool.core.map.MapUtil;
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.qunzhixinxi.hnqz.admin.api.dto.DeptTree;
|
|
import com.qunzhixinxi.hnqz.admin.api.dto.DeptTree;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysDept;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysDept;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysDeptRelation;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysDeptRelation;
|
|
import com.qunzhixinxi.hnqz.admin.api.vo.TreeUtil;
|
|
import com.qunzhixinxi.hnqz.admin.api.vo.TreeUtil;
|
|
|
|
+import com.qunzhixinxi.hnqz.admin.entity.base.HnqzPage;
|
|
|
|
+import com.qunzhixinxi.hnqz.admin.enums.DelEnum;
|
|
|
|
+import com.qunzhixinxi.hnqz.admin.enums.DeptLevelEnum;
|
|
import com.qunzhixinxi.hnqz.admin.mapper.SysDeptMapper;
|
|
import com.qunzhixinxi.hnqz.admin.mapper.SysDeptMapper;
|
|
import com.qunzhixinxi.hnqz.admin.mapper.SysDeptRelationMapper;
|
|
import com.qunzhixinxi.hnqz.admin.mapper.SysDeptRelationMapper;
|
|
import com.qunzhixinxi.hnqz.admin.mapper.WmRelationMapper;
|
|
import com.qunzhixinxi.hnqz.admin.mapper.WmRelationMapper;
|
|
@@ -34,6 +41,7 @@ import com.qunzhixinxi.hnqz.admin.service.SysDeptService;
|
|
import com.qunzhixinxi.hnqz.common.data.datascope.DataScope;
|
|
import com.qunzhixinxi.hnqz.common.data.datascope.DataScope;
|
|
import com.qunzhixinxi.hnqz.common.security.util.SecurityUtils;
|
|
import com.qunzhixinxi.hnqz.common.security.util.SecurityUtils;
|
|
import lombok.AllArgsConstructor;
|
|
import lombok.AllArgsConstructor;
|
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
import org.springframework.beans.BeanUtils;
|
|
import org.springframework.beans.BeanUtils;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
@@ -452,4 +460,52 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept> impl
|
|
return deptMapper.selectEntCodeByLevelId(levelId, level);
|
|
return deptMapper.selectEntCodeByLevelId(levelId, level);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
+ * 分页查询药企和CSO代理商
|
|
|
|
+ *
|
|
|
|
+ * @param page 分页参数
|
|
|
|
+ * @param deptName 部门名称
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ @Override
|
|
|
|
+ public Map<String, Object> listEntAndAgent(Page page, String deptName) {
|
|
|
|
+ // 药企
|
|
|
|
+ LambdaQueryWrapper<SysDept> entWrapper = Wrappers.lambdaQuery();
|
|
|
|
+ entWrapper.eq(SysDept::getDelFlag, DelEnum.NOT_DEL.val());
|
|
|
|
+ entWrapper.eq(SysDept::getLevel, DeptLevelEnum.ENT.getVal());
|
|
|
|
+ if (StringUtils.isNotBlank(deptName)) {
|
|
|
|
+ entWrapper.like(SysDept::getName, deptName);
|
|
|
|
+ }
|
|
|
|
+ Page<SysDept> entPage = this.page(page, entWrapper);
|
|
|
|
+ List<Map<String, Object>> entMapList = entPage.getRecords().stream().map(sysDept -> {
|
|
|
|
+ Map<String, Object> deptMap = MapUtil.newHashMap(2);
|
|
|
|
+ deptMap.put("deptId", sysDept.getDeptId());
|
|
|
|
+ deptMap.put("name", sysDept.getName());
|
|
|
|
+ return deptMap;
|
|
|
|
+ }).collect(Collectors.toList());
|
|
|
|
+ Page<Map<String, Object>> entHnqzPage = BeanUtil.copyProperties(entPage, Page.class);
|
|
|
|
+ entHnqzPage.setRecords(entMapList);
|
|
|
|
+
|
|
|
|
+ // CSO
|
|
|
|
+ LambdaQueryWrapper<SysDept> csoWrapper = Wrappers.lambdaQuery();
|
|
|
|
+ csoWrapper.eq(SysDept::getDelFlag, DelEnum.NOT_DEL.val());
|
|
|
|
+ csoWrapper.eq(SysDept::getLevel, DeptLevelEnum.CSO_L1.getVal());
|
|
|
|
+ if (StringUtils.isNotBlank(deptName)) {
|
|
|
|
+ csoWrapper.like(SysDept::getName, deptName);
|
|
|
|
+ }
|
|
|
|
+ Page<SysDept> csoPage = this.page(page, csoWrapper);
|
|
|
|
+ List<Map<String, Object>> csoMapList = csoPage.getRecords().stream().map(sysDept -> {
|
|
|
|
+ Map<String, Object> deptMap = MapUtil.newHashMap(2);
|
|
|
|
+ deptMap.put("deptId", sysDept.getDeptId());
|
|
|
|
+ deptMap.put("name", sysDept.getName());
|
|
|
|
+ return deptMap;
|
|
|
|
+ }).collect(Collectors.toList());
|
|
|
|
+ Page<Map<String, Object>> csoHnqzPage = BeanUtil.copyProperties(entPage, Page.class);
|
|
|
|
+ csoHnqzPage.setRecords(csoMapList);
|
|
|
|
+
|
|
|
|
+ Map<String, Object> resultMap = MapUtil.newHashMap(2);
|
|
|
|
+ resultMap.put("entPage", new HnqzPage<>(entHnqzPage));
|
|
|
|
+ resultMap.put("csoPage", new HnqzPage<>(csoHnqzPage));
|
|
|
|
+ return resultMap;
|
|
|
|
+ }
|
|
}
|
|
}
|