Exemple #1
0
        private ErrorItem CheckCanRunProcess()
        {
            try
            {
                // get year month
                InventoryPeriodBIZ bizPeriod = new InventoryPeriodBIZ();
                InventoryPeriodDTO dtoPeriod = bizPeriod.LoadCurrentPeriod();


                if (!dtoPeriod.YEAR_MONTH.StrongValue.Equals(Convert.ToDateTime(dtpStockTakingDate.Value).ToString("yyyyMM")))
                {
                    return(new ErrorItem(null, TKPMessages.eValidate.VLM0084.ToString(), new[] { "" }));
                }

                if (Convert.ToDateTime(dtpLastSTKDate.DateValue) > Convert.ToDateTime(dtpStockTakingDate.Value))
                {
                    return(new ErrorItem(null, TKPMessages.eValidate.VLM0084.ToString(), new[] { "" }));
                }
            }
            catch (Exception ex)
            {
                MessageDialog.ShowBusiness(this, ex.Message);
            }

            return(null);
        }
Exemple #2
0
        private void InitializeScreen()
        {
            InitializeSpread();
            InitialFormat();

            //txt.KeyPress += CommonLib.CtrlUtil.SetRestrictKeyInput;
            //txtSearch.KeyPress += CommonLib.CtrlUtil.SetRestrictKeyInput;
            //txtSearch.TextChanged += CommonLib.CtrlUtil.FilterRestrictChar;

            dtPeriodBegin.KeyPress += CtrlUtil.SetNextControl;
            dtPeriodEnd.KeyPress   += CtrlUtil.SetNextControl;

            dtPeriodBegin.Format = Common.CurrentUserInfomation.DateFormatString;
            dtPeriodEnd.Format   = Common.CurrentUserInfomation.DateFormatString;

            CtrlUtil.EnabledControl(false, txtAmount, txtAmountTHB, txtQty);

            InventoryPeriodBIZ biz = new InventoryPeriodBIZ();
            InventoryPeriodDTO dto = biz.LoadCurrentPeriodWithQueryRange();

            if (dto != null)
            {
                dtPeriodBegin.Value = dto.PERIOD_BEGIN_DATE.StrongValue;
                dtPeriodEnd.Value   = dto.PERIOD_END_DATE.StrongValue;
            }
        }
Exemple #3
0
        public ErrorItem CheckIssueDate(NZDateTime IssueDate)
        {
            if (IssueDate.IsNull)
            {
                return(new ErrorItem(IssueDate.Owner, TKPMessages.eValidate.VLM0031.ToString()));
            }

            InventoryPeriodBIZ biz = new InventoryPeriodBIZ();
            //NZString YearMonth = new NZString(IssueDate.Owner, IssueDate.StrongValue.ToString("yyyyMM"));
            InventoryPeriodDTO dto = biz.LoadCurrentPeriod();

            if (dto == null)
            {
                return(new ErrorItem(IssueDate.Owner, TKPMessages.eValidate.VLM0032.ToString()));
            }

            // edit by tar
            // AddMonths(1) to period end date
            if (dto.PERIOD_BEGIN_DATE.StrongValue.Date > IssueDate.StrongValue.Date ||
                dto.PERIOD_END_DATE.StrongValue.AddMonths(1).Date < IssueDate.StrongValue.Date)
            {
                return(new ErrorItem(IssueDate.Owner, TKPMessages.eValidate.VLM0032.ToString()));
            }
            return(null);
        }
Exemple #4
0
        public ErrorItem CheckWorkResultDate(NZDateTime date)
        {
            if (date.IsNull)
            {
                return(new ErrorItem(date.Owner, TKPMessages.eValidate.VLM0046.ToString()));
            }

            InventoryPeriodBIZ biz = new InventoryPeriodBIZ();
            InventoryPeriodDTO dto = biz.LoadCurrentPeriod();

            if (dto == null)
            {
                return(new ErrorItem(date.Owner, TKPMessages.eValidate.VLM0047.ToString()));
            }

            // edit by tar
            // AddMonths(1) to period end date
            if (date.StrongValue.Date.CompareTo(dto.PERIOD_BEGIN_DATE.StrongValue.Date) < 0 ||
                date.StrongValue.Date.CompareTo(dto.PERIOD_END_DATE.StrongValue.AddMonths(1).Date) > 0)
            {
                return(new ErrorItem(date.Owner, TKPMessages.eValidate.VLM0047.ToString()));
            }

            return(null);
        }
