Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat:希望支持分支进行上架测试 #4780 #9539

Merged
merged 86 commits into from
Nov 24, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
86 commits
Select commit Hold shift + click to select a range
7bc2bb1
Merge branch 'pref-9366' into feat-4780
yjieliang Oct 10, 2023
1e69848
feat:希望支持分支进行上架测试 #4780
yjieliang Oct 10, 2023
e7b1d2e
feat:希望支持分支进行上架测试 #4780
yjieliang Oct 10, 2023
8ce52b1
Merge branch 'master' into feat-4780
yjieliang Oct 10, 2023
a014b02
feat:希望支持分支进行上架测试 #4780
yjieliang Oct 10, 2023
1058e81
feat:希望支持分支进行上架测试 #4780
yjieliang Oct 12, 2023
42104aa
feat:希望支持分支进行上架测试 #4780
yjieliang Oct 16, 2023
7168c61
feat:希望支持分支进行上架测试 #4780
yjieliang Oct 17, 2023
69087fe
feat:希望支持分支进行上架测试 #4780
yjieliang Oct 17, 2023
27eb20c
feat:希望支持分支进行上架测试 #4780
yjieliang Oct 17, 2023
a8cadd8
feat:希望支持分支进行上架测试 #4780
yjieliang Oct 17, 2023
9148738
feat:希望支持分支进行上架测试 #4780
yjieliang Oct 17, 2023
4fd2807
feat:希望支持分支进行上架测试 #4780
yjieliang Oct 17, 2023
842de5d
feat:希望支持分支进行上架测试 #4780
yjieliang Oct 17, 2023
ded81a4
feat:希望支持分支进行上架测试 #4780
yjieliang Oct 17, 2023
36c64b7
Merge branch 'pref-9366' into feat-4780
yjieliang Oct 17, 2023
4316c26
feat:希望支持分支进行上架测试 #4780
yjieliang Oct 18, 2023
aea5427
feat:希望支持分支进行上架测试 #4780
yjieliang Oct 18, 2023
634862c
feat:希望支持分支进行上架测试 #4780
yjieliang Oct 19, 2023
fa18de8
feat:希望支持分支进行上架测试 #4780
yjieliang Oct 19, 2023
32764f3
feat:希望支持分支进行上架测试 #4780
yjieliang Oct 19, 2023
f01c326
feat:希望支持分支进行上架测试 #4780
yjieliang Oct 19, 2023
5123d85
feat:希望支持分支进行上架测试 #4780
yjieliang Oct 23, 2023
06789ee
feat:希望支持分支进行上架测试 #4780
yjieliang Oct 23, 2023
3708e0a
feat:希望支持分支进行上架测试 #4780
yjieliang Oct 23, 2023
d6ebb56
feat:希望支持分支进行上架测试 #4780
yjieliang Oct 24, 2023
9c61e68
feat:希望支持分支进行上架测试 #4780
yjieliang Oct 24, 2023
1f700db
feat:希望支持分支进行上架测试 #4780
yjieliang Oct 24, 2023
764b389
feat:希望支持分支进行上架测试 #4780
yjieliang Oct 25, 2023
7631b0a
feat:希望支持分支进行上架测试 #4780
yjieliang Oct 25, 2023
3d23ea8
feat:希望支持分支进行上架测试 #4780
yjieliang Oct 25, 2023
aed4103
feat:希望支持分支进行上架测试 #4780
yjieliang Oct 25, 2023
60c6ef0
feat:希望支持分支进行上架测试 #4780
yjieliang Oct 25, 2023
7b99612
feat:希望支持分支进行上架测试 #4780
yjieliang Oct 25, 2023
07ef8b6
feat:希望支持分支进行上架测试 #4780
yjieliang Oct 25, 2023
f3c0e35
feat:希望支持分支进行上架测试 #4780
yjieliang Oct 25, 2023
8141120
Merge branch 'pref-9366' into feat-4780
yjieliang Oct 25, 2023
5a895cb
feat:希望支持分支进行上架测试 #4780
yjieliang Oct 26, 2023
c83ba1f
Merge branch 'pref-9366' into feat-4780
yjieliang Nov 1, 2023
307d6f1
Merge branch 'pref-9366' into feat-4780
yjieliang Nov 2, 2023
df5851d
feat:希望支持分支进行上架测试 #4780
yjieliang Nov 3, 2023
ea6fccb
Merge branch 'pref-9366' into feat-4780
yjieliang Nov 6, 2023
2b595ff
feat:希望支持分支进行上架测试 #4780
yjieliang Nov 6, 2023
6f2d796
feat:希望支持分支进行上架测试 #4780
yjieliang Nov 6, 2023
18ca865
feat:希望支持分支进行上架测试 #4780
yjieliang Nov 6, 2023
7a069d2
feat:希望支持分支进行上架测试 #4780
yjieliang Nov 6, 2023
940f240
feat:希望支持分支进行上架测试 #4780
yjieliang Nov 6, 2023
15cf27d
feat:希望支持分支进行上架测试 #4780
yjieliang Nov 6, 2023
e444410
feat:希望支持分支进行上架测试 #4780
yjieliang Nov 6, 2023
54077cf
feat:希望支持分支进行上架测试 #4780
yjieliang Nov 6, 2023
63051e9
feat:希望支持分支进行上架测试 #4780
yjieliang Nov 6, 2023
b012b2a
feat:希望支持分支进行上架测试 #4780
yjieliang Nov 6, 2023
15ba8fe
pref:插件国际化properties文件value值支持引入文件 #9366
yjieliang Nov 6, 2023
1694ad5
feat:希望支持分支进行上架测试 #4780
yjieliang Nov 6, 2023
57cdd73
pref:插件国际化properties文件value值支持引入文件 #9366
yjieliang Nov 7, 2023
17c3c1a
feat:希望支持分支进行上架测试 #4780
yjieliang Nov 7, 2023
87497be
Merge branch 'pref-9366' into feat-4780
yjieliang Nov 9, 2023
b301ba6
Merge branch 'pref-9366' into feat-4780
yjieliang Nov 9, 2023
d4db61a
Merge branch 'pref-9366' into feat-4780
yjieliang Nov 9, 2023
58e13d6
Merge branch 'pref-9366' into feat-4780
yjieliang Nov 10, 2023
ef09f7d
Merge branch 'master' into feat-4780
yjieliang Nov 13, 2023
a37e3b3
feat:希望支持分支进行上架测试 #4780
yjieliang Nov 13, 2023
fadbe56
feat:希望支持分支进行上架测试 #4780
yjieliang Nov 16, 2023
b9d1505
feat:希望支持分支进行上架测试 #4780
yjieliang Nov 16, 2023
bb4cf8b
feat:希望支持分支进行上架测试 #4780
yjieliang Nov 16, 2023
02bf17a
feat:希望支持分支进行上架测试 #4780
yjieliang Nov 16, 2023
65c7db8
feat:希望支持分支进行上架测试 #4780
yjieliang Nov 20, 2023
522f7d3
feat:希望支持分支进行上架测试 #4780
yjieliang Nov 20, 2023
94e19f2
feat:希望支持分支进行上架测试 #4780
yjieliang Nov 20, 2023
93caa2f
feat:希望支持分支进行上架测试 #4780
yjieliang Nov 20, 2023
28a43d3
feat:希望支持分支进行上架测试 #4780
yjieliang Nov 20, 2023
61ec0da
feat:希望支持分支进行上架测试 #4780
yjieliang Nov 21, 2023
7e0d19a
feat:希望支持分支进行上架测试 #4780
yjieliang Nov 21, 2023
5e3b652
feat:希望支持分支进行上架测试 #4780
yjieliang Nov 21, 2023
298f254
Merge branch 'master' into feat-4780
yjieliang Nov 21, 2023
74a7648
feat:希望支持分支进行上架测试 #4780
yjieliang Nov 21, 2023
6951f9c
feat:希望支持分支进行上架测试 #4780
yjieliang Nov 21, 2023
faf53b0
feat:希望支持分支进行上架测试 #4780
yjieliang Nov 21, 2023
7945ff6
feat:希望支持分支进行上架测试 #4780
yjieliang Nov 22, 2023
accea08
feat:希望支持分支进行上架测试 #4780
yjieliang Nov 22, 2023
d433e3d
feat:希望支持分支进行上架测试 #4780
yjieliang Nov 22, 2023
a864db2
feat:希望支持分支进行上架测试 #4780
yjieliang Nov 23, 2023
81ed6b5
feat:希望支持分支进行上架测试 #4780
yjieliang Nov 23, 2023
61facb9
feat:希望支持分支进行上架测试 #4780
yjieliang Nov 23, 2023
bd0223c
feat:希望支持分支进行上架测试 #4780
yjieliang Nov 23, 2023
b5d5094
feat:希望支持分支进行上架测试 #4780
yjieliang Nov 23, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,7 @@ const val OR = "or" // 或
const val TIMETOSELECT = "timetoSelect" // 时必选
const val MASTER = "master" // 主干
const val SYSTEM = "system" // 系统
const val IN_READY_TEST = "IN_READY_TEST" // 正在测试中
const val BUILD_RUNNING = "buildRunning" // 运行中
const val BUILD_QUEUE = "buildQueue" // 构建排队中
const val BUILD_REVIEWING = "buildReviewing" // 构建待审核
Expand Down Expand Up @@ -154,6 +155,7 @@ const val KEY_UPDATED_TIME = "updatedTime"
const val KEY_DEFAULT_LOCALE_LANGUAGE = "defaultLocaleLanguage"
const val KEY_PROJECT_ID = "projectId"
const val KEY_PIPELINE_NUM = "pipelineNum"
const val KEY_BRANCH_TEST_FLAG = "branchTestFlag"

