智慧车间雾端业务数据清理方案

【应用场景】
智慧车间云雾端运行一段时间之后,雾端业务数据已经同步到云端,就可以清除一些雾端数据,以节省磁盘空间。
一方面,系统提供了“日志清除控制列表”,用于配置需要清除的日志、流水类非业务型数据,并通过执行计划“车间日志自动清理”进行定期清除。
另一方面,对于业务类数据,如工序汇报、投入物料类的单据,则可以通过配置数据库存储过程进行清除。
【注意事项】
该实现方案以Sql Server数据库为例,涉及到业务数据的清理,为避免误操作,需要先对数据库进行备份,以便恢复。
【实现步骤】
<1>执行如下存储过程:
--删除指定时间段内的业务数据
create procedure sp_sfcClearClosedMODatas(@datefrom datetime, @dateto datetime)
as
begin
--查询满足删除条件的工单分录Id
SELECT MOEA.FENTRYID
INTO T_TMP_CLOSEDMOENTRY
FROM T_PRD_MO MO
INNER JOIN T_PRD_MOENTRY_A MOEA ON MOEA.FID=MO.FID
WHERE MO.FDATE BETWEEN @datefrom AND @dateto
AND MOEA.FSTATUS IN ('6','7');
--满足删除条件的工序汇报Id和分录Id
SELECT RE.FID,RE.FENTRYID
INTO T_TMP_DELETERPT
FROM T_SFC_OPTRPTENTRY RE
INNER JOIN T_TMP_CLOSEDMOENTRY MO ON MO.FENTRYID=RE.FMOENTRYID;
--删除工序汇报
DELETE FROM T_SFC_OPTRPT
WHERE EXISTS(SELECT 1 FROM T_TMP_DELETERPT WHERE T_TMP_DELETERPT.FID = T_SFC_OPTRPT.FID);
DELETE FROM T_SFC_OPTRPT_L
WHERE EXISTS(SELECT 1 FROM T_TMP_DELETERPT WHERE T_TMP_DELETERPT.FID = T_SFC_OPTRPT_L.FID);
DELETE FROM T_SFC_OPTRPTENTRY
WHERE EXISTS(SELECT 1 FROM T_TMP_DELETERPT WHERE T_TMP_DELETERPT.FENTRYID = T_SFC_OPTRPTENTRY.FENTRYID);
DELETE FROM T_SFC_OPTRPTENTRY_A
WHERE EXISTS(SELECT 1 FROM T_TMP_DELETERPT WHERE T_TMP_DELETERPT.FENTRYID = T_SFC_OPTRPTENTRY_A.FENTRYID);
DELETE FROM T_SFC_OPTRPTENTRY_B
WHERE EXISTS(SELECT 1 FROM T_TMP_DELETERPT WHERE T_TMP_DELETERPT.FENTRYID = T_SFC_OPTRPTENTRY_B.FENTRYID);
DELETE FROM T_SFC_OPTRPTENTRY_C
WHERE EXISTS(SELECT 1 FROM T_TMP_DELETERPT WHERE T_TMP_DELETERPT.FENTRYID = T_SFC_OPTRPTENTRY_C.FENTRYID);
DELETE FROM T_SFC_OPTRPTENTRY_L
WHERE EXISTS(SELECT 1 FROM T_TMP_DELETERPT WHERE T_TMP_DELETERPT.FENTRYID = T_SFC_OPTRPTENTRY_L.FENTRYID);
DELETE FROM T_SFC_OPTRPTDETAIL
WHERE EXISTS(SELECT 1 FROM T_TMP_DELETERPT WHERE T_TMP_DELETERPT.FENTRYID = T_SFC_OPTRPTDETAIL.FENTRYID);
DELETE FROM T_SFC_OPTRPTENTRYEMPS
WHERE EXISTS(SELECT 1 FROM T_TMP_DELETERPT WHERE T_TMP_DELETERPT.FENTRYID = T_SFC_OPTRPTENTRYEMPS.FENTRYID);
DELETE FROM T_SFC_OPTRPTENTRYPRDSERIAL
WHERE EXISTS(SELECT 1 FROM T_TMP_DELETERPT WHERE T_TMP_DELETERPT.FENTRYID = T_SFC_OPTRPTENTRYPRDSERIAL.FENTRYID);
--满足删除条件的投入物料Id
SELECT M.FID
INTO T_TMP_DELETEINPUTMATERIAL
FROM T_SFC_INPUTMATERIAL M
INNER JOIN T_TMP_DELETERPT RPT ON RPT.FENTRYID=M.FOPTRPTENTRYID;
--删除投入物料
DELETE FROM T_SFC_INPUTMATERIAL
WHERE EXISTS(SELECT 1 FROM T_TMP_DELETEINPUTMATERIAL WHERE T_TMP_DELETEINPUTMATERIAL.FID = T_SFC_INPUTMATERIAL.FID);
DELETE FROM T_SFC_INPUTMATERIALENTRY
WHERE EXISTS(SELECT 1 FROM T_TMP_DELETEINPUTMATERIAL WHERE T_TMP_DELETEINPUTMATERIAL.FID = T_SFC_INPUTMATERIALENTRY.FID);
--删除仪表采集值查询
SELECT M.FID
INTO T_TMP_DELETEMETERGATHER
FROM T_SFC_METERGATHERQUERY M
WHERE M.FGATHERTIME BETWEEN @datefrom AND @dateto ;
DELETE FROM T_SFC_METERGATHERQUERY
WHERE EXISTS(SELECT 1 FROM T_TMP_DELETEMETERGATHER WHERE T_TMP_DELETEMETERGATHER.FID = T_SFC智慧车间雾端业务数据清理方案
【应用场景】智慧车间云雾端运行一段时间之后,雾端业务数据已经同步到云端,就可以清除一些雾端数据,以节省磁盘空间。一方面,系统提供了...
点击下载文档文档为doc格式
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
上一篇
已经是第一篇



