• Init wms goodlocation data


    insert goodlocation:

    CREATE PROCEDURE [dbo].[sp_insert_goodlocation]  
     -- Add the parameters for the stored procedure here  
      @the_plattoon int,  
      @the_column int,  
      @the_floor int   
    AS  
    begin try  
    begin tran  
    BEGIN  
     -- SET NOCOUNT ON added to prevent extra result sets from  
     -- interfering with SELECT statements.  
     SET NOCOUNT ON;  
      
      declare @count int  
      declare @cargo_space_id varchar(30)  
      declare @storagenum varchar(10)   --仓库代码
      declare @localnum varchar(20)     --库区代码
      declare @goodlocationname varchar(30) --货位名称
      declare @goodlocationtype varchar(30) --货位类型
      declare @goodlocationnum varchar(30)  --货位代码
      declare @roadway_num varchar(30)  
      declare @cargo_area_id varchar(30)  
      declare @cargo_space_name varchar(30)  
     begin  
      --取得仓库代码 
      SELECT @storagenum=F_StorageNum  FROM [dbo].[Sys_Storage]  
      --取得库区代码
      select @localnum=F_LocalNum from Sys_Location where F_StorageNum=@storagenum
      --取得货位名称
      select @goodlocationname=concat(right(cast('00'+rtrim(@the_plattoon) as varchar(20)),2),'',right(cast('00'+rtrim(@the_column) as varchar(20)),2),'',right(cast('00'+rtrim(@the_floor) as varchar(20)),2),'')  
      --取得巷道代码  
      select @roadway_num=cast(round(cast(cast(@the_plattoon as decimal(8,2))/2 as decimal(8,2)),0) as int)   
      --判断该条记录是否已存在   
      select @count=count(*) from [dbo].[Sys_GoodLocation] where F_GoodLocationName=@goodlocationname  
      --取得货位代码  
      select @goodlocationnum= concat('01',right(cast('00'+rtrim(@the_plattoon) as varchar(20)),2),right(cast('00'+rtrim(@the_column) as varchar(20)),2),right(cast('00'+rtrim(@the_floor) as varchar(20)),2))  
      
      --插入语句  
      if @count=0   
        begin   
            INSERT INTO [dbo].[Sys_GoodLocation]
               ([F_GoodLocationNum]
               ,[F_StorageNum]
               ,[F_RoadWayNum]
               ,[F_LocalNum]
               ,[F_GoodLocationType]
               ,[F_GoodLocationName]
               ,[F_Platoon]
               ,[F_Column]
               ,[F_Floor]
               ,[F_Status]
               ,[F_Locked]
               ,[F_TrayCode]
               ,[F_TrayInTime]
               ,[F_JobId]
               ,[F_TaskNo]
               ,[F_JobInTime]
               ,[F_SortCode]
               ,[F_DeleteMark]
               ,[F_EnabledMark]
               ,[F_Description]
               ,[F_CreatorTime]
               ,[F_CreatorUserId]
               ,[F_LastModifyTime]
               ,[F_LastModifyUserId]
               ,[F_DeleteTime]
               ,[F_DeleteUserId])
           VALUES
               (@goodlocationnum
               ,@storagenum
               ,@roadway_num
               ,@localnum
               ,1
               ,@goodlocationname
               ,@the_plattoon
               ,@the_column
               ,@the_floor
               ,1
               ,'N'
               ,NULL
               ,NULL
               ,NULL
               ,NULL
               ,NULL
               ,NULL
               ,NULL
               ,NULL
               ,NULL
               ,NULL
               ,NULL
               ,NULL
               ,NULL
               ,NULL
               ,NULL)
      end  
        end  
    END  
    commit tran  
    END try  
    begin catch  
        rollback tran  
    end catch  

    sp_batchinsert_goodlocation:

    CREATE PROCEDURE [dbo].[sp_batchinsert_goodlocation]  
     -- Add the parameters for the stored procedure here  
      @the_plattoon int,  
      @the_column int,  
      @the_floor int   
    AS  
    begin try  
    BEGIN TRANSACTION  
    BEGIN  
     -- SET NOCOUNT ON added to prevent extra result sets from  
     -- interfering with SELECT statements.  
     SET NOCOUNT ON;  
      
      declare @initplatoon int  
      declare @initcolumn int  
      declare @initfloor int  
      
     begin  
      set @initplatoon=1   
      while @initplatoon<=@the_plattoon    --循环排  
      begin   
         set @initcolumn=1  
         while @initcolumn<=@the_column    --循环列  
           begin  
              set @initfloor=1  
              while @initfloor<=@the_floor    --循环层  
                 begin  
                   print concat(@initplatoon,@initcolumn,@initfloor)
                   exec [dbo].[sp_insert_goodlocation]  @initplatoon,@initcolumn,@initfloor  --插入  
                   set @initfloor=@initfloor+1   
                 end  
                    set @initcolumn=@initcolumn+1   
            end  
         set @initplatoon=@initplatoon+1   
      end  
        end  
    END  
    commit tran  
    END try  
    begin catch  
        rollback tran  
    end catch  

    Execute:

    exec sp_batchinsert_goodlocation 8,37,5

    Result:

  • 相关阅读:
    微软企业库5.0学习笔记实战数据验证模块高级篇
    总结一些常用的CMS
    JS类库
    sql2
    前端开发必须知道的CSS
    JS实现非图片动态loading
    Microsoft SQL Server 2005 提供了一些工具来监控数据库
    js实现Tooltip
    Js动画基础
    仿iGoogle自定义首页模块拖拽
  • 原文地址:https://www.cnblogs.com/AriLee/p/10755555.html
Copyright © 2020-2023  润新知