zoukankan      html  css  js  c++  java
  • 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:

  • 相关阅读:
    手机比电脑的优势
    Windows XP SP2 下防火墙规则的设置、开发等相关问题
    初识JQuery 实例一
    “周涛、马东、刘伟座谈马季老先生生平艺术生涯”观后感
    Official WPF Samples
    MFC 操作Windows Service,编码遇到的问题。
    WCF RIA Services Code Gallary To Explorer
    Asp.net 得到Cookie中值
    c# 隨機獲得枚舉值
    database link 與 同義詞的了解
  • 原文地址:https://www.cnblogs.com/AriLee/p/10755555.html
Copyright © 2011-2022 走看看