Exemple #5
0
        /// <summary>
        /// Update record by using the table's primary key.
        /// </summary>
        /// <param name="database"></param>
        /// <param name="data">Data which to update.</param>
        /// <param name="oldYEAR_MONTH">Old Key #1</param>
        /// <returns></returns>
        public int UpdateWithPK(Database database, InventoryPeriodDTO data, NZString oldYEAR_MONTH)
        {
            Database db = UseDatabase(database);

            StringBuilder sb = new StringBuilder();

            #region SQL Statement
            sb.AppendLine(" UPDATE " + data.TableName);
            sb.AppendLine(" SET ");
            sb.AppendLine("  " + InventoryPeriodDTO.eColumns.YEAR_MONTH + "=:YEAR_MONTH");
            sb.AppendLine("  ," + InventoryPeriodDTO.eColumns.PERIOD_BEGIN_DATE + "=:PERIOD_BEGIN_DATE");
            sb.AppendLine("  ," + InventoryPeriodDTO.eColumns.PERIOD_END_DATE + "=:PERIOD_END_DATE");
            sb.AppendLine("  ," + InventoryPeriodDTO.eColumns.UPD_BY + "=:UPD_BY");
            sb.AppendLine("  ," + InventoryPeriodDTO.eColumns.UPD_DATE + "=GETDATE()");
            sb.AppendLine("  ," + InventoryPeriodDTO.eColumns.UPD_MACHINE + "=:UPD_MACHINE");
            sb.AppendLine(" WHERE ");
            sb.AppendLine("  " + InventoryPeriodDTO.eColumns.YEAR_MONTH + "=:oldYEAR_MONTH");
            #endregion

            DataRequest req = new DataRequest(sb.ToString());
            #region Parameters
            req.Parameters.Add("YEAR_MONTH", DataType.NVarChar, data.YEAR_MONTH.Value);
            req.Parameters.Add("PERIOD_BEGIN_DATE", DataType.DateTime, data.PERIOD_BEGIN_DATE.Value);
            req.Parameters.Add("PERIOD_END_DATE", DataType.DateTime, data.PERIOD_END_DATE.Value);
            req.Parameters.Add("UPD_BY", DataType.NVarChar, data.UPD_BY.Value);
            req.Parameters.Add("UPD_MACHINE", DataType.NVarChar, data.UPD_MACHINE.Value);
            req.Parameters.Add("oldYEAR_MONTH", DataType.NVarChar, oldYEAR_MONTH.Value);
            #endregion

            return(db.ExecuteNonQuery(req));
        }
Exemple #6
0
        private void InitialScreen()
        {
            InitailSpread();
            InitialComboBox();

            tsbNew.Visible       = false;
            tsSeperator1.Visible = false;
            //txtSearch.KeyPress += CommonLib.CtrlUtil.SetRestrictKeyInput;
            //txtSearch.KeyUp += CommonLib.CtrlUtil.FilterRestrictChar;

            dtPeriodBegin.Format = Common.CurrentUserInfomation.DateFormatString;
            dtPeriodEnd.Format   = Common.CurrentUserInfomation.DateFormatString;

            //NZString YearMonth = new NZString(null, Common.GetDatabaseDateTime().ToString("yyyyMM"));
            InventoryPeriodBIZ biz = new InventoryPeriodBIZ();
            InventoryPeriodDTO dto = biz.LoadCurrentPeriod();

            if (dto != null)
            {
                dtPeriodBegin.Value = dto.PERIOD_BEGIN_DATE.StrongValue;
                dtPeriodEnd.Value   = dto.PERIOD_END_DATE.StrongValue;
            }
            LoadData();
            dtPeriodBegin.Focus();
        }
Exemple #7
0
        private void InitialScreen()
        {
            picWaiting.Visible = false;
            switch (CommonLib.Common.CurrentUserInfomation.DateFormat)
            {
            case eDateFormat.DMY:
            case eDateFormat.MDY:
                dtInventoryMonth.Format = "MM/yyyy";
                break;

            case eDateFormat.YMD:
                dtInventoryMonth.Format = "yyyy/MM";
                break;
            }


            InventoryPeriodBIZ biz = new InventoryPeriodBIZ();
            InventoryPeriodDTO dto = biz.LoadCurrentPeriod();

            DateTime currentYearMonth = new DateTime(
                Convert.ToInt32(dto.YEAR_MONTH.StrongValue.Substring(0, 4)),
                Convert.ToInt32(dto.YEAR_MONTH.StrongValue.Substring(4, 2)), 1);

            dtInventoryMonth.DateValue = currentYearMonth;

            CommonLib.CtrlUtil.EnabledControl(false, txtInfo, dtInventoryMonth);
        }
Exemple #8
0
        private void LoadDefaultPeriod()
        {
            InventoryPeriodBIZ biz = new InventoryPeriodBIZ();
            InventoryPeriodDTO dto = biz.LoadCurrentPeriod();

            dtMonth.NZValue = dto.PERIOD_BEGIN_DATE;
        }
Exemple #9
0
        private void LoadDefaultPeriod()
        {
            InventoryPeriodBIZ biz = new InventoryPeriodBIZ();
            InventoryPeriodDTO dto = biz.LoadCurrentPeriodWithQueryRange();

            dtPeriodBegin.NZValue = dto.PERIOD_BEGIN_DATE;
            dtPeriodEnd.NZValue   = dto.PERIOD_END_DATE;
        }
