Esempio n. 1
0
        private ReportDataSource GetStockCard(DateTime?dateFrom, DateTime?dateTo, string itemId, string warehouseId)
        {
            IList <TStockCard> cards;
            MItem      item      = null;
            MWarehouse warehouse = null;

            if (!string.IsNullOrEmpty(itemId))
            {
                item = _mItemRepository.Get(itemId);
            }
            if (!string.IsNullOrEmpty(warehouseId))
            {
                warehouse = _mWarehouseRepository.Get(warehouseId);
            }
            cards = _tStockCardRepository.GetByDateItemWarehouse(dateFrom, dateTo, item, warehouse);

            var list = from card in cards
                       select new
            {
                card.StockCardQty,
                card.StockCardDate,
                card.StockCardStatus,
                ItemId = card.ItemId.Id,
                card.ItemId.ItemName,
                WarehouseId = card.WarehouseId.Id,
                card.WarehouseId.WarehouseName,
                card.StockCardSaldo,
                card.StockCardDesc
            }
            ;

            ReportDataSource reportDataSource = new ReportDataSource("StockCardViewModel", list.ToList());

            return(reportDataSource);
        }
Esempio n. 2
0
        public ActionResult Update(MWarehouse viewModel, FormCollection formCollection)
        {
            MWarehouse mWarehouseToUpdate = _mWarehouseRepository.Get(viewModel.Id);

            TransferFormValuesTo(mWarehouseToUpdate, viewModel);
            mWarehouseToUpdate.EmployeeId   = _mEmployeeRepository.Get(formCollection["EmployeeId"]);
            mWarehouseToUpdate.ModifiedDate = DateTime.Now;
            mWarehouseToUpdate.ModifiedBy   = User.Identity.Name;
            mWarehouseToUpdate.DataStatus   = EnumDataStatus.Updated.ToString();

            mWarehouseToUpdate.AddressId.AddressLine1 = formCollection["AddressLine1"];
            mWarehouseToUpdate.AddressId.AddressLine1 = formCollection["AddressLine1"];
            mWarehouseToUpdate.AddressId.AddressLine2 = formCollection["AddressLine2"];
            mWarehouseToUpdate.AddressId.AddressLine3 = formCollection["AddressLine3"];
            mWarehouseToUpdate.AddressId.AddressPhone = formCollection["AddressPhone"];
            mWarehouseToUpdate.AddressId.AddressCity  = formCollection["AddressCity"];

            _mWarehouseRepository.Update(mWarehouseToUpdate);

            bool isSave = false;

            try
            {
                _mWarehouseRepository.DbContext.CommitChanges();
            }
            catch (Exception e)
            {
                _mWarehouseRepository.DbContext.RollbackTransaction();

                return(Content(e.GetBaseException().Message));
            }

            return(Content("success"));
        }
