zs
2025-05-06 2fd8242a14241beba63e71c6f4222b702f0e2f30
wwww
已添加3个文件
已修改12个文件
307 ■■■■ 文件已修改
CommonDLL/CmsQueryExtensions.dll 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsAreas/WmsAreaDto.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsEnumAppService.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsEnumAppService.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialStockAppService.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/server/src/CMS.Plugin.HIAWms.Domain.Shared/CMS.Plugin.HIAWms.Domain.Shared.csproj 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/server/src/CMS.Plugin.HIAWms.Domain.Shared/Enums/YesNoEnum.cs 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/server/src/CMS.Plugin.HIAWms.Domain.Shared/Util/ExportHelper.cs 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/web/src/widgets/WmsTask/Controllers/WmsTaskDrawer.tsx 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/web/src/widgets/WmsTask/Views/Pages/WmsTask/WmsTask.tsx 58 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Weben_CMS专用代码生成器/Code/Templete/AppService/AppService模板.txt 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Weben_CMS专用代码生成器/Code/Templete/Entity/Dto模板.txt 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/queryExtensions/CmsQueryExtensions/Utils/EnumHelper.cs 77 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/queryExtensions/CmsQueryExtensions/Utils/ExportHelper.cs 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/queryExtensions/CmsQueryExtensions/Utils/GetEnumDescriptionUtil.cs 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CommonDLL/CmsQueryExtensions.dll
Binary files differ
HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsAreas/WmsAreaDto.cs
@@ -1,4 +1,5 @@
using CMS.Plugin.HIAWms.Domain.Shared.Enums;
using CmsQueryExtensions;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Domain.Entities;
HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsEnumAppService.cs
@@ -1,6 +1,7 @@
using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsEnumDto;
using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsStores;
using CMS.Plugin.HIAWms.Domain.Shared.Util;
using CmsQueryExtensions;
using System;
using System.Collections.Generic;
using System.Linq;
HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsEnumAppService.cs
@@ -1,10 +1,10 @@
using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsEnumDto;
using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsStores;
using CMS.Plugin.HIAWms.Application.Contracts.Services;
using CMS.Plugin.HIAWms.Domain.Shared.Util;
using CMS.Plugin.HIAWms.Domain.WmsAreas;
using CMS.Plugin.HIAWms.Domain.WmsPlaces;
using CMS.Plugin.HIAWms.Domain.WmsStores;
using CmsQueryExtensions;
using System;
using System.Collections.Generic;
using System.Linq;
HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialStockAppService.cs
@@ -1,21 +1,19 @@
using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterialStocks;
using CMS.Plugin.HIAWms.Application.Contracts.Services;
using CMS.Plugin.HIAWms.Domain.WmsMaterialStocks;
using CMS.Plugin.HIAWms.Domain.Shared;
using CMS.Plugin.HIAWms.Domain.Shared.WmsMaterialStocks;
using CMS.Plugin.HIAWms.Domain.WmsAreas;
using CMS.Plugin.HIAWms.Domain.WmsContainers;
using CMS.Plugin.HIAWms.Domain.WmsMaterials;
using CMS.Plugin.HIAWms.Domain.WmsMaterialStocks;
using CMS.Plugin.HIAWms.Domain.WmsPlaces;
using CmsQueryExtensions;
using Microsoft.Extensions.DependencyInjection;
using System.Text.Json;
using Volo.Abp;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Data;
using Volo.Abp.ObjectExtending;
using CMS.Plugin.HIAWms.Domain.Shared.Util;
using CMS.Plugin.HIAWms.Domain.WmsMaterials;
using CMS.Plugin.HIAWms.Domain.WmsContainers;
using CMS.Plugin.HIAWms.Domain.WmsPlaces;
using CMS.Plugin.HIAWms.Domain.WmsAreas;
using Volo.Abp.Uow;
using Microsoft.Extensions.DependencyInjection;
using NPOI.POIFS.Storage;
using System.Text.Json;
namespace CMS.Plugin.HIAWms.Application.Implements;
HIAWms/server/src/CMS.Plugin.HIAWms.Domain.Shared/CMS.Plugin.HIAWms.Domain.Shared.csproj
@@ -21,8 +21,18 @@
    </ItemGroup>
    <ItemGroup>
      <Compile Remove="Util\EnumHelper.cs" />
      <Compile Remove="Util\ExportHelper.cs" />
      <Compile Remove="Util\GetEnumDescriptionUtil.cs" />
    </ItemGroup>
    <ItemGroup>
        <PackageReference Include="System.ComponentModel.Annotations" Version="5.0.0" />
        <PackageReference Include="Microsoft.Extensions.FileProviders.Embedded" Version="6.0.20" />
    </ItemGroup>
    <ItemGroup>
      <Folder Include="Util\" />
    </ItemGroup>