Exemple #10
0
        private void LoadItemData(string keyFilter)
        {
            //set ให้ show column ทั้งหมด
            shtView.Columns[0, shtView.Columns.Count - 1].Visible = true;


            InventoryPeriodBIZ inventoryPeriodBIZ = new InventoryPeriodBIZ();
            InventoryPeriodDTO inventoryPeriodDTO = inventoryPeriodBIZ.LoadCurrentPeriod();

            DataTable    dt           = null;
            InventoryBIZ inventoryBIZ = new InventoryBIZ();

            if (m_searchType == eSearchType.All)
            {
                dt = inventoryBIZ.LoadAllLotNo(inventoryPeriodDTO.YEAR_MONTH);
                shtView.Columns[(int)eColView.ON_HAND_QTY].Visible = false;
            }
            else if (m_searchType == eSearchType.DependOnItemAndLocation)
            {
                dt = inventoryBIZ.LoadAllLotNoByItemAndLocation(inventoryPeriodDTO.YEAR_MONTH, m_itemCode, m_locationCode);
            }
            else
            {
                dt = inventoryBIZ.LoadAllLotNo(inventoryPeriodDTO.YEAR_MONTH);
                shtView.Columns[(int)eColView.ON_HAND_QTY].Visible = false;
            }

            DataTable dtView = dt.Clone();

            if (keyFilter != string.Empty)
            {
                //                string filterString = string.Format(@"
                //                                                {1} LIKE '%{0}%'
                //                                                OR {2} LIKE '%{0}%'
                //                                                ", keyFilter, eColView.LOT_NO, eColView.PACK_NO);

                string filterString = FilterStringUtil.GetFilterstring(dtView, keyFilter);

                //get only the rows you want
                DataRow[] results = dt.Select(filterString);

                //populate new destination table
                foreach (DataRow dr in results)
                {
                    dtView.ImportRow(dr);
                }
            }
            else
            {
                foreach (DataRow dr in dt.Rows)
                {
                    dtView.ImportRow(dr);
                }
            }
            fpView.DataSource = dtView;
        }
Exemple #11
0
        /// <summary>
        /// Check exist before manipulate data. If found record will update data. Otherwise insert new data.
        /// </summary>
        /// <param name="database"></param>
        /// <param name="data"></param>
        /// <returns></returns>
        public int AddNewOrUpdate(Database database, InventoryPeriodDTO data)
        {
            Database db = UseDatabase(database);

            if (Exist(database, data.YEAR_MONTH))
            {
                return(UpdateWithoutPK(db, data));
            }

            return(AddNew(db, data));
        }
Exemple #12
0
        public int UpdatePeriod(InventoryPeriodDTO dto)
        {
            // check exist before add new
            InventoryPeriodValidator val = new InventoryPeriodValidator();

            val.ValidateBeforeSaveUpdate(dto);
            InventoryPeriodDAO        dao = new InventoryPeriodDAO(CommonLib.Common.CurrentDatabase);
            List <InventoryPeriodDTO> dtoInvPeriodList = dao.LoadAll(null, true);

            return(dao.UpdateWithPK(null, dto, dtoInvPeriodList[0].YEAR_MONTH));
        }
Exemple #13
0
        public ErrorItem CheckCurrentPeriod(NZString YearMonth)
        {
            InventoryPeriodBIZ biz = new InventoryPeriodBIZ();
            InventoryPeriodDTO dto = biz.LoadCurrentPeriod();

            if (dto.YEAR_MONTH.StrongValue != YearMonth.StrongValue)
            {
                return(new ErrorItem(null, TKPMessages.eValidate.VLM0078.ToString()));
            }
            return(null);
        }
Exemple #14
0
        private NZString GetYearMonth(DateTime?dtDate)
        {
            InventoryPeriodBIZ biz = new InventoryPeriodBIZ();
            InventoryPeriodDTO dto = biz.LoadPeriodByDate(new NZDateTime(null, dtDate.Value));

            if (dto == null)
            {
                return(new NZString(null, dtDate.Value.ToString("yyyyMM")));
            }

            return(dto.YEAR_MONTH);
        }
Exemple #15
0
        private void TRN010_Load(object sender, EventArgs e)
        {
            InitializeScreen();

            InventoryPeriodBIZ biz = new InventoryPeriodBIZ();
            InventoryPeriodDTO dto = biz.LoadCurrentPeriodWithQueryRange();

            dtPeriodBegin.NZValue = dto.PERIOD_BEGIN_DATE;
            dtPeriodEnd.NZValue   = dto.PERIOD_END_DATE;

            LoadData(dto.PERIOD_BEGIN_DATE, dto.PERIOD_END_DATE);
        }
Exemple #16
0
        public AdjustmentEntryUIDM ConvertDTOToUIDM(InventoryTransactionDTO dto)
        {
            AdjustmentEntryUIDM model = new AdjustmentEntryUIDM();

            model.TransactionID = dto.TRANS_ID;
            model.AdjustNo      = dto.SLIP_NO;
            model.AdjustDate    = dto.TRANS_DATE;
            model.AdjustType    = dto.IN_OUT_CLS;
            model.ItemCode      = dto.ITEM_CD;

            model.StoredLoc     = dto.LOC_CD;
            model.LotNo         = dto.LOT_NO;
            model.PackNo        = dto.PACK_NO;
            model.FGNo          = dto.FG_NO;
            model.ExternalLotNo = dto.EXTERNAL_LOT_NO;
            model.AdjustWeight  = dto.WEIGHT;
            model.AdjustQty     = dto.QTY;
            model.Remark        = dto.REMARK;
            model.ReasonCode    = dto.TRAN_SUB_CLS;

            //== Get Item Description.
            ItemBIZ biz     = new ItemBIZ();
            ItemDTO itemDTO = biz.LoadItem(dto.ITEM_CD);

            model.ItemDesc = itemDTO.SHORT_NAME;

            //-- Get Customer Name
            DealingBIZ bizCust = new DealingBIZ();
            DealingDTO dtoCust = bizCust.LoadLocation(itemDTO.CUSTOMER_CD);

            model.CustomerName = dtoCust.LOC_DESC;

            //== Get OnHand.
            InventoryBIZ       inventoryBIZ       = new InventoryBIZ();
            InventoryPeriodBIZ inventoryPeriodBIZ = new InventoryPeriodBIZ();

            InventoryPeriodDTO inventoryPeriodDTO = inventoryPeriodBIZ.LoadCurrentPeriod();
            InventoryOnhandDTO inventoryOnhandDTO = inventoryBIZ.LoadInventoryOnHandByDate(inventoryPeriodDTO.YEAR_MONTH, dto.TRANS_DATE, dto.ITEM_CD, dto.LOC_CD, dto.LOT_NO, dto.PACK_NO);

            if (inventoryOnhandDTO == null)
            {
                model.OnHandQty.Value = 0;
            }
            else
            {
                model.OnHandQty = inventoryOnhandDTO.ON_HAND_QTY;
            }

            return(model);
        }
Exemple #17
0
        private void RollingStart(eMonthlyCloseProcess ProcessType)
        {
            try
            {
                NZString YearMonth           = Convert.ToDateTime(dtInventoryMonth.DateValue).ToString("yyyyMM").ToNZString();
                InventoryPeriodValidator val = new InventoryPeriodValidator();
                //val.CheckBeforeRunProcess(ProcessType);
                ErrorItem err = val.CheckBeforeRunClosingProcess(ProcessType, YearMonth);

                if (err != null)
                {
                    MessageDialogResult cf = MessageDialog.ShowConfirmation(this, EVOFramework.Message.LoadMessage(TKPMessages.eValidate.VLM0076.ToString()).MessageDescription, MessageDialogButtons.YesNo);
                    if (cf != MessageDialogResult.Yes)
                    {
                        return;
                    }
                }

                MessageDialogResult dr = MessageDialog.ShowConfirmation(this, new EVOFramework.Message(TKPMessages.eConfirm.CFM0005.ToString()).MessageDescription, MessageDialogButtons.YesNo);
                if (dr == MessageDialogResult.Yes)
                {
                    if (RunProcess(ProcessType))
                    {
                        MessageDialog.ShowBusiness(this, EVOFramework.Message.LoadMessage(SystemMaintenance.Messages.eInformation.INF9003.ToString()));
                    }

                    InventoryPeriodBIZ biz = new InventoryPeriodBIZ();
                    InventoryPeriodDTO dto = biz.LoadCurrentPeriod();

                    DateTime currentYearMonth = new DateTime(
                        Convert.ToInt32(dto.YEAR_MONTH.StrongValue.Substring(0, 4)),
                        Convert.ToInt32(dto.YEAR_MONTH.StrongValue.Substring(4, 2)), 1);

                    dtInventoryMonth.DateValue = currentYearMonth;
                }
            }
            catch (ValidateException ex)
            {
                MessageDialog.ShowBusiness(this, ex.ErrorResults[0].Message);
            }
            catch (BusinessException ex)
            {
                MessageDialog.ShowBusiness(this, ex.Error.Message);
            }
            catch (Exception ex)
            {
                MessageDialog.ShowBusiness(this, ex.Message);
            }
        }
Exemple #18
0
        /// <summary>
        /// check ว่ามีการทำ inventory move หรือยัง
        /// </summary>
        /// <returns></returns>
        public ErrorItem CheckInventoryCurrentPeriod()
        {
            InventoryPeriodBIZ bizInventoryPeriod = new InventoryPeriodBIZ();
            InventoryPeriodDTO dtoInventoryPeriod = bizInventoryPeriod.LoadCurrentPeriod();


            if (IsInDateRange(dtoInventoryPeriod.PERIOD_BEGIN_DATE.StrongValue,
                              dtoInventoryPeriod.PERIOD_END_DATE.StrongValue
                              , CommonLib.Common.GetDatabaseDateTime()))
            {
                return(null);
            }
            return(new ErrorItem(null, SystemMaintenance.Messages.eInformation.INF9005.ToString()));
            //return false;
        }
Exemple #19
0
        /// <summary>
        /// Check if date is between date range of current period?
        /// </summary>
        /// <param name="checkDate"></param>
        /// <returns></returns>
        public ErrorItem DateIsInCurrentPeriod(DateTime checkDate)
        {
            InventoryPeriodBIZ bizInventoryPeriod = new InventoryPeriodBIZ();
            InventoryPeriodDTO dtoInventoryPeriod = bizInventoryPeriod.LoadCurrentPeriod();

            if (dtoInventoryPeriod.PERIOD_BEGIN_DATE.StrongValue > checkDate.Date || dtoInventoryPeriod.PERIOD_END_DATE.StrongValue.AddMonths(1).Date < checkDate.Date)
            {
                //return new ErrorItem(null, Message.LoadMessage(TKPMessages.eValidate.VLM0075.ToString()).MessageDescription);
                return(new ErrorItem(null, TKPMessages.eValidate.VLM0075.ToString()));
            }
            //IsInDateRange(dtoInventoryPeriod.PERIOD_BEGIN_DATE.StrongValue,
            //               dtoInventoryPeriod.PERIOD_END_DATE.StrongValue.AddMonths(1)
            //               , checkDate)
            return(null);
        }
Exemple #20
0
        /// <summary>
        /// Load lookup for lot number by item and location code
        /// If these lot no has no onhand qty will be supressed.
        /// </summary>
        /// <param name="ItemCD"></param>
        /// <param name="LocationCD"></param>
        /// <returns></returns>
        public LookupData LoadLookupLotNo(NZString ItemCD, NZString LocationCD, NZString YearMonth)
        {
            InventoryOnhandDAO dao = new InventoryOnhandDAO(CommonLib.Common.CurrentDatabase);
            InventoryPeriodBIZ inventoryPeriodBIZ = new InventoryPeriodBIZ();
            InventoryPeriodDTO inventoryPeriodDTO = inventoryPeriodBIZ.LoadCurrentPeriod();

            List <InventoryOnhandDTO> listOnhand = dao.LoadLotNoWithHasOnhandQty(null, YearMonth, inventoryPeriodDTO.YEAR_MONTH, ItemCD, LocationCD);
            DataTable dt = DTOUtility.ConvertListToDataTable(listOnhand);

            LookupData lookupData = new LookupData(dt,
                                                   InventoryOnhandDTO.eColumns.LOT_NO.ToString(),
                                                   InventoryOnhandDTO.eColumns.LOT_NO.ToString());

            return(lookupData);
        }
Exemple #21
0
        internal int UpdatePeriod(NZString YearMonth, NZDateTime PeriodBegin, NZDateTime PeriodEnd)
        {
            InventoryPeriodBIZ biz = new InventoryPeriodBIZ();
            InventoryPeriodDTO dto = new InventoryPeriodDTO();

            dto.YEAR_MONTH        = YearMonth;
            dto.PERIOD_BEGIN_DATE = PeriodBegin;
            dto.PERIOD_END_DATE   = PeriodEnd;
            dto.CRT_BY            = CommonLib.Common.CurrentUserInfomation.UserCD;
            dto.CRT_DATE.Value    = CommonLib.Common.GetDatabaseDateTime();
            dto.CRT_MACHINE       = CommonLib.Common.CurrentUserInfomation.Machine;
            dto.UPD_BY            = CommonLib.Common.CurrentUserInfomation.UserCD;
            dto.UPD_DATE.Value    = CommonLib.Common.GetDatabaseDateTime();
            dto.UPD_MACHINE       = CommonLib.Common.CurrentUserInfomation.Machine;
            return(biz.UpdatePeriod(dto));
        }
Exemple #22
0
        //public ErrorItem CheckInputLot(NZString itemCode, NZString lotNo) {
        //    ItemBIZ biz = new ItemBIZ();
        //    ItemDTO dto = biz.LoadItem(itemCode);

        //    switch (DataDefine.ConvertValue2Enum<DataDefine.eLOT_CONTROL_CLS>(dto.LOT_CONTROL_CLS.StrongValue)) {
        //        case DataDefine.eLOT_CONTROL_CLS.No:
        //            if (!lotNo.IsNull || lotNo.StrongValue != string.Empty) {
        //                return new ErrorItem(lotNo.Owner, TKPMessages.eValidate.VLM0065.ToString());
        //            }
        //            break;
        //        case DataDefine.eLOT_CONTROL_CLS.Yes:
        //            if (lotNo.IsNull || lotNo.StrongValue.Trim() == String.Empty) {
        //                return new ErrorItem(lotNo.Owner, TKPMessages.eValidate.VLM0050.ToString(), new object[] { itemCode.StrongValue });
        //            }
        //            break;
        //    }


        //    return null;
        //}
        #endregion

        public ErrorItem CheckAdjustDateIsInCurrentPeriod(NZDateTime adjustDate)
        {
            InventoryPeriodDAO inventoryPeriodDAO = new InventoryPeriodDAO(CommonLib.Common.CurrentDatabase);
            InventoryPeriodDTO inventoryPeriodDTO = inventoryPeriodDAO.LoadCurrentYearMonth(null);

            if (inventoryPeriodDTO == null)
            {
                return(new ErrorItem(adjustDate.Owner, TKPMessages.eValidate.VLM0034.ToString()));
            }
            if (inventoryPeriodDTO.PERIOD_BEGIN_DATE.StrongValue.Date > adjustDate.StrongValue.Date ||
                inventoryPeriodDTO.PERIOD_END_DATE.StrongValue.AddMonths(1).Date < adjustDate.StrongValue.Date)
            {
                return(new ErrorItem(adjustDate.Owner, TKPMessages.eValidate.VLM0034.ToString()));
            }
            return(null);
        }
Exemple #23
0
        /// <summary>
        /// Explosion BOM for retrieve list child items of specific ITEM_CD on level one.
        /// </summary>
        /// <param name="ITEM_CD">Parent Item Code which want to explosion child BOM.</param>
        /// <param name="ORDER_LOC">Location of order.</param>
        /// <param name="QTY">Quantity of work result.</param>
        /// <returns>List of WorkResultEntryViewDTO</returns>
        public List <WorkResultEntryViewDTO> LoadConsumptionListByExplosionBOM(Database database, NZString ITEM_CD, NZString ORDER_LOC, NZDecimal QTY)
        {
            Database      db = UseDatabase(database);
            StringBuilder sb = new StringBuilder();

            InventoryPeriodDAO periodDao = new InventoryPeriodDAO(db);
            InventoryPeriodDTO periodDto = periodDao.LoadCurrentYearMonth(null);

            #region SQL Statement

            //sb.AppendLine(" SELECT T.*, T.REQUEST_QTY " + WorkResultEntryViewDTO.eColumns.CONSUMPTION_QTY);
            //sb.AppendLine(" FROM ( ");
            //sb.AppendLine(" SELECT ");
            //sb.AppendLine("   T_BOM.LOWER_ITEM_CD     " + WorkResultEntryViewDTO.eColumns.ITEM_CD);
            //sb.AppendLine("   ,L_ITM.LOT_CONTROL_CLS " + WorkResultEntryViewDTO.eColumns.LOT_CONTROL_CLS);
            //sb.AppendLine("   ,:ORDER_LOC LOC_CD ");
            //sb.AppendLine("   ,NULL " + WorkResultEntryViewDTO.eColumns.LOT_NO);
            //sb.AppendLine("   ,ISNULL(STK.ON_HAND_QTY, 0) " + WorkResultEntryViewDTO.eColumns.ON_HAND_QTY);
            //sb.AppendLine("   ,(T_BOM.LOWER_QTY / T_BOM.UPPER_QTY) * :WO_QTY " + WorkResultEntryViewDTO.eColumns.REQUEST_QTY);
            ////sb.AppendLine("   ,T_BOM.LOWER_QTY " + WorkResultEntryViewDTO.eColumns.LOWER_QTY);
            ////sb.AppendLine("   ,T_BOM.UPPER_QTY " + WorkResultEntryViewDTO.eColumns.UPPER_QTY);
            //sb.AppendLine(" ,L_ITM.INV_UM_CLS INV_UM_CLS");
            //sb.AppendLine(" ,T_BOM." + WorkResultEntryViewDTO.eColumns.CHILD_ORDER_LOC_CD.ToString() + " " + WorkResultEntryViewDTO.eColumns.CHILD_ORDER_LOC_CD);
            //sb.AppendLine(" FROM ");
            //sb.AppendLine("   FNC_GET_BOM_EXPLOSION( :ITEM_CD, 0, '', '~') T_BOM");
            //sb.AppendLine("   INNER JOIN TB_ITEM_MS L_ITM");
            //sb.AppendLine("     ON L_ITM.ITEM_CD = T_BOM.LOWER_ITEM_CD");
            //sb.AppendLine("   LEFT JOIN TB_INV_ONHAND_TR STK");
            //sb.AppendLine("     ON STK.ITEM_CD = T_BOM.LOWER_ITEM_CD");
            //sb.AppendLine("    AND STK.LOC_CD = :ORDER_LOC");
            //sb.AppendLine("    AND ISNULL(STK.LOT_NO, '') = '' ");
            //sb.AppendLine("    AND STK.YEAR_MONTH=:YEAR_MONTH ");
            //sb.AppendLine(" WHERE T_BOM.LEVEL = 1");
            //sb.AppendLine(" ) T ");
            //sb.AppendLine(" ORDER BY T.ITEM_CD");
            #endregion

            DataRequest req = new DataRequest(sb.ToString());
            req.Parameters.Add("ITEM_CD", DataType.NVarChar, ITEM_CD.Value);
            req.Parameters.Add("ORDER_LOC", DataType.NVarChar, ORDER_LOC.Value);
            req.Parameters.Add("WO_QTY", DataType.Number, QTY.Value);
            req.Parameters.Add("YEAR_MONTH", DataType.NVarChar, periodDto.YEAR_MONTH.Value);

            return(db.ExecuteForList <WorkResultEntryViewDTO>(req));
        }
Exemple #24
0
        private void PUR010_Load(object sender, EventArgs e)
        {
            InventoryPeriodBIZ biz = new InventoryPeriodBIZ();
            InventoryPeriodDTO dto = biz.LoadCurrentPeriodWithQueryRange();

            dtPeriodBegin.NZValue = dto.PERIOD_BEGIN_DATE;
            dtPeriodEnd.NZValue   = dto.PERIOD_END_DATE;
            dtPeriodBegin.Format  = Common.CurrentUserInfomation.DateFormatString;
            dtPeriodEnd.Format    = Common.CurrentUserInfomation.DateFormatString;

            shtView.Columns[(int)eColumn.DUE_DATE].CellType = CtrlUtil.CreateDateTimeCellType();
            shtView.Columns[(int)eColumn.PO_DATE].CellType  = CtrlUtil.CreateDateTimeCellType();

            this.m_dtShown = m_BizPurchaseOrder.LoadPurchaseOrderDByPONo(Convert.ToDateTime(dtPeriodBegin.Value), Convert.ToDateTime(dtPeriodEnd.Value));
            ShowSheet(this.m_dtShown);

            SetSpreadBGColor();
            SetContextMenu();
        }
Exemple #25
0
        /// <summary>
        /// Insert new record into database.
        /// </summary>
        /// <param name="database"></param>
        /// <param name="data"></param>
        /// <returns></returns>
        public int AddNew(Database database, InventoryPeriodDTO data)
        {
            Database db = UseDatabase(database);

            StringBuilder sb = new StringBuilder();

            #region SQL Statement
            sb.AppendLine(" INSERT INTO " + data.TableName + "(");
            sb.AppendLine("  " + InventoryPeriodDTO.eColumns.YEAR_MONTH);
            sb.AppendLine("  ," + InventoryPeriodDTO.eColumns.PERIOD_BEGIN_DATE);
            sb.AppendLine("  ," + InventoryPeriodDTO.eColumns.PERIOD_END_DATE);
            sb.AppendLine("  ," + InventoryPeriodDTO.eColumns.CRT_BY);
            sb.AppendLine("  ," + InventoryPeriodDTO.eColumns.CRT_DATE);
            sb.AppendLine("  ," + InventoryPeriodDTO.eColumns.CRT_MACHINE);
            sb.AppendLine("  ," + InventoryPeriodDTO.eColumns.UPD_BY);
            sb.AppendLine("  ," + InventoryPeriodDTO.eColumns.UPD_DATE);
            sb.AppendLine("  ," + InventoryPeriodDTO.eColumns.UPD_MACHINE);
            sb.AppendLine(") VALUES(");
            sb.AppendLine("   :YEAR_MONTH");
            sb.AppendLine("   ,:PERIOD_BEGIN_DATE");
            sb.AppendLine("   ,:PERIOD_END_DATE");
            sb.AppendLine("   ,:CRT_BY");
            sb.AppendLine("   ,GETDATE()");
            sb.AppendLine("   ,:CRT_MACHINE");
            sb.AppendLine("   ,:UPD_BY");
            sb.AppendLine("   ,GETDATE()");
            sb.AppendLine("   ,:UPD_MACHINE");
            sb.AppendLine(" )");
            #endregion

            DataRequest req = new DataRequest(sb.ToString());
            #region Parameters
            req.Parameters.Add("YEAR_MONTH", DataType.NVarChar, data.YEAR_MONTH.Value);
            req.Parameters.Add("PERIOD_BEGIN_DATE", DataType.DateTime, data.PERIOD_BEGIN_DATE.Value);
            req.Parameters.Add("PERIOD_END_DATE", DataType.DateTime, data.PERIOD_END_DATE.Value);
            req.Parameters.Add("CRT_BY", DataType.NVarChar, data.CRT_BY.Value);
            req.Parameters.Add("CRT_MACHINE", DataType.NVarChar, data.CRT_MACHINE.Value);
            req.Parameters.Add("UPD_BY", DataType.NVarChar, data.UPD_BY.Value);
            req.Parameters.Add("UPD_MACHINE", DataType.NVarChar, data.UPD_MACHINE.Value);
            #endregion

            return(db.ExecuteNonQuery(req));
        }
Exemple #26
0
        public List <MultiWorkResultEntryViewDTO> LoadChildItemToInputMultiWorkResult(Database database, NZString ITEM_CD, NZString ORDER_LOC, NZString LOT_NO, DataDefine.eTRAN_SUB_CLS workResultType)
        {
            Database      db = UseDatabase(database);
            StringBuilder sb = new StringBuilder();

            InventoryPeriodDAO periodDao = new InventoryPeriodDAO(db);
            InventoryPeriodDTO periodDto = periodDao.LoadCurrentYearMonth(null);

            #region SQL Statement

            sb.AppendLine(@"select stk.LOT_NO, stk.ON_HAND_QTY ");
            sb.AppendLine(@"from TB_INV_ONHAND_TR stk");
            sb.AppendLine(@"where (STK.LOC_CD = :ORDER_LOC)");
            sb.AppendLine(@"and (STK.YEAR_MONTH = :YEAR_MONTH)");
            sb.AppendLine(@"and (STK.ITEM_CD = :ITEM_CD)");
            sb.AppendLine(@"and (STK.ON_HAND_QTY > 0)");
            sb.AppendLine(@"and (STK.LOT_NO like :LOT_NO + '%' or :LOT_NO is null)");

            if (workResultType == DataDefine.eTRAN_SUB_CLS.WR)
            {
                sb.AppendLine(@"and (STK.LOT_NO not like '%#R')"); //work result หา lot ปกติ
            }
            else if (workResultType == DataDefine.eTRAN_SUB_CLS.RW)
            {
                sb.AppendLine(@"and (STK.LOT_NO like '%#R')"); //rework หา lot ที่เป็น reserve
            }
            else
            {
                throw new NotSupportedException();
            }


            #endregion

            DataRequest req = new DataRequest(sb.ToString());
            req.Parameters.Add("ITEM_CD", DataType.NVarChar, ITEM_CD.Value);
            req.Parameters.Add("ORDER_LOC", DataType.NVarChar, ORDER_LOC.Value);
            req.Parameters.Add("YEAR_MONTH", DataType.NVarChar, periodDto.YEAR_MONTH.Value);
            req.Parameters.Add("LOT_NO", DataType.VarChar, LOT_NO.Value);

            return(db.ExecuteForList <MultiWorkResultEntryViewDTO>(req));
        }
Exemple #27
0
        private void InitializeScreen()
        {
            InitializeSpread();

            //txtSearch.KeyPress += CommonLib.CtrlUtil.SetRestrictKeyInput;
            //txtSearch.KeyUp += CommonLib.CtrlUtil.FilterRestrictChar;

            dtPeriodBegin.KeyPress += CtrlUtil.SetNextControl;
            dtPeriodEnd.KeyPress   += CtrlUtil.SetNextControl;

            dtPeriodBegin.Format = Common.CurrentUserInfomation.DateFormatString;
            dtPeriodEnd.Format   = Common.CurrentUserInfomation.DateFormatString;

            InventoryPeriodBIZ biz = new InventoryPeriodBIZ();
            InventoryPeriodDTO dto = biz.LoadCurrentPeriodWithQueryRange();

            dtPeriodBegin.NZValue = dto.PERIOD_BEGIN_DATE;
            dtPeriodEnd.NZValue   = dto.PERIOD_END_DATE;
            LoadData(dto.PERIOD_BEGIN_DATE, dto.PERIOD_END_DATE);
        }
Exemple #28
0
        public void ValidateBeforeSaveUpdate(InventoryPeriodDTO dtoInven)
        {
            ValidateException validateException = new ValidateException();
            ErrorItem         errorItem         = null;

            #region mandatory check
            errorItem = CheckEmptyYearMonth(dtoInven.YEAR_MONTH);
            if (errorItem != null)
            {
                validateException.AddError(errorItem);
            }

            errorItem = CheckEmptyPeriodBeginDate(dtoInven.PERIOD_BEGIN_DATE);
            if (errorItem != null)
            {
                validateException.AddError(errorItem);
            }

            errorItem = CheckEmptyPeriodEndDate(dtoInven.PERIOD_END_DATE);
            if (errorItem != null)
            {
                validateException.AddError(errorItem);
            }

            errorItem = CheckPeriodBeginToEndDate(dtoInven.PERIOD_BEGIN_DATE, dtoInven.PERIOD_END_DATE);
            if (errorItem != null)
            {
                validateException.AddError(errorItem);
            }

            validateException.ThrowIfHasError();

            //BusinessException businessException = CheckInventPeriod(dtoInven.YEAR_MONTH);
            //if (businessException != null)
            //{
            //    throw businessException;
            //}
            #endregion
        }
Exemple #29
0
        /// <summary>
        /// Check empty and not in current period.
        /// </summary>
        /// <param name="date"></param>
        /// <returns></returns>
        public ErrorItem CheckReceiveDate(NZDateTime date)
        {
            if (date.IsNull)
            {
                return(new ErrorItem(date.Owner, TKPMessages.eValidate.VLM0041.ToString()));
            }

            // Check in using period.
            InventoryPeriodBIZ inventoryPeriodBIZ = new InventoryPeriodBIZ();
            InventoryPeriodDTO inventoryPeriodDTO = inventoryPeriodBIZ.LoadCurrentPeriod();

            InventoryPeriodValidator inventoryPeriodValidator = new InventoryPeriodValidator();

            // fix by tar
            // AddMonths(1) to period end date
            if (date.StrongValue.Date < inventoryPeriodDTO.PERIOD_BEGIN_DATE.StrongValue.Date ||
                date.StrongValue.Date > inventoryPeriodDTO.PERIOD_END_DATE.StrongValue.AddMonths(1).Date)
            {
                return(new ErrorItem(date.Owner, TKPMessages.eValidate.VLM0042.ToString()));
            }

            return(null);
        }
Exemple #30
0
        public int UpdateInventoryPeriod(Database database, InventoryPeriodDTO data)
        {
            Database db = UseDatabase(database);

            StringBuilder sb = new StringBuilder();

            sb.AppendLine(" update TB_INV_PERIOD_MS ");
            sb.AppendLine(" set YEAR_MONTH = :pYEAR_MONTH ");
            sb.AppendLine("     ,PERIOD_BEGIN_DATE = :pPERIOD_BEGIN_DATE ");
            sb.AppendLine("     ,PERIOD_END_DATE = :pPERIOD_END_DATE ");
            sb.AppendLine("     ,UPD_BY =:pUPD_BY ");
            sb.AppendLine("     ,UPD_DATE = getdate() ");
            sb.AppendLine("     ,UPD_MACHINE = :pUPD_MACHINE; ");

            DataRequest req = new DataRequest(sb.ToString());

            req.Parameters.Add("pYEAR_MONTH", DataType.NVarChar, data.YEAR_MONTH.Value);
            req.Parameters.Add("pPERIOD_BEGIN_DATE", DataType.DateTime, data.PERIOD_BEGIN_DATE.Value);
            req.Parameters.Add("pPERIOD_END_DATE", DataType.DateTime, data.PERIOD_END_DATE.Value);
            req.Parameters.Add("pUPD_BY", DataType.NVarChar, data.UPD_BY.Value);
            req.Parameters.Add("pUPD_MACHINE", DataType.NVarChar, data.UPD_MACHINE.Value);

            return(db.ExecuteNonQuery(req));
        }