示例#1
0
        /// <summary>
        /// 根据富士II类id获取信息
        /// </summary>
        /// <param name="id">富士II类id</param>
        /// <returns>富士II类信息</returns>
        public FujiClass2Info GetFujiClass2ByID(int id)
        {
            FujiClass2Info info = this.fujiClassDao.GetFujiClass2ByID(id);

            info.Repairs = this.faultRateDao.GetFaultRateByObject(id, FaultRateInfo.ObjectType.Repair);

            SetFujiClass2Rate(info);
            return(info);
        }
示例#2
0
        public void SaveFujiClass2s(List <FujiClass2Info> infos, FujiClass2Info.SectionType type, UserInfo userInfo)
        {
            List <FujiClass2Info> existsInfos = this.QueryFujiClass2sByIDs(infos.Select(info => info.ID).ToList());
            DataTable             dt          = FujiClass2Info.ConvertFujiClass2DataTable(infos);

            switch (type)
            {
            case FujiClass2Info.SectionType.Labour:
                this.fujiClassDao.UpdateFujiClass2Labour(dt);
                break;

            case FujiClass2Info.SectionType.Contract:
                this.fujiClassDao.UpdateFujiClass2Contract(dt);
                break;

            case FujiClass2Info.SectionType.Spare:
                this.fujiClassDao.UpdateFujiClass2Spare(dt);
                break;

            case FujiClass2Info.SectionType.Repair:
                this.fujiClassDao.UpdateFujiClass2Repair(dt);
                this.UpdateFaultRates(infos.SelectMany(info => info.Repairs).ToList());
                break;
            }

            //转换日志信息
            infos.Sort();
            existsInfos.Sort();
            List <AuditHdrInfo> audits = new List <AuditHdrInfo>();
            int len = existsInfos.Count;

            for (int i = 0; i < len; i++)
            {
                AuditHdrInfo audit = existsInfos[i].ConvertAudit(infos[i], userInfo);
                audit.DetailInfo = audit.DetailInfo.Concat(FaultRateInfo.ConvertAuditDetail(existsInfos[i].Repairs, infos[i].Repairs)).ToList();
                audits.Add(audit);
            }
            DataTable auditDT       = audits.ConvertAuditDT();
            DataTable auditDetailDT = null;

            this.auditDao.AddAuditHdr(auditDT);
            for (int i = 0; i < len; i++)
            {
                if (auditDetailDT == null)
                {
                    auditDetailDT = audits[i].DetailInfo.ConvertAuditDetailDT(SQLUtil.ConvertInt(auditDT.Rows[i]["ID"]));
                }
                else
                {
                    auditDetailDT.Merge(audits[i].DetailInfo.ConvertAuditDetailDT(SQLUtil.ConvertInt(auditDT.Rows[i]["ID"])));
                }
            }
            this.auditDao.AddAuditDetail(auditDetailDT);
        }
示例#3
0
        public void DeleteFujiClass2ByLink(FujiClassLink info)
        {
            this.fujiClassDao.DeleteFujiClass2Link(info);

            if (!this.fujiClassDao.CheckFujiClass2LinkExisted(info))
            {
                this.faultRateDao.DeleteFaultRateByObjID(info.FujiClass2.ID, FaultRateInfo.ObjectType.Repair);
                this.consumableDao.DeleteConsumableByFujiClass2ID(info.FujiClass2.ID);
                FujiClass2Info fujiClass2 = this.GetFujiClass2ByID(info.FujiClass2.ID);
                foreach (ComponentInfo component in fujiClass2.Components)
                {
                    this.componentManager.DeleteComponentByID(component.ID);
                }
                this.fujiClassDao.DeleteFujiClass2ByID(info.FujiClass2.ID);
            }
        }
示例#4
0
        public JsonResult CheckFujiClass2Name(FujiClass2Info info)
        {
            if (CheckSession(false) == false)
            {
                return(Json(ResultModelBase.CreateTimeoutModel(), JsonRequestBehavior.AllowGet));
            }
            if (CheckSessionID() == false)
            {
                return(Json(ResultModelBase.CreateLogoutModel(), JsonRequestBehavior.AllowGet));
            }
            ResultModel <bool> result = new ResultModel <bool>();

            try
            {
                result.Data = this.fujiClassDao.CheckFujiClass2Name(info);
            }
            catch (Exception ex)
            {
                NLog.LogManager.GetCurrentClassLogger().Error(ex, ex.Message);
                result.SetFailed(ResultCodes.SystemError, ControlManager.GetSettingInfo().ErrorMessage);
            }
            return(JsonResult(result));
        }
示例#5
0
 /// <summary>
 /// 设置富士II类零件、耗材信息
 /// </summary>
 /// <param name="info">富士II类</param>
 /// <returns>获取富士II类零件/耗材信息</returns>
 private FujiClass2Info SetFujiClass2Rate(FujiClass2Info info)
 {
     info.Components  = GetComponentsRateByFujiClass2(info.ID);
     info.Consumables = this.consumableDao.QueryConsumablesByFujiClass2ID(info.ID, true);
     return(info);
 }