const val BK_BUILD_ENV_START_FAILED = "bkBuildEnvStartFailed" // 构建环境启动失败
const val BK_START_PULL_IMAGE = "bkStartPullImage" // 开始拉取镜像,镜像名称:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,17 +28,23 @@
package com.tencent.devops.log.api.print

import com.tencent.devops.common.api.auth.AUTH_HEADER_DEVOPS_BUILD_ID
import com.tencent.devops.common.api.auth.AUTH_HEADER_USER_ID
import com.tencent.devops.common.api.auth.AUTH_HEADER_USER_ID_DEFAULT_VALUE
import com.tencent.devops.common.api.pojo.Result
import com.tencent.devops.common.log.pojo.QueryLogs
import com.tencent.devops.common.log.pojo.TaskBuildLogProperty
import com.tencent.devops.common.log.pojo.enums.LogType
import com.tencent.devops.common.log.pojo.message.LogMessage
import io.swagger.annotations.Api
import io.swagger.annotations.ApiOperation
import io.swagger.annotations.ApiParam
import javax.ws.rs.Consumes
import javax.ws.rs.GET
import javax.ws.rs.HeaderParam
import javax.ws.rs.POST
import javax.ws.rs.PUT
import javax.ws.rs.Path
import javax.ws.rs.PathParam
import javax.ws.rs.Produces
import javax.ws.rs.QueryParam
import javax.ws.rs.core.MediaType
Expand Down Expand Up @@ -162,4 +168,79 @@ interface BuildLogPrintResource {
@ApiParam("所有插件的日志存储结果", required = true)
propertyList: List<TaskBuildLogProperty>
): Result<Boolean>

