| | |
| | | |
| | | import cn.hutool.core.date.DateUtil; |
| | | import cn.hutool.core.date.TimeInterval; |
| | | import cn.hutool.core.thread.ThreadUtil; |
| | | import cn.hutool.core.util.ArrayUtil; |
| | | import cn.hutool.core.util.RandomUtil; |
| | | import com.alibaba.fastjson.JSONObject; |
| | |
| | | dao.closeConnection(); |
| | | } |
| | | dao = new DataBaseEntity(deleteDataSourceArray[j]).getDao(); |
| | | Connection connection = dao.getConnection(); |
| | | connection.setAutoCommit(false); |
| | | do { |
| | | list = dao.getList(deleteDataTable, configFse.getString("delete_select_filter"), new Object[]{}, 1, pageSize); |
| | | // String sql = "SELECT * FROM (SELECT * from " + deleteDataTable + " where " + configFse.getString("delete_select_filter") + " order by " + deleteUniqueField + " ) A "; |
| | | // if (!Objects.isNull(minID) && !Objects.isNull(maxID)) { |
| | | // sql += " where " + deleteUniqueField + " > " + maxID; |
| | | // } |
| | | String filter = configFse.getString("delete_select_filter"); |
| | | if (!Objects.isNull(minID) && !Objects.isNull(maxID)) { |
| | | filter += " and ( " + deleteUniqueField + " > " + maxID + ")"; |
| | | } |
| | | list = dao.getList(deleteDataTable, filter, new Object[]{}, deleteUniqueField, 1, pageSize); |
| | | WriteUtil.append("DA-删除子库数据-表名:" + deleteDataTable); |
| | | if (DataTableEntity.isEmpty(list)) { |
| | | break; |
| | |
| | | Map<String, Map> collectMap = validationData.getData().stream().collect(Collectors.toMap( |
| | | (item) -> item.getString(validationUniqueField), |
| | | item -> item.getValues())); |
| | | validationData = null; |
| | | List<String> deleteUniqueValueList = new ArrayList<>(); |
| | | for (int i = 0; i < list.getRows(); i++) { |
| | | FieldSetEntity fs = list.getFieldSetEntity(i); |
| | |
| | | deleteSuccessCount += dao.deleteRInt(configFse.getString("delete_data_table"), |
| | | BaseUtil.buildQuestionMarkFilter(deleteUniqueField, deleteUniqueValueList.size(), true), deleteUniqueValueList.toArray()); |
| | | WriteUtil.append("DA-删除子库数据-已经删除条数:" + deleteSuccessCount); |
| | | |
| | | } |
| | | } while (currentCount == pageSize); |
| | | connection.commit(); |
| | | } |
| | | journalEntity.setResult(1); |
| | | journalEntity.setMin_id(minID); |
| | |
| | | String sourceTable = configFse.getString("source_table"); |
| | | boolean canExecuteClearFlag = canExecuteClear(sourceTable); |
| | | String deleteSubLogUUID = null; |
| | | |
| | | if (canExecuteClearFlag) { |
| | | WriteUtil.append("DA-删除扫码库》》》"); |
| | | //删除扫码库已提取到mes主库且根据配置条件过滤的数据 KT特有 |
| | | deleteSubLogUUID = this.sweepCodeLibrary(configFse); |
| | | WriteUtil.append("DA-删除扫码库耗时:" + tempTestTimer.intervalMs()); |
| | | // deleteSubLogUUID = this.sweepCodeLibrary(configFse); |
| | | //更改为异步执行 |
| | | ThreadUtil.execAsync(() -> { |
| | | try { |
| | | sweepCodeLibrary(configFse); |
| | | } catch (SQLException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | //来源数据源 |
| | |
| | | |
| | | /** |
| | | * 清理归档重复数据 |
| | | * |
| | | * @param sourceTable |
| | | * @param targetTableSet |
| | | * @param uniqueField |
| | |
| | | |
| | | /** |
| | | * 清理判定,每天切换的时候可以执行一次 |
| | | * |
| | | * @param tableName |
| | | * @return |
| | | */ |