用「WCF + 通用存储过程网关」接口替代 Selenium(D://Learning//Python//工单自动化)导入工单: 单 Sprint 12 个项目 175s 跑完(旧方案 25~35 分钟),失败可断点续跑且不重复建单。 - 分层:transport(HTTP/协议)/ api(存储过程语义)/ domain(纯规则)/ workflow(阶段编排)/ store(SQLite 台账)/ report / CLI - 幂等:台账驱动断点续跑;dry-run 与跳过行不污染进度;--rollback-on-fail 清理半成品 - 命令:plan / apply / report / status,真实写入需 --yes - tools:只读探针、存储过程源码导出(sp_helptext)、导入诊断 - docs:调研与设计文档(含联调踩到的 5 个坑)+ 6 个关键存储过程源码 实测:Sprint 2026 Sprint 10 的 12 个项目全部完成建单→导入→确认→推送 TFS, 工单 225134–225145,35 个功能模块,重跑 plan 全部 skip-pushed。69 个单测通过。
69 lines
1.8 KiB
Transact-SQL
69 lines
1.8 KiB
Transact-SQL
CREATE PROCEDURE [QuickTeam].[usp_UpdateWorkSheetById]
|
|
|
|
@WorkSheetId bigint,
|
|
|
|
@ProjectId nvarchar(50),
|
|
|
|
--@TeamId nvarchar(50),
|
|
|
|
@ProjectName nvarchar(50),
|
|
|
|
@SystemName nvarchar(50),
|
|
|
|
@Evaluator nvarchar(50),
|
|
|
|
@TechnicalLeader nvarchar(50),
|
|
|
|
@CustomerLeader nvarchar(50),
|
|
|
|
@StartTime datetime,
|
|
|
|
@EndTime datetime,
|
|
|
|
@Status nvarchar(5)='01' ,
|
|
|
|
@ServiceType nvarchar(20),
|
|
|
|
@ImplementContent nvarchar(500),
|
|
|
|
@OtherInstructions nvarchar(1000),
|
|
|
|
@Operator nvarchar(50),
|
|
|
|
@DeleteFlag NVARCHAR(2),
|
|
|
|
@Operation NVARCHAR(10),
|
|
|
|
@BelongTeam NVARCHAR(50)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
AS
|
|
|
|
BEGIN
|
|
|
|
declare @length int
|
|
|
|
select @length=len([Status]) from [QuickTeam].[WorkSheet] where WorkSheetId=@WorkSheetId
|
|
|
|
update QuickTeam.WorkSheet
|
|
|
|
set [WorkSheetCode]=@ProjectName+'_'+CONVERT(varchar(100), @EndTime, 112)+'_'+CONVERT(nvarchar(10),@WorkSheetId)
|
|
|
|
,[ProjectId]=@ProjectId
|
|
|
|
,[ProjectName]=@ProjectName
|
|
|
|
,[SystemName]=@SystemName
|
|
|
|
,[Evaluator]=@Evaluator
|
|
|
|
,[TechnicalLeader]=@TechnicalLeader
|
|
|
|
,[CustomerLeader]=@CustomerLeader
|
|
|
|
,[StartTime]=@StartTime
|
|
|
|
,[EndTime]=@EndTime
|
|
|
|
,[UpdateTime]=getdate()
|
|
|
|
,[Status]=@Status
|
|
|
|
,[ServiceType]=@ServiceType
|
|
|
|
,[ImplementContent]=@ImplementContent
|
|
|
|
,[OtherInstructions]=@OtherInstructions
|
|
|
|
,Operation=@Operation
|
|
|
|
,DeleteFlag=@DeleteFlag
|
|
|
|
,OperateUserName=@Operator
|
|
|
|
,BelongTeam=@BelongTeam
|
|
|
|
where WorkSheetId=CONVERT(BIGINT,@WorkSheetId)
|
|
|
|
|
|
|
|
if(@length=0)
|
|
|
|
begin
|
|
|
|
INSERT INTO [QuickTeam].[WorkSheetVersion]
|
|
|
|
([VersionCode]
|
|
|
|
,[VersionStatus]
|
|
|
|
,NextOperator
|
|
|
|
,[WorkSheetId]
|
|
|
|
,Operator
|
|
|
|
,UpdateTime
|
|
|
|
)
|
|
|
|
VALUES
|
|
|
|
(N'技术责任人确认版'
|
|
|
|
,'N'
|
|
|
|
,'TechnicalLeader'
|
|
|
|
,@WorkSheetId
|
|
|
|
,''
|
|
|
|
,getdate()
|
|
|
|
)
|
|
|
|
end
|
|
|
|
select @@ERROR as Result
|
|
|
|
END
|
|
|