添加数据同步代码
This commit is contained in:
@@ -57,9 +57,12 @@ public enum ServiceTypeEnum {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public static List<String> getExecutableTypes() {
|
public static List<String> getExecutableTypes() {
|
||||||
return Arrays.stream(ServiceTypeEnum.values()).map(ServiceTypeEnum::name).collect(Collectors.toList());
|
return Arrays.stream(ServiceTypeEnum.values()).map(tmep->{
|
||||||
|
return tmep.code;
|
||||||
|
}).collect(Collectors.toList());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 通过code获取枚举值
|
* 通过code获取枚举值
|
||||||
* @param code
|
* @param code
|
||||||
|
|||||||
@@ -9,7 +9,9 @@ import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
|
|||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
import java.time.LocalDate;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@@ -34,22 +36,14 @@ public class JobDetail {
|
|||||||
* 起始时间
|
* 起始时间
|
||||||
*/
|
*/
|
||||||
@JsonFormat(
|
@JsonFormat(
|
||||||
pattern = "yyyy-MM-dd HH:mm:ss"
|
pattern = "yyyy-MM-dd"
|
||||||
)
|
)
|
||||||
@MppMultiId(value = "START_TIME")
|
@MppMultiId(value = "EXCUTE_DATE")
|
||||||
private LocalDateTime startTime;
|
private LocalDate excuteDate;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 截止时间
|
* 状态(0-执行中、1-成功、2-失败,3未执行)
|
||||||
*/
|
|
||||||
@JsonFormat(
|
|
||||||
pattern = "yyyy-MM-dd HH:mm:ss"
|
|
||||||
)
|
|
||||||
@MppMultiId(value = "END_TIME")
|
|
||||||
private LocalDateTime endTime;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 状态(0-执行中、1-成功、2-失败)
|
|
||||||
*/
|
*/
|
||||||
@TableField(value = "STATE")
|
@TableField(value = "STATE")
|
||||||
private Integer state;
|
private Integer state;
|
||||||
@@ -65,5 +59,17 @@ public class JobDetail {
|
|||||||
@TableField(value = "UPDATE_TIME")
|
@TableField(value = "UPDATE_TIME")
|
||||||
private LocalDateTime updateTime;
|
private LocalDateTime updateTime;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object o) {
|
||||||
|
if (this == o) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (o == null || getClass() != o.getClass()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
JobDetail jobDetail = (JobDetail) o;
|
||||||
|
return Objects.equals(tableName, jobDetail.tableName) && Objects.equals(excuteDate, jobDetail.excuteDate);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -5,8 +5,7 @@
|
|||||||
<!--@mbg.generated-->
|
<!--@mbg.generated-->
|
||||||
<!--@Table JOB_DETAIL-->
|
<!--@Table JOB_DETAIL-->
|
||||||
<id column="TABLE_NAME" jdbcType="VARCHAR" property="tableName" />
|
<id column="TABLE_NAME" jdbcType="VARCHAR" property="tableName" />
|
||||||
<id column="START_TIME" jdbcType="TIMESTAMP" property="startTime" />
|
<id column="EXCUTE_DATE" jdbcType="TIMESTAMP" property="excuteDate" />
|
||||||
<id column="END_TIME" jdbcType="TIMESTAMP" property="endTime" />
|
|
||||||
<id column="STATE" jdbcType="DECIMAL" property="state" />
|
<id column="STATE" jdbcType="DECIMAL" property="state" />
|
||||||
<result column="ROW_COUNT" jdbcType="DECIMAL" property="rowCount" />
|
<result column="ROW_COUNT" jdbcType="DECIMAL" property="rowCount" />
|
||||||
<result column="UPDATE_TIME" jdbcType="TIMESTAMP" property="updateTime" />
|
<result column="UPDATE_TIME" jdbcType="TIMESTAMP" property="updateTime" />
|
||||||
@@ -19,7 +18,7 @@
|
|||||||
<select id="query" resultMap="BaseResultMap">
|
<select id="query" resultMap="BaseResultMap">
|
||||||
select * from ( select row_.*, rownum rownum_ from (
|
select * from ( select row_.*, rownum rownum_ from (
|
||||||
select * from JOB_DETAIL a where 1=1
|
select * from JOB_DETAIL a where 1=1
|
||||||
and a.START_TIME between #{jobQueryParam.startTime,jdbcType=DATE} and #{jobQueryParam.endTime,jdbcType=DATE}
|
and a.EXCUTE_DATE between #{jobQueryParam.startTime,jdbcType=DATE} and #{jobQueryParam.endTime,jdbcType=DATE}
|
||||||
<if test="jobQueryParam.states!=null and jobQueryParam.states.size()!=0">
|
<if test="jobQueryParam.states!=null and jobQueryParam.states.size()!=0">
|
||||||
AND a.STATE IN
|
AND a.STATE IN
|
||||||
<foreach collection="jobQueryParam.states" item="item" open="(" close=")" separator=",">
|
<foreach collection="jobQueryParam.states" item="item" open="(" close=")" separator=",">
|
||||||
@@ -32,7 +31,7 @@
|
|||||||
#{item}
|
#{item}
|
||||||
</foreach>
|
</foreach>
|
||||||
</if>
|
</if>
|
||||||
order by a.START_TIME desc
|
order by a.EXCUTE_DATE desc
|
||||||
) row_
|
) row_
|
||||||
where rownum <= #{jobQueryParam.currentPage} * #{jobQueryParam.pageSize} ) where rownum_ > (#{jobQueryParam.currentPage} - 1) * #{jobQueryParam.pageSize}
|
where rownum <= #{jobQueryParam.currentPage} * #{jobQueryParam.pageSize} ) where rownum_ > (#{jobQueryParam.currentPage} - 1) * #{jobQueryParam.pageSize}
|
||||||
</select>
|
</select>
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
package com.njcn.oracle.service;
|
package com.njcn.oracle.service;
|
||||||
|
|
||||||
import com.njcn.oracle.bo.param.MigrationParam;
|
|
||||||
import com.njcn.oracle.mybatis.service.IReplenishMybatisService;
|
import com.njcn.oracle.mybatis.service.IReplenishMybatisService;
|
||||||
|
|
||||||
|
import java.time.LocalDate;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Description:
|
* Description:
|
||||||
* Date: 2024/1/8 16:16【需求编号】
|
* Date: 2024/1/8 16:16【需求编号】
|
||||||
@@ -11,5 +12,5 @@ import com.njcn.oracle.mybatis.service.IReplenishMybatisService;
|
|||||||
* @version V1.0.0
|
* @version V1.0.0
|
||||||
*/
|
*/
|
||||||
public interface DataSyncService {
|
public interface DataSyncService {
|
||||||
void dataSync(IReplenishMybatisService executor, String temp, MigrationParam migration);
|
void dataSync(IReplenishMybatisService executor, String temp, LocalDate migration);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
package com.njcn.oracle.service.impl;
|
package com.njcn.oracle.service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
|
import cn.hutool.core.date.DatePattern;
|
||||||
|
import cn.hutool.core.date.LocalDateTimeUtil;
|
||||||
import com.njcn.oracle.bo.param.MigrationParam;
|
import com.njcn.oracle.bo.param.MigrationParam;
|
||||||
import com.njcn.oracle.bo.po.JobDetail;
|
import com.njcn.oracle.bo.po.JobDetail;
|
||||||
import com.njcn.oracle.mybatis.service.IReplenishMybatisService;
|
import com.njcn.oracle.mybatis.service.IReplenishMybatisService;
|
||||||
@@ -10,8 +12,8 @@ import lombok.RequiredArgsConstructor;
|
|||||||
import org.springframework.scheduling.annotation.Async;
|
import org.springframework.scheduling.annotation.Async;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.time.LocalDate;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.time.temporal.ChronoUnit;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
@@ -29,16 +31,21 @@ public class DataSyncServiceImpl implements DataSyncService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Async
|
@Async
|
||||||
public void dataSync(IReplenishMybatisService executor, String temp, MigrationParam migration) {
|
public void dataSync(IReplenishMybatisService executor, String temp, LocalDate date) {
|
||||||
|
|
||||||
|
LocalDateTime localDateTime = date.atStartOfDay();
|
||||||
|
LocalDateTime tempStartTime = LocalDateTimeUtil.beginOfDay(localDateTime);
|
||||||
|
LocalDateTime tempEndTime = LocalDateTimeUtil.endOfDay(localDateTime);
|
||||||
|
|
||||||
|
MigrationParam migration = new MigrationParam();
|
||||||
|
migration.setStartTime(tempStartTime);
|
||||||
|
migration.setEndTime(tempEndTime);
|
||||||
|
|
||||||
List list = executor.queryData(migration);
|
List list = executor.queryData(migration);
|
||||||
JobDetail jobDetail = new JobDetail();
|
JobDetail jobDetail = new JobDetail();
|
||||||
jobDetail.setTableName(temp);
|
jobDetail.setTableName(temp);
|
||||||
|
|
||||||
jobDetail.setStartTime(migration.getStartTime());
|
jobDetail.setExcuteDate(date);
|
||||||
jobDetail.setEndTime(migration.getEndTime());
|
|
||||||
|
|
||||||
JobDetail select = jobDetailService.select(jobDetail);
|
JobDetail select = jobDetailService.select(jobDetail);
|
||||||
if (Objects.nonNull(select)){
|
if (Objects.nonNull(select)){
|
||||||
|
|||||||
@@ -7,10 +7,16 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|||||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||||
import com.njcn.oracle.bo.param.JobQueryParam;
|
import com.njcn.oracle.bo.param.JobQueryParam;
|
||||||
import com.njcn.oracle.bo.param.ServiceTypeEnum;
|
import com.njcn.oracle.bo.param.ServiceTypeEnum;
|
||||||
|
import com.njcn.oracle.util.LocalDateUtil;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Comparator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.njcn.oracle.mybatis.mapper.JobDetailMapper;
|
import com.njcn.oracle.mybatis.mapper.JobDetailMapper;
|
||||||
import com.njcn.oracle.bo.po.JobDetail;
|
import com.njcn.oracle.bo.po.JobDetail;
|
||||||
@@ -33,8 +39,7 @@ public class JobDetailServiceImpl extends MppServiceImpl<JobDetailMapper, JobDet
|
|||||||
@Override
|
@Override
|
||||||
public JobDetail select(JobDetail jobDetail) {
|
public JobDetail select(JobDetail jobDetail) {
|
||||||
JobDetail jobDetail1 = this.lambdaQuery().eq(JobDetail::getTableName,jobDetail.getTableName()).
|
JobDetail jobDetail1 = this.lambdaQuery().eq(JobDetail::getTableName,jobDetail.getTableName()).
|
||||||
eq(JobDetail::getStartTime,jobDetail.getStartTime()).
|
eq(JobDetail::getExcuteDate,jobDetail.getExcuteDate()).one();
|
||||||
eq(JobDetail::getEndTime,jobDetail.getEndTime()).one();
|
|
||||||
return jobDetail1;
|
return jobDetail1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -42,16 +47,41 @@ public class JobDetailServiceImpl extends MppServiceImpl<JobDetailMapper, JobDet
|
|||||||
public IPage<JobDetail> selectByParam(JobQueryParam jobQueryParam) {
|
public IPage<JobDetail> selectByParam(JobQueryParam jobQueryParam) {
|
||||||
IPage<JobDetail> page = new Page<>(jobQueryParam.getCurrentPage(), jobQueryParam.getPageSize());
|
IPage<JobDetail> page = new Page<>(jobQueryParam.getCurrentPage(), jobQueryParam.getPageSize());
|
||||||
QueryWrapper<JobDetail> queryWrapper = new QueryWrapper<>();
|
QueryWrapper<JobDetail> queryWrapper = new QueryWrapper<>();
|
||||||
queryWrapper.lambda().between(JobDetail::getStartTime, jobQueryParam.getStartTime(), jobQueryParam.getEndTime()).
|
queryWrapper.lambda().between(JobDetail::getExcuteDate, jobQueryParam.getStartTime(), jobQueryParam.getEndTime()).
|
||||||
in(!CollectionUtils.isEmpty(jobQueryParam.getStates()), JobDetail::getState, jobQueryParam.getStates()).
|
in(!CollectionUtils.isEmpty(jobQueryParam.getStates()), JobDetail::getState, jobQueryParam.getStates()).
|
||||||
in(!CollectionUtils.isEmpty(jobQueryParam.getTableNames()), JobDetail::getTableName, jobQueryParam.getTableNames()).orderByDesc(JobDetail::getStartTime);
|
in(!CollectionUtils.isEmpty(jobQueryParam.getTableNames()), JobDetail::getTableName, jobQueryParam.getTableNames());
|
||||||
|
|
||||||
Integer integer = this.getBaseMapper().selectCount(queryWrapper);
|
List<JobDetail> jobDetails = this.getBaseMapper().selectList(queryWrapper);
|
||||||
|
|
||||||
List<JobDetail> jobDetailIPage = this.getBaseMapper().query(jobQueryParam);
|
List<String> tableNames = new ArrayList<>();
|
||||||
|
if(CollectionUtils.isEmpty(jobQueryParam.getTableNames())){
|
||||||
|
tableNames = ServiceTypeEnum.getExecutableTypes();
|
||||||
|
}else {
|
||||||
|
tableNames = jobQueryParam.getTableNames();
|
||||||
|
}
|
||||||
|
List<LocalDate> dateList = LocalDateUtil.getDateList(jobQueryParam.getStartTime(), jobQueryParam.getEndTime());
|
||||||
|
List<String> finalTableNames = tableNames;
|
||||||
|
dateList.stream().forEach(localDate -> {
|
||||||
|
finalTableNames.stream().forEach(temp->{
|
||||||
|
JobDetail jobDetail = new JobDetail();
|
||||||
|
jobDetail.setTableName(temp);
|
||||||
|
jobDetail.setExcuteDate(localDate);
|
||||||
|
if (jobDetails.contains(jobDetail)){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
jobDetail.setTableName_CN(ServiceTypeEnum.getValueByCode(temp));
|
||||||
|
jobDetail.setState(3);
|
||||||
|
jobDetails.add(jobDetail);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
List<JobDetail> jobDetailIPage= jobDetails.stream().sorted(Comparator.comparing(JobDetail::getExcuteDate).reversed()).
|
||||||
|
skip((jobQueryParam.getCurrentPage() - 1) * jobQueryParam.getPageSize()).
|
||||||
|
limit(jobQueryParam.getPageSize()).collect(Collectors.toList());
|
||||||
jobDetailIPage.stream().forEach(temp->temp.setTableName_CN(ServiceTypeEnum.getValueByCode(temp.getTableName())));
|
jobDetailIPage.stream().forEach(temp->temp.setTableName_CN(ServiceTypeEnum.getValueByCode(temp.getTableName())));
|
||||||
|
|
||||||
page.setRecords(jobDetailIPage);
|
page.setRecords(jobDetailIPage);
|
||||||
page.setTotal(Long.parseLong(integer+""));
|
page.setTotal(Long.parseLong(jobDetails.size()+""));
|
||||||
return page;
|
return page;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -59,8 +89,7 @@ public class JobDetailServiceImpl extends MppServiceImpl<JobDetailMapper, JobDet
|
|||||||
public boolean jobRemove(JobDetail jobDetail) {
|
public boolean jobRemove(JobDetail jobDetail) {
|
||||||
QueryWrapper<JobDetail> queryWrapper = new QueryWrapper<>();
|
QueryWrapper<JobDetail> queryWrapper = new QueryWrapper<>();
|
||||||
queryWrapper.lambda().eq(JobDetail::getTableName,jobDetail.getTableName()).
|
queryWrapper.lambda().eq(JobDetail::getTableName,jobDetail.getTableName()).
|
||||||
eq(JobDetail::getStartTime,jobDetail.getStartTime()).
|
eq(JobDetail::getExcuteDate,jobDetail.getExcuteDate());
|
||||||
eq(JobDetail::getEndTime,jobDetail.getEndTime());
|
|
||||||
boolean remove = this.remove(queryWrapper);
|
boolean remove = this.remove(queryWrapper);
|
||||||
return remove;
|
return remove;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -64,20 +64,10 @@ public class DataSyncController {
|
|||||||
throw new RuntimeException(e);
|
throw new RuntimeException(e);
|
||||||
}
|
}
|
||||||
List<LocalDate> dateList = LocalDateUtil.getDateList(dataAsynParam.getStartTime(), dataAsynParam.getEndTime());
|
List<LocalDate> dateList = LocalDateUtil.getDateList(dataAsynParam.getStartTime(), dataAsynParam.getEndTime());
|
||||||
LocalDateTime startTime = LocalDateTimeUtil.beginOfDay(dataAsynParam.getStartTime().atStartOfDay());
|
|
||||||
LocalDateTime endTime = LocalDateTimeUtil.endOfDay(dataAsynParam.getEndTime().atStartOfDay());
|
|
||||||
IReplenishMybatisService finalExecutor = executor;
|
IReplenishMybatisService finalExecutor = executor;
|
||||||
dateList.forEach(date->{
|
dateList.forEach(date->{
|
||||||
LocalDateTime localDateTime = date.atStartOfDay();
|
|
||||||
LocalDateTime tempStartTime = LocalDateTimeUtil.beginOfDay(localDateTime);
|
|
||||||
LocalDateTime tempEndTime = LocalDateTimeUtil.endOfDay(localDateTime);
|
|
||||||
|
|
||||||
tempStartTime =LocalDateTimeUtil.parse(tempStartTime.format(formatter),DatePattern.NORM_DATETIME_PATTERN);
|
dataSyncService.dataSync(finalExecutor,temp,date);
|
||||||
tempEndTime =LocalDateTimeUtil.parse(tempEndTime.format(formatter),DatePattern.NORM_DATETIME_PATTERN);
|
|
||||||
MigrationParam migration = new MigrationParam();
|
|
||||||
migration.setStartTime(tempStartTime);
|
|
||||||
migration.setEndTime(tempEndTime);
|
|
||||||
dataSyncService.dataSync(finalExecutor,temp,migration);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -70,6 +70,7 @@
|
|||||||
<el-option label="执行中" value="0"></el-option>
|
<el-option label="执行中" value="0"></el-option>
|
||||||
<el-option label="成功" value="1"></el-option>
|
<el-option label="成功" value="1"></el-option>
|
||||||
<el-option label="失败" value="2"></el-option>
|
<el-option label="失败" value="2"></el-option>
|
||||||
|
<el-option label="未执行" value="3"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
@@ -80,8 +81,8 @@
|
|||||||
<el-table :data="tableData" style="width: 100%; height: calc(100vh - 120px)" stripe align="center" v-loading="formInline.loading">
|
<el-table :data="tableData" style="width: 100%; height: calc(100vh - 120px)" stripe align="center" v-loading="formInline.loading">
|
||||||
<el-table-column prop="tableName" label="指标名"></el-table-column>
|
<el-table-column prop="tableName" label="指标名"></el-table-column>
|
||||||
<el-table-column prop="tableName_CN" label="表名"></el-table-column>
|
<el-table-column prop="tableName_CN" label="表名"></el-table-column>
|
||||||
<el-table-column prop="startTime" label="日期(年月日)">
|
<el-table-column prop="excuteDate" label="日期(年月日)">
|
||||||
<template #default="scope"> {{scope.row.startTime&&scope.row.startTime.split(' ')[0]}} </template>
|
<!-- <template #default="scope"> {{scope.row.startTime&&scope.row.startTime.split(' ')[0]}} </template>-->
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="rowCount" label="条目数"></el-table-column>
|
<el-table-column prop="rowCount" label="条目数"></el-table-column>
|
||||||
<el-table-column prop="updateTime" label="执行时间"></el-table-column>
|
<el-table-column prop="updateTime" label="执行时间"></el-table-column>
|
||||||
@@ -90,6 +91,7 @@
|
|||||||
<el-tag effect="dark" type="danger" v-if="scope.row.state === 2">失败</el-tag>
|
<el-tag effect="dark" type="danger" v-if="scope.row.state === 2">失败</el-tag>
|
||||||
<el-tag effect="dark" type="primary" v-else-if="scope.row.state === 0">执行中</el-tag>
|
<el-tag effect="dark" type="primary" v-else-if="scope.row.state === 0">执行中</el-tag>
|
||||||
<el-tag effect="dark" type="success" v-else-if="scope.row.state === 1">成功</el-tag>
|
<el-tag effect="dark" type="success" v-else-if="scope.row.state === 1">成功</el-tag>
|
||||||
|
<el-tag effect="dark" type="danger" v-else-if="scope.row.state === 3">未执行</el-tag>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="name" label="操作">
|
<el-table-column prop="name" label="操作">
|
||||||
@@ -99,7 +101,7 @@
|
|||||||
<el-button type="danger" text v-if="scope.row.state === 1">删除</el-button>
|
<el-button type="danger" text v-if="scope.row.state === 1">删除</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-popconfirm>
|
</el-popconfirm>
|
||||||
<el-button type="primary" text v-if="scope.row.state === 2" @click="move(scope.row)">迁移</el-button>
|
<el-button type="primary" text v-if="scope.row.state === 2 || scope.row.state === 3" @click="move(scope.row)">迁移</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
@@ -198,6 +200,13 @@
|
|||||||
})
|
})
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
console.log(res)
|
console.log(res)
|
||||||
|
res.records.forEach(item=>{
|
||||||
|
for(let key in item){
|
||||||
|
if(!item[key] && item[key] !== 0){
|
||||||
|
item[key] = '/'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
tableData.value = res.records
|
tableData.value = res.records
|
||||||
formInline.total = res.total
|
formInline.total = res.total
|
||||||
})
|
})
|
||||||
@@ -222,8 +231,8 @@
|
|||||||
if (row) {
|
if (row) {
|
||||||
obj = {
|
obj = {
|
||||||
tableNames: [row.tableName],
|
tableNames: [row.tableName],
|
||||||
startTime: row.startTime.split(' ')[0],
|
startTime: row.excuteDate,
|
||||||
endTime: row.startTime.split(' ')[0],
|
endTime: row.excuteDate,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
fetch('/data/dataSync', {
|
fetch('/data/dataSync', {
|
||||||
@@ -253,8 +262,7 @@
|
|||||||
},
|
},
|
||||||
body: JSON.stringify({
|
body: JSON.stringify({
|
||||||
tableName: row.tableName,
|
tableName: row.tableName,
|
||||||
startTime: row.startTime,
|
excuteDate: row.excuteDate,
|
||||||
endTime: row.endTime,
|
|
||||||
}),
|
}),
|
||||||
})
|
})
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
|
|||||||
Reference in New Issue
Block a user