智慧车间雾端业务数据清理方案
【应用场景】
智慧车间云雾端运行一段时间之后,雾端业务数据已经同步到云端,就可以清除一些雾端数据,以节省磁盘空间。
一方面,系统提供了“日志清除控制列表”,用于配置需要清除的日志、流水类非业务型数据,并通过执行计划“车间日志自动清理”进行定期清除。
另一方面,对于业务类数据,如工序汇报、投入物料类的单据,则可以通过配置数据库存储过程进行清除。
【注意事项】
该实现方案以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_METERGATHERQUERY.FID); DELETE FROM T_SFC_METERGATHERQUERY_L WHERE EXISTS(SELECT 1 FROM T_TMP_DELETEMETERGATHER WHERE T_TMP_DELETEMETERGATHER.FID = T_SFC_METERGATHERQUERY_L.FID); --删除仪表采集值历史 SELECT M.FID,ME.FENTRYID INTO T_TMP_DELETEMETERGATHERHIS FROM T_SFC_METERGATHERHIS M INNER JOIN T_SFC_METERGATHERHISENTRY ME ON ME.FID=M.FID WHERE M.FCREATEDATE BETWEEN @datefrom AND @dateto ; DELETE FROM T_SFC_METERGATHERHIS WHERE EXISTS(SELECT 1 FROM T_TMP_DELETEMETERGATHERHIS WHERE T_TMP_DELETEMETERGATHERHIS.FID = T_SFC_METERGATHERHIS.FID); DELETE FROM T_SFC_METERGATHERHISENTRY WHERE EXISTS(SELECT 1 FROM T_TMP_DELETEMETERGATHERHIS WHERE T_TMP_DELETEMETERGATHERHIS.FENTRYID = T_SFC_METERGATHERHISENTRY.FENTRYID); DELETE FROM T_SFC_METERGATHERHISENTRY_L WHERE EXISTS(SELECT 1 FROM T_TMP_DELETEMETERGATHERHIS WHERE T_TMP_DELETEMETERGATHERHIS.FENTRYID = T_SFC_METERGATHERHISENTRY_L.FENTRYID); --删除设备集成日志 SELECT L.FID INTO T_TMP_DELETEDEVICELOG FROM T_SFC_DEVICESYNLOG L WHERE L.FRUNTIME BETWEEN @datefrom AND @dateto ; DELETE FROM T_SFC_DEVICESYNLOG WHERE EXISTS(SELECT 1 FROM T_TMP_DELETEDEVICELOG WHERE T_TMP_DELETEDEVICELOG.FID = T_SFC_DEVICESYNLOG.FID); DELETE FROM T_SFC_DEVICESYNLOGENTRY WHERE EXISTS(SELECT 1 FROM T_TMP_DELETEDEVICELOG WHERE T_TMP_DELETEDEVICELOG.FID = T_SFC_DEVICESYNLOGENTRY.FID); --删除消息队列关联单据表 DELETE FROM T_SFC_MSGQUEUEBILLLINK WHERE FEXECUTETIME BETWEEN @datefrom AND @dateto ; --删除上机日志 DELETE FROM T_BAS_OPERATELOGBK WHERE FDATETIME BETWEEN @datefrom AND @dateto ; --删除临时表 DROP TABLE T_TMP_CLOSEDMOENTRY; DROP TABLE T_TMP_DELETERPT; DROP TABLE T_TMP_DELETEINPUTMATERIAL; DROP TABLE T_TMP_DELETEMETERGATHER; DROP TABLE T_TMP_DELETEMETERGATHERHIS; DROP TABLE T_TMP_DELETEDEVICELOG; end go
<2>备份数据库,然后按照时间段进行数据清理
格式:EXEC sp_sfcClearClosedMODatas '起始日期yyyy-MM-dd','结束日期yyyy-MM-dd'
例如,删除2021年1月1号到2021年12月31号的数据:
EXEC sp_sfcClearClosedMODatas '2021-01-01','2021-12-31'
智慧车间雾端业务数据清理方案
【应用场景】智慧车间云雾端运行一段时间之后,雾端业务数据已经同步到云端,就可以清除一些雾端数据,以节省磁盘空间。一方面,系统提供了...
点击下载文档
本文2024-09-23 03:26:37发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-158893.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
- 鼎捷EAI整合規範文件V3.1.07 (集團).pdf
- 鼎捷OpenAPI應用場景說明_基礎資料.pdf
- 鼎捷OpenAPI應用場景說明_財務管理.pdf
- 鼎捷T100 API設計器使用手冊T100 APIDesigner(V1.0).docx
- 鼎新e-GoB2雲端ERP B2 線上課程E6-2應付票據整批郵寄 領取.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程A4使用者建立權限設定.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程C3會計開帳與會計傳票.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程E6-1應付票據.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程A5-1進銷存參數設定(初階篇).pdf
- 鼎新e-GoB2雲端ERP B2 線上課程D2帳款開帳與票據開帳.pdf
热门文章