示例#6
0
        public int SaveFujiClass2(FujiClassLink info, UserInfo userInfo, bool isUpdate, int copyID = 0)
        {
            List <AuditHdrInfo> audits = new List <AuditHdrInfo>();
            AuditHdrInfo        audit;

            if (info.FujiClass2.ID == 0)
            {
                if (copyID != 0)
                {
                    FujiClass2Info copyInfo = this.GetFujiClass2ByID(copyID);
                    copyInfo.FujiClass1  = info.FujiClass2.FujiClass1;
                    copyInfo.Name        = info.FujiClass2.Name;
                    copyInfo.Description = info.FujiClass2.Description;
                    info.FujiClass2.ID   = this.fujiClassDao.AddFujiClass2(copyInfo);
                    this.fujiClassDao.AddFujiClass2EqpType(info);
                    copyInfo.Repairs.ForEach(rate => rate.ObjectID = info.FujiClass2.ID);
                    this.AddFaultRates(copyInfo.Repairs);
                    if (copyInfo.Components.Count > 0)
                    {
                        foreach (ComponentInfo componentInfo in copyInfo.Components)
                        {
                            componentInfo.ID            = 0;
                            componentInfo.FujiClass2.ID = info.FujiClass2.ID;
                            this.componentManager.SaveComponent(componentInfo, userInfo);
                        }
                    }
                    if (copyInfo.Consumables.Count > 0)
                    {
                        foreach (ConsumableInfo consumableInfo in copyInfo.Consumables)
                        {
                            consumableInfo.ID            = 0;
                            consumableInfo.FujiClass2.ID = info.FujiClass2.ID;
                            this.consumableDao.AddConsumable(consumableInfo);
                        }
                    }
                }
                else
                {
                    this.fujiClassDao.AddFujiClass2(info.FujiClass2);
                    this.fujiClassDao.AddFujiClass2EqpType(info);
                    info.FujiClass2.Repairs = FaultRateInfo.GetInitList(info.FujiClass2.ID, FaultRateInfo.ObjectType.Repair);
                    this.AddFaultRates(info.FujiClass2.Repairs);
                }
                audit = info.ConvertAudit(userInfo);
                if (audit.DetailInfo.Count > 0)
                {
                    audits.Add(audit);
                }
            }
            else
            {
                FujiClassLink existsInfo = this.GetFujiLinkByClass2ID(info.FujiClass2.ID);
                if (isUpdate)
                {
                    info.FujiClass2.CheckEquipmentTypeRelatedFields();
                    this.fujiClassDao.UpdateFujiClass2(info.FujiClass2);
                    this.UpdateFaultRates(info.FujiClass2.Repairs);

                    audit            = existsInfo.FujiClass2.ConvertAudit(info.FujiClass2, userInfo);
                    audit.DetailInfo = audit.DetailInfo.Concat(FaultRateInfo.ConvertAuditDetail(existsInfo.FujiClass2.Repairs, info.FujiClass2.Repairs)).ToList();
                    if (audit.DetailInfo.Count > 0)
                    {
                        audits.Add(audit);
                    }

                    int componentLen = info.FujiClass2.Components.Count;
                    info.FujiClass2.Components.Sort();
                    existsInfo.FujiClass2.Components.Sort();
                    info.FujiClass2.Consumables.Sort();
                    existsInfo.FujiClass2.Consumables.Sort();
                    for (int i = 0; i < componentLen; i++)
                    {
                        this.componentDao.UpdateComponent(info.FujiClass2.Components[i]);
                        audit = existsInfo.FujiClass2.Components[i].ConvertAudit(info.FujiClass2.Components[i], userInfo);
                        if (audit.DetailInfo.Count > 0)
                        {
                            audits.Add(audit);
                        }
                    }
                    componentLen = info.FujiClass2.Consumables.Count;
                    for (int i = 0; i < componentLen; i++)
                    {
                        this.consumableDao.UpdateConsumable(info.FujiClass2.Consumables[i]);
                        audit = existsInfo.FujiClass2.Consumables[i].ConvertAudit(info.FujiClass2.Consumables[i], userInfo);
                        if (audit.DetailInfo.Count > 0)
                        {
                            audits.Add(audit);
                        }
                    }
                }
                else
                {
                    this.fujiClassDao.AddFujiClass2EqpType(info);
                    audit = info.ConvertAudit(userInfo);
                    if (audit.DetailInfo.Count > 0)
                    {
                        audits.Add(audit);
                    }
                }
            }

            int len = audits.Count;

            if (len == 0)
            {
                return(info.FujiClass2.ID);
            }
            DataTable auditDT       = audits.ConvertAuditDT();
            DataTable auditDetailDT = null;

            this.auditDao.AddAuditHdr(auditDT);
            for (int i = 0; i < len; i++)
            {
                if (auditDetailDT == null)
                {
                    auditDetailDT = audits[i].DetailInfo.ConvertAuditDetailDT(SQLUtil.ConvertInt(auditDT.Rows[i]["ID"]));
                }
                else
                {
                    auditDetailDT.Merge(audits[i].DetailInfo.ConvertAuditDetailDT(SQLUtil.ConvertInt(auditDT.Rows[i]["ID"])));
                }
            }
            this.auditDao.AddAuditDetail(auditDetailDT);

            return(info.FujiClass2.ID);
        }