Пример #1
0
        void HandleInspect(Inspect inspect)
        {
            Player player = Global.ObjAccessor.GetPlayer(_player, inspect.Target);

            if (!player)
            {
                Log.outDebug(LogFilter.Network, "WorldSession.HandleInspectOpcode: Target {0} not found.", inspect.Target.ToString());
                return;
            }

            if (!GetPlayer().IsWithinDistInMap(player, SharedConst.InspectDistance, false))
            {
                return;
            }

            if (GetPlayer().IsValidAttackTarget(player))
            {
                return;
            }

            InspectResult inspectResult = new InspectResult();

            inspectResult.DisplayInfo.Initialize(player);

            if (GetPlayer().CanBeGameMaster() || WorldConfig.GetIntValue(WorldCfg.TalentsInspecting) + (GetPlayer().GetTeamId() == player.GetTeamId() ? 1 : 0) > 1)
            {
                var talents = player.GetTalentMap(player.GetActiveTalentGroup());
                foreach (var v in talents)
                {
                    if (v.Value != PlayerSpellState.Removed)
                    {
                        inspectResult.Talents.Add((ushort)v.Key);
                    }
                }
            }

            Guild guild = Global.GuildMgr.GetGuildById(player.GetGuildId());

            if (guild)
            {
                inspectResult.GuildData.HasValue = true;

                InspectGuildData guildData;
                guildData.GuildGUID         = guild.GetGUID();
                guildData.NumGuildMembers   = guild.GetMembersCount();
                guildData.AchievementPoints = (int)guild.GetAchievementMgr().GetAchievementPoints();
                inspectResult.GuildData.Set(guildData);
            }

            inspectResult.LifetimeMaxRank = player.m_activePlayerData.LifetimeMaxRank;
            inspectResult.TodayHK         = player.m_activePlayerData.TodayHonorableKills;
            inspectResult.YesterdayHK     = player.m_activePlayerData.YesterdayHonorableKills;
            inspectResult.LifetimeHK      = player.m_activePlayerData.LifetimeHonorableKills;
            inspectResult.HonorLevel      = player.m_playerData.HonorLevel;

            SendPacket(inspectResult);
        }
Пример #2
0
        private void Inspected(InspectResult result)
        {
            var wrappers = new List <SubResultWrapper>();

            foreach (var sub in result.SubResults)
            {
                wrappers.Add(new SubResultWrapper(sub));
            }

            SubResults = wrappers;
        }
Пример #3
0
        private void Inspected(InspectResult result)
        {
            Result = result;
            switch (result.Judgement)
            {
            case EJudgement.Pass:
                break;

            case EJudgement.Fail:
                break;

            case EJudgement.SKIP:
                break;
            }
        }
Пример #4
0
    public IList<InspectResult> PopulateUnqualifiedInspectOrder()
    {
        IList<InspectResult> inspectResultList = new List<InspectResult>();
        for (int i = 0; i < this.GV_List.Rows.Count; i++)
        {
            GridViewRow row = this.GV_List.Rows[i];
            CheckBox checkBoxGroup = row.FindControl("CheckBoxGroup") as CheckBox;
            if (checkBoxGroup.Checked)
            {

                InspectResult unqualifiedGoods = new InspectResult();

                HiddenField hfId = (HiddenField)row.FindControl("hfId");

                InspectResult inspectResult = TheInspectResultMgr.LoadInspectResult(Int32.Parse(hfId.Value));

                inspectResultList.Add(inspectResult);
            }
        }
        return inspectResultList;
    }
Пример #5
0
    public IList <InspectResult> PopulateUnqualifiedInspectOrder()
    {
        IList <InspectResult> inspectResultList = new List <InspectResult>();

        for (int i = 0; i < this.GV_List.Rows.Count; i++)
        {
            GridViewRow row           = this.GV_List.Rows[i];
            CheckBox    checkBoxGroup = row.FindControl("CheckBoxGroup") as CheckBox;
            if (checkBoxGroup.Checked)
            {
                InspectResult unqualifiedGoods = new InspectResult();


                HiddenField hfId = (HiddenField)row.FindControl("hfId");

                InspectResult inspectResult = TheInspectResultMgr.LoadInspectResult(Int32.Parse(hfId.Value));

                inspectResultList.Add(inspectResult);
            }
        }
        return(inspectResultList);
    }