Esempio n. 3
0
        public ActionResult Insert(TTransDet viewModel, FormCollection formCollection, bool IsAddStock, string warehouseId)
        {
            //format numeric
            UpdateNumericData(viewModel, formCollection);
            //
            MItem item = _mItemRepository.Get(formCollection["ItemId"]);

            //check stock is enough or not if no add stock
            //return Content(IsAddStock.ToString());
            if (!IsAddStock)
            {
                MWarehouse warehouse    = _mWarehouseRepository.Get(warehouseId);
                bool       isStockValid = Helper.CommonHelper.CheckStock(warehouse, item, viewModel.TransDetQty);
                if (!isStockValid)
                {
                    return(Content("Kuantitas barang tidak cukup"));
                }
            }

            TTransDet transDetToInsert = new TTransDet();

            TransferFormValuesTo(transDetToInsert, viewModel);
            transDetToInsert.SetAssignedIdTo(Guid.NewGuid().ToString());
            transDetToInsert.ItemId = item;
            transDetToInsert.SetAssignedIdTo(viewModel.Id);
            transDetToInsert.CreatedDate = DateTime.Now;
            transDetToInsert.CreatedBy   = User.Identity.Name;
            transDetToInsert.DataStatus  = EnumDataStatus.New.ToString();

            ListDetTrans.Add(transDetToInsert);
            return(Content("success"));
        }
        public decimal?GetTotalUsed(MItem item, MWarehouse warehouse)
        {
            StringBuilder sql = new StringBuilder();

            sql.AppendLine(@"   select sum(det.TransDetQty)
                                from TTransDet as det
                                    left outer join det.TransId trans
                                    where trans.TransStatus = :TransStatus ");
            if (item != null)
            {
                sql.AppendLine(@"   and det.ItemId = :item");
            }
            if (warehouse != null)
            {
                sql.AppendLine(@"   and trans.WarehouseId = :warehouse");
            }

            IQuery q = Session.CreateQuery(sql.ToString());

            q.SetString("TransStatus", Enums.EnumTransactionStatus.Using.ToString());
            if (item != null)
            {
                q.SetEntity("item", item);
            }
            if (warehouse != null)
            {
                q.SetEntity("warehouse", warehouse);
            }
            if (q.UniqueResult() != null)
            {
                return((decimal)q.UniqueResult());
            }
            return(null);
        }
        public static TransactionFormViewModel Create(EnumTransactionStatus enumTransactionStatus, ITTransRepository transRepository, IMWarehouseRepository mWarehouseRepository, IMSupplierRepository mSupplierRepository, IMUnitTypeRepository mUnitTypeRepository, IMJobTypeRepository mJobTypeRepository)
        {
            TransactionFormViewModel viewModel = new TransactionFormViewModel();
            TTrans trans = SetNewTrans(enumTransactionStatus);

            viewModel.Trans = trans;
            Helper.CommonHelper.SetViewModelByStatus(viewModel, enumTransactionStatus);

            viewModel.TransFactur   = trans.TransFactur;
            viewModel.TransDate     = trans.TransDate;
            viewModel.TransId       = trans.Id;
            viewModel.TransStatus   = trans.TransStatus;
            viewModel.WarehouseId   = trans.WarehouseId;
            viewModel.WarehouseIdTo = trans.WarehouseIdTo;
            viewModel.UnitTypeId    = trans.UnitTypeId;
            viewModel.JobTypeId     = trans.JobTypeId;
            viewModel.TransDesc     = trans.TransDesc;

            IList <MWarehouse> list       = mWarehouseRepository.GetAll();
            MWarehouse         mWarehouse = new MWarehouse();

            mWarehouse.WarehouseName = "-Pilih Gudang-";
            list.Insert(0, mWarehouse);
            viewModel.WarehouseList   = new SelectList(list, "Id", "WarehouseName");
            viewModel.WarehouseToList = new SelectList(list, "Id", "WarehouseName");

            IList <MSupplier> listSupplier = mSupplierRepository.GetAll();
            MSupplier         mSupplier    = new MSupplier();

            mSupplier.SupplierName = "-Pilih Supplier-";
            listSupplier.Insert(0, mSupplier);
            viewModel.SupplierList = new SelectList(listSupplier, "Id", "SupplierName");

            IList <MUnitType> listUnitType = mUnitTypeRepository.GetAll();
            MUnitType         mUnitType    = new MUnitType();

            mUnitType.UnitTypeName = "-Pilih Unit-";
            listUnitType.Insert(0, mUnitType);
            viewModel.UnitTypeList = new SelectList(listUnitType, "Id", "UnitTypeName");

            IList <MJobType> listJobType = mJobTypeRepository.GetAll();
            MJobType         mJobType    = new MJobType();

            mJobType.JobTypeName = "-Pilih Jenis Pekerjaan-";
            listJobType.Insert(0, mJobType);
            viewModel.JobTypeList = new SelectList(listJobType, "Id", "JobTypeName");

            //fill payment method
            var values = from EnumPaymentMethod e in Enum.GetValues(typeof(EnumPaymentMethod))
                         select new { ID = e, Name = e.ToString() };

            viewModel.PaymentMethodList = new SelectList(values, "Id", "Name");

            //viewModel.ViewWarehouseTo = false;
            //viewModel.ViewSupplier = false;
            //viewModel.ViewDate = false;
            //viewModel.ViewFactur = false;

            return(viewModel);
        }
Esempio n. 6
0
        private ReportDataSource GetStockItem(string itemId, string warehouseId)
        {
            IList <TStockItem> stockItems;
            MItem      item      = null;
            MWarehouse warehouse = null;

            if (!string.IsNullOrEmpty(itemId))
            {
                item = _mItemRepository.Get(itemId);
            }
            if (!string.IsNullOrEmpty(warehouseId))
            {
                warehouse = _mWarehouseRepository.Get(warehouseId);
            }
            stockItems = _tStockItemRepository.GetByItemWarehouse(item, warehouse);

            var list = from stock in stockItems
                       select new
            {
                stock.ItemStock,
                stock.ItemStockMax,
                stock.ItemStockMin,
                ItemId = stock.ItemId.Id,
                stock.ItemId.ItemName,
                WarehouseId = stock.WarehouseId.Id,
                stock.WarehouseId.WarehouseName,
                stock.ItemStockRack
            }
            ;
            //return list.ToList();
            ReportDataSource reportDataSource = new ReportDataSource("StockItemViewModel", list.ToList());

            return(reportDataSource);
        }
Esempio n. 7
0
    private bool LoseItem(ItemInfo info, int amount)
    {
        if (MWarehouse == null || info == null || !info.item || amount < 1)
        {
            return(false);
        }
        if (!BackpackManager.Instance.TryGetItem_Boolean(info, amount))
        {
            return(false);
        }
        BackpackManager.Instance.GetItem(info, amount);
        MWarehouse.LoseItemSimple(info, amount);
        ItemAgent ia = GetItemAgentByInfo(info);

        if (ia)
        {
            ia.UpdateInfo();
        }
        UpdateUI();
        if (!BackpackManager.Instance.IsUIOpen)
        {
            BackpackManager.Instance.OpenWindow();
        }
        return(true);
    }
        public IList <TTransDet> GetByItemWarehouse(MItem item, MWarehouse warehouse)
        {
            StringBuilder sql = new StringBuilder();

            sql.AppendLine(@"   select det
                                from TTransDet as det
                                    left outer join det.TransId trans
                                    where trans.TransStatus = :TransStatus ");
            if (item != null)
            {
                sql.AppendLine(@"   and det.ItemId = :item");
            }
            if (warehouse != null)
            {
                sql.AppendLine(@"   and trans.WarehouseId = :warehouse");
            }
            IQuery q = Session.CreateQuery(sql.ToString());

            q.SetString("TransStatus", Enums.EnumTransactionStatus.Budgeting.ToString());
            if (item != null)
            {
                q.SetEntity("item", item);
            }
            if (warehouse != null)
            {
                q.SetEntity("warehouse", warehouse);
            }
            return(q.List <TTransDet>());
        }
        public TStockItem GetByItemAndWarehouse(MItem mItem, MWarehouse mWarehouse)
        {
            ICriteria criteria = Session.CreateCriteria(typeof(TStockItem))
                                 .Add(Expression.Eq("ItemId", mItem))
                                 .Add(Expression.Eq("WarehouseId", mWarehouse));

            return((TStockItem)criteria.UniqueResult());
        }
Esempio n. 10
0
        /// <summary>
        /// is used to save Product container
        /// </summary>
        /// <param name="warehouseId">Warehouse where we create container</param>
        /// <param name="locatorId">Locator - in which locator we place container</param>
        /// <param name="value">Search key of the container</param>
        /// <param name="name">name of teh container</param>
        /// <param name="height">height of the container</param>
        /// <param name="width">width of the container</param>
        /// <param name="parentContainerId">Parent of the nw container</param>
        /// <returns>Save Or Not Saved message</returns>
        /// <writer>Amit Bansal</writer>
        public string SaveProductContainer(int warehouseId, int locatorId, string value, string name, Decimal height, Decimal width, int parentContainerId)
        {
            MLocator   m_locator   = null;
            MWarehouse m_warehouse = null;

            // when warehouse ID is ZERO, then extract it from Locator
            if (warehouseId == 0 && locatorId > 0)
            {
                m_locator   = MLocator.Get(_ctx, locatorId);
                warehouseId = m_locator.GetM_Warehouse_ID();
            }
            // when locator ID is ZERO, then extract it either from Parent Conatiner or from Warehouse
            else if (warehouseId > 0 && locatorId == 0)
            {
                if (parentContainerId == 0)
                {
                    m_warehouse = MWarehouse.Get(_ctx, warehouseId);
                    locatorId   = m_warehouse.GetDefaultM_Locator_ID();
                }
                else
                {
                    locatorId = Util.GetValueOfInt(DB.ExecuteScalar("SELECT M_Locator_ID FROM M_ProductContainer WHERE M_ProductContainer_ID = " + parentContainerId, null, null));
                }
            }

            // need to check warehouse and locator shoyld be active during ceation of Product Container
            m_warehouse = MWarehouse.Get(_ctx, warehouseId);
            m_locator   = MLocator.Get(_ctx, locatorId);
            if (!m_warehouse.IsActive())
            {
                return(Msg.GetMsg(_ctx, "VIS_WarehouseNotActive"));
            }
            else if (!m_locator.IsActive())
            {
                return(Msg.GetMsg(_ctx, "VIS_LocatorNotActive"));
            }

            // Create Product Container in Locator Organization
            //MProductContainer container = new MProductContainer(_ctx, 0, null);
            //container.SetAD_Org_ID(m_locator.GetAD_Org_ID());
            //container.SetValue(value);
            //container.SetName(name);
            //container.SetM_Warehouse_ID(warehouseId);
            //container.SetM_Locator_ID(locatorId);
            //container.SetHeight(height);
            //container.SetWidth(width);
            //container.SetRef_M_Container_ID(parentContainerId);
            //if (!container.Save())
            //{
            //    ValueNamePair pp = VLogger.RetrieveError();
            //    return Msg.GetMsg(_ctx, "VIS_ContainernotSaved") + " " + (pp != null ? pp.GetName() : "");
            //}
            //else
            //{
            //    return "";
            //}
            return("");
        }
Esempio n. 11
0
        }       //	prepare

        /// <summary>
        /// Perrform Process.
        /// </summary>
        /// <returns>Message </returns>
        protected override String DoIt()
        {
            log.Info("M_Warehouse_ID=" + _M_Warehouse_ID
                     + ", C_BPartner_ID=" + _C_BPartner_ID
                     + " - ReplenishmentCreate=" + _ReplenishmentCreate
                     + ", C_DocType_ID=" + _C_DocType_ID);
            if (_ReplenishmentCreate != null && _C_DocType_ID == 0 || _C_DocType_ID == -1)
            {
                throw new Exception("@FillMandatory@ @C_DocType_ID@");
            }


            MWarehouse wh = MWarehouse.Get(GetCtx(), _M_Warehouse_ID);

            if (wh.Get_ID() == 0)
            {
                throw new Exception("@FillMandatory@ @M_Warehouse_ID@");
            }
            if (wh.GetM_WarehouseSource_ID() > 0)
            {
                _M_WareSource = "M_WarehouseSource_ID = " + Util.GetValueOfString(wh.GetM_WarehouseSource_ID());
            }
            else
            {
                _M_WareSource = null;
            }
            //
            PrepareTable();
            FillTable(wh);
            //
            if (_ReplenishmentCreate == null)
            {
                return("OK");
            }
            //
            MDocType dt = MDocType.Get(GetCtx(), _C_DocType_ID);

            if (!dt.GetDocBaseType().Equals(_ReplenishmentCreate))
            {
                throw new Exception("@C_DocType_ID@=" + dt.GetName() + " <> " + _ReplenishmentCreate);
            }
            //

            if (_ReplenishmentCreate.Equals("POO"))
            {
                CreatePO();
            }
            else if (_ReplenishmentCreate.Equals("POR"))
            {
                CreateRequisition();
            }
            else if (_ReplenishmentCreate.Equals("MMM"))
            {
                CreateMovements();
            }
            return(_info);
        }       //	doIt
Esempio n. 12
0
        public ActionResult Insert(MWarehouse viewModel, FormCollection formCollection)
        {
            RefAddress address = new RefAddress();

            address.AddressLine1 = formCollection["AddressLine1"];
            address.AddressLine2 = formCollection["AddressLine2"];
            address.AddressLine3 = formCollection["AddressLine3"];
            address.AddressPhone = formCollection["AddressPhone"];
            address.AddressCity  = formCollection["AddressCity"];
            address.SetAssignedIdTo(Guid.NewGuid().ToString());
            _refAddressRepository.Save(address);

            MWarehouse mWarehouseToInsert = new MWarehouse();

            TransferFormValuesTo(mWarehouseToInsert, viewModel);
            mWarehouseToInsert.EmployeeId   = _mEmployeeRepository.Get(formCollection["EmployeeId"]);
            mWarehouseToInsert.CostCenterId = _mCostCenterRepository.Get(formCollection["CostCenterId"]);
            mWarehouseToInsert.SetAssignedIdTo(viewModel.Id);
            mWarehouseToInsert.CreatedDate = DateTime.Now;
            mWarehouseToInsert.CreatedBy   = User.Identity.Name;
            mWarehouseToInsert.DataStatus  = EnumDataStatus.New.ToString();
            mWarehouseToInsert.AddressId   = address;
            _mWarehouseRepository.Save(mWarehouseToInsert);

            //save account persediaan barang
            MAccountRef accountRef = new MAccountRef();

            accountRef.SetAssignedIdTo(Guid.NewGuid().ToString());
            accountRef.ReferenceId    = mWarehouseToInsert.Id;
            accountRef.ReferenceTable = EnumReferenceTable.Warehouse.ToString();
            accountRef.ReferenceType  = EnumReferenceTable.Warehouse.ToString();
            accountRef.AccountId      = _mAccountRepository.Get(formCollection["AccountId"]);
            _mAccountRefRepository.Save(accountRef);

            //save account pemakaian barang
            accountRef = new MAccountRef();
            accountRef.SetAssignedIdTo(Guid.NewGuid().ToString());
            accountRef.ReferenceId    = mWarehouseToInsert.Id;
            accountRef.ReferenceTable = EnumReferenceTable.WarehouseUsing.ToString();
            accountRef.ReferenceType  = EnumReferenceTable.WarehouseUsing.ToString();
            accountRef.AccountId      = _mAccountRepository.Get(formCollection["UsingAccountId"]);
            _mAccountRefRepository.Save(accountRef);

            try
            {
                _mWarehouseRepository.DbContext.CommitChanges();
            }
            catch (Exception e)
            {
                _mWarehouseRepository.DbContext.RollbackTransaction();

                //throw e.GetBaseException();
                return(Content(e.GetBaseException().Message));
            }

            return(Content("success"));
        }
        public ActionResult Update(MWarehouse viewModel, FormCollection formCollection)
        {
            MWarehouse mWarehouseToUpdate = _mWarehouseRepository.Get(viewModel.Id);

            TransferFormValuesTo(mWarehouseToUpdate, viewModel);
            mWarehouseToUpdate.EmployeeId   = _mEmployeeRepository.Get(formCollection["EmployeeId"]);
            mWarehouseToUpdate.CostCenterId = _mCostCenterRepository.Get(formCollection["CostCenterId"]);
            mWarehouseToUpdate.ModifiedDate = DateTime.Now;
            mWarehouseToUpdate.ModifiedBy   = User.Identity.Name;
            mWarehouseToUpdate.DataStatus   = EnumDataStatus.Updated.ToString();

            mWarehouseToUpdate.AddressId.AddressLine1 = formCollection["AddressLine1"];
            mWarehouseToUpdate.AddressId.AddressLine1 = formCollection["AddressLine1"];
            mWarehouseToUpdate.AddressId.AddressLine2 = formCollection["AddressLine2"];
            mWarehouseToUpdate.AddressId.AddressLine3 = formCollection["AddressLine3"];
            mWarehouseToUpdate.AddressId.AddressPhone = formCollection["AddressPhone"];
            mWarehouseToUpdate.AddressId.AddressCity  = formCollection["AddressCity"];

            _mWarehouseRepository.Update(mWarehouseToUpdate);

            bool        isSave     = false;
            MAccountRef accountRef = GetAccountRef(mWarehouseToUpdate.Id);

            if (accountRef == null)
            {
                accountRef = new MAccountRef();
                accountRef.SetAssignedIdTo(Guid.NewGuid().ToString());
                isSave = true;
            }
            accountRef.ReferenceId    = mWarehouseToUpdate.Id;
            accountRef.ReferenceTable = EnumReferenceTable.Warehouse.ToString();
            accountRef.ReferenceType  = EnumReferenceTable.Warehouse.ToString();
            accountRef.AccountId      = _mAccountRepository.Get(formCollection["AccountId"]);
            if (isSave)
            {
                _mAccountRefRepository.Save(accountRef);
            }
            else
            {
                _mAccountRefRepository.Update(accountRef);
            }


            try
            {
                _mWarehouseRepository.DbContext.CommitChanges();
            }
            catch (Exception e)
            {
                _mWarehouseRepository.DbContext.RollbackTransaction();

                return(Content(e.GetBaseException().Message));
            }

            return(Content("success"));
        }
Esempio n. 14
0
        /// <summary>
        /// Create/Add to Inventory Line Query
        /// </summary>
        /// <param name="M_Locator_ID">locator</param>
        /// <param name="M_Product_ID">product</param>
        /// <param name="M_AttributeSetInstance_ID">asi</param>
        /// <param name="qtyOnHand">quantity</param>
        /// <param name="M_AttributeSet_ID">attribute set</param>
        /// <returns>lines added</returns>
        private string InsertInventoryLine(int M_Locator_ID, int M_Product_ID, int lineNo,
                                           int M_AttributeSetInstance_ID, Decimal qtyOnHand, int M_AttributeSet_ID)
        {
            MInventoryLine line           = new MInventoryLine(GetCtx(), 0, Get_Trx());
            int            line_ID        = DB.GetNextID(GetCtx(), "M_InventoryLine", Get_Trx());
            string         qry            = "select m_warehouse_id from m_locator where m_locator_id=" + M_Locator_ID;
            int            M_Warehouse_ID = Util.GetValueOfInt(DB.ExecuteScalar(qry, null, Get_Trx()));
            MWarehouse     wh             = MWarehouse.Get(GetCtx(), M_Warehouse_ID);

            if (wh.IsDisallowNegativeInv() == true)
            {
                if (qtyOnHand < 0)
                {
                    return("");
                }
            }
            MProduct product = MProduct.Get(GetCtx(), M_Product_ID);

            if (product != null)
            {
                int precision = product.GetUOMPrecision();
                if (Env.Signum(qtyOnHand) != 0)
                {
                    qtyOnHand = Decimal.Round(qtyOnHand, precision, MidpointRounding.AwayFromZero);
                }
            }
            string sql = @"INSERT INTO M_InventoryLine (AD_Client_ID, AD_Org_ID,IsActive, Created, CreatedBy, Updated, UpdatedBy, Line, M_Inventory_ID, M_InventoryLine_ID,  
                M_Locator_ID, M_Product_ID, M_AttributeSetInstance_ID, QtyBook, QtyCount, OpeningStock, AsOnDateCount, DifferenceQty, AdjustmentType";

            if (line.Get_ColumnIndex("C_UOM_ID") > 0)
            {
                sql += ", QtyEntered, C_UOM_ID";
            }

            if (line.Get_ColumnIndex("IsFromProcess") > 0)
            {
                sql += ",IsFromProcess";
            }
            sql += " ) VALUES ( " + _inventory.GetAD_Client_ID() + "," + _inventory.GetAD_Org_ID() + ",'Y'," + GlobalVariable.TO_DATE(DateTime.Now, true) + "," + 0 + "," +
                   GlobalVariable.TO_DATE(DateTime.Now, true) + "," + 0 + "," + lineNo + "," + _m_Inventory_ID + "," + line_ID + "," + M_Locator_ID + "," + M_Product_ID + "," +
                   M_AttributeSetInstance_ID + "," + qtyOnHand + "," + qtyOnHand + "," + qtyOnHand + "," + qtyOnHand + "," + 0 + ",'A'";

            if (line.Get_ColumnIndex("C_UOM_ID") > 0)
            {
                sql += "," + qtyOnHand + "," + product.GetC_UOM_ID();
            }

            if (line.Get_ColumnIndex("IsFromProcess") > 0)
            {
                sql += ",'Y'";
            }
            string insertQry = " BEGIN execute immediate('" + sql.Replace("'", "''") + ")'); exception when others then null; END;";

            return(insertQry);
        }
Esempio n. 15
0
        /// <summary>
        /// Get Default Locator ID
        /// </summary>
        /// <param name="fields">Warehouse ID</param>
        /// <returns>Default Locator ID</returns>
        /// <writer>Amit</writer>
        public JsonResult GetDefaultLocatorID(string fields)
        {
            string retJSON = "";

            if (Session["ctx"] != null)
            {
                VAdvantage.Utility.Ctx ctx = Session["ctx"] as Ctx;
                retJSON = JsonConvert.SerializeObject(MWarehouse.Get(ctx, Util.GetValueOfInt(fields)).GetDefaultM_Locator_ID());
            }
            return(Json(retJSON, JsonRequestBehavior.AllowGet));
        }
Esempio n. 16
0
        }       //	createPO

        /// <summary>
        /// Create Requisition
        /// </summary>
        private void CreateRequisition()
        {
            int    noReqs = 0;
            String info   = "";
            //
            MRequisition requisition = null;
            MWarehouse   wh          = null;

            X_T_Replenish[] replenishs = GetReplenish(_M_WareSource);
            for (int i = 0; i < replenishs.Length; i++)
            {
                X_T_Replenish replenish = replenishs[i];
                if (wh == null || wh.GetM_Warehouse_ID() != replenish.GetM_Warehouse_ID())
                {
                    wh = MWarehouse.Get(GetCtx(), replenish.GetM_Warehouse_ID());
                }
                //
                if (requisition == null ||
                    requisition.GetM_Warehouse_ID() != replenish.GetM_Warehouse_ID())
                {
                    requisition = new MRequisition(GetCtx(), 0, Get_TrxName());
                    requisition.SetAD_User_ID(GetAD_User_ID());
                    requisition.SetC_DocType_ID(_C_DocType_ID);
                    requisition.SetDescription(Msg.GetMsg(GetCtx(), "Replenishment"));
                    //	Set Org/WH
                    int _CountDTD001 = Util.GetValueOfInt(DB.ExecuteScalar("SELECT COUNT(AD_MODULEINFO_ID) FROM AD_MODULEINFO WHERE PREFIX='DTD001_'"));
                    if (_CountDTD001 > 0)
                    {
                        requisition.SetDTD001_MWarehouseSource_ID(wh.GetM_WarehouseSource_ID());
                    }
                    requisition.SetAD_Org_ID(wh.GetAD_Org_ID());
                    requisition.SetM_Warehouse_ID(wh.GetM_Warehouse_ID());

                    if (!requisition.Save())
                    {
                        return;
                    }
                    _DocNo = requisition.GetDocumentNo() + ","; //dtd
                    log.Fine(requisition.ToString());
                    noReqs++;
                    info += " - " + requisition.GetDocumentNo();
                }
                //
                MRequisitionLine line = new MRequisitionLine(requisition);
                line.SetM_Product_ID(replenish.GetM_Product_ID());
                line.SetC_BPartner_ID(replenish.GetC_BPartner_ID());
                line.SetQty(replenish.GetQtyToOrder());
                line.SetPrice();
                line.Save();
            }
            _DocNo = _DocNo.Substring(0, _DocNo.Length - 1);//dtd
            _info  = "#" + noReqs + info;
            log.Info(_info);
        }       //	createRequisition
