| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- -- ============================================================
- -- 1.0.176.sql
- -- S0-WAREHOUSE-SCOPE-ZERO-DATA-GOVERNANCE-1
- --
- -- 业务目标:在「单甲方私有云、单套业务数据」口径下,把 S0 仓储 12 张主数据表
- -- 的 company_ref_id / factory_ref_id 中的 NULL / 0 / 历史值 1 统一回填为全局默认组织:
- -- 默认公司 company_ref_id = 1329900200001(S0示范公司)
- -- 默认工厂 factory_ref_id = 1329900200002(一工厂)
- --
- -- 口径与边界(用户拍板):
- -- - 本批次不启用多租户隔离判断;不使用 tenant_id 作为回填守卫;不修改 tenant_id。
- -- - 仅回填 NULL / 0 / 1 这三类「缺失或历史残留」值;不覆盖已有有效非 0/非 1 值。
- -- - 不创建 / 不修改 SysOrg;不创建 AIDOP 默认工厂(已另拍板放弃)。
- -- - 不 INSERT / DELETE / ALTER / TRUNCATE,仅 UPDATE 上述两列。
- --
- -- 幂等性:WHERE 仅命中 NULL/0/1;执行一次后这些行变为有效默认值(非 0/非 1),
- -- 再次执行命中 0 行。安全可重复执行。
- --
- -- 回滚 SQL(不可无损自动回滚):
- -- 本脚本执行前未逐行备份原 company_ref_id / factory_ref_id 原值(原值多为 0/1/NULL,
- -- 回填后无法区分「原本就是默认公司」与「由 0/1/NULL 回填而来」。
- -- 如需回滚,必须依赖外部数据库备份或审计日志,不能由本脚本自动逆向。
- -- 粗回滚示意(会误伤本就等于默认值的真实行,故默认不执行;务必优先用备份恢复):
- -- -- UPDATE DepartmentMaster SET company_ref_id = 0 WHERE company_ref_id = 1329900200001;
- -- -- UPDATE DepartmentMaster SET factory_ref_id = 0 WHERE factory_ref_id = 1329900200002;
- -- -- (其余 11 表同理;强烈不建议,请优先用备份恢复)
- -- ============================================================
- -- 1) DepartmentMaster
- UPDATE `DepartmentMaster` SET `company_ref_id` = 1329900200001 WHERE `company_ref_id` IS NULL OR `company_ref_id` IN (0, 1);
- UPDATE `DepartmentMaster` SET `factory_ref_id` = 1329900200002 WHERE `factory_ref_id` IS NULL OR `factory_ref_id` IN (0, 1);
- -- 2) EmployeeMaster
- UPDATE `EmployeeMaster` SET `company_ref_id` = 1329900200001 WHERE `company_ref_id` IS NULL OR `company_ref_id` IN (0, 1);
- UPDATE `EmployeeMaster` SET `factory_ref_id` = 1329900200002 WHERE `factory_ref_id` IS NULL OR `factory_ref_id` IN (0, 1);
- -- 3) CostCtrMaster
- UPDATE `CostCtrMaster` SET `company_ref_id` = 1329900200001 WHERE `company_ref_id` IS NULL OR `company_ref_id` IN (0, 1);
- UPDATE `CostCtrMaster` SET `factory_ref_id` = 1329900200002 WHERE `factory_ref_id` IS NULL OR `factory_ref_id` IN (0, 1);
- -- 4) LocationMaster
- UPDATE `LocationMaster` SET `company_ref_id` = 1329900200001 WHERE `company_ref_id` IS NULL OR `company_ref_id` IN (0, 1);
- UPDATE `LocationMaster` SET `factory_ref_id` = 1329900200002 WHERE `factory_ref_id` IS NULL OR `factory_ref_id` IN (0, 1);
- -- 5) LocationShelfMaster
- UPDATE `LocationShelfMaster` SET `company_ref_id` = 1329900200001 WHERE `company_ref_id` IS NULL OR `company_ref_id` IN (0, 1);
- UPDATE `LocationShelfMaster` SET `factory_ref_id` = 1329900200002 WHERE `factory_ref_id` IS NULL OR `factory_ref_id` IN (0, 1);
- -- 6) BarCodeNbr
- UPDATE `BarCodeNbr` SET `company_ref_id` = 1329900200001 WHERE `company_ref_id` IS NULL OR `company_ref_id` IN (0, 1);
- UPDATE `BarCodeNbr` SET `factory_ref_id` = 1329900200002 WHERE `factory_ref_id` IS NULL OR `factory_ref_id` IN (0, 1);
- -- 7) BarCodeType
- UPDATE `BarCodeType` SET `company_ref_id` = 1329900200001 WHERE `company_ref_id` IS NULL OR `company_ref_id` IN (0, 1);
- UPDATE `BarCodeType` SET `factory_ref_id` = 1329900200002 WHERE `factory_ref_id` IS NULL OR `factory_ref_id` IN (0, 1);
- -- 8) NbrTypeMaster
- UPDATE `NbrTypeMaster` SET `company_ref_id` = 1329900200001 WHERE `company_ref_id` IS NULL OR `company_ref_id` IN (0, 1);
- UPDATE `NbrTypeMaster` SET `factory_ref_id` = 1329900200002 WHERE `factory_ref_id` IS NULL OR `factory_ref_id` IN (0, 1);
- -- 9) NbrControl
- UPDATE `NbrControl` SET `company_ref_id` = 1329900200001 WHERE `company_ref_id` IS NULL OR `company_ref_id` IN (0, 1);
- UPDATE `NbrControl` SET `factory_ref_id` = 1329900200002 WHERE `factory_ref_id` IS NULL OR `factory_ref_id` IN (0, 1);
- -- 10) ItemPackMaster
- UPDATE `ItemPackMaster` SET `company_ref_id` = 1329900200001 WHERE `company_ref_id` IS NULL OR `company_ref_id` IN (0, 1);
- UPDATE `ItemPackMaster` SET `factory_ref_id` = 1329900200002 WHERE `factory_ref_id` IS NULL OR `factory_ref_id` IN (0, 1);
- -- 11) EmpWorkDutyMaster
- UPDATE `EmpWorkDutyMaster` SET `company_ref_id` = 1329900200001 WHERE `company_ref_id` IS NULL OR `company_ref_id` IN (0, 1);
- UPDATE `EmpWorkDutyMaster` SET `factory_ref_id` = 1329900200002 WHERE `factory_ref_id` IS NULL OR `factory_ref_id` IN (0, 1);
- -- 12) wms_rwzp(当前空表,影响 0 行,保留语句以保持 12 表清单完整)
- UPDATE `wms_rwzp` SET `company_ref_id` = 1329900200001 WHERE `company_ref_id` IS NULL OR `company_ref_id` IN (0, 1);
- UPDATE `wms_rwzp` SET `factory_ref_id` = 1329900200002 WHERE `factory_ref_id` IS NULL OR `factory_ref_id` IN (0, 1);
|