shc преди 5 месеца
родител
ревизия
c52f37770d

+ 67 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/dept/SysDeptControllerV2.java

@@ -0,0 +1,67 @@
+package com.qunzhixinxi.hnqz.admin.controller.dept;
+
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.StrUtil;
+import com.qunzhixinxi.hnqz.admin.api.entity.SysDept;
+import com.qunzhixinxi.hnqz.common.core.constant.CacheConstants;
+import com.qunzhixinxi.hnqz.common.core.util.R;
+import com.qunzhixinxi.hnqz.common.security.annotation.Inner;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+import javax.annotation.Resource;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * 部门企业前端控制器
+ *
+ * @author jimmy
+ * @date 2025-01-15 10:00
+ */
+@Slf4j
+@RestController
+@RequestMapping(value = "/dept/v2")
+public class SysDeptControllerV2 {
+
+  @Resource private RedisTemplate redisTemplate;
+
+  @Inner(value = false)
+  @GetMapping(value = "/avail")
+  public R<List<Map<String, Object>>> listAvail(
+      @RequestParam(value = "name", required = false) String name) {
+
+    List<SysDept> range = redisTemplate.opsForList().range(CacheConstants.DEPT_KEY, 0, -1);
+
+    if (CollUtil.isEmpty(range)) {
+      return R.ok(Collections.emptyList());
+    }
+
+    if (StrUtil.isNotBlank(name)) {
+
+      range =
+          range.stream()
+              .filter(d -> StrUtil.contains(d.getName(), name))
+              .collect(Collectors.toList());
+    }
+
+    List<Map<String, Object>> collect =
+        range.stream()
+            .map(
+                d -> {
+                  Map<String, Object> map = new HashMap<>(2);
+                  map.put("entId", d.getDeptId());
+                  map.put("name", d.getName());
+                  return map;
+                })
+            .collect(Collectors.toList());
+
+    return R.ok(collect);
+  }
+}

+ 0 - 1
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/drug/WmDrugControllerV2.java

@@ -7,7 +7,6 @@ import com.qunzhixinxi.hnqz.common.core.constant.CacheConstants;
 import com.qunzhixinxi.hnqz.common.core.util.R;
 import com.qunzhixinxi.hnqz.common.security.annotation.Inner;
 import java.util.Collections;
-import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;

+ 3 - 3
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/task/vo/TaskReqVO.java

