MyTetra Share
Делитесь знаниями!
SupplyRefactor
Время создания: 07.11.2019 15:24
Раздел: INFO - JOB - CUBA - GroovyScripts
Запись: wwwlir/Tetra/master/base/1573111474sbc3km4m4b/text.html на raw.githubusercontent.com

import com.groupstp.rtneo.entity.*

import com.haulmont.cuba.core.global.*;

import org.apache.commons.lang.StringUtils

import com.groupstp.rtneo.service.CompanyService

import com.groupstp.datasupplier.data.BankData

import com.groupstp.datasupplier.service.BankDataSupplierService


import java.text.DateFormat;

import java.text.SimpleDateFormat;


import com.github.declinationofnames.*


def dataManager = AppBeans.get(DataManager.NAME);

//def companyService = AppBeans.get(CompanyService.NAME)

//def bankDataService = AppBeans.get(BankDataSupplierService.NAME)



def r1 = "0e5bd2f2-950c-cd01-7e10-76f13a3d8790"

def params = [:];

params['contract'] = dataManager.load(Contract.class).id(UUID.fromString(r1)).view('_local').optional().orElse(null)



def props = [];

props = fillProps(params)

def realEstates = [];

def calculations = [];

def totals = [];

def containers = [];

def accruals = [];

def renters = [];


return [['props':props,'realEstates': realEstates, 'calculations': calculations, 'totals':totals, 'containers': containers, 'accruals': accruals, 'renters': renters]];


//*******************************************

//

//Методы заполнения

//

//*******************************************

