浏览代码

add 资源新增非空物资条件

459242451@qq.com 3 年之前
父节点
当前提交
dbf7ab36f0

+ 11 - 1
ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhdd/ResourceController.java

@@ -1,6 +1,7 @@
 package com.ruoyi.web.controller.zhdd;
 
 import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.http.HttpStatus;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -73,13 +74,22 @@ public class ResourceController extends BaseController {
     @GetMapping("/list")
     @Security
     public TableDataInfo<ResourceVo> list(@Validated(QueryGroup.class) ResourceBo bo) {
+        if (bo.getResourceType() != null && bo.getResourceType() == 1 && StrUtil.equals(bo.getNotNullFlag(), "1")) {
+            // 查询存在物资的仓库
+            List<Object> resourceIdExist = iResourceDetailService.queryExistResourceId();
+            bo.setResourceIds(resourceIdExist);
+        }
         if (bo.getResourceType() != null && bo.getResourceType() == 1 && StrUtil.isNotBlank(bo.getGoodsName())) {
             // 模糊查询有哪些仓库存在此物资
             List<Object> objects = iResourceDetailService.listObjs(new QueryWrapper<ResourceDetail>()
                 .select("distinct resource_id")
                 .like("name", bo.getGoodsName()));
             if (objects != null && objects.size() > 0) {
-                bo.setResourceIds(objects);
+                if (ObjectUtil.isNotEmpty(bo.getResourceIds())) {
+                    bo.setResourceIds(CollUtil.list(false, CollUtil.intersection(bo.getResourceIds(), objects)));
+                } else {
+                    bo.setResourceIds(objects);
+                }
             } else {
                 TableDataInfo<ResourceVo> rspData = new TableDataInfo<>();
                 rspData.setCode(HttpStatus.HTTP_OK);

+ 3 - 0
ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/domain/bo/ResourceBo.java

@@ -146,4 +146,7 @@ public class ResourceBo extends BaseEntity {
     private String goodsName;
 
     private List<Object> resourceIds;
+
+    // 等于1的情况下,查询存在物资的仓库
+    private String notNullFlag;
 }

+ 2 - 0
ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/mapper/ResourceDetailMapper.java

@@ -19,4 +19,6 @@ public interface ResourceDetailMapper extends BaseMapperPlus<ResourceDetail> {
     List<Resource> searchWarehouseByGoods(ResourceDetailBo bo);
 
     List<JSONObject> queryResourceAvailable(List<String> resourceId);
+
+    List<Object> queryExistResourceId();
 }

+ 2 - 0
ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/service/IResourceDetailService.java

@@ -63,4 +63,6 @@ public interface IResourceDetailService extends IServicePlus<ResourceDetail, Res
     List<ResourceVo> searchWarehouseByGoods(ResourceDetailBo bo);
 
     List<JSONObject> queryResourceAvailable(String id);
+
+    List<Object> queryExistResourceId();
 }

+ 9 - 0
ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/service/impl/ResourceDetailServiceImpl.java

@@ -145,4 +145,13 @@ public class ResourceDetailServiceImpl extends ServicePlusImpl<ResourceDetailMap
         return baseMapper.queryResourceAvailable(collect);
     }
 
+    /**
+     * 查询存在物资的仓库ids
+     *
+     * @return
+     */
+    @Override
+    public List<Object> queryExistResourceId() {
+        return baseMapper.queryExistResourceId();
+    }
 }

+ 8 - 0
ruoyi-zhdd/src/main/resources/mapper/zhdd/ResourceDetailMapper.xml

@@ -52,4 +52,12 @@
         group by name, unit
     </select>
 
+    <select id="queryExistResourceId" resultType="java.lang.Object">
+        select resource_id
+        from b_resource_detail
+        where del_flag = '0'
+          and resource_id in (select id from b_resource where resource_type = 1)
+        group by resource_id
+    </select>
+
 </mapper>