@ApiOperation("根据构建ID获取初始化所有日志")
@GET
@Path("/{projectId}/{pipelineId}/{buildId}/")
fun getInitLogs(
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

这个需求为什么要新增日志相关的接口

@ApiParam("用户ID", required = true, defaultValue = AUTH_HEADER_USER_ID_DEFAULT_VALUE)
@HeaderParam(AUTH_HEADER_USER_ID)
userId: String,
@ApiParam("项目ID", required = true)
@PathParam("projectId")
projectId: String,
@ApiParam("流水线ID", required = true)
@PathParam("pipelineId")
pipelineId: String,
@ApiParam("构建ID", required = true)
@PathParam("buildId")
buildId: String,
@ApiParam("是否包含调试日志", required = false)
@QueryParam("debug")
debug: Boolean? = false,
@ApiParam("过滤日志级别", required = false)
@QueryParam("logType")
logType: LogType? = null,
@ApiParam("对应elementId", required = false)
@QueryParam("tag")
tag: String?,
@ApiParam("指定subTag", required = false)
@QueryParam("subTag")
subTag: String?,
@ApiParam("对应jobId", required = false)
@QueryParam("jobId")
jobId: String?,
@ApiParam("执行次数", required = false)
@QueryParam("executeCount")
executeCount: Int?
): Result<QueryLogs>

