feat: update date
gitea/salix/pipeline/pr-dev This commit looks good
Details
gitea/salix/pipeline/pr-dev This commit looks good
Details
This commit is contained in:
parent
c8253aa0ff
commit
176475a7a7
|
@ -39,9 +39,13 @@ describe('Split', () => {
|
|||
it('should split tickets with count 2 and success', async() => {
|
||||
const data =
|
||||
{ticketFk: 14, sales: [33]};
|
||||
const result = await models.Ticket.split(ctx, data, options);
|
||||
const result = await models.Ticket.split(ctx, data, Date.vnNew(), options);
|
||||
const newTicket = await models.Ticket.findById(result.newTicket, null, options);
|
||||
|
||||
expect(newTicket).toBeDefined();
|
||||
expect(data.ticketFk).toEqual(result.ticket);
|
||||
expect(data.ticketFk).toEqual(result.ticket);
|
||||
expect(data.ticketFk).not.toEqual(result.newTicket);
|
||||
expect('split').toEqual(result.status);
|
||||
});
|
||||
});
|
||||
|
|
|
@ -10,7 +10,7 @@ module.exports = Self => {
|
|||
http: {source: 'body'}
|
||||
},
|
||||
{
|
||||
arg: 'date',
|
||||
arg: 'landed',
|
||||
type: 'date',
|
||||
required: true,
|
||||
}
|
||||
|
@ -25,8 +25,7 @@ module.exports = Self => {
|
|||
}
|
||||
});
|
||||
|
||||
Self.split = async(ctx, ticket, options) => {
|
||||
const {ticketFk} = ticket;
|
||||
Self.split = async(ctx, {ticketFk, sales}, landed, options) => {
|
||||
const models = Self.app.models;
|
||||
const myOptions = {};
|
||||
let tx;
|
||||
|
@ -51,18 +50,21 @@ module.exports = Self => {
|
|||
[ticketFk], myOptions);
|
||||
|
||||
if (vNewTicket === 0) return result;
|
||||
const sales = await models.Sale.find({
|
||||
where: {id: {inq: ticket.sales}}
|
||||
const salesToUpdate = await models.Sale.find({
|
||||
where: {id: {inq: sales}}
|
||||
}, myOptions);
|
||||
|
||||
const updateIsPicked = sales.map(({sid}) => Self.rawSql(`
|
||||
const updateIsPicked = salesToUpdate.map(({sid}) => Self.rawSql(`
|
||||
UPDATE vn.sale SET isPicked = (id = ?) WHERE ticketFk = ?`,
|
||||
[sid, ticketFk], myOptions));
|
||||
|
||||
await Promise.all(updateIsPicked);
|
||||
await Self.transferSales(ctx, ticketFk, vNewTicket, sales, myOptions);
|
||||
await Self.transferSales(ctx, ticketFk, vNewTicket, salesToUpdate, myOptions);
|
||||
|
||||
await Self.rawSql(`CALL vn.ticket_setState(?, ?)`, [ticketFk, 'FIXING'], myOptions);
|
||||
|
||||
const newTicket = await models.Ticket.findById(vNewTicket, null, myOptions);
|
||||
await newTicket.updateAttributes({landed}, myOptions);
|
||||
if (tx) await tx.commit();
|
||||
return {ticket: ticketFk, newTicket: vNewTicket, status: 'split'};
|
||||
} catch (e) {
|
||||
|
|
Loading…
Reference in New Issue