Ejemplo n.º 1
0
        /* Старое извещение
         * public void showNotice(DTP dtp)
         * {
         *  _excelDoc = openDocumentExcel("Извещение о страховом случае");
         *
         *  Owners owners = Owners.getInstance();
         *
         *  _excelDoc.setValue(7, 4, owners.getItem(Convert.ToInt32(_car.ownerID)));
         *  _excelDoc.setValue(8, 5, "а/я 34, 196128");
         *  _excelDoc.setValue(9, 6, "320-40-04");
         *
         *  DriverCarList driverCarList = DriverCarList.getInstance();
         *  Driver driver = driverCarList.GetDriver(_car, dtp.Date);
         *
         *  PassportList passportList = PassportList.getInstance();
         *  Passport passport = passportList.getLastPassport(driver);
         *
         *  if (passport.Number != string.Empty)
         *  {
         *      string number = passport.Number;
         *      string[] numbers = number.Split(' ');
         *
         *      _excelDoc.setValue(11, 2, numbers[0]);
         *      _excelDoc.setValue(11, 5, numbers[1]);
         *
         *      _excelDoc.setValue(12, 2, passport.GiveOrg);
         *      _excelDoc.setValue(13, 3, passport.GiveDate.ToShortDateString());
         *  }
         *
         *  PolicyList policyList = PolicyList.getInstance();
         *  Policy policy = policyList.getItem(_car, PolicyType.КАСКО);
         *  _excelDoc.setValue(15, 5, policy.Number);
         *
         *  _excelDoc.setValue(17, 5, string.Concat(_car.Mark.Name, " ", _car.info.Model));
         *  _excelDoc.setValue(19, 5, _car.Grz);
         *  _excelDoc.setValue(21, 5, _car.vin);
         *
         *  _excelDoc.setValue(23, 5, dtp.Date.ToShortDateString());
         *
         *  _excelDoc.setValue(28, 1, driver.GetName(NameType.Full));
         *
         *  Regions regions = Regions.getInstance();
         *
         *  _excelDoc.setValue(30, 2, regions.getItem(Convert.ToInt32(dtp.IDRegion)));
         *  _excelDoc.setValue(32, 13, dtp.Damage);
         *  _excelDoc.setValue(34, 1, dtp.Facts);
         *
         *  SsDTP ssDTP = SsDTPList.getInstance().getItem(_car.Mark);
         *
         *  _excelDoc.setValue(63, 11, ssDTP.ServiceStantion);
         *
         *  DateTime date = DateTime.Today;
         *  MyDateTime myDate = new MyDateTime(date.ToShortDateString());
         *
         *  _excelDoc.setValue(71, 3, string.Concat("« ", date.Day.ToString(), " »"));
         *  _excelDoc.setValue(71, 4, myDate.MonthToStringGenitive());
         *  _excelDoc.setValue(71, 8, date.Year.ToString().Substring(2, 2));
         *
         *  _excelDoc.Show();
         * }
         *
         */

        public void CreateWaybill(DateTime date, Driver driver = null)
        {
            date = new DateTime(date.Year, date.Month, 1);

            if (driver == null)
            {
                var driverCarList = DriverCarList.getInstance();
                driver = driverCarList.GetDriver(_car, date);

                if (driver == null)
                {
                    driver = driverCarList.GetDriver(_car);
                    var invoiceList = InvoiceList.getInstance();
                    var invoice     = invoiceList.getItem(_car);

                    if (!string.IsNullOrEmpty(invoice?.DateMove))
                    {
                        DateTime.TryParse(invoice.DateMove, out DateTime dateMove);
                        if (dateMove.Year == date.Year && dateMove.Month == date.Month)
                        {
                            date = new DateTime(date.Year, date.Month, dateMove.Day);
                        }
                    }
                }
            }

            _excelDoc = openDocumentExcel("Путевой лист");

            _excelDoc.setValue(4, 28, _car.BBNumber);

            var myDate = new MyDateTime(date.ToShortDateString());

            _excelDoc.setValue(4, 39, driver.Id + "/01/" + myDate.MonthSlashYear());
            _excelDoc.setValue(6, 15, myDate.DaysRange);
            _excelDoc.setValue(6, 19, myDate.MonthToStringNominative());
            _excelDoc.setValue(6, 32, date.Year.ToString());

            _excelDoc.setValue(29, 35, _car.info.Grade.EngineType.ShortName);

            var mml = new MileageMonthList(_car.Id, date.Year + "-" + date.Month + "-01");

            /* Из файла Татьяны Мироновой пробег за месяц */
            _excelDoc.setValue(19, 39, mml.PSN);
            _excelDoc.setValue(33, 41, mml.Gas);
            _excelDoc.setValue(35, 41, mml.GasBegin);
            _excelDoc.setValue(36, 41, mml.GasEnd);
            _excelDoc.setValue(37, 41, mml.GasNorm);
            _excelDoc.setValue(38, 41, mml.GasNorm);
            _excelDoc.setValue(43, 39, mml.PSK);
            _excelDoc.setValue(41, 59, mml.Mileage);

            var owners = Owners.getInstance();
            var owner  = owners.getItem(1);

            _excelDoc.setValue(8, 8, owner);

            _excelDoc.setValue(10, 11, string.Concat(_car.Mark.Name, " ", _car.info.Model));
            _excelDoc.setValue(11, 17, _car.Grz);

            _excelDoc.setValue(12, 6, driver.GetName(NameType.Full));
            _excelDoc.setValue(44, 16, driver.GetName(NameType.Short));
            _excelDoc.setValue(26, 40, driver.GetName(NameType.Short));

            var licencesList  = LicenseList.getInstance();
            var driverLicense = licencesList.getItem(driver);

            _excelDoc.setValue(14, 10, driverLicense.Number);

            _excelDoc.setValue(20, 9, owner);

            string suppyAddressName;

            if (driver.suppyAddress != string.Empty)
            {
                suppyAddressName = driver.suppyAddress;
            }
            else
            {
                var suppyAddressList = SuppyAddressList.getInstance();
                var suppyAddress     = suppyAddressList.getItemByRegion(driver.Region.Id);

                if (suppyAddress != null)
                {
                    suppyAddressName = suppyAddress.ToString();
                }
                else
                {
                    var passportList = PassportList.getInstance();
                    var passport     = passportList.getLastPassport(driver);
                    suppyAddressName = passport.Address;
                }
            }

            var suppyAddressName2 = string.Empty;

            if (suppyAddressName.Length > 40)
            {
                for (var i = 30; i < suppyAddressName.Length; i++)
                {
                    if (suppyAddressName[i] == ' ')
                    {
                        suppyAddressName2 = suppyAddressName.Substring(i, suppyAddressName.Length - i);
                        suppyAddressName  = suppyAddressName.Substring(0, i);
                    }
                }
            }

            _excelDoc.setValue(25, 8, suppyAddressName);
            _excelDoc.setValue(26, 1, suppyAddressName2);

            string mechanicName;

            var employeesList = EmployeesList.getInstance();
            var accountant    = employeesList.getItem(driver.Region, "Бухгалтер Б.Браун");

            if (driver.IsOne)
            {
                mechanicName = driver.GetName(NameType.Short);
            }
            else
            {
                var mechanic = employeesList.getItem(driver.Region, "Механик", true);
                mechanicName = mechanic == null
          ? driver.GetName(NameType.Short)
          : mechanic.Name;
            }

            var dispatcher     = employeesList.getItem(driver.Region, "Диспечер-нарядчик");
            var dispatcherName = dispatcher.Name;

            _excelDoc.setValue(22, 40, mechanicName);
            _excelDoc.setValue(44, 40, mechanicName);

            _excelDoc.setValue(31, 18, dispatcherName);
            _excelDoc.setValue(35, 18, dispatcherName);

            _excelDoc.setValue(43, 72, accountant.Name);
        }
Ejemplo n.º 2
0
        public formEmployeesList()
        {
            InitializeComponent();

            employeesList = EmployeesList.getInstance();
        }