</Project>
HIAWms/server/src/CMS.Plugin.HIAWms.Domain.Shared/Enums/YesNoEnum.cs
@@ -14,15 +14,16 @@
    public enum YesNoEnum
    {
        /// <summary>
        /// å¦
        /// </summary>
        [Description("否")]
        N = 0,
        /// <summary>
        /// æ˜¯
        /// </summary>
        [Description("是")]
        Y = 1,
        /// <summary>
        /// å¦
        /// </summary>
        [Description("否")]
        N = 2
    }
}
HIAWms/server/src/CMS.Plugin.HIAWms.Domain.Shared/Util/ExportHelper.cs
@@ -12,6 +12,14 @@
    /// </summary>
    public static class ExportHelper
    {
        // æ‰¹é‡è½¬æ¢æ–¹æ³•
        public static List<Dictionary<string, object>> ConvertListToExportData<T>(IEnumerable<T> list)
        {
            return list.Select(ConvertToExportData).ToList();
        }
        // é€šç”¨è½¬æ¢æ–¹æ³•(兼容 Func<T, Dictionary<string, object>>)
        public static Dictionary<string, object> ConvertToExportData<T>(T entity)
        {
@@ -24,12 +32,6 @@
                dict[prop.Name] = FormatValue(value);
            }
            return dict;
        }
        // æ‰¹é‡è½¬æ¢æ–¹æ³•
        public static List<Dictionary<string, object>> ConvertListToExportData<T>(IEnumerable<T> list)
        {
            return list.Select(ConvertToExportData).ToList();
        }
        private static object FormatValue(object value)