Esempio n. 17
0
 public ActionResult InsertOrUpdate(MWarehouse viewModel, FormCollection formCollection)
 {
     if (formCollection["oper"].Equals("add"))
     {
         return(Insert(viewModel, formCollection));
     }
     else if (formCollection["oper"].Equals("edit"))
     {
         return(Update(viewModel, formCollection));
     }
     return(View());
 }
Esempio n. 18
0
        public IList <TTrans> GetByWarehouseStatusTransBy(MWarehouse warehouse, string transStatus, string transBy)
        {
            ICriteria criteria = Session.CreateCriteria(typeof(TTrans));

            criteria.Add(Expression.Eq("TransStatus", transStatus));
            criteria.Add(Expression.Eq("WarehouseId", warehouse));
            criteria.Add(Expression.Eq("TransBy", transBy));
            criteria.SetCacheable(true);
            IList <TTrans> list = criteria.List <TTrans>();

            return(list);
        }
Esempio n. 19
0
        public static ReportParamViewModel CreateReportParamViewModel(IMCostCenterRepository mCostCenterRepository, IMWarehouseRepository mWarehouseRepository, IMSupplierRepository mSupplierRepository, ITRecPeriodRepository tRecPeriodRepository, IMItemRepository mItemRepository)
        {
            ReportParamViewModel viewModel = new ReportParamViewModel();

            IList <MCostCenter> list       = mCostCenterRepository.GetAll();
            MCostCenter         costCenter = new MCostCenter();

            costCenter.CostCenterName = "-Semua Cost Center-";
            list.Insert(0, costCenter);
            viewModel.CostCenterList = new SelectList(list, "Id", "CostCenterName");

            IList <MWarehouse> listWarehouse = mWarehouseRepository.GetAll();
            MWarehouse         account       = new MWarehouse();

            account.WarehouseName = "-Semua Gudang-";
            listWarehouse.Insert(0, account);
            viewModel.WarehouseList = new SelectList(listWarehouse, "Id", "WarehouseName");

            IList <MSupplier> listSupplier = mSupplierRepository.GetAll();
            MSupplier         supplier     = new MSupplier();

            supplier.SupplierName = "-Semua Supplier-";
            listSupplier.Insert(0, supplier);
            viewModel.SupplierList = new SelectList(listSupplier, "Id", "SupplierName");

            IList <TRecPeriod> listRecPeriod = tRecPeriodRepository.GetAll();

            //TRecPeriod recPeriod = new TRecPeriod();
            //recPeriod.PeriodDesc = "-Pilih Period-";
            //listRecPeriod.Insert(0, recPeriod);
            viewModel.RecPeriodList = new SelectList(listRecPeriod, "Id", "PeriodDesc");

            IList <MItem> listItem = mItemRepository.GetAll();
            MItem         item     = new MItem();

            item.ItemName = "-Semua Item-";
            listItem.Insert(0, item);
            viewModel.ItemList = new SelectList(listItem, "Id", "ItemName");

            ArrayList arr = new ArrayList();

            for (int i = 1; i <= 5; i++)
            {
                var sel = new { Id = i };
                arr.Add(sel);
            }
            viewModel.ShiftNoList = new SelectList(arr, "Id", "Id");

            viewModel.DateFrom = DateTime.Today;
            viewModel.DateTo   = DateTime.Today;
            return(viewModel);
        }
