Распишу детальней
В этом цикле
while select * from TOR_Eo_Table
where tor_eo_table.RassetId == rassetTable.AccountNum
я нахожу единицы оборудования,которые имеют связь с основным средством
В этом цикле
while select * from Tor_OrdersObj
where Tor_OrdersObj.EoID == Tor_Eo_Table.EO_Id
я нахожу заказы,в которых присутствуют ранее найденные единицы оборудования
В этом цикле
while select * from prodTable
where prodtable.prodId == Tor_OrdersObj.ProdId
join tor_WorkCode
where tor_WorkCode.Code == prodTable.tor_WorkCode
&& tor_WorkCode.WorkGroup == TOR_WorkGroup::TR
я нахожу вид ремонта всего их четыре(текущий,капитальный,средний и техническое перевооружение)сумма будет складываться по видам ремонтов.
В этом цикле
while select PlanSumCustMaterialTZP from ProdSum
where ProdSum.ProdId == Tor_OrdersObj.ProdId
Я нахожу суммы затрат прикрепленные к заказам
И вот этот приведеный кусок только для оного вида ремонта,таких блоков будет еще три,для каждого вида ремонта.
И всего где - то получится 16 циклов.
При маленьком количестве заказов у меня обработка проходит за две секунду,а если их будет 60тыс. даже считать неохота как это будет долго
|