/*处理门店是否可调进售价标志*/
--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