根据funID,personID获取最新规划包项目相关信息
2018-02-27 16:38
453 查看
1.定义:根据funID,personID获取最新规划包项目相关信息(code projecttype(阶段) Pname(code+name) projectID)
项目表
tbl_cfg_Project
规划包表
tbl_cfg_ProjectPackageHistory
项目表规划包映射表
tbl_cfg_PackageHistoryProjectMapping
计划版本
tbl_plan_RollMap
USE [ITMS] GO /****** Object: StoredProcedure [dbo].[usp_padmin_GetLimitingProject] Script Date: 2018/2/27 11:22:00 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE proc [dbo].[usp_padmin_GetLimitingProject] @FuncID uniqueidentifier,@PersonID uniqueidentifier as if exists(select * from tbl_padmin_DataScope where realprojectid = '00000000-0000-0000-0000-000000000001' and FuncID = @FuncID and PersonID = @PersonID) begin select a.code,a.projecttype, ' '+isnull(a.code,'') + a.name PName, a.projectID into #pro --最新规划包包含的所有项目的相关信息 code projecttype(阶段) Pname(code+name) projectID
from tbl_cfg_Project a , ( SELECT * FROM tbl_cfg_ProjectPackageHistory where RollMapID = (SELECT top 1 RollMapID FROM tbl_plan_RollMap order by StartDate desc , Code desc --最新规划包) ) b, tbl_cfg_PackageHistoryProjectMapping c where a.name is not null and b.PackageHistoryID = c.PackageHistoryID and c.ProjectID = a.ProjectID select * from ( ---获取项目中的类型 select distinct ty.* from ( select null code,-1 projecttype,'未配置项目阶段' PName,newid() projectID union all select null code, id projecttype,name,newid() projectID from tblCommonDict where parentid = 58 ) ty join #pro on ty.projecttype = #pro.projecttype union all select * from #pro ) tbl order by projecttype, left(code,1),len(code),code,PName end else begin select a.code, a.projecttype, ' '+isnull(a.code,'') + a.name PName, a.projectID into #pro1 from tbl_cfg_Project a join tbl_padmin_DataScope b on a.projectID = b.realprojectID join tbl_cfg_PackageHistoryProjectMapping c on c.ProjectID = a.ProjectID join ( SELECT * FROM tbl_cfg_ProjectPackageHistory where RollMapID = (SELECT top 1 RollMapID FROM tbl_plan_RollMap order by StartDate desc , Code desc) ) d on d.PackageHistoryID = c.PackageHistoryID where a.name is not null and b.FuncID = @FuncID and b.PersonID = @PersonID select * from ( ---获取项目中的类型 select distinct ty.* from ( select null code,-1 projecttype,'未配置项目阶段' PName,newid() projectID union all select null code, id projecttype,name,newid() projectID from tblCommonDict where parentid = 58 ) ty join #pro1 on ty.projecttype = #pro1.projecttype union all select * from #pro1 ) tbl order by projecttype, left(code,1),len(code),code,PName end GO 2.使用:
CREATE TABLE #tmp(
code varchar(100),
projecttype varchar(100),
PName varchar(200),
ProjectID varchar(100)
)
INSERT INTO #tmp EXEC usp_padmin_GetLimitingProject '68093189-0dde-4ae2-b7ba-903ff77b66e6','E87B3AB0-6901-48C2-A30C-E643320BF275' --'{1}','{2}'
drop table #tmp
相关文章推荐
- 根据mac地址+deviceid获取设备唯一编码 获取手机及SIM卡相关信息
- Android相关浅析之根据packageName获取应用图标,应用名称等信息
- C# 根据ip获取城市等相关信息
- ahjesus根据身份证号码获取相关信息(生日,省市县,性别)
- WP8__从windowsphone app store 中根据app id获取应用的相关信息(下载网址及图片id等)
- 百度地图根据经纬度获取国家、州市等地址相关信息
- 百度地图根据经纬度获取国家、州市等地址相关信息
- javaScript根据IP来获取城市等相关信息
- 获取android项目相关信息
- java身份证合法性校验并获取并根据身份证号提取身份证相关信息
- 根据经纬度获取所在城市的相关信息以及根据地点城市获取经纬度
- 获取项目列表及项目子节点中的Object的相关信息
- android--------根据文件路径使用File类获取文件相关信息
- ahjesus根据身份证号码获取相关信息(生日,省市县,性别)
- android--------根据文件路径使用File类获取文件相关信息
- android--------根据文件路径使用File类获取文件相关信息
- 使用CodePlex Web Services获取指定项目的最新Release信息
- C# 根据ip获取城市等相关信息
- 关于主线程获取线程结束相关信息 (c++ builder)
- java 根据openId获取用户基本信息