Пример #6
0
        private void Inspected(InspectResult result)
        {
            Total++;
            switch (result.Judgement)
            {
            case EJudgement.Pass:
                OK++;
                break;

            case EJudgement.Fail:
                NG++;
                break;

            case EJudgement.SKIP:
                Skip++;
                break;

            case EJudgement.TIMEOUT:
                Timeout++;
                break;
            }
        }
 public virtual void DeleteInspectResult(InspectResult entity)
 {
     Delete(entity);
 }
 public virtual void UpdateInspectResult(InspectResult entity)
 {
     Update(entity);
 }
Пример #9
0
        public void PendInspectOrder(IList <InspectOrderDetail> inspectOrderDetailList, User user, string rejNo)
        {
            #region 过滤检验数量为0的检验明细
            IList <InspectOrderDetail> noneZeroInspectOrderDetailList = new List <InspectOrderDetail>();

            if (inspectOrderDetailList != null && inspectOrderDetailList.Count > 0)
            {
                foreach (InspectOrderDetail inspectOrderDetail in inspectOrderDetailList)
                {
                    if (inspectOrderDetail.CurrentQualifiedQty > 0 || inspectOrderDetail.CurrentRejectedQty > 0)
                    {
                        noneZeroInspectOrderDetailList.Add(inspectOrderDetail);
                    }
                }
            }

            if (noneZeroInspectOrderDetailList.Count == 0)
            {
                throw new BusinessErrorException("Order.Error.Inspection.DetailEmpty");
            }
            #endregion

            #region 循环检验单明细
            IDictionary <string, InspectOrder> cachedInspectOrderDic = new Dictionary <string, InspectOrder>();
            string irNo = this.numberControlMgr.GenerateNumber(BusinessConstants.CODE_PREFIX_INSPECTION_RESULT);  //检验结果单号
            IList <InspectOrderDetail> pendingList = new List <InspectOrderDetail>();

            foreach (InspectOrderDetail inspectOrderDetail in noneZeroInspectOrderDetailList)
            {
                #region 缓存检验单头
                InspectOrder inspectOrder = inspectOrderDetail.InspectOrder;
                if (!cachedInspectOrderDic.ContainsKey(inspectOrder.InspectNo))
                {
                    cachedInspectOrderDic.Add(inspectOrder.InspectNo, inspectOrder);
                }
                #endregion

                #region 检验数量
                InspectOrderDetail oldInspectOrderDetail = this.inspectOrderDetailMgr.LoadInspectOrderDetail(inspectOrderDetail.Id);
                oldInspectOrderDetail.Disposition         = inspectOrderDetail.Disposition;
                oldInspectOrderDetail.CurrentQualifiedQty = inspectOrderDetail.CurrentQualifiedQty;
                oldInspectOrderDetail.CurrentRejectedQty  = inspectOrderDetail.CurrentRejectedQty;
                decimal totalInspectedQty = (oldInspectOrderDetail.QualifiedQty.HasValue ? oldInspectOrderDetail.QualifiedQty.Value : 0)
                                            + (oldInspectOrderDetail.RejectedQty.HasValue ? oldInspectOrderDetail.RejectedQty.Value : 0)
                                            + oldInspectOrderDetail.PendingQualifiedQty
                                            + oldInspectOrderDetail.PendingRejectedQty
                                            + oldInspectOrderDetail.CurrentQualifiedQty
                                            + oldInspectOrderDetail.CurrentRejectedQty;

                if (oldInspectOrderDetail.LocationLotDetail.Hu != null &&
                    oldInspectOrderDetail.InspectQty != totalInspectedQty)
                {
                    //有条码的只能检验一次
                    throw new BusinessErrorException("MasterData.Inventory.Inspect.Error.HuInspectQtyNotMatch", oldInspectOrderDetail.LocationLotDetail.Hu.HuId);
                }

                if (oldInspectOrderDetail.InspectQty < totalInspectedQty)
                {
                    throw new BusinessErrorException("MasterData.Inventory.Inspect.Error.InspectQtyExcceed", oldInspectOrderDetail.LocationLotDetail.Item.Code);
                }
                #endregion

                #region 合格品
                if (oldInspectOrderDetail.CurrentQualifiedQty > 0)
                {
                    //更新待处理合格品数量
                    oldInspectOrderDetail.PendingQualifiedQty += oldInspectOrderDetail.CurrentQualifiedQty;
                }
                #endregion

                #region  合格品
                if (oldInspectOrderDetail.CurrentRejectedQty > 0)
                {
                    //更新不合格品数量
                    oldInspectOrderDetail.PendingRejectedQty += oldInspectOrderDetail.CurrentRejectedQty;
                }
                #endregion

                #region 保存检验结果
                InspectResult inspectResult = new InspectResult();
                inspectResult.InspectResultNo    = irNo;
                inspectResult.InspectOrderDetail = oldInspectOrderDetail;
                inspectResult.QualifiedQty       = oldInspectOrderDetail.CurrentQualifiedQty;
                inspectResult.RejectedQty        = oldInspectOrderDetail.CurrentRejectedQty;
                inspectResult.CreateDate         = DateTime.Now;
                inspectResult.CreateUser         = user;
                inspectResult.LastModifyDate     = DateTime.Now;
                inspectResult.LastModifyUser     = user;
                inspectResult.PrintCount         = 0;
                inspectResult.IsPrinted          = false;
                if (rejNo != null && rejNo != string.Empty)
                {
                    inspectResult.PrintNo   = rejNo;
                    inspectResult.IsPrinted = true;
                }

                this.inspectResultMgr.CreateInspectResult(inspectResult);
                #endregion

                #region 更新检验单明细
                this.inspectOrderDetailMgr.UpdateInspectOrderDetail(oldInspectOrderDetail);
                #endregion

                #region 根据库位标记确认
                if (!oldInspectOrderDetail.LocationTo.IsAutoConfirm)
                {
                    oldInspectOrderDetail.CurrentQualifiedQty = 0;
                }
                if (!locationMgr.GetRejectLocation().IsAutoConfirm)
                {
                    oldInspectOrderDetail.CurrentRejectedQty = 0;
                }
                if (oldInspectOrderDetail.CurrentQualifiedQty > 0 || oldInspectOrderDetail.CurrentRejectedQty > 0)
                {
                    pendingList.Add(oldInspectOrderDetail);
                }
                #endregion
            }
            #endregion

            #region 将需要确认的自动确认
            if (pendingList != null && pendingList.Count > 0)
            {
                ProcessInspectOrder(pendingList, user);
            }
            #endregion

            #region 更新检验单
            DateTime dataTimeNow = DateTime.Now;
            foreach (InspectOrder oldInspectOrder in cachedInspectOrderDic.Values)
            {
                InspectOrder inspectOrder = this.LoadInspectOrder(oldInspectOrder.InspectNo);
                inspectOrder.LastModifyUser = user;
                inspectOrder.LastModifyDate = dataTimeNow;
                this.UpdateInspectOrder(inspectOrder);
            }
            #endregion
        }
 public virtual void CreateInspectResult(InspectResult entity)
 {
     Create(entity);
 }
