From : Sergo Rostiashvili <SRostiashvili@hssp.org.ge>
To : Giorgi Lobjanidze <GLobjanidze@hssp.org.ge>
Subject : ფასების გადმოგზავნის პრობლემა და ერთ პერიოდში განსხვავებული ფასები
Cc : Tamta Kobakhidze <tkobakhidze@hssp.org.ge>; Mary Gelashvili <MGelashvili@hssp.org.ge>
Received On : 29.09.2014 08:54
Attachments :

თიკოს წერილის შემთხვევა, სადაც აქტივაცია მეტია დეაქტივაციაზე:

 

Select

       Org.ContractID, P.GeoName, Org.OrganizationID, F.ArtificialCode, CF.FinancingItemID, CF.ActivationDate, CF.DeactivationDate, CF.DiagnoseTypeID, CF.MaxUnitCost, CF.DateCreated, CF.DateChanged, CF.DateDeleted

From dbo.BL_Contracts C

Join dbo.BL_ContractOrganizations Org On Org.ContractID = C.ID

Join dbo.BL_ContractFinancingItems CF ON CF.ContractOrganizationID = Org.ID

Join dbo.BL_FinancingItems F On F.ID = CF.FinancingItemID

Join dbo.BL_Providers P On P.ID = Org.OrganizationID

Where

       --CF.DateDeleted Is Null

       --And

       CF.DiagnoseTypeID = '44C0CCBB-1E8A-4892-A238-D901E67C9694'

       And Org.ID = '5CDC70C2-CD5E-45AF-B789-46BEE7D6CB7D'

       And CF.FinancingItemID = 'DB78971D-565C-4A0E-A06C-134994150E16'

Order By CF.DateCreated, CF.ActivationDate

 

 

ყველა ფინანსური ერთეული, სადაც აქტივაცია მეტია დეაქტივაციაზე:

 

Select

       D.Name,

       CF1.ID, CF1.FinancingItemID, CF1.DiagnoseTypeID, CF1.ActivationDate, CF1.DeactivationDate, CF1.MaxUnitCost, CF1.DateCreated, CF1.DateChanged, CF1.DateDeleted,

       CF2.ID, CF2.FinancingItemID, CF2.DiagnoseTypeID, CF2.ActivationDate, CF2.DeactivationDate, CF2.MaxUnitCost, CF2.DateCreated, CF2.DateChanged, CF2.DateDeleted

From dbo.BL_ContractFinancingItems CF1

Join dbo.BL_ContractOrganizations Org On Org.ID = CF1.ContractOrganizationID

Join dbo.BL_Contracts C On C.ID = Org.ContractID

Join dbo.BL_ProviderDepartments D ON D.ID = C.FinancingAgentDepartmentID

Join BL_ContractFinancingItems CF2 On CF2.ContractOrganizationID = CF1.ContractOrganizationID

                                                              And CF2.FinancingItemID = CF1.FinancingItemID

                                                              And CF2.DiagnoseTypeID = CF1.DiagnoseTypeID

                                                              And CF2.ID != CF1.ID

                                                              And (CF1.ActivationDate Between CF2.ActivationDate And CF2.DeactivationDate Or

                                                                     CF1.DeactivationDate Between CF2.ActivationDate And CF2.DeactivationDate)

Where CF1.DateDeleted Is Null

       And CF2.DateDeleted Is Null

Order By D.Name, CF1.DateCreated

 

 

======================================================================================================================================================================

 

 

თანაკვეთადი პერიოდების ფინანს. ერთეულები (ერთ პერიოდში აქვს რამდენიმე ფასი):

 

Select

       D.Name,

       CF1.ID, CF1.FinancingItemID, CF1.DiagnoseTypeID, CF1.ActivationDate, CF1.DeactivationDate, CF1.MaxUnitCost, CF1.DateCreated, CF1.DateChanged, CF1.DateDeleted,

       CF2.ID, CF2.FinancingItemID, CF2.DiagnoseTypeID, CF2.ActivationDate, CF2.DeactivationDate, CF2.MaxUnitCost, CF2.DateCreated, CF2.DateChanged, CF2.DateDeleted

From dbo.BL_ContractFinancingItems CF1

Join dbo.BL_ContractOrganizations Org On Org.ID = CF1.ContractOrganizationID

Join dbo.BL_Contracts C On C.ID = Org.ContractID

Join dbo.BL_ProviderDepartments D ON D.ID = C.FinancingAgentDepartmentID

Join BL_ContractFinancingItems CF2 On CF2.ContractOrganizationID = CF1.ContractOrganizationID

                                                              And CF2.FinancingItemID = CF1.FinancingItemID

                                                              And CF2.DiagnoseTypeID = CF1.DiagnoseTypeID

                                                              And CF2.ID != CF1.ID

                                                              And (CF1.ActivationDate Between CF2.ActivationDate And CF2.DeactivationDate Or

                                                                     CF1.DeactivationDate Between CF2.ActivationDate And CF2.DeactivationDate)

Where CF1.DateDeleted Is Null

       And CF2.DateDeleted Is Null

Order By D.Name, CF1.DateCreated

 

 

 

კონკრეული მაგალითი თანაკვეთის:

 

Select

       Org.ContractID, P.GeoName, Org.OrganizationID, F.ArtificialCode, CF.FinancingItemID, CF.ActivationDate, CF.DeactivationDate, CF.DiagnoseTypeID, CF.MaxUnitCost, CF.DateCreated, CF.DateChanged, CF.DateDeleted

From dbo.BL_Contracts C

Join dbo.BL_ContractOrganizations Org On Org.ContractID = C.ID

Join dbo.BL_ContractFinancingItems CF ON CF.ContractOrganizationID = Org.ID

Join dbo.BL_FinancingItems F On F.ID = CF.FinancingItemID

Join dbo.BL_Providers P On P.ID = Org.OrganizationID

Where

       --CF.DateDeleted Is Null

       --And

       CF.DiagnoseTypeID = '44C0CCBB-1E8A-4892-A238-D901E67C9694'

       And Org.ID = '5CDC70C2-CD5E-45AF-B789-46BEE7D6CB7D'

       And CF.FinancingItemID = 'DB78971D-565C-4A0E-A06C-134994150E16'

Order By CF.DateCreated, CF.ActivationDate

 

======================================================================================================================================================================

 

 

პირველ შემთხვევაში თუ არის თანაკვეთადი პერიოდები, საყოველთაოს შევთავაზოთ, რომ აღვადგინოთ გადმოგზავნამდე მდგომარეობა (გაუქმდეს დამატებული 2 ფასი და აღდგეს გაუქმებული ფასი), მივცეთ დაწესებულებების სია და თავიდან გადმოაგზავნონ განახლებული ლოგიკით.

 

მეორე შემთხვევაში გამოსაკვლევია რა მოხდა, რომ შესაბამისად მოვიფიქროთ როგორ უნდა გასწორდეს. გავასწოროთ მხოლოდ ბოლო 4 თვის შემთხვევები.

 

 

 

სერგო