Esempio n. 20
0
 public void Arrange()
 {
     MWarehouse.Arrange();
     foreach (ItemAgent ia in itemAgents)
     {
         ia.Empty();
     }
     for (int i = 0; i < MWarehouse.Items.Count; i++)
     {
         itemAgents[i].SetItem(MWarehouse.Items[i]);
     }
     UpdateUI();
 }
        public IList <TStockItem> GetByItemWarehouse(MItem item, MWarehouse warehouse)
        {
            ICriteria criteria = Session.CreateCriteria(typeof(TStockItem));

            if (item != null)
            {
                criteria.Add(Expression.Eq("ItemId", item));
            }
            if (warehouse != null)
            {
                criteria.Add(Expression.Eq("WarehouseId", warehouse));
            }
            return(criteria.List <TStockItem>());
        }
Esempio n. 22
0
        internal static bool CheckStock(MWarehouse mWarehouse, MItem item, decimal?qty)
        {
            ITStockItemRepository stockItemRepository = new TStockItemRepository();
            TStockItem            stockItem           = stockItemRepository.GetByItemAndWarehouse(item, mWarehouse);

            if (stockItem != null)
            {
                if (stockItem.ItemStock > qty)
                {
                    return(true);
                }
            }
            return(false);
        }
        /**
         * Creates a Work Order Transaction header for a given Work Order assumes locator is same locator as on Work Order
         * @param ctx
         * @param VAMFG_M_WorkOrder_ID Work Order
         * @param TxnType valid values are CI (Component Issue), CR (Component Return), RU (Resource Usage)
         * @param trx
         * @return MVAMFGMWrkOdrTransaction on success, null otherwise
         */
        public ViennaAdvantage.Model.MVAMFGMWrkOdrTransaction CreateWOTxn(Ctx ctx, int VAMFG_M_WorkOrder_ID, String TxnType, Trx trx)
        {
            ViennaAdvantage.Model.MVAMFGMWorkOrder wo = new ViennaAdvantage.Model.MVAMFGMWorkOrder(ctx, VAMFG_M_WorkOrder_ID, trx);
            if (wo == null || !wo.GetDocStatus().Equals(ViennaAdvantage.Model.MVAMFGMWorkOrder.DOCSTATUS_InProgress))
            {
                log.Severe("Work Order number not valid for transactions.");
                return(null);
            }

            log.Info("Getting Default Locator of Work Order Warehouse.");
            MLocator loc = MWarehouse.Get(ctx, wo.GetM_Warehouse_ID()).GetDefaultLocator();

            return(createWOTxn(ctx, VAMFG_M_WorkOrder_ID, TxnType, 0, loc.GetM_Locator_ID(), Decimal.Zero, trx));
        }
