Exemplo n.º 1
0
        public Trip(string fileName)
        {
            string        stringUnit    = "";
            int           lineNumber    = 0;
            List <string> unitsFromLine = new List <string>();

            Lines = new TripLines();

            IEnumerable <string> fileStrings = File.ReadAllLines(fileName);

            foreach (var line in fileStrings)
            {
                lineNumber += 1;
                if (lineNumber == 2 || lineNumber > 3)
                {
                    for (int i = 0; i < line.Length; i++)
                    {
                        char symbol = line[i];
                        if (symbol == ';')
                        {
                            unitsFromLine.Add(stringUnit);
                            stringUnit = "";
                        }
                        else if (i == line.Length - 1)
                        {
                            stringUnit += line[i];
                            unitsFromLine.Add(stringUnit);
                            stringUnit = "";
                        }
                        else
                        {
                            stringUnit += line[i];
                        }
                    }
                    if (lineNumber == 2)
                    {
                        Header = new TripHeader(unitsFromLine);
                        unitsFromLine.Clear();
                    }
                    else
                    {
                        Lines.Add(new Order(unitsFromLine));
                    }
                }
            }
        }
Exemplo n.º 2
0
        public static System.Int64 Header(TripHeader header)
        {
            System.Int64 result;
            try
            {
                SqlConnection connection = new SqlConnection("context connection=true");
                using (connection)
                {
                    connection.Open();
                    using (var sqlTrans = connection.BeginTransaction()) //one transaction instead of many from each insert implicit
                    {
                        var cmdText01 = @"INSERT INTO [dbo].[_1s_TMS_Import_ЗаявкаТЭП_ш]
                                   ([СтатусШлюза]
                                   ,[ДатаВремяИзменения]
                                   ,[Идентификатор]
                                   ,[ДатаДок]
                                   ,[ВидОтгрузки]
                                   ,[СтатусРейса]
                                   ,[Заказчик]
                                   ,[Грузоотправитель]
                                   ,[ДатаНачалаПогрузкиПлан]
                                   ,[ВремяНачалаПогрузкиПлан]
                                   ,[ДатаНачалаПогрузкиФакт]
                                   ,[ВремяНачалаПогрузкиФакт]
                                   ,[ДатаОкончанияПогрузкиПлан]
                                   ,[ВремяОкончанияПогрузкиПлан]
                                   ,[ДатаОкончанияПогрузкиФакт]
                                   ,[ВремяОкончанияПогрузкиФакт]
                                   ,[АТПСсылка]
                                   ,[АТП]
                                   ,[ТЭП]
                                   ,[Водитель]
                                   ,[ВодительСерияПаспорта]
                                   ,[ВодительНомерПаспорта]
                                   ,[ВодительДатаВыдачиПаспорта]
                                   ,[ВодительКемВыданПаспорт]
                                   ,[ВодительПрава]
                                   ,[Автомобиль]
                                   ,[Прицеп]
                                   ,[МестоПогрузки]
                                   ,[ГрузСдал]
                                   ,[ТипГруза]
                                   ,[ВесОбщий]
                                   ,[ВидПогрузки]
                                   ,[СуммаФрахтПлан]
                                   ,[СуммаФрахтФакт]
                                   ,[ДопТЧДокументаЗаявкаТЭП_Сумма]
                                   ,[ДопТЧДокументаЗаявкаТЭП_Примечание]
                                   ,[Ответственный]
                                   ,[ТребАвто]
                                   ,[ТелефНомВодилы]
                                   ,[Примечание]
                                   ,[ОбщКилоМетраж]
                                   ,[ID_code_truck]
                                   ,[ID_code_trailer]
                                   ,[ID_code_driver]
                                   ,[РоботИмпортер])
                             VALUES
                                   ('P'
                                   ,getdate()
                                   ,@Идентификатор
                                   ,@ДатаДок
                                   ,@ВидОтгрузки
                                   ,@СтатусРейса
                                   ,@Заказчик
                                   ,@Грузоотправитель
                                   ,@ДатаНачалаПогрузкиПлан
                                   ,@ВремяНачалаПогрузкиПлан
                                   ,@ДатаНачалаПогрузкиФакт
                                   ,@ВремяНачалаПогрузкиФакт
                                   ,@ДатаОкончанияПогрузкиПлан
                                   ,@ВремяОкончанияПогрузкиПлан
                                   ,@ДатаОкончанияПогрузкиФакт
                                   ,@ВремяОкончанияПогрузкиФакт
                                   ,@АТПСсылка
                                   ,@АТП
                                   ,@ТЭП
                                   ,@Водитель
                                   ,@ВодительСерияПаспорта
                                   ,@ВодительНомерПаспорта
                                   ,@ВодительДатаВыдачиПаспорта
                                   ,@ВодительКемВыданПаспорт
                                   ,@ВодительПрава
                                   ,@Автомобиль
                                   ,@Прицеп
                                   ,@МестоПогрузки
                                   ,@ГрузСдал
                                   ,@ТипГруза
                                   ,@ВесОбщий
                                   ,@ВидПогрузки
                                   ,@СуммаФрахтПлан
                                   ,@СуммаФрахтФакт
                                   ,@ДопТЧДокументаЗаявкаТЭП_Сумма
                                   ,@ДопТЧДокументаЗаявкаТЭП_Примечание
                                   ,@Ответственный
                                   ,@ТребАвто
                                   ,@ТелефНомВодилы
                                   ,@Примечание
                                   ,@ОбщКилоМетраж
                                   ,@ID_code_truck
                                   ,@ID_code_trailer
                                   ,@ID_code_driver
                                   ,null)";
                        using (var cmd = new SqlCommand(cmdText01, connection, sqlTrans))
                        {
                            var Идентификатор              = cmd.Parameters.Add("@Идентификатор", SqlDbType.NVarChar, 50);
                            var ДатаДок                    = cmd.Parameters.Add("@ДатаДок", SqlDbType.DateTime);
                            var ВидОтгрузки                = cmd.Parameters.Add("@ВидОтгрузки", SqlDbType.Char, 9);
                            var СтатусРейса                = cmd.Parameters.Add("@СтатусРейса", SqlDbType.NVarChar, 50);
                            var Заказчик                   = cmd.Parameters.Add("@Заказчик", SqlDbType.Char, 9);
                            var Грузоотправитель           = cmd.Parameters.Add("@Грузоотправитель", SqlDbType.Char, 9);
                            var ДатаНачалаПогрузкиПлан     = cmd.Parameters.Add("@ДатаНачалаПогрузкиПлан", SqlDbType.DateTime);
                            var ВремяНачалаПогрузкиПлан    = cmd.Parameters.Add("@ВремяНачалаПогрузкиПлан", SqlDbType.Int);
                            var ДатаНачалаПогрузкиФакт     = cmd.Parameters.Add("@ДатаНачалаПогрузкиФакт", SqlDbType.DateTime);
                            var ВремяНачалаПогрузкиФакт    = cmd.Parameters.Add("@ВремяНачалаПогрузкиФакт", SqlDbType.Int);
                            var ДатаОкончанияПогрузкиПлан  = cmd.Parameters.Add("@ДатаОкончанияПогрузкиПлан", SqlDbType.DateTime);
                            var ВремяОкончанияПогрузкиПлан = cmd.Parameters.Add("@ВремяОкончанияПогрузкиПлан", SqlDbType.Int);
                            var ДатаОкончанияПогрузкиФакт  = cmd.Parameters.Add("@ДатаОкончанияПогрузкиФакт", SqlDbType.DateTime);
                            var ВремяОкончанияПогрузкиФакт = cmd.Parameters.Add("@ВремяОкончанияПогрузкиФакт", SqlDbType.Int);
                            var АТПСсылка                  = cmd.Parameters.Add("@АТПСсылка", SqlDbType.Char, 9);
                            var АТП      = cmd.Parameters.Add("@АТП", SqlDbType.NVarChar, 500);
                            var ТЭП      = cmd.Parameters.Add("@ТЭП", SqlDbType.Char, 9);
                            var Водитель = cmd.Parameters.Add("@Водитель", SqlDbType.NVarChar, 50);
                            var ВодительСерияПаспорта      = cmd.Parameters.Add("@ВодительСерияПаспорта", SqlDbType.NVarChar, 50);
                            var ВодительНомерПаспорта      = cmd.Parameters.Add("@ВодительНомерПаспорта", SqlDbType.NVarChar, 50);
                            var ВодительДатаВыдачиПаспорта = cmd.Parameters.Add("@ВодительДатаВыдачиПаспорта", SqlDbType.DateTime);
                            var ВодительКемВыданПаспорт    = cmd.Parameters.Add("@ВодительКемВыданПаспорт", SqlDbType.NVarChar, 500);
                            var ВодительПрава  = cmd.Parameters.Add("@ВодительПрава", SqlDbType.NVarChar, 50);
                            var Автомобиль     = cmd.Parameters.Add("@Автомобиль", SqlDbType.NVarChar, 50);
                            var Прицеп         = cmd.Parameters.Add("@Прицеп", SqlDbType.NVarChar, 50);
                            var МестоПогрузки  = cmd.Parameters.Add("@МестоПогрузки", SqlDbType.NVarChar, 80);
                            var ГрузСдал       = cmd.Parameters.Add("@ГрузСдал", SqlDbType.Char, 9);
                            var ТипГруза       = cmd.Parameters.Add("@ТипГруза", SqlDbType.NVarChar, 50);
                            var ВесОбщий       = cmd.Parameters.Add("@ВесОбщий", SqlDbType.NVarChar, 50);
                            var ВидПогрузки    = cmd.Parameters.Add("@ВидПогрузки", SqlDbType.NVarChar, 50);
                            var СуммаФрахтПлан = cmd.Parameters.Add("@СуммаФрахтПлан", SqlDbType.Money);
                            var СуммаФрахтФакт = cmd.Parameters.Add("@СуммаФрахтФакт", SqlDbType.Money);
                            var ДопТЧДокументаЗаявкаТЭП_Сумма      = cmd.Parameters.Add("@ДопТЧДокументаЗаявкаТЭП_Сумма", SqlDbType.Money);
                            var ДопТЧДокументаЗаявкаТЭП_Примечание = cmd.Parameters.Add("@ДопТЧДокументаЗаявкаТЭП_Примечание", SqlDbType.NVarChar, 50);
                            var Ответственный   = cmd.Parameters.Add("@Ответственный", SqlDbType.Char, 9);
                            var ТребАвто        = cmd.Parameters.Add("@ТребАвто", SqlDbType.NVarChar, 100);
                            var ТелефНомВодилы  = cmd.Parameters.Add("@ТелефНомВодилы", SqlDbType.NVarChar, 50);
                            var Примечание      = cmd.Parameters.Add("@Примечание", SqlDbType.NVarChar, 100);
                            var ОбщКилоМетраж   = cmd.Parameters.Add("@ОбщКилоМетраж", SqlDbType.Int);
                            var ID_code_truck   = cmd.Parameters.Add("@ID_code_truck", SqlDbType.NVarChar, 50);
                            var ID_code_trailer = cmd.Parameters.Add("@ID_code_trailer", SqlDbType.NVarChar, 50);
                            var ID_code_driver  = cmd.Parameters.Add("@ID_code_driver", SqlDbType.NVarChar, 50);

                            Идентификатор.Value              = header.IdTrip;
                            ДатаДок.Value                    = header.DateDoc;
                            ВидОтгрузки.Value                = header.LoadForm;
                            СтатусРейса.Value                = header.TripStatus;
                            Заказчик.Value                   = header.Customer;
                            Грузоотправитель.Value           = header.Shipper;
                            ДатаНачалаПогрузкиПлан.Value     = header.DateStartLoadingPlan;
                            ВремяНачалаПогрузкиПлан.Value    = header.TimeSecStartLoadingPlan;
                            ДатаНачалаПогрузкиФакт.Value     = header.DateStartLoadingRealise;
                            ВремяНачалаПогрузкиФакт.Value    = header.TimeSecStartLoadingRealise;
                            ДатаОкончанияПогрузкиПлан.Value  = header.DateFinishLoadingPlan;
                            ВремяОкончанияПогрузкиПлан.Value = header.TimeSecFinishLoadingPlan;
                            ДатаОкончанияПогрузкиФакт.Value  = header.DateFinishLoadingRealise;
                            ВремяОкончанияПогрузкиФакт.Value = header.TimeSecFinishLoadingRealise;
                            АТПСсылка.Value                  = header.CarrierAutoId;
                            АТП.Value = header
                                        .CarrierAutoName;
                            ТЭП.Value      = header.CarrierShopId;
                            Водитель.Value = header.DriversName;
                            ВодительСерияПаспорта.Value      = header.DriversPassportSeries;
                            ВодительНомерПаспорта.Value      = header.DriversPassportNumber;
                            ВодительДатаВыдачиПаспорта.Value = header.DriversPassportDateIssued;
                            ВодительКемВыданПаспорт.Value    = header.DriversPassportIssuedBy;
                            ВодительПрава.Value  = header.DriversLicense;
                            Автомобиль.Value     = header.TruckName;
                            Прицеп.Value         = header.TrailerName;
                            МестоПогрузки.Value  = header.LoadingPlaceCode;
                            ГрузСдал.Value       = header.StufferId;
                            ТипГруза.Value       = header.LoadType;
                            ВесОбщий.Value       = header.Weight;
                            ВидПогрузки.Value    = header.LoadingType;
                            СуммаФрахтПлан.Value = header.SummCostPlan;
                            СуммаФрахтФакт.Value = header.SummCostRealise;
                            ДопТЧДокументаЗаявкаТЭП_Сумма.Value      = header.SummSurcharge;
                            ДопТЧДокументаЗаявкаТЭП_Примечание.Value = header.SurchargeComment;
                            Ответственный.Value   = header.CreatedStufferId;
                            ТребАвто.Value        = header.TruckLength;
                            ТелефНомВодилы.Value  = header.DriversPhoneNumber;
                            Примечание.Value      = header.Comment;
                            ОбщКилоМетраж.Value   = header.Distance;
                            ID_code_truck.Value   = header.IdCodeTruck;
                            ID_code_trailer.Value = header.IdCodeTrailer;
                            ID_code_driver.Value  = header.IdCodeDriver;

                            cmd.ExecuteNonQuery();

                            sqlTrans.Commit();
                        }
                    }
                    var cmdText02 = @"select max(Код) from dbo._1s_TMS_Import_ЗаявкаТЭП_ш;";
                    using (var cmd = new SqlCommand(cmdText02, connection))
                    {
                        result = (System.Int64)cmd.ExecuteScalar();
                    }

                    connection.Close();
                }
            }
            catch
            {
                result = -1;
            }
            return(result);
        }
