payne
2024-04-24 b8055e2fb3c84d32f01c2f6dc4d8bde4536c6f04
修改
已修改8个文件
1507 ■■■■ 文件已修改
iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsMaterial/tabForm.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsMaterial/Dto/WmsMaterialInput.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsMaterial/WmsMaterialService.cs 709 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsPlace/Dto/WmsPlaceInput.cs 118 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsPlace/WmsPlaceService.cs 93 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iWare_RawMaterialWarehouse_Wms/Admin.NET.Core/Entity/WmsBase/WmsPlace.cs 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsMaterialImport.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
使用文档/PDManer文件/原材料库标准化.pdma.json 507 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsMaterial/tabForm.vue
@@ -242,7 +242,7 @@
          var param = {
            MaterialInput: values,
            ControlRuleld: ControlRuleld, //控制属性
            SubstituteGoodLis: this.$refs.addFormWmsSubstituteGoodRef.list, //替代品
            SubstituteGoodList: this.$refs.addFormWmsSubstituteGoodRef.list, //替代品
            BaseCustomerList: this.$refs.addFormBaseCustomer.list, //客户档案集合
            ContainerPackagingList: this.$refs.addFormContainerPackagingRef.list //包装关系
          }
iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsMaterial/Dto/WmsMaterialInput.cs
@@ -50,11 +50,13 @@
        /// </summary>
        public virtual string ABCClassName { get; set; }
        
        /// <summary>
        /// ABC分类
        /// </summary>
        public virtual int? ABCClass { get; set; }
        public virtual Admin.NET.Core.ABCClassEnum? ABCClass { get; set; }
        /// <summary>
        /// ç‰©æ–™è§„æ ¼
        /// </summary>
@@ -181,12 +183,12 @@
        /// ABC分类名称
        /// </summary>
        public virtual string ABCClassName { get; set; }
        /// <summary>
        /// ABC分类
        /// </summary>
        public virtual int? ABCClass { get; set; }
        public virtual Admin.NET.Core.ABCClassEnum? ABCClass { get; set; }
        /// <summary>
        /// ç‰©æ–™è§„æ ¼
        /// </summary>
iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsMaterial/WmsMaterialService.cs
@@ -45,9 +45,8 @@
            _wmsMaterialCustomerRep = wmsMaterialCustomerRep;
            _wmsSubstituteGoodRep = wmsSubstituteGoodRep;
        }
        /// <summary>
        /// åˆ†é¡µæŸ¥è¯¢ç‰©æ–™ä¿¡æ¯è¡¨
        /// åˆ†é¡µæŸ¥è¯¢ç‰©æ–™ä¿¡æ¯
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
@@ -55,7 +54,7 @@
        public async Task<PageResult<WmsMaterialOutput>> Page([FromQuery] WmsMaterialSearch input)
        {
            var wmsMaterials = await _wmsMaterialRep.DetachedEntities
                                     .Where(!string.IsNullOrEmpty(input.MaterialName), u => EF.Functions.Like(u.MaterialName, $"%{input.MaterialName.Trim()}%"))
                                     .Where(!string.IsNullOrEmpty(input.MaterialName), u => u.MaterialName == input.MaterialName)
                                     .Where(!string.IsNullOrEmpty(input.MaterialCode), u => u.MaterialCode == input.MaterialCode)
                                     .Where(!string.IsNullOrEmpty(input.ErpCode), u => u.ErpCode == input.ErpCode)
                                     .Where(!string.IsNullOrEmpty(input.MaterialTypeName), u => u.MaterialTypeName == input.MaterialTypeName)
@@ -63,7 +62,7 @@
                                     .Where(input.MaterialType != null, u => u.MaterialType == input.MaterialType)
                                     .Where(!string.IsNullOrEmpty(input.MaterialGroup), u => u.MaterialGroup == input.MaterialGroup)
                                     .Where(!string.IsNullOrEmpty(input.ABCClassName), u => u.ABCClassName == input.ABCClassName)
                                     //.Where(input.ABCClass != null, u => u.ABCClass == input.ABCClass)
                                     .Where(input.ABCClass != null, u => u.ABCClass == input.ABCClass)
                                     .Where(!string.IsNullOrEmpty(input.MaterialSpec), u => u.MaterialSpec == input.MaterialSpec)
                                     .Where(!string.IsNullOrEmpty(input.InPlaceCode), u => u.InPlaceCode == input.InPlaceCode)
                                     .Where(!string.IsNullOrEmpty(input.MaterialUnit), u => u.MaterialUnit == input.MaterialUnit)
@@ -76,8 +75,8 @@
                                     .Where(input.ControlRuleId != null, u => u.ControlRuleId == input.ControlRuleId)
                                     .Where(input.IsDisabled != null, u => u.IsDisabled == input.IsDisabled)
                                     .Where(!string.IsNullOrEmpty(input.MaterialDesc), u => u.MaterialDesc == input.MaterialDesc)
                                     .Where(input.CreatedTime!=null, u => u.CreatedTime>=  Convert.ToDateTime(input.CreatedTime[0]) && u.CreatedTime<= Convert.ToDateTime(input.CreatedTime[1]))
                                     .Where(input.UpdatedTime!=null, u => u.UpdatedTime>=  Convert.ToDateTime(input.UpdatedTime[0]) && u.UpdatedTime<= Convert.ToDateTime(input.UpdatedTime[1]))
                                     .Where(input.CreatedTime != null, u => u.CreatedTime >= Convert.ToDateTime(input.CreatedTime[0]) && u.CreatedTime <= Convert.ToDateTime(input.CreatedTime[1]))
                                     .Where(input.UpdatedTime != null, u => u.UpdatedTime >= Convert.ToDateTime(input.UpdatedTime[0]) && u.UpdatedTime <= Convert.ToDateTime(input.UpdatedTime[1]))
                                     .Where(!string.IsNullOrEmpty(input.CreatedUserName), u => u.CreatedUserName == input.CreatedUserName)
                                     .Where(!string.IsNullOrEmpty(input.UpdatedUserName), u => u.UpdatedUserName == input.UpdatedUserName)
                                     .OrderBy(PageInputOrder.OrderBuilder<WmsMaterialSearch>(input))
@@ -87,10 +86,10 @@
        }
        /// <summary>
        /// ä¸åˆ†é¡µæŸ¥è¯¢ç‰©æ–™ä¿¡æ¯è¡¨åˆ—表
        /// ä¸åˆ†é¡µæŸ¥è¯¢ç‰©æ–™ä¿¡æ¯åˆ—表
        /// </summary>
        /// <param name="input">物料信息表查询参数</param>
        /// <returns>(物料信息表)实例列表</returns>
        /// <param name="input">物料信息查询参数</param>
        /// <returns>(物料信息)实例列表</returns>
        [HttpGet("WmsMaterial/listNonPage")]
        public async Task<List<WmsMaterialOutput>> ListNonPageAsync([FromQuery] WmsMaterialSearchNonPage input)
        {
@@ -120,7 +119,7 @@
            var pCreatedUserName = input.CreatedUserName?.Trim() ?? "";
            var pUpdatedUserName = input.UpdatedUserName?.Trim() ?? "";
            var wmsMaterials = await _wmsMaterialRep.DetachedEntities
                .Where(!string.IsNullOrEmpty(pMaterialName), u => EF.Functions.Like(u.MaterialName, $"%{pMaterialName}%"))
                .Where(!string.IsNullOrEmpty(pMaterialName), u => u.MaterialName == pMaterialName)
                .Where(!string.IsNullOrEmpty(pMaterialCode), u => u.MaterialCode == pMaterialCode)
                .Where(!string.IsNullOrEmpty(pErpCode), u => u.ErpCode == pErpCode)
                .Where(!string.IsNullOrEmpty(pMaterialTypeName), u => u.MaterialTypeName == pMaterialTypeName)
@@ -128,7 +127,7 @@
                .Where(pMaterialType != null, u => u.MaterialType == pMaterialType)
                .Where(!string.IsNullOrEmpty(pMaterialGroup), u => u.MaterialGroup == pMaterialGroup)
                .Where(!string.IsNullOrEmpty(pABCClassName), u => u.ABCClassName == pABCClassName)
                //.Where(pABCClass != null, u => u.ABCClass == pABCClass)
                .Where(pABCClass != null, u => u.ABCClass == pABCClass)
                .Where(!string.IsNullOrEmpty(pMaterialSpec), u => u.MaterialSpec == pMaterialSpec)
                .Where(!string.IsNullOrEmpty(pInPlaceCode), u => u.InPlaceCode == pInPlaceCode)
                .Where(!string.IsNullOrEmpty(pMaterialUnit), u => u.MaterialUnit == pMaterialUnit)
@@ -141,8 +140,8 @@
                .Where(pControlRuleId != null, u => u.ControlRuleId == pControlRuleId)
                .Where(pIsDisabled != null, u => u.IsDisabled == pIsDisabled)
                .Where(!string.IsNullOrEmpty(pMaterialDesc), u => u.MaterialDesc == pMaterialDesc)
           .Where(input.CreatedTime!=null, u => u.CreatedTime>=  Convert.ToDateTime(input.CreatedTime[0]) && u.CreatedTime<= Convert.ToDateTime(input.CreatedTime[1]))
           .Where(input.UpdatedTime!=null, u => u.UpdatedTime>=  Convert.ToDateTime(input.UpdatedTime[0]) && u.UpdatedTime<= Convert.ToDateTime(input.UpdatedTime[1]))
           .Where(input.CreatedTime != null, u => u.CreatedTime >= Convert.ToDateTime(input.CreatedTime[0]) && u.CreatedTime <= Convert.ToDateTime(input.CreatedTime[1]))
           .Where(input.UpdatedTime != null, u => u.UpdatedTime >= Convert.ToDateTime(input.UpdatedTime[0]) && u.UpdatedTime <= Convert.ToDateTime(input.UpdatedTime[1]))
                .Where(!string.IsNullOrEmpty(pCreatedUserName), u => u.CreatedUserName == pCreatedUserName)
                .Where(!string.IsNullOrEmpty(pUpdatedUserName), u => u.UpdatedUserName == pUpdatedUserName)
            .OrderBy(PageInputOrder.OrderNonPageBuilder(input))
@@ -151,8 +150,8 @@
            return wmsMaterials;
        }
         /// <summary>
        /// èŽ·å–ç‰©æ–™ä¿¡æ¯è¡¨
        /// <summary>
        /// èŽ·å–ç‰©æ–™ä¿¡æ¯
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
@@ -163,7 +162,7 @@
        }
        /// <summary>
        /// èŽ·å–ç‰©æ–™ä¿¡æ¯è¡¨åˆ—è¡¨
        /// èŽ·å–ç‰©æ–™ä¿¡æ¯åˆ—è¡¨
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
@@ -228,13 +227,18 @@
            await _wmsMaterialRep.InsertAsync(wmsMaterial);
            await _wmsMaterialCustomerRep.InsertAsync(materialCustomerList);
            await _wmsSubstituteGoodRep.InsertAsync(substituteGoodList);
            if (materialCustomerList?.Count > 0)
            {
                await _wmsMaterialCustomerRep.InsertAsync(materialCustomerList);
            }
            if (substituteGoodList?.Count > 0)
            {
                await _wmsSubstituteGoodRep.InsertAsync(substituteGoodList);
            }
        }
        /// <summary>
        /// åˆ é™¤ç‰©æ–™ä¿¡æ¯è¡¨
        /// åˆ é™¤ç‰©æ–™ä¿¡æ¯
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
@@ -243,11 +247,11 @@
        {
            var wmsMaterial = await _wmsMaterialRep.FirstOrDefaultAsync(u => u.Id == input.Id);
            await _wmsMaterialRep.DeleteAsync(wmsMaterial);
        }
        /// <summary>
        /// æ›´æ–°ç‰©æ–™ä¿¡æ¯è¡¨
        /// æ›´æ–°ç‰©æ–™ä¿¡æ¯
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
@@ -259,12 +263,12 @@
            var wmsMaterial = input.Adapt<WmsMaterial>();
            //验证
            await CheckExisit(wmsMaterial,true);
            await CheckExisit(wmsMaterial, true);
            wmsMaterial.UpdatedUserId = SysHelper.GetUserId();
            wmsMaterial.UpdatedUserName = SysHelper.GetUserName();
            wmsMaterial.UpdatedTime = SysHelper.GetNowTime();
            await _wmsMaterialRep.UpdateAsync(wmsMaterial,ignoreNullValues:true);
            await _wmsMaterialRep.UpdateAsync(wmsMaterial, ignoreNullValues: true);
        }
        #endregion