@@ -47,13 +49,5 @@
            return value;
        }
        private static string GetEnumDescription(Enum value)
        {
            var fieldInfo = value.GetType().GetField(value.ToString());
            var description = fieldInfo?
                .GetCustomAttributes(typeof(DescriptionAttribute), false)
                .FirstOrDefault() as DescriptionAttribute;
            return description?.Description ?? value.ToString();
        }
    }
}
HIAWms/web/src/widgets/WmsTask/Controllers/WmsTaskDrawer.tsx
@@ -86,14 +86,14 @@
                   //disabled: disabled, 
                   placeholder: '请输入下个任务是否生成成功', 
                }, 
                {
                   label: 'WCS是否可以读取',
                   prop: 'isRead',
                   el: 'select',
                   //disabled: disabled,
                   placeholder: '请输入WCS是否可以读取',
              rules: [{required: true, message: 'WCS是否可以读取不能为空', trigger: 'blur' }],
                },
    //   {
    //      label: 'WCS是否可以读取',
    //      prop: 'isRead',
    //      el: 'select',
    //      //disabled: disabled,
    //      placeholder: '请输入WCS是否可以读取',
    // rules: [{required: true, message: 'WCS是否可以读取不能为空', trigger: 'blur' }],
    //   },
                { 
                   label: '可变变量1', 
                   prop: 'mutableParam1', 
@@ -141,7 +141,9 @@
                   prop: 'taskDodeviceStatus', 
                   //disabled: disabled, 
                   placeholder: '请输入设备任务状态', 
              rules: [{required: true, message: '设备任务状态不能为空', trigger: 'blur' }],
      rules: [
        { required: true, message: '设备任务状态不能为空', trigger: 'blur' },
      ],
                }, 
                { 
                   label: '任务等级', 
@@ -277,7 +279,6 @@
 EnumName: 'SonTaskTypeEnum', 
}) 
updateFormItemOptions('sonTaskType', sonTaskTypeEnumEnum) 
  } 
  commonQueryEnumForFrom() 
  /** 
HIAWms/web/src/widgets/WmsTask/Views/Pages/WmsTask/WmsTask.tsx
@@ -10,9 +10,7 @@
import { columns } from './Config' 
import TdButton from '@/components/TdButton/TdButton' 
import { vPermission } from '@/libs/Permission/Permission' 
import {
  getWmsEnumData
} from '@/widgets/WmsTask/Models/Service/WmsTaskDrawer'
import { getWmsEnumData } from '@/widgets/WmsTask/Models/Service/WmsTaskDrawer'
import { 
  ElInput, 
  ElSelect, 
@@ -63,18 +61,15 @@
    } = useWmsTask(props, ctx) 
 
    //定义高级查询引用 
   const wmsTaskQueryDrawerRef=ref(null);
    const wmsTaskQueryDrawerRef = ref(null)
    // æ–°å¢žçš„æŸ¥è¯¢æ¡ä»¶ 
    const queryForm = ref({ 
      searchVal: '', 
      str_searchFormInputAttrs:[]
      str_searchFormInputAttrs: [],
    }) 
    //定义整体模糊查询的列数组(注意:必须大小写跟后端的实体类属性名一致,否则会导致匹配不对的问题) 
    const _searchFormInputAttrs = ref([
     'TaskNo', 'ContainerNo'
    ]);
    const searchFormInputAttrs_Placeholder = ref('请输入任务编码/托盘编码');
    const _searchFormInputAttrs = ref(['TaskNo', 'ContainerNo'])
    const searchFormInputAttrs_Placeholder = ref('请输入任务编码/托盘编码')
 
    // åŠ¨æ€æžšä¸¾é€‰é¡¹ 
    const enumOptions = reactive({ 
@@ -107,7 +102,6 @@
  label: item.description, 
  value: item.value, 
})) 
      } catch (error) { 
        console.error('获取枚举数据失败:', error) 
      } 
@@ -119,40 +113,45 @@
    }) 
 
    // å®šä¹‰å“åº”式查询数据 
    const _curHighQueryData = ref({ searchVal: '',str_searchFormInputAttrs:[] });
    const _curHighQueryData = ref({
      searchVal: '',
      str_searchFormInputAttrs: [],
    })
    // æ–°ç‰ˆçš„æŸ¥è¯¢æ–¹æ³•(主页面中的按钮【查询】) 
    const handleQueryForMain = async () => { 
      _curHighQueryData.value.searchVal = queryForm.value.searchVal;
      _curHighQueryData.value.str_searchFormInputAttrs = _searchFormInputAttrs.value;
      _curHighQueryData.value.searchVal = queryForm.value.searchVal
      _curHighQueryData.value.str_searchFormInputAttrs =
        _searchFormInputAttrs.value
      tableRef.value.getList(_curHighQueryData.value) 
    } 
    // æ–°ç‰ˆçš„æŸ¥è¯¢æ–¹æ³•(高级查询中的按钮【查询】) 
    const handleQuery = async (extraParams = {}) => { 
      let filteredData = commonGetHighQueryForm(extraParams);
      commonSaveCurHighQueryData(filteredData);
      let filteredData = commonGetHighQueryForm(extraParams)
      commonSaveCurHighQueryData(filteredData)
      tableRef.value.getList(filteredData) 
    } 
    // æ–°ç‰ˆçš„æŸ¥è¯¢é‡ç½® 
    const resetQuery = () => { 
      queryForm.value.searchVal = '' 
      queryForm.value.str_searchFormInputAttrs=_searchFormInputAttrs.value;
      queryForm.value.str_searchFormInputAttrs = _searchFormInputAttrs.value
    } 
     //新版的导出方法 
     const handleExport=()=>{ 
      onExport(_curHighQueryData.value);
      onExport(_curHighQueryData.value)
    } 
    // æ–°ç‰ˆçš„æŸ¥è¯¢å¼¹å‡ºæ¡†å…³é—­æ–¹æ³• 
    const closeQuery = (extraParams={}) => { 
      let filteredData = commonGetHighQueryForm(extraParams);
      console.log("closeQuery方法");
      console.log(filteredData);
      commonSaveCurHighQueryData(filteredData);
      let filteredData = commonGetHighQueryForm(extraParams)
      console.log('closeQuery方法')
      console.log(filteredData)
      commonSaveCurHighQueryData(filteredData)
    } 
    //保存查询值 
    const commonSaveCurHighQueryData=(filteredData={})=>{ 
      _curHighQueryData.value = { ..._curHighQueryData.value, ...filteredData };
      _curHighQueryData.value = { ..._curHighQueryData.value, ...filteredData }
      _curHighQueryData.value.searchVal = queryForm.value.searchVal 
      _curHighQueryData.value.str_searchFormInputAttrs =_searchFormInputAttrs.value;
      _curHighQueryData.value.str_searchFormInputAttrs =
        _searchFormInputAttrs.value
    } 
     //获取高级查询弹出框的查询值 
     const commonGetHighQueryForm=(extraParams={})=>{ 
@@ -165,10 +164,9 @@
      ) 
      //组合模糊查询 
      filteredData.searchVal = queryForm.value.searchVal 
      filteredData.str_searchFormInputAttrs =_searchFormInputAttrs.value;
      return filteredData;
      filteredData.str_searchFormInputAttrs = _searchFormInputAttrs.value
      return filteredData
    } 
 
    /** 
     * @returns è¡¨æ ¼ 
@@ -294,7 +292,11 @@
                  class={styles.formItem} 
                /> 
              </ElFormItem> 
              <IconButton type="primary" icon="search" onClick={handleQueryForMain}>
              <IconButton
                type="primary"
                icon="search"
                onClick={handleQueryForMain}
              >
                æŸ¥è¯¢ 
              </IconButton> 
              {/* <IconButton style="" icon="refresh" onClick={resetQuery}> 
Weben_CMSרÓôúÂëÉú³ÉÆ÷/Code/Templete/AppService/AppServiceÄ£°å.txt
@@ -1,7 +1,7 @@
using CMS.Plugin.$NameSpacePath$.Application.Contracts.Dtos.$EntityName$;
using CMS.Plugin.$NameSpacePath$.Application.Contracts.Services;
using CMS.Plugin.$NameSpacePath$.Domain.Shared;
using CMS.Plugin.$NameSpacePath$.Domain.Shared.Util;
using CmsQueryExtensions;
using CMS.Plugin.$NameSpacePath$.Domain.$EntityName$;
using CmsQueryExtensions.Extension;
using System.Linq.Expressions;
Weben_CMSרÓôúÂëÉú³ÉÆ÷/Code/Templete/Entity/DtoÄ£°å.txt
@@ -1,4 +1,5 @@
using CMS.Plugin.$NameSpacePath$.Domain.Shared.Enums;
using CmsQueryExtensions;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Data;
using Volo.Abp.Domain.Entities;
Weben_CMSרÓôúÂëÉú³ÉÆ÷/Weben_CMS_TemplateDemo/queryExtensions/CmsQueryExtensions/Utils/EnumHelper.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,77 @@
using System.ComponentModel;
namespace CmsQueryExtensions
{
    /// <summary>
    /// æžšä¸¾å¸®åŠ©ç±».
    /// </summary>
    public static class EnumHelper
    {
        /// <summary>
        /// èŽ·å–æžšä¸¾.
        /// </summary>
        /// <param name="enumName"> </param>
        /// <returns></returns>
        /// <exception cref="ArgumentException"></exception>
        public static List<EnumItem> GetEnumItems(string enumName)
        {
            // èŽ·å–å½“å‰ç¨‹åºé›†ä¸­çš„æ‰€æœ‰ç±»åž‹
            var enumType = AppDomain.CurrentDomain.GetAssemblies()
                .SelectMany(a => a.GetTypes())
                .FirstOrDefault(t => t.Name == enumName && t.IsEnum);
            if (enumType == null)
            {
                throw new Exception($"枚举类型 {enumName} ä¸å­˜åœ¨");
            }
            return GetEnumItems(enumType);
        }
        /// <summary>
        /// èŽ·å–æžšä¸¾ç±»åž‹.
        /// </summary>
        /// <param name="enumType"></param>
        /// <returns></returns>
        /// <exception cref="ArgumentException"></exception>
        public static List<EnumItem> GetEnumItems(Type enumType)
        {
            if (!enumType.IsEnum)
            {
                throw new Exception("提供的类型不是枚举类型");
            }
            var result = new List<EnumItem>();
            var values = Enum.GetValues(enumType);
            foreach (var value in values)
            {
                var fieldInfo = enumType.GetField(value.ToString());
                var description = fieldInfo?
                    .GetCustomAttributes(typeof(DescriptionAttribute), false)
                    .FirstOrDefault() as DescriptionAttribute;
                result.Add(new EnumItem
                {
                    Value = (int)value,
                    Name = value.ToString(),
                    Description = description?.Description ?? value.ToString(),
                });
            }
            return result;
        }
    }
    /// <summary>
    /// æžšä¸¾æè¿°.
    /// </summary>
    public class EnumItem
    {
        public int Value { get; set; }
        public string Name { get; set; }
        public string Description { get; set; }
    }
}
Weben_CMSרÓôúÂëÉú³ÉÆ÷/Weben_CMS_TemplateDemo/queryExtensions/CmsQueryExtensions/Utils/ExportHelper.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,53 @@
using System;
using System.Collections.Generic;
using System.Collections.Generic;
using System.ComponentModel;
using System.Reflection;
using System.Threading.Tasks;
namespace CmsQueryExtensions
{
    /// <summary>
    /// å¯¼å‡ºå¸®åŠ©ç±».
    /// </summary>
    public static class ExportHelper
    {
        // æ‰¹é‡è½¬æ¢æ–¹æ³•
        public static List<Dictionary<string, object>> ConvertListToExportData<T>(IEnumerable<T> list)
        {
            return list.Select(ConvertToExportData).ToList();
        }
        // é€šç”¨è½¬æ¢æ–¹æ³•(兼容 Func<T, Dictionary<string, object>>)
        public static Dictionary<string, object> ConvertToExportData<T>(T entity)
        {
            var dict = new Dictionary<string, object>();
            if (entity == null) return dict;
            foreach (var prop in typeof(T).GetProperties())
            {
                var value = prop.GetValue(entity);
                dict[prop.Name] = FormatValue(value);
            }
            return dict;
        }
        private static object FormatValue(object value)
        {
            if (value == null) return string.Empty;
            // å¤„理枚举
            if (value is Enum enumValue)
                return GetEnumDescriptionUtil.GetEnumDescription(enumValue);
            // å¤„理布尔
            if (value is bool boolValue)
                return boolValue ? "是" : "否";
            return value;
        }
    }
}
Weben_CMSרÓôúÂëÉú³ÉÆ÷/Weben_CMS_TemplateDemo/queryExtensions/CmsQueryExtensions/Utils/GetEnumDescriptionUtil.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,30 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
namespace CmsQueryExtensions
{
    public class GetEnumDescriptionUtil
    {
        /// <summary>
        /// èŽ·å–æžšä¸¾çš„æè¿°
        /// </summary>
        /// <param name="enumValue"></param>
        /// <returns></returns>
        public static string GetEnumDescription(Enum enumValue)
        {
            string value = enumValue.ToString();
            if (string.IsNullOrWhiteSpace(value) || value == "0") return "";
            FieldInfo field = enumValue.GetType().GetField(value);
            object[] objs = field.GetCustomAttributes(typeof(DescriptionAttribute), false);  //获取描述属性
            if (objs == null || objs.Length == 0)  //当描述属性没有时,直接返回名称
                return value;
            DescriptionAttribute descriptionAttribute = (DescriptionAttribute)objs[0];
            return descriptionAttribute.Description;
        }
    }
}