@ApiOperation("获取某行后的日志")
@GET
@Path("/{projectId}/{pipelineId}/{buildId}/after")
fun getAfterLogs(
@ApiParam("用户ID", required = true, defaultValue = AUTH_HEADER_USER_ID_DEFAULT_VALUE)
@HeaderParam(AUTH_HEADER_USER_ID)
userId: String,
@ApiParam("项目ID", required = true)
@PathParam("projectId")
projectId: String,
@ApiParam("流水线ID", required = true)
@PathParam("pipelineId")
pipelineId: String,
@ApiParam("构建ID", required = true)
@PathParam("buildId")
buildId: String,
@ApiParam("起始行号", required = true)
@QueryParam("start")
start: Long,
@ApiParam("是否包含调试日志", required = false)
@QueryParam("debug")
debug: Boolean? = false,
@ApiParam("过滤日志级别", required = false)
@QueryParam("logType")
logType: LogType? = null,
@ApiParam("对应elementId", required = false)
@QueryParam("tag")
tag: String?,
@ApiParam("指定subTag", required = false)
@QueryParam("subTag")
subTag: String?,
@ApiParam("对应jobId", required = false)
@QueryParam("jobId")
jobId: String?,
@ApiParam("执行次数", required = false)
@QueryParam("executeCount")
executeCount: Int?
): Result<QueryLogs>
}
Original file line number Diff line number Diff line change
Expand Up @@ -28,15 +28,18 @@
package com.tencent.devops.log.resources

