Skip to content

Commit 9346180

Browse files
committed
Merge remote-tracking branch 'origin/main' into 69983_custom_report_nota_carrec
2 parents c3ffa8a + 56f46ba commit 9346180

38 files changed

+416
-239
lines changed

giscedata_facturacio_comer_som/giscedata_facturacio_comer_data.xml

+7-5
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,13 @@ div.back{
8484
<field name="description">Valors de la taula de Garantia d'Origen (gdo)</field>
8585
<field name="value">{'wind_power':151153,'photovoltaic':160497,'hydraulics':56298,'biomassa':6378,'biogas':0,'total': 374326,'year': '2023'}</field>
8686
</record>
87+
<record model="res.config" id="rep_boe_data">
88+
<field name="name">rep_boe_data</field>
89+
<field name="description">Repartiment de què es destinen els càrrecs</field>
90+
<field name="value">{"r": 13.06, "d": 63.92, "t": 22.36, "o": 0.66}</field>
91+
</record>
92+
</data>
93+
<data noupdate="1">
8794
<record model="res.config" id="factura_pdf_cache_flags">
8895
<field name="name">factura_pdf_cache_flags</field>
8996
<field name="description">Flags per activar/desactivar el guardat de factures via adjunts del correus o adjunts de les factures\n - Enabled --> Activat, sense aquest flag no funciona el sistema de cache, la factura es genera i s'entrega on the fly\n - No_mongo --> No hi ha base de dades documental present, no tenim fitxers (per desenvolupar/testejar)\n - Dont_store --> No guarda la factura en pdf com adjunt directe de la factura </field>
@@ -94,10 +101,5 @@ div.back{
94101
<field name="description">Dies que poden passar abans de que es forci guardar el PDF d'una factura que no s'ha enviat i guardat</field>
95102
<field name="value">60</field>
96103
</record>
97-
<record model="res.config" id="rep_boe_data">
98-
<field name="name">rep_boe_data</field>
99-
<field name="description">Repartiment de què es destinen els càrrecs</field>
100-
<field name="value">{"r": 13.06, "d": 63.92, "t": 22.36, "o": 0.66}</field>
101-
</record>
102104
</data>
103105
</openerp>

giscedata_facturacio_comer_som/giscedata_facturacio_report.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -1180,7 +1180,7 @@ def get_component_contract_data_data(self, fact, pol):
11801180
key=lambda l: l[0], # noqa: E741
11811181
),
11821182
"is_autoconsum": te_autoconsum(fact, pol), # fact.te_autoconsum
1183-
"autoconsum": pol.autoconsumo,
1183+
"autoconsum": pol.tipus_subseccio,
11841184
"autoconsum_cau": pol.autoconsum_id.cau if pol.autoconsum_id else "",
11851185
"is_autoconsum_colectiu": te_autoconsum_collectiu(
11861186
fact, pol
@@ -3827,7 +3827,7 @@ def has_active_flux_solar(fact, pol):
38273827
return True
38283828
return False
38293829

3830-
if not(te_autoconsum_amb_excedents(fact, pol) or pol.autoconsumo == '33'):
3830+
if not(te_autoconsum_amb_excedents(fact, pol) or pol.tipus_subseccio == '11'):
38313831
return {"is_visible": False}
38323832

38333833
if not has_active_flux_solar(fact, pol):

giscedata_facturacio_comer_som/i18n/es_ES.po

+164-116
Large diffs are not rendered by default.

giscedata_facturacio_comer_som/report/components/contract_data/contract_data.mako

+12-6
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,6 @@
66
import locale
77
TABLA_113_dict = { # Table extracted from gestionatr.defs TABLA_113, not imported due translations issues
88
'00': _(u"Sense Autoconsum"), # Sin Autoconsumo
9-
'01': _(u"Autoconsum Tipus 1"), # Autoconsumo Tipo 1
10-
'2A': _(u"Autoconsum tipus 2 (segons l'Art. 13. 2. a) RD 900/2015)"), # Autoconsumo tipo 2 (según el Art. 13. 2. a) RD 900/2015)
11-
'2B': _(u"Autoconsum tipus 2 (segons l'Art. 13. 2. b) RD 900/2015)"), # Autoconsumo tipo 2 (según el Art. 13. 2. b) RD 900/2015)
12-
'2G': _(u"Serveis auxiliars de generació lligada a un autoconsum tipus 2"), # Servicios auxiliares de generación ligada a un autoconsumo tipo 2
139
'31': _(u"Sense Excedents Individual - Consum"), # Sin Excedentes Individual – Consumo
1410
'32': _(u"Sense Excedents Col·lectiu - Consum"), # Sin Excedentes Colectivo – Consumo
1511
'33': _(u"Sense Excedents Col·lectiu amb acord de compensació – Consum"), # Sin Excedentes Colectivo con acuerdo de compensación – Consumo
@@ -22,6 +18,8 @@ TABLA_113_dict = { # Table extracted from gestionatr.defs TABLA_113, not importe
2218
'54': _(u"Amb excedents sense compensació individual amb cte. de Serv. Aux. en Xarxa Interior - Serv. Aux."), # Con excedentes sin compensación individual con cto SSAA en Red Interior– SSAA
2319
'55': _(u"Amb excedents sense compensació Col·lectiu / en Xarxa Interior - Consum"), # Con excedentes sin compensación Colectivo/en Red Interior– Consumo
2420
'56': _(u"Amb excedents sense compensació Col·lectiu / en Xarxa Interior - Serv. Aux."), # Con excedentes sin compensación Colectivo/en Red Interior - SSAA
21+
'57': _(u"Amb excedents sense compensació Col·lectiu sense cte de Serv. Aux. (menyspreable) en Xarxa Interior – Consum')"), # Con excedentes sin compensación Colectivo sin cto de SSAA (despreciable) en red interior – Consumo')
22+
'58': _(u"Amb excedents sense compensació Col·lectiu sense cto de Serv. Aux. a través de xarxa - Consum')"), # Con excedentes sin compensación Colectivo sin cto de SSAA a través de red - Consumo
2523
'61': _(u"Amb excedents sense compensació Individual amb cte. de Serv. Aux. a través de xarxa - Consum"), # Con excedentes sin compensación Individual con cto SSAA a través de red – Consumo
2624
'62': _(u"Amb excedents sense compensació individual amb cte. de Serv. Aux. a través de xarxa - Serv. Aux."), # Con excedentes sin compensación individual con cto SSAA a través de red – SSAA
2725
'63': _(u"Amb excedents sense compensació Col·lectiu a través de xarxa - Consum"), # Con excedentes sin compensación Colectivo a través de red – Consumo
@@ -30,8 +28,16 @@ TABLA_113_dict = { # Table extracted from gestionatr.defs TABLA_113, not importe
3028
'72': _(u"Amb excedents sense compensació individual amb cte. de Serv. Aux. a través de xarxa i xarxa interior - Serv. Aux."), # Con excedentes sin compensación individual con cto SSAA a través de red y red interior – SSAA
3129
'73': _(u"Amb excedents sense compensació Col·lectiu amb cte. de Serv. Aux. a través de xarxa i xarxa interior - Consum"), # Con excedentes sin compensación Colectivo con cto de SSAA a través de red y red interior – Consumo
3230
'74': _(u"Amb excedents sense compensació Col·lectiu amb cte. de Serv. Aux. a través de xarxa i xarxa interior - SSAA"), # Con excedentes sin compensación Colectivo con cto de SSAA a través de red y red interior - SSAA
33-
}
34-
autoconsum_text = TABLA_113_dict[cd.autoconsum] if cd.autoconsum in TABLA_113_dict else _("")
31+
}
32+
TABLA_133_dict = { # Table extracted from gestionatr.defs TABLA_133, not imported due translations issues
33+
'10': _(u"Sense excedents No acollit a compensació"), # Sin excedentes No acogido a compensación
34+
'11': _(u"Sense excedents acollit a compensació"), # Sin excedentes acogido a compensación
35+
'20': _(u"Amb excedents no acollits a compensació"), # Con excedentes no acogidos a compensación
36+
'21': _(u"Amb excedents acollits a compensació"), # Con excedentes acogidos a compensación
37+
'00': _(u"Sense autoconsum"), # Sin autoconsumo
38+
'0C': _(u"Baixa com a membre d'autoconsum col·lectiu"), # Baja como miembro de autoconsumo colectivo
39+
}
40+
autoconsum_text = TABLA_133_dict[cd.autoconsum] if cd.autoconsum in TABLA_133_dict else _("")
3541
%>
3642
<div class="contract_data${cd.small_text and '_small' or ''}">
3743
<h1>${_(u"DADES DEL CONTRACTE")}</h1>

giscedata_facturacio_comer_som/report/components/contract_data_td/contract_data_td.mako

+9-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,15 @@ TABLA_113_dict = { # Table extracted from gestionatr.defs TABLA_113, not importe
3131
'73': _(u"Amb excedents sense compensació Col·lectiu amb cte. de Serv. Aux. a través de xarxa i xarxa interior - Consum"), # Con excedentes sin compensación Colectivo con cto de SSAA a través de red y red interior – Consumo
3232
'74': _(u"Amb excedents sense compensació Col·lectiu amb cte. de Serv. Aux. a través de xarxa i xarxa interior - SSAA"), # Con excedentes sin compensación Colectivo con cto de SSAA a través de red y red interior - SSAA
3333
}
34-
autoconsum_text = TABLA_113_dict[cd.autoconsum] if cd.autoconsum in TABLA_113_dict else _("")
34+
TABLA_133_dict = { # Table extracted from gestionatr.defs TABLA_133, not imported due translations issues
35+
'10': _(u"Sense excedents No acollit a compensació"), # Sin excedentes No acogido a compensación
36+
'11': _(u"Sense excedents acollit a compensació"), # Sin excedentes acogido a compensación
37+
'20': _(u"Amb excedents no acollits a compensació"), # Con excedentes no acogidos a compensación
38+
'21': _(u"Amb excedents acollits a compensació"), # Con excedentes acogidos a compensación
39+
'00': _(u"Sense autoconsum"), # Sin autoconsumo
40+
'0C': _(u"Baixa com a membre d'autoconsum col·lectiu"), # Baja como miembro de autoconsumo colectivo
41+
}
42+
autoconsum_text = TABLA_133_dict[cd.autoconsum] if cd.autoconsum in TABLA_133_dict else _("")
3543
%>
3644
<div class="contract_data${cd.small_text and '_small' or ''}">
3745
<h1>${_(u"DADES DEL CONTRACTE")}</h1>

giscedata_facturacio_comer_som/tests/tests_FacturacioFacturaReport_some.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -670,7 +670,7 @@ def test_som_report_comp_contract_data_20A_amb_auto(
670670
result,
671671
{
672672
"power": 4.6,
673-
"autoconsum": u"41",
673+
"autoconsum": u"21",
674674
"powers": [],
675675
"renovation_date": "2021-01-01",
676676
"cups": u"ES1234000000000001JN0F",
@@ -680,7 +680,7 @@ def test_som_report_comp_contract_data_20A_amb_auto(
680680
"autoconsum_cau": u"ES0318363477145938GEA000",
681681
"is_autoconsum_colectiu": False,
682682
"cups_direction": u"carrer inventat , 1 ESC. 1 1 1 aclaridor 00001 (Poble de Prova)", # noqa: E501
683-
"autoconsum_colectiu_repartiment": 0.0,
683+
"autoconsum_colectiu_repartiment": 100.0,
684684
"cnae": u"0111",
685685
"power_invoicing_type": False,
686686
"remote_managed_meter": True,

giscedata_facturacio_som/giscedata_facturacio.py

+6-6
Original file line numberDiff line numberDiff line change
@@ -34,13 +34,13 @@ def search(self, cr, user, args, offset=0, limit=None, order=None, context=None,
3434
for idx, arg in enumerate(args):
3535
if len(arg) == 3:
3636
field, operator, match = arg
37-
if exact_number and field == "number" and isinstance(match, (unicode, str)): # noqa: E501, F821
38-
if "%" not in match:
39-
operator = "="
37+
if (exact_number and field == "number" and operator == "ilike"
38+
and isinstance(match, (unicode, str)) and "%" not in match):
39+
operator = "="
4040
args[idx] = (field, operator, match)
41-
if exact_origin and field == "origin" and isinstance(match, (unicode, str)): # noqa: E501, F821
42-
if "%" not in match:
43-
operator = "="
41+
if (exact_origin and field == "origin" and operator == "ilike"
42+
and isinstance(match, (unicode, str)) and "%" not in match):
43+
operator = "="
4444
args[idx] = (field, operator, match)
4545
return super(GiscedataFacturacio, self).search(
4646
cr, user, args, offset, limit, order, context, count

giscedata_facturacio_som/tests/tests_giscedata_facturacio_som.py

+18
Original file line numberDiff line numberDiff line change
@@ -112,3 +112,21 @@ def test_search_exactNotExist_disabled(self): # noqa: F811
112112
gff_ids = self.gff_obj.search(self.cursor, self.uid, [("origin", "ilike", "sample_origin")])
113113

114114
self.assertGreater(len(gff_ids), 1)
115+
116+
def test_search_nonequal_operator_active(self):
117+
self.set_invoice_origin_cerca_exacte(self.cursor, self.uid, "1")
118+
119+
gff_ids = self.gff_obj.search(
120+
self.cursor, self.uid, [("origin", "!=", "sample_origin1")]
121+
)
122+
123+
self.assertEqual(len(gff_ids), 3)
124+
125+
def test_search_equal_operator_active(self):
126+
self.set_invoice_origin_cerca_exacte(self.cursor, self.uid, "1")
127+
128+
gff_ids = self.gff_obj.search(
129+
self.cursor, self.uid, [("origin", "=", "sample_origin1")]
130+
)
131+
132+
self.assertEqual(len(gff_ids), 1)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# -*- coding: utf-8 -*-
2+
import logging
3+
import pooler
4+
5+
6+
def up(cursor, installed_version):
7+
if not installed_version:
8+
return
9+
10+
logger = logging.getLogger("openerp.migration")
11+
12+
logger.info("Updating XMLs")
13+
uid = 1
14+
pool = pooler.get_pool(cursor.dbname)
15+
gsr_obj = pool.get("giscedata.subtipus.reclamacio")
16+
imd_obj = pool.get("ir.model.data")
17+
gsr_xml_id = "subtipus_reclamacio_075"
18+
gsr_id = imd_obj.get_object_reference(
19+
cursor, uid, "giscedata_subtipus_reclamacio", gsr_xml_id
20+
)[1]
21+
ccs_xml_id = "atc_section_factura"
22+
ccs_id = imd_obj.get_object_reference(
23+
cursor, uid, "som_switching", ccs_xml_id
24+
)[1]
25+
26+
gsr_obj.write(cursor, uid, gsr_id, {"section_id": [(4, ccs_id)]})
27+
28+
logger.info("XMLs succesfully updated.")
29+
30+
31+
def down(cursor, installed_version):
32+
pass
33+
34+
35+
migrate = up

som_atc/models/giscedata_atc.py

+6-5
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
# -*- coding: utf-8 -*-
22
from osv import osv, fields
3+
from gestionatr.defs import TABLA_133
34

4-
from gestionatr.defs import TABLA_113
5-
6-
TIPO_AUTOCONSUMO_SEL = [(ac[0], "[{}] - {}".format(ac[0], ac[1])) for ac in TABLA_113]
5+
TIPO_SUBSECCION_SEL = [
6+
(ac[0], u'[{}] - {}'.format(ac[0], ac[1])) for ac in TABLA_133
7+
]
78

89

910
class GiscedataAtc(osv.osv):
@@ -41,9 +42,9 @@ def _trg_switching(self, cursor, uid, ids, context=None):
4142
),
4243
"tipus_autoconsum": fields.related(
4344
"polissa_id",
44-
"autoconsumo",
45+
"tipus_subseccio",
4546
type="selection",
46-
selection=TIPO_AUTOCONSUMO_SEL,
47+
selection=TIPO_SUBSECCION_SEL,
4748
string="tipus autoconsum",
4849
readonly=True,
4950
),

som_atc/models/giscedata_switching_helpers.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,9 @@ def create_crm_case_titular_autoconsum(self, cursor, uid, partner_vals, step):
4141
self._tmp_atc_ids = atc_ids # Trick to temporally save the ATC_IDS
4242
return atc_ids
4343

44-
def _crear_autoconsum_from_d1(self, cursor, uid, step, autoconsum_id, context=None):
45-
res = super(GiscedataSwitchingHelpers, self)._crear_autoconsum_from_d1(
46-
cursor, uid, step, autoconsum_id, context
44+
def _crear_autoconsum_from_datos_cau(self, cursor, uid, step, dades_cau=None, context=None):
45+
res = super(GiscedataSwitchingHelpers, self)._crear_autoconsum_from_datos_cau(
46+
cursor, uid, step, dades_cau, context
4747
)
4848
# We're in the same transaction, we can recover the case_ids from memory
4949
atc_ids = getattr(self, '_tmp_atc_ids', None)

som_facturacio_calculada/giscedata_polissa.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ def _check_conditions_polissa_calculades(self, cursor, uid, id, context):
4747
return False, _(u"no es 2.0TD")
4848
if pol.te_assignacio_gkwh:
4949
return False, _(u"té GenerationKWh")
50-
if pol.autoconsumo != "00":
50+
if pol.tipus_subseccio != "00":
5151
return False, _(u"té Autoconsum")
5252
if pol.facturacio_potencia == "max": # != 'icp'
5353
return False, _(u"té Maximetre")

som_facturacio_comer/giscedata_facturacio_contracte_lot.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22
from __future__ import absolute_import
33
from osv import osv, fields
44
from tools.translate import _
5-
from gestionatr.defs import TABLA_113
65
import re
76
import logging
7+
from gestionatr.defs import TABLA_133
88

9-
TIPO_AUTOCONSUMO_SEL = [(ac[0], "[{}] - {}".format(ac[0], ac[1])) for ac in TABLA_113]
9+
TIPO_SUBSECCIO_SEL = [(ac[0], "[{}] - {}".format(ac[0], ac[1])) for ac in TABLA_133]
1010

1111

1212
class GiscedataFacturacioContracteLot(osv.osv):
@@ -207,9 +207,9 @@ def _ff_update_fields(self, cr, uid, ids, name, args, context=None):
207207
),
208208
"autoconsum": fields.related(
209209
"polissa_id",
210-
"autoconsumo",
210+
"tipus_subseccio",
211211
type="selection",
212-
selection=TIPO_AUTOCONSUMO_SEL,
212+
selection=TIPO_SUBSECCIO_SEL,
213213
string="Autoconsum",
214214
readonly=True,
215215
),

som_facturacio_switching/giscedata_facturacio_importacio_linia.py

+9-3
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,18 @@
22
from osv import osv, fields
33
import re
44
from tools.translate import _
5-
from gestionatr.defs import TABLA_113, TABLA_17
5+
from gestionatr.defs import TABLA_17, TABLA_113_NEW, TENEN_AUTOCONSUM
66
from datetime import datetime, timedelta
77
from tools import cache
88
import logging
99

10-
TIPO_AUTOCONSUMO_SEL = [(ac[0], "[{}] - {}".format(ac[0], ac[1])) for ac in TABLA_113]
1110
IMPORT_PHASE_1 = 10 # 10 = Fase de càrrega XML
1211

12+
TIPO_AUTOCONSUMO_NEW = TABLA_113_NEW
13+
TIPO_AUTOCONSUMO_SEL_NEW = [
14+
(ac[0], u'[{}] - {}'.format(ac[0], ac[1])) for ac in TIPO_AUTOCONSUMO_NEW
15+
]
16+
1317

1418
class GiscedataFacturacioImportacioLinia(osv.osv):
1519
_name = "giscedata.facturacio.importacio.linia"
@@ -48,6 +52,8 @@ def get_header_dict(self, xml_data):
4852
tipus = tipus_autoconsum[0]
4953
if tipus in ["01", "2A", "2B", "2G"]:
5054
tipus = "00"
55+
if tipus != '00' and tipus in TENEN_AUTOCONSUM:
56+
tipus = '11' if tipus in ['31', '32', '33'] else '12'
5157
vals["tipus_autoconsum"] = tipus
5258

5359
tarifaATR = re.findall("<TarifaATRFact>(.*)</TarifaATRFact>", xml_data)
@@ -220,7 +226,7 @@ def _get_importacio_linia_polissa(self, cr, uid, ids, context={}):
220226

221227
_columns = {
222228
"tipus_autoconsum": fields.selection(
223-
TIPO_AUTOCONSUMO_SEL,
229+
TIPO_AUTOCONSUMO_SEL_NEW,
224230
u"Autoconsum",
225231
readonly=True,
226232
help=u"Tipus de autoconsum informat a l'F1",

som_gurb/tests/tests_gurb_switching.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -234,7 +234,7 @@ def set_autoconsumo(self, txn, autoconsumo_mode="00"):
234234
cursor, uid, "giscedata_polissa", "polissa_0001"
235235
)[1]
236236
polissa_obj.write(cursor, uid, [polissa_id], {
237-
"autoconsumo": autoconsumo_mode,
237+
"tipus_subseccio": autoconsumo_mode,
238238
})
239239

240240
def test_do_not_notify_m1_02_auto_gurb_category(self):
@@ -730,7 +730,7 @@ def test_do_close_m1_05_gurb_category(self, get_activation_method, generate_mail
730730
self.assertEqual(m1.state, "done")
731731
self.assertEqual(m1.notificacio_pendent, False)
732732

733-
self.assertEqual(pol.autoconsumo, "41")
733+
self.assertEqual(pol.tipus_subseccio, "21")
734734

735735
def test_notify_m1_03_gurb_category(self):
736736
pol_obj = self.openerp.pool.get("giscedata.polissa")

som_indexada/tests/test_wizard_change_to_indexada.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,7 @@ def test_change_to_indexada_one_polissa_with_auto(self, mocked_send_mail):
214214
"active",
215215
"state",
216216
"modcontractual_ant",
217-
"autoconsumo",
217+
"tipus_subseccio",
218218
],
219219
)
220220
modcon_act.pop("id")
@@ -232,7 +232,7 @@ def test_change_to_indexada_one_polissa_with_auto(self, mocked_send_mail):
232232
"active": True,
233233
"state": "pendent",
234234
"modcontractual_ant": prev_modcontactual_id,
235-
"autoconsumo": "41",
235+
"tipus_subseccio": "21",
236236
},
237237
)
238238
IrModel = self.pool.get("ir.model.data")

som_indexada/tests/test_wizard_change_to_periodes.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -321,7 +321,7 @@ def test_change_to_periodes_one_polissa_with_auto(self, mocked_send_mail):
321321
"active",
322322
"state",
323323
"modcontractual_ant",
324-
"autoconsumo",
324+
"tipus_subseccio",
325325
],
326326
)
327327
modcon_act.pop("id")
@@ -339,7 +339,7 @@ def test_change_to_periodes_one_polissa_with_auto(self, mocked_send_mail):
339339
"active": True,
340340
"state": "pendent",
341341
"modcontractual_ant": prev_modcontactual_id,
342-
"autoconsumo": "41",
342+
"tipus_subseccio": "21",
343343
},
344344
)
345345
IrModel = self.pool.get("ir.model.data")

som_infoenergia/som_infoenergia_enviament.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -345,8 +345,8 @@ def _ff_te_autoconsum(self, cursor, uid, ids, field_name, args, context):
345345
if not "polissa_id" in pol or not pol["polissa_id"]: # noqa: E713
346346
res[item] = False
347347
else:
348-
auto_type = gp_obj.read(cursor, uid, pol["polissa_id"][0], ["autoconsumo"])[
349-
"autoconsumo"
348+
auto_type = gp_obj.read(cursor, uid, pol["polissa_id"][0], ["tipus_subseccio"])[
349+
"tipus_subseccio"
350350
]
351351
res[item] = auto_type != "00"
352352

0 commit comments

Comments
 (0)