USE [APPLICATION_DEV] GO /****** Object: StoredProcedure [dbo].[SPAA_SEL_INFO_LIST] Script Date: 12/08/2014 14:49:58 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ========================================================================================== -- $Id: dbo.SPAA_SEL_INFO_LIST.StoredProcedure.sql 1063 2012-01-13 08:57:33Z ubukata $ -- Create date : 2011/11/07 -- Description : お知らせ取得 -- : 担当者コードから、申請者/申請者上長向け/事務局向けのお知らせ内容を取得する -- : 事務局レコードの必要有無をフラグにしているのは、システム管理者が事務局お知らせを取得するように考慮したため -- : ===== 2012/01/13 #158 ===== -- : ?差し戻し系ステータスでの色変更のため、ステータスNoも返すように変更 -- ========================================================================================== ALTER PROCEDURE [dbo].[SPAA_SEL_INFO_LIST]( @stf_code CHAR(5) -- 担当者コード ,@secretariat_flg CHAR(1) = ‘1‘ -- 事務局お知らせが必要か? ) AS BEGIN --範囲絞込み用の日付を作成する DECLARE @NOW DATETIME; SET @NOW = GETDATE(); --開始日 DECLARE @STA_DATE DATETIME; SET @STA_DATE = convert(datetime,convert(char(8),DATEADD(day,-7,getdate()),112),112); --終了日 DECLARE @END_DATE DATETIME; SET @END_DATE = convert(datetime,convert(char(8),DATEADD(day,+7,getdate()),112),112); SELECT INFO_LIST.APPLI_NO ,INFO_LIST.MATERIALS_NM_KNJ ,INFO_LIST.UPD_DATE ,INFO_LIST.STATUS_NO ,STAT.STATUS_NAME_2 FROM ( --検索:自分向け SELECT APPL.APPLI_NO ,APPL.MATERIALS_NM_KNJ ,APPL.UPD_DATE ,APPL.STATUS_NO FROM --申請 TBAATR_APPLICATION AS APPL INNER JOIN ( --自分が申請者 SELECT APPLI_NO ,REVISION_NO FROM TBAATR_APPLICATION WHERE DEL_FLG = ‘0‘ AND APPLICANT_STF_CODE = @stf_code --自分が上長 UNION SELECT APPLI_NO ,REVISION_NO FROM TBAATR_APPLICATION WHERE DEL_FLG = ‘0‘ AND SUPERIOR_STF_CODE = @stf_code ) AS APPL_OWN ON (APPL.APPLI_NO = APPL_OWN.APPLI_NO AND APPL.REVISION_NO = APPL_OWN.REVISION_NO) WHERE APPL.DEL_FLG = ‘0‘ AND APPL.UPD_DATE BETWEEN @STA_DATE AND @END_DATE --次ステータスが、申請者がアクションを起こすべきステータスNo --または、次ステータスが、申請者上長がアクションを起こすべきステータスNo AND APPL.STATUS_NO IN ( --次ステータスが、申請者がアクションを起こすべきステータスNo ‘10‘ --作成中 ,‘22‘ --上長差し戻し ,‘34‘ --事務局差し戻し ,‘41‘ --審議結果:許可 ,‘42‘ --審議結果:条件付許可 ,‘43‘ --審議結果:留保 ,‘53‘ --事務局差し戻し ,‘54‘ --委員長許可 ,‘55‘ --委員長差し戻し ,‘72‘ --公開差し戻し --または、次ステータスが、申請者上長がアクションを起こすべきステータスNo ,‘11‘ --上長申請中 ,‘12‘ --上長再申請中 ) UNION ALL --検索:事務局向け SELECT APPL.APPLI_NO ,APPL.MATERIALS_NM_KNJ ,APPL.UPD_DATE ,APPL.STATUS_NO FROM --申請 TBAATR_APPLICATION AS APPL WHERE APPL.DEL_FLG = ‘0‘ AND APPL.UPD_DATE BETWEEN @STA_DATE AND @END_DATE AND @secretariat_flg = ‘1‘ --次ステータスが、事務局がアクションを起こすべきステータスNo AND APPL.STATUS_NO IN ( ‘21‘ --上長承認済み ,‘31‘ --事務局受理(未判定) ,‘32‘ --事務局受理(審議Ⅰ、Ⅱ) ,‘33‘ --事務局受理(事前審議) ,‘51‘ --再提出中 ,‘52‘ --事務局受理(再提出) ,‘61‘ --完成品確認依頼中 ) ) AS INFO_LIST --申請ステータスマスタ INNER JOIN TBAAMS_STATUS AS STAT ON(INFO_LIST.STATUS_NO = STAT.STATUS_NO) ORDER BY INFO_LIST.UPD_DATE DESC ; END
USE [APPLICATION_DEV] GO /****** Object: StoredProcedure [dbo].[SPAA_SEL_INFO_STATUS_LIST] Script Date: 12/08/2014 15:00:16 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ========================================================================================== -- $Id: dbo.SPAA_SEL_INFO_STATUS_LIST.StoredProcedure.sql 1063 2012-01-13 08:57:33Z ubukata $ -- Create date : 2011/11/07 -- Description : 申請ステータスリスト取得 -- : 担当者コードから申請ステータスのリストを取得する -- : ===== 2011/11/30 #16 ===== -- : 作成中は事務局でも申請者自身で無い限りは表示しない -- : ===== 2012/01/13 #158 ===== -- : ?差し戻し系ステータスでの色変更のため、ステータスNoも返すように変更 -- ========================================================================================== ALTER PROCEDURE [dbo].[SPAA_SEL_INFO_STATUS_LIST]( @stf_code CHAR(5) -- 担当者コード ,@secretariat_flg CHAR(1) -- 事務局担当者フラグ ) AS BEGIN --検索 SELECT APPL.APPLI_NO ,APPL.STATUS_NO AS STATUS_NO ,STAT.STATUS_NAME_1 ,DG.DRUG_NM_KNJ AS DRUG_NAME ,STF.STF_NM_KNJ AS APPLICANT_STF_NAME ,APPL.MATERIALS_NM_KNJ ,MAT.MATERIALS_NM_KNJ AS MATERIALS_CODE_NAME ,COMM.COMMITTEE_NO --20141022:KAIYO:MOD:START ,APPL.APPLICATION_DATE --20141022:KAIYO:MOD:END FROM --申請 TBAATR_APPLICATION AS APPL INNER JOIN ( --自分が申請者 SELECT APPLI_NO ,REVISION_NO FROM TBAATR_APPLICATION WHERE DEL_FLG = ‘0‘ AND APPLICANT_STF_CODE = CASE WHEN @secretariat_flg=‘1‘ THEN APPLICANT_STF_CODE ELSE @stf_code END --自分が上長 UNION SELECT APPLI_NO ,REVISION_NO FROM TBAATR_APPLICATION WHERE DEL_FLG = ‘0‘ AND SUPERIOR_STF_CODE = CASE WHEN @secretariat_flg=‘1‘ THEN SUPERIOR_STF_CODE ELSE @stf_code END ) AS APPL_OWN ON (APPL.APPLI_NO = APPL_OWN.APPLI_NO AND APPL.REVISION_NO = APPL_OWN.REVISION_NO) --申請ステータスマスタ INNER JOIN TBAAMS_STATUS AS STAT ON(APPL.STATUS_NO = STAT.STATUS_NO) --審査結果 LEFT OUTER JOIN (SELECT * FROM TBAATR_INSPECTION_RESULT WHERE DEL_FLG = ‘0‘) AS INS_RESULT ON (APPL.APPLI_NO = INS_RESULT.APPLI_NO AND APPL.REVISION_NO = INS_RESULT.REVISION_NO) --委員会審議申請 LEFT OUTER JOIN (SELECT * FROM TBAARS_COMMITTEE_APPLICATION WHERE DEL_FLG = ‘0‘) AS COMM_APPL ON (APPL.APPLI_NO = COMM_APPL.APPLI_NO AND APPL.REVISION_NO = COMM_APPL.REVISION_NO) --委員会 LEFT OUTER JOIN (SELECT * FROM TBAAMS_COMMITTEE WHERE DEL_FLG = ‘0‘) AS COMM ON (COMM_APPL.COMMITTEE_NO = COMM.COMMITTEE_NO) --薬剤マスタ LEFT OUTER JOIN TBCMRS_DRUG_INFO AS DG ON (APPL.DRUG = DG.DRUG_CODE) --担当者 LEFT OUTER JOIN TBCMRS_STF_INFO AS STF ON (APPL.APPLICANT_STF_CODE = STF.STF_CODE) --資材区分情報 LEFT OUTER JOIN MATERIALS_INFO AS MAT ON (APPL.MATERIALS_CODE = MAT.MATERIALS_CODE) WHERE APPL.DEL_FLG = ‘0‘ --完了状態以外の全てのステータス AND (APPL.STATUS_NO IN ( ‘11‘ --上長申請中 ,‘12‘ --上長再申請中 ,‘21‘ --上長承認済み ,‘22‘ --上長差し戻し ,‘31‘ --事務局受理(未判定) ,‘32‘ --事務局受理(審議Ⅰ、Ⅱ) ,‘33‘ --事務局受理(事前審議) ,‘34‘ --事務局差し戻し ,‘41‘ --審議結果:許可 ,‘42‘ --審議結果:条件付許可 ,‘43‘ --審議結果:留保 ,‘51‘ --再提出中 ,‘52‘ --事務局受理(再提出) ,‘53‘ --事務局差し戻し ,‘54‘ --委員長許可 ,‘55‘ --委員長差し戻し ,‘61‘ --完成品確認依頼中 ,‘72‘ --公開差し戻し ) OR ( --作成中は自分自身のみ APPL.STATUS_NO = ‘10‘ AND APPL.APPLICANT_STF_CODE = @stf_code )) ORDER BY APPL.APPLI_NO ; END
.NET
// このコードはツールによって生成されました。 namespace Otsuka.Application.Dal { using System.Data.Linq; using System.Data.Linq.Mapping; using System.Data; using System.Collections.Generic; using System.Reflection; using System.Linq; using System.Linq.Expressions; using System.ComponentModel; using System; [System.Data.Linq.Mapping.DatabaseAttribute(Name="APPLICATION")] public partial class ApplicationDataContext : System.Data.Linq.DataContext { private static System.Data.Linq.Mapping.MappingSource mappingSource = new AttributeMappingSource(); ........................... [Function(Name="dbo.SPAA_SEL_INFO_LIST")] public ISingleResult<SPAA_SEL_INFO_LIST結果> SPAA_SEL_INFO_LIST([Parameter(DbType="Char(5)")] string stf_code, [Parameter(DbType="Char(1)")] System.Nullable<char> secretariat_flg) { IExecuteResult result = this.ExecuteMethodCall(this, ((MethodInfo)(MethodInfo.GetCurrentMethod())), stf_code, secretariat_flg); return ((ISingleResult<SPAA_SEL_INFO_LIST結果>)(result.ReturnValue)); } [Function(Name="dbo.SPAA_SEL_INFO_STATUS_LIST")] public ISingleResult<SPAA_SEL_INFO_STATUS_LIST結果> SPAA_SEL_INFO_STATUS_LIST([Parameter(DbType="Char(5)")] string stf_code, [Parameter(DbType="Char(1)")] System.Nullable<char> secretariat_flg) { IExecuteResult result = this.ExecuteMethodCall(this, ((MethodInfo)(MethodInfo.GetCurrentMethod())), stf_code, secretariat_flg); return ((ISingleResult<SPAA_SEL_INFO_STATUS_LIST結果>)(result.ReturnValue)); } }
C#呼び出し
protected override Dictionary<string, object> Perform() { string strStfCode = Request[REQUEST_KEY_STAFF_CODE] as string; if (strStfCode == null) { strStfCode = String.Empty; } string strSecretariat = Request[REQUEST_KEY_NEED_INFOMATION_4_SECRETARIAT] as string ; if (strSecretariat == null) { strSecretariat = "1"; } // お知らせの検索 var lstInfo = DataContext.SPAA_SEL_INFO_LIST(strStfCode, strSecretariat.ToCharArray ()[0] ).ToList(); DateTime now = DateTime.Now; // お知らせ(委員会) TBAAMS_COMMITTEE committee = (from row in DataContext.TBAAMS_COMMITTEE where row.DEL_FLG == ‘0‘ && row.HOLD_DATE.CompareTo(now.ToString("yyyyMMdd")) >= 0 orderby row.HOLD_DATE select row).FirstOrDefault(); if (committee != null && committee.HOLD_INFORM_FLG == ‘1‘) { //直近の委員会で開催案内が出ている場合、追加する SPAA_SEL_INFO_LIST結果 comRow = new SPAA_SEL_INFO_LIST結果(); comRow.APPLI_NO = null; comRow.MATERIALS_NM_KNJ = null; // 画面表示したくない項目なので、値を設定しない //comRow.UPD_DATE = null; comRow.STATUS_NO = null; comRow.STATUS_NAME_2 = null; comRow.COMMITTEE_NO = committee.COMMITTEE_NO; comRow.HOLD_DATE = StringUtility .ConvertDateString(committee.HOLD_DATE); lstInfo.Insert(0, comRow); } //申請ステータスの検索 var lstStatus = DataContext.SPAA_SEL_INFO_STATUS_LIST(strStfCode, char.Parse (strSecretariat)).ToList(); Dictionary<string, object> response = new Dictionary<string, object>(); response.Add(RESPONSE_KEY_INFOMATION_LIST, lstInfo); response.Add(RESPONSE_KEY_STATUS_LIST, lstStatus); return response; }
时间: 2024-11-08 21:53:20