fixed bugs - do not change key names
This commit is contained in:
@@ -17,5 +17,5 @@ houseNumber = House Number
|
|||||||
streetName = Street Name
|
streetName = Street Name
|
||||||
postalCode = Postal Code
|
postalCode = Postal Code
|
||||||
country = Country
|
country = Country
|
||||||
addressID = Address ID
|
AddressID = Address ID
|
||||||
businessPartner = Business Partner
|
BusinessPartner = Business Partner
|
||||||
|
|||||||
@@ -74,8 +74,8 @@ annotate my.Authors with {
|
|||||||
}
|
}
|
||||||
|
|
||||||
annotate my.ShippingAddresses with {
|
annotate my.ShippingAddresses with {
|
||||||
addressID @title:'{i18n>addressID}';
|
AddressID @title:'{i18n>AddressID}';
|
||||||
businessPartner @title:'{i18n>businessPartner}';
|
BusinessPartner @title:'{i18n>BusinessPartner}';
|
||||||
cityName @title:'{i18n>cityName}';
|
cityName @title:'{i18n>cityName}';
|
||||||
streetName @title:'{i18n>streetName}';
|
streetName @title:'{i18n>streetName}';
|
||||||
postalCode @title:'{i18n>postalCode}';
|
postalCode @title:'{i18n>postalCode}';
|
||||||
|
|||||||
@@ -29,8 +29,8 @@ annotate AdminService.Orders with {
|
|||||||
Label: 'Addresses',
|
Label: 'Addresses',
|
||||||
SearchSupported: 'true',
|
SearchSupported: 'true',
|
||||||
Parameters: [
|
Parameters: [
|
||||||
{ $Type: 'Common.ValueListParameterOut', LocalDataProperty: 'shippingAddress_addressID', ValueListProperty: 'addressID'},
|
{ $Type: 'Common.ValueListParameterOut', LocalDataProperty: 'shippingAddress_AddressID', ValueListProperty: 'AddressID'},
|
||||||
{ $Type: 'Common.ValueListParameterOut', LocalDataProperty: 'shippingAddress_businessPartner', ValueListProperty: 'businessPartner'},
|
{ $Type: 'Common.ValueListParameterOut', LocalDataProperty: 'shippingAddress_BusinessPartner', ValueListProperty: 'BusinessPartner'},
|
||||||
{ $Type: 'Common.ValueListParameterDisplayOnly', ValueListProperty: 'postalCode'},
|
{ $Type: 'Common.ValueListParameterDisplayOnly', ValueListProperty: 'postalCode'},
|
||||||
{ $Type: 'Common.ValueListParameterDisplayOnly', ValueListProperty: 'cityName'},
|
{ $Type: 'Common.ValueListParameterDisplayOnly', ValueListProperty: 'cityName'},
|
||||||
{ $Type: 'Common.ValueListParameterDisplayOnly', ValueListProperty: 'country'},
|
{ $Type: 'Common.ValueListParameterDisplayOnly', ValueListProperty: 'country'},
|
||||||
@@ -40,7 +40,7 @@ annotate AdminService.Orders with {
|
|||||||
},
|
},
|
||||||
SideEffects : {
|
SideEffects : {
|
||||||
EffectTypes : #ValueChange,
|
EffectTypes : #ValueChange,
|
||||||
SourceProperties : [shippingAddress_addressID],
|
SourceProperties : [shippingAddress_AddressID],
|
||||||
TargetProperties : [
|
TargetProperties : [
|
||||||
shippingAddress.country,
|
shippingAddress.country,
|
||||||
shippingAddress.houseNumber,
|
shippingAddress.houseNumber,
|
||||||
@@ -115,7 +115,7 @@ annotate AdminService.Orders with @(
|
|||||||
},
|
},
|
||||||
FieldGroup#ShippingAddress: {
|
FieldGroup#ShippingAddress: {
|
||||||
Data: [
|
Data: [
|
||||||
{Value: shippingAddress_addressID, Label:'{i18n>shippingAddress}'},
|
{Value: shippingAddress_AddressID, Label:'{i18n>shippingAddress}'},
|
||||||
{Value: shippingAddress.houseNumber, Label:'{i18n>houseNumber}'},
|
{Value: shippingAddress.houseNumber, Label:'{i18n>houseNumber}'},
|
||||||
{Value: shippingAddress.streetName, Label:'{i18n>streetName}'},
|
{Value: shippingAddress.streetName, Label:'{i18n>streetName}'},
|
||||||
{Value: shippingAddress.cityName, Label:'{i18n>cityName}'},
|
{Value: shippingAddress.cityName, Label:'{i18n>cityName}'},
|
||||||
|
|||||||
@@ -40,8 +40,8 @@ entity OrderItems : cuid {
|
|||||||
@cds.persistence.skip: false
|
@cds.persistence.skip: false
|
||||||
@cds.persistence.table
|
@cds.persistence.table
|
||||||
entity ShippingAddresses as projection on extAddresses {
|
entity ShippingAddresses as projection on extAddresses {
|
||||||
key AddressID as addressID,
|
key AddressID,
|
||||||
key BusinessPartner as businessPartner,
|
key BusinessPartner,
|
||||||
Country as country,
|
Country as country,
|
||||||
CityName as cityName,
|
CityName as cityName,
|
||||||
PostalCode as postalCode,
|
PostalCode as postalCode,
|
||||||
|
|||||||
@@ -3,5 +3,6 @@ Content-Type: application/json
|
|||||||
Authorization: Basic QUxJQ0Utc2VjcmV0
|
Authorization: Basic QUxJQ0Utc2VjcmV0
|
||||||
|
|
||||||
{
|
{
|
||||||
"PostalCode": "123456"
|
"PostalCode": "123456",
|
||||||
|
"CityName": "BlaTown"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,8 +15,8 @@ const _qlsToUpdateDifferences = (ownAddresses, remoteAddresses) =>
|
|||||||
.map(ownAddress => {
|
.map(ownAddress => {
|
||||||
const remoteAddress = remoteAddresses.find(
|
const remoteAddress = remoteAddresses.find(
|
||||||
address =>
|
address =>
|
||||||
address.businessPartner === ownAddress.businessPartner &&
|
address.BusinessPartner === ownAddress.BusinessPartner &&
|
||||||
address.addressID === ownAddress.addressID
|
address.AddressID === ownAddress.AddressID
|
||||||
)
|
)
|
||||||
if (remoteAddress) {
|
if (remoteAddress) {
|
||||||
const diff = _diff(ownAddress, remoteAddress)
|
const diff = _diff(ownAddress, remoteAddress)
|
||||||
@@ -26,25 +26,25 @@ const _qlsToUpdateDifferences = (ownAddresses, remoteAddresses) =>
|
|||||||
UPDATE(ShippingAddresses)
|
UPDATE(ShippingAddresses)
|
||||||
.set(diff)
|
.set(diff)
|
||||||
.where({
|
.where({
|
||||||
businessPartner: ownAddress.businessPartner,
|
BusinessPartner: ownAddress.BusinessPartner,
|
||||||
addressID: ownAddress.addressID
|
AddressID: ownAddress.AddressID
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
return DELETE(ShippingAddresses).where({
|
return DELETE(ShippingAddresses).where({
|
||||||
businessPartner: ownAddress.businessPartner,
|
BusinessPartner: ownAddress.BusinessPartner,
|
||||||
addressID: ownAddress.addressID
|
AddressID: ownAddress.AddressID
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
.filter(el => el)
|
.filter(el => el)
|
||||||
|
|
||||||
bupaSrv.on('sap/messaging/ccf/BO/BusinessPartner/Changed', async msg => {
|
bupaSrv.on('sap/messaging/ccf/BO/BusinessPartner/Changed', async msg => {
|
||||||
console.log('>> Message:', msg.data)
|
console.log('>> Message:', msg.data)
|
||||||
const businessPartner = msg.data.KEY[0].BUSINESSPARTNER
|
const BusinessPartner = msg.data.KEY[0].BUSINESSPARTNER
|
||||||
const tx = cds.transaction()
|
const tx = cds.transaction()
|
||||||
const selectQl = SELECT.from(ShippingAddresses).where({ businessPartner })
|
const selectQl = SELECT.from(ShippingAddresses).where({ BusinessPartner })
|
||||||
const selectQlToBeDeleted = SELECT.from(ShippingAddresses).where({
|
const selectQlToBeDeleted = SELECT.from(ShippingAddresses).where({
|
||||||
businessPartner
|
BusinessPartner
|
||||||
})
|
})
|
||||||
|
|
||||||
const ownAddresses = await tx.run(selectQl)
|
const ownAddresses = await tx.run(selectQl)
|
||||||
@@ -55,8 +55,8 @@ bupaSrv.on('sap/messaging/ccf/BO/BusinessPartner/Changed', async msg => {
|
|||||||
const txExt = bupaSrv.transaction()
|
const txExt = bupaSrv.transaction()
|
||||||
const remoteAddresses = await txExt.run(selectQlToBeDeleted)
|
const remoteAddresses = await txExt.run(selectQlToBeDeleted)
|
||||||
|
|
||||||
await _qlsToUpdateDifferences(ownAddresses, remoteAddresses).map(ql =>
|
await _qlsToUpdateDifferences(ownAddresses, remoteAddresses).map(async ql =>
|
||||||
tx.run(ql)
|
await tx.run(ql)
|
||||||
)
|
)
|
||||||
await tx.commit()
|
await tx.commit()
|
||||||
}
|
}
|
||||||
@@ -65,10 +65,10 @@ bupaSrv.on('sap/messaging/ccf/BO/BusinessPartner/Changed', async msg => {
|
|||||||
module.exports = cds.service.impl(function () {
|
module.exports = cds.service.impl(function () {
|
||||||
async function _readAddresses (req) {
|
async function _readAddresses (req) {
|
||||||
console.log('Addresses', ShippingAddresses)
|
console.log('Addresses', ShippingAddresses)
|
||||||
const businessPartner = req.user.id
|
const BusinessPartner = req.user.id
|
||||||
const tx = bupaSrv.transaction(req)
|
const txExt = bupaSrv.transaction(req)
|
||||||
const ql = SELECT.from(ShippingAddresses).where({
|
const ql = SELECT.from(ShippingAddresses).where({
|
||||||
businessPartner
|
BusinessPartner
|
||||||
})
|
})
|
||||||
if (req.query && req.query.SELECT && req.query.SELECT.columns) {
|
if (req.query && req.query.SELECT && req.query.SELECT.columns) {
|
||||||
ql.columns(req.query.SELECT.columns)
|
ql.columns(req.query.SELECT.columns)
|
||||||
@@ -77,26 +77,26 @@ module.exports = cds.service.impl(function () {
|
|||||||
ql.where(req.query.SELECT.where)
|
ql.where(req.query.SELECT.where)
|
||||||
}
|
}
|
||||||
|
|
||||||
const result = await tx.run(ql)
|
const result = await txExt.run(ql)
|
||||||
delete result.businessPartner
|
|
||||||
return result
|
return result
|
||||||
}
|
}
|
||||||
|
|
||||||
async function _fillAddress (req) {
|
async function _fillAddress (req) {
|
||||||
if (req.data.shippingAddress_addressID) {
|
if (req.data.shippingAddress_AddressID) {
|
||||||
const businessPartner = req.user.id
|
const BusinessPartner = req.user.id
|
||||||
const tx = bupaSrv.transaction(req)
|
const txExt = bupaSrv.transaction(req)
|
||||||
const response = await tx.run(
|
const response = await txExt.run(
|
||||||
SELECT.from(ShippingAddresses).where({
|
SELECT.from(ShippingAddresses).where({
|
||||||
addressID: req.data.shippingAddress_addressID,
|
AddressID: req.data.shippingAddress_AddressID,
|
||||||
businessPartner
|
BusinessPartner
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
if (response && response.length > 0) {
|
if (response && response.length > 0) {
|
||||||
const tx2 = cds.transaction(req)
|
const tx = cds.transaction(req)
|
||||||
try {
|
try {
|
||||||
const qlStatement = INSERT.into(ShippingAddresses).entries(response)
|
const qlStatement = INSERT.into(ShippingAddresses).entries(response)
|
||||||
await tx2.run(qlStatement)
|
await tx.run(qlStatement)
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
// already in there
|
// already in there
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user