|
|||||||
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 } |
|||||||
Так же в этом разделе:
|
|||||||
|
|||||||
|