zoukankan      html  css  js  c++  java
  • 2016-5-13

    测试不能偷懒,一个小bug以后可能引起更麻烦的bug,很难下手

    ctrl+alt+tab:桌面应用特效

    10天没写了。。。伤心,漏掉了不少东西

    数据同步完成,顺便保存一下

    declare @gsmc varchar(50)
    	declare @prjkey varchar(50)
    	declare @prjsum varchar(50)
    	declare @khbh varchar(50)
    	declare @gsdz varchar(50)
    	declare @sum varchar(50)
    	declare @gsdz_key varchar(50)
    	declare @gsdz_sum varchar(50)
    	declare @floor_key varchar(50)
    	declare @floor_name varchar(50)
    	declare @floor_sum varchar(50)
    	declare @floor_code varchar(50)
    	declare @room_key varchar(50)
    	declare @room_name varchar(50)
    	declare @room_sum varchar(50)
    	declare @room_code varchar(50)
    	declare @cabinet_key varchar(50)
    	declare @cabinet_name varchar(50)
    	declare @cabinet_sum varchar(50)
    	declare @cabinet_code varchar(50)
    	declare @key varchar(50)
    	declare @datatype char(1)
    	declare @weizhixinxi_key varchar(50)
    	declare @root_key varchar(50)
    
    	declare cursor_project cursor for
    			select prjname,prjkey from VisualNet_Project
    
    			open cursor_project
    
    			fetch next from cursor_project into @gsmc,@prjkey
    
    			while @@FETCH_STATUS=0
    			begin				
    				
    				select @root_key="key" from VisualNet_tvwPrj where prjkey = @prjkey and "relative" = 'root'
    				
    				
    				declare cursor_gsdz cursor for
    											select "key","text" from VisualNet_tvwPrj where prjkey = @prjkey and "relative"= @root_key
    				
    				open cursor_gsdz
    				fetch next from cursor_gsdz into @gsdz_key,@gsdz
    				while @@FETCH_STATUS=0 
    				begin
    					select @sum = COUNT(1) from VisualNetKey where PrjectKey = @prjkey and CustomerAddress = @gsdz and DeleteFlg = 0
    					select @khbh = CustomerCode from VisualNetKey where PrjectKey = @prjkey and CustomerAddress = @gsdz and DeleteFlg = 0
    					if(@sum = 0)
    					begin
    						select @prjsum=COUNT(1) from Customers where gsmc = @gsmc and gsdz = @gsdz
    						if(@prjsum = 0)
    						begin
    							select @khbh = MAX(khbh+1) from Customers
    							if(@khbh is null)
    							begin
    								set @khbh = '0001'
    							end
    							else
    							begin
    								set @khbh = RIGHT(('0000'+@khbh),4)
    							end
    							
    							
    							insert into Customers(khbh,gsmc,gsdz,gsdh) values(@khbh,@gsmc,@gsdz,'')
    							insert into VisualNetKey(PrjectKey,ItemKey,CustomerCode,CustomerAddress,DataType,SyncFlg,DeleteFlg) values(@prjkey,'',@khbh,@gsdz,0,1,0)
    						end
    						else
    						begin
    							select @khbh=khbh from Customers where gsmc = @gsmc and gsdz = @gsdz
    							insert into VisualNetKey(PrjectKey,ItemKey,CustomerCode,CustomerAddress,DataType,SyncFlg,DeleteFlg) values(@prjkey,'',@khbh,@gsdz,0,1,0)
    						end
    					end
    					else
    					begin
    						update VisualNetKey set SyncFlg = 1 where PrjectKey = @prjkey and CustomerCode = @khbh and CustomerAddress = @gsdz and DataType = 0 
    					end
    					fetch next from cursor_gsdz into @gsdz_key,@gsdz
    						
    				end
    				close cursor_gsdz
    				deallocate cursor_gsdz
    				
    				
    				
    				
    				--位置信息
    				
    				select @weizhixinxi_key = "key" from VisualNet_tvwPrj where prjkey = @prjkey and "relative" = 'root'
    				
    				
    				--地址
    				declare cursor_gsdz cursor for
    										select "key","text" from VisualNet_tvwPrj where prjkey = @prjkey and "relative" = @weizhixinxi_key
    				open cursor_gsdz
    				fetch next from cursor_gsdz into @gsdz_key,@gsdz
    				while @@FETCH_STATUS=0
    				begin
    					select @gsdz_sum = COUNT(1) from VisualNetKey where ItemKey = @gsdz_key and DeleteFlg = 0
    					select @gsdz = CustomerAddress from VisualNetKey where ItemKey = @gsdz_key and DeleteFlg = 0
    					if(@gsdz_sum = 0)
    					begin
    						insert into VisualNetKey(PrjectKey,ItemKey,CustomerCode,CustomerAddress,DataType,SyncFlg,DeleteFlg) values(@prjkey,@gsdz_key,@khbh,@gsdz,1,1,0)
    					end
    					else
    					begin
    						update VisualNetKey set SyncFlg = 1 where PrjectKey = @prjkey and CustomerCode = @khbh and CustomerAddress = @gsdz and DataType = 1
    					end
    					
    					--楼层
    					declare cursor_floor cursor for
    										select "key","text" from VisualNet_tvwPrj where prjkey = @prjkey and "relative" = @gsdz_key
    					
    					open cursor_floor
    					fetch next from cursor_floor into @floor_key,@floor_name
    					while @@FETCH_STATUS=0
    					begin
    						select @floor_sum = COUNT(1) from VisualNetKey where ItemKey = @floor_key and PrjectKey = @prjkey and CustomerAddress = @gsdz and DeleteFlg = 0
    						select @floor_code = FloorCode from VisualNetKey where ItemKey = @floor_key and PrjectKey = @prjkey and CustomerAddress = @gsdz and DeleteFlg = 0
    						if(@floor_sum = 0)
    						begin
    							select @floor_code = MAX(floorcode+1) from CustomersFloor
    							if(@floor_code is null)
    							begin
    								set @floor_code = '000001'
    							end
    							else
    							begin
    								set @floor_code = RIGHT(('000000'+@floor_code),6)
    							end
    							select @khbh = khbh from Customers where gsmc = @gsmc and gsdz = @gsdz
    							insert into CustomersFloor(customercode,floorcode,floorname,floordevice) values(@khbh,@floor_code,@floor_name,0)
    							insert into VisualNetKey(PrjectKey,ItemKey,CustomerCode,CustomerAddress,FloorCode,DataType,SyncFlg,DeleteFlg) values(@prjkey,@floor_key,@khbh,@gsdz,@floor_code,2,1,0)
    						end
    						else
    						begin
    							update CustomersFloor set floorname = @floor_name where floorcode = @floor_code
    							update VisualNetKey set SyncFlg = 1 where FloorCode = @floor_code and DataType = 2
    						end
    						
    						
    						--房间
    						declare cursor_room cursor for
    										select "key","text" from VisualNet_tvwPrj where prjkey = @prjkey and "relative" = @floor_key
    					
    						open cursor_room
    						fetch next from cursor_room into @room_key,@room_name
    						while @@FETCH_STATUS=0
    						begin
    							select @room_sum = COUNT(1) from VisualNetKey where ItemKey = @room_key and PrjectKey = @prjkey and CustomerAddress = @gsdz and DeleteFlg = 0
    							select @room_code = RoomCode from VisualNetKey where ItemKey = @room_key and PrjectKey = @prjkey and CustomerAddress = @gsdz and DeleteFlg = 0
    							if(@room_sum = 0)
    							begin
    								select @room_code = MAX(roomcode+1) from CustomersRoom
    								if(@room_code is null)
    								begin
    									set @room_code = '000001'
    								end
    								else
    								begin
    									set @room_code = RIGHT(('000000'+@room_code),6)
    								end
    								select @khbh = khbh from Customers where gsmc = @gsmc and gsdz = @gsdz
    								insert into CustomersRoom(customercode,floorcode,roomcode,roomname,roomdevice) values(@khbh,@floor_code,@room_code,@room_name,0)
    								insert into VisualNetKey(PrjectKey,ItemKey,CustomerCode,CustomerAddress,FloorCode,RoomCode,DataType,SyncFlg,DeleteFlg) values(@prjkey,@room_key,@khbh,@gsdz,@floor_code,@room_code,3,1,0)
    							end
    							else
    							begin
    								update CustomersRoom set roomname = @room_name where roomcode = @room_code
    								update VisualNetKey set SyncFlg = 1 where RoomCode = @room_code and DataType =3
    							end
    							
    							
    							--机柜
    							declare cursor_cabinet cursor for
    										select "key","text" from VisualNet_tvwPrj where prjkey = @prjkey and "relative" = @room_key
    					
    							open cursor_cabinet
    							fetch next from cursor_cabinet into @cabinet_key,@cabinet_name
    							while @@FETCH_STATUS=0
    							begin
    								select @cabinet_sum = COUNT(1) from VisualNetKey where ItemKey = @cabinet_key and PrjectKey = @prjkey and CustomerAddress = @gsdz and DeleteFlg = 0
    								select @cabinet_code = CabinetCode from VisualNetKey where ItemKey = @cabinet_key and PrjectKey = @prjkey and CustomerAddress = @gsdz and DeleteFlg = 0
    								if(@cabinet_sum = 0)
    								begin
    									select @cabinet_code = MAX(cabinetcode+1) from CustomersCabinet
    									if(@cabinet_code is null)
    									begin
    										set @cabinet_code = '000001'
    									end
    									else
    									begin
    										set @cabinet_code = RIGHT(('000000'+@cabinet_code),6)
    									end
    									select @khbh = khbh from Customers where gsmc = @gsmc and gsdz = @gsdz
    									insert into CustomersCabinet(customercode,floorcode,roomcode,cabinetcode,cabinetname,cabinetdevice) values(@khbh,@floor_code,@room_code,@cabinet_code,@cabinet_name,0)
    									insert into VisualNetKey(PrjectKey,ItemKey,CustomerCode,CustomerAddress,FloorCode,RoomCode,CabinetCode,DataType,SyncFlg,DeleteFlg) values(@prjkey,@cabinet_key,@khbh,@gsdz,@floor_code,@room_code,@cabinet_code,4,1,0)
    								end
    								else
    								begin
    									update CustomersCabinet set cabinetname = @cabinet_name where cabinetcode = @cabinet_code
    									update VisualNetKey set SyncFlg = 1 where CabinetCode = @cabinet_code and DataType =4
    								end
    								fetch next from cursor_cabinet into @cabinet_key,@cabinet_name
    								end
    								close cursor_cabinet
    								deallocate cursor_cabinet
    								
    							
    							fetch next from cursor_room into @room_key,@room_name
    							end
    							close cursor_room
    							deallocate cursor_room
    								
    						fetch next from cursor_floor into @floor_key,@floor_name
    					end
    					close cursor_floor
    					deallocate cursor_floor
    					
    					fetch next from cursor_gsdz into @gsdz_key,@gsdz	
    				end
    				close cursor_gsdz
    				deallocate cursor_gsdz
    				
    				fetch next from cursor_project into @gsmc,@prjkey
    			end
    
    			close cursor_project
    			deallocate cursor_project
    			
    			update VisualNetKey set DeleteFlg = 1 where SyncFlg = 0;
    				
    				declare cursor_del cursor for
    						select PrjectKey,ItemKey,CustomerCode,CustomerAddress,FloorCode,RoomCode,CabinetCode,datatype from VisualNetKey where DeleteFlg = 1
    				open cursor_del
    				
    				fetch next from cursor_del into @prjkey,@key,@khbh,@gsdz,@floor_code,@room_code,@cabinet_code,@datatype
    				while @@FETCH_STATUS=0
    				begin
    					if(@datatype = 2)
    					begin
    						delete from CustomersFloor where floorcode = @floor_code
    					end
    					if(@datatype = 3)
    					begin
    						delete from CustomersRoom where roomcode = @room_code
    					end
    					if(@datatype = 4)
    					begin
    						delete from CustomersCabinet where cabinetcode = @cabinet_code
    						delete from AssetSb where lxcode = @cabinet_code
    					end
    					fetch next from cursor_del into @prjkey,@key,@khbh,@gsdz,@floor_code,@room_code,@cabinet_code,@datatype
    				end
    				close cursor_del
    				deallocate cursor_del
    				update VisualNetKey set SyncFlg = 0;
    
  • 相关阅读:
    敏捷教练要如何平衡工作与生活
    CSS 盒模型
    解决浩方显示no ping的问题,罪魁祸首在NOD32的设置上
    关于一个JS功能实现的思维方式
    10个最好的免费Javascript图表生成方案
    微软对Dynamics CRM的开发工具和SaaS功能做出升级
    MSDeploy:让部署和同步网站自动化
    Javascript的私有成员
    简单的字符串模板
    敏捷合同编写指南
  • 原文地址:https://www.cnblogs.com/xiaoguangit/p/5490269.html
Copyright © 2011-2022 走看看