All files / source/inventory create.js

100% Statements 6/6
100% Branches 2/2
100% Functions 2/2
100% Lines 6/6

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77              2x 2x                                         1x         2x 2x                                                                 1x                
import moment from 'moment-timezone';
 
import InventoryDao from '../../database/dao/inventory';
import InventorySheetDao from '../../database/dao/inventorySheet';
import APIError from '../../helpers/error';
 
async function createInventory(inventory, opts = {}) {
  try {
    return InventoryDao.createInventory(
      {
        grouperCode: inventory.grouperCode,
        type: inventory.type,
        branchCode: inventory.branchCode,
        depositCode: inventory.depositCode,
        status: 1,
        inventoryAt: inventory.inventoryAt,
        branchInInventory: inventory.branchInInventory,
        complementAddress: inventory.complementAddress,
        emptyAddress: inventory.emptyAddress,
        curves: inventory.curves,
        note: inventory.note,
        createdUser: inventory.createdUser,
        createdAt: moment().format(),
        updatedUser: inventory.updatedUser,
        updatedAt: moment().format(),
      },
      opts
    );
  } catch (error) {
    throw new APIError('', error);
  }
}
 
async function createInventorySheet(inventorySheet, opts = {}) {
  try {
    return InventorySheetDao.createInventorySheet(
      {
        inventoryId: inventorySheet.inventoryId,
        sheetNumber: inventorySheet.sheetNumber,
        status: 1,
        branchCode: inventorySheet.branchCode,
        depositCode: inventorySheet.depositCode,
        addressCode: inventorySheet.addressCode,
        addressId: inventorySheet.addressId,
        stockBalanceId: inventorySheet.stockBalanceId,
        productCode: inventorySheet.productCode,
        lotNumber: inventorySheet.lotNumber,
        expirationDate: inventorySheet.expirationDate,
        balanceQuantity: inventorySheet.balanceQuantity,
        quantity: inventorySheet.quantity,
        allocated: inventorySheet.allocated,
        reserved: inventorySheet.reserved,
        balanceAt: inventorySheet.balanceAt,
        lastCountAt: inventorySheet.lastCountAt,
        lastCountUser: inventorySheet.lastCountUser,
        numberCounts: 0,
        firstCountStatus: 1,
        secondCountStatus: 1,
        thirdCountStatus: 1,
        note: inventorySheet.note,
        createdUser: inventorySheet.createdUser,
        createdAt: moment().format(),
        updatedUser: inventorySheet.updatedUser,
        updatedAt: moment().format(),
      },
      opts
    );
  } catch (error) {
    throw new APIError('', error);
  }
}
 
export default {
  createInventory,
  createInventorySheet,
};