sfr

package
v0.4.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 19, 2023 License: MIT Imports: 5 Imported by: 0

Documentation

Overview

Услуги и типы данных СФР.

Услуги

Index

Examples

Constants

View Source
const BirthPlaceSpecial = "ОСОБОЕ"

УТ:МестоРождения/УТ:ТипМестаРождения

View Source
const IdentityDocPassportRF = "ПАСПОРТ РОССИИ"

УТ:УдостоверяющийДокументОграниченногоСрока/УТ:ТипДокумента

Variables

View Source
var (
	ErrSNILSFormat = errors.New("некорректный формат СНИЛС")
	ErrSNILSCheck  = errors.New("некорректная контрольная сумма СНИЛС")
)

Functions

This section is empty.

Types

type AddressRus

type AddressRus struct {
	ZipCode  *string `xml:"УТ:Индекс"`
	Region   *string `xml:"УТ:РоссийскийАдрес>УТ:Регион>УТ:Название"`
	District *string `xml:"УТ:РоссийскийАдрес>УТ:Район>УТ:Название"`
	City     *string `xml:"УТ:РоссийскийАдрес>УТ:Город>УТ:Название"`
	Street   *string `xml:"УТ:РоссийскийАдрес>УТ:Улица>УТ:Название"`
	House    *string `xml:"УТ:РоссийскийАдрес>УТ:Дом>УТ:Номер"`
	Housing  *string `xml:"УТ:РоссийскийАдрес>УТ:Корпус>УТ:Номер"`
	Building *string `xml:"УТ:РоссийскийАдрес>УТ:Строение>УТ:Номер"`
	Flat     *string `xml:"УТ:РоссийскийАдрес>УТ:Квартира>УТ:Номер"`
}

AddressRus - российский адрес

func NewAddressRus

func NewAddressRus() *AddressRus

NewAddressRus - конструктор AddressRus

func (*AddressRus) WithBuilding

func (a *AddressRus) WithBuilding(building string) *AddressRus

WithBuilding - УТ:Строение

func (*AddressRus) WithCity

func (a *AddressRus) WithCity(city string) *AddressRus

WithCity - УТ:Город

func (*AddressRus) WithDistrict

func (a *AddressRus) WithDistrict(district string) *AddressRus

WithDistrict - УТ:Район

func (*AddressRus) WithFlat

func (a *AddressRus) WithFlat(flat string) *AddressRus

WithFlat - УТ:Квартира

func (*AddressRus) WithHouse

func (a *AddressRus) WithHouse(house string) *AddressRus

WithHouse - УТ:Дом

func (*AddressRus) WithHousing

func (a *AddressRus) WithHousing(housing string) *AddressRus

WithHousing - УТ:Корпус

func (*AddressRus) WithRegion

func (a *AddressRus) WithRegion(region string) *AddressRus

WithRegion - УТ:Регион

func (*AddressRus) WithStreet

func (a *AddressRus) WithStreet(street string) *AddressRus

WithStreet - УТ:Улица

func (*AddressRus) WithZipCode

func (a *AddressRus) WithZipCode(zipCode string) *AddressRus

WithZipCode - УТ:Индекс

type BirthPlace

type BirthPlace struct {
	Type    string `xml:"УТ:ТипМестаРождения"`         // Пример: ОСОБОЕ
	City    string `xml:"УТ:ГородРождения,omitempty"`  // Пример: рп Михайловка, Ардатовский р-он
	Country string `xml:"УТ:СтранаРождения,omitempty"` // Пример: Российская Федерация
}

BirthPlace - УТ:МестоРождения

type Citizenship

type Citizenship struct {
	Type CitizenshipType `xml:"УТ:Тип"` // Пример: 1
}

Citizenship - УТ:Гражданство

type CitizenshipType

type CitizenshipType string

Citizenship - УТ:Гражданство/УТ:Тип

const (
	CitizenshipRF        CitizenshipType = "1" // Гражданин РФ
	CitizenshipForeign   CitizenshipType = "2" // Иностранный гражданин
	CitizenshipStateless CitizenshipType = "3" // Лицо без гражданства
)

УТ:Гражданство/УТ:Тип

type Date

type Date struct {
	time.Time
}

Date - дата в формате YYYY-MM-DD

func NewDate

func NewDate(year int, month time.Month, day int) Date

NewDate - конструктор Date.

Example
type Example struct {
	Date Date `xml:"Date"`
}
doc := Example{Date: NewDate(2019, 1, 12)}

