#coding: utf-8
'''
Created on 05.05.2015
@author: v.popov
'''
import json
from suds.client import Client
from ru.curs.celesta.showcase.utils import XMLJSONConverter
import sys
from journals import nci_settings
from java.text import SimpleDateFormat
def uploadLeContractor(context, contractor_id):
u'''Выполняет выгрузку контрагента ЮЛ в систему НСИ. '''
#userPin = '1C1SMFSRJQIEA1'
#wsUrl = 'http://192.168.111.80:8080/nsi_test/forall/webservices?wsdl'
settings_json = nci_settings.getSettingsJSON()
userPin = settings_json['userPin']
wsUrl = settings_json['wsUrl']
wsClient = Client(wsUrl)
legal_entity = legal_entityCursor(context)
legal_entity.get(contractor_id)
contractor_address = legal_entity.address_fact if legal_entity.address_fact else legal_entity.address_post
contractor_name = legal_entity.shortname if legal_entity.shortname else legal_entity.name
contractor_guid_nsi = unicode(contractor_id)
contractor_kpp = legal_entity.kpp
contractor_inn = legal_entity.inn
contractor_email = ''
wsRequest = u'''
%s
%s
%s
Юр. лицо
%s
%s
%s
''' % (userPin, contractor_address, contractor_name, contractor_guid_nsi, contractor_kpp, contractor_inn, contractor_email)
wsXmlOut = wsClient.service.handle(request=wsRequest, procName="webservices.funcTest.insert.celesta")
if '
%s
%s
С покупателем
%s
%s
%s
''' % (userPin, contract_date, contract_guid_nsi, contract_number, contract_sum, contractor_guid_nsi)
# если ЮЛ - проверяем, что оно синхронизировано
if contract.contract_type == 'legalEntityPayed':
legal_entity = legal_entityCursor(context)
legal_entity.get(contract.customer)
if not legal_entity.sync_nsi:
# синхронизируем
uploadLeContractor(context, contract.customer)
wsXmlOut = wsClient.service.handle(request=wsRequest, procName="webservices.funcTest.insert.celesta")
if '
%s
%s
%s
%s
%s
%s
%s
%s
%s
%s
%s
%s
%s
%s
''' % (userPin, person_guid, family_name, first_name, second_name, birth_date, gender, email, inn, pass_type, pass_ser, pass_num, pass_is_by, pass_date, snils)
wsXmlOut = wsClient.service.handle(request=wsRequest, procName="webservices.funcTest.insert.celesta")
if '
%s
%s
%s
%s
%s
%s
%s
%s
%s
%s
%s
%s
%s
%s
''' % (person_guid, family_name, first_name, second_name, birth_date, gender, email, inn, pass_type, pass_ser, pass_num, pass_is_by, pass_date, snils)
recs.append({'person_guid': person_guid, 'rec': rec, 'reg_data_id': reg_data.uid})
wsRequest = u'''
%s
''' % (userPin, "".join([x['rec'] for x in recs if 'rec' in x]))
try:
wsXmlOut = wsClient.service.handle(request=wsRequest, procName="webservices.funcTest.insert.celesta")
if '
%s
''' % (userPin, rec['rec'])
wsXmlOut = wsClient.service.handle(request=wsRequest, procName="webservices.funcTest.insert.celesta")
if '
False
''' % (userPin, table, package_id)
wsClient.service.handle(request=wsRequest, procName="webservices.funcTest.syncReport.celesta")
def selectPayments(context):
u'Загружка оплат в ФДПО.'
payments_nsi = payments_nsiCursor(context)
settings_json = nci_settings.getSettingsJSON()
userPin = settings_json['userPin']
wsUrl = settings_json['wsUrl']
wsClient = Client(wsUrl)
wsRequest = u'''
''' % userPin
wsXmlOut = wsClient.service.handle(request=wsRequest, procName="webservices.funcTest.select.celesta")
if '