def fillProps(def params){

def companyService = AppBeans.get(CompanyService.NAME)

def bankDataService = AppBeans.get(BankDataSupplierService.NAME)

def contract = dataManager.reload(params['contract'],'contract-print')

//Получаем реквизиты компании, действующие на момент даты договора

def company = contract.getCompany()

def companyRequisites = companyService.getCompanyRequisites(company, contract.getDate())

def companyManagerNameR = companyRequisites.getManagerName()

try{

companyManagerNameR = new RussianName(companyManagerNameR).fullName(RussianNameProcessor.gcaseRod)

} catch(e){}

//заполняем шапку

def contragent = contract.getContragent()

//документ-основание

contragentPersonReasonText = ', действующего на основании '

if (contragent.getType() == ContragentType.PERSONAL){

contragentPersonReasonText = ''

}

contragentPersonReasonDoc = params['personReason']

if (contragentPersonReasonDoc == null){

contragentPersonReasonDoc = contragent.getHeadPersonReasonDoc()

}

contragentPersonReasonDocR = contragentPersonReasonDoc

try{

contragentPersonReasonDocR = new RussianName(contragentPersonReasonDoc).fullName(RussianNameProcessor.gcaseRod)

} catch(e){}

if (contragentPersonReasonDocR == null){

if (getContragentType(contragent) == ContragentType.ORGANISATION){

contragentPersonReasonDocR = "устава"

} else if(getContragentType(contragent) == ContragentType.INDIVIDUAL){

contragentPersonReasonDocR = "свидетельства / выписки о государственной регистрации в качестве индивидуального предпринимателя"

}

}

//подписант

contragentPersonName = params['personName']

if (contragentPersonName == null){

contragentPersonName = contragent.getHeadPersonName()

if (contragent.getType() == ContragentType.PERSONAL){

contragentPersonName = contragent.getName()

}

}

contragentPersonNameR = contragentPersonName

try{

contragentPersonNameR = new RussianName(contragentPersonName).fullName(RussianNameProcessor.gcaseRod)

} catch(e){

}

//должность подписанта

contragentPersonPost = params['personPost']

if (contragentPersonPost == null){

contragentPersonPost = contragent.getHeadPersonPost()

}

contragentPersonPostR = contragentPersonPost

try{

contragentPersonPostR = new RussianName(contragentPersonPost).fullName(RussianNameProcessor.gcaseRod)

} catch(e){}

DateFormat df = new SimpleDateFormat("dd.MM.yyyy");

DateFormat df2 = new SimpleDateFormat("dd.MM.yyyy");

//массив шапочных параметров

def props = [

'number': contract.getNumber(),

'date': getTextDate(contract.getDate()),

//a.kotvinskiy /--

'dateFromTKO': df2.format(contract.getFrom()),

'dateBeforeTKO': df.format(contract.getBefore()),

//a.kotvinskiy --/

'contragentName':contragent.getName(),

'contragentNameShort':contragent.getShortName(),

'contragentPersonName': contragentPersonName,

'contragentPersonNameR': contragentPersonNameR,

'contragentPersonNameShort': getShortFio(contragentPersonName),

'contragentPersonPost': contragentPersonPost,

'contragentPersonPostR': contragentPersonPostR,

'contragentPersonReasonDoc': contragentPersonReasonDoc,

'contragentPersonReasonDocR': contragentPersonReasonDocR,

'contragentPersonReasonText': contragentPersonReasonText,

'contragentShortName':contragent.getShortName(),

'legalAddress':contragent.getLegalAddress(),

'actualAddress':contragent.getActualAddress(),

'mailingAddress':contragent.getMailingAddress(),

'registrationAddrees': contragent.getRegistrationAddress(),

'passportSeries': contragent.getPassportSeries(),

'passportNumber': contragent.getPassportNumber(),

'passportGivenDate': contragent.getPassportGivenDate(),

'inn':contragent.getInn(),

'kpp':contragent.getKpp(),

'ogrn':contragent.getOgrn(),

'checkingAccount':contragent.getCheckingAccount(),

'bankName':contragent.getBankName(),

'correspondentAccount':contragent.getCorrespondentAccount(),

'bik':contragent.getBik()

,'companyShortName':company.shortName

,'companyFullName':company.fullName

,'companyInn':company.inn

,'companyEmail':company.email

,'companyOgrn':company.ogrn

,'companyPhone':company.phone

,'companyLegalAddress':companyRequisites.legalAddress

,'companyActualAddress':companyRequisites.actualAddress

,'companyPostalAddress':companyRequisites.postalAddress

,'companyKpp':companyRequisites.kpp

,'companyBankName':companyRequisites.bankName

,'companyBankAccount':companyRequisites.bankAccount

,'companyCorrespondentAccount':companyRequisites.correspondentAccount

,'companyRcbic':companyRequisites.rcbic

,'companyManagerTitle':companyRequisites.managerTitle

,'companyManagerTitleR':companyRequisites.managerTitleR

,'companyManagerName':companyRequisites.managerName

,'companyManagerNameR':companyManagerNameR

,'companyManagerNameShort':getShortFio(companyRequisites.managerName)

,'companyManagerDocumentR':getShortFio(companyRequisites.managerDocumentR)

]

if (!StringUtils.isBlank(props['bik']) && (StringUtils.isBlank(props['bankName']) || StringUtils.isBlank(props['correspondentAccount']))) {

BankData bank = bankDataService.getSuggestionBankDetails(props['bik'])

if (bank != null) {

if (StringUtils.isBlank(props['bankName'])) {

props['bankName'] = bank.getName()

}

if (StringUtils.isBlank(props['correspondentAccount'])) {

props['correspondentAccount'] = bank.getCorrespondentAccount()

}

}

}

//телефон + почта

def phone = ''

if (contragent.getHeadPersonPhone() != null){

phone = contragent.getHeadPersonPhone()

} else if (contragent.getContactPersonPhone()!=null){

phone = contragent.getContactPersonPhone()

}

def email = ''

if (contragent.getHeadPersonEmail()!=null){

email = contragent.getHeadPersonEmail()

} else if (contragent.getContactPersonEmail()!=null){

email = contragent.getContactPersonEmail()

}

props['phone'] = phone

props['email'] = email

//a.kotvinskiy 19-07-19/--

//В пункте 3 доп соглашения, указываем начало действия доп соглашения

props['dateFrom'] = getTextDate(contract.getFrom())

//a.kotvinskiy 19-07-19--/

//получаем номер и дату головного договора

if (contract.getMainContract()!=null){

props['mainContractNumber'] = contract.getMainContract().getNumber()

props['mainContractDate'] = getTextDate(contract.getMainContract().getDate())

}

//вычисляем подписантов и юридический адрес

def defaultDate = new Date().copyWith(year: 2019, month: Calendar.JANUARY, dayOfMonth: 17, hourOfDay: 0, minute: 0, second: 0);

def addressChangeDate = new Date().copyWith(year: 2019, month: Calendar.APRIL, dayOfMonth: 26, hourOfDay: 0, minute: 0, second: 0);

def contractDate = contract.getDate()

// props['ourPersonPost'] = "Заместитель генерального директора по коммерческой работе"

// props['ourPersonPostR'] = "Заместителя генерального директора по коммерческой работе"

// props['ourPersonName'] = "Степанова Татьяна Анатольевна"

// props['ourPersonNameR'] = "Степановой Татьяны Анатольевны"

// props['ourPersonReasonDoc'] = "доверенность № РТ-05 от 11.01.2019 г"

// props['ourPersonReasonDocR'] = "доверенности № РТ-05 от 11.01.2019 г"

// props['ourPersonNameShort'] = "Степанова Т.А."

//

// if (contractDate < addressChangeDate){

// props['ourLegalAddress'] = '308000, Белгородская область, город Белгород, проспект Б. Хмельницкого, дом 131, помещение 15'

// props['ourKpp'] = '312301001'

// } else {

// props['ourLegalAddress'] = '664033, Иркутская область, город Иркутск, улица Лермонтова, дом 337Б, помещение 8'

// props['ourKpp'] = '381201001'

// }

return props;

}



//*******************************************

//

//Вспомогательные методы

//

//*******************************************

//получить дату словами

def getTextDate(Date date) {

def result=''

def monthesRP = ['января','февраля','марта','апреля','мая','июня','июля','августа','сентября','октября','ноября','декабря']

Calendar cal = Calendar.getInstance()

cal.setTime(date);

result = cal.get(Calendar.DAY_OF_MONTH).toString()

result+=" "+monthesRP[cal.get(Calendar.MONTH)]

result+=" "+cal.get(Calendar.YEAR).toString()+" г."

return result

}

//получить период словами

def getTextPeriod(Date date) {

def result=''

def monthesRP = ['январь','февраль','март','апрель','май','июнь','июль','август','сентябрь','октябрь','ноябрь','декабрь']

Calendar cal = Calendar.getInstance()

cal.setTime(date);

result+=monthesRP[cal.get(Calendar.MONTH)]

result+=" "+cal.get(Calendar.YEAR).toString()+" г."

return result

}


def getShortFio(String fio) {

if (fio == null) return ""

String pattern = '(\\S+\\s)(\\S{1})\\S+\\s(\\S{1})\\S+'

String str = fio.replaceAll(pattern, '$1$2.$3.')

return str

}

Так же в этом разделе:
 
MyTetra Share v.0.59
Яндекс индекс цитирования