%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /home/opti/workflow/src/models/
Upload File :
Create Path :
Current File : /home/opti/workflow/src/models/itemmovement.js

'use strict';
module.exports = (sequelize, DataTypes) => {
  const ItemMovement = sequelize.define('ItemMovement', {
    uuid: {
      type: DataTypes.UUID,
      defaultValue: DataTypes.UUIDV4
    },
    itemId: DataTypes.INTEGER,
    orgId: DataTypes.INTEGER,
    current: DataTypes.BOOLEAN,
    pieces: {type:DataTypes.INTEGER, defaultValue: 1},
    location: DataTypes.ENUM('Store', 'Region', 'Branch', 'Company Structure', 'Employee'),//receiverType
    receiverId: DataTypes.INTEGER,
    moverId: DataTypes.INTEGER,
    moverType: DataTypes.ENUM('Store', 'Region', 'Branch', 'Company Structure', 'Employee'),
    createdBy: DataTypes.INTEGER,
    remarks: DataTypes.STRING,

  }, {});


  // Class Method
  ItemMovement.prototype.getMoverName = async function () {
    var name = "";
    switch(this.moverType){
      case 'Store':
      await this.sequelize.models.Store.findOne({where:{id:this.moverId}})
          .then(store=>{
            // console.log(store, "store")
            // return store.name
            this.receiverName = store.name
          })
          // name = store.name;
      break;
      case 'Region':
        await this.sequelize.models.Region.findOne({where:{id:this.moverId}})
          .then(region=>{
            this.receiverName = region.name
            // return region.name
          })
          // console.log(region)
      break;
      case 'Branch':
      await this.sequelize.models.Branch.findOne({where:{id:this.moverId}})
          .then(branch=>{
            this.receiverName = branch.name
            // return branch.name
          })
      break;
      case 'Company Structure':
      await this.sequelize.models.Structure.findOne({where:{id:this.moverId}})
          .then(structure=>{
            this.receiverName = structure.name
            // return branch.name
          })
      case 'Employee':
      await this.sequelize.models.User.findOne({where:{id:this.moverId}})
          .then(employee=>{
            this.receiverName = employee.name
            // return branch.name
          })
      break;
      // break;
    // return name
  }
  };



  ItemMovement.associate = function(models) {
    // associations can be defined here
    ItemMovement.belongsTo(models.Item, {foreignKey: 'itemId', as: 'item'});
    ItemMovement.belongsTo(models.User, {foreignKey: 'createdBy', as: 'moveBy'});
  };
  return ItemMovement;
};

Zerion Mini Shell 1.0