Files
QTImport/docs/sp/usp_UpdateWorkSheetById.sql
T
chenshoulin 58850314cf 初始提交:QuickTeam 工单接口导入工具
用「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 个单测通过。
2026-11-05 19:14:25 +08:00

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