github.com/johnnyeven/libtools@v0.0.0-20191126065708-61829c1adf46/vin-code/mfrs/volvo/volvo_mfrs.go (about) 1 package volvo 2 3 import ( 4 "fmt" 5 6 "github.com/johnnyeven/libtools/vin-code/vinrune" 7 ) 8 9 var ( 10 // 车用类型 pos 1-3 11 VehicleType = map[string]string{ 12 "XLB": "passenger cars built by Volvo Car BV / NedCar", 13 "YV1": "passenger cars", 14 "YV2": "trucks", 15 "YV3": "buses", 16 "YV4": "multipurpose", 17 "4V1": "trucks", 18 "4V4": "trucks", 19 "4V5": "trucks", 20 "MHA": "PT. Central Sole Agency", 21 } 22 // 车系 pos 4 23 CarSeries = map[rune]string{ 24 'A': "[1981-1998]240/[1999-2010]2006- S80/XC90 (2015+)", 25 'B': "[1981-1998]260/[1999-2010]2008- V70, XC70", 26 'C': "[1999-2010]XC90 (2002-2014)", 27 'D': "[1999-2010]XC60", 28 'E': "[1981-1998]480", 29 'F': "[1981-1998]740/[1999-2010]New S60/V60", 30 'G': "[1981-1998]760/[1999-2010]V60 Plug-In Hybrid", 31 'H': "[1981-1998]780", 32 'J': "[1981-1998]940/[1999-2010]V70", 33 'K': "[1981-1998]440, 960", 34 'L': "[1981-1998]460, 850, S70/[1999-2010]1998 V70", 35 'M': "[1999-2010]Volvo S40, V50, C30, C70/2013- V40", 36 'R': "[1999-2010]Volvo S60", 37 'S': "[1999-2010]2000- 2007 Volvo V70, XC70", 38 'T': "[1999-2010]1999- 2006 Volvo S80", 39 'V': "[1999-2010]Volvo V40", 40 } 41 // 安全系统等 pos 5 42 RestraintSys = map[rune]string{ 43 'C': "All-New C70", 44 'H': "S40 AWD, S60 AWD, S80 AWD", 45 'J': "V50 AWD, V70 AWD", 46 'K': "C30 FWD", 47 'L': "XC60 2WD", 48 'M': "XC90 5-Seater AWD/[2013]V40 Cross Country AWD", 49 'N': "XC90 5-Seater FWD", 50 'R': "XC90 5-Seater AWD", 51 'S': "S40 FWD, S60 FWD, S80 FWD", 52 'V': "V40 FWD", 53 'W': "V50 FWD, V60 FWD, V60 Plug-In Hybrid (AWD), V70 FWD, V70 AWD", 54 'Y': "XC90 7-Seater FWD", 55 'Z': "XC60 AWD, XC70 AWD, XC90 7-Seater AWD", 56 } 57 58 // 发动机 pos 6-7 59 Engine = map[string]string{ 60 "04": "C30/S40/V50/V70 2.0 Flexifuel FWD", 61 "17": "B4204S2 V40 2.0l FWD", 62 "18": "B4194T V40 1.9l Turbo FWD", 63 "20": "B4164S3 C30 1.6 FWD", 64 "21": "B4184S11 V50/S40 1.8", 65 "30": "D5244T18 XC90 2.4 AWD", 66 "38": "B5244S4 S40/V50 2.4i FWD", 67 "39": "B5244S7 S40/V50 2.4i FWD", 68 "40": "B4204T11 S60/V60 2.0 T5 FWD", 69 "41": "B5202S 850/V70 2.0i FWD", 70 "43": "B5204T3 850/V70/S80 2.0 T5 FWD", 71 "47": "B5204T 850/V70 2.0 T5 FWD", 72 "51": "B5252S 850/V70 2.5i FWD or D5204T6 V40/V40CC D3/D4", 73 "52": "B5254T4 S60/V70 R AWD", 74 "53": "B5234T3 S60/V70 T5 FWD", 75 "54": "B5244T5 S60 T5 FWD", 76 "55": "B5254FS 850/V70/S70 FWD", 77 "56": "B5254T S70/V70 GLT FWD - 1999", 78 //"56": "B5244T 2000 -", 79 "57": "B5234T 850/V70 2.3T FWD Turbo", 80 "58": "B5234T5 1995-1997 850 T-5R/R ; B5244T3 S60/V70/S80/XC70 2000 -", 81 "59": "B5254T2 S80/S60/XC90 2.5T FWD/AWD, V70 2.5T FWD, XC70 AWD", 82 "61": "B5244S S60/V70 2.4 FWD", 83 "64": "B5244S6 S60/V70 2.4 FWD", 84 "65": "B5244S2 S80/V70 2.4 FWD", 85 "66": "B5244S5 S40/V50 2.4 FWD", 86 "67": "B5244S4 C30/C70 T5 FWD", 87 "68": "B5254T3 S40/V50 T5 FWD/AWD", 88 "69": "D5244T5 S80/V70 2.4D FWD", 89 "70": "D4192T3 S40/V40", 90 //"70": "D5244T10 XC60 AWD D5(205)", 91 "71": "D5244T4 V70 AWD D5(185), XC90 AWD D5(185)", 92 "72": "D5252T S70/S80 2.5TDi FWD", 93 "73": "D4192T2 S40/V40", 94 "74": "D5244T2", 95 "75": "D4204T C30 2.0D", 96 "76": "D4164T 1.6D (PSA-Ford Engine)", 97 "77": "D5244T8 S40 D5 AT", 98 "78": "D4192T4 S40/V40", 99 "79": "D5244T D5(163)", 100 "82": "D5244T15 XC60 AWD D5(215)", 101 "84": "D4162T S60", 102 "85": "B8444S XC90/S80 V8 AWD", 103 "88": "D5204T3 XC60", 104 "90": "B6284T S80 2.8 T6", 105 "91": "B6294T S80/XC90 2.9 T6", 106 "94": "B6294S S80 2.9 FWD", 107 "97": "B6299S S80 2.9 FWD", 108 "98": "B6324S XC90/S80/V70 3.2 FWD/XC70 AWD", 109 "99": "B6304T4 S80 3.0 T6 AWD", 110 "AA": "V60 Plug-In Hybrid", 111 "A9": "S60/V60 Polestar 3,0L (350)", 112 "A0": "S60/V60 Polestar 2,0L (367)", 113 } 114 // 排放 pos 8 115 EmissisonCode = map[rune]string{ 116 '0': "SULEV+ (Super Ultra Low Emissions Vehicle) / Engine Codes 39, 55, 64, 72", 117 '2': "ULEV2 (Ultra Low Emissions Vehicle) / Engine Codes 38, 41, 51, 59, 61, 67, 68, 85, 98, 99", 118 '4': "Engine Codes 71", 119 '7': "LEV2 (Low Emissions Vehicle) / Engine Codes 52, 54", 120 '8': "Engine Codes 70", 121 'D': "L6", 122 '3': "KOD: EM F1", 123 '9': "KOD: EM F2", 124 'B': "KOD: EM X3", 125 'G': "KOD: EM X1 EXC (USA)(CDN)", 126 'H': "KOD: EM X2 (USA)(CDN)", 127 'J': "KOD: EM X5 EXC (USA)(CDN)", 128 'Z': "KOD: EM X6 (USA)(CDN)", 129 'W': "KOD: EM Z4", 130 } 131 132 // 校验位/变速箱 pos 9 133 // 年份 pos 10 134 // 装配厂 pos 11 135 AssemblyPlant = map[rune]string{ 136 '0': "[Sweden] Kalmar Plant", 137 '1': "[Sweden] Torslanda Plant VCT 21(Volvo Torslandaverken) (Gothenburg)", 138 '2': "[Belgium] Ghent Plant VCG 22", 139 '3': "[Canada] Halifax Plant", 140 '4': "[Italy] - Bertone models 240", 141 '5': "[Malaysia]", 142 '6': "[Australia]", 143 '7': "[Indonesia]", 144 'A': "[Sweden] Uddevalla Plant (Volvo Cars/TWR (Tom Walkinshaw Racing))", 145 'B': "[Italy] - Bertone Chongq 31", 146 'D': "[Italy] - Bertone models 780", 147 'E': "[Singapore]", 148 'F': "[The Netherlands] Born Plant (NEDCAR)", 149 'J': "[Sweden] Uddevalla Plant VCU 38 (Volvo Cars/ Pininfarina Sverige AB)", 150 'M': "PVÖ 53", 151 } 152 // 序列号 pos 12-17 153 ) 154 155 func GetWMIRune(vin string) vinrune.WMIRune { 156 ret := vinrune.WMIRune{} 157 ret.VehicleTypeStr = vin[:3] 158 return ret 159 } 160 161 func GetVDSRune(vin string) vinrune.VDSRune { 162 ret := vinrune.VDSRune{} 163 vinStr := vin[3:8] 164 fmt.Sscanf(vinStr, "%c%c%2s%c", &ret.CarSeriesRune, &ret.RestraintSysRune, 165 &ret.EngineStr, &ret.EmissisonRune) 166 return ret 167 } 168 169 func GetVISRune(vin string) vinrune.VISRune { 170 ret := vinrune.VISRune{} 171 vinStr := vin[9:] 172 fmt.Sscanf(vinStr, "%c%c%6s", &ret.YearRune, &ret.AssemblyRune, &ret.SequenceNO) 173 return ret 174 }