import com.tencent.devops.common.api.pojo.Result
import com.tencent.devops.common.log.pojo.QueryLogs
import com.tencent.devops.common.log.pojo.TaskBuildLogProperty
import com.tencent.devops.common.log.pojo.enums.LogStorageMode
import com.tencent.devops.common.log.pojo.enums.LogType
import com.tencent.devops.common.log.pojo.message.LogMessage
import com.tencent.devops.common.web.RestResource
import com.tencent.devops.log.api.print.BuildLogPrintResource
import com.tencent.devops.log.event.LogOriginEvent
import com.tencent.devops.log.event.LogStatusEvent
import com.tencent.devops.log.meta.Ansi
import com.tencent.devops.log.service.BuildLogPrintService
import com.tencent.devops.log.service.BuildLogQueryService
import com.tencent.devops.log.service.IndexService
import com.tencent.devops.log.service.LogStatusService
import io.micrometer.core.annotation.Timed
Expand All @@ -55,7 +58,8 @@ class BuildLogPrintResourceImpl @Autowired constructor(
private val buildLogPrintService: BuildLogPrintService,
private val logStatusService: LogStatusService,
private val indexService: IndexService,
private val meterRegistry: MeterRegistry
private val meterRegistry: MeterRegistry,
private val buildLogQueryService: BuildLogQueryService
) : BuildLogPrintResource {

@Value("\${spring.application.name:#{null}}")
Expand Down Expand Up @@ -190,6 +194,65 @@ class BuildLogPrintResourceImpl @Autowired constructor(
return Result(true)
}

override fun getInitLogs(
userId: String,
projectId: String,
pipelineId: String,
buildId: String,
debug: Boolean?,
logType: LogType?,
tag: String?,
subTag: String?,
jobId: String?,
executeCount: Int?
): Result<QueryLogs> {
val initLogs = buildLogQueryService.getInitLogs(
userId = userId,
projectId = projectId,
pipelineId = pipelineId,
buildId = buildId,
debug = debug,
logType = logType,
tag = tag,
subTag = subTag,
jobId = jobId,
executeCount = executeCount
)
recordMultiLogCount(initLogs.data?.logs?.size ?: 0)
return initLogs
}

override fun getAfterLogs(
userId: String,
projectId: String,
pipelineId: String,
buildId: String,
start: Long,
debug: Boolean?,
logType: LogType?,
tag: String?,
subTag: String?,
jobId: String?,
executeCount: Int?
): Result<QueryLogs> {
val afterLogs = buildLogQueryService.getAfterLogs(
userId = userId,
projectId = projectId,
pipelineId = pipelineId,
buildId = buildId,
start = start,
debug = debug,
logType = logType,
tag = tag,
subTag = subTag,
jobId = jobId,
executeCount = executeCount
)
recordMultiLogCount(afterLogs.data?.logs?.size ?: 0)

return afterLogs
}

/**
* 记录日志列表函数
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@

package com.tencent.devops.quality.api.v2

import com.tencent.devops.common.api.constant.IN_READY_TEST
import com.tencent.devops.common.api.pojo.Result
import com.tencent.devops.quality.api.v2.pojo.QualityControlPoint
import io.swagger.annotations.Api
Expand All @@ -52,6 +53,8 @@ interface ServiceQualityControlPointMarketResource {
fun setTestControlPoint(
@QueryParam("userId")
userId: String,
@QueryParam("tag")
tag: String = IN_READY_TEST,
controlPoint: QualityControlPoint
): Result<Long>

Expand All @@ -68,6 +71,8 @@ interface ServiceQualityControlPointMarketResource {
@DELETE
fun deleteTestControlPoint(
@QueryParam("elementType")
elementType: String
elementType: String,
@QueryParam("tag")
tag: String = IN_READY_TEST
): Result<Int>
}
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@

package com.tencent.devops.quality.api.v2

import com.tencent.devops.common.api.constant.IN_READY_TEST
import com.tencent.devops.common.api.pojo.Result
import com.tencent.devops.quality.api.v2.pojo.op.IndicatorUpdate
import io.swagger.annotations.Api
Expand Down Expand Up @@ -54,6 +55,8 @@ interface ServiceQualityIndicatorMarketResource {
userId: String,
@QueryParam("atomCode")
atomCode: String,
@QueryParam("tag")
tag: String = IN_READY_TEST,
indicatorUpdateList: Collection<IndicatorUpdate>
): Result<Int>

Expand All @@ -71,6 +74,8 @@ interface ServiceQualityIndicatorMarketResource {
@DELETE
fun deleteTestIndicator(
@QueryParam("elementType")
elementType: String
elementType: String,
@QueryParam("extra")
extra: String = IN_READY_TEST
): Result<Int>
}
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@

package com.tencent.devops.quality.api.v2

import com.tencent.devops.common.api.constant.IN_READY_TEST
import com.tencent.devops.common.api.pojo.Result
import com.tencent.devops.quality.api.v2.pojo.op.QualityMetaData
import io.swagger.annotations.Api
Expand All @@ -46,14 +47,16 @@ import javax.ws.rs.core.MediaType
@Consumes(MediaType.APPLICATION_JSON)
interface ServiceQualityMetadataMarketResource {

@ApiOperation("注册插件指标的元数据")
@ApiOperation("注册插件指标的测试元数据")
@Path("/setMetadata")
@POST
fun setTestMetadata(
@QueryParam("userId")
userId: String,
@QueryParam("atomCode")
atomCode: String,
@QueryParam("extra")
extra: String = IN_READY_TEST,
metadataList: List<QualityMetaData>
): Result<Map<String/* dataId */, Long/* metadataId */>>

Expand All @@ -70,6 +73,8 @@ interface ServiceQualityMetadataMarketResource {
@DELETE
fun deleteTestMetadata(
@QueryParam("elementType")
elementType: String
elementType: String,
@QueryParam("extra")
extra: String = IN_READY_TEST
): Result<Int>
}
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@

package com.tencent.devops.quality.dao.v2

import com.tencent.devops.common.api.constant.IN_READY_TEST
import com.tencent.devops.common.api.util.HashUtil
import com.tencent.devops.common.api.util.PageUtil
import com.tencent.devops.model.quality.tables.TQualityControlPoint
Expand Down Expand Up @@ -63,7 +64,7 @@ class QualityControlPointDao {
val sqlLimit = PageUtil.convertPageSizeToSQLLimit(page, pageSize)
with(TQualityControlPoint.T_QUALITY_CONTROL_POINT) {
return dslContext.selectFrom(this)
.where((TAG.isNull).or(TAG.ne("IN_READY_TEST")))
.where((TAG.isNull).or(TAG.notContains(IN_READY_TEST)))
.orderBy(CREATE_TIME.desc())
.limit(sqlLimit.offset, sqlLimit.limit)
.fetch()
Expand All @@ -82,7 +83,7 @@ class QualityControlPointDao {
fun count(dslContext: DSLContext): Long {
with(TQualityControlPoint.T_QUALITY_CONTROL_POINT) {
return dslContext.selectCount().from(this)
.where((TAG.isNull).or(TAG.ne("IN_READY_TEST")))
.where((TAG.isNull).or(TAG.notContains(IN_READY_TEST)))
.fetchOne(0, Long::class.java)!!
}
}
Expand Down Expand Up @@ -110,7 +111,7 @@ class QualityControlPointDao {
fun getStages(dslContext: DSLContext): Result<Record1<String>> {
return with(TQualityControlPoint.T_QUALITY_CONTROL_POINT) {
dslContext.select(STAGE).from(this)
.where(STAGE.isNotNull.and(TAG.ne("IN_READY_TEST")))
.where(STAGE.isNotNull.and(TAG.notContains(IN_READY_TEST)))
.groupBy(STAGE)
.fetch()
}
Expand All @@ -123,17 +124,22 @@ class QualityControlPointDao {
fun getElementNames(dslContext: DSLContext): Result<Record2<String, String>> {
return with(TQualityControlPoint.T_QUALITY_CONTROL_POINT) {
dslContext.select(ELEMENT_TYPE, NAME).from(this)
.where(NAME.isNotNull.and(TAG.ne("IN_READY_TEST")))
.where(NAME.isNotNull.and(TAG.notContains(IN_READY_TEST)))
.groupBy(ELEMENT_TYPE, NAME)
.fetch()
}
}

fun setTestControlPoint(dslContext: DSLContext, userId: String, controlPoint: QualityControlPoint): Long {
fun setTestControlPoint(
dslContext: DSLContext,
userId: String,
tag: String,
controlPoint: QualityControlPoint
): Long {
var pointId = 0L
with(TQualityControlPoint.T_QUALITY_CONTROL_POINT) {
val testControlPoint = dslContext.selectFrom(this)
.where(ELEMENT_TYPE.eq(controlPoint.type).and(TAG.eq("IN_READY_TEST")))
.where(ELEMENT_TYPE.eq(controlPoint.type).and(TAG.eq(tag)))
.fetchOne()
if (testControlPoint != null) {
dslContext.update(this)
Expand Down Expand Up @@ -177,7 +183,7 @@ class QualityControlPointDao {
LocalDateTime.now(),
controlPoint.atomVersion,
controlPoint.testProject,
"IN_READY_TEST"
tag
).returning(ID).fetchOne()!!.id
val hashId = HashUtil.encodeLongId(pointId)
dslContext.update(this)
Expand All @@ -197,8 +203,8 @@ class QualityControlPointDao {
.where(ELEMENT_TYPE.eq(elementType))
.fetch()

val testControlPoint = controlPoints.firstOrNull { it.tag == "IN_READY_TEST" }
val prodControlPoint = controlPoints.firstOrNull { it.tag != "IN_READY_TEST" }
val testControlPoint = controlPoints.firstOrNull { it.tag == IN_READY_TEST }
val prodControlPoint = controlPoints.firstOrNull { it.tag != IN_READY_TEST }

// 测试为空,代表quality.json被删了,直接把生产的也删了
if (testControlPoint == null) {
Expand Down Expand Up @@ -227,10 +233,10 @@ class QualityControlPointDao {
return 0
}

fun deleteTestControlPoint(dslContext: DSLContext, elementType: String): Int {
fun deleteTestControlPoint(dslContext: DSLContext, elementType: String, tag: String): Int {
return with(TQualityControlPoint.T_QUALITY_CONTROL_POINT) {
dslContext.deleteFrom(this)
.where(ELEMENT_TYPE.eq(elementType).and(TAG.eq("IN_READY_TEST")))
.where(ELEMENT_TYPE.eq(elementType).and(TAG.eq(tag)))
.execute()
}
}
Expand Down
Loading
Loading