import-debitor-relationship (into intermediate data structure) #22
@ -116,7 +116,7 @@ public class HsOfficeDebitorEntity implements HasUuid, Stringifyable {
|
|||||||
JOIN hs_office_relationship partnerRel
|
JOIN hs_office_relationship partnerRel
|
||||||
ON partnerRel.uuid = partner.partnerRoleUUid AND partnerRel.relType = 'PARTNER'
|
ON partnerRel.uuid = partner.partnerRoleUUid AND partnerRel.relType = 'PARTNER'
|
||||||
JOIN hs_office_relationship debitorRel
|
JOIN hs_office_relationship debitorRel
|
||||||
ON debitorRel.relAnchorUuid = partnerRel.relHolderUuid AND partnerRel.relType = 'ACCOUNTING'
|
ON debitorRel.relAnchorUuid = partnerRel.relHolderUuid AND partnerRel.relType = 'DEBITOR'
|
||||||
WHERE debitorRel.uuid = debitor.debitorRelUuid)
|
WHERE debitorRel.uuid = debitor.debitorRelUuid)
|
||||||
|| to_char(debitorNumberSuffix, 'fm00')
|
|| to_char(debitorNumberSuffix, 'fm00')
|
||||||
from hs_office_debitor as debitor
|
from hs_office_debitor as debitor
|
||||||
@ -137,7 +137,7 @@ public class HsOfficeDebitorEntity implements HasUuid, Stringifyable {
|
|||||||
fetchedBySql("""
|
fetchedBySql("""
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM hs_office_relationship AS r
|
FROM hs_office_relationship AS r
|
||||||
WHERE r.relType = 'ACCOUNTING' AND r.relHolderUuid = ${REF}.debitorRelUuid
|
WHERE r.relType = 'DEBITOR' AND r.relHolderUuid = ${REF}.debitorRelUuid
|
||||||
"""),
|
"""),
|
||||||
dependsOnColumn("debitorRelUuid"))
|
dependsOnColumn("debitorRelUuid"))
|
||||||
.createPermission(DELETE).grantedTo("debitorRel", OWNER)
|
.createPermission(DELETE).grantedTo("debitorRel", OWNER)
|
||||||
@ -148,7 +148,7 @@ public class HsOfficeDebitorEntity implements HasUuid, Stringifyable {
|
|||||||
dependsOnColumn("refundBankAccountUuid"), fetchedBySql("""
|
dependsOnColumn("refundBankAccountUuid"), fetchedBySql("""
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM hs_office_relationship AS r
|
FROM hs_office_relationship AS r
|
||||||
WHERE r.relType = 'ACCOUNTING' AND r.relHolderUuid = ${REF}.debitorRelUuid
|
WHERE r.relType = 'DEBITOR' AND r.relHolderUuid = ${REF}.debitorRelUuid
|
||||||
""")
|
""")
|
||||||
)
|
)
|
||||||
.toRole("refundBankAccount", ADMIN).grantRole("debitorRel", AGENT)
|
.toRole("refundBankAccount", ADMIN).grantRole("debitorRel", AGENT)
|
||||||
|
@ -6,7 +6,7 @@ public enum HsOfficeRelationshipType {
|
|||||||
EX_PARTNER,
|
EX_PARTNER,
|
||||||
REPRESENTATIVE,
|
REPRESENTATIVE,
|
||||||
VIP_CONTACT,
|
VIP_CONTACT,
|
||||||
ACCOUNTING,
|
DEBITOR,
|
||||||
OPERATIONS,
|
OPERATIONS,
|
||||||
SUBSCRIBER
|
SUBSCRIBER
|
||||||
}
|
}
|
||||||
|
@ -9,8 +9,8 @@ CREATE TYPE HsOfficeRelationshipType AS ENUM (
|
|||||||
'PARTNER',
|
'PARTNER',
|
||||||
'EX_PARTNER',
|
'EX_PARTNER',
|
||||||
'REPRESENTATIVE',
|
'REPRESENTATIVE',
|
||||||
|
'DEBITOR',
|
||||||
'VIP_CONTACT',
|
'VIP_CONTACT',
|
||||||
'ACCOUNTING',
|
|
||||||
'OPERATIONS',
|
'OPERATIONS',
|
||||||
'SUBSCRIBER');
|
'SUBSCRIBER');
|
||||||
|
|
||||||
|
@ -220,6 +220,23 @@ public class ImportOfficeData extends ContextBasedTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
@Order(1021)
|
@Order(1021)
|
||||||
|
void buildDebitorRelationships() {
|
||||||
|
debitors.forEach( (id, debitor) -> {
|
||||||
|
final var debitorRel = HsOfficeRelationshipEntity.builder()
|
||||||
|
.relType(HsOfficeRelationshipType.DEBITOR)
|
||||||
|
.relAnchor(debitor.getPartner().getPerson())
|
||||||
|
.relHolder(debitor.getPartner().getPerson()) // just 1 debitor/partner in legacy hsadmin
|
||||||
|
.contact(debitor.getBillingContact())
|
||||||
|
.build();
|
||||||
|
if (debitorRel.getRelAnchor() != null && debitorRel.getRelHolder() != null &&
|
||||||
|
debitorRel.getContact() != null ) {
|
||||||
|
relationships.put(relationshipId++, debitorRel);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@Order(1029)
|
||||||
void verifyContacts() {
|
void verifyContacts() {
|
||||||
assumeThatWeAreImportingControlledTestData();
|
assumeThatWeAreImportingControlledTestData();
|
||||||
|
|
||||||
@ -289,7 +306,10 @@ public class ImportOfficeData extends ContextBasedTest {
|
|||||||
2000013=rel(relAnchor='LP JM GmbH', relType='VIP_CONTACT', relHolder='LP JM GmbH', contact='Frau Tammy Meyer-VIP , JM GmbH'),
|
2000013=rel(relAnchor='LP JM GmbH', relType='VIP_CONTACT', relHolder='LP JM GmbH', contact='Frau Tammy Meyer-VIP , JM GmbH'),
|
||||||
2000014=rel(relAnchor='?? Test PS', relType='OPERATIONS', relHolder='?? Test PS', contact='Petra Schmidt , Test PS'),
|
2000014=rel(relAnchor='?? Test PS', relType='OPERATIONS', relHolder='?? Test PS', contact='Petra Schmidt , Test PS'),
|
||||||
2000015=rel(relAnchor='?? Test PS', relType='REPRESENTATIVE', relHolder='?? Test PS', contact='Petra Schmidt , Test PS'),
|
2000015=rel(relAnchor='?? Test PS', relType='REPRESENTATIVE', relHolder='?? Test PS', contact='Petra Schmidt , Test PS'),
|
||||||
2000016=rel(relAnchor='NP Mellies, Michael', relType='SUBSCRIBER', relMark='operations-announce', relHolder='NP Fanninga, Frauke', contact='Frau Frauke Fanninga ')
|
2000016=rel(relAnchor='NP Mellies, Michael', relType='SUBSCRIBER', relMark='operations-announce', relHolder='NP Fanninga, Frauke', contact='Frau Frauke Fanninga '),
|
||||||
|
2000017=rel(relAnchor='NP Mellies, Michael', relType='DEBITOR', relHolder='NP Mellies, Michael', contact='Herr Michael Mellies '),
|
||||||
|
2000018=rel(relAnchor='LP JM GmbH', relType='DEBITOR', relHolder='LP JM GmbH', contact='Frau Dr. Jenny Meyer-Billing , JM GmbH'),
|
||||||
|
2000019=rel(relAnchor='?? Test PS', relType='DEBITOR', relHolder='?? Test PS', contact='Petra Schmidt , Test PS')
|
||||||
}
|
}
|
||||||
""");
|
""");
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user