Exemplo n.º 3
0
        public void SaveHeader(TripHeader header)
        {
            SqlConnection connection = new SqlConnection("context connection=true");

            using (connection)
            {
                connection.Open();
                using (var sqlTrans = connection.BeginTransaction()) //one transaction instead of many from each insert implicit
                {
                    string cmdText = @"if object_id(N'dbo.trip_header',N'U') is null
                        create table dbo.trip_header (
trip_code                               varchar(50),
created_datetime                        varchar(50),
shift_status                            varchar(50),
transportation_client                   varchar(50),
shipper                                 varchar(50),
planned_pickup_stop_startInstant        varchar(50),
realized_pickup_stop_startInstant       varchar(50),
planned_pickup_stop_finishInstant       varchar(50),
realized_pickup_stop_finishInstant      varchar(50),
resource_subcontractor_externalId       varchar(50),
resource_subcontractor_name             varchar(50),
shift_subcontractor                     varchar(50),
driver_name                             varchar(50),
driver_passport_series                  varchar(50),
driver_passport_number                  varchar(50),
driver_passport_date_issued             varchar(50),
driver_passport_issued_by               varchar(50),
driver_driver_license                   varchar(50),
truck_name                              varchar(50),
trailer_name                            varchar(50),
pickup_address_externalId               varchar(50),
products                                varchar(50),
truck_capacity                          varchar(50),
addresses_delivery_capabilities         varchar(50),
plancost                                varchar(50),
realcost                                varchar(50),
surcharge                               varchar(50),
surcharge_comment                       varchar(50),
created_user                            varchar(50),
udf_truck_length                        varchar(50),
driver_phone                            varchar(50),
shift_comment                           varchar(50),
disable_delivery_type_check             varchar(50),
trip_distance                           varchar(50),
ID_code_truck                           varchar(50),
ID_code_trailer                         varchar(50),
ID_code_driver                          varchar(50)
)";
                    using (var cmd01 = new SqlCommand(cmdText, connection, sqlTrans))
                    {
                        cmd01.ExecuteNonQuery();
                    }

                    cmdText = @"INSERT INTO dbo.trip_header VALUES (
@v01,@v02,@v03,@v04,@v05,@v06,@v07,@v08,@v09,@v10,@v11,@v12,@v13,@v14,@v15,@v16,@v17,@v18,@v19,@v20,@v21,@v22,@v23,@v24,@v25,@v26,@v27,@v28,@v29,@v30,@v31,@v32,@v33,@v34,@v35,@v36,@v37)";
                    using (var cmd = new SqlCommand(cmdText, connection, sqlTrans))
                    {
                        var v01 = cmd.Parameters.Add("@v01", SqlDbType.NVarChar, 50);
                        var v02 = cmd.Parameters.Add("@v02", SqlDbType.NVarChar, 50);
                        var v03 = cmd.Parameters.Add("@v03", SqlDbType.NVarChar, 50);
                        var v04 = cmd.Parameters.Add("@v04", SqlDbType.NVarChar, 50);
                        var v05 = cmd.Parameters.Add("@v05", SqlDbType.NVarChar, 50);
                        var v06 = cmd.Parameters.Add("@v06", SqlDbType.NVarChar, 50);
                        var v07 = cmd.Parameters.Add("@v07", SqlDbType.NVarChar, 50);
                        var v08 = cmd.Parameters.Add("@v08", SqlDbType.NVarChar, 50);
                        var v09 = cmd.Parameters.Add("@v09", SqlDbType.NVarChar, 50);
                        var v10 = cmd.Parameters.Add("@v10", SqlDbType.NVarChar, 50);
                        var v11 = cmd.Parameters.Add("@v11", SqlDbType.NVarChar, 50);
                        var v12 = cmd.Parameters.Add("@v12", SqlDbType.NVarChar, 50);
                        var v13 = cmd.Parameters.Add("@v13", SqlDbType.NVarChar, 50);
                        var v14 = cmd.Parameters.Add("@v14", SqlDbType.NVarChar, 50);
                        var v15 = cmd.Parameters.Add("@v15", SqlDbType.NVarChar, 50);
                        var v16 = cmd.Parameters.Add("@v16", SqlDbType.NVarChar, 50);
                        var v17 = cmd.Parameters.Add("@v17", SqlDbType.NVarChar, 50);
                        var v18 = cmd.Parameters.Add("@v18", SqlDbType.NVarChar, 50);
                        var v19 = cmd.Parameters.Add("@v19", SqlDbType.NVarChar, 50);
                        var v20 = cmd.Parameters.Add("@v20", SqlDbType.NVarChar, 50);
                        var v21 = cmd.Parameters.Add("@v21", SqlDbType.NVarChar, 50);
                        var v22 = cmd.Parameters.Add("@v22", SqlDbType.NVarChar, 50);
                        var v23 = cmd.Parameters.Add("@v23", SqlDbType.NVarChar, 50);
                        var v24 = cmd.Parameters.Add("@v24", SqlDbType.NVarChar, 50);
                        var v25 = cmd.Parameters.Add("@v25", SqlDbType.NVarChar, 50);
                        var v26 = cmd.Parameters.Add("@v26", SqlDbType.NVarChar, 50);
                        var v27 = cmd.Parameters.Add("@v27", SqlDbType.NVarChar, 50);
                        var v28 = cmd.Parameters.Add("@v28", SqlDbType.NVarChar, 50);
                        var v29 = cmd.Parameters.Add("@v29", SqlDbType.NVarChar, 50);
                        var v30 = cmd.Parameters.Add("@v30", SqlDbType.NVarChar, 50);
                        var v31 = cmd.Parameters.Add("@v31", SqlDbType.NVarChar, 50);
                        var v32 = cmd.Parameters.Add("@v32", SqlDbType.NVarChar, 50);
                        var v33 = cmd.Parameters.Add("@v33", SqlDbType.NVarChar, 50);
                        var v34 = cmd.Parameters.Add("@v34", SqlDbType.NVarChar, 50);
                        var v35 = cmd.Parameters.Add("@v35", SqlDbType.NVarChar, 50);
                        var v36 = cmd.Parameters.Add("@v36", SqlDbType.NVarChar, 50);
                        var v37 = cmd.Parameters.Add("@v37", SqlDbType.NVarChar, 50);

                        v01.Value = header.trip_code;
                        v02.Value = header.created_datetime;
                        v03.Value = header.shift_status;
                        v04.Value = header.transportation_client;
                        v05.Value = header.shipper;
                        v06.Value = header.planned_pickup_stop_startInstant;
                        v07.Value = header.realized_pickup_stop_startInstant;
                        v08.Value = header.planned_pickup_stop_finishInstant;
                        v09.Value = header.realized_pickup_stop_finishInstant;
                        v10.Value = header.resource_subcontractor_externalId;
                        v11.Value = header.resource_subcontractor_name;
                        v12.Value = header.shift_subcontractor;
                        v13.Value = header.driver_name;
                        v14.Value = header.driver_passport_series;
                        v15.Value = header.driver_passport_number;
                        v16.Value = header.driver_passport_date_issued;
                        v17.Value = header.driver_passport_issued_by;
                        v18.Value = header.driver_driver_license;
                        v19.Value = header.truck_name;
                        v20.Value = header.trailer_name;
                        v21.Value = header.pickup_address_externalId;
                        v22.Value = header.products;
                        v23.Value = header.truck_capacity;
                        v24.Value = header.addresses_delivery_capabilities;
                        v25.Value = header.plancost;
                        v26.Value = header.realcost;
                        v27.Value = header.surcharge;
                        v28.Value = header.surcharge_comment;
                        v29.Value = header.created_user;
                        v30.Value = header.udf_truck_length;
                        v31.Value = header.driver_phone;
                        v32.Value = header.shift_comment;
                        v33.Value = header.disable_delivery_type_check;
                        v34.Value = header.trip_distance;
                        v35.Value = header.ID_code_truck;
                        v36.Value = header.ID_code_trailer;
                        v37.Value = header.ID_code_driver;

                        cmd.ExecuteNonQuery();
                    }
                    sqlTrans.Commit();
                }
                connection.Close();
            }
        }