Пример #11
0
 public virtual void UpdateInspectResult(InspectResult entity)
 {
     entityDao.UpdateInspectResult(entity);
 }
Пример #12
0
 public virtual void UpdateInspectResult(InspectResult entity)
 {
     entityDao.UpdateInspectResult(entity);
 }
Пример #13
0
 public virtual void DeleteInspectResult(InspectResult entity)
 {
     Delete(entity);
 }
Пример #14
0
 public virtual void CreateInspectResult(InspectResult entity)
 {
     entityDao.CreateInspectResult(entity);
 }
Пример #15
0
 public virtual void UpdateInspectResult(InspectResult entity)
 {
     Update(entity);
 }
Пример #16
0
 public virtual void CreateInspectResult(InspectResult entity)
 {
     Create(entity);
 }
Пример #17
0
 public virtual void DeleteInspectResult(InspectResult entity)
 {
     entityDao.DeleteInspectResult(entity);
 }
        public override void Inspect(Word.Document doc, out MsoDocInspectorStatus status, out string result, out string action)
        {
            InspectResult.Clear();
            Cache.Clear();
            Word.Range range = doc.Content;
            Word.Find  find  = range.Find;
            find.Forward        = true;
            find.Text           = "http*";
            find.MatchWildcards = true;
            if (find.Execute())
            {
                int start = range.Start;
                while (start > 0)
                {
                    string     text      = String.Empty;
                    Word.Range character = range.Characters[1];
                    while (null != character)
                    {
                        string characterText = character.Text;
                        bool   isEndLink     = false;
                        foreach (string item in _linkEnds)
                        {
                            if (characterText == item)
                            {
                                isEndLink = true;
                                break;
                            }
                        }
                        if (!isEndLink)
                        {
                            text     += character.Text;
                            character = character.Next();
                        }
                        else
                        {
                            break;
                        }
                    }

                    foreach (string item in _bitly)
                    {
                        if (text.StartsWith(item))
                        {
                            InspectResult.Add(start, text);
                            break;
                        }
                    }
                    if (!find.Execute())
                    {
                        break;
                    }
                    start = range.Start;
                }
            }

            if (InspectResult.Count > 0)
            {
                status = MsoDocInspectorStatus.msoDocInspectorStatusIssueFound;
                result = String.Format("{0} link(s) found.", InspectResult.Count);
                action = "Deobfuscate Links.";
            }
            else
            {
                status = MsoDocInspectorStatus.msoDocInspectorStatusDocOk;
                result = "No links found.";
                action = "No links to change.";
            }
        }