Esempio n. 24
0
        /// <summary>
        /// Create PO's
        /// </summary>
        private void CreatePO()
        {
            int    noOrders = 0;
            String info     = "";
            //
            MOrder     order = null;
            MWarehouse wh    = null;

            X_T_Replenish[] replenishs = GetReplenish(_M_WareSource);
            for (int i = 0; i < replenishs.Length; i++)
            {
                X_T_Replenish replenish = replenishs[i];
                if (wh == null || wh.GetM_Warehouse_ID() != replenish.GetM_Warehouse_ID())
                {
                    wh = MWarehouse.Get(GetCtx(), replenish.GetM_Warehouse_ID());
                }
                //
                if (order == null ||
                    order.GetC_BPartner_ID() != replenish.GetC_BPartner_ID() ||
                    order.GetM_Warehouse_ID() != replenish.GetM_Warehouse_ID())
                {
                    order = new MOrder(GetCtx(), 0, Get_TrxName());
                    order.SetIsSOTrx(false);
                    order.SetC_DocTypeTarget_ID(_C_DocType_ID);
                    MBPartner bp = new MBPartner(GetCtx(), replenish.GetC_BPartner_ID(), Get_TrxName());
                    order.SetBPartner(bp);
                    order.SetSalesRep_ID(GetAD_User_ID());
                    order.SetDescription(Msg.GetMsg(GetCtx(), "Replenishment"));
                    //	Set Org/WH
                    order.SetAD_Org_ID(wh.GetAD_Org_ID());
                    order.SetM_Warehouse_ID(wh.GetM_Warehouse_ID());

                    if (!order.Save())
                    {
                        return;
                    }
                    log.Fine(order.ToString());
                    noOrders++;
                    info += " - " + order.GetDocumentNo();
                }
                MOrderLine line = new MOrderLine(order);
                line.SetM_Product_ID(replenish.GetM_Product_ID());
                line.SetQty(replenish.GetQtyToOrder());
                line.SetPrice();
                line.Save();
            }
            _info = "#" + noOrders + info;
            log.Info(_info);
        }       //	createPO
Esempio n. 25
0
        /// <summary>
        /// GetWarehouse
        /// </summary>
        /// <param name="ctx"></param>
        /// <param name="fields"></param>
        /// <returns></returns>
        public Dictionary <string, string> GetWarehouse(Ctx ctx, string fields)
        {
            string[] paramValue = fields.Split(',');
            int      M_Warehouse_ID;

            //Assign parameter value
            M_Warehouse_ID = Util.GetValueOfInt(paramValue[0].ToString());
            //Assign parameter value

            MWarehouse wh = MWarehouse.Get(ctx, M_Warehouse_ID);
            Dictionary <string, string> result = new Dictionary <string, string>();

            result["M_Locator_ID"] = wh.GetDefaultM_Locator_ID().ToString();
            return(result);
        }
Esempio n. 26
0
        private ActionResult GetTotalQty(string itemId, string warehouseId, EnumTransactionStatus transactionStatus)
        {
            if (!string.IsNullOrEmpty(itemId) && !string.IsNullOrEmpty(warehouseId))
            {
                MItem      mItem     = _mItemRepository.Get(itemId);
                MWarehouse warehouse = _mWarehouseRepository.Get(warehouseId);
                decimal?   totalUsed = _tTransDetRepository.GetTotalUsed(mItem, warehouse, null, null, transactionStatus.ToString());
                if (totalUsed.HasValue)
                {
                    return(Content(totalUsed.Value.ToString(Helper.CommonHelper.NumberFormat)));
                }
            }

            return(Content("0"));
        }
Esempio n. 27
0
        public decimal?GetTotalUsed(MItem item, MWarehouse warehouse, DateTime?dateFrom, DateTime?dateTo, string transStatus)
        {
            StringBuilder sql = new StringBuilder();

            sql.AppendLine(
                @"   select sum(det.TransDetQty)
                                from TTransDet as det
                                    left outer join det.TransId trans
                                where det.DataStatus <> :dataStatus 
                                    and  trans.TransStatus = :TransStatus ");
            if (item != null)
            {
                sql.AppendLine(@"   and det.ItemId = :item");
            }
            if (warehouse != null)
            {
                sql.AppendLine(@"   and trans.WarehouseId = :warehouse");
            }
            if (dateFrom.HasValue && dateTo.HasValue)
            {
                sql.AppendLine(@"   and trans.TransDate between :dateFrom and :dateTo ");
            }

            IQuery q = Session.CreateQuery(sql.ToString());

            q.SetString("dataStatus", EnumDataStatus.Deleted.ToString());
            q.SetString("TransStatus", transStatus);
            if (item != null)
            {
                q.SetEntity("item", item);
            }
            if (warehouse != null)
            {
                q.SetEntity("warehouse", warehouse);
            }
            if (dateFrom.HasValue && dateTo.HasValue)
            {
                q.SetDateTime("dateFrom", dateFrom.Value);
                q.SetDateTime("dateTo", dateTo.Value);
            }

            if (q.UniqueResult() != null)
            {
                return((decimal)q.UniqueResult());
            }
            return(null);
        }
Esempio n. 28
0
        public virtual ActionResult GetListTrans(string transStatus, string warehouseId, string transBy)
        {
            IList <TTrans> transes;
            //if (!string.IsNullOrEmpty(transStatus))
            MWarehouse warehouse = _mWarehouseRepository.Get(warehouseId);
            {
                transes = _tTransRepository.GetByWarehouseStatusTransBy(warehouse, transStatus, transBy);
            }

            StringBuilder sb = new StringBuilder();

            sb.AppendFormat("{0}:{1}", string.Empty, "-Pilih Faktur-");
            foreach (TTrans trans in transes)
            {
                sb.AppendFormat(";{0}:{1}", trans.Id, trans.TransFactur);
            }
            return(Content(sb.ToString()));
        }
Esempio n. 29
0
        /// <summary>
        /// Check Qty Availablity in warehouse when Disallow Negative Inventory = true
        /// </summary>
        /// <param name="ctx">context</param>
        /// <param name="M_Warehouse_ID">warehouse refernce - for checking disallow negative inventory or not</param>
        /// <param name="M_Locator_ID">locator ref - in which locator we have to check stock</param>
        /// <param name="M_Product_ID">product ref -- to which product, need to check stock</param>
        /// <param name="M_AttributeSetInstance_ID">AttributeSetInstance -- to which ASI, need to check stock</param>
        /// <param name="MovementQty">qty to be impacted</param>
        /// <param name="trxName">system transaction</param>
        /// <returns>TRUE/False</returns>
        private bool CheckQtyAvailablity(Ctx ctx, int M_Warehouse_ID, int M_Locator_ID, int M_Product_ID, int M_AttributeSetInstance_ID, Decimal?MovementQty, Trx trxName)
        {
            MWarehouse wh      = MWarehouse.Get(ctx, M_Warehouse_ID);
            MProduct   product = null;

            if (wh.IsDisallowNegativeInv() && M_Product_ID > 0)
            {
                product = MProduct.Get(ctx, M_Product_ID);
                string qry = "SELECT NVL(SUM(NVL(QtyOnHand,0)),0) AS QtyOnHand FROM M_Storage where m_locator_id=" + M_Locator_ID + @" and m_product_id=" + M_Product_ID;
                qry += " AND NVL(M_AttributeSetInstance_ID, 0) =" + M_AttributeSetInstance_ID;
                Decimal?OnHandQty = Convert.ToDecimal(DB.ExecuteScalar(qry, null, trxName));
                if (OnHandQty + MovementQty < 0)
                {
                    log.SaveError("Info", product.GetName() + ", " + Msg.GetMsg(GetCtx(), "VIS_InsufficientQty") + OnHandQty);
                    return(false);
                }
            }
            return(true);
        }
Esempio n. 30
0
        }       //	createRequisition

        /// <summary>
        /// Get Locator_ID
        /// </summary>
        /// <param name="product"> product </param>
        /// <param name="wh">warehouse</param>
        /// <returns>locator with highest priority</returns>
        private int GetLocator_ID(MProduct product, MWarehouse wh)
        {
            int M_Locator_ID = MProductLocator.GetFirstM_Locator_ID(product, wh.GetM_Warehouse_ID());

            /**
             * MLocator[] locators = MProductLocator.getLocators (product, wh.getM_Warehouse_ID());
             * for (int i = 0; i < locators.length; i++)
             * {
             *  MLocator locator = locators[i];
             *  //	Storage/capacity restrictions come here
             *  return locator.getM_Locator_ID();
             * }
             * //	default
             **/
            if (M_Locator_ID == 0)
            {
                M_Locator_ID = wh.GetDefaultM_Locator_ID();
            }
            return(M_Locator_ID);
        }       //	getLocator_ID