@@ -272,23 +276,23 @@
        #region å¯¼å…¥
        /// <summary>
        /// Excel模板导入物料信息表功能
        /// Excel模板导入物料信息功能
        /// </summary>
        /// <param name="file">Excel模板文件</param>
        /// <returns>导入的记录数</returns>
        [HttpPost("WmsMaterial/importExcel")]
        public async Task<int> ImportExcelAsync(IFormFile file)
        {
        {
            int _HeadStartLine = 2;//第1行是说明,第2行是列名
            int _DataStartLine = 3;//第3行开始是数据
            DataTable importDataTable = ExcelUtil.ImportExcelToDataTable(file, _HeadStartLine, _DataStartLine);
            var addList =await CommonImport(importDataTable, _DataStartLine);
            var addList = await CommonImport(importDataTable, _DataStartLine);
            lock (_lock)
            {
                _wmsMaterialRep.InsertAsync(addList);
            }
            await Task.CompletedTask;
            return addList.Count;
@@ -309,277 +313,278 @@
            {
                index++;
               //导入模版定制化代码(替换模版使用)
                           var addItem = new WmsMaterial()
                            {
                               CreatedTime = SysHelper.GetNowTime(),
                               CreatedUserId = SysHelper.GetUserId(),
                               CreatedUserName = SysHelper.GetUserName(),
                               UpdatedTime = SysHelper.GetNowTime(),
                               UpdatedUserId = SysHelper.GetUserId(),
                               UpdatedUserName = SysHelper.GetUserName()
                             };
                          #region å®šä¹‰å˜é‡
                           var _MaterialName = "";//物料名称
                           var _MaterialCode = "";//物料编号
                           var _ErpCode = "";//ERP编号
                           var _MaterialTypeName = "";//物料类型名称
                           var _MaterialTypeDescr = "";//物料类型描述
                           var _MaterialType = "";//物料类型
                           var _MaterialGroup = "";//物料组
                           var _ABCClassName = "";//ABC分类名称
                           var _ABCClass = "";//ABC分类
                           var _MaterialSpec = "";//物料规格
                           var _InPlaceCode = "";//默认入库库位
                           var _MaterialUnit = "";//库存单位
                           var _POUnit = "";//采购单位
                           var _Color = "";//颜色
                           var _Weight = "";//重量
                           var _SNP = "";//标包数量
                           var _TranslateRate = "";//换算率
                           var _BatchRuleId = "";//批次属性规则
                           var _ControlRuleId = "";//控制属性规则
                           var _IsDisabled = "";//是否禁用
                           var _MaterialDesc = "";//描述
                           var _Id = "";//Id主键
                          #endregion
                          #region å–值
                           _MaterialName = row["物料名称"]?.ToString() ;
                           _MaterialCode = row["物料编号"]?.ToString() ;
                           _ErpCode = row["ERP编号"]?.ToString() ;
                           _MaterialTypeName = row["物料类型名称"]?.ToString() ;
                           _MaterialTypeDescr = row["物料类型描述"]?.ToString() ;
                           _MaterialType = row["物料类型"]?.ToString() ;
                           _MaterialGroup = row["物料组"]?.ToString() ;
                           _ABCClassName = row["ABC分类名称"]?.ToString() ;
                           _ABCClass = row["ABC分类"]?.ToString() ;
                           _MaterialSpec = row["物料规格"]?.ToString() ;
                           _InPlaceCode = row["默认入库库位"]?.ToString() ;
                           _MaterialUnit = row["库存单位"]?.ToString() ;
                           _POUnit = row["采购单位"]?.ToString() ;
                           _Color = row["颜色"]?.ToString() ;
                           _Weight = row["重量"]?.ToString() ;
                           _SNP = row["标包数量"]?.ToString() ;
                           _TranslateRate = row["换算率"]?.ToString() ;
                           _BatchRuleId = row["批次属性规则"]?.ToString() ;
                           _ControlRuleId = row["控制属性规则"]?.ToString() ;
                           _IsDisabled = row["是否禁用"]?.ToString() ;
                           _MaterialDesc = row["描述"]?.ToString() ;
                           _Id = row["Id主键"]?.ToString() ;
                          #endregion
                          #region éªŒè¯
                          if (string.IsNullOrEmpty(_MaterialName))
                          {
                            throw Oops.Oh($"第{index}行[物料名称]{_MaterialName}不能为空!");
                          }
                          if(!string.IsNullOrEmpty(_MaterialName))
                          {
                                addItem.MaterialName = (string)_MaterialName;
                           }
                          if (string.IsNullOrEmpty(_MaterialCode))
                          {
                            throw Oops.Oh($"第{index}行[物料编号]{_MaterialCode}不能为空!");
                          }
                          if(!string.IsNullOrEmpty(_MaterialCode))
                          {
                                addItem.MaterialCode = (string)_MaterialCode;
                           }
                          if(!string.IsNullOrEmpty(_ErpCode))
                          {
                                addItem.ErpCode = (string)_ErpCode;
                           }
                          if(!string.IsNullOrEmpty(_MaterialTypeName))
                          {
                                addItem.MaterialTypeName = (string)_MaterialTypeName;
                           }
                          if(!string.IsNullOrEmpty(_MaterialTypeDescr))
                          {
                                addItem.MaterialTypeDescr = (string)_MaterialTypeDescr;
                           }
                          if(!string.IsNullOrEmpty(_MaterialType))
                          {
                              if (!int.TryParse(_MaterialType, out int outMaterialType)&&!string.IsNullOrEmpty(_MaterialType))
                              {
                                 throw Oops.Oh($"第{index}行[物料类型]{_MaterialType}值不正确!");
                              }
                              if (outMaterialType <= 0&&!string.IsNullOrEmpty(_MaterialType))
                              {
                                 throw Oops.Oh($"第{index}行[物料类型]{_MaterialType}值不能小于等于0!");
                              }
                              else
                              {
                                 addItem.MaterialType = outMaterialType;
                              }
                          }
                          if(!string.IsNullOrEmpty(_MaterialGroup))
                          {
                                addItem.MaterialGroup = (string)_MaterialGroup;
                           }
                          if(!string.IsNullOrEmpty(_ABCClassName))
                          {
                                addItem.ABCClassName = (string)_ABCClassName;
                           }
                          if(!string.IsNullOrEmpty(_ABCClass))
                          {
                              if (!int.TryParse(_ABCClass, out int outABCClass)&&!string.IsNullOrEmpty(_ABCClass))
                              {
                                 throw Oops.Oh($"第{index}行[ABC分类]{_ABCClass}值不正确!");
                              }
                              if (outABCClass <= 0&&!string.IsNullOrEmpty(_ABCClass))
                              {
                                 throw Oops.Oh($"第{index}行[ABC分类]{_ABCClass}值不能小于等于0!");
                              }
                              else
                              {
                                // addItem.ABCClass = outABCClass;
                              }
                          }
                          if(!string.IsNullOrEmpty(_MaterialSpec))
                          {
                                addItem.MaterialSpec = (string)_MaterialSpec;
                           }
                          if(!string.IsNullOrEmpty(_InPlaceCode))
                          {
                                addItem.InPlaceCode = (string)_InPlaceCode;
                           }
                          if(!string.IsNullOrEmpty(_MaterialUnit))
                          {
                                addItem.MaterialUnit = (string)_MaterialUnit;
                           }
                          if(!string.IsNullOrEmpty(_POUnit))
                          {
                                addItem.POUnit = (string)_POUnit;
                           }
                          if(!string.IsNullOrEmpty(_Color))
                          {
                                addItem.Color = (string)_Color;
                           }
                          if(!string.IsNullOrEmpty(_Weight))
                          {
                                addItem.Weight = (string)_Weight;
                           }
                          if(!string.IsNullOrEmpty(_SNP))
                          {
                              if (!decimal.TryParse(_SNP, out decimal outSNP)&&!string.IsNullOrEmpty(_SNP))
                              {
                                 throw Oops.Oh($"第{index}行[标包数量]{_SNP}值不正确!");
                              }
                              if (outSNP <= 0&&!string.IsNullOrEmpty(_SNP))
                              {
                                 throw Oops.Oh($"第{index}行[标包数量]{_SNP}值不能小于等于0!");
                              }
                              else
                              {
                                 addItem.SNP = outSNP;
                              }
                          }
                          if(!string.IsNullOrEmpty(_TranslateRate))
                          {
                              if (!decimal.TryParse(_TranslateRate, out decimal outTranslateRate)&&!string.IsNullOrEmpty(_TranslateRate))
                              {
                                 throw Oops.Oh($"第{index}行[换算率]{_TranslateRate}值不正确!");
                              }
                              if (outTranslateRate <= 0&&!string.IsNullOrEmpty(_TranslateRate))
                              {
                                 throw Oops.Oh($"第{index}行[换算率]{_TranslateRate}值不能小于等于0!");
                              }
                              else
                              {
                                 addItem.TranslateRate = outTranslateRate;
                              }
                          }
                          if(!string.IsNullOrEmpty(_BatchRuleId))
                          {
                              if (!long.TryParse(_BatchRuleId, out long outBatchRuleId)&&!string.IsNullOrEmpty(_BatchRuleId))
                              {
                                 throw Oops.Oh($"第{index}行[批次属性规则]{_BatchRuleId}值不正确!");
                              }
                              if (outBatchRuleId <= 0&&!string.IsNullOrEmpty(_BatchRuleId))
                              {
                                 throw Oops.Oh($"第{index}行[批次属性规则]{_BatchRuleId}值不能小于等于0!");
                              }
                              else
                              {
                                 addItem.BatchRuleId = outBatchRuleId;
                              }
                          }
                          if(!string.IsNullOrEmpty(_ControlRuleId))
                          {
                              if (!long.TryParse(_ControlRuleId, out long outControlRuleId)&&!string.IsNullOrEmpty(_ControlRuleId))
                              {
                                 throw Oops.Oh($"第{index}行[控制属性规则]{_ControlRuleId}值不正确!");
                              }
                              if (outControlRuleId <= 0&&!string.IsNullOrEmpty(_ControlRuleId))
                              {
                                 throw Oops.Oh($"第{index}行[控制属性规则]{_ControlRuleId}值不能小于等于0!");
                              }
                              else
                              {
                                 addItem.ControlRuleId = outControlRuleId;
                              }
                          }
                          if(!string.IsNullOrEmpty(_IsDisabled))
                          {
                            if(!_IsDisabled.Equals("是") && !_IsDisabled.Equals("否"))
                             {
                               throw Oops.Oh($"第{index}行[是否禁用]{_IsDisabled}值不正确!");
                             }
                             else
                             {
                               bool outIsDisabled = _IsDisabled.Equals("是") ? true : false;
                               addItem.IsDisabled = outIsDisabled;
                             }
                             }
                          if(!string.IsNullOrEmpty(_MaterialDesc))
                          {
                                addItem.MaterialDesc = (string)_MaterialDesc;
                           }
                          if(!string.IsNullOrEmpty(_Id))
                          {
                              if (!long.TryParse(_Id, out long outId)&&!string.IsNullOrEmpty(_Id))
                              {
                                 throw Oops.Oh($"第{index}行[Id主键]{_Id}值不正确!");
                              }
                              if (outId <= 0&&!string.IsNullOrEmpty(_Id))
                              {
                                 throw Oops.Oh($"第{index}行[Id主键]{_Id}值不能小于等于0!");
                              }
                              else
                              {
                                 addItem.Id = outId;
                              }
                          }
                          #endregion
                //导入模版定制化代码(替换模版使用)
                var addItem = new WmsMaterial()
                {
                    CreatedTime = SysHelper.GetNowTime(),
                    CreatedUserId = SysHelper.GetUserId(),
                    CreatedUserName = SysHelper.GetUserName(),
                    UpdatedTime = SysHelper.GetNowTime(),
                    UpdatedUserId = SysHelper.GetUserId(),
                    UpdatedUserName = SysHelper.GetUserName()
                };
                #region å®šä¹‰å˜é‡
                var _MaterialName = "";//物料名称
                var _MaterialCode = "";//物料编号
                var _ErpCode = "";//ERP编号
                var _MaterialTypeName = "";//物料类型名称
                var _MaterialTypeDescr = "";//物料类型描述
                var _MaterialType = "";//物料类型
                var _MaterialGroup = "";//物料组
                var _ABCClassName = "";//ABC分类名称
                var _ABCClass = "";//ABC分类
                var _MaterialSpec = "";//物料规格
                var _InPlaceCode = "";//默认入库库位
                var _MaterialUnit = "";//库存单位
                var _POUnit = "";//采购单位
                var _Color = "";//颜色
                var _Weight = "";//重量
                var _SNP = "";//标包数量
                var _TranslateRate = "";//换算率
                var _BatchRuleId = "";//批次属性规则
                var _ControlRuleId = "";//控制属性规则
                var _IsDisabled = "";//是否禁用
                var _MaterialDesc = "";//描述
                var _Id = "";//Id主键
                #endregion
                #region å–值
                _MaterialName = row["物料名称"]?.ToString();
                _MaterialCode = row["物料编号"]?.ToString();
                _ErpCode = row["ERP编号"]?.ToString();
                _MaterialTypeName = row["物料类型名称"]?.ToString();
                _MaterialTypeDescr = row["物料类型描述"]?.ToString();
                _MaterialType = row["物料类型"]?.ToString();
                _MaterialGroup = row["物料组"]?.ToString();
                _ABCClassName = row["ABC分类名称"]?.ToString();
                _ABCClass = row["ABC分类"]?.ToString();
                _MaterialSpec = row["物料规格"]?.ToString();
                _InPlaceCode = row["默认入库库位"]?.ToString();
                _MaterialUnit = row["库存单位"]?.ToString();
                _POUnit = row["采购单位"]?.ToString();
                _Color = row["颜色"]?.ToString();
                _Weight = row["重量"]?.ToString();
                _SNP = row["标包数量"]?.ToString();
                _TranslateRate = row["换算率"]?.ToString();
                _BatchRuleId = row["批次属性规则"]?.ToString();
                _ControlRuleId = row["控制属性规则"]?.ToString();
                _IsDisabled = row["是否禁用"]?.ToString();
                _MaterialDesc = row["描述"]?.ToString();
                _Id = row["Id主键"]?.ToString();
                #endregion
                #region éªŒè¯
                if (string.IsNullOrEmpty(_MaterialName))
                {
                    throw Oops.Oh($"第{index}行[物料名称]{_MaterialName}不能为空!");
                }
                if (!string.IsNullOrEmpty(_MaterialName))
                {
                    addItem.MaterialName = (string)_MaterialName;
                }
                if (string.IsNullOrEmpty(_MaterialCode))
                {
                    throw Oops.Oh($"第{index}行[物料编号]{_MaterialCode}不能为空!");
                }
                if (!string.IsNullOrEmpty(_MaterialCode))
                {
                    addItem.MaterialCode = (string)_MaterialCode;
                }
                if (!string.IsNullOrEmpty(_ErpCode))
                {
                    addItem.ErpCode = (string)_ErpCode;
                }
                if (!string.IsNullOrEmpty(_MaterialTypeName))
                {
                    addItem.MaterialTypeName = (string)_MaterialTypeName;
                }
                if (!string.IsNullOrEmpty(_MaterialTypeDescr))
                {
                    addItem.MaterialTypeDescr = (string)_MaterialTypeDescr;
                }
                if (string.IsNullOrEmpty(_MaterialType))
                {
                    throw Oops.Oh($"第{index}行[物料类型]{_MaterialType}不能为空!");
                }
                if (!string.IsNullOrEmpty(_MaterialType))
                {
                    System.Int32 enumMaterialType = default(System.Int32);
                    if (!Enum.TryParse<System.Int32>(_MaterialType, out enumMaterialType) && !string.IsNullOrEmpty(_MaterialType))
                    {
                        throw Oops.Oh($"第{index}行[物料类型]{_MaterialType}值不正确!");
                    }
                    else
                    {
                        addItem.MaterialType = enumMaterialType;
                    }
                }
                if (!string.IsNullOrEmpty(_MaterialGroup))
                {
                    addItem.MaterialGroup = (string)_MaterialGroup;
                }
                if (!string.IsNullOrEmpty(_ABCClassName))
                {
                    addItem.ABCClassName = (string)_ABCClassName;
                }
                if (!string.IsNullOrEmpty(_ABCClass))
                {
                    Admin.NET.Core.ABCClassEnum enumABCClass = default(Admin.NET.Core.ABCClassEnum);
                    if (!Enum.TryParse < Admin.NET.Core.ABCClassEnum > (_ABCClass, out enumABCClass)&& !string.IsNullOrEmpty(_ABCClass))
                    {
                        throw Oops.Oh($"第{index}行[ABC分类]{_ABCClass}值不正确!");
                    } else
                    {
                        addItem.ABCClass = enumABCClass;
                    }
                }
                if (!string.IsNullOrEmpty(_MaterialSpec))
                {
                    addItem.MaterialSpec = (string)_MaterialSpec;
                }
                if (!string.IsNullOrEmpty(_InPlaceCode))
                {
                    addItem.InPlaceCode = (string)_InPlaceCode;
                }
                if (!string.IsNullOrEmpty(_MaterialUnit))
                {
                    addItem.MaterialUnit = (string)_MaterialUnit;
                }
                if (!string.IsNullOrEmpty(_POUnit))
                {
                    addItem.POUnit = (string)_POUnit;
                }
                if (!string.IsNullOrEmpty(_Color))
                {
                    addItem.Color = (string)_Color;
                }
                if (!string.IsNullOrEmpty(_Weight))
                {
                    addItem.Weight = (string)_Weight;
                }
                if (!string.IsNullOrEmpty(_SNP))
                {
                    if (!decimal.TryParse(_SNP, out decimal outSNP) && !string.IsNullOrEmpty(_SNP))
                    {
                        throw Oops.Oh($"第{index}行[标包数量]{_SNP}值不正确!");
                    }
                    if (outSNP <= 0 && !string.IsNullOrEmpty(_SNP))
                    {
                        throw Oops.Oh($"第{index}行[标包数量]{_SNP}值不能小于等于0!");
                    }
                    else
                    {
                        addItem.SNP = outSNP;
                    }
                }
                if (!string.IsNullOrEmpty(_TranslateRate))
                {
                    if (!decimal.TryParse(_TranslateRate, out decimal outTranslateRate) && !string.IsNullOrEmpty(_TranslateRate))
                    {
                        throw Oops.Oh($"第{index}行[换算率]{_TranslateRate}值不正确!");
                    }
                    if (outTranslateRate <= 0 && !string.IsNullOrEmpty(_TranslateRate))
                    {
                        throw Oops.Oh($"第{index}行[换算率]{_TranslateRate}值不能小于等于0!");
                    }
                    else
                    {
                        addItem.TranslateRate = outTranslateRate;
                    }
                }
                if (!string.IsNullOrEmpty(_BatchRuleId))
                {
                    if (!long.TryParse(_BatchRuleId, out long outBatchRuleId) && !string.IsNullOrEmpty(_BatchRuleId))
                    {
                        throw Oops.Oh($"第{index}行[批次属性规则]{_BatchRuleId}值不正确!");
                    }
                    if (outBatchRuleId <= 0 && !string.IsNullOrEmpty(_BatchRuleId))
                    {
                        throw Oops.Oh($"第{index}行[批次属性规则]{_BatchRuleId}值不能小于等于0!");
                    }
                    else
                    {
                        addItem.BatchRuleId = outBatchRuleId;
                    }
                }
                if (!string.IsNullOrEmpty(_ControlRuleId))
                {
                    if (!long.TryParse(_ControlRuleId, out long outControlRuleId) && !string.IsNullOrEmpty(_ControlRuleId))
                    {
                        throw Oops.Oh($"第{index}行[控制属性规则]{_ControlRuleId}值不正确!");
                    }
                    if (outControlRuleId <= 0 && !string.IsNullOrEmpty(_ControlRuleId))
                    {
                        throw Oops.Oh($"第{index}行[控制属性规则]{_ControlRuleId}值不能小于等于0!");
                    }
                    else
                    {
                        addItem.ControlRuleId = outControlRuleId;
                    }
                }
                if (!string.IsNullOrEmpty(_IsDisabled))
                {
                    if (!_IsDisabled.Equals("是") && !_IsDisabled.Equals("否"))
                    {
                        throw Oops.Oh($"第{index}行[是否禁用]{_IsDisabled}值不正确!");
                    }
                    else
                    {
                        bool outIsDisabled = _IsDisabled.Equals("是") ? true : false;
                        addItem.IsDisabled = outIsDisabled;
                    }
                }
                if (!string.IsNullOrEmpty(_MaterialDesc))
                {
                    addItem.MaterialDesc = (string)_MaterialDesc;
                }
                if (!string.IsNullOrEmpty(_Id))
                {
                    if (!long.TryParse(_Id, out long outId) && !string.IsNullOrEmpty(_Id))
                    {
                        throw Oops.Oh($"第{index}行[Id主键]{_Id}值不正确!");
                    }
                    if (outId <= 0 && !string.IsNullOrEmpty(_Id))
                    {
                        throw Oops.Oh($"第{index}行[Id主键]{_Id}值不能小于等于0!");
                    }
                    else
                    {
                        addItem.Id = outId;
                    }
                }
                #endregion
                details.Add(addItem);
            }
              //验重
              await CheckExisitForImport(details);
            //验重
            await CheckExisitForImport(details);
            return details;
        }
        /// <summary>
        /// æ ¹æ®ç‰ˆæœ¬ä¸‹è½½ç‰©æ–™ä¿¡æ¯è¡¨çš„Excel导入模板
        /// æ ¹æ®ç‰ˆæœ¬ä¸‹è½½ç‰©æ–™ä¿¡æ¯çš„Excel导入模板
        /// </summary>
        /// <param name="version">模板版本</param>
        /// <returns>下载的模板文件</returns>
@@ -587,7 +592,7 @@
        public IActionResult DownloadExcelTemplate([FromQuery] string version)
        {
            string _path = TemplateConst.EXCEL_TEMPLATEFILE_导入模版路径 + $"\\WmsMaterial{TemplateConst.EXCEL_TEMPLATEFILE_导入模版名称后缀}.xlsx";
            var fileName = HttpUtility.UrlEncode($"导入模板(物料信息表).xlsx", Encoding.GetEncoding("UTF-8"));
            var fileName = HttpUtility.UrlEncode($"导入模板(物料信息).xlsx", Encoding.GetEncoding("UTF-8"));
            return new FileStreamResult(new FileStream(_path, FileMode.Open), "application/octet-stream") { FileDownloadName = fileName };
        }
@@ -601,80 +606,80 @@
        /// <param name="input"></param>
        /// <param name="isEdit"></param>
        /// <returns></returns>
        private async Task CheckExisit( WmsMaterial input,bool isEdit=false)
        private async Task CheckExisit(WmsMaterial input, bool isEdit = false)
        {
           bool isExist = false;
           if (!isEdit)//新增
           {
                   //数据是否存在重复
                   isExist = await _wmsMaterialRep.AnyAsync(u =>
                                   u.MaterialCode.Equals(input.MaterialCode)
                   ,false);
          }
           else//编辑
          {
                 //当前编辑数据以外是否存在重复
                  isExist = await _wmsMaterialRep.AnyAsync(u =>
                                    u.Id != input.Id
                                    &&u.MaterialCode.Equals(input.MaterialCode)
                    ,false);
               }
            bool isExist = false;
            if (!isEdit)//新增
            {
                //数据是否存在重复
                isExist = await _wmsMaterialRep.AnyAsync(u =>
                                u.MaterialCode.Equals(input.MaterialCode)
                , false);
            }
            else//编辑
            {
                //当前编辑数据以外是否存在重复
                isExist = await _wmsMaterialRep.AnyAsync(u =>
                                  u.Id != input.Id
                                  && u.MaterialCode.Equals(input.MaterialCode)
                  , false);
            }
            if (isExist) throw Oops.Oh(ErrorCode.E0001);
       }
        }
        /// <summary>
        /// æ ¹æ®è”合主键验证数据是否已存在-导入时验证
        /// </summary>
        /// <param name="inputs"></param>
        /// <returns></returns>
        private async Task CheckExisitForImport(List<WmsMaterial> inputs)
        {
        {
            //根据联合主键验证表格中中是否已存在相同数据  
                 if (inputs?.Count <= 0)
                 {
                     throw Oops.Oh($"导入数据不能为空");
                 }
                 //数据是否重复
                 var existExcelItem = inputs.GroupBy(g => new {
                                               g.MaterialCode
                                               })
                                               .Where(g => g.Count() > 1)
                                               .Select(s => new {
                                               s.Key.MaterialCode
                                               }).FirstOrDefault();
                 if (existExcelItem != null)
                 {
                   var wmsMaterial = existExcelItem.Adapt<WmsMaterial>();
                   var item= existExcelItem.Adapt<WmsMaterial>();
                   throw Oops.Oh($"导入的表格中,物料编号[{item.MaterialCode}]已存在");
                 }
            if (inputs?.Count <= 0)
            {
                throw Oops.Oh($"导入数据不能为空");
            }
            //数据是否重复
            var existExcelItem = inputs.GroupBy(g => new {
                g.MaterialCode
            })
                                          .Where(g => g.Count() > 1)
                                          .Select(s => new {
                                              s.Key.MaterialCode
                                          }).FirstOrDefault();
            if (existExcelItem != null)
            {
                var wmsMaterial = existExcelItem.Adapt<WmsMaterial>();
                var item = existExcelItem.Adapt<WmsMaterial>();
                throw Oops.Oh($"导入的表格中,物料编号[{item.MaterialCode}]已存在");
            }
    //根据联合主键验证数据库中是否已存在相同数据
                 var existDBItem = await _wmsMaterialRep.DetachedEntities.FirstOrDefaultAsync(w=>
                                                                         inputs.Select(s=>""
                                                                           +s.MaterialCode
                                                                        )
                                                                        .Contains(""
                                                                         +w.MaterialCode
                  ));
                  if (existDBItem != null)
                 {
                   var wmsMaterial = existExcelItem.Adapt<WmsMaterial>();
                   var item= existExcelItem.Adapt<WmsMaterial>();
                   throw Oops.Oh($"系统中,物料编号[{item.MaterialCode}]已存在");
                 }
            //根据联合主键验证数据库中是否已存在相同数据
            var existDBItem = await _wmsMaterialRep.DetachedEntities.FirstOrDefaultAsync(w =>
                                                                    inputs.Select(s => ""
                                                                      + s.MaterialCode
                                                                   )
                                                                   .Contains(""
                                                                    + w.MaterialCode
             ));
            if (existDBItem != null)
            {
                var wmsMaterial = existExcelItem.Adapt<WmsMaterial>();
                var item = existExcelItem.Adapt<WmsMaterial>();
                throw Oops.Oh($"系统中,物料编号[{item.MaterialCode}]已存在");
            }
        }
        #endregion
iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsPlace/Dto/WmsPlaceInput.cs
@@ -45,45 +45,7 @@
        /// </summary>
        public virtual Admin.NET.Core.PlaceStatusEnum? PlaceStatus { get; set; }
        
        /// <summary>
        /// æ˜¯å¦å †åž›æœºåº“位
        /// </summary>
        public virtual bool? IsSrmPlace { get; set; }
        /// <summary>
        /// å †åž›æœºåº“位号
        /// </summary>
        public virtual string SrmPlaceNo { get; set; }
        /// <summary>
        /// æ˜¯å¦RGV库位
        /// </summary>
        public virtual bool? IsRgvPlace { get; set; }
        /// <summary>
        /// RGV库位号
        /// </summary>
        public virtual string RgvPlaceNo { get; set; }
        /// <summary>
        /// æ˜¯å¦AGV库位
        /// </summary>
        public virtual bool? IsAgvPlace { get; set; }
        /// <summary>
        /// AGV库位号
        /// </summary>
        public virtual string AgvPlaceNo { get; set; }
        /// <summary>
        /// æ˜¯å¦è¾“送线库位
        /// </summary>
        public virtual bool? IsTransPlace { get; set; }
        /// <summary>
        /// è¾“送线库位号
        /// </summary>
        public virtual string TransPlaceNo { get; set; }
        
        /// <summary>
        /// æ˜¯å¦æ¿€æ´»ä¸Žä»»åŠ¡è°ƒåº¦
@@ -252,45 +214,7 @@
        /// </summary>
        public virtual Admin.NET.Core.PlaceStatusEnum? PlaceStatus { get; set; }
        
        /// <summary>
        /// æ˜¯å¦å †åž›æœºåº“位
        /// </summary>
        public virtual bool? IsSrmPlace { get; set; }
        /// <summary>
        /// å †åž›æœºåº“位号
        /// </summary>
        public virtual string SrmPlaceNo { get; set; }
        /// <summary>
        /// æ˜¯å¦RGV库位
        /// </summary>
        public virtual bool? IsRgvPlace { get; set; }
        /// <summary>
        /// RGV库位号
        /// </summary>
        public virtual string RgvPlaceNo { get; set; }
        /// <summary>
        /// æ˜¯å¦AGV库位
        /// </summary>
        public virtual bool? IsAgvPlace { get; set; }
        /// <summary>
        /// AGV库位号
        /// </summary>
        public virtual string AgvPlaceNo { get; set; }
        /// <summary>
        /// æ˜¯å¦è¾“送线库位
        /// </summary>
        public virtual bool? IsTransPlace { get; set; }
        /// <summary>
        /// è¾“送线库位号
        /// </summary>
        public virtual string TransPlaceNo { get; set; }
        
        /// <summary>
        /// æ˜¯å¦æ¿€æ´»ä¸Žä»»åŠ¡è°ƒåº¦
@@ -459,45 +383,7 @@
        [Required(ErrorMessage = "库位属性不能为空")]
        public virtual Admin.NET.Core.PlaceStatusEnum PlaceStatus { get; set; }
        
        /// <summary>
        /// æ˜¯å¦å †åž›æœºåº“位
        /// </summary>
        public virtual bool? IsSrmPlace { get; set; }
        
        /// <summary>
        /// å †åž›æœºåº“位号
        /// </summary>
        public virtual string SrmPlaceNo { get; set; }
        /// <summary>
        /// æ˜¯å¦RGV库位
        /// </summary>
        public virtual bool? IsRgvPlace { get; set; }
        /// <summary>
        /// RGV库位号
        /// </summary>
        public virtual string RgvPlaceNo { get; set; }
        /// <summary>
        /// æ˜¯å¦AGV库位
        /// </summary>
        public virtual bool? IsAgvPlace { get; set; }
        /// <summary>
        /// AGV库位号
        /// </summary>
        public virtual string AgvPlaceNo { get; set; }
        /// <summary>
        /// æ˜¯å¦è¾“送线库位
        /// </summary>
        public virtual bool? IsTransPlace { get; set; }
        /// <summary>
        /// è¾“送线库位号
        /// </summary>
        public virtual string TransPlaceNo { get; set; }
        
        /// <summary>
        /// æ˜¯å¦æ¿€æ´»ä¸Žä»»åŠ¡è°ƒåº¦
iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsPlace/WmsPlaceService.cs
@@ -56,14 +56,6 @@
                                     .Where(input.PlaceType != null, u => u.PlaceType == input.PlaceType)
                                     .Where(!string.IsNullOrEmpty(input.PlaceTypeName), u => u.PlaceTypeName == input.PlaceTypeName)
                                     .Where(input.PlaceStatus != null, u => u.PlaceStatus == input.PlaceStatus)
                                     .Where(input.IsSrmPlace != null, u => u.IsSrmPlace == input.IsSrmPlace)
                                     .Where(!string.IsNullOrEmpty(input.SrmPlaceNo), u => u.SrmPlaceNo == input.SrmPlaceNo)
                                     .Where(input.IsRgvPlace != null, u => u.IsRgvPlace == input.IsRgvPlace)
                                     .Where(!string.IsNullOrEmpty(input.RgvPlaceNo), u => u.RgvPlaceNo == input.RgvPlaceNo)
                                     .Where(input.IsAgvPlace != null, u => u.IsAgvPlace == input.IsAgvPlace)
                                     .Where(!string.IsNullOrEmpty(input.AgvPlaceNo), u => u.AgvPlaceNo == input.AgvPlaceNo)
                                     .Where(input.IsTransPlace != null, u => u.IsTransPlace == input.IsTransPlace)
                                     .Where(!string.IsNullOrEmpty(input.TransPlaceNo), u => u.TransPlaceNo == input.TransPlaceNo)
                                     .Where(input.IsActivateWCS != null, u => u.IsActivateWCS == input.IsActivateWCS)
                                     .Where(!string.IsNullOrEmpty(input.Environment), u => u.Environment == input.Environment)
                                     .Where(!string.IsNullOrEmpty(input.AreaCode), u => u.AreaCode == input.AreaCode)
@@ -109,14 +101,6 @@
            var pPlaceType = input.PlaceType;
            var pPlaceTypeName = input.PlaceTypeName?.Trim() ?? "";
            var pPlaceStatus = input.PlaceStatus;
            var pIsSrmPlace = input.IsSrmPlace;
            var pSrmPlaceNo = input.SrmPlaceNo?.Trim() ?? "";
            var pIsRgvPlace = input.IsRgvPlace;
            var pRgvPlaceNo = input.RgvPlaceNo?.Trim() ?? "";
            var pIsAgvPlace = input.IsAgvPlace;
            var pAgvPlaceNo = input.AgvPlaceNo?.Trim() ?? "";
            var pIsTransPlace = input.IsTransPlace;
            var pTransPlaceNo = input.TransPlaceNo?.Trim() ?? "";
            var pIsActivateWCS = input.IsActivateWCS;
            var pEnvironment = input.Environment?.Trim() ?? "";
            var pAreaCode = input.AreaCode?.Trim() ?? "";
@@ -149,14 +133,6 @@
                .Where(pPlaceType != null, u => u.PlaceType == pPlaceType)
                .Where(!string.IsNullOrEmpty(pPlaceTypeName), u => u.PlaceTypeName == pPlaceTypeName)
                .Where(pPlaceStatus != null, u => u.PlaceStatus == pPlaceStatus)
                .Where(pIsSrmPlace != null, u => u.IsSrmPlace == pIsSrmPlace)
                .Where(!string.IsNullOrEmpty(pSrmPlaceNo), u => u.SrmPlaceNo == pSrmPlaceNo)
                .Where(pIsRgvPlace != null, u => u.IsRgvPlace == pIsRgvPlace)
                .Where(!string.IsNullOrEmpty(pRgvPlaceNo), u => u.RgvPlaceNo == pRgvPlaceNo)
                .Where(pIsAgvPlace != null, u => u.IsAgvPlace == pIsAgvPlace)
                .Where(!string.IsNullOrEmpty(pAgvPlaceNo), u => u.AgvPlaceNo == pAgvPlaceNo)
                .Where(pIsTransPlace != null, u => u.IsTransPlace == pIsTransPlace)
                .Where(!string.IsNullOrEmpty(pTransPlaceNo), u => u.TransPlaceNo == pTransPlaceNo)
                .Where(pIsActivateWCS != null, u => u.IsActivateWCS == pIsActivateWCS)
                .Where(!string.IsNullOrEmpty(pEnvironment), u => u.Environment == pEnvironment)
                .Where(!string.IsNullOrEmpty(pAreaCode), u => u.AreaCode == pAreaCode)
@@ -472,74 +448,7 @@
                              }
                          
                           }
                          if(!string.IsNullOrEmpty(_IsSrmPlace))
                          {
                            if(!_IsSrmPlace.Equals("是") && !_IsSrmPlace.Equals("否"))
                             {
                               throw Oops.Oh($"第{index}行[是否堆垛机库位]{_IsSrmPlace}值不正确!");
                             }
                             else
                             {
                               bool outIsSrmPlace = _IsSrmPlace.Equals("是") ? true : false;
                               addItem.IsSrmPlace = outIsSrmPlace;
                             }
                             }
                          if(!string.IsNullOrEmpty(_SrmPlaceNo))
                          {
                                addItem.SrmPlaceNo = (string)_SrmPlaceNo;
                           }
                          if(!string.IsNullOrEmpty(_IsRgvPlace))
                          {
                            if(!_IsRgvPlace.Equals("是") && !_IsRgvPlace.Equals("否"))
                             {
                               throw Oops.Oh($"第{index}行[是否RGV库位]{_IsRgvPlace}值不正确!");
                             }
                             else
                             {
                               bool outIsRgvPlace = _IsRgvPlace.Equals("是") ? true : false;
                               addItem.IsRgvPlace = outIsRgvPlace;
                             }
                             }
                          if(!string.IsNullOrEmpty(_RgvPlaceNo))
                          {
                                addItem.RgvPlaceNo = (string)_RgvPlaceNo;
                           }
                          if(!string.IsNullOrEmpty(_IsAgvPlace))
                          {
                            if(!_IsAgvPlace.Equals("是") && !_IsAgvPlace.Equals("否"))
                             {
                               throw Oops.Oh($"第{index}行[是否AGV库位]{_IsAgvPlace}值不正确!");
                             }
                             else
                             {
                               bool outIsAgvPlace = _IsAgvPlace.Equals("是") ? true : false;
                               addItem.IsAgvPlace = outIsAgvPlace;
                             }
                             }
                          if(!string.IsNullOrEmpty(_AgvPlaceNo))
                          {
                                addItem.AgvPlaceNo = (string)_AgvPlaceNo;
                           }
                          if(!string.IsNullOrEmpty(_IsTransPlace))
                          {
                            if(!_IsTransPlace.Equals("是") && !_IsTransPlace.Equals("否"))
                             {
                               throw Oops.Oh($"第{index}行[是否输送线库位]{_IsTransPlace}值不正确!");
                             }
                             else
                             {
                               bool outIsTransPlace = _IsTransPlace.Equals("是") ? true : false;
                               addItem.IsTransPlace = outIsTransPlace;
                             }
                             }
                          if(!string.IsNullOrEmpty(_TransPlaceNo))
                          {
                                addItem.TransPlaceNo = (string)_TransPlaceNo;
                           }
                          if(!string.IsNullOrEmpty(_IsActivateWCS))
                          {
                            if(!_IsActivateWCS.Equals("是") && !_IsActivateWCS.Equals("否"))
iWare_RawMaterialWarehouse_Wms/Admin.NET.Core/Entity/WmsBase/WmsPlace.cs
@@ -4,7 +4,7 @@
/*
 * @author : åˆ˜æ–‡å¥‡
 * @date : 2024/4/23下午6:30:44
 * @date : 2024/4/24下午4:54:43
 * @desc : åº“位表
 */
namespace Admin.NET.Core
@@ -77,70 +77,6 @@
        [Required]
        public PlaceStatusEnum PlaceStatus { get; set; }
        /// <summary>
        /// æ˜¯å¦å †åž›æœºåº“位
        /// </summary>
        [Comment("是否堆垛机库位")]
        public bool? IsSrmPlace { get; set; }
        /// <summary>
        /// å †åž›æœºåº“位号
        /// </summary>
        [Comment("堆垛机库位号")]
        [MaxLength(50)]
        public string SrmPlaceNo { get; set; }
        /// <summary>
        /// æ˜¯å¦RGV库位
        /// </summary>
        [Comment("是否RGV库位")]
        public bool? IsRgvPlace { get; set; }
        /// <summary>
        /// RGV库位号
        /// </summary>
        [Comment("RGV库位号")]
        [MaxLength(50)]
        public string RgvPlaceNo { get; set; }
        /// <summary>
        /// æ˜¯å¦AGV库位
        /// </summary>
        [Comment("是否AGV库位")]
        public bool? IsAgvPlace { get; set; }
        /// <summary>
        /// AGV库位号
        /// </summary>
        [Comment("AGV库位号")]
        [MaxLength(50)]
        public string AgvPlaceNo { get; set; }
        /// <summary>
        /// æ˜¯å¦è¾“送线库位
        /// </summary>
        [Comment("是否输送线库位")]
        public bool? IsTransPlace { get; set; }
        /// <summary>
        /// è¾“送线库位号
        /// </summary>
        [Comment("输送线库位号")]
        [MaxLength(50)]
        public string TransPlaceNo { get; set; }
        /// <summary>
iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsMaterialImport.xlsx
Binary files differ
ʹÓÃÎĵµ/PDManerÎļþ/Ô­²ÄÁÏ¿â±ê×¼»¯.pdma.json
@@ -4,7 +4,7 @@
  "avatar": "",
  "version": "4.1.3",
  "createdTime": "2024-4-12 12:56:29",
  "updatedTime": "2024-4-24 15:31:08",
  "updatedTime": "2024-4-24 16:53:19",
  "dbConns": [],
  "profile": {
    "default": {
@@ -103,7 +103,7 @@
        },
        {
          "defKey": "CreatedUserId",
          "defName": "创建者Id",
          "defName": "创建人Id",
          "comment": "",
          "domain": "717941D9-8B3F-435A-9F8E-8D13B7404D5B",
          "type": "",
@@ -121,7 +121,7 @@
        },
        {
          "defKey": "UpdatedUserId",
          "defName": "修改者Id",
          "defName": "修改人Id",
          "comment": "",
          "domain": "717941D9-8B3F-435A-9F8E-8D13B7404D5B",
          "type": "",
@@ -21734,7 +21734,7 @@
        },
        {
          "defKey": "ErpCode",
          "defName": "ERP代码",
          "defName": "ERP库存地",
          "comment": "",
          "domain": "94107640-E002-4AB3-A2DC-B66F98D9645F",
          "type": "",
@@ -21965,7 +21965,7 @@
        },
        {
          "defKey": "CreatedUserId",
          "defName": "创建者Id",
          "defName": "创建人Id",
          "comment": "",
          "domain": "717941D9-8B3F-435A-9F8E-8D13B7404D5B",
          "type": "",
@@ -21993,7 +21993,7 @@
        },
        {
          "defKey": "CreatedUserName",
          "defName": "创建者名称",
          "defName": "创建人",
          "comment": "",
          "domain": "94107640-E002-4AB3-A2DC-B66F98D9645F",
          "type": "",
@@ -22021,7 +22021,7 @@
        },
        {
          "defKey": "UpdatedUserId",
          "defName": "修改者Id",
          "defName": "修改人Id",
          "comment": "",
          "domain": "717941D9-8B3F-435A-9F8E-8D13B7404D5B",
          "type": "",
@@ -22049,7 +22049,7 @@
        },
        {
          "defKey": "UpdatedUserName",
          "defName": "修改者名称",
          "defName": "修改人",
          "comment": "",
          "domain": "94107640-E002-4AB3-A2DC-B66F98D9645F",
          "type": "",
@@ -32872,153 +32872,6 @@
          "uiHint": "642D2E0A-8846-4549-BE56-8C0473F26EDE"
        },
        {
          "defKey": "IsSrmPlace",
          "defName": "是否堆垛机库位",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "refDict": "",
          "extProps": {},
          "domain": "6F7C1C5C-D159-41E6-BF9D-54DEEFA79AFF",
          "id": "335D3433-78A5-4213-A410-95E1EFF532D6"
        },
        {
          "defKey": "SrmPlaceNo",
          "defName": "堆垛机库位号",
          "comment": "",
          "domain": "94107640-E002-4AB3-A2DC-B66F98D9645F",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "refDict": "",
          "attr1": "",
          "attr2": "",
          "attr3": "",
          "attr4": "",
          "attr5": "",
          "attr6": "",
          "attr7": "",
          "attr8": "",
          "attr9": "",
          "id": "BC41E431-8E6A-4253-83F4-E589578322AA",
          "baseType": "F8A4AFB0-F3B7-4E32-A5F2-D4D8D3F4BACD",
          "extProps": {},
          "uiHint": "642D2E0A-8846-4549-BE56-8C0473F26EDE"
        },
        {
          "defKey": "IsRgvPlace",
          "defName": "是否RGV库位",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "refDict": "",
          "extProps": {},
          "domain": "6F7C1C5C-D159-41E6-BF9D-54DEEFA79AFF",
          "id": "B18994CA-EB0C-4402-BB8E-749C080166F4"
        },
        {
          "defKey": "RgvPlaceNo",
          "defName": "RGV库位号",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "refDict": "",
          "extProps": {},
          "domain": "94107640-E002-4AB3-A2DC-B66F98D9645F",
          "id": "3146288B-6B5D-447C-9339-7DB5D90E56FD"
        },
        {
          "defKey": "IsAgvPlace",
          "defName": "是否AGV库位",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "refDict": "",
          "extProps": {},
          "domain": "6F7C1C5C-D159-41E6-BF9D-54DEEFA79AFF",
          "id": "3BCB2418-C037-45BE-90B7-23F37696721B"
        },
        {
          "defKey": "AgvPlaceNo",
          "defName": "AGV库位号",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "refDict": "",
          "extProps": {},
          "domain": "94107640-E002-4AB3-A2DC-B66F98D9645F",
          "id": "B07702F7-3F57-4A8E-B5EA-8A70FD6463E3"
        },
        {
          "defKey": "IsTransPlace",
          "defName": "是否输送线库位",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "extProps": {},
          "domain": "6F7C1C5C-D159-41E6-BF9D-54DEEFA79AFF",
          "id": "4FD2149A-C5A6-45C0-A72B-0476A5967CF7"
        },
        {
          "defKey": "TransPlaceNo",
          "defName": "输送线库位号",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "refDict": "",
          "extProps": {},
          "domain": "94107640-E002-4AB3-A2DC-B66F98D9645F",
          "id": "755769AB-B19A-4E22-8BA3-2E44E4AC7D86"
        },
        {
          "defKey": "IsActivateWCS",
          "defName": "是否激活与任务调度",
          "comment": "",
@@ -33565,7 +33418,7 @@
        },
        {
          "defKey": "CreatedUserId",
          "defName": "创建者Id",
          "defName": "创建人Id",
          "comment": "",
          "domain": "717941D9-8B3F-435A-9F8E-8D13B7404D5B",
          "type": "",
@@ -33593,7 +33446,7 @@
        },
        {
          "defKey": "CreatedUserName",
          "defName": "创建者名称",
          "defName": "创建人",
          "comment": "",
          "domain": "94107640-E002-4AB3-A2DC-B66F98D9645F",
          "type": "",
@@ -33621,7 +33474,7 @@
        },
        {
          "defKey": "UpdatedUserId",
          "defName": "修改者Id",
          "defName": "修改人Id",
          "comment": "",
          "domain": "717941D9-8B3F-435A-9F8E-8D13B7404D5B",
          "type": "",
@@ -33649,7 +33502,7 @@
        },
        {
          "defKey": "UpdatedUserName",
          "defName": "修改者名称",
          "defName": "修改人",
          "comment": "",
          "domain": "94107640-E002-4AB3-A2DC-B66F98D9645F",
          "type": "",
@@ -42388,7 +42241,7 @@
        },
        {
          "defKey": "CreatedUserId",
          "defName": "创建者Id",
          "defName": "创建人Id",
          "comment": "",
          "domain": "717941D9-8B3F-435A-9F8E-8D13B7404D5B",
          "type": "",
@@ -42406,7 +42259,7 @@
        },
        {
          "defKey": "UpdatedUserId",
          "defName": "修改者Id",
          "defName": "修改人Id",
          "comment": "",
          "domain": "717941D9-8B3F-435A-9F8E-8D13B7404D5B",
          "type": "",
@@ -48540,6 +48393,335 @@
      ],
      "correlations": [],
      "indexes": []
    },
    {
      "id": "A9C5E453-7EE0-447F-97B1-AF52177E7E2E",
      "env": {
        "base": {
          "nameSpace": "",
          "codeRoot": ""
        }
      },
      "defKey": "wms_equipment_place",
      "defName": "设备库位关联信息",
      "comment": "",
      "properties": {
        "partitioned by": "(date string)",
        "row format delimited": "",
        "fields terminated by ','": "",
        "collection items terminated by '-'": "",
        "map keys terminated by ':'": "",
        "store as textfile;": ""
      },
      "nameTemplate": "{defKey}[{defName}]",
      "headers": [
        {
          "refKey": "hideInGraph",
          "hideInGraph": true
        },
        {
          "refKey": "defKey",
          "freeze": false,
          "hideInGraph": false
        },
        {
          "refKey": "defName",
          "freeze": false,
          "hideInGraph": false
        },
        {
          "refKey": "primaryKey",
          "freeze": false,
          "hideInGraph": false
        },
        {
          "refKey": "notNull",
          "freeze": false,
          "hideInGraph": true
        },
        {
          "refKey": "autoIncrement",
          "freeze": false,
          "hideInGraph": true
        },
        {
          "refKey": "domain",
          "freeze": false,
          "hideInGraph": true
        },
        {
          "refKey": "type",
          "freeze": false,
          "hideInGraph": false
        },
        {
          "refKey": "len",
          "freeze": false,
          "hideInGraph": false
        },
        {
          "refKey": "scale",
          "freeze": false,
          "hideInGraph": false
        },
        {
          "refKey": "comment",
          "freeze": false,
          "hideInGraph": true
        },
        {
          "refKey": "refDict",
          "freeze": false,
          "hideInGraph": true
        },
        {
          "refKey": "defaultValue",
          "freeze": false,
          "hideInGraph": true
        },
        {
          "refKey": "isStandard",
          "freeze": false,
          "hideInGraph": false
        },
        {
          "refKey": "uiHint",
          "freeze": false,
          "hideInGraph": true
        },
        {
          "refKey": "extProps",
          "freeze": false,
          "hideInGraph": true
        },
        {
          "refKey": "attr1",
          "freeze": false,
          "hideInGraph": true
        },
        {
          "refKey": "attr2",
          "freeze": false,
          "hideInGraph": true
        },
        {
          "refKey": "attr3",
          "freeze": false,
          "hideInGraph": true
        },
        {
          "refKey": "attr4",
          "freeze": false,
          "hideInGraph": true
        },
        {
          "refKey": "attr5",
          "freeze": false,
          "hideInGraph": true
        },
        {
          "refKey": "attr6",
          "freeze": false,
          "hideInGraph": true
        },
        {
          "refKey": "attr7",
          "freeze": false,
          "hideInGraph": true
        },
        {
          "refKey": "attr8",
          "freeze": false,
          "hideInGraph": true
        },
        {
          "refKey": "attr9",
          "freeze": false,
          "hideInGraph": true
        }
      ],
      "fields": [
        {
          "defKey": "Id",
          "defName": "Id主键",
          "comment": "",
          "type": "",
          "len": 32,
          "scale": "",
          "primaryKey": true,
          "notNull": true,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "domain": "16120F75-6AA7-4483-868D-F07F511BB081",
          "refDict": "",
          "uiHint": "",
          "id": "FD6CFC18-8FF1-4AC9-9591-8D83EE7EC6C7",
          "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64"
        },
        {
          "defKey": "EquipmentNo",
          "defName": "设备号",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": true,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "refDict": "",
          "extProps": {},
          "domain": "94107640-E002-4AB3-A2DC-B66F98D9645F",
          "id": "4B7A4560-9A82-4E0D-913C-4397ACC815A0"
        },
        {
          "defKey": "PlaceNo",
          "defName": "库位号",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": true,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "refDict": "",
          "extProps": {},
          "domain": "94107640-E002-4AB3-A2DC-B66F98D9645F",
          "id": "CC93D3DD-2AF1-4A4E-AC83-894197701520"
        },
        {
          "defKey": "CreatedUserName",
          "defName": "创建人",
          "comment": "",
          "domain": "94107640-E002-4AB3-A2DC-B66F98D9645F",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "3F8A210A-A76C-4D93-8328-6CC79B7875EF",
          "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64"
        },
        {
          "defKey": "CreatedTime",
          "defName": "创建时间",
          "comment": "",
          "domain": "E9456E44-8231-4BC0-B2CD-5FF4AEC6DE97",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "7796D18C-32E1-4472-9811-E2983F1E3ECB",
          "baseType": "1D764C4A-6F9F-421E-B11A-6F3E23B51811"
        },
        {
          "defKey": "UpdatedUserName",
          "defName": "修改人",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "refDict": "",
          "extProps": {},
          "domain": "94107640-E002-4AB3-A2DC-B66F98D9645F",
          "id": "9FCCB6EB-3536-4ACF-92EA-EE685B1E4869",
          "baseType": "F8A4AFB0-F3B7-4E32-A5F2-D4D8D3F4BACD"
        },
        {
          "defKey": "UpdatedTime",
          "defName": "修改时间",
          "comment": "",
          "domain": "E9456E44-8231-4BC0-B2CD-5FF4AEC6DE97",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "89D9334C-753F-494A-ACC8-38F38C58C907",
          "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64"
        },
        {
          "defKey": "CreatedUserId",
          "defName": "创建人Id",
          "comment": "",
          "domain": "717941D9-8B3F-435A-9F8E-8D13B7404D5B",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "1924CB76-82B6-4697-BA4D-4A22505420F4",
          "baseType": "89D69E81-EA34-42EE-9FA2-93B8BD27E098"
        },
        {
          "defKey": "UpdatedUserId",
          "defName": "修改人Id",
          "comment": "",
          "domain": "717941D9-8B3F-435A-9F8E-8D13B7404D5B",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "1EC5776B-1E12-4656-941E-93D9202636F8",
          "baseType": "89D69E81-EA34-42EE-9FA2-93B8BD27E098"
        },
        {
          "defKey": "IsDeleted",
          "defName": "软删除标记",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": true,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "refDict": "",
          "extProps": {},
          "domain": "6F7C1C5C-D159-41E6-BF9D-54DEEFA79AFF",
          "id": "D689DF98-A794-4AF4-8C2C-DB63E7306698",
          "baseType": "7ECAE23D-9FDB-4015-93BC-459D56A1ACA1"
        }
      ],
      "correlations": [],
      "indexes": []
    }
  ],
  "views": [
@@ -49090,7 +49272,8 @@
        "5BA66776-30F0-4C71-92A3-0A6CB6985823",
        "30A9CA8E-93F6-4AFB-A388-CA0C01F74222",
        "AD6794A1-3C5C-4DA3-86A9-222FBBFD109D",
        "041BF159-8998-4542-84A3-5E07D1616AF1"
        "041BF159-8998-4542-84A3-5E07D1616AF1",
        "A9C5E453-7EE0-447F-97B1-AF52177E7E2E"
      ],
      "refViews": [],
      "refDiagrams": [],