Commit 4381a078 authored by mcb's avatar mcb

no message

parent 1c8ca75b
......@@ -20,6 +20,12 @@ public class DataDevExamplesListDto {
@ApiModelProperty(value = "任务ID")
private String taskId;
/*
* 执行实例ID
* */
@ApiModelProperty(value = "执行实例ID")
private String execId;
/*
* 基本信息(任务名称)
* */
......@@ -74,8 +80,6 @@ public class DataDevExamplesListDto {
@ApiModelProperty(value = "结束时间")
private String endTime;
private String execId;
private String flowData;
/*
......
package com.jz.dmp.modules.controller.dataOperation.bean;
import com.jz.common.page.BasePageBean;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
/**
* @ClassName: DataDevExamplesListReq
* @Description: 数据运维-数据开发实例列表请求参数
* @Author:Bellamy
* @Date 2021/01/14
* @Version 1.0
*/
@ApiModel(value = "数据运维-数据开发实例列表请求参数", description = "数据开发实例列表请求参数")
public class DataDevExamplesListReq extends BasePageBean {
/*
* 项目id
* */
@ApiModelProperty(value = "项目id")
@NotNull(message = "项目id不能为空")
@NotEmpty(message = "项目ID不能空")
private String projectId;
/*
* 任务名称
* */
@ApiModelProperty(value = "任务名称")
private String treeName;
/*
* 业务日期
* */
@ApiModelProperty(value = "业务日期(时间范围)")
private String businessTime;
/*
* 业务日期类型
* */
@ApiModelProperty(value = "业务日期类型:01 昨天,02 前天,03 全部")
private String creTimeType;
/*
* 业务日期
* */
private String startTime;
/*
* 业务日期
* */
private String endTime;
public String getProjectId() {
return projectId;
}
public void setProjectId(String projectId) {
this.projectId = projectId;
}
public String getTreeName() {
return treeName;
}
public void setTreeName(String treeName) {
this.treeName = treeName;
}
public String getCreTimeType() {
return creTimeType;
}
public void setCreTimeType(String creTimeType) {
this.creTimeType = creTimeType;
}
public String getStartTime() {
return startTime;
}
public void setStartTime(String startTime) {
this.startTime = startTime;
}
public String getEndTime() {
return endTime;
}
public void setEndTime(String endTime) {
this.endTime = endTime;
}
public String getBusinessTime() {
return businessTime;
}
public void setBusinessTime(String businessTime) {
this.businessTime = businessTime;
}
}
......@@ -3,6 +3,7 @@ package com.jz.dmp.modules.controller.dataOperation.bean;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.apache.htrace.fasterxml.jackson.annotation.JsonIgnore;
/**
* @ClassName: DataDevTaskListDto
......@@ -73,6 +74,12 @@ public class DataDevTaskListDto {
* */
@ApiModelProperty(value = "通知")
private String notice;
/*
* 任务类型
* */
@JsonIgnore
@ApiModelProperty(value = "任务类型")
private String type;
public String getStatus() {
return status;
......@@ -153,4 +160,12 @@ public class DataDevTaskListDto {
public void setUserName(String userName) {
this.userName = userName;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
}
......@@ -8,6 +8,7 @@ import java.util.regex.Pattern;
import javax.servlet.http.HttpServletRequest;
import com.jcraft.jsch.MAC;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -782,155 +783,155 @@ public class DmpDevelopTaskServiceImpl implements DmpDevelopTaskService {
}
/*
* (non-Javadoc)
*
* @see
* com.ycxc.vmts.service.DmpDevelopTaskService#findList(com.ycxc.vmts.controller.bas.
* bean.DmpDevelopTaskRequest, javax.servlet.http.HttpServletRequest)
*/
@Override
public com.jz.common.bean.PageInfoResponse<DmpDevelopTaskDto> findListWithPage(DmpDevelopTaskRequest dmpDevelopTaskRequest, HttpServletRequest httpRequest)
throws Exception {
com.jz.common.bean.PageInfoResponse<DmpDevelopTaskDto> pageInfoResponse = new com.jz.common.bean.PageInfoResponse<>();
Map<String, Object> param = new HashMap<>();
//ID
if (dmpDevelopTaskRequest.getId() != null) {
param.put("id", dmpDevelopTaskRequest.getId());
}
//tree ID
if (dmpDevelopTaskRequest.getTreeId() != null) {
param.put("treeId", dmpDevelopTaskRequest.getTreeId());
}
//数据源ID
if (dmpDevelopTaskRequest.getDatasourceId() != null) {
param.put("datasourceId", dmpDevelopTaskRequest.getDatasourceId());
}
//任务类型
if (!StringUtils.isEmpty(dmpDevelopTaskRequest.getTaskType())) {
param.put("taskType", dmpDevelopTaskRequest.getTaskType());
}
//类型
if (!StringUtils.isEmpty(dmpDevelopTaskRequest.getType())) {
param.put("type", dmpDevelopTaskRequest.getType());
}
//调度类型
if (!StringUtils.isEmpty(dmpDevelopTaskRequest.getScheduleType())) {
param.put("scheduleType", dmpDevelopTaskRequest.getScheduleType());
}
//是否已提交
if (!StringUtils.isEmpty(dmpDevelopTaskRequest.getIsSubmit())) {
param.put("isSubmit", dmpDevelopTaskRequest.getIsSubmit());
}
//描述
if (!StringUtils.isEmpty(dmpDevelopTaskRequest.getTaskDesc())) {
param.put("taskDesc", dmpDevelopTaskRequest.getTaskDesc());
}
//脚本
if (!StringUtils.isEmpty(dmpDevelopTaskRequest.getScript())) {
param.put("script", dmpDevelopTaskRequest.getScript());
}
//数据状态
if (!StringUtils.isEmpty(dmpDevelopTaskRequest.getDataStatus())) {
param.put("dataStatus", dmpDevelopTaskRequest.getDataStatus());
}
//创建用户ID
if (!StringUtils.isEmpty(dmpDevelopTaskRequest.getCreateUserId())) {
param.put("createUserId", dmpDevelopTaskRequest.getCreateUserId());
}
//数据创建时间起
if (dmpDevelopTaskRequest.getCreateTimeStart() != null) {
param.put("createTimeStart", dmpDevelopTaskRequest.getCreateTimeStart());
}
//数据创建时间止
if (dmpDevelopTaskRequest.getCreateTimeEnd() != null) {
param.put("createTimeEnd", dmpDevelopTaskRequest.getCreateTimeEnd());
}
//创建用户ID
if (!StringUtils.isEmpty(dmpDevelopTaskRequest.getUpdateUserId())) {
param.put("updateUserId", dmpDevelopTaskRequest.getUpdateUserId());
}
//数据更新时间起
if (dmpDevelopTaskRequest.getUpdateTimeStart() != null) {
param.put("updateTimeStart", dmpDevelopTaskRequest.getUpdateTimeStart());
}
//数据更新时间止
if (dmpDevelopTaskRequest.getUpdateTimeEnd() != null) {
param.put("updateTimeEnd", dmpDevelopTaskRequest.getUpdateTimeEnd());
}
//校验状态:SUCCEED 成功, FAIL 失败
if (!StringUtils.isEmpty(dmpDevelopTaskRequest.getChkResult())) {
param.put("chkResult", dmpDevelopTaskRequest.getChkResult());
}
//同步状态:SUCCEED 成功,FAIL 失败
if (!StringUtils.isEmpty(dmpDevelopTaskRequest.getSyncResult())) {
param.put("syncResult", dmpDevelopTaskRequest.getSyncResult());
}
//最终校验时间起
if (dmpDevelopTaskRequest.getChkTimeStart() != null) {
param.put("chkTimeStart", dmpDevelopTaskRequest.getChkTimeStart());
}
//最终校验时间止
if (dmpDevelopTaskRequest.getChkTimeEnd() != null) {
param.put("chkTimeEnd", dmpDevelopTaskRequest.getChkTimeEnd());
}
//最终同步时间起
if (dmpDevelopTaskRequest.getSyncTimeStart() != null) {
param.put("syncTimeStart", dmpDevelopTaskRequest.getSyncTimeStart());
}
//最终同步时间止
if (dmpDevelopTaskRequest.getSyncTimeEnd() != null) {
param.put("syncTimeEnd", dmpDevelopTaskRequest.getSyncTimeEnd());
}
//
if (!StringUtils.isEmpty(dmpDevelopTaskRequest.getFlowHeader())) {
param.put("flowHeader", dmpDevelopTaskRequest.getFlowHeader());
}
//
if (!StringUtils.isEmpty(dmpDevelopTaskRequest.getFlowJson())) {
param.put("flowJson", dmpDevelopTaskRequest.getFlowJson());
}
//
if (!StringUtils.isEmpty(dmpDevelopTaskRequest.getVersion())) {
param.put("version", dmpDevelopTaskRequest.getVersion());
}
//
if (dmpDevelopTaskRequest.getIsGziped() != null) {
param.put("isGziped", dmpDevelopTaskRequest.getIsGziped());
}
//源数据库ID
if (!StringUtils.isEmpty(dmpDevelopTaskRequest.getSourceDbId())) {
param.put("sourceDbId", dmpDevelopTaskRequest.getSourceDbId());
}
//源数据库名称
if (!StringUtils.isEmpty(dmpDevelopTaskRequest.getSourceDbName())) {
param.put("sourceDbName", dmpDevelopTaskRequest.getSourceDbName());
}
//源数据表名称
if (!StringUtils.isEmpty(dmpDevelopTaskRequest.getSourceTableName())) {
param.put("sourceTableName", dmpDevelopTaskRequest.getSourceTableName());
}
//目标数据库名称
if (!StringUtils.isEmpty(dmpDevelopTaskRequest.getTargetDbName())) {
param.put("targetDbName", dmpDevelopTaskRequest.getTargetDbName());
}
//目标数据表名称
if (!StringUtils.isEmpty(dmpDevelopTaskRequest.getTargetTableName())) {
param.put("targetTableName", dmpDevelopTaskRequest.getTargetTableName());
}
PageHelper.startPage(dmpDevelopTaskRequest.getPageNum(), dmpDevelopTaskRequest.getPageSize());
List<DmpDevelopTask> list = dmpDevelopTaskDao.findList(param);
List<DmpDevelopTaskDto> dtos = MyDmpDevelopTaskConverter.INSTANCE().domain2dto(list);
PageInfo<DmpDevelopTaskDto> pageInfo = new PageInfo<>(dtos);
pageInfoResponse.setCode(StatuConstant.SUCCESS_CODE);
pageInfoResponse.setMessage("查询成功");
pageInfoResponse.setData(pageInfo);
return pageInfoResponse;
}
* (non-Javadoc)
*
* @see
* com.ycxc.vmts.service.DmpDevelopTaskService#findList(com.ycxc.vmts.controller.bas.
* bean.DmpDevelopTaskRequest, javax.servlet.http.HttpServletRequest)
*/
@Override
public com.jz.common.bean.PageInfoResponse<DmpDevelopTaskDto> findListWithPage(DmpDevelopTaskRequest dmpDevelopTaskRequest, HttpServletRequest httpRequest)
throws Exception {
com.jz.common.bean.PageInfoResponse<DmpDevelopTaskDto> pageInfoResponse = new com.jz.common.bean.PageInfoResponse<>();
Map<String, Object> param = new HashMap<>();
//ID
if (dmpDevelopTaskRequest.getId() != null) {
param.put("id", dmpDevelopTaskRequest.getId());
}
//tree ID
if (dmpDevelopTaskRequest.getTreeId() != null) {
param.put("treeId", dmpDevelopTaskRequest.getTreeId());
}
//数据源ID
if (dmpDevelopTaskRequest.getDatasourceId() != null) {
param.put("datasourceId", dmpDevelopTaskRequest.getDatasourceId());
}
//任务类型
if (!StringUtils.isEmpty(dmpDevelopTaskRequest.getTaskType())) {
param.put("taskType", dmpDevelopTaskRequest.getTaskType());
}
//类型
if (!StringUtils.isEmpty(dmpDevelopTaskRequest.getType())) {
param.put("type", dmpDevelopTaskRequest.getType());
}
//调度类型
if (!StringUtils.isEmpty(dmpDevelopTaskRequest.getScheduleType())) {
param.put("scheduleType", dmpDevelopTaskRequest.getScheduleType());
}
//是否已提交
if (!StringUtils.isEmpty(dmpDevelopTaskRequest.getIsSubmit())) {
param.put("isSubmit", dmpDevelopTaskRequest.getIsSubmit());
}
//描述
if (!StringUtils.isEmpty(dmpDevelopTaskRequest.getTaskDesc())) {
param.put("taskDesc", dmpDevelopTaskRequest.getTaskDesc());
}
//脚本
if (!StringUtils.isEmpty(dmpDevelopTaskRequest.getScript())) {
param.put("script", dmpDevelopTaskRequest.getScript());
}
//数据状态
if (!StringUtils.isEmpty(dmpDevelopTaskRequest.getDataStatus())) {
param.put("dataStatus", dmpDevelopTaskRequest.getDataStatus());
}
//创建用户ID
if (!StringUtils.isEmpty(dmpDevelopTaskRequest.getCreateUserId())) {
param.put("createUserId", dmpDevelopTaskRequest.getCreateUserId());
}
//数据创建时间起
if (dmpDevelopTaskRequest.getCreateTimeStart() != null) {
param.put("createTimeStart", dmpDevelopTaskRequest.getCreateTimeStart());
}
//数据创建时间止
if (dmpDevelopTaskRequest.getCreateTimeEnd() != null) {
param.put("createTimeEnd", dmpDevelopTaskRequest.getCreateTimeEnd());
}
//创建用户ID
if (!StringUtils.isEmpty(dmpDevelopTaskRequest.getUpdateUserId())) {
param.put("updateUserId", dmpDevelopTaskRequest.getUpdateUserId());
}
//数据更新时间起
if (dmpDevelopTaskRequest.getUpdateTimeStart() != null) {
param.put("updateTimeStart", dmpDevelopTaskRequest.getUpdateTimeStart());
}
//数据更新时间止
if (dmpDevelopTaskRequest.getUpdateTimeEnd() != null) {
param.put("updateTimeEnd", dmpDevelopTaskRequest.getUpdateTimeEnd());
}
//校验状态:SUCCEED 成功, FAIL 失败
if (!StringUtils.isEmpty(dmpDevelopTaskRequest.getChkResult())) {
param.put("chkResult", dmpDevelopTaskRequest.getChkResult());
}
//同步状态:SUCCEED 成功,FAIL 失败
if (!StringUtils.isEmpty(dmpDevelopTaskRequest.getSyncResult())) {
param.put("syncResult", dmpDevelopTaskRequest.getSyncResult());
}
//最终校验时间起
if (dmpDevelopTaskRequest.getChkTimeStart() != null) {
param.put("chkTimeStart", dmpDevelopTaskRequest.getChkTimeStart());
}
//最终校验时间止
if (dmpDevelopTaskRequest.getChkTimeEnd() != null) {
param.put("chkTimeEnd", dmpDevelopTaskRequest.getChkTimeEnd());
}
//最终同步时间起
if (dmpDevelopTaskRequest.getSyncTimeStart() != null) {
param.put("syncTimeStart", dmpDevelopTaskRequest.getSyncTimeStart());
}
//最终同步时间止
if (dmpDevelopTaskRequest.getSyncTimeEnd() != null) {
param.put("syncTimeEnd", dmpDevelopTaskRequest.getSyncTimeEnd());
}
//
if (!StringUtils.isEmpty(dmpDevelopTaskRequest.getFlowHeader())) {
param.put("flowHeader", dmpDevelopTaskRequest.getFlowHeader());
}
//
if (!StringUtils.isEmpty(dmpDevelopTaskRequest.getFlowJson())) {
param.put("flowJson", dmpDevelopTaskRequest.getFlowJson());
}
//
if (!StringUtils.isEmpty(dmpDevelopTaskRequest.getVersion())) {
param.put("version", dmpDevelopTaskRequest.getVersion());
}
//
if (dmpDevelopTaskRequest.getIsGziped() != null) {
param.put("isGziped", dmpDevelopTaskRequest.getIsGziped());
}
//源数据库ID
if (!StringUtils.isEmpty(dmpDevelopTaskRequest.getSourceDbId())) {
param.put("sourceDbId", dmpDevelopTaskRequest.getSourceDbId());
}
//源数据库名称
if (!StringUtils.isEmpty(dmpDevelopTaskRequest.getSourceDbName())) {
param.put("sourceDbName", dmpDevelopTaskRequest.getSourceDbName());
}
//源数据表名称
if (!StringUtils.isEmpty(dmpDevelopTaskRequest.getSourceTableName())) {
param.put("sourceTableName", dmpDevelopTaskRequest.getSourceTableName());
}
//目标数据库名称
if (!StringUtils.isEmpty(dmpDevelopTaskRequest.getTargetDbName())) {
param.put("targetDbName", dmpDevelopTaskRequest.getTargetDbName());
}
//目标数据表名称
if (!StringUtils.isEmpty(dmpDevelopTaskRequest.getTargetTableName())) {
param.put("targetTableName", dmpDevelopTaskRequest.getTargetTableName());
}
PageHelper.startPage(dmpDevelopTaskRequest.getPageNum(), dmpDevelopTaskRequest.getPageSize());
List<DmpDevelopTask> list = dmpDevelopTaskDao.findList(param);
List<DmpDevelopTaskDto> dtos = MyDmpDevelopTaskConverter.INSTANCE().domain2dto(list);
PageInfo<DmpDevelopTaskDto> pageInfo = new PageInfo<>(dtos);
pageInfoResponse.setCode(StatuConstant.SUCCESS_CODE);
pageInfoResponse.setMessage("查询成功");
pageInfoResponse.setData(pageInfo);
return pageInfoResponse;
}
/**
* 数据运维-执行任务
......@@ -953,34 +954,14 @@ public class DmpDevelopTaskServiceImpl implements DmpDevelopTaskService {
@Override
public PageInfoResponse<DataDevExamplesListDto> queryDevExamplesListPage(DataDevExamplesListReq req) throws Exception {
PageInfoResponse<DataDevExamplesListDto> pageInfoResponse = new PageInfoResponse<>();
Map saveParams = new HashMap();
if (StringUtils.isNotBlank(req.getTreeName())) {
saveParams.put("taskName", req.getTreeName());
}
if (org.apache.commons.lang3.StringUtils.isNotEmpty(req.getBusinessTime())) {
String[] cretime = req.getBusinessTime().split("-");
saveParams.put("startTime", cretime[0].trim() + " 00:00:00");
saveParams.put("endTime", cretime[1].trim() + " 23:59:59");
} else if (StringUtils.isNotBlank(req.getCreTimeType())) {
if ("01".equals(req.getCreTimeType())) { //昨天
saveParams.put("businessTime", DateUtils.getYesterdayStr());
}
if ("02".equals(req.getCreTimeType())) { //前天
saveParams.put("businessTime", DateUtils.getBeforeYesterdayStr());
}
if ("03".equals(req.getCreTimeType())) { //全部
saveParams.put("businessTime", null);
}
} else {
//默认当天日期
saveParams.put("businessTime", DateUtils.currentDate());
}
String taskName = "";
PageHelper.startPage(req.getPageNum(), req.getPageSize());
String taskName = ""; //任务名称
//查询离线任务信息
Map params = new HashMap();
params.put("projectId", req.getProjectId());
//
if (StringUtils.isNotBlank(req.getTreeName())) {
params.put("taskName", req.getTreeName().trim());
}
List<DataDevTaskListDto> treeList = dmpDevelopTaskDao.queryTaskTreeInfo(params);
if (treeList.size() > 0 && treeList != null) {
for (DataDevTaskListDto treeDto : treeList) {
......@@ -988,34 +969,46 @@ public class DmpDevelopTaskServiceImpl implements DmpDevelopTaskService {
taskName += "," + treeDto.getTaskName();
}
}
}
saveParams.put("taskName", taskName.substring(1).split(","));
List<DataDevExamplesListDto> list = executionFlowsMapper.queryDevExamplesListPage(saveParams);
/*List<DataDevExamplesListDto> list = executionFlowsMapper.queryDevExamplesListPage(req);
if (list.size() > 0) {
for (DataDevExamplesListDto dto : list) {
if (StringUtils.isNotBlank(dto.getTaskName())) {
taskName += "," + dto.getTaskName();
//通过任务名称,去查询开发实例
PageHelper.startPage(req.getPageNum(), req.getPageSize());
Map saveParams = new HashMap();
if (org.apache.commons.lang3.StringUtils.isNotEmpty(req.getBusinessTime())) { //业务时间范围
String[] cretime = req.getBusinessTime().split("-");
saveParams.put("startTime", cretime[0].trim() + " 00:00:00");
saveParams.put("endTime", cretime[1].trim() + " 23:59:59");
} else if (StringUtils.isNotBlank(req.getCreTimeType())) {
if ("01".equals(req.getCreTimeType())) { //昨天
saveParams.put("businessTime", DateUtils.getYesterdayStr());
}
if ("02".equals(req.getCreTimeType())) { //前天
saveParams.put("businessTime", DateUtils.getBeforeYesterdayStr());
}
if ("03".equals(req.getCreTimeType())) { //全部
saveParams.put("businessTime", null);
}
} else {
//默认当天日期
saveParams.put("businessTime", DateUtils.currentDate());
//saveParams.put("businessTime", "2021-01-07");
}
Map params = new HashMap();
params.put("projectId", req.getProjectId());
params.put("taskName", taskName.substring(1).split(","));
List<DataDevTaskListDto> treeList = dmpDevelopTaskDao.queryTaskTreeInfo(params);
if (treeList.size() > 0 && treeList != null) {
saveParams.put("taskName", taskName.substring(1).split(","));
List<DataDevExamplesListDto> list = executionFlowsMapper.queryDevExamplesListPage(saveParams);
if (list.size() > 0) {
for (DataDevTaskListDto treeDto : treeList) {
treeDto.getTaskName();
for (DataDevExamplesListDto dto : list) {
if (treeDto.getTaskName().equals(dto.getTaskName())) {
dto.setTaskType(treeDto.getType());
dto.setRunTime(dto.getRunTime() + "s");
//JsonMapper.fromJsonString(dto.getFlowData(), Map.class);
}
}
}
}
}*/
PageInfo<DataDevExamplesListDto> pageInfo = new PageInfo<>(list);
pageInfoResponse.setCode(ResultCode.SUCCESS);
pageInfoResponse.setMessage("查询成功");
pageInfoResponse.setData(pageInfo);
PageInfo<DataDevExamplesListDto> pageInfo = new PageInfo<>(list);
pageInfoResponse.setCode(ResultCode.SUCCESS);
pageInfoResponse.setMessage("查询成功");
pageInfoResponse.setData(pageInfo);
}
return pageInfoResponse;
}
}
\ No newline at end of file
......@@ -182,7 +182,12 @@
execution_flows
where 1=1
<if test="businessTime != null and businessTime != ''"> and from_unixtime(submit_time/1000,'%Y-%m-%d') =#{businessTime} </if>
<if test="taskName != null and taskName != ''"> and flow_id like concat('%',#{taskName},'%') </if>
<if test="taskName != null and taskName != ''">
and flow_id in
<foreach collection="taskName" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="startTime != null and startTime != ''"> and from_unixtime(submit_time/1000,'%Y-%m-%d %H:%i:%s') >=#{startTime} </if>
<if test="endTime != null and endTime != ''">#{endTime} >= and from_unixtime(submit_time/1000,'%Y-%m-%d %H:%i:%s')</if>
</select>
......
......@@ -190,7 +190,7 @@
select
t1.id as treeId,
t1.name as taskName,
t1.type as taskType
(case when t1.type='01' then '离线同步' when t1.type='02' then '实时同步' when t1.type='03' then '数据开发' end) as type
from
dmp_navigation_tree t1
left join dmp_develop_task t2 on t2.TREE_ID=t1.ID
......@@ -198,12 +198,7 @@
where 1=1 and t1.type='01'
and t1.project_id = #{projectId}
<if test="treeId != null and treeId != ''"> and t1.id =#{treeId} </if>
<if test="taskName != null and taskName != ''">
and t1.name in
<foreach collection="taskName" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="taskName != null and taskName != ''"> and t1.name like concat('%',#{taskName},'%') </if>
<if test="taskType != null and taskType!= ''"> and t1.type=#{taskType} </if>
</select>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment