/// <summary> /// Получение детали (Требуется доработка) /// </summary> /// <param name="l4MsgInfo">Модель таблицы L4L3Event для обработки кода</param> /// <param name="ship">Модель таблицы L4L3Shipping</param> /// <param name="action">Тип перечисления действий</param> /// <param name="forShipping">Тип перечисления отгрузки</param> /// <returns>Результат обработки</returns> public TCheckResult LocalSetPiece(TL4MsgInfo l4MsgInfo, L4L3Shipping ship, TPieceAction action, TForShipping forShipping) { TCheckResult checkResult = new TCheckResult(); OracleDynamicParameters odp = new OracleDynamicParameters(); List <int> pieceNum = new List <int>(); checkResult.isOK = false; string str = "SELECT PIECE_NUM_ID FROM PIECE WHERE PIECE_ID = :PIECE_ID AND STATUS= :STATUS AND PRODUCTION_MACHINE_CODE = 'HSM' "; if (forShipping == TForShipping.NOShipped) { str += "AND READY_TO_SHIP = :READY_TO_SHIP "; odp.Add("PIECE_ID", ship.pieceId); //odp.Add("STATUS",);// Узнать код PIECE_STATUS_EXIST //odp.Add("READY_TO_SHIP",)//Узнать код PIECE_READY_TO_SHIP } else if (action == TPieceAction.paAssign && forShipping == TForShipping.YESShipped) { str += "AND READY_TO_SHIP= :READY_TO_SHIP"; odp.Add("PIECE_ID", ship.pieceId); //odp.Add("STATUS",);// Узнать код PIECE_STATUS_EXIST //odp.Add("READY_TO_SHIP",)//Узнать код PIECE_READY_TO_SHIP } else if (action == TPieceAction.paDeAssign && forShipping == TForShipping.YESShipped) { str += "AND PIECE_EXIT_TYPE= :PIECE_EXIT_TYPE"; odp.Add("PIECE_ID", ship.pieceId); //odp.Add("STATUS",);// Узнать код PIECE_STATUS_EXIST //odp.Add("PIECE_EXIT_TYPE",)//Узнать код PIECE_EXIT_TYPE } using (OracleConnection connection = BaseRepo.GetDBConnection()) { pieceNum = connection.Query <int>(str, odp).AsList(); } if (forShipping == TForShipping.NOShipped) { foreach (int piece in pieceNum) { //SetPieceAssignExternalBOL(QryTemp.FieldByName('PIECE_NUM_ID').AsInteger, Action, Qry.FieldByName('BOL_ID').AsString); } } else if (forShipping == TForShipping.YESShipped) { foreach (int piece in pieceNum) { //SetPieceShippedFromExternal(QryTemp.FieldByName('PIECE_NUM_ID').AsInteger, Action, Qry.FieldByName('BOL_ID').AsString); } } checkResult.isOK = true; checkResult.data = $"В таблице {l4l3unterfacetable} поле MSG_COUNTER:{l4MsgInfo.msgCounter} Ошибок нет."; return(checkResult); }
/// <summary> /// Проверка принадлежности предмета к накладной /// </summary> /// <param name="ship">Модель таблицы L4_L3_SHIPPING для обработки</param> /// <param name="forShipping">Метка отгрузки\разгрузки</param> /// <returns> /// true - принадлежит /// false - не принадлежит /// </returns> public bool ShippingIsPieceAssignedToBOL(L4L3Shipping ship, TForShipping forShipping) { strPieceIdList.Add(ship.pieceId); return(CheckIfPieceRelatedToBOL(ship.bolId, forShipping)); }
/// <summary> /// Проверка существования предмета в заказе /// </summary> /// <param name="ship">Модель таблицы L4_L3_SHIPPING для обработки</param> /// <returns> /// true - существует /// false - не существует /// </returns> public bool L4L3ShipPieceSOCheck(L4L3Shipping ship) { return(CheckPiece(ship.pieceId, ship.soId, ship.soLineId)); }