/*处理门店是否可调进售价标志*/  
 --1.总部执行,批量对标志赋值 
 alter table item disable trigger all 
 alter table item_branch disable trigger all 
 if (select isnull(max(system_value),'0') from sys_option where system_id = 'fsxsptj_need_apply') = '1'  
 begin  
   --把所有类别是生鲜的称重、计数商品改为允许分店自行调价 
 update x set flag3 = '1', flag5 = '1' 
   from item x 
  inner join ( 
 select distinct bi.item_no  
   from item bi 
  inner join ba_cls_info cls on fresh_flag = '1' and bi.class_no like rtrim(cls.class_no)+'%' 
  where bi.weight_flag in('1', '2') 
    and (isnull(bi.flag3,'') <> '1' or isnull(bi.flag5,'') <> '1') 
              ) z on z.item_no = x.item_no 
 
 update x set flag3 = '1', flag5 = '1' 
   from item_branch x 
  inner join ( 
 select distinct bi.item_no  
   from item bi 
  inner join ba_cls_info cls on fresh_flag = '1' and bi.class_no like rtrim(cls.class_no)+'%' 
  where bi.weight_flag in('1', '2') 
    and (isnull(bi.flag3,'') <> '1' or isnull(bi.flag5,'') <> '1') 
              ) z on z.item_no = x.item_no 
 end  
 else  
 begin  
   --把所有商品改为允许分店自行调价 
   update item set flag3='1', flag5='1' where isnull(flag3,'') <> '1' or isnull(flag5,'') <> '1' 
   update item_branch set flag3='1', flag5='1'  where isnull(flag3,'') <> '1' or isnull(flag5,'') <> '1'  
 end 
 alter table item enable trigger all 
 alter table item_branch enable trigger all 
 
 --2.总部分店表标志同步等于基本信息标志 
 update x set flag3 = z.flag3, flag5 = z.flag5 
   from item_branch x 
  inner join item z    on z.item_no = x.item_no  
  where isnull(x.flag3, '') <> z.flag3 or isnull(x.flag5, '') <> z.flag5 
 
 --------***注意:以上命令在总部执行,下面的命令分店执行***--------------------- 
 --------***注意:以上命令在总部执行,下面的命令分店执行***--------------------- 
 
 --3.分店同步总部的标志 
 alter table item_branch disable trigger all 
 update x set flag3 = z.flag3, flag5 = z.flag5 
   from item_branch x 
  inner join opendatasource('sqloledb', 'data source=tiger_hq_ms;user id=huwei;password=sztiger').tigerzz.dbo.item_branch z 
     on z.item_no = x.item_no and z.branch_no = x.branch_no 
  where isnull(x.flag3, '') <> z.flag3 or isnull(x.flag5, '') <> z.flag5 
 alter table item_branch enable trigger all 
 
 alter table item disable trigger all 
 update x set flag3 = z.flag3, flag5 = z.flag5 
   from item x 
  inner join opendatasource('sqloledb', 'data source=tiger_hq_ms;user id=huwei;password=sztiger').tigerzz.dbo.item z 
     on z.item_no = x.item_no 
  where isnull(x.flag3, '') <> z.flag3 or isnull(x.flag5, '') <> z.flag5 
 alter table item enable trigger all 
 
 alter table item_branch disable trigger all 
 update x set flag3 = z.flag3, flag5 = z.flag5 
   from item_branch x 
  inner join item z    on z.item_no = x.item_no  
  where isnull(x.flag3, '') <> z.flag3 or isnull(x.flag5, '') <> z.flag5 
 
 delete x 
   from item_branch x 
   left join  opendatasource('sqloledb', 'data source=tiger_hq_ms;user id=huwei;password=sztiger').tigerzz.dbo.item_branch z 
        on  z.item_no = x.item_no and z.branch_no = x.branch_no 
  where z.item_no is null 
 alter table item_branch enable trigger all