diff --git a/client/ticket/src/sale/index.html b/client/ticket/src/sale/index.html
index b39c5522e6..2bf6cee3d9 100644
--- a/client/ticket/src/sale/index.html
+++ b/client/ticket/src/sale/index.html
@@ -70,6 +70,14 @@
+
+
+
+
{
let refundTicketSales;
let salesInsertedInClaimEnd;
- afterAll(async() => {
+ afterAll(async () => {
let promises = [];
promises.push(app.models.Ticket.destroyById(ticket.id));
@@ -16,7 +16,7 @@ describe('claimBeginning', () => {
});
describe('importToNewRefundTicket()', () => {
- it('should create a new ticket with negative sales, save an observation, update the state and insert the negative sales into claimEnd', async() => {
+ it('should create a new ticket with negative sales, save an observation, update the state and insert the negative sales into claimEnd', async () => {
let ctxOfSalesAssistant = {req: {accessToken: {userId: 21}}};
let claimId = 1;
ticket = await app.models.ClaimBeginning.importToNewRefundTicket(ctxOfSalesAssistant, claimId);
diff --git a/services/claim/common/methods/claim/createFromSales.js b/services/loopback/common/methods/claim/createFromSales.js
similarity index 100%
rename from services/claim/common/methods/claim/createFromSales.js
rename to services/loopback/common/methods/claim/createFromSales.js
diff --git a/services/claim/common/methods/claim/getSummary.js b/services/loopback/common/methods/claim/getSummary.js
similarity index 100%
rename from services/claim/common/methods/claim/getSummary.js
rename to services/loopback/common/methods/claim/getSummary.js
diff --git a/services/claim/common/methods/claim/regularizeClaim.js b/services/loopback/common/methods/claim/regularizeClaim.js
similarity index 100%
rename from services/claim/common/methods/claim/regularizeClaim.js
rename to services/loopback/common/methods/claim/regularizeClaim.js
diff --git a/services/claim/common/methods/claim/specs/createFromSales.spec.js b/services/loopback/common/methods/claim/specs/createFromSales.spec.js
similarity index 100%
rename from services/claim/common/methods/claim/specs/createFromSales.spec.js
rename to services/loopback/common/methods/claim/specs/createFromSales.spec.js
diff --git a/services/claim/common/methods/claim/specs/getSummary.spec.js b/services/loopback/common/methods/claim/specs/getSummary.spec.js
similarity index 100%
rename from services/claim/common/methods/claim/specs/getSummary.spec.js
rename to services/loopback/common/methods/claim/specs/getSummary.spec.js
diff --git a/services/claim/common/methods/claim/specs/regularizeClaim.spec.js b/services/loopback/common/methods/claim/specs/regularizeClaim.spec.js
similarity index 100%
rename from services/claim/common/methods/claim/specs/regularizeClaim.spec.js
rename to services/loopback/common/methods/claim/specs/regularizeClaim.spec.js
diff --git a/services/claim/common/methods/claim/specs/updateClaim.spec.js b/services/loopback/common/methods/claim/specs/updateClaim.spec.js
similarity index 100%
rename from services/claim/common/methods/claim/specs/updateClaim.spec.js
rename to services/loopback/common/methods/claim/specs/updateClaim.spec.js
diff --git a/services/claim/common/methods/claim/updateClaim.js b/services/loopback/common/methods/claim/updateClaim.js
similarity index 90%
rename from services/claim/common/methods/claim/updateClaim.js
rename to services/loopback/common/methods/claim/updateClaim.js
index f398521edb..9f25727bae 100644
--- a/services/claim/common/methods/claim/updateClaim.js
+++ b/services/loopback/common/methods/claim/updateClaim.js
@@ -1,6 +1,6 @@
-const UserError = require('vn-loopback/common/helpers').UserError;
-var pick = require('object.pick');
-var diff = require('object-diff');
+const UserError = require('../../../common/helpers').UserError;
+let pick = require('object.pick');
+let diff = require('object-diff');
module.exports = Self => {
Self.remoteMethodCtx('updateClaim', {
@@ -23,7 +23,7 @@ module.exports = Self => {
}
});
- Self.updateClaim = async(ctx, params) => {
+ Self.updateClaim = async (ctx, params) => {
let models = Self.app.models;
let isSalesAssistant;
let token = ctx.req.accessToken;
diff --git a/services/loopback/common/methods/ticket/getSales.js b/services/loopback/common/methods/ticket/getSales.js
index 4c5c77d042..25b8aaff31 100644
--- a/services/loopback/common/methods/ticket/getSales.js
+++ b/services/loopback/common/methods/ticket/getSales.js
@@ -23,9 +23,12 @@ module.exports = Self => {
let query = `CALL vn.ticketGetVisibleAvailable(?)`;
let [lines] = await Self.rawSql(query, [ticketFk]);
let ids = [];
+ let salesIds = [];
- for (line of lines)
+ for (line of lines) {
ids.push(line.itemFk);
+ salesIds.push(line.id);
+ }
let filter = {
fields: ['id', 'name', 'tag5', 'value5', 'tag6', 'value6', 'tag7', 'value7', 'tag8', 'value8', 'tag9', 'value9', 'tag10', 'value10'],
@@ -33,12 +36,24 @@ module.exports = Self => {
};
let items = await Self.app.models.Item.find(filter);
+ filter = {
+ fields: ['claimFk', 'saleFk'],
+ where: {saleFk: {inq: salesIds}},
+ };
+ let claims = await Self.app.models.ClaimBeginning.find(filter);
+
let map = {};
for (item of items)
map[item.id] = item;
- for (line of lines)
+ let claimMap = {};
+ for (claim of claims)
+ claimMap[claim.saleFk] = claim;
+
+ for (line of lines) {
line.tags = map[line.itemFk];
+ line.claim = claimMap[line.id];
+ }
return lines;
};
diff --git a/services/loopback/common/methods/ticket/specs/getSales.spec.js b/services/loopback/common/methods/ticket/specs/getSales.spec.js
index c488c3ece0..5b3c46c254 100644
--- a/services/loopback/common/methods/ticket/specs/getSales.spec.js
+++ b/services/loopback/common/methods/ticket/specs/getSales.spec.js
@@ -1,11 +1,11 @@
const app = require(`${servicesDir}/ticket/server/server`);
describe('ticket getSales()', () => {
- it('should return the sales of a ticket', async() => {
- let sales = await app.models.Ticket.getSales(1);
+ it('should return the sales of a ticket', async () => {
+ let sales = await app.models.Ticket.getSales(16);
- expect(sales.length).toBe(4);
- expect(sales[0].item).toBeDefined();
- expect(sales[0].item.tags).toBeDefined();
+ expect(sales.length).toEqual(4);
+ expect(sales[0].tags).toBeDefined();
+ expect(sales[1].claim).toBeDefined();
});
});
diff --git a/services/claim/common/models/claim-beginning.js b/services/loopback/common/models/claim-beginning.js
similarity index 100%
rename from services/claim/common/models/claim-beginning.js
rename to services/loopback/common/models/claim-beginning.js
diff --git a/services/claim/common/models/claim-beginning.json b/services/loopback/common/models/claim-beginning.json
similarity index 100%
rename from services/claim/common/models/claim-beginning.json
rename to services/loopback/common/models/claim-beginning.json
diff --git a/services/claim/common/models/claim.js b/services/loopback/common/models/claim.js
similarity index 100%
rename from services/claim/common/models/claim.js
rename to services/loopback/common/models/claim.js
diff --git a/services/claim/common/models/claim.json b/services/loopback/common/models/claim.json
similarity index 100%
rename from services/claim/common/models/claim.json
rename to services/loopback/common/models/claim.json
diff --git a/services/loopback/package.json b/services/loopback/package.json
index fd8eb71ec7..74943249d0 100644
--- a/services/loopback/package.json
+++ b/services/loopback/package.json
@@ -20,6 +20,7 @@
"require-yaml": "0.0.1",
"serve-favicon": "^2.0.1",
"strong-error-handler": "^2.1.0",
+ "object-diff": "0.0.4",
"object.pick": "^1.3.0"
},
"devDependencies": {
diff --git a/services/loopback/server/model-config.json b/services/loopback/server/model-config.json
index 7c01414945..898e5f12a6 100644
--- a/services/loopback/server/model-config.json
+++ b/services/loopback/server/model-config.json
@@ -15,6 +15,12 @@
"ACL": {
"dataSource": "salix"
},
+ "Claim": {
+ "dataSource": "vn"
+ },
+ "ClaimBeginning": {
+ "dataSource": "vn"
+ },
"FieldAcl": {
"dataSource": "salix"
},