Exemplo n.º 4
0
        public void Test(string fileName)
        {
            string               stringUnit    = "";
            char                 symbol        = new char();
            int                  lineNumber    = 0;
            List <string>        unitsFromLine = new List <string>();
            IEnumerable <string> fileStrings   = File.ReadAllLines(fileName);
            TripLines            tripLines     = new TripLines();

            foreach (var line in fileStrings)
            {
                lineNumber += 1;
                if (lineNumber == 2)    // || lineNumber > 3)
                {
                    //Console.WriteLine(line);
                    for (int i = 0; i < line.Length; i++)
                    {
                        symbol = line[i];
                        //Console.WriteLine($"symbol = {symbol}, line.Length = {line.Length}, i = {i}");
                        if (symbol == ';')
                        {
                            unitsFromLine.Add(stringUnit);
                            stringUnit = "";
                        }
                        else if (i == line.Length - 1)
                        {
                            stringUnit += line[i];
                            unitsFromLine.Add(stringUnit);
                            stringUnit = "";
                        }
                        else
                        {
                            stringUnit += line[i];
                        }
                    }
                    TripHeader header = new TripHeader(unitsFromLine);
                    SaveHeader(header);
                }
                else if (lineNumber > 3)
                {
                    unitsFromLine.Clear();
                    //Console.WriteLine(line.Count());
                    //Console.WriteLine(line);
                    for (int i = 0; i < line.Length; i++)
                    {
                        symbol = line[i];
                        //Console.WriteLine($"symbol = {symbol}, line.Length = {line.Length}, i = {i}");
                        if (symbol == ';')
                        {
                            //Console.WriteLine(stringUnit);
                            unitsFromLine.Add(stringUnit);
                            stringUnit = "";
                        }
                        else if (i == line.Length - 1)
                        {
                            stringUnit += line[i];
                            //Console.WriteLine(stringUnit);
                            unitsFromLine.Add(stringUnit);
                            stringUnit = "";
                        }
                        else
                        {
                            stringUnit += line[i];
                        }
                    }
                    tripLines.Add(new Order(unitsFromLine));
                }
            }
        }