Beispiel #1
0
        /// <summary>
        /// 批量保存富士II类信息
        /// </summary>
        /// <param name="infos">富士II类信息</param>
        /// <param name="type">费用类型</param>
        /// <returns>保存结果</returns>
        public JsonResult SaveFujiClass2s(List <FujiClass2Info> infos, FujiClass2Info.SectionType type)
        {
            if (CheckSession() == false)
            {
                return(Json(ResultModelBase.CreateTimeoutModel(), JsonRequestBehavior.AllowGet));
            }
            if (CheckSessionID() == false)
            {
                return(Json(ResultModelBase.CreateLogoutModel(), JsonRequestBehavior.AllowGet));
            }

            ResultModelBase result = new ResultModelBase();

            try
            {
                this.fujiClassManager.SaveFujiClass2s(infos, type, GetLoginUser());
            }
            catch (Exception ex)
            {
                NLog.LogManager.GetCurrentClassLogger().Error(ex, ex.Message);
                result.SetFailed(ResultCodes.SystemError, ControlManager.GetSettingInfo().ErrorMessage);
            }

            return(Json(result, JsonRequestBehavior.AllowGet));
        }
Beispiel #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);
        }