瀏覽代碼

2024年7月19日16:52:36

纪新园 1 年之前
父節點
當前提交
0b33147310

+ 2 - 0
ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDictDataMapper.java

@@ -117,4 +117,6 @@ public interface SysDictDataMapper {
     String selectDictLabels(@Param("dictType")String dictType, @Param("dictValues")String dictValues);
 
     SysDictData getOne(SysDictData sysDictData);
+
+    List<SysDictData> selectList(@Param("type")String type);
 }

+ 12 - 7
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictDataServiceImpl.java

@@ -10,7 +10,7 @@ import com.ruoyi.system.service.ISysDictDataService;
 
 /**
  * 字典 业务层处理
- * 
+ *
  * @author ruoyi
  */
 @Service
@@ -21,7 +21,7 @@ public class SysDictDataServiceImpl implements ISysDictDataService
 
     /**
      * 根据条件分页查询字典数据
-     * 
+     *
      * @param dictData 字典数据信息
      * @return 字典数据集合信息
      */
@@ -33,7 +33,7 @@ public class SysDictDataServiceImpl implements ISysDictDataService
 
     /**
      * 根据字典类型和字典键值查询字典数据信息
-     * 
+     *
      * @param dictType 字典类型
      * @param dictValue 字典键值
      * @return 字典标签
@@ -73,9 +73,14 @@ public class SysDictDataServiceImpl implements ISysDictDataService
         return dictDataMapper.getDictLabelMultipleChoice(dictType, dictValue);
     }
 
+    @Override
+    public List<SysDictData> selectList(String type) {
+        return dictDataMapper.selectList(type);
+    }
+
     /**
      * 根据字典数据ID查询信息
-     * 
+     *
      * @param dictCode 字典数据ID
      * @return 字典数据
      */
@@ -87,7 +92,7 @@ public class SysDictDataServiceImpl implements ISysDictDataService
 
     /**
      * 批量删除字典数据信息
-     * 
+     *
      * @param dictCodes 需要删除的字典数据ID
      * @return 结果
      */
@@ -104,7 +109,7 @@ public class SysDictDataServiceImpl implements ISysDictDataService
 
     /**
      * 新增保存字典数据信息
-     * 
+     *
      * @param dictData 字典数据信息
      * @return 结果
      */
@@ -121,7 +126,7 @@ public class SysDictDataServiceImpl implements ISysDictDataService
 
     /**
      * 修改保存字典数据信息
-     * 
+     *
      * @param dictData 字典数据信息
      * @return 结果
      */

+ 5 - 1
ruoyi-system/src/main/resources/mapper/system/SysDictDataMapper.xml

@@ -114,6 +114,10 @@
             </if>
         </where>
     </select>
+    <select id="selectList" resultMap="SysDictDataResult">
+        <include refid="selectDictDataVo"/>
+        where  dict_type = #{type}
+    </select>
 
     <delete id="deleteDictDataById" parameterType="Long">
         delete
@@ -180,4 +184,4 @@
         )
     </insert>
 
-</mapper> 
+</mapper>

+ 23 - 4
ruoyi-warehouse/src/main/java/com/ruoyi/basicData/service/impl/TWarehouseServiceImpl.java

@@ -15,6 +15,7 @@ import com.ruoyi.basicData.service.ITWarehouseService;
 import com.ruoyi.common.constant.UserConstants;
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.core.domain.TreeSelect;
+import com.ruoyi.common.core.domain.entity.SysDictData;
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.core.domain.entity.TWarehouse;
 import com.ruoyi.common.core.domain.entity.TWarehouseImport;
@@ -155,13 +156,31 @@ public class TWarehouseServiceImpl implements ITWarehouseService {
         annex.setfActid(AnnexActEnum.WAREHOUSE.getType());
         List<TAnnex> annexList = annexMapper.selectListByPId(annex);
         List<WarehouseInfoVO> tWarehouseList = new ArrayList<>();
+        List<SysDictData> fPropertiesList = sysDictDataService.selectList("warehouse_properties");
+        List<SysDictData> fTypeList = sysDictDataService.selectList("warehouse_type");
+        List<SysDictData> fGoodsTypeList = sysDictDataService.selectList("data_goods_category");
         for (TWarehouse tWarehouse1 : list) {
             WarehouseInfoVO warehouseInfoVO = new WarehouseInfoVO();
             BeanUtils.copyProperties(tWarehouse1, warehouseInfoVO);
-            warehouseInfoVO.setfProperties(sysDictDataService.selectDictLabel("warehouse_properties", tWarehouse1.getfProperties()));
-            warehouseInfoVO.setfType(sysDictDataService.selectDictLabel("warehouse_type", tWarehouse1.getfType()));
-            warehouseInfoVO.setfGoodsType(sysDictDataService.selectDictLabels("data_goods_category", tWarehouse1.getfGoodsType()));
-            if (ObjectUtils.isNotNull(annexList) && annexList.size() > 0) {
+            if (!fPropertiesList.isEmpty() && ObjectUtils.isNotNull(tWarehouse1.getfProperties())){
+                List<SysDictData> fProperties = fPropertiesList.stream().filter(e-> tWarehouse1.getfProperties().contains(e.getDictLabel())).collect(Collectors.toList());
+                if (!fProperties.isEmpty()){
+                    warehouseInfoVO.setfProperties(fProperties.stream().map(SysDictData::getDictLabel).collect(Collectors.joining(",")));
+                }
+            }
+            if (!fTypeList.isEmpty() && ObjectUtils.isNotNull(tWarehouse1.getfType())){
+                List<SysDictData> fType = fTypeList.stream().filter(e-> tWarehouse1.getfType().contains(e.getDictLabel())).collect(Collectors.toList());
+                if (!fType.isEmpty()){
+                    warehouseInfoVO.setfType(fType.stream().map(SysDictData::getDictLabel).collect(Collectors.joining(",")));
+                }
+            }
+            if (!fGoodsTypeList.isEmpty() && ObjectUtils.isNotNull(tWarehouse1.getfGoodsType())){
+                List<SysDictData> fGoodsType = fGoodsTypeList.stream().filter(e-> tWarehouse1.getfGoodsType().contains(e.getDictLabel())).collect(Collectors.toList());
+                if (!fGoodsType.isEmpty()){
+                    warehouseInfoVO.setfGoodsType(fGoodsType.stream().map(SysDictData::getDictLabel).collect(Collectors.joining(",")));
+                }
+            }
+            if (ObjectUtils.isNotNull(annexList) && !annexList.isEmpty()) {
                 warehouseInfoVO.setAnnexList(annexList.stream().filter(e -> ObjectUtils.isNotNull(e.getfPid()) && e.getfPid().equals(tWarehouse1.getfId())).collect(Collectors.toList()));
             }
             tWarehouseList.add(warehouseInfoVO);