Просмотр исходного кода

init: init project step4: biz code support

shc 1 год назад
Родитель
Сommit
ab14a853d1

+ 26 - 27
hnqz-upms/hnqz-upms-api/src/main/java/com/qunzhixinxi/hnqz/admin/api/entity/WmScoreTaskType.java

@@ -4,9 +4,9 @@ import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.extension.activerecord.Model;
 import lombok.Data;
-import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
 
 /**
  * 积分包任务类型表
@@ -16,32 +16,31 @@ import lombok.EqualsAndHashCode;
  */
 @Data
 @TableName("wm_score_task_type")
-@EqualsAndHashCode(callSuper = true)
-public class WmScoreTaskType extends Model<WmScoreTaskType> {
-	private static final long serialVersionUID = 1L;
+public class WmScoreTaskType implements Serializable {
+    private static final long serialVersionUID = 1L;
 
-	/**
-	 * 主键id
-	 */
-	@TableId(type = IdType.AUTO)
-	private Long id;
-	/**
-	 * 关联id
-	 */
-	private String scoreId;
-	/**
-	 * 类型
-	 */
-	private String type;
+    /**
+     * 主键id
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+    /**
+     * 关联id
+     */
+    private String scoreId;
+    /**
+     * 类型
+     */
+    private String type;
 
-	/**
-	 * 有效任务类型id
-	 */
-	private String taskTypeId;
+    /**
+     * 有效任务类型id
+     */
+    private String taskTypeId;
 
-	/**
-	 * 类型名称
-	 */
-	@TableField(exist = false)
-	private String taskTypeName;
+    /**
+     * 类型名称
+     */
+    @TableField(exist = false)
+    private String taskTypeName;
 }

+ 36 - 23
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/manager/SysImplementPlanManager.java

@@ -23,6 +23,7 @@ import com.qunzhixinxi.hnqz.admin.service.SysDeptService;
 import com.qunzhixinxi.hnqz.admin.service.SysImplPlanDetailsItemService;
 import com.qunzhixinxi.hnqz.admin.service.SysImplPlanDetailsService;
 import com.qunzhixinxi.hnqz.admin.service.SysImplementPlanService;
+import com.qunzhixinxi.hnqz.admin.service.SysRoleService;
 import com.qunzhixinxi.hnqz.admin.service.WmDaDrugEntDrugtableService;
 import com.qunzhixinxi.hnqz.common.core.exception.BizException;
 import com.qunzhixinxi.hnqz.common.security.service.HnqzUser;
@@ -59,6 +60,7 @@ public class SysImplementPlanManager {
     private final SysImplementPlanService implementPlanService;
     private final SysImplPlanDetailsService implPlanDetailsService;
     private final SysDeptService deptService;
+    private final SysRoleService roleService;
     private final SysImplPlanDetailsItemService implPlanDetailsItemService;
     private final WmDaDrugEntDrugtableService drugEntDrugtableService;
 
@@ -95,8 +97,11 @@ public class SysImplementPlanManager {
      */
     public Page<?> pagePlans(SysImplementPlanDTO.OnPage query, HnqzUser operator) {
 
+        int entLevel = roleService.getEntLevel();
+
+
         // 获取根目录分页
-        Page<SysImplementPlan> page = this.getPage(operator, query.getCurrent(), query.getSize(), query.getPlanName(),
+        Page<SysImplementPlan> page = this.getPage(operator, entLevel, query.getCurrent(), query.getSize(), query.getPlanName(),
                 query.getConsigneeId(), operator.getDeptId(), query.getPeriod());
 
         List<SysImplementPlan> records = page.getRecords();
@@ -140,16 +145,27 @@ public class SysImplementPlanManager {
         Page<Tree<Integer>> newPage = new Page<>(page.getCurrent(), page.getSize(), page.getTotal());
         List<TreeNode<Integer>> toPages = getToPages(records, consigneeMap, skuMap);
 
-       // Map<Integer, List<TreeNode<Integer>>> collect = toPages.stream().collect(Collectors.groupingBy(TreeNode::getParentId));
-       //
-       // List<List<Tree<Integer>>> builds = new ArrayList<>(collect.size());
-       //for (Map.Entry<Integer, List<TreeNode<Integer>>> entry : collect.entrySet()){
-       //    List<Tree<Integer>> build = TreeUtil.build(entry.getValue(), entry.getKey());
-       //    builds.add(build);
-       //}
+        List<Tree<Integer>> builds = new ArrayList<>();
+        if (entLevel == 0){
+            List<Tree<Integer>> build = TreeUtil.build(toPages, 0);
+            builds.addAll(build);
+        } else {
+            Map<Integer, List<TreeNode<Integer>>> collect = toPages.stream().collect(Collectors.groupingBy(TreeNode::getParentId));
+            for (TreeNode<Integer> node : toPages) {
+
+                Integer parentId = entLevel == 1 ? node.getId() : node.getParentId();
+
+                List<TreeNode<Integer>> treeNodes = collect.get(parentId);
+                if (CollUtil.isNotEmpty(treeNodes)) {
+                    treeNodes.add(node);
+                    List<Tree<Integer>> build = TreeUtil.build(treeNodes, node.getParentId());
+                    builds.addAll(build);
+                }
+            }
+        }
 
 
-        newPage.setRecords(TreeUtil.build(toPages, 0));
+        newPage.setRecords(builds);
 
         return newPage;
     }
@@ -182,8 +198,7 @@ public class SysImplementPlanManager {
 
             TreeNode<Integer> treeNode = new TreeNode<>();
             treeNode.setId(p.getPlanId());
-            //treeNode.setParentId(p.getParentId());
-            treeNode.setParentId(0);
+            treeNode.setParentId(p.getParentId());
             treeNode.setName(p.getPlanName());
             treeNode.setWeight(p.getPlanId());
             Map<String, Object> extra = BeanUtil.beanToMap(p);
@@ -194,6 +209,7 @@ public class SysImplementPlanManager {
     }
 
     private Page<SysImplementPlan> getPage(HnqzUser user,
+                                           int entLevel,
                                            Integer current,
                                            Integer size,
                                            String planName,
@@ -201,25 +217,22 @@ public class SysImplementPlanManager {
                                            Integer consignorId,
                                            LocalDate[] period) {
 
-        List<Integer> roleIds = SecurityUtils.getRoles();
-
         LambdaQueryWrapper<SysImplementPlan> wrapper = Wrappers.<SysImplementPlan>lambdaQuery()
                 .like(StrUtil.isNotBlank(planName), SysImplementPlan::getPlanName, planName);
 
-        // 服务商管理员
-        if (roleIds.contains(37)){
+        // 服务商管理员(只查询发给我的)
+        if (entLevel == 2) {
             wrapper.eq(SysImplementPlan::getConsigneeId, user.getDeptId());
-        } else {
+        }
+        // 区域 (查询发给我的和我下发的)
+        else if (entLevel == 1) {
+            wrapper.and(wrp -> wrp.eq(SysImplementPlan::getConsigneeId, user.getDeptId()).or().eq(SysImplementPlan::getConsignorId, user.getDeptId()));
+        }
+        // 药企,平台(只查询我下发的)
+        else {
             wrapper.eq(SysImplementPlan::getParentId, 0);
         }
 
-
-        //LambdaQueryWrapper<SysImplementPlan> wrapper = Wrappers.<SysImplementPlan>lambdaQuery()
-        //        .like(StrUtil.isNotBlank(planName), SysImplementPlan::getPlanName, planName)
-        //        .eq(SysImplementPlan::getParentId, 0);
-        //.eq(consigneeId != null, SysImplementPlan::getConsigneeId, consigneeId)
-        //.eq(SysImplementPlan::getConsignorId, consignorId);
-
         if (ArrayUtil.isNotEmpty(period) && period.length == 2) {
             wrapper.between(SysImplementPlan::getCreateTime, period[0], period[1]);
         }

+ 23 - 14
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/SysRoleService.java

@@ -1,4 +1,3 @@
-
 package com.qunzhixinxi.hnqz.admin.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
@@ -16,18 +15,28 @@ import java.util.List;
  */
 public interface SysRoleService extends IService<SysRole> {
 
-	/**
-	 * 通过用户ID,查询角色信息
-	 * @param userId
-	 * @return
-	 */
-	List<SysRole> findRolesByUserId(Integer userId);
-
-	/**
-	 * 通过角色ID,删除角色
-	 * @param id
-	 * @return
-	 */
-	Boolean removeRoleById(Integer id);
+    /**
+     * 通过用户ID,查询角色信息
+     *
+     * @param userId 用户ID
+     * @return 用户列表
+     */
+    List<SysRole> findRolesByUserId(Integer userId);
+
+    /**
+     * 通过角色ID,删除角色
+     *
+     * @param id 角色ID
+     * @return 删除结果
+     */
+    Boolean removeRoleById(Integer id);
+
+    /**
+     * 获取企业level
+     *
+     * @return 企业level
+     */
+    int getEntLevel();
+
 
 }

+ 44 - 23
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/SysRoleServiceImpl.java

@@ -8,6 +8,7 @@ import com.qunzhixinxi.hnqz.admin.api.entity.SysRoleMenu;
 import com.qunzhixinxi.hnqz.admin.mapper.SysRoleMapper;
 import com.qunzhixinxi.hnqz.admin.mapper.SysRoleMenuMapper;
 import com.qunzhixinxi.hnqz.admin.service.SysRoleService;
+import com.qunzhixinxi.hnqz.common.security.util.SecurityUtils;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -26,28 +27,48 @@ import java.util.List;
 @AllArgsConstructor
 public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> implements SysRoleService {
 
-	private SysRoleMenuMapper sysRoleMenuMapper;
-
-	/**
-	 * 通过用户ID,查询角色信息
-	 * @param userId
-	 * @return
-	 */
-	@Override
-	public List findRolesByUserId(Integer userId) {
-		return baseMapper.listRolesByUserId(userId);
-	}
-
-	/**
-	 * 通过角色ID,删除角色,并清空角色菜单缓存
-	 * @param id
-	 * @return
-	 */
-	@Override
-	@Transactional(rollbackFor = Exception.class)
-	public Boolean removeRoleById(Integer id) {
-		sysRoleMenuMapper.delete(Wrappers.<SysRoleMenu>update().lambda().eq(SysRoleMenu::getRoleId, id));
-		return this.removeById(id);
-	}
+    private SysRoleMenuMapper sysRoleMenuMapper;
+
+    /**
+     * 通过用户ID,查询角色信息
+     *
+     * @param userId
+     * @return
+     */
+    @Override
+    public List findRolesByUserId(Integer userId) {
+        return baseMapper.listRolesByUserId(userId);
+    }
+
+    /**
+     * 通过角色ID,删除角色,并清空角色菜单缓存
+     *
+     * @param id
+     * @return
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Boolean removeRoleById(Integer id) {
+        sysRoleMenuMapper.delete(Wrappers.<SysRoleMenu>update().lambda().eq(SysRoleMenu::getRoleId, id));
+        return this.removeById(id);
+    }
+
+    /**
+     * 获取企业level
+     *
+     * @return 企业level
+     */
+    @Override
+    public int getEntLevel() {
+
+        List<Integer> roles = SecurityUtils.getRoles();
+
+        if (roles.contains(37)) {
+            return 2;
+        } else if (roles.contains(4)) {
+            return 1;
+        }
+        return 0;
+    }
 
 }