result, err := xml.Marshal(doc)
if err != nil {
	panic(err)
}
fmt.Println(string(result))
Output:

<Example><Date>2019-01-12</Date></Example>

func (Date) MarshalXML

func (d Date) MarshalXML(e *xml.Encoder, start xml.StartElement) error

MarshalXML - реализация интерфейса xml.Marshaler. Формат даты: YYYY-MM-DD.

type DateTime

type DateTime struct {
	time.Time
}

DateTime - дата и время в формате YYYY-MM-DDThh:mm:ss

func NewDateTime

func NewDateTime(year int, month time.Month, day, hour, min, sec int) DateTime

NewDateTime - конструктор DateTime.

Example
type Example struct {
	DateTime DateTime `xml:"DateTime"`
}
doc := Example{DateTime: NewDateTime(2019, 1, 12, 13, 14, 15)}

result, err := xml.Marshal(doc)
if err != nil {
	panic(err)
}
fmt.Println(string(result))
Output:

<Example><DateTime>2019-01-12T13:14:15</DateTime></Example>

func (DateTime) MarshalXML

func (d DateTime) MarshalXML(e *xml.Encoder, start xml.StartElement) error

MarshalXML - реализация интерфейса xml.Marshaler. Формат даты и времени: YYYY-MM-DDThh:mm:ss.

type FIO

type FIO struct {
	LastName       string `xml:"УТ:Фамилия"`            // Пример: ИВАНОВ
	FirstName      string `xml:"УТ:Имя"`                // Пример: ИВАН
	PatronymicName string `xml:"УТ:Отчество,omitempty"` // Пример: ИВАНОВИЧ
}

FIO - УТ:ФИО

type IdentityDoc

type IdentityDoc struct {
	Type       string `xml:"УТ:ТипДокумента"`               // Пример: ПАСПОРТ РОССИИ
	Series     string `xml:"УТ:Серия"`                      // Пример: 1234
	Number     string `xml:"УТ:Номер"`                      // Пример: 123456
	IssuedAt   Date   `xml:"УТ:ДатаВыдачи"`                 // Пример: 2010-04-13
	IssuedBy   string `xml:"УТ:КемВыдан"`                   // Пример: ОВД ЛЕНИНСКОГО РАЙОНА Г. САМАРЫ
	IssuerCode string `xml:"УТ:КодПодразделения,omitempty"` // Пример: 123456
}

IdentityDoc - УТ:УдостоверяющийДокументОграниченногоСрока

type Namespaces

type Namespaces struct {
	NS  string `xml:"xmlns,attr,omitempty"`
	NS2 string `xml:"xmlns:ns2,attr,omitempty"`
	AF  string `xml:"xmlns:АФ,attr,omitempty"`
	UT  string `xml:"xmlns:УТ,attr,omitempty"`
	VZL string `xml:"xmlns:ВЗЛ,attr,omitempty"`
}

type SNILS

type SNILS struct {
	// contains filtered or unexported fields
}

SNILS - УТ:СтраховойНомер

func MustParseSNILS

func MustParseSNILS(number string) SNILS

MustParseSNILS вызывает ParseSNILS. В случае ошибки, завершается паникой.

func ParseSNILS

func ParseSNILS(number string) (SNILS, error)

ParseSNILS - анализирует строку с номером СНИЛС и возвращает SNILS. Входной формат: 11 цифр, допускаются разделители пробелы и дефисы: "000-000-000 00". Возвращает ошибки:

  • ErrSNILSFormat если строка не соответствует формату
  • ErrSNILSCheck если контрольная сумма не совпадает

func (SNILS) MarshalXML

func (s SNILS) MarshalXML(e *xml.Encoder, start xml.StartElement) error

MarshalXML реализует интерфейс xml.Marshaler для типа SNILS. Формат СНИЛС: "000-000-000 00".

func (SNILS) Number

func (s SNILS) Number() string

Number возвращает номер СНИЛС без разделителей.

Example
snils := MustParseSNILS("715 398 174 20")
fmt.Println(snils.Number())
Output:

71539817420

func (SNILS) String

func (s SNILS) String() string

String возвращает СНИЛС в формате "000-000-000 00".

Example
snils := MustParseSNILS("715 398 174 20")
fmt.Println(snils.String())
Output:

715-398-174 20

Directories

Path Synopsis
Услуга "Доставка пенсии и социальных выплат ПФР"
Услуга "Доставка пенсии и социальных выплат ПФР"

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL