根据funID,personID获取最新规划包项目相关信息
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
根据funID,personID获取最新规划包项目相关信息的更多相关文章
- SQL-58 获取有奖金的员工相关信息。
题目描述 获取有奖金的员工相关信息.CREATE TABLE `employees` (`emp_no` int(11) NOT NULL,`birth_date` date NOT NULL,`fi ...
- py脚本 获取当前运行服务的相关信息
一.简介 最近在统计系统中都部署了什么服务,但服务器太多,在没有标准化之前进行整理,还是写脚本收集方便一些. 当然还是需要人工去判断整理表格,为后面标准化做准备.脚本是python2.7的,默认的ce ...
- MSCRM 获取列表所选记录相关信息
问题:如何通过JS获取列表中所选记录信息? 解决办法: The CRM2011 Ribbon has a special set of parameters called 'CrmParameters ...
- C# 获取进程或线程的相关信息
信息来自: http://blog.163.com/kunkun0921@126/blog/static/169204332201293023432113/ using System; using S ...
- C# 使用Environment获取当前程序运行环境相关信息
Enviroment类和AppDomain类前者表示系统级的相关信息,后者表示应用程序级的相关信息. 我常用这两个类获取一些程序运行目录.操作系统位数等信息: string basedir = App ...
- C winpcap 网络抓包 并获取IP TCP 协议的相关信息
以太网协议分析函数: void ethernet_protocol_packet_handle (u_char *argument, const struct pcap_pkthdr *packet_ ...
- JAVA如何利用Swiger获取Linux系统电脑配置相关信息
最近开发java应用程序,涉及到获取Linux服务器相关配置的问题,特地网上搜寻了下,采用Swiger包可以直接获取,再次小结一下,以便于以后能方便使用,也便于其他童鞋们学习. 推荐大家参考链接:ht ...
- 用js获取当前页面的url的相关信息方法
当前页面对应的URL的一些属性: ( http://bbs.xxx.net/forum.php?mod=viewthread&tid=2709692&page=1&extra= ...
- asp.net 获取服务器及客户端的相关信息
1. 在ASP.NET中专用属性:获取服务器电脑名:Page.Server.ManchineName获取用户信息:Page.User获取客户端电脑名:Page.Request.UserHostName ...
随机推荐
- Android SVG动画PathView源代码解析与使用教程(API 14)
使用的是一个第三方库android-pathview主要是一个自己定义View--PathView.跟全部自己定义View一样,重写了三个构造方法. 而且终于调用三个參数的构造方法,在里面获取自己定义 ...
- javascript - 闭包之一些常见的写法
/** * 防御型分号 */ ; (function () { //code.... console.log('一开始,我自己执行了!!!'); })(); /** * 形参 -> 实参 * 定 ...
- 自己定义modal动画
在非常多场景中.我们都须要实现各种动画.这回我们来尝试搞一下控制器间跳转的modal动画. - (void)touchesBegan:(NSSet<UITouch *> *)touches ...
- Django——模板系统过滤器
过滤器,变量的显示形式的改变 一.形式:小写 {{ name | lower }} 二.串联:先转义文本到HTML,再转换每行到 <p> 标签 {{ my_text|escape|line ...
- 高仿快递100--实战之RadioGroup和RadioButton应用
1.RadioButton和CheckBox的差别: a.单个RadioButton在选中后,通过点击无法变为未选中 单个CheckBox在选中后.通过点击能够变为未选中 b.一组RadioButto ...
- 妙味云课堂之css:其它知识点汇总
一. 热区 map 热区.area 点击区域 shape="circle" 圆型,coords="圆心点X.圆心点Y,圆的半径" shape="rec ...
- 【Java集合源代码剖析】Java集合框架
转载轻注明出处:http://blog.csdn.net/ns_code/article/details/35564663 Java集合工具包位于Java.util包下,包括了非常多经常使用的数据结构 ...
- python-class(4)
#!/usr/bin/env python #-*- coding:utf-8 -*- ############################ #File Name: class4.py #Auth ...
- php使用N层加密eval gzinflate str_rot13 base64 破解方法汇总
php使用N层加密eval gzinflate str_rot13 base64 破解方法汇总 来源:本站转载 作者:佚名 时间:2011-02-14 TAG: 我要投稿 PHP使用eval(gzin ...
- layui表格渲染中模板的使用举例
实例一: { field: 'status', align: 'center', title: '活动状态', templet: function (d) { if (d.status == &quo ...