Пример #19
0
 public virtual void DeleteInspectResult(InspectResult entity)
 {
     entityDao.DeleteInspectResult(entity);
 }
Пример #20
0
        void HandleInspect(Inspect inspect)
        {
            Player player = Global.ObjAccessor.FindPlayer(inspect.Target);

            if (!player)
            {
                Log.outDebug(LogFilter.Network, "WorldSession.HandleInspectOpcode: Target {0} not found.", inspect.Target.ToString());
                return;
            }

            if (!GetPlayer().IsWithinDistInMap(player, SharedConst.InspectDistance, false))
            {
                return;
            }

            if (GetPlayer().IsValidAttackTarget(player))
            {
                return;
            }

            InspectResult inspectResult = new InspectResult();

            inspectResult.InspecteeGUID = inspect.Target;

            for (byte i = 0; i < EquipmentSlot.End; ++i)
            {
                Item item = player.GetItemByPos(InventorySlots.Bag0, i);
                if (item)
                {
                    inspectResult.Items.Add(new InspectItemData(item, i));
                }
            }

            inspectResult.ClassID  = player.GetClass();
            inspectResult.GenderID = (Gender)player.GetByteValue(PlayerFields.Bytes3, PlayerFieldOffsets.Bytes3OffsetGender);

            if (GetPlayer().CanBeGameMaster() || WorldConfig.GetIntValue(WorldCfg.TalentsInspecting) + (GetPlayer().GetTeamId() == player.GetTeamId() ? 1 : 0) > 1)
            {
                var talents = player.GetTalentMap(player.GetActiveTalentGroup());
                foreach (var v in talents)
                {
                    if (v.Value != PlayerSpellState.Removed)
                    {
                        inspectResult.Talents.Add((ushort)v.Key);
                    }
                }
            }

            Guild guild = Global.GuildMgr.GetGuildById(player.GetGuildId());

            if (guild)
            {
                inspectResult.GuildData.HasValue = true;

                InspectGuildData guildData;
                guildData.GuildGUID         = guild.GetGUID();
                guildData.NumGuildMembers   = guild.GetMembersCount();
                guildData.AchievementPoints = (int)guild.GetAchievementMgr().GetAchievementPoints();
                inspectResult.GuildData.Set(guildData);
            }

            inspectResult.InspecteeGUID    = inspect.Target;
            inspectResult.SpecializationID = (int)player.GetUInt32Value(PlayerFields.CurrentSpecId);

            SendPacket(inspectResult);
        }
Пример #21
0
 public virtual void CreateInspectResult(InspectResult entity)
 {
     entityDao.CreateInspectResult(entity);
 }