|
09.09.2008, 09:56 | #1 |
Участник
|
Нужно срочно дописать запрос помогите
Помогите дописать запрос.
Время свыше которого ДСЕ не должны находиться в ЗГПТО.Для деталей, обрабатываемых в цехе 135 норматив состовляет один день:для деталей проходящих обработку в цехе 113- три дня (кроме ДСЕ, которые проходят обработку ХТО для них норматив – 5 дней) static void Job49(Args _args) { ProdJournalTable ProdJournalTable; ProdJournalRoute ProdJournalRoute; ProdJournalRoute ProdJournalRoute_1; ProdJournalRoute ProdJOurnalRoute_2; TmpProdJournalRouteOutTime tmpTable; ProdTable ProdTable; int nDay; ; delete_from tmpTable; while select createddate,journalid,posted from ProdJournalTable where ProdJournalTable.Posted==NOYES::No exists join ProdJournalRoute where ProdJournalRoute.JournalId==ProdJournalTable.JournalId&& (ProdJournalRoute.WrkCtrId == '113' || ProdJournalRoute.WrkCtrId == '135') { select ProdJournalRoute_1 order by oprnum desc where ProdJournalRoute_1.JournalId == ProdJournalTable.JournalId; select ProdTable where ProdTable.ProdId == ProdJournalRoute_1.ProdId; select ProdJournalRoute_2 where ProdJournalRoute_2.OprId like '045%' && ProdJournalRoute_2.JournalId == ProdJournalTable.JournalId; info ( strfmt("%1,%2,%3", ProdJournalTable.createdDate, ProdJournalTable.JournalId, toDay() - ProdJournalTable.createdDate) ); tmpTable.clear(); tmpTable.ITEMID =ProdTable.ItemId; tmpTable.WRKCTRID=ProdjournalRoute_1.WrkCtrId; tmpTable.Qty=ProdJournalRoute_1.QtyGood+ProdJournalRoute_1.QtyError; tmpTable.Days= toDay() - ProdJournalTable.createdDate; tmpTable.Normal=noYes::No; if ( tmpTable.WRKCTRID == '135') { nDay = 1; } if ( tmpTable.WRKCTRID == '113') { nDay = 3; } if ( tmpTable.WRKCTRID == '113') { // if ( ProdJournalRoute_2.OprId like '045% '&& nDay = 5); // if (tmpTable.WRKCTRID == ProdJournalRoute_2.OprId) nDay=5; } if (tmpTable.Days > nDay) tmpTable.Normal=NoYes::No; else tmpTable.Normal=NoYes::Yes ; tmpTable.insert(); } } ВОПРОС как мне написать кроме ДСЕ, которые проходят обработку ХТО для них норматив – 5 Очень Нужно |
|
09.09.2008, 10:26 | #2 |
Moderator
|
Ну, наверное, как-то так (псевдокод!):
X++: if ( tmpTable.WRKCTRID == '113' && "ДСЕ проходит обработку ХТО" ) { // if ( ProdJournalRoute_2.OprId like '045% '&& nDay = 5); // if (tmpTable.WRKCTRID == ProdJournalRoute_2.OprId) nDay=5; } |
|
09.09.2008, 10:49 | #3 |
Участник
|
Помогло
Спасибо большое
|
|
09.09.2008, 10:49 | #4 |
Участник
|
if ( tmpTable.WRKCTRID == '113')
{ if ( ДСЕ проходит обработку ХТО) nDay = 5; else nDay = 3; } |
|