@@ -29,9 +29,6 @@ public final class TaskReqVO {
     // 服务类型
     private String taskTypeId;
 
-    // 关联产品名称
-    private String skuName;
-
     // 服务商名称
     private Integer vendorId;
 
@@ -41,6 +38,9 @@ public final class TaskReqVO {
     // 生产企业
     private String mahName;
 
+    // 关联产品
+    private String skuId;
+
     // 服务包所属省份
     private String provAbbr;
 

+ 38 - 2
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/user/SysUserControllerV2.java

@@ -1,10 +1,22 @@
 package com.qunzhixinxi.hnqz.admin.controller.user;
 
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.StrUtil;
+import com.qunzhixinxi.hnqz.admin.api.entity.SysUser;
+import com.qunzhixinxi.hnqz.common.core.constant.CacheConstants;
 import com.qunzhixinxi.hnqz.common.core.util.R;
+import com.qunzhixinxi.hnqz.common.security.annotation.Inner;
+import java.util.Collections;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
+import javax.annotation.Resource;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
 /**
@@ -16,9 +28,33 @@ import org.springframework.web.bind.annotation.RestController;
 @RequestMapping(value = "/user/v2")
 public class SysUserControllerV2 {
 
+  @Resource private RedisTemplate redisTemplate;
 
+  @Inner(false)
+  @GetMapping(value = "/avail")
+  public R<List<Map<String, Object>>> listAvail(
+      @RequestParam(value = "realName", required = false) String realName) {
 
-  public R<List<Map<String, String>>> listAvail(){
-    return null;
+    List<SysUser> range = redisTemplate.opsForList().range(CacheConstants.USER_KEY, 0, -1);
+
+    if (CollUtil.isEmpty(range)) {
+      return R.ok(Collections.emptyList());
+    }
+
+    if (StrUtil.isNotBlank(realName)) {
+      range = range.stream().filter(u -> StrUtil.contains(u.getRealname(), realName)).collect(
+          Collectors.toList());
+
+    }
+
+    List<Map<String, Object>> collect = range.stream().map(u -> {
+      Map<String, Object> map = new HashMap<>(3);
+      map.put("userId", u.getUserId());
+      map.put("realName", u.getRealname());
+      map.put("username", u.getUsername());
+      return map;
+    }).collect(Collectors.toList());
+
+    return R.ok(collect);
   }
 }

+ 31 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/manager/TaskManager.java

@@ -71,6 +71,9 @@ public final class TaskManager {
       endTime = LocalDateTime.of(query.getCreateTime(), LocalTime.MAX);
     }
 
+    // 获取产品信息
+    List<String> skuIds = getSkuIds(query.getMahName(), query.getSkuId());
+
     Page<TaskRespVO.ToDirectCheck> page = new Page<>(query.getCurrent(), query.getSize());
 
     taskMapper.pageDirectCheck(
@@ -81,6 +84,7 @@ public final class TaskManager {
         endTime,
         query.getTaskTypeId(),
         vendorList,
+        skuIds,
         query.getSalesId(),
         query.getProvAbbr(),
         query.getNodeId());
@@ -88,6 +92,33 @@ public final class TaskManager {
     return build(page);
   }
 
+  // 获取关联产品
+  private List<String> getSkuIds(String mahName, String skuId) {
+
+    if (StrUtil.isNotBlank(skuId)) {
+      return Collections.singletonList(skuId);
+    }
+
+    if (StrUtil.isNotBlank(mahName)) {
+      List<WmDaDrugEntDrugtable> range =
+          redisTemplate.opsForList().range(CacheConstants.DRUG_KEY, 0, -1);
+
+      if (CollUtil.isNotEmpty(range)) {
+        List<String> collect =
+            range.stream()
+                .filter(drugtable -> StrUtil.equals(drugtable.getDrugEntName(), mahName))
+                .map(WmDaDrugEntDrugtable::getId)
+                .distinct()
+                .sorted()
+                .collect(Collectors.toList());
+
+        return collect;
+      }
+    }
+
+    return Collections.emptyList();
+  }
+
   // 组装数据
   private Page<TaskRespVO.ToDirectCheck> build(Page<TaskRespVO.ToDirectCheck> page) {
 

+ 1 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/mapper/WmTaskV2Mapper.java

@@ -27,6 +27,7 @@ public interface WmTaskV2Mapper extends BaseMapper<WmTask> {
       @Param("taskEndTime") LocalDateTime taskEndTime,
       @Param("taskTypeId") String taskTypeId,
       @Param("vendorIds") List<Integer> vendorIds,
+      @Param("skuIds") List<String> skuIds,
       @Param("salesId") Integer salesId,
       @Param("prov") String prov,
 //      @Param("taskIds") List<Integer> taskIds,

+ 9 - 3
hnqz-upms/hnqz-upms-biz/src/main/resources/mapper/WmTaskV2Mapper.xml

@@ -18,9 +18,9 @@
     <result property="pkgEndTime" column="end_time"/>
     <result property="provAbbr" column="prov_abbr"/>
     <result property="skuId" column="drugtable"/>
-<!--    <collection property="checkHistoryList" javaType="java.util.ArrayList" ofType="map"-->
-<!--      select="com.qunzhixinxi.hnqz.admin.mapper.SysCheckChainNodeCheckHistoryMapper.getTaskCheckHis"-->
-<!--      column="id"/>-->
+    <!--    <collection property="checkHistoryList" javaType="java.util.ArrayList" ofType="map"-->
+    <!--      select="com.qunzhixinxi.hnqz.admin.mapper.SysCheckChainNodeCheckHistoryMapper.getTaskCheckHis"-->
+    <!--      column="id"/>-->
   </resultMap>
 
 
@@ -60,6 +60,12 @@
           #{vid}
         </foreach>
       </if>
+      <if test="skuIds != null and skuIds.size > 0">
+        AND pkg.drugtable IN
+        <foreach collection="skuIds" item="skuId" open="(" close=")" separator=",">
+          #{skuId}
+        </foreach>
+      </if>
       <if test="taskTypeId != null and taskTypeId != ''">
         AND t.task_type_id = #{taskTypeId}
       </if>