github.com/johnnyeven/libtools@v0.0.0-20191126065708-61829c1adf46/vin-code/mfrs/msbs/msbs_mfrs.go (about) 1 package msbs 2 3 import ( 4 "fmt" 5 6 "github.com/johnnyeven/libtools/vin-code/vinrune" 7 ) 8 9 var ( 10 // 制造国 pos 1 11 Country = map[rune]string{ 12 'J': "Japan (MMC)", 13 'M': "Thailand (MMT)", 14 } 15 // 制造商 pos 2 16 Manufact = map[rune]string{ 17 'A': "Mitsubishi", 18 'L': "Mitsubishi Motors Thailand", 19 } 20 // 车用类型 pos 3 21 VehicleType = map[rune]string{ 22 '3': "Passenger Car", 23 '4': "Multi−Purpose Vehicle", 24 } 25 // 约束系统 pos 4 26 RestraintSys = map[rune]string{ 27 '2': "1st & 2nd Row Curtain + Seat Air Bags; Passenger Car", 28 'A': "1st & 2nd Row Curtain + 1st Row Seat Air Bags; MPV up to 5,000 lbs GVWR", 29 'J': "1st & 2nd Row Curtain + 1st Row Seat Air Bags; MPV over 5,000 lbs GVWR", 30 } 31 // 车系 pos 5 & 6 32 CarSeries = map[string]string{ 33 "15": "Mitsubishi i−MiEV ES", 34 "A3": "Mitsubishi Mirage ES", 35 "A4": "Mitsubishi Mirage SE", 36 "A5": "Mitsubishi Mirage GT (SEL in Canada)", 37 "F3": "Mitsubishi Mirage G4 ES", 38 "F4": "Mitsubishi Mirage G4 SE (SEL in Canada)", 39 "D2": "Mitsubishi Outlander ES (FWD)", 40 "D3": "Mitsubishi Outlander SE/SEL (FWD)", 41 "Z2": "Mitsubishi Outlander ES (AWC)", 42 "Z3": "Mitsubishi Outlander SE/SEL (S−AWC)", 43 //"Z3": "Mitsubishi Outlander SE (AWC) (Canada only)", 44 "Z4": "Mitsubishi Outlander GT (S−AWC)", 45 "U2": "Mitsubishi Lancer ES (FWD)", 46 "V2": "Mitsubishi Lancer ES/SE/SEL (AWC)", 47 //"U2": "Mitsubishi Lancer SE/SE Limited (FWD) (Canada only)", 48 //"V2": "Mitsubishi Lancer SE Limited (AWC) (Canada only)", 49 //"V2": "Mitsubishi Lancer GTS (AWC) (Canada only)", 50 //"U8": "Mitsubishi Lancer GTS (FWD) (Canada only)", 51 //"X2": "Mitsubishi Lancer Sportback SE Limited (Canada only)", 52 //"X2": "Mitsubishi Lancer Sportback GT (Canada only)", 53 //"H3": "Mitsubishi RVR ES/SE (FWD) (Canada only)", 54 //"J3": "Mitsubishi RVR SE (AWC) (Canada only)", 55 //"J4": "Mitsubishi RVR SE Limited/GT (AWC) (Canada only)", 56 "P3": "Mitsubishi Outlander Sport ES/SE (FWD)", 57 "P4": "Mitsubishi Outlander Sport SEL (FWD)", 58 "R3": "Mitsubishi Outlander Sport ES/SE (AWC)", 59 "R4": "Mitsubishi Outlander Sport SEL/GT (AWC)", 60 } 61 // 车外观类型 pos 7 62 DoorType = map[rune]string{ 63 'H': "5−door Hatchback (i−MiEV, Mirage)", 64 'F': "4−door Sedan (Mirage G4, Lancer)", 65 'A': "5−door Wagon/SUV (Outlander, Outlander Sport/RVR)", 66 } 67 68 // 发动机 pos 8 69 Engine = map[rune]string{ 70 'J': "1.2L DOHC MIVEC (3A92) Gasoline", 71 '4': "49Kw Electric Motor (Y51)", 72 'U': "2.0L DOHC MIVEC (4B11) Gasoline", 73 'W': "2.4L DOHC MIVEC (4B12) Gasoline", 74 '3': "2.4L MIVEC (4J12) Gasoline", 75 'X': "3.0L MIVEC (6B31) Gasoline", 76 } 77 // 年份 pos 10 78 // 装配厂 pos 11 79 AssemblyPlant = map[rune]string{ 80 'H': "Laem Chabang−3 (Thailand)", 81 'J': "Nagoya (Japan)", 82 'U': "Mizushima (Japan)", 83 'Z': "Okazaki (Japan)", 84 } 85 // 顺序号 pos 12~17 86 ) 87 88 func GetWMIRune(vin string) vinrune.WMIRune { 89 ret := vinrune.WMIRune{} 90 vinStr := vin[:3] 91 fmt.Sscanf(vinStr, "%c%c%c", &ret.CountryRune, &ret.ManfRune, &ret.VehicleTypeRune) 92 return ret 93 } 94 95 func GetVDSRune(vin string) vinrune.VDSRune { 96 ret := vinrune.VDSRune{} 97 vinStr := vin[3:8] 98 fmt.Sscanf(vinStr, "%c%2s%c%c", &ret.RestraintSysRune, &ret.CarSeriesStr, &ret.DoorTypeRune, &ret.EngineRune) 99 return ret 100 } 101 102 func GetVISRune(vin string) vinrune.VISRune { 103 ret := vinrune.VISRune{} 104 vinStr := vin[9:] 105 fmt.Sscanf(vinStr, "%c%c%6s", &ret.YearRune, &ret.AssemblyRune, &ret.SequenceNO) 106 return ret 107 }