コード例 #1
0
ファイル: MMeasure.cs プロジェクト: vuongthai91/ERP-CMR-DMS
        }       //	updateManualGoals

        /**
         *  Update/save Goals with Achievement
         *  @return true if updated
         */
        private Boolean UpdateAchievementGoals()
        {
            if (!MEASURETYPE_Achievements.Equals(GetMeasureType()))
            {
                return(false);
            }
            DateTime today = DateTime.Now;

            MGoal[] goals = MGoal.GetMeasureGoals(GetCtx(), GetPA_Measure_ID());
            for (int i = 0; i < goals.Length; i++)
            {
                MGoal  goal         = goals[i];
                String MeasureScope = goal.GetMeasureScope();
                String trunc        = TimeUtil.TRUNC_DAY;
                if (MGoal.MEASUREDISPLAY_Year.Equals(MeasureScope))
                {
                    trunc = TimeUtil.TRUNC_YEAR;
                }
                else if (MGoal.MEASUREDISPLAY_Quarter.Equals(MeasureScope))
                {
                    trunc = TimeUtil.TRUNC_QUARTER;
                }
                else if (MGoal.MEASUREDISPLAY_Month.Equals(MeasureScope))
                {
                    trunc = TimeUtil.TRUNC_MONTH;
                }
                else if (MGoal.MEASUREDISPLAY_Week.Equals(MeasureScope))
                {
                    trunc = TimeUtil.TRUNC_WEEK;
                }
                DateTime compare = TimeUtil.Trunc(today, trunc);
                //
                MAchievement[] achievements = MAchievement.GetOfMeasure(GetCtx(), GetPA_Measure_ID());
                Decimal        ManualActual = Env.ZERO;
                for (int j = 0; j < achievements.Length; j++)
                {
                    MAchievement achievement = achievements[j];
                    if (achievement.IsAchieved() && achievement.GetDateDoc() != null)
                    {
                        DateTime ach = TimeUtil.Trunc(achievement.GetDateDoc(), trunc);
                        if (compare.Equals(ach))
                        {
                            ManualActual = Decimal.Add(ManualActual, achievement.GetManualActual());
                        }
                    }
                }
                goal.SetMeasureActual(ManualActual);
                goal.Save();
            }
            return(true);
        }
コード例 #2
0
ファイル: MMeasure.cs プロジェクト: vuongthai91/ERP-CMR-DMS
        }       //	afterSave

        /**
         *  Update/save Goals
         *  @return true if updated
         */
        public Boolean UpdateGoals()
        {
            String mt = GetMeasureType();

            try
            {
                if (MEASURETYPE_Manual.Equals(mt))
                {
                    return(UpdateManualGoals());
                }
                else if (MEASURETYPE_Achievements.Equals(mt))
                {
                    return(UpdateAchievementGoals());
                }
                else if (MEASURETYPE_Calculated.Equals(mt))
                {
                    return(UpdateCalculatedGoals());
                }
                else if (MEASURETYPE_Ratio.Equals(mt))
                {
                    return(UpdateRatios());
                }
                else if (MEASURETYPE_Request.Equals(mt))
                {
                    return(UpdateRequests());
                }
                else if (MEASURETYPE_Project.Equals(mt))
                {
                    return(UpdateProjects());
                }
                //	Projects
            }
            catch (Exception e)
            {
                log.Log(Level.SEVERE, "MeasureType=" + mt, e);
            }
            return(false);
        }       //	updateGoals