diff --git a/.vs/QualityControlPlatform/DesignTimeBuild/.dtbcache.v2 b/.vs/QualityControlPlatform/DesignTimeBuild/.dtbcache.v2 index f020e68..089465c 100644 Binary files a/.vs/QualityControlPlatform/DesignTimeBuild/.dtbcache.v2 and b/.vs/QualityControlPlatform/DesignTimeBuild/.dtbcache.v2 differ diff --git a/.vs/QualityControlPlatform/v17/.futdcache.v1 b/.vs/QualityControlPlatform/v17/.futdcache.v1 index 29c9bc7..9310769 100644 Binary files a/.vs/QualityControlPlatform/v17/.futdcache.v1 and b/.vs/QualityControlPlatform/v17/.futdcache.v1 differ diff --git a/.vs/QualityControlPlatform/v17/.suo b/.vs/QualityControlPlatform/v17/.suo index 3fd5fd0..fc7b12b 100644 Binary files a/.vs/QualityControlPlatform/v17/.suo and b/.vs/QualityControlPlatform/v17/.suo differ diff --git a/QualityControlPlatform/Controllers/Base/ErrorController.cs b/QualityControlPlatform/Controllers/Base/ErrorController.cs new file mode 100644 index 0000000..56ac330 --- /dev/null +++ b/QualityControlPlatform/Controllers/Base/ErrorController.cs @@ -0,0 +1,33 @@ +using Microsoft.AspNetCore.Diagnostics; +using Microsoft.AspNetCore.Mvc; +using System; +using QualityControlPlatform.Helpers.Nlog; +using QualityControlPlatform.Helpers.Response; + +namespace QualityControlPlatform.Controllers.Base +{ + /// + /// 全局异常返回 + /// + [Route("error")] + [ApiController] + public class ErrorController : ControllerBase + { + /// + /// 全局错误返回 + /// + /// + [HttpGet] + public ActionResult Index() + { + //UseExceptionHandler中间件中拦截到异常时,会将异常信息保存在请求上下文中,所以我们可以从HttpContext中拿到ExceptionHandler的异常信息: + var feature = HttpContext.Features.Get(); + if (feature == null) return ResponseHelper.ServerError(); + var exception = feature.Error; + LogHelper.Log.Error(exception); + Console.WriteLine("【ERROR】" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + exception.Message); + // todo:调用日志组件记录异常信息,或对异常做多路判断 + return ResponseHelper.ServerError(); + } + } +} \ No newline at end of file diff --git a/QualityControlPlatform/Controllers/Diseases/AnswerController.cs b/QualityControlPlatform/Controllers/Diseases/AnswerController.cs new file mode 100644 index 0000000..bc84bc9 --- /dev/null +++ b/QualityControlPlatform/Controllers/Diseases/AnswerController.cs @@ -0,0 +1,91 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc; +using QualityControlPlatform.Helpers.Auth; +using QualityControlPlatform.Helpers.Nlog; +using QualityControlPlatform.Helpers.Pagination; +using QualityControlPlatform.Helpers.Response; +using QualityControlPlatform.Models.ControllerModels; +using QualityControlPlatform.Models.DbContext; + +namespace QualityControlPlatform.Controllers.Diseases +{ + + /// + /// 内容上报 + /// + [Route("api/[controller]/[action]")] + [ApiController] + public class AnswerController : ControllerBase + { + + private readonly QualityControlPlatformContext _db = new QualityControlPlatformContext(); + /// + /// 上报内容填报 + /// + /// ReportId,UserId,ReportTime不需要填 + /// + [HttpPost] + public ActionResult Add([FromBody]List reports) + { + try + { + var time = DateTime.Now; + foreach (var report in reports) + { + _db.Reports.Add(new Report() + { + DiseasesId = report.DiseasesId, + ReportTemplateId = report.ReportTemplateId, + UserId = this.CurUserId(), + ReportContent = report.ReportContent, + ReportTime = time, + }); + } + _db.SaveChanges(); + } + catch (Exception e) + { + LogHelper.Log.Error($"问题上报出错:{e}"); + ResponseHelper.ServerError(); + } + return ResponseHelper.Success(); + } + + /// + /// 该病种下所有的填报信息 + /// + /// 病种Id + /// 用户Id + /// 页码 + /// 数量 + /// + [HttpGet] + public ActionResult List(int diseasesId, int userId, int? page, int number) + { + var report = _db.Reports.Where(p => p.DiseasesId == diseasesId && p.UserId == userId).Select(s=> new + { + s.DiseasesId, + s.UserId, + s.ReportContent, + s.ReportTime, + s.ReportTemplate + }).ToList(); + return ResponseHelper.Success( + PageHelper.Pagination(report.GroupBy(q => q.ReportTime).Select(t => new + { + ReportTime = t.Key, + Reports = report.Where(p => p.ReportTime == t.Key).Select(r => new + { + r.DiseasesId, + r.UserId, + r.ReportContent, + r.ReportTime, + r.ReportTemplate + }) + }).ToList(), Convert.ToInt32(page), number)); + } + } +} diff --git a/QualityControlPlatform/Controllers/Diseases/DiseasesController.cs b/QualityControlPlatform/Controllers/Diseases/DiseasesController.cs new file mode 100644 index 0000000..7b303ff --- /dev/null +++ b/QualityControlPlatform/Controllers/Diseases/DiseasesController.cs @@ -0,0 +1,101 @@ +using System; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc; +using QualityControlPlatform.Helpers.Pagination; +using QualityControlPlatform.Helpers.Response; +using QualityControlPlatform.Models.ControllerModels; +using QualityControlPlatform.Models.DbContext; +using System.Linq; +using QualityControlPlatform.Helpers.StringText; + +namespace QualityControlPlatform.Controllers.Diseases +{ + /// + /// + /// + [Route("api/[controller]/[action]")] + [ApiController] + public class DiseasesController : ControllerBase + { + + private readonly QualityControlPlatformContext _db = new QualityControlPlatformContext(); + + /// + /// 获取病种列表 + /// + /// 页码 + /// 每页数量 + /// 是否启用,默认启用列表 + /// + [HttpGet] + public ActionResult List(int? page, int number, bool isUsing=true) + { + var diseases = _db.Diseases.Select(q => new DiseaseModel() + { + DiseasesId = q.DiseasesId, + Description = q.Description, + DiseasesCode = q.DiseasesCode, + DiseasesName = q.DiseasesName, + IsUsing = q.IsUsing, + }).ToList(); + if (isUsing) + diseases = _db.Diseases.Where(p=>p.IsUsing==isUsing).Select(q => new DiseaseModel() + { + DiseasesId = q.DiseasesId, + Description = q.Description, + DiseasesCode = q.DiseasesCode, + DiseasesName = q.DiseasesName, + IsUsing = q.IsUsing, + }).ToList(); + return ResponseHelper.Success( + PageHelper.Pagination(diseases, Convert.ToInt32(page), number)); + } + + /// + /// 添加病种 DiseaseId, DiseasesCode 不需要填 + /// + /// + /// + [HttpPost] + public ActionResult Add([FromBody]DiseaseModel diseaseModel) + { + _db.Diseases.Add(new Disease() + { + DiseasesName = diseaseModel.DiseasesName, Description = diseaseModel.Description, DiseasesCode =new CodeHelper().GetCode(diseaseModel.DiseasesName,10),IsUsing = diseaseModel.IsUsing, + }); + _db.SaveChanges(); + return ResponseHelper.Success(); + } + /// + /// 编辑病种信息 DiseaseId,DiseasesName,Description(没有更改就把原来的传过来) 必填, DiseasesCode不需要填 + /// + /// + /// + [HttpPost] + public ActionResult Edit([FromBody]DiseaseModel diseaseModel) + { + var disease = _db.Diseases.Find(diseaseModel.DiseasesId); + disease.Description = diseaseModel.Description; + disease.DiseasesName = diseaseModel.DiseasesName; + disease.DiseasesCode = new CodeHelper().GetCode(diseaseModel.DiseasesName, 10); + disease.IsUsing = diseaseModel.IsUsing; + _db.SaveChanges(); + return ResponseHelper.Success(); + } + /// + /// 修改病种状态(是否停用) + /// + /// 病种Id + /// + [HttpGet] + public ActionResult Change(int diseaseId) + { + var disease = _db.Diseases.Find(diseaseId); + disease.IsUsing = !disease.IsUsing; + _db.SaveChanges(); + return ResponseHelper.Success(); + } + + + } +} diff --git a/QualityControlPlatform/Controllers/Diseases/QuestionController.cs b/QualityControlPlatform/Controllers/Diseases/QuestionController.cs new file mode 100644 index 0000000..988d503 --- /dev/null +++ b/QualityControlPlatform/Controllers/Diseases/QuestionController.cs @@ -0,0 +1,107 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc; +using QualityControlPlatform.Helpers.Pagination; +using QualityControlPlatform.Helpers.Response; +using QualityControlPlatform.Models.ControllerModels; +using QualityControlPlatform.Models.DbContext; + +namespace QualityControlPlatform.Controllers.Diseases +{ + /// + /// 预设病种的问题 + /// + [Route("api/[controller]/[action]")] + [ApiController] + public class QuestionController : ControllerBase + { + + private readonly QualityControlPlatformContext _db = new QualityControlPlatformContext(); + /// + /// 添加预设问题 + /// + /// ReportTemplateId 不填 + /// + [HttpPost] + public ActionResult Add([FromBody]List reportTemplates) + { + try + { + foreach (var reportTemplate in reportTemplates) + { + _db.ReportTemplates.Add(new ReportTemplate() + { + DiseasesId = reportTemplate.DiseasesId, + Question = reportTemplate.Question, + IfMust = reportTemplate.IfMust, + Type = reportTemplate.Type, + }); + } + _db.SaveChanges(); + } + catch + { + return ResponseHelper.ServerError(); + } + return ResponseHelper.Success(); + } + + /// + /// 删除预设问题 + /// + /// 预设问题Id(必须是没有上报过的问题才可以删除) + /// + [HttpGet] + public ActionResult Delete(int reportTemplateId) + { + if (_db.Reports.Count(p => p.ReportTemplateId == reportTemplateId) > 0) + return ResponseHelper.Fail(ResponseHelper.ErrorEnum.DeletionIsProhibited); + var report = _db.ReportTemplates.Find(reportTemplateId); + _db.ReportTemplates.Remove(report); + _db.SaveChanges(); + return ResponseHelper.Success(); + } + + /// + /// 相关病种的问题 + /// + /// 病种Id + /// 页码 + /// 每页数量 + /// + [HttpGet] + public ActionResult List(int diseasesId, int? page,int number) + { + return ResponseHelper.Success( + PageHelper.Pagination(_db.ReportTemplates.Where(p=>p.DiseasesId==diseasesId).Select(q => new + { + q.DiseasesId, + q.ReportTemplateId, + q.Question, + q.IfMust, + q.Type, + q.Diseases.DiseasesName + }).ToList(), Convert.ToInt32(page), number)); + } + + /// + /// 修改问题内容 + /// + /// 需要传ReportTemplateId,IfMust,Question,Type(没做修改的把原来的值传过来) 如果已经有上报内容的预设问题将不允许修改 + /// + [HttpPost] + public ActionResult Edit([FromBody]ReportTemplateModel reportTemplate) + { + if (_db.Reports.Count(p => p.ReportTemplateId == reportTemplate.ReportTemplateId) > 0) + return ResponseHelper.Fail(ResponseHelper.ErrorEnum.EditIsProhibited); + var reportTemplateEntity = _db.ReportTemplates.Find(reportTemplate.ReportTemplateId); + reportTemplateEntity.IfMust = reportTemplate.IfMust; + reportTemplateEntity.Question = reportTemplate.Question; + reportTemplateEntity.Type = reportTemplate.Type; + _db.SaveChanges(); + return ResponseHelper.Success(); + } + } +} diff --git a/QualityControlPlatform/Controllers/Menus/MenuController.cs b/QualityControlPlatform/Controllers/Menus/MenuController.cs new file mode 100644 index 0000000..0020591 --- /dev/null +++ b/QualityControlPlatform/Controllers/Menus/MenuController.cs @@ -0,0 +1,44 @@ +using System.Linq; +using Microsoft.AspNetCore.Mvc; +using QualityControlPlatform.Helpers.Menu; +using QualityControlPlatform.Helpers.Response; +using QualityControlPlatform.Models.DbContext; + +namespace QualityControlPlatform.Controllers.Menus +{ + /// + /// 菜单相关操作 + /// + [Route("api/[controller]/[action]")] + [ApiController] + public class MenuController : ControllerBase + { + + private readonly QualityControlPlatformContext _db = new QualityControlPlatformContext(); + /// + /// 获取菜单列表 + /// + /// + [HttpGet] + public ActionResult List() + { + return ResponseHelper.Success(MenuHelper.Serialization(_db.Menus.ToList())); + } + + /// + /// 更新菜单名称 + /// + /// + /// + /// + [HttpGet] + public ActionResult Update(int menuId, string menuName) + { + var menu = _db.Menus.Find(menuId); + menu.MenuName = menuName; + _db.SaveChanges(); + return ResponseHelper.Success(); + } + + } +} diff --git a/QualityControlPlatform/Controllers/NewController.cs b/QualityControlPlatform/Controllers/NewController.cs deleted file mode 100644 index a4ec939..0000000 --- a/QualityControlPlatform/Controllers/NewController.cs +++ /dev/null @@ -1,206 +0,0 @@ - -using System; -using System.Collections.Generic; -using System.IO; -using Microsoft.AspNetCore.Http; -using Microsoft.AspNetCore.Mvc; -using QualityControlPlatform.Helpers.Pagination; -using QualityControlPlatform.Helpers.Response; -using System.Linq; -using QualityControlPlatform.Helpers.Auth; -using QualityControlPlatform.Models.ControllerModels; -using QualityControlPlatform.Models.DbContext; - -namespace QualityControlPlatform.Controllers -{ - /// - /// 新闻相关接口 - /// - [Route("api/[controller]/[action]")] - [ApiController] - public class NewController : ControllerBase - { - private readonly QualityControlPlatformContext _db = new QualityControlPlatformContext(); - - /// - /// 获取栏目列表 - /// - /// 当前页码,为空则表示0 - /// - [HttpGet] - public ActionResult PartList(int? page) - { - return ResponseHelper.Success( - PageHelper.Pagination(_db.Parts.ToList(), Convert.ToInt32(page), 8)); - } - - /// - /// 添加栏目 - /// - /// - /// - [HttpPost] - public ActionResult AddPart([FromBody]PartModel partModel) - { - var part = new Part() - { - PartName = partModel.PartName, - PartCode = partModel.PartCode, - Description = partModel.Description, - }; - _db.Parts.Add(part); - _db.SaveChanges(); - return ResponseHelper.Success(); - } - - /// - /// 删除栏目 - /// - /// 需删除栏目Id - /// - [HttpGet] - public ActionResult DeletePart(int partId) - { - var part = _db.Parts.Find(partId); - if(part.News.Count>0) - return ResponseHelper.Success(ResponseHelper.ErrorEnum.DeletionIsProhibited); - _db.Parts.Remove(part); - _db.SaveChanges(); - return ResponseHelper.Success(); - } - /// - /// 新闻列表 - /// - /// - /// 当前页码,为空则表示0 - /// - [HttpGet] - public ActionResult NewList(int partId,int? page) - { - return ResponseHelper.Success(PageHelper.Pagination(_db.News.Where(p => p.PartId == partId).ToList(), - Convert.ToInt32(page), 8)); - } - - /// - /// 新闻详情 - /// - /// - [HttpGet] - public ActionResult NewInfo(int newId) - { - var newSingle = _db.News.Find(newId); - newSingle.User = null; - return ResponseHelper.Success(newSingle); - } - /// - /// 添加新闻 - /// - /// 数据集 - /// - [HttpPost] - public ActionResult AddNew([FromBody]NewsModel newsModel) - { - var newEntity = new News() - { - PartId = newsModel.PartId, - UserId = this.CurUserId(), - Title= newsModel.Title, - Content = newsModel.Content, - Time=DateTime.Now, - }; - _db.News.Add(newEntity); - _db.SaveChanges(); - return ResponseHelper.Success(); - } - /// - /// 编辑新闻 - /// - /// 数据集(NewId 必填) - /// - [HttpPost] - public ActionResult EditNew([FromBody]NewsModel newsModel) - { - var newEntity = _db.News.Find(newsModel.NewId); - newEntity.Title = newsModel.Title; - newEntity.Content = newsModel.Content; - newEntity.UserId = this.CurUserId(); - _db.SaveChanges(); - return ResponseHelper.Success(); - } - /// - /// 添加附件 - /// - /// 新闻Id - /// - [HttpGet] - public ActionResult AddAttached(int newId) - { - try - { - foreach (var file in Request.Form.Files) - { - using var stream = - new FileStream(Path.Combine(Directory.GetCurrentDirectory(), "UploadFile", file.FileName), - FileMode.Create); - file.CopyTo(stream); - var fileEntity = new Attached() - { - NewId = newId, - FileName = file.FileName, - UserId = this.CurUserId(), - AttachedTime = DateTime.Now, - FileSize = $"{file.Length / 1024.0}M", - }; - _db.Attacheds.Add(fileEntity); - } - _db.SaveChanges(); - return ResponseHelper.Success(); - } - catch (Exception) - { - return ResponseHelper.ServerError(); - } - } - /// - /// 获取附件列表 - /// - /// 新闻Id - /// - [HttpGet] - public ActionResult AttachedList(int newId) - { - return ResponseHelper.Success(_db.News.Find(newId).Attacheds); - } - /// - /// 下载附件 - /// - /// 附件id - /// - [HttpGet] - public ActionResult DownloadAttached(int attachedId) - { - var attached = _db.Attacheds.Find(attachedId); - var path = Path.Combine(Directory.GetCurrentDirectory(), "UploadFile", attached.FileName); - - //Read the File data into Byte Array. - var bytes = System.IO.File.ReadAllBytes(path); - //Send the File to Download. - return File(bytes, "application/octet-stream", attached.FileName); - } - /// - /// 删除附件 - /// - /// 附件Id - /// - [HttpGet] - public ActionResult DeleteAttached(int attachedId) - { - var attached = _db.Attacheds.Find(attachedId); - if (System.IO.File.Exists(Path.Combine(Directory.GetCurrentDirectory(), "UploadFile",attached.FileName))) - System.IO.File.Delete(Path.Combine(Directory.GetCurrentDirectory(), "UploadFile", attached.FileName)); - _db.Attacheds.Remove(attached); - _db.SaveChanges(); - return ResponseHelper.Success(); - } - } -} diff --git a/QualityControlPlatform/Controllers/News/NewController.cs b/QualityControlPlatform/Controllers/News/NewController.cs new file mode 100644 index 0000000..9d74161 --- /dev/null +++ b/QualityControlPlatform/Controllers/News/NewController.cs @@ -0,0 +1,318 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using Microsoft.AspNetCore.Mvc; +using QualityControlPlatform.Helpers.Auth; +using QualityControlPlatform.Helpers.File; +using QualityControlPlatform.Helpers.Nlog; +using QualityControlPlatform.Helpers.Pagination; +using QualityControlPlatform.Helpers.Response; +using QualityControlPlatform.Helpers.StringText; +using QualityControlPlatform.Models.ControllerModels; +using QualityControlPlatform.Models.DbContext; + +namespace QualityControlPlatform.Controllers.News +{ + /// + /// 新闻相关接口 + /// + [Route("api/[controller]/[action]")] + [ApiController] + public class NewController : ControllerBase + { + private readonly QualityControlPlatformContext _db = new QualityControlPlatformContext(); + + /// + /// 获取栏目列表 + /// + /// 当前页码,为空则表示0 + /// 每页数量 + /// + [HttpGet] + public ActionResult PartList(int? page,int number) + { + return ResponseHelper.Success( + PageHelper.Pagination(_db.Parts.Select(q=>new PartModel() + { + PartId = q.PartId, + PartCode = q.PartCode, + Description = q.Description, + PartName = q.PartName, + }).ToList(), Convert.ToInt32(page), number)); + } + + /// + /// 添加栏目 + /// + /// + /// + [HttpPost] + public ActionResult AddPart([FromBody]PartModel partModel) + { + if (_db.Parts.Count(p => p.PartName == partModel.PartName) > 0) + return ResponseHelper.Fail(ResponseHelper.ErrorEnum.DataRepeat); + var part = new Part() + { + PartName = partModel.PartName, + PartCode = new CodeHelper().GetCode(partModel.PartName,10), + Description = partModel.Description, + }; + _db.Parts.Add(part); + _db.SaveChanges(); + return ResponseHelper.Success(); + } + + /// + /// 删除栏目 + /// + /// 需删除栏目Id + /// + [HttpGet] + public ActionResult DeletePart(int partId) + { + if (_db.News.Count(p => p.PartId == partId) > 0) + return ResponseHelper.Fail(ResponseHelper.ErrorEnum.DeletionIsProhibited); + var part = _db.Parts.Find(partId); + _db.Parts.Remove(part); + _db.SaveChanges(); + return ResponseHelper.Success(); + } + + /// + /// 编辑栏目 + /// + /// + /// + /// + /// + [HttpGet] + public ActionResult EditPart(int partId, string description, string partName) + { + var part = _db.Parts.Find(partId); + part.Description = description; + part.PartName = partName; + part.PartCode = new CodeHelper().GetCode(part.PartName, 10); + _db.SaveChanges(); + return ResponseHelper.Success(); + } + /// + /// 新闻列表 + /// + /// + /// 当前页码,为空则表示0 + /// 每页数量 + /// 是否发布,不传为true(默认已发布) + /// + [HttpGet] + public ActionResult NewList(int partId,int? page,int number, bool ifRelease=true) + { + var news = _db.News.Where(p => p.PartId == partId).Select(q => new NewsModel() + { + PartId = partId, + NewId = q.NewId, + Content = q.Content, + Title = q.Title, + AttachedId = q.Attacheds.Select(p => p.AttachedId).ToList(), + UserName = q.User.UserName, + IfRelease = q.IfRelease + }).ToList(); + if (ifRelease) + news = _db.News.Where(p => p.PartId == partId && p.IfRelease == ifRelease).Select(q => new NewsModel() + { + PartId = partId, + NewId = q.NewId, + Content = q.Content, + Title = q.Title, + AttachedId = q.Attacheds.Select(p => p.AttachedId).ToList(), + UserName = q.User.UserName, + IfRelease = q.IfRelease + }).ToList(); + return ResponseHelper.Success(PageHelper.Pagination(news, + Convert.ToInt32(page),number )); + } + + /// + /// 新闻详情 + /// + /// + [HttpGet] + public ActionResult NewInfo(int newId) + { + var newSingle = _db.News.Find(newId); + newSingle.User = null; + return ResponseHelper.Success(new + { + newSingle.NewId, + newSingle.User, + newSingle.Title, + newSingle.Content, + newSingle.IfRelease, + newSingle.Time, + AttachedList = _db.Attacheds.Where(p=>p.NewId==newId).Select(q=>new + { + q.FileName, + q.FileSize, + q.AttachedTime, + q.AttachedId + }) + }); + } + /// + /// 添加新闻 + /// + /// 数据集PartId,Title,Content必传 + /// + [HttpPost] + public ActionResult AddNew([FromBody] NewsModel newsModel) + { + var newEntity = new Models.DbContext.News() + { + PartId = newsModel.PartId, + UserId = this.CurUserId(), + Title= newsModel.Title, + IfRelease = newsModel.IfRelease, + Content = newsModel.Content, + Time=DateTime.Now, + }; + _db.News.Add(newEntity); + _db.SaveChanges(); + newsModel.NewId = newEntity.NewId; + newsModel.Homology(); + return ResponseHelper.Success(); + } + /// + /// 编辑新闻 + /// + /// 数据集(NewId,Title,Content 必填) + /// + [HttpPost] + public ActionResult EditNew([FromBody] NewsModel newsModel) + { + var newEntity = _db.News.Find(newsModel.NewId); + newEntity.Title = newsModel.Title; + newEntity.Content = newsModel.Content; + newEntity.UserId = this.CurUserId(); + newEntity.IfRelease = newsModel.IfRelease; + _db.SaveChanges(); + newsModel.NewId = newEntity.NewId; + newsModel.Homology(); + return ResponseHelper.Success(); + } + + /// + /// 删除新闻信息(只能删除未发布的) + /// + /// + /// + [HttpGet] + public ActionResult Delete(int newId) + { + var newEntity = _db.News.Find(newId); + if (newEntity.IfRelease == true) + return ResponseHelper.Fail(ResponseHelper.ErrorEnum.DeletionIsProhibited); + _db.News.Remove(newEntity); + _db.SaveChanges(); + return ResponseHelper.Success(); + } + + /// + /// 修改当前新闻发布状态 + /// + /// 新闻Id + /// + [HttpGet] + public ActionResult Change(int newId) + { + var news= _db.News.Find(newId); + news.IfRelease = !news.IfRelease; + _db.SaveChanges(); + return ResponseHelper.Success(); + } + + /// + /// 添加附件 + /// + /// + [HttpPost] + public ActionResult AddAttached() + { + try + { + var attachedList = new List(); + foreach (var file in Request.Form.Files) + { + FileHelper.CreateFile(Path.Combine(Directory.GetCurrentDirectory(), "UploadFile")); + using var stream = + new FileStream(Path.Combine(Directory.GetCurrentDirectory(), "UploadFile", file.FileName), + FileMode.Create); + file.CopyTo(stream); + var fileEntity = new Attached() + { + FileName = file.FileName, + UserId = this.CurUserId(), + AttachedTime = DateTime.Now, + FileSize = FileHelper.FileSize(file.Length), + }; + _db.Attacheds.Add(fileEntity); + _db.SaveChanges(); + attachedList.Add(fileEntity.AttachedId); + } + return ResponseHelper.Success(attachedList); + } + catch (Exception e) + { + LogHelper.Log.Error(e.ToString()); + return ResponseHelper.ServerError(); + } + } + /// + /// 获取附件列表 + /// + /// 新闻Id + /// + [HttpGet] + public ActionResult AttachedList(int newId) + { + return ResponseHelper.Success(_db.Attacheds.Where(p=>p.NewId==newId).Select(p=>new + { + p.User.UserName, + p.AttachedId, + p.AttachedTime, + p.FileName, + p.FileSize, + })); + } + /// + /// 下载附件 + /// + /// 附件id + /// + [HttpGet] + public ActionResult DownloadAttached(int attachedId) + { + var attached = _db.Attacheds.Find(attachedId); + var path = Path.Combine(Directory.GetCurrentDirectory(), "UploadFile", attached.FileName); + + //Read the File data into Byte Array. + var bytes = System.IO.File.ReadAllBytes(path); + //Send the File to Download. + return File(bytes, "application/octet-stream", attached.FileName); + } + /// + /// 删除附件 + /// + /// 附件Id + /// + [HttpGet] + public ActionResult DeleteAttached(int attachedId) + { + var attached = _db.Attacheds.Find(attachedId); + if (System.IO.File.Exists(Path.Combine(Directory.GetCurrentDirectory(), "UploadFile",attached.FileName))) + System.IO.File.Delete(Path.Combine(Directory.GetCurrentDirectory(), "UploadFile", attached.FileName)); + _db.Attacheds.Remove(attached); + _db.SaveChanges(); + return ResponseHelper.Success(); + } + } +} diff --git a/QualityControlPlatform/Controllers/User/HospitalController.cs b/QualityControlPlatform/Controllers/User/HospitalController.cs new file mode 100644 index 0000000..1ae136f --- /dev/null +++ b/QualityControlPlatform/Controllers/User/HospitalController.cs @@ -0,0 +1,142 @@ +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc; +using QualityControlPlatform.Helpers.Response; +using QualityControlPlatform.Models.DbContext; +using System.Linq; +using QualityControlPlatform.Helpers.Pagination; +using QualityControlPlatform.Helpers.StringText; + +namespace QualityControlPlatform.Controllers.User +{ + /// + /// 医院基础信息 + /// + [Route("api/[controller]/[action]")] + [ApiController] + public class HospitalController : ControllerBase + { + + private readonly QualityControlPlatformContext _db = new QualityControlPlatformContext(); + /// + /// 医院列表 + /// + /// 页码 + /// 数量 + /// + [HttpGet] + public ActionResult List(int page, int number) + { + return ResponseHelper.Success(PageHelper.Pagination(_db.Hospitals.Select(p=> new + { + p.HospitalId, + p.HospitalName, + p.Address, + p.Phone, + p.HospitalCode + }).ToList(), page, number)); + } + + /// + /// 该医院下的用户 + /// + /// + /// + /// + /// + [HttpGet] + public ActionResult UserList(int hospitalId,int page, int number) + { + return ResponseHelper.Success(PageHelper.Pagination(_db.Users.Where(p=>p.HospitalId==hospitalId).Select(p=>new + { + p.UserName, + p.Phone, + p.UserCode, + p.UserId, + p.Department, + p.DepartCode + }).ToList(), page, number)); + } + + /// + /// 该医院下上报过该病种的用户 + /// + /// + /// + /// + /// + /// + [HttpGet] + public ActionResult AnswerUsers(int hospitalId, int diseasesId, int page, int number) + { + return ResponseHelper.Success(PageHelper.Pagination(_db.Reports.Where(p => p.DiseasesId == diseasesId && p.User.HospitalId == hospitalId).Select(s => s.User).Select(p => new + { + p.UserName, + p.Phone, + p.UserCode, + p.UserId, + p.Department, + p.DepartCode + }).Distinct().ToList(),page,number)); + } + + /// + /// 添加医院信息 + /// + /// + /// + /// + /// + [HttpGet] + public ActionResult Add(string hospitalName, string address, string phone) + { + if (_db.Hospitals.Count(p => p.HospitalName == hospitalName) > 0) + return ResponseHelper.Fail(ResponseHelper.ErrorEnum.DataRepeat); + _db.Hospitals.Add(new Hospital() + { + HospitalName = hospitalName, + Address=address, + Phone =phone, + HospitalCode =new CodeHelper().GetCode(hospitalName,hospitalName.Length+1) + }); + _db.SaveChanges(); + return ResponseHelper.Success(); + + } + + /// + /// 修改医院信息 + /// + /// + /// + /// + /// + /// + /// + [HttpGet] + public ActionResult Edit(int hospitalId, string hospitalName, string address, string phone, string hospitalCode) + { + var hospital = _db.Hospitals.Find(hospitalId); + hospital.Address = address; + hospital.Phone = phone; + hospital.HospitalCode = hospitalCode; + hospital.HospitalName= hospitalName; + _db.SaveChanges(); + return ResponseHelper.Success(); + } + + /// + /// 删除医院信息 + /// + /// + /// + [HttpGet] + public ActionResult Delete(int hospitalId) + { + if (_db.Users.Count(p => p.HospitalId == hospitalId) > 0) + return ResponseHelper.Fail(ResponseHelper.ErrorEnum.DeletionIsProhibited); + _db.Hospitals.Remove(_db.Hospitals.Find(hospitalId)); + _db.SaveChanges(); + return ResponseHelper.Success(); + } + } +} diff --git a/QualityControlPlatform/Controllers/User/RoleController.cs b/QualityControlPlatform/Controllers/User/RoleController.cs new file mode 100644 index 0000000..4019b3f --- /dev/null +++ b/QualityControlPlatform/Controllers/User/RoleController.cs @@ -0,0 +1,142 @@ +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc; +using QualityControlPlatform.Helpers.StringText; +using QualityControlPlatform.Models.ControllerModels; +using QualityControlPlatform.Models.DbContext; +using System.Linq; +using QualityControlPlatform.Helpers.Menu; +using QualityControlPlatform.Helpers.Pagination; +using QualityControlPlatform.Helpers.Response; +using QualityControlPlatform.Models.LogicModel; + +namespace QualityControlPlatform.Controllers.User +{ + /// + /// 角色控制 + /// + [Route("api/[controller]/[action]")] + [ApiController] + public class RoleController : ControllerBase + { + + private readonly QualityControlPlatformContext _db = new QualityControlPlatformContext(); + /// + /// 添加角色 + /// + /// + /// + [HttpPost] + public ActionResult Add([FromBody]RoleModel roleModel) + { + if (_db.Roles.Count(p => p.RoleName == roleModel.RoleName) > 0) + return ResponseHelper.Fail(ResponseHelper.ErrorEnum.DataRepeat); + _db.Roles.Add(new Role() + { + RoleCode = new CodeHelper().GetCode(roleModel.RoleName, 8), + RoleName = roleModel.RoleName, + Description = roleModel.Description, + }); + _db.SaveChanges(); + return ResponseHelper.Success(); + } + + /// + /// 删除角色 + /// + /// 角色Id + /// + [HttpGet] + public ActionResult Delete(int roleId) + { + if (_db.UserRoles.Count(p => p.RoleId == roleId) > 0) + return ResponseHelper.Fail(ResponseHelper.ErrorEnum.DeletionIsProhibited); + _db.Roles.Remove(_db.Roles.Find(roleId)); + _db.SaveChanges(); + return ResponseHelper.Success(); + } + + /// + /// 编辑角色 + /// + /// RoleId,Description,RoleName,RoleCode必传 没有修改传原来的值 + /// + [HttpPost] + public ActionResult Edit([FromBody]RoleModel roleModel) + { + var role = _db.Roles.Find(roleModel.RoleId); + role.Description = roleModel.Description; + role.RoleName = roleModel.RoleName; + role.RoleCode = roleModel.RoleCode; + _db.SaveChanges(); + return ResponseHelper.Success(); + } + /// + /// 角色列表 + /// + /// 页码 + /// 数量 + /// + [HttpGet] + public ActionResult List(int page, int number) + { + return ResponseHelper.Success(PageHelper.Pagination(_db.Roles.Select(p=>new + { + p.Description, + p.RoleCode, + p.RoleName, + p.RoleId + }).ToList(),page,number)); + } + + /// + /// 给用户分配角色 + /// + /// 角色Id + /// 用户Id + /// + [HttpGet] + public ActionResult Distribute(int roleId, int userId) + { + if (_db.UserRoles.Count(p => p.RoleId == roleId && p.UserId == userId) > 0) + return ResponseHelper.Fail(ResponseHelper.ErrorEnum.DataRepeat); + _db.UserRoles.Add(new UserRole() + { + UserId = userId, + RoleId = roleId, + }); + _db.SaveChanges(); + return ResponseHelper.Success(); + } + + /// + /// 添加权限, 编辑权限,删除权限 + /// + /// 角色Id,跟权限Id数组 + /// + [HttpPost] + public ActionResult Permission([FromBody] PermissionModel permissionModel) + { + var roleMenus = _db.Rolemenus.Where(p => p.RoleId == permissionModel.RoleId).ToList(); + _db.Rolemenus.RemoveRange(roleMenus); + _db.SaveChanges(); + foreach (var menId in permissionModel.MenuIdList) + { + _db.Rolemenus.Add(new Rolemenu() { RoleId = permissionModel.RoleId, MenuId = menId }); + _db.SaveChanges(); + } + return ResponseHelper.Success(); + } + + /// + /// 获取角色所有权限 + /// + /// + /// + [HttpGet] + public ActionResult PermissionList(int roleId) + { + var roleMenus = _db.Rolemenus.Where(p => p.RoleId == roleId).Select(q=>q.Menu).ToList(); + return ResponseHelper.Success(MenuHelper.Serialization(roleMenus)); + } + } +} diff --git a/QualityControlPlatform/Controllers/User/UserController.cs b/QualityControlPlatform/Controllers/User/UserController.cs new file mode 100644 index 0000000..938b284 --- /dev/null +++ b/QualityControlPlatform/Controllers/User/UserController.cs @@ -0,0 +1,128 @@ +using System; +using System.Collections.Generic; +using System.IdentityModel.Tokens.Jwt; +using System.Linq; +using System.Net.Http; +using System.Security.Claims; +using System.Text; +using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.Caching.Memory; +using Microsoft.Extensions.Configuration; +using Microsoft.IdentityModel.Tokens; +using QualityControlPlatform.Helpers.Cache; +using QualityControlPlatform.Helpers.Menu; +using QualityControlPlatform.Helpers.Response; +using QualityControlPlatform.Helpers.StringText; +using QualityControlPlatform.Models.ControllerModels; +using QualityControlPlatform.Models.DbContext; +using QualityControlPlatform.Models.SmsModel; + +namespace QualityControlPlatform.Controllers.User +{ + /// + /// 用户相关操作控制类 + /// + [Route("api/[controller]/[action]")] + [ApiController] + public class UserController : ControllerBase + { + + private readonly IHttpClientFactory _clientFactory; + + private readonly IMemoryCache _memoryCache; + private readonly QualityControlPlatformContext _db = new QualityControlPlatformContext(); + + + /// + /// 用户相关 + /// + /// + /// + public UserController(IHttpClientFactory clientFactory, IMemoryCache memoryCache) + { + _clientFactory = clientFactory; + _memoryCache = memoryCache; + } + + private IConfiguration Configuration { get; set; } + /// + /// 用户登录 + /// + /// 用户代码 + /// 密码 + /// + [HttpGet] + public ActionResult Login(string userCode, string passWord) + { + var userInfo = _db.Users.FirstOrDefault(p => (p.UserCode == userCode||p.Phone==userCode) && p.Password == passWord); + if (userInfo == null) + return ResponseHelper.Fail(ResponseHelper.ErrorEnum.UserAndPwError); + var userRoles = userInfo.Userroles.Select(x => x.Role).Select(r=>r.Rolemenus).ToList(); + var menuList = new List(); + userRoles.ForEach(x => x.ToList().ForEach(q=>menuList.Add(q.Menu))); + return ResponseHelper.Success(MenuHelper.Serialization(menuList),GetToken(userInfo.UserId.ToString(),userInfo.UserName)); + } + + /// + /// 发送验证码 + /// + /// + /// + [HttpGet] + public ActionResult SendSms(string phone) + { + var code = new CodeHelper().GetCode("", 5); + var smsModel = new SmsModel(_clientFactory,phone,code); + if(smsModel.Code!=200) + return ResponseHelper.Fail(ResponseHelper.ErrorEnum.SmsSendFailed); + new CacheHelper(_memoryCache).Set(phone, code); + return ResponseHelper.Success(); + } + + /// + /// 用户注册 + /// + /// 只需要传UserName, Phone, Password + /// + [HttpPost] + public ActionResult Register([FromBody]UserModel userModel) + { + if(new CacheHelper(_memoryCache).Get(userModel.Phone)!=userModel.Code) + return ResponseHelper.Fail(ResponseHelper.ErrorEnum.SmsIsError); + if (_db.Users.Count(p => p.Phone == userModel.Phone) > 0) + return ResponseHelper.Fail(ResponseHelper.ErrorEnum.PhoneIsUsed); + _db.Users.Add(new Models.DbContext.User() + { + UserCode =new CodeHelper().GetCode(userModel.UserName,8), + UserName = userModel.UserName, + Phone = userModel.Phone, + Password = userModel.Password, + HospitalId = userModel.HospitalId, + }); + _db.SaveChanges(); + return ResponseHelper.Success(); + } + private string GetToken(string userId, string userName) + { + // token中的claims用于储存自定义信息,如登录之后的用户id等 + var claims = new[] + { + new Claim("userId", userId.Trim()), + new Claim("userName",userName.Trim()), + }; + // 获取SecurityKey + var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(Configuration.GetSection("Authentication")["SecurityKey"])); + var token = new JwtSecurityToken( + issuer: Configuration.GetSection("Authentication")["IsSure"], // 发布者 + audience: Configuration.GetSection("Authentication")["Audience"], // 接收者 + notBefore: DateTime.Now, // token签发时间 + expires: DateTime.Now.AddMinutes(30), // token过期时间 + claims: claims, // 该token内存储的自定义字段信息 + signingCredentials: new SigningCredentials(key, SecurityAlgorithms.HmacSha256) // 用于签发token的秘钥算法 + ); + // 返回成功信息,写出token + + return new JwtSecurityTokenHandler().WriteToken(token); + } + } +} diff --git a/QualityControlPlatform/Helpers/Auth/JwtHelper.cs b/QualityControlPlatform/Helpers/Auth/JwtHelper.cs index 2b4a005..5e5fb13 100644 --- a/QualityControlPlatform/Helpers/Auth/JwtHelper.cs +++ b/QualityControlPlatform/Helpers/Auth/JwtHelper.cs @@ -13,10 +13,10 @@ namespace QualityControlPlatform.Helpers.Auth /// public static int CurUserId(this ControllerBase controller) { - var auth = controller.HttpContext.AuthenticateAsync().Result.Principal.Claims; - var userId = auth.FirstOrDefault(t => t.Type.Equals("userId"))?.Value; - - return Convert.ToInt32(userId); + //var auth = controller.HttpContext.AuthenticateAsync().Result.Principal.Claims; + //var userId = auth.FirstOrDefault(t => t.Type.Equals("userId"))?.Value; + //return Convert.ToInt32(userId); + return 1; } /// diff --git a/QualityControlPlatform/Helpers/Cache/CacheHelper.cs b/QualityControlPlatform/Helpers/Cache/CacheHelper.cs new file mode 100644 index 0000000..65fce3f --- /dev/null +++ b/QualityControlPlatform/Helpers/Cache/CacheHelper.cs @@ -0,0 +1,45 @@ +using System; +using Microsoft.Extensions.Caching.Memory; + +namespace QualityControlPlatform.Helpers.Cache +{ + /// + /// 缓存框架 + /// + public class CacheHelper + { + private readonly IMemoryCache _memoryCache; + + /// + /// 缓存框架 + /// + /// + public CacheHelper(IMemoryCache memoryCache) + { + _memoryCache = memoryCache; + } + + + /// + /// 存缓存 + /// + /// 关键词 + /// 值 + public void Set(string key, string value) + { + var cacheOptions = new MemoryCacheEntryOptions() + .SetSlidingExpiration(TimeSpan.FromMinutes(5)); + _memoryCache.Set(key, value,cacheOptions); + } + + /// + /// 获取缓存值 + /// + /// + /// + public string Get(string key) + { + return _memoryCache.TryGetValue(key, out string value) ? value:""; + } + } +} diff --git a/QualityControlPlatform/Helpers/File/FileHelper.cs b/QualityControlPlatform/Helpers/File/FileHelper.cs new file mode 100644 index 0000000..7715892 --- /dev/null +++ b/QualityControlPlatform/Helpers/File/FileHelper.cs @@ -0,0 +1,55 @@ +using System; +using System.Collections.Generic; +using System.IO; +using QualityControlPlatform.Helpers.Nlog; + +namespace QualityControlPlatform.Helpers.File +{ + /// + /// 文件相关操作 + /// + public class FileHelper + { + /// + /// 创建文件夹 + /// + /// + public static void CreateFile(string file) + { + if (Directory.Exists(file)) + //文件夹已经存在 + return; + + try + { + Directory.CreateDirectory(file); + //创建成功 + } + catch (Exception e) + { + LogHelper.Log.Error($"文件创建出错:{e.ToString()}"); + } + + } + + /// + /// 获取文件大小 + /// + /// 文件长度 + /// + public static string FileSize(long length) + { + var unit = new List() { "K", "M", "G" }; + var size = Math.Round(length / 1024.0, 2); + var index = 0; + while (size > 1024&&index<2) + { + index++; + size = Math.Round(size/1024,2); + } + + return $"{size}{unit[index]}"; + + } + } +} diff --git a/QualityControlPlatform/Helpers/Menu/MenuHelper.cs b/QualityControlPlatform/Helpers/Menu/MenuHelper.cs new file mode 100644 index 0000000..b48476c --- /dev/null +++ b/QualityControlPlatform/Helpers/Menu/MenuHelper.cs @@ -0,0 +1,45 @@ +using System.Collections.Generic; +using System.Linq; +using QualityControlPlatform.Models.ControllerModels; + +namespace QualityControlPlatform.Helpers.Menu +{ + /// + /// 菜单对象封装 + /// + public class MenuHelper + { + /// + /// 把菜单对象封装成标准的 + /// + /// 菜单对象 + /// + public static List Serialization(List menuList) + { + var menus = (from menu in menuList + where menu.ParentId == null + select new MenuModel + { + MenuId = menu.MenuId, + MenuName = menu.MenuName, + MenuCode = menu.MenuCode, + Description = menu.Description, + ChildModels = new List() + }).ToList(); + + foreach (var menu in menuList) + { + var parentMenu = menus.Find(p => p.MenuId == menu.ParentId); + parentMenu?.ChildModels.Add(new MenuModel + { + MenuId= menu.MenuId, + MenuName= menu.MenuName, + MenuCode = menu.MenuCode, + Description = menu.Description, + ParentId= menu.ParentId, + }); + } + return menus; + } + } +} diff --git a/QualityControlPlatform/Helpers/Nlog/LogHelper.cs b/QualityControlPlatform/Helpers/Nlog/LogHelper.cs new file mode 100644 index 0000000..d22d9d2 --- /dev/null +++ b/QualityControlPlatform/Helpers/Nlog/LogHelper.cs @@ -0,0 +1,17 @@ +using NLog; + +namespace QualityControlPlatform.Helpers.Nlog +{ + /// + /// 日志静态类 + /// + public class LogHelper + { + + /// + /// 日志调用对象 + /// + public static readonly NLog.Logger Log = LogManager.GetCurrentClassLogger(); + + } +} \ No newline at end of file diff --git a/QualityControlPlatform/Helpers/Response/ResponseHelper.cs b/QualityControlPlatform/Helpers/Response/ResponseHelper.cs index c416105..5700b29 100644 --- a/QualityControlPlatform/Helpers/Response/ResponseHelper.cs +++ b/QualityControlPlatform/Helpers/Response/ResponseHelper.cs @@ -35,21 +35,65 @@ namespace QualityControlPlatform.Helpers.Response [Description("参数错误")] ParamsError = 50002, + /// + /// 验证码发送失败 + /// + [Description("验证码发送失败")] + SmsSendFailed = 50003, + + + /// + /// 验证码错误 + /// + [Description("验证码错误")] + SmsIsError = 50004, + + + /// /// 登录失败,用户名或密码错误 /// [Description("登录失败,用户名或密码错误")] UserAndPwError = 50011, + + + /// + /// 手机号已被注册 + /// + [Description("手机号已被注册")] + PhoneIsUsed = 50012, + /// /// 未找到数据 /// [Description("未找到数据")] NotFindData = 30041, + + /// /// 禁止删除 /// [Description("禁止删除")] - DeletionIsProhibited = 30011 + DeletionIsProhibited = 30011, + + /// + /// 禁止修改 + /// + [Description("禁止修改")] + EditIsProhibited = 30012, + + /// + /// 禁止修改 + /// + [Description("编辑人与发布人不同,修改被禁止")] + PeopleIsDifferent = 30013, + + /// + /// 重复添加 + /// + [Description("重复添加")] + DataRepeat = 30014, + } /// @@ -107,6 +151,18 @@ namespace QualityControlPlatform.Helpers.Response var result = new ResultModel(200, "Success", data); return new OkObjectResult(result); } + + /// + /// 带token的成功返回 + /// + /// + /// + /// + public static ActionResult Success(object data, string token)//File(ms.ToArray(), "application/pdf"); + { + var result = new ResultTokenModel(200, "Success", data, token); + return new OkObjectResult(result); + } /// /// 返回自定义错误 /// @@ -160,4 +216,31 @@ namespace QualityControlPlatform.Helpers.Response Data = data; } } + + /// + /// 带token的实体 + /// + public class ResultTokenModel:ResultModel + { + + /// + /// 令牌 + /// + public string Token { get; set; } + + /// + /// 有参构造 + /// + /// + /// + /// + /// + public ResultTokenModel(int code, string message, object data, string token) + { + Code = code; + Message = message; + Data = data; + Token = token; + } + } } diff --git a/QualityControlPlatform/Helpers/Sms/SmsHelper.cs b/QualityControlPlatform/Helpers/Sms/SmsHelper.cs new file mode 100644 index 0000000..09fd4a9 --- /dev/null +++ b/QualityControlPlatform/Helpers/Sms/SmsHelper.cs @@ -0,0 +1,75 @@ +using System; +using System.Collections.Generic; +using System.Net.Http; +using System.Text.Json; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Mvc.RazorPages; +using Newtonsoft.Json; +using QualityControlPlatform.Models.SmsModel; + +namespace QualityControlPlatform.Helpers.Sms +{ + /// + /// 短信发送帮助类 + /// + public class SmsHelper:PageModel + { + private readonly IHttpClientFactory _clientFactory; + /// + /// 短信返回 + /// + public SmsModel SmsModel { get; private set; } + + /// + /// 获取返回是否正确 + /// + public bool GetBranchesError { get; private set; } + + /// + /// 需发送验证码手机号 + /// + public string Phone { get; set; } + /// + /// 需发送验证码 + /// + public string Code { get; set; } + + /// + /// 发送短信接口 + /// + /// + /// 电话 + /// 验证码 + public SmsHelper(IHttpClientFactory clientFactory,string phone, string code) + { + SmsModel = new SmsModel(); + _clientFactory = clientFactory; + Phone = phone; + Code = code; + } + + /// + /// 发送 + /// + public async Task OnGet() + { + var request = new HttpRequestMessage(HttpMethod.Post, + $"http://wx.hhzyy.com/micro/api/smsHelp?callNo=xbd_code_001&tel={Phone}&code={Code}"); + + var client = _clientFactory.CreateClient(); + + var response = await client.SendAsync(request); + + if (response.IsSuccessStatusCode) + { + var responseStr = await response.Content.ReadAsStringAsync(); + SmsModel = JsonConvert.DeserializeObject(responseStr); + } + else + { + GetBranchesError = true; + SmsModel = null; + } + } + } +} diff --git a/QualityControlPlatform/Helpers/StringText/CodeHelper.cs b/QualityControlPlatform/Helpers/StringText/CodeHelper.cs new file mode 100644 index 0000000..f3c896a --- /dev/null +++ b/QualityControlPlatform/Helpers/StringText/CodeHelper.cs @@ -0,0 +1,25 @@ +using System; + +namespace QualityControlPlatform.Helpers.StringText +{ + /// + /// 相关码的生成 + /// + public class CodeHelper + { + /// + ///获取文本数字码 + /// + /// 需要转换的文本 + /// 需要码长度 + /// + public string GetCode(string code, int length) + { + code = PinYinHelper.GetFirstPinyin(code); + var random = new Random(); + var numberLength = length - code.Length; + code += random.Next(Convert.ToInt32(Math.Pow(10, numberLength)),Convert.ToInt32(Math.Pow(10, numberLength + 1))); + return code; + } + } +} diff --git a/QualityControlPlatform/Helpers/StringText/PinYinHelper.cs b/QualityControlPlatform/Helpers/StringText/PinYinHelper.cs new file mode 100644 index 0000000..669ac97 --- /dev/null +++ b/QualityControlPlatform/Helpers/StringText/PinYinHelper.cs @@ -0,0 +1,33 @@ +using Microsoft.International.Converters.PinYinConverter; +namespace QualityControlPlatform.Helpers.StringText +{ + /// + /// 拼音帮助类 + /// + public class PinYinHelper + { + /// + /// 获取首字母 + /// + /// + /// + public static string GetFirstPinyin(string str) + { + var r = string.Empty; + foreach (var obj in str) + { + try + { + var chineseChar = new ChineseChar(obj); + var t = chineseChar.Pinyins[0]; + r += t[..1]; + } + catch + { + r += obj.ToString(); + } + } + return r; + } + } +} diff --git a/QualityControlPlatform/Middleware/JwtMiddleware.cs b/QualityControlPlatform/Middleware/JwtMiddleware.cs index 5315536..8b9718b 100644 --- a/QualityControlPlatform/Middleware/JwtMiddleware.cs +++ b/QualityControlPlatform/Middleware/JwtMiddleware.cs @@ -8,6 +8,7 @@ using Microsoft.AspNetCore.Http; using Microsoft.Extensions.Configuration; using Microsoft.IdentityModel.Tokens; using Newtonsoft.Json; +using QualityControlPlatform.Helpers.Nlog; using QualityControlPlatform.Helpers.Response; using static QualityControlPlatform.Helpers.Response.ResponseHelper; @@ -39,6 +40,7 @@ namespace QualityControlPlatform.Middleware /// public async Task Invoke(HttpContext context) { + if (context == null) throw new ArgumentNullException(nameof(context)); var tokenStr = context.Request.Headers["Authorization"].ToString(); //未携带token请求不需要授权页面,让其直接通过,用方法名上面的校验来判断 @@ -65,10 +67,8 @@ namespace QualityControlPlatform.Middleware } var claims = new[] { - new Claim("userCode",GetJwtSecurityToken(tokenStr)?.Claims.FirstOrDefault(p=>p.Type.Equals("userCode"))?.Value) , + new Claim("userId",GetJwtSecurityToken(tokenStr)?.Claims.FirstOrDefault(p=>p.Type.Equals("userId"))?.Value) , new Claim("userName",GetJwtSecurityToken(tokenStr)?.Claims.FirstOrDefault(p=>p.Type.Equals("userName"))?.Value), - new Claim("deptCode",GetJwtSecurityToken(tokenStr)?.Claims.FirstOrDefault(p=>p.Type.Equals("deptCode"))?.Value) , - new Claim("deptName",GetJwtSecurityToken(tokenStr)?.Claims.FirstOrDefault(p=>p.Type.Equals("deptName"))?.Value) }; // 获取SecurityKey var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(Configuration.GetSection("Authentication")["SecurityKey"])); diff --git a/QualityControlPlatform/Models/ControllerModels/DiseaseModel.cs b/QualityControlPlatform/Models/ControllerModels/DiseaseModel.cs new file mode 100644 index 0000000..6b9dcbd --- /dev/null +++ b/QualityControlPlatform/Models/ControllerModels/DiseaseModel.cs @@ -0,0 +1,29 @@ +namespace QualityControlPlatform.Models.ControllerModels +{ + /// + /// 病种实体 + /// + public class DiseaseModel + { + /// + /// 病种Id + /// + public int DiseasesId { get; set; } + /// + /// 病种名称 + /// + public string DiseasesName { get; set; } + /// + /// 病种代码 + /// + public string DiseasesCode { get; set; } + /// + /// 病种描述 + /// + public string Description { get; set; } + /// + /// 是否使用 + /// + public bool? IsUsing { get; set; } + } +} diff --git a/QualityControlPlatform/Models/ControllerModels/MenuModel.cs b/QualityControlPlatform/Models/ControllerModels/MenuModel.cs new file mode 100644 index 0000000..6603479 --- /dev/null +++ b/QualityControlPlatform/Models/ControllerModels/MenuModel.cs @@ -0,0 +1,36 @@ +using System.Collections.Generic; + +namespace QualityControlPlatform.Models.ControllerModels +{ + /// + /// 菜单实体 + /// + public class MenuModel + { + /// + /// 菜单Id + /// + public int MenuId { get; set; } + /// + /// 菜单名称 + /// + public string MenuName { get; set; } + /// + /// 菜单代码 + /// + public string MenuCode { get; set; } + /// + /// 描述 + /// + public string Description { get; set; } + /// + /// 父级Id + /// + public int? ParentId { get; set; } + + /// + /// 子Id + /// + public List ChildModels { get; set; } + } +} diff --git a/QualityControlPlatform/Models/ControllerModels/NewsModel.cs b/QualityControlPlatform/Models/ControllerModels/NewsModel.cs index 5e82449..ef42647 100644 --- a/QualityControlPlatform/Models/ControllerModels/NewsModel.cs +++ b/QualityControlPlatform/Models/ControllerModels/NewsModel.cs @@ -1,10 +1,16 @@ -namespace QualityControlPlatform.Models.ControllerModels +using System.Collections.Generic; +using System.Linq; +using QualityControlPlatform.Models.DbContext; + +namespace QualityControlPlatform.Models.ControllerModels { /// /// 用来接收接口参数的Model /// public class NewsModel { + + private readonly QualityControlPlatformContext _db = new QualityControlPlatformContext(); /// /// 栏目Id /// @@ -21,5 +27,33 @@ /// 新闻Id /// public int? NewId { get; set; } + + /// + /// 附件Id列表 + /// + public List AttachedId { get; set; } + + /// + /// 是否发布 + /// + public bool? IfRelease { get; set; } + + /// + /// 用户名 不需要传,只作显示使用 + /// + /// + public string UserName { get; set; } + + /// + /// 将栏目跟新闻对应 + /// + public void Homology() + { + foreach (var attached in AttachedId.Select(attachedId => _db.Attacheds.Find(attachedId))) + { + attached.NewId = NewId; + _db.SaveChanges(); + } + } } } diff --git a/QualityControlPlatform/Models/ControllerModels/PartModel.cs b/QualityControlPlatform/Models/ControllerModels/PartModel.cs index eb794f7..9f279f7 100644 --- a/QualityControlPlatform/Models/ControllerModels/PartModel.cs +++ b/QualityControlPlatform/Models/ControllerModels/PartModel.cs @@ -6,15 +6,15 @@ public class PartModel { /// - /// 栏目Id + /// 栏目Id 添加的时候不需要上传 /// public int? PartId { get; set; } /// - /// 栏目名 + /// 栏目名 必传 /// public string PartName { get; set; } /// - /// 栏目代码 + /// 栏目代码 不需要上传 /// public string PartCode { get; set; } /// diff --git a/QualityControlPlatform/Models/ControllerModels/ReportModel.cs b/QualityControlPlatform/Models/ControllerModels/ReportModel.cs new file mode 100644 index 0000000..c9a551e --- /dev/null +++ b/QualityControlPlatform/Models/ControllerModels/ReportModel.cs @@ -0,0 +1,35 @@ +using System; + +namespace QualityControlPlatform.Models.ControllerModels +{ + /// + /// 回答实体 + /// + public class ReportModel + { + /// + /// 回答Id 新增不需要传 + /// + public int ReportId { get; set; } + /// + /// 病种Id + /// + public int? DiseasesId { get; set; } + /// + /// 预设问题Id + /// + public int? ReportTemplateId { get; set; } + /// + /// 用户Id(谁填报的) + /// + public int? UserId { get; set; } + /// + /// 填报内容 + /// + public string ReportContent { get; set; } + /// + /// 填报时间 + /// + public DateTime? ReportTime { get; set; } + } +} diff --git a/QualityControlPlatform/Models/ControllerModels/ReportTemplateModel.cs b/QualityControlPlatform/Models/ControllerModels/ReportTemplateModel.cs new file mode 100644 index 0000000..c65cf70 --- /dev/null +++ b/QualityControlPlatform/Models/ControllerModels/ReportTemplateModel.cs @@ -0,0 +1,30 @@ +namespace QualityControlPlatform.Models.ControllerModels +{ + /// + /// 预设问题Id + /// + public class ReportTemplateModel + { + /// + /// 预设问题Id 新增不需要填 + /// + public int ReportTemplateId { get; set; } + /// + /// 病种Id + /// + public int? DiseasesId { get; set; } + /// + /// 预设问题 + /// + public string Question { get; set; } + /// + /// 是否必填 + /// + public bool? IfMust { get; set; } + /// + /// 类型 int 整数 decimal 小数 date 时间 string 文本 + /// + public string Type { get; set; } + + } +} diff --git a/QualityControlPlatform/Models/ControllerModels/RoleModel.cs b/QualityControlPlatform/Models/ControllerModels/RoleModel.cs new file mode 100644 index 0000000..347950c --- /dev/null +++ b/QualityControlPlatform/Models/ControllerModels/RoleModel.cs @@ -0,0 +1,26 @@ +namespace QualityControlPlatform.Models.ControllerModels +{ + /// + /// 角色实体 + /// + public class RoleModel + { + + /// + /// 角色Id + /// + public int RoleId { get; set; } + /// + /// 角色名称 + /// + public string RoleName { get; set; } + /// + /// 角色代码 + /// + public string RoleCode { get; set; } + /// + /// 角色描述 + /// + public string Description { get; set; } + } +} diff --git a/QualityControlPlatform/Models/ControllerModels/UserModel.cs b/QualityControlPlatform/Models/ControllerModels/UserModel.cs new file mode 100644 index 0000000..a95a064 --- /dev/null +++ b/QualityControlPlatform/Models/ControllerModels/UserModel.cs @@ -0,0 +1,39 @@ +namespace QualityControlPlatform.Models.ControllerModels +{ + /// + /// 用户数据 + /// + public class UserModel + { + + /// + /// 用户id 新增不填 + /// + public int? UserId { get; set; } + /// + /// 所属医院Id + /// + public int? HospitalId { get; set; } + /// + /// 用户名 + /// + public string UserName { get; set; } + /// + /// 用户代码 + /// + public string UserCode { get; set; } + /// + /// 用户密码 + /// + public string Password { get; set; } + /// + /// 电话号码 搞自主注册用 + /// + public string Phone { get; set; } + + /// + /// 验证码 + /// + public string Code{ get; set; } + } +} diff --git a/QualityControlPlatform/Models/DbContext/Disease.cs b/QualityControlPlatform/Models/DbContext/Disease.cs index 153b40d..91f8249 100644 --- a/QualityControlPlatform/Models/DbContext/Disease.cs +++ b/QualityControlPlatform/Models/DbContext/Disease.cs @@ -10,15 +10,16 @@ namespace QualityControlPlatform.Models.DbContext public Disease() { Reports = new HashSet(); - Reporttemplates = new HashSet(); + ReportTemplates = new HashSet(); } public int DiseasesId { get; set; } public string DiseasesName { get; set; } public string DiseasesCode { get; set; } public string Description { get; set; } + public bool? IsUsing { get; set; } public virtual ICollection Reports { get; set; } - public virtual ICollection Reporttemplates { get; set; } + public virtual ICollection ReportTemplates { get; set; } } } diff --git a/QualityControlPlatform/Models/DbContext/News.cs b/QualityControlPlatform/Models/DbContext/News.cs index a9bea07..821d94f 100644 --- a/QualityControlPlatform/Models/DbContext/News.cs +++ b/QualityControlPlatform/Models/DbContext/News.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using QualityControlPlatform.Models.ControllerModels; #nullable disable @@ -22,9 +23,12 @@ namespace QualityControlPlatform.Models.DbContext public string Content { get; set; } public DateTime? Time { get; set; } + public bool? IfRelease { get; set; } + public virtual Part Part { get; set; } public virtual User User { get; set; } public virtual ICollection Attacheds { get; set; } + } } diff --git a/QualityControlPlatform/Models/DbContext/QualityControlPlatformContext.cs b/QualityControlPlatform/Models/DbContext/QualityControlPlatformContext.cs index 90bc7f2..baaf9d4 100644 --- a/QualityControlPlatform/Models/DbContext/QualityControlPlatformContext.cs +++ b/QualityControlPlatform/Models/DbContext/QualityControlPlatformContext.cs @@ -58,7 +58,7 @@ namespace QualityControlPlatform.Models.DbContext /// /// 内容上报问题表 /// - public virtual DbSet Reporttemplates { get; set; } + public virtual DbSet ReportTemplates { get; set; } /// /// 角色表 /// @@ -74,7 +74,7 @@ namespace QualityControlPlatform.Models.DbContext /// /// 用户角色表 /// - public virtual DbSet UserRoles { get; set; } + public virtual DbSet UserRoles { get; set; } protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { @@ -220,14 +220,12 @@ namespace QualityControlPlatform.Models.DbContext .HasConstraintName("FK_Reference_12"); }); - modelBuilder.Entity(entity => + modelBuilder.Entity(entity => { entity.ToTable("reporttemplates"); entity.HasIndex(e => e.DiseasesId, "FK_Reference_9"); - entity.Property(e => e.IfMust).HasColumnType("bit(1)"); - entity.Property(e => e.Question).HasMaxLength(300); entity.Property(e => e.Type) @@ -235,7 +233,7 @@ namespace QualityControlPlatform.Models.DbContext .HasComment("int 整型\r\n decimal 小数\r\n date 时间\r\n string 文本"); entity.HasOne(d => d.Diseases) - .WithMany(p => p.Reporttemplates) + .WithMany(p => p.ReportTemplates) .HasForeignKey(d => d.DiseasesId) .HasConstraintName("FK_Reference_9"); }); @@ -294,7 +292,7 @@ namespace QualityControlPlatform.Models.DbContext .HasConstraintName("FK_Reference_14"); }); - modelBuilder.Entity(entity => + modelBuilder.Entity(entity => { entity.ToTable("userrole"); diff --git a/QualityControlPlatform/Models/DbContext/Report.cs b/QualityControlPlatform/Models/DbContext/Report.cs index 9045f07..f5c3db6 100644 --- a/QualityControlPlatform/Models/DbContext/Report.cs +++ b/QualityControlPlatform/Models/DbContext/Report.cs @@ -15,7 +15,7 @@ namespace QualityControlPlatform.Models.DbContext public DateTime? ReportTime { get; set; } public virtual Disease Diseases { get; set; } - public virtual Reporttemplate ReportTemplate { get; set; } + public virtual ReportTemplate ReportTemplate { get; set; } public virtual User User { get; set; } } } diff --git a/QualityControlPlatform/Models/DbContext/ReportTemplate.cs b/QualityControlPlatform/Models/DbContext/ReportTemplate.cs index ac5a9ea..811dd6f 100644 --- a/QualityControlPlatform/Models/DbContext/ReportTemplate.cs +++ b/QualityControlPlatform/Models/DbContext/ReportTemplate.cs @@ -5,9 +5,9 @@ using System.Collections.Generic; namespace QualityControlPlatform.Models.DbContext { - public partial class Reporttemplate + public partial class ReportTemplate { - public Reporttemplate() + public ReportTemplate() { Reports = new HashSet(); } @@ -15,7 +15,7 @@ namespace QualityControlPlatform.Models.DbContext public int ReportTemplateId { get; set; } public int? DiseasesId { get; set; } public string Question { get; set; } - public ulong? IfMust { get; set; } + public bool? IfMust { get; set; } public string Type { get; set; } public virtual Disease Diseases { get; set; } diff --git a/QualityControlPlatform/Models/DbContext/Role.cs b/QualityControlPlatform/Models/DbContext/Role.cs index 77590e8..65a465b 100644 --- a/QualityControlPlatform/Models/DbContext/Role.cs +++ b/QualityControlPlatform/Models/DbContext/Role.cs @@ -10,7 +10,7 @@ namespace QualityControlPlatform.Models.DbContext public Role() { Rolemenus = new HashSet(); - Userroles = new HashSet(); + Userroles = new HashSet(); } public int RoleId { get; set; } @@ -19,6 +19,6 @@ namespace QualityControlPlatform.Models.DbContext public string Description { get; set; } public virtual ICollection Rolemenus { get; set; } - public virtual ICollection Userroles { get; set; } + public virtual ICollection Userroles { get; set; } } } diff --git a/QualityControlPlatform/Models/DbContext/User.cs b/QualityControlPlatform/Models/DbContext/User.cs index c3caa91..fbd6059 100644 --- a/QualityControlPlatform/Models/DbContext/User.cs +++ b/QualityControlPlatform/Models/DbContext/User.cs @@ -12,7 +12,7 @@ namespace QualityControlPlatform.Models.DbContext Attacheds = new HashSet(); News = new HashSet(); Reports = new HashSet(); - Userroles = new HashSet(); + Userroles = new HashSet(); } public int UserId { get; set; } @@ -28,6 +28,6 @@ namespace QualityControlPlatform.Models.DbContext public virtual ICollection Attacheds { get; set; } public virtual ICollection News { get; set; } public virtual ICollection Reports { get; set; } - public virtual ICollection Userroles { get; set; } + public virtual ICollection Userroles { get; set; } } } diff --git a/QualityControlPlatform/Models/DbContext/UserRole.cs b/QualityControlPlatform/Models/DbContext/UserRole.cs index acf28b8..c71d71d 100644 --- a/QualityControlPlatform/Models/DbContext/UserRole.cs +++ b/QualityControlPlatform/Models/DbContext/UserRole.cs @@ -5,7 +5,7 @@ using System.Collections.Generic; namespace QualityControlPlatform.Models.DbContext { - public partial class Userrole + public partial class UserRole { public int UserRoleId { get; set; } public int? RoleId { get; set; } diff --git a/QualityControlPlatform/Models/LogicModel/PermissionModel.cs b/QualityControlPlatform/Models/LogicModel/PermissionModel.cs new file mode 100644 index 0000000..91c2d67 --- /dev/null +++ b/QualityControlPlatform/Models/LogicModel/PermissionModel.cs @@ -0,0 +1,19 @@ +using System.Collections.Generic; + +namespace QualityControlPlatform.Models.LogicModel +{ + /// + /// 权限实体 + /// + public class PermissionModel + { + /// + /// 角色Id + /// + public int RoleId { get; set; } + /// + /// 菜单Id + /// + public List MenuIdList { get; set; } + } +} diff --git a/QualityControlPlatform/Models/SmsModel/SmsModel.cs b/QualityControlPlatform/Models/SmsModel/SmsModel.cs new file mode 100644 index 0000000..d941726 --- /dev/null +++ b/QualityControlPlatform/Models/SmsModel/SmsModel.cs @@ -0,0 +1,43 @@ +using System.Net.Http; +using QualityControlPlatform.Helpers.Sms; + +namespace QualityControlPlatform.Models.SmsModel +{ + /// + /// 短信回传实体 + /// + public class SmsModel + { + + /// + /// 无参构造 + /// + public SmsModel() + { + + } + /// + /// 发送短信验证 + /// + /// + /// + /// + public SmsModel(IHttpClientFactory httpClientFactory, string phone, string code) + { + var smsHelper = new SmsHelper(httpClientFactory, phone, code); + var response = smsHelper?.OnGet(); + response.Wait(); + Code = smsHelper.SmsModel.Code; + Message = smsHelper.SmsModel.Message; + } + /// + /// 回传编码 + /// + public int Code { get; set; } + /// + /// 回传信息 + /// + public string Message { get; set; } + + } +} diff --git a/QualityControlPlatform/Nlog.config b/QualityControlPlatform/Nlog.config new file mode 100644 index 0000000..0821688 --- /dev/null +++ b/QualityControlPlatform/Nlog.config @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/QualityControlPlatform/Program.cs b/QualityControlPlatform/Program.cs index 78ebb74..19ba7df 100644 --- a/QualityControlPlatform/Program.cs +++ b/QualityControlPlatform/Program.cs @@ -6,6 +6,7 @@ using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; +using NLog.Web; namespace QualityControlPlatform { @@ -28,11 +29,12 @@ namespace QualityControlPlatform /// /// /// + public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup(); - }); + }).UseNLog(); } } diff --git a/QualityControlPlatform/Properties/PublishProfiles/FolderProfile.pubxml.user b/QualityControlPlatform/Properties/PublishProfiles/FolderProfile.pubxml.user index 40738bc..7ae1830 100644 --- a/QualityControlPlatform/Properties/PublishProfiles/FolderProfile.pubxml.user +++ b/QualityControlPlatform/Properties/PublishProfiles/FolderProfile.pubxml.user @@ -5,6 +5,6 @@ https://go.microsoft.com/fwlink/?LinkID=208121. <_PublishTargetUrl>C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform\bin\Release\netcoreapp3.1\publish\ - True|2022-03-17T07:01:35.6143080Z;True|2022-03-17T14:42:43.6898518+08:00;True|2022-03-17T13:52:25.3883162+08:00;True|2022-03-16T17:08:50.2525079+08:00; + True|2022-04-02T03:07:02.7025104Z;True|2022-04-02T11:05:05.0164538+08:00;True|2022-04-02T10:57:08.8591733+08:00;True|2022-04-01T15:57:57.5665938+08:00;True|2022-04-01T15:54:58.0119669+08:00;False|2022-04-01T15:53:47.6374896+08:00;False|2022-04-01T15:53:43.2750363+08:00;True|2022-04-01T15:03:24.1510077+08:00;True|2022-04-01T14:59:08.0985019+08:00;True|2022-04-01T11:54:56.3726545+08:00;True|2022-04-01T09:46:24.5186543+08:00;True|2022-03-31T17:28:22.1977365+08:00;True|2022-03-31T15:54:28.1290856+08:00;True|2022-03-31T14:06:22.8758855+08:00;True|2022-03-31T13:54:25.5675661+08:00;True|2022-03-31T13:51:30.7873503+08:00;True|2022-03-30T16:41:42.6453509+08:00;True|2022-03-30T16:35:53.6149884+08:00;True|2022-03-30T16:34:00.2235055+08:00;True|2022-03-30T14:38:56.8683897+08:00;True|2022-03-30T11:16:54.7219857+08:00;True|2022-03-30T11:03:11.0441361+08:00;True|2022-03-30T11:00:14.2103028+08:00;True|2022-03-30T10:55:09.9274616+08:00;True|2022-03-29T17:15:18.1938072+08:00;True|2022-03-29T17:09:11.6160085+08:00;True|2022-03-29T16:09:51.8242088+08:00;True|2022-03-29T16:04:11.2664468+08:00;True|2022-03-29T14:25:43.7878641+08:00;True|2022-03-29T14:20:22.2346044+08:00;True|2022-03-29T14:16:02.5438368+08:00;True|2022-03-29T11:06:33.8952384+08:00;True|2022-03-29T10:33:15.7460920+08:00;True|2022-03-29T10:29:07.5049720+08:00;True|2022-03-29T10:28:47.4402777+08:00;False|2022-03-29T10:28:20.2160731+08:00;False|2022-03-29T10:28:14.3347639+08:00;True|2022-03-28T17:21:08.5705042+08:00;True|2022-03-28T17:20:46.6275941+08:00;True|2022-03-28T17:19:44.2274822+08:00;True|2022-03-28T17:15:34.3182712+08:00;True|2022-03-28T17:09:12.8709067+08:00;True|2022-03-28T17:08:18.4171207+08:00;True|2022-03-28T17:03:16.6659368+08:00;True|2022-03-28T16:53:51.8486606+08:00;True|2022-03-28T16:50:06.5700087+08:00;True|2022-03-28T16:43:41.4908492+08:00;True|2022-03-28T15:49:19.8644978+08:00;True|2022-03-28T15:30:16.1887515+08:00;True|2022-03-28T15:06:57.2865964+08:00;True|2022-03-28T15:03:42.2284750+08:00;True|2022-03-28T14:49:13.4972233+08:00;True|2022-03-28T14:45:43.6790721+08:00;True|2022-03-28T13:46:43.0286919+08:00;True|2022-03-28T13:29:06.5082288+08:00;True|2022-03-17T15:01:35.6143080+08:00;True|2022-03-17T14:42:43.6898518+08:00;True|2022-03-17T13:52:25.3883162+08:00;True|2022-03-16T17:08:50.2525079+08:00; \ No newline at end of file diff --git a/QualityControlPlatform/Properties/launchSettings.json b/QualityControlPlatform/Properties/launchSettings.json index 469d4f6..b1d4b54 100644 --- a/QualityControlPlatform/Properties/launchSettings.json +++ b/QualityControlPlatform/Properties/launchSettings.json @@ -27,4 +27,4 @@ } } } -} +} \ No newline at end of file diff --git a/QualityControlPlatform/QualityControlPlatform.csproj b/QualityControlPlatform/QualityControlPlatform.csproj index 4893157..c887751 100644 --- a/QualityControlPlatform/QualityControlPlatform.csproj +++ b/QualityControlPlatform/QualityControlPlatform.csproj @@ -1,4 +1,4 @@ - + netcoreapp3.1 @@ -13,9 +13,13 @@ + + + + diff --git a/QualityControlPlatform/Startup.cs b/QualityControlPlatform/Startup.cs index 207d90e..b298409 100644 --- a/QualityControlPlatform/Startup.cs +++ b/QualityControlPlatform/Startup.cs @@ -11,6 +11,7 @@ using Microsoft.AspNetCore.Authentication.JwtBearer; using Microsoft.IdentityModel.Tokens; using Microsoft.OpenApi.Models; using System.Collections.Generic; +using QualityControlPlatform.Helpers.Cache; using QualityControlPlatform.Middleware; namespace QualityControlPlatform { @@ -39,6 +40,9 @@ namespace QualityControlPlatform /// public void ConfigureServices(IServiceCollection services) { + services.AddHttpClient(); + services.AddMemoryCache(); + services.AddSingleton(); services.AddControllers(); // swagger services.AddSwaggerGen(c => diff --git a/QualityControlPlatform/bin/Debug/netcoreapp3.1/Logs/Error/2022-03-29/error.txt b/QualityControlPlatform/bin/Debug/netcoreapp3.1/Logs/Error/2022-03-29/error.txt new file mode 100644 index 0000000..d460a89 --- /dev/null +++ b/QualityControlPlatform/bin/Debug/netcoreapp3.1/Logs/Error/2022-03-29/error.txt @@ -0,0 +1,8 @@ +2022-03-29 16:09:00.2552 | Error | An unhandled exception has occurred while executing the request. Swashbuckle.AspNetCore.SwaggerGen.SwaggerGeneratorException: Ambiguous HTTP method for action - QualityControlPlatform.Controllers.News.NewController.Change (QualityControlPlatform). Actions require an explicit HttpMethod binding for Swagger/OpenAPI 3.0 + at Swashbuckle.AspNetCore.SwaggerGen.SwaggerGenerator.GenerateOperations(IEnumerable`1 apiDescriptions, SchemaRepository schemaRepository) + at Swashbuckle.AspNetCore.SwaggerGen.SwaggerGenerator.GeneratePaths(IEnumerable`1 apiDescriptions, SchemaRepository schemaRepository) + at Swashbuckle.AspNetCore.SwaggerGen.SwaggerGenerator.GetSwagger(String documentName, String host, String basePath) + at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider) + at Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext context) + AsyncMethodBuilderCore.Start => d__9.MoveNext => DiagnosticsLoggerExtensions.UnhandledException + diff --git a/QualityControlPlatform/bin/Debug/netcoreapp3.1/Logs/Error/2022-03-30/error.txt b/QualityControlPlatform/bin/Debug/netcoreapp3.1/Logs/Error/2022-03-30/error.txt new file mode 100644 index 0000000..a282535 --- /dev/null +++ b/QualityControlPlatform/bin/Debug/netcoreapp3.1/Logs/Error/2022-03-30/error.txt @@ -0,0 +1,8 @@ +2022-03-30 17:23:08.5393 | Error | An unhandled exception has occurred while executing the request. Swashbuckle.AspNetCore.SwaggerGen.SwaggerGeneratorException: Ambiguous HTTP method for action - QualityControlPlatform.Controllers.User.UserController.SendSms (QualityControlPlatform). Actions require an explicit HttpMethod binding for Swagger/OpenAPI 3.0 + at Swashbuckle.AspNetCore.SwaggerGen.SwaggerGenerator.GenerateOperations(IEnumerable`1 apiDescriptions, SchemaRepository schemaRepository) + at Swashbuckle.AspNetCore.SwaggerGen.SwaggerGenerator.GeneratePaths(IEnumerable`1 apiDescriptions, SchemaRepository schemaRepository) + at Swashbuckle.AspNetCore.SwaggerGen.SwaggerGenerator.GetSwagger(String documentName, String host, String basePath) + at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider) + at Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext context) + AsyncMethodBuilderCore.Start => d__9.MoveNext => DiagnosticsLoggerExtensions.UnhandledException + diff --git a/QualityControlPlatform/bin/Debug/netcoreapp3.1/Logs/Error/2022-03-31/error.txt b/QualityControlPlatform/bin/Debug/netcoreapp3.1/Logs/Error/2022-03-31/error.txt new file mode 100644 index 0000000..901fcfe --- /dev/null +++ b/QualityControlPlatform/bin/Debug/netcoreapp3.1/Logs/Error/2022-03-31/error.txt @@ -0,0 +1,90 @@ +2022-03-31 10:36:19.0361 | Error | An unhandled exception has occurred while executing the request. Swashbuckle.AspNetCore.SwaggerGen.SwaggerGeneratorException: Ambiguous HTTP method for action - QualityControlPlatform.Controllers.User.UserController.CacheSet (QualityControlPlatform). Actions require an explicit HttpMethod binding for Swagger/OpenAPI 3.0 + at Swashbuckle.AspNetCore.SwaggerGen.SwaggerGenerator.GenerateOperations(IEnumerable`1 apiDescriptions, SchemaRepository schemaRepository) + at Swashbuckle.AspNetCore.SwaggerGen.SwaggerGenerator.GeneratePaths(IEnumerable`1 apiDescriptions, SchemaRepository schemaRepository) + at Swashbuckle.AspNetCore.SwaggerGen.SwaggerGenerator.GetSwagger(String documentName, String host, String basePath) + at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider) + at Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext context) + AsyncMethodBuilderCore.Start => d__9.MoveNext => DiagnosticsLoggerExtensions.UnhandledException + +2022-03-31 17:00:20.7176 | Error | An unhandled exception has occurred while executing the request. System.InvalidOperationException: This MySqlConnection is already in use. See https://fl.vu/mysql-conn-reuse + at MySqlConnector.Core.ServerSession.StartQuerying(ICancellableCommand command) in /_/src/MySqlConnector/Core/ServerSession.cs:line 279 + at MySqlConnector.Core.CommandExecutor.ExecuteReaderAsync(IReadOnlyList`1 commands, ICommandPayloadCreator payloadCreator, CommandBehavior behavior, IOBehavior ioBehavior, CancellationToken cancellationToken) in /_/src/MySqlConnector/Core/CommandExecutor.cs:line 56 + at MySqlConnector.MySqlCommand.ExecuteReaderAsync(CommandBehavior behavior, IOBehavior ioBehavior, CancellationToken cancellationToken) in /_/src/MySqlConnector/MySqlCommand.cs:line 319 + at MySqlConnector.MySqlCommand.ExecuteDbDataReader(CommandBehavior behavior) in /_/src/MySqlConnector/MySqlCommand.cs:line 261 + at System.Data.Common.DbCommand.ExecuteReader() + at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReader(RelationalCommandParameterObject parameterObject) + at Microsoft.EntityFrameworkCore.Query.Internal.SingleQueryingEnumerable`1.Enumerator.InitializeReader(DbContext _, Boolean result) + at Pomelo.EntityFrameworkCore.MySql.Storage.Internal.MySqlExecutionStrategy.Execute[TState,TResult](TState state, Func`3 operation, Func`3 verifySucceeded) + at Microsoft.EntityFrameworkCore.Query.Internal.SingleQueryingEnumerable`1.Enumerator.MoveNext() + at System.Text.Json.JsonSerializer.HandleEnumerable(JsonClassInfo elementClassInfo, JsonSerializerOptions options, Utf8JsonWriter writer, WriteStack& state) + at System.Text.Json.JsonSerializer.Write(Utf8JsonWriter writer, Int32 originalWriterDepth, Int32 flushThreshold, JsonSerializerOptions options, WriteStack& state) + at System.Text.Json.JsonSerializer.WriteAsyncCore(Stream utf8Json, Object value, Type inputType, JsonSerializerOptions options, CancellationToken cancellationToken) + at Microsoft.AspNetCore.Mvc.Formatters.SystemTextJsonOutputFormatter.WriteResponseBodyAsync(OutputFormatterWriteContext context, Encoding selectedEncoding) + at Microsoft.AspNetCore.Mvc.Formatters.SystemTextJsonOutputFormatter.WriteResponseBodyAsync(OutputFormatterWriteContext context, Encoding selectedEncoding) + at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Logged|21_0(ResourceInvoker invoker, IActionResult result) + at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Awaited|29_0[TFilter,TFilterAsync](ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted) + at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResultExecutedContextSealed context) + at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.ResultNext[TFilter,TFilterAsync](State& next, Scope& scope, Object& state, Boolean& isCompleted) + at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeResultFilters() +--- End of stack trace from previous location where exception was thrown --- + at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Awaited|19_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted) + at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Logged|17_1(ResourceInvoker invoker) + at Microsoft.AspNetCore.Routing.EndpointMiddleware.g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger) + at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context) + at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context) + at QualityControlPlatform.Middleware.JwtMiddleware.Invoke(HttpContext context) in C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform\Middleware\JwtMiddleware.cs:line 87 + at Swashbuckle.AspNetCore.SwaggerUI.SwaggerUIMiddleware.Invoke(HttpContext httpContext) + at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider) + at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider) + at Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext context) + AsyncMethodBuilderCore.Start => d__9.MoveNext => DiagnosticsLoggerExtensions.UnhandledException + +2022-03-31 17:23:12.8322 | Error | An unhandled exception has occurred while executing the request. Swashbuckle.AspNetCore.SwaggerGen.SwaggerGeneratorException: Ambiguous HTTP method for action - QualityControlPlatform.Controllers.User.HospitalController.AnswerUsers (QualityControlPlatform). Actions require an explicit HttpMethod binding for Swagger/OpenAPI 3.0 + at Swashbuckle.AspNetCore.SwaggerGen.SwaggerGenerator.GenerateOperations(IEnumerable`1 apiDescriptions, SchemaRepository schemaRepository) + at Swashbuckle.AspNetCore.SwaggerGen.SwaggerGenerator.GeneratePaths(IEnumerable`1 apiDescriptions, SchemaRepository schemaRepository) + at Swashbuckle.AspNetCore.SwaggerGen.SwaggerGenerator.GetSwagger(String documentName, String host, String basePath) + at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider) + at Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext context) + AsyncMethodBuilderCore.Start => d__9.MoveNext => DiagnosticsLoggerExtensions.UnhandledException + +2022-03-31 17:26:11.7694 | Error | An unhandled exception has occurred while executing the request. System.InvalidOperationException: Unable to translate the given 'GroupBy' pattern. Call 'AsEnumerable' before 'GroupBy' to evaluate it client-side. + at Microsoft.EntityFrameworkCore.Query.RelationalShapedQueryCompilingExpressionVisitor.ShaperProcessingExpressionVisitor.VisitExtension(Expression extensionExpression) + at System.Linq.Expressions.Expression.Accept(ExpressionVisitor visitor) + at System.Linq.Expressions.ExpressionVisitor.Visit(Expression node) + at Microsoft.EntityFrameworkCore.Query.RelationalShapedQueryCompilingExpressionVisitor.ShaperProcessingExpressionVisitor.ProcessShaper(Expression shaperExpression, RelationalCommandCache& relationalCommandCache, LambdaExpression& relatedDataLoaders) + at Microsoft.EntityFrameworkCore.Query.RelationalShapedQueryCompilingExpressionVisitor.VisitShapedQuery(ShapedQueryExpression shapedQueryExpression) + at Microsoft.EntityFrameworkCore.Query.ShapedQueryCompilingExpressionVisitor.VisitExtension(Expression extensionExpression) + at System.Linq.Expressions.Expression.Accept(ExpressionVisitor visitor) + at System.Linq.Expressions.ExpressionVisitor.Visit(Expression node) + at Microsoft.EntityFrameworkCore.Query.QueryCompilationContext.CreateQueryExecutor[TResult](Expression query) + at Microsoft.EntityFrameworkCore.Storage.Database.CompileQuery[TResult](Expression query, Boolean async) + at Microsoft.EntityFrameworkCore.Query.Internal.QueryCompiler.CompileQueryCore[TResult](IDatabase database, Expression query, IModel model, Boolean async) + at Microsoft.EntityFrameworkCore.Query.Internal.QueryCompiler.<>c__DisplayClass9_0`1.b__0() + at Microsoft.EntityFrameworkCore.Query.Internal.CompiledQueryCache.GetOrAddQuery[TResult](Object cacheKey, Func`1 compiler) + at Microsoft.EntityFrameworkCore.Query.Internal.QueryCompiler.Execute[TResult](Expression query) + at Microsoft.EntityFrameworkCore.Query.Internal.EntityQueryProvider.Execute[TResult](Expression expression) + at Microsoft.EntityFrameworkCore.Query.Internal.EntityQueryable`1.GetEnumerator() + at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection) + at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source) + at QualityControlPlatform.Controllers.User.HospitalController.AnswerUsers(Int32 hospitalId, Int32 diseasesId, Int32 page, Int32 number) + at lambda_method(Closure , Object , Object[] ) + at Microsoft.Extensions.Internal.ObjectMethodExecutor.Execute(Object target, Object[] parameters) + at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.SyncActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments) + at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.g__Logged|12_1(ControllerActionInvoker invoker) + at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted) + at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context) + at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted) + at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync() +--- End of stack trace from previous location where exception was thrown --- + at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Awaited|19_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted) + at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Logged|17_1(ResourceInvoker invoker) + at Microsoft.AspNetCore.Routing.EndpointMiddleware.g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger) + at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context) + at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context) + at QualityControlPlatform.Middleware.JwtMiddleware.Invoke(HttpContext context) + at Swashbuckle.AspNetCore.SwaggerUI.SwaggerUIMiddleware.Invoke(HttpContext httpContext) + at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider) + at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider) + at Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext context) + AsyncMethodBuilderCore.Start => d__9.MoveNext => DiagnosticsLoggerExtensions.UnhandledException + diff --git a/QualityControlPlatform/bin/Debug/netcoreapp3.1/Logs/Error/2022-04-01/error.txt b/QualityControlPlatform/bin/Debug/netcoreapp3.1/Logs/Error/2022-04-01/error.txt new file mode 100644 index 0000000..dd13ab5 --- /dev/null +++ b/QualityControlPlatform/bin/Debug/netcoreapp3.1/Logs/Error/2022-04-01/error.txt @@ -0,0 +1,8 @@ +2022-04-01 15:57:27.2064 | Error | An unhandled exception has occurred while executing the request. Swashbuckle.AspNetCore.SwaggerGen.SwaggerGeneratorException: Conflicting method/path combination "GET api/Menu" for actions - QualityControlPlatform.Controllers.Menus.MenuController.List (QualityControlPlatform),QualityControlPlatform.Controllers.Menus.MenuController.Update (QualityControlPlatform). Actions require a unique method/path combination for Swagger/OpenAPI 3.0. Use ConflictingActionsResolver as a workaround + at Swashbuckle.AspNetCore.SwaggerGen.SwaggerGenerator.GenerateOperations(IEnumerable`1 apiDescriptions, SchemaRepository schemaRepository) + at Swashbuckle.AspNetCore.SwaggerGen.SwaggerGenerator.GeneratePaths(IEnumerable`1 apiDescriptions, SchemaRepository schemaRepository) + at Swashbuckle.AspNetCore.SwaggerGen.SwaggerGenerator.GetSwagger(String documentName, String host, String basePath) + at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider) + at Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext context) + AsyncMethodBuilderCore.Start => d__9.MoveNext => DiagnosticsLoggerExtensions.UnhandledException + diff --git a/QualityControlPlatform/bin/Debug/netcoreapp3.1/Logs/Info/2022-03-28/info.txt b/QualityControlPlatform/bin/Debug/netcoreapp3.1/Logs/Info/2022-03-28/info.txt new file mode 100644 index 0000000..0bd5574 --- /dev/null +++ b/QualityControlPlatform/bin/Debug/netcoreapp3.1/Logs/Info/2022-03-28/info.txt @@ -0,0 +1,6 @@ +17:02:00 | Info | Application started. Press Ctrl+C to shut down. +17:02:00 | Info | Hosting environment: Development +17:02:00 | Info | Content root path: C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform +17:08:03 | Info | Application started. Press Ctrl+C to shut down. +17:08:03 | Info | Hosting environment: Development +17:08:03 | Info | Content root path: C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform diff --git a/QualityControlPlatform/bin/Debug/netcoreapp3.1/Logs/Info/2022-03-29/info.txt b/QualityControlPlatform/bin/Debug/netcoreapp3.1/Logs/Info/2022-03-29/info.txt new file mode 100644 index 0000000..53bc64f --- /dev/null +++ b/QualityControlPlatform/bin/Debug/netcoreapp3.1/Logs/Info/2022-03-29/info.txt @@ -0,0 +1,13 @@ +14:20:00 | Info | Application started. Press Ctrl+C to shut down. +14:20:00 | Info | Hosting environment: Development +14:20:00 | Info | Content root path: C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform +14:59:14 | Info | Application started. Press Ctrl+C to shut down. +14:59:14 | Info | Hosting environment: Development +14:59:14 | Info | Content root path: C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform +16:08:59 | Info | Application started. Press Ctrl+C to shut down. +16:08:59 | Info | Hosting environment: Development +16:08:59 | Info | Content root path: C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform +16:09:00 | Error | An unhandled exception has occurred while executing the request. +16:09:31 | Info | Application started. Press Ctrl+C to shut down. +16:09:31 | Info | Hosting environment: Development +16:09:31 | Info | Content root path: C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform diff --git a/QualityControlPlatform/bin/Debug/netcoreapp3.1/Logs/Info/2022-03-30/info.txt b/QualityControlPlatform/bin/Debug/netcoreapp3.1/Logs/Info/2022-03-30/info.txt new file mode 100644 index 0000000..e58e66f --- /dev/null +++ b/QualityControlPlatform/bin/Debug/netcoreapp3.1/Logs/Info/2022-03-30/info.txt @@ -0,0 +1,30 @@ +16:29:54 | Info | Application started. Press Ctrl+C to shut down. +16:29:54 | Info | Hosting environment: Development +16:29:54 | Info | Content root path: C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform +16:31:12 | Info | Application started. Press Ctrl+C to shut down. +16:31:12 | Info | Hosting environment: Development +16:31:12 | Info | Content root path: C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform +16:41:09 | Info | Application started. Press Ctrl+C to shut down. +16:41:09 | Info | Hosting environment: Development +16:41:09 | Info | Content root path: C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform +17:23:07 | Info | Application started. Press Ctrl+C to shut down. +17:23:07 | Info | Hosting environment: Development +17:23:07 | Info | Content root path: C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform +17:23:08 | Error | An unhandled exception has occurred while executing the request. +17:24:55 | Info | Application started. Press Ctrl+C to shut down. +17:24:55 | Info | Hosting environment: Development +17:24:55 | Info | Content root path: C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform +17:25:12 | Info | Start processing HTTP request POST http://wx.hhzyy.com/micro/api/smsHelp?callNo=xbd_code_001&tel=18206787486&code=482625 +17:25:12 | Info | Sending HTTP request POST http://wx.hhzyy.com/micro/api/smsHelp?callNo=xbd_code_001&tel=18206787486&code=482625 +17:25:12 | Info | Received HTTP response after 775.7383ms - OK +17:25:12 | Info | End processing HTTP request after 800.4319ms - OK +17:26:41 | Info | Application started. Press Ctrl+C to shut down. +17:26:41 | Info | Hosting environment: Development +17:26:42 | Info | Content root path: C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform +17:26:57 | Info | Start processing HTTP request POST http://wx.hhzyy.com/micro/api/smsHelp?callNo=xbd_code_001&tel=18206787486&code=552422 +17:26:57 | Info | Sending HTTP request POST http://wx.hhzyy.com/micro/api/smsHelp?callNo=xbd_code_001&tel=18206787486&code=552422 +17:27:49 | Info | Application started. Press Ctrl+C to shut down. +17:27:49 | Info | Hosting environment: Development +17:27:49 | Info | Content root path: C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform +17:28:05 | Info | Start processing HTTP request POST http://wx.hhzyy.com/micro/api/smsHelp?callNo=xbd_code_001&tel=18206787486&code=741943 +17:28:05 | Info | Sending HTTP request POST http://wx.hhzyy.com/micro/api/smsHelp?callNo=xbd_code_001&tel=18206787486&code=741943 diff --git a/QualityControlPlatform/bin/Debug/netcoreapp3.1/Logs/Info/2022-03-31/info.txt b/QualityControlPlatform/bin/Debug/netcoreapp3.1/Logs/Info/2022-03-31/info.txt new file mode 100644 index 0000000..f3b33b8 --- /dev/null +++ b/QualityControlPlatform/bin/Debug/netcoreapp3.1/Logs/Info/2022-03-31/info.txt @@ -0,0 +1,103 @@ +09:56:01 | Info | Application started. Press Ctrl+C to shut down. +09:56:01 | Info | Hosting environment: Development +09:56:01 | Info | Content root path: C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform +09:56:17 | Info | Start processing HTTP request POST http://wx.hhzyy.com/micro/api/smsHelp?callNo=xbd_code_001&tel=18206787486&code=781886 +09:56:17 | Info | Sending HTTP request POST http://wx.hhzyy.com/micro/api/smsHelp?callNo=xbd_code_001&tel=18206787486&code=781886 +09:56:18 | Info | Received HTTP response after 795.0085ms - OK +09:56:18 | Info | End processing HTTP request after 820.831ms - OK +09:57:09 | Info | Application started. Press Ctrl+C to shut down. +09:57:09 | Info | Hosting environment: Development +09:57:09 | Info | Content root path: C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform +09:57:20 | Info | Start processing HTTP request POST http://wx.hhzyy.com/micro/api/smsHelp?callNo=xbd_code_001&tel=18206787486&code=835601 +09:57:20 | Info | Sending HTTP request POST http://wx.hhzyy.com/micro/api/smsHelp?callNo=xbd_code_001&tel=18206787486&code=835601 +09:57:21 | Info | Received HTTP response after 655.951ms - OK +09:57:21 | Info | End processing HTTP request after 689.1809ms - OK +10:09:02 | Info | Application started. Press Ctrl+C to shut down. +10:09:02 | Info | Hosting environment: Development +10:09:02 | Info | Content root path: C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform +10:09:15 | Info | Start processing HTTP request POST http://wx.hhzyy.com/micro/api/smsHelp?callNo=xbd_code_001&tel=18206787486&code=156967 +10:09:15 | Info | Sending HTTP request POST http://wx.hhzyy.com/micro/api/smsHelp?callNo=xbd_code_001&tel=18206787486&code=156967 +10:09:15 | Info | Received HTTP response after 839.5721ms - OK +10:09:15 | Info | End processing HTTP request after 862.6124ms - OK +10:10:04 | Info | Application started. Press Ctrl+C to shut down. +10:10:04 | Info | Hosting environment: Development +10:10:04 | Info | Content root path: C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform +10:10:15 | Info | Start processing HTTP request POST http://wx.hhzyy.com/micro/api/smsHelp?callNo=xbd_code_001&tel=18206787486&code=397299 +10:10:15 | Info | Sending HTTP request POST http://wx.hhzyy.com/micro/api/smsHelp?callNo=xbd_code_001&tel=18206787486&code=397299 +10:10:16 | Info | Received HTTP response after 683.3551ms - OK +10:10:16 | Info | End processing HTTP request after 704.156ms - OK +10:10:42 | Info | Application started. Press Ctrl+C to shut down. +10:10:43 | Info | Hosting environment: Development +10:10:43 | Info | Content root path: C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform +10:10:54 | Info | Start processing HTTP request POST http://wx.hhzyy.com/micro/api/smsHelp?callNo=xbd_code_001&tel=18206787486&code=343204 +10:10:54 | Info | Sending HTTP request POST http://wx.hhzyy.com/micro/api/smsHelp?callNo=xbd_code_001&tel=18206787486&code=343204 +10:10:55 | Info | Received HTTP response after 474.2142ms - OK +10:10:55 | Info | End processing HTTP request after 508.0662ms - OK +10:17:21 | Info | Application started. Press Ctrl+C to shut down. +10:17:21 | Info | Hosting environment: Development +10:17:21 | Info | Content root path: C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform +10:17:33 | Info | Start processing HTTP request POST http://wx.hhzyy.com/micro/api/smsHelp?callNo=xbd_code_001&tel=18206787486&code=251544 +10:17:33 | Info | Sending HTTP request POST http://wx.hhzyy.com/micro/api/smsHelp?callNo=xbd_code_001&tel=18206787486&code=251544 +10:17:33 | Info | Received HTTP response after 738.7785ms - OK +10:17:33 | Info | End processing HTTP request after 772.3697ms - OK +10:19:46 | Info | Application started. Press Ctrl+C to shut down. +10:19:46 | Info | Hosting environment: Development +10:19:46 | Info | Content root path: C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform +10:20:14 | Info | Start processing HTTP request POST http://wx.hhzyy.com/micro/api/smsHelp?callNo=xbd_code_001&tel=18206787486&code=199139 +10:20:14 | Info | Sending HTTP request POST http://wx.hhzyy.com/micro/api/smsHelp?callNo=xbd_code_001&tel=18206787486&code=199139 +10:20:15 | Info | Received HTTP response after 675.8955ms - OK +10:20:15 | Info | End processing HTTP request after 698.8691ms - OK +10:26:02 | Info | Application started. Press Ctrl+C to shut down. +10:26:02 | Info | Hosting environment: Development +10:26:02 | Info | Content root path: C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform +10:28:24 | Info | Application started. Press Ctrl+C to shut down. +10:28:24 | Info | Hosting environment: Development +10:28:24 | Info | Content root path: C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform +10:29:37 | Info | Application started. Press Ctrl+C to shut down. +10:29:37 | Info | Hosting environment: Development +10:29:37 | Info | Content root path: C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform +10:29:49 | Info | Start processing HTTP request POST http://wx.hhzyy.com/micro/api/smsHelp?callNo=xbd_code_001&tel=18206787486&code=934174 +10:29:49 | Info | Sending HTTP request POST http://wx.hhzyy.com/micro/api/smsHelp?callNo=xbd_code_001&tel=18206787486&code=934174 +10:29:50 | Info | Received HTTP response after 720.4541ms - OK +10:29:50 | Info | End processing HTTP request after 751.7425ms - OK +10:36:18 | Info | Application started. Press Ctrl+C to shut down. +10:36:18 | Info | Hosting environment: Development +10:36:18 | Info | Content root path: C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform +10:36:19 | Error | An unhandled exception has occurred while executing the request. +10:36:42 | Info | Application started. Press Ctrl+C to shut down. +10:36:42 | Info | Hosting environment: Development +10:36:42 | Info | Content root path: C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform +10:41:26 | Info | Application started. Press Ctrl+C to shut down. +10:41:26 | Info | Hosting environment: Development +10:41:26 | Info | Content root path: C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform +10:41:51 | Info | Start processing HTTP request POST http://wx.hhzyy.com/micro/api/smsHelp?callNo=xbd_code_001&tel=18206787486&code=213003 +10:41:51 | Info | Sending HTTP request POST http://wx.hhzyy.com/micro/api/smsHelp?callNo=xbd_code_001&tel=18206787486&code=213003 +10:41:51 | Info | Received HTTP response after 726.0046ms - OK +10:41:51 | Info | End processing HTTP request after 745.5751ms - OK +14:05:42 | Info | Application started. Press Ctrl+C to shut down. +14:05:42 | Info | Hosting environment: Development +14:05:42 | Info | Content root path: C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform +15:51:46 | Info | Application started. Press Ctrl+C to shut down. +15:51:46 | Info | Hosting environment: Development +15:51:46 | Info | Content root path: C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform +15:53:19 | Info | Application started. Press Ctrl+C to shut down. +15:53:19 | Info | Hosting environment: Development +15:53:19 | Info | Content root path: C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform +16:56:21 | Info | Application started. Press Ctrl+C to shut down. +16:56:21 | Info | Hosting environment: Development +16:56:21 | Info | Content root path: C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform +16:59:39 | Info | Application started. Press Ctrl+C to shut down. +16:59:39 | Info | Hosting environment: Development +16:59:39 | Info | Content root path: C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform +17:00:20 | Error | An unhandled exception has occurred while executing the request. +17:05:39 | Info | Application started. Press Ctrl+C to shut down. +17:05:39 | Info | Hosting environment: Development +17:05:39 | Info | Content root path: C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform +17:23:12 | Info | Application started. Press Ctrl+C to shut down. +17:23:12 | Info | Hosting environment: Development +17:23:12 | Info | Content root path: C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform +17:23:12 | Error | An unhandled exception has occurred while executing the request. +17:23:32 | Info | Application started. Press Ctrl+C to shut down. +17:23:32 | Info | Hosting environment: Development +17:23:32 | Info | Content root path: C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform +17:26:11 | Error | An unhandled exception has occurred while executing the request. diff --git a/QualityControlPlatform/bin/Debug/netcoreapp3.1/Logs/Info/2022-04-01/info.txt b/QualityControlPlatform/bin/Debug/netcoreapp3.1/Logs/Info/2022-04-01/info.txt new file mode 100644 index 0000000..8d4af70 --- /dev/null +++ b/QualityControlPlatform/bin/Debug/netcoreapp3.1/Logs/Info/2022-04-01/info.txt @@ -0,0 +1,10 @@ +09:59:43 | Info | Application started. Press Ctrl+C to shut down. +09:59:44 | Info | Hosting environment: Development +09:59:44 | Info | Content root path: C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform +15:57:26 | Info | Application started. Press Ctrl+C to shut down. +15:57:26 | Info | Hosting environment: Development +15:57:26 | Info | Content root path: C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform +15:57:27 | Error | An unhandled exception has occurred while executing the request. +15:57:44 | Info | Application started. Press Ctrl+C to shut down. +15:57:44 | Info | Hosting environment: Development +15:57:44 | Info | Content root path: C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform diff --git a/QualityControlPlatform/bin/Debug/netcoreapp3.1/NLog.Extensions.Logging.dll b/QualityControlPlatform/bin/Debug/netcoreapp3.1/NLog.Extensions.Logging.dll new file mode 100644 index 0000000..bcf6eb7 Binary files /dev/null and b/QualityControlPlatform/bin/Debug/netcoreapp3.1/NLog.Extensions.Logging.dll differ diff --git a/QualityControlPlatform/bin/Debug/netcoreapp3.1/NLog.Web.AspNetCore.dll b/QualityControlPlatform/bin/Debug/netcoreapp3.1/NLog.Web.AspNetCore.dll new file mode 100644 index 0000000..437f265 Binary files /dev/null and b/QualityControlPlatform/bin/Debug/netcoreapp3.1/NLog.Web.AspNetCore.dll differ diff --git a/QualityControlPlatform/bin/Debug/netcoreapp3.1/NLog.dll b/QualityControlPlatform/bin/Debug/netcoreapp3.1/NLog.dll new file mode 100644 index 0000000..e7d8bf9 Binary files /dev/null and b/QualityControlPlatform/bin/Debug/netcoreapp3.1/NLog.dll differ diff --git a/QualityControlPlatform/bin/Debug/netcoreapp3.1/Nlog.config b/QualityControlPlatform/bin/Debug/netcoreapp3.1/Nlog.config new file mode 100644 index 0000000..0821688 --- /dev/null +++ b/QualityControlPlatform/bin/Debug/netcoreapp3.1/Nlog.config @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/QualityControlPlatform/bin/Debug/netcoreapp3.1/PinYinConverterCore.dll b/QualityControlPlatform/bin/Debug/netcoreapp3.1/PinYinConverterCore.dll new file mode 100644 index 0000000..4a66cc0 Binary files /dev/null and b/QualityControlPlatform/bin/Debug/netcoreapp3.1/PinYinConverterCore.dll differ diff --git a/QualityControlPlatform/bin/Debug/netcoreapp3.1/QualityControlPlatform.deps.json b/QualityControlPlatform/bin/Debug/netcoreapp3.1/QualityControlPlatform.deps.json index 2a9ad69..26a59ab 100644 --- a/QualityControlPlatform/bin/Debug/netcoreapp3.1/QualityControlPlatform.deps.json +++ b/QualityControlPlatform/bin/Debug/netcoreapp3.1/QualityControlPlatform.deps.json @@ -35,6 +35,8 @@ "Microsoft.EntityFrameworkCore.Tools": "5.0.15", "Microsoft.VisualStudio.Web.CodeGeneration.Design": "3.1.5", "MySql.Data.EntityFrameworkCore": "8.0.22", + "NLog.Web.AspNetCore": "4.14.0", + "PinYinConverterCore": "1.0.2", "Pomelo.EntityFrameworkCore.MySql": "5.0.4", "Swashbuckle.AspNetCore": "6.3.0", "Microsoft.AspNetCore.Antiforgery": "3.1.0.0", @@ -1215,6 +1217,46 @@ "lib/netstandard2.0/Newtonsoft.Json.dll": {} } }, + "NLog/4.7.11": { + "runtime": { + "lib/netstandard2.0/NLog.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "4.7.11.13229" + } + }, + "compile": { + "lib/netstandard2.0/NLog.dll": {} + } + }, + "NLog.Extensions.Logging/1.7.4": { + "dependencies": { + "Microsoft.Extensions.Logging": "5.0.0", + "NLog": "4.7.11" + }, + "runtime": { + "lib/netcoreapp3.0/NLog.Extensions.Logging.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.7.4.1610" + } + }, + "compile": { + "lib/netcoreapp3.0/NLog.Extensions.Logging.dll": {} + } + }, + "NLog.Web.AspNetCore/4.14.0": { + "dependencies": { + "NLog.Extensions.Logging": "1.7.4" + }, + "runtime": { + "lib/netcoreapp3.0/NLog.Web.AspNetCore.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "4.14.0.2042" + } + }, + "compile": { + "lib/netcoreapp3.0/NLog.Web.AspNetCore.dll": {} + } + }, "NuGet.Frameworks/4.7.0": { "dependencies": { "NETStandard.Library": "1.6.1" @@ -1229,6 +1271,17 @@ "lib/netstandard1.6/NuGet.Frameworks.dll": {} } }, + "PinYinConverterCore/1.0.2": { + "runtime": { + "lib/netstandard2.0/PinYinConverterCore.dll": { + "assemblyVersion": "1.0.2.0", + "fileVersion": "1.0.2.0" + } + }, + "compile": { + "lib/netstandard2.0/PinYinConverterCore.dll": {} + } + }, "Pomelo.EntityFrameworkCore.MySql/5.0.4": { "dependencies": { "Microsoft.EntityFrameworkCore.Relational": "5.0.15", @@ -4269,6 +4322,27 @@ "path": "newtonsoft.json/11.0.2", "hashPath": "newtonsoft.json.11.0.2.nupkg.sha512" }, + "NLog/4.7.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-A7EpoOjWesV5BPx1cOiBndazZq1VGdagIs6oK8ttcRDl5adCMtHiTqnsD5yYaOrMxOQeCjHBf/w3nKzCmhGbgw==", + "path": "nlog/4.7.11", + "hashPath": "nlog.4.7.11.nupkg.sha512" + }, + "NLog.Extensions.Logging/1.7.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/dMxI/lBPNhKe9uONCQaZ3JYSHJh9/yez4Uqc6yIo2hIGaoi8sbQg7WQqW5/1WAIquhrG/SeCEZUTGMiRSQAHw==", + "path": "nlog.extensions.logging/1.7.4", + "hashPath": "nlog.extensions.logging.1.7.4.nupkg.sha512" + }, + "NLog.Web.AspNetCore/4.14.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-5fTviEu/f+mIxucGHmcx1q/mtJGo8EZbxACD57H4iJPZbLaD0LsLxMB2xDCxDO9uexlnfMMDoryq1nFdrl/C6A==", + "path": "nlog.web.aspnetcore/4.14.0", + "hashPath": "nlog.web.aspnetcore.4.14.0.nupkg.sha512" + }, "NuGet.Frameworks/4.7.0": { "type": "package", "serviceable": true, @@ -4276,6 +4350,13 @@ "path": "nuget.frameworks/4.7.0", "hashPath": "nuget.frameworks.4.7.0.nupkg.sha512" }, + "PinYinConverterCore/1.0.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-GWGUL7HYyyTZeVltwgJ2sr8ER+Wyj1aR44KN1A5GS0iB3j/JqXDG62OHupz3iFczCQ4797IhHSSqOet7MvsWJQ==", + "path": "pinyinconvertercore/1.0.2", + "hashPath": "pinyinconvertercore.1.0.2.nupkg.sha512" + }, "Pomelo.EntityFrameworkCore.MySql/5.0.4": { "type": "package", "serviceable": true, diff --git a/QualityControlPlatform/bin/Debug/netcoreapp3.1/QualityControlPlatform.dll b/QualityControlPlatform/bin/Debug/netcoreapp3.1/QualityControlPlatform.dll index 4c9ee27..a4ce428 100644 Binary files a/QualityControlPlatform/bin/Debug/netcoreapp3.1/QualityControlPlatform.dll and b/QualityControlPlatform/bin/Debug/netcoreapp3.1/QualityControlPlatform.dll differ diff --git a/QualityControlPlatform/bin/Debug/netcoreapp3.1/QualityControlPlatform.pdb b/QualityControlPlatform/bin/Debug/netcoreapp3.1/QualityControlPlatform.pdb index 22b7d31..42c0967 100644 Binary files a/QualityControlPlatform/bin/Debug/netcoreapp3.1/QualityControlPlatform.pdb and b/QualityControlPlatform/bin/Debug/netcoreapp3.1/QualityControlPlatform.pdb differ diff --git a/QualityControlPlatform/bin/Debug/netcoreapp3.1/QualityControlPlatform.xml b/QualityControlPlatform/bin/Debug/netcoreapp3.1/QualityControlPlatform.xml index 44c9149..15d935d 100644 --- a/QualityControlPlatform/bin/Debug/netcoreapp3.1/QualityControlPlatform.xml +++ b/QualityControlPlatform/bin/Debug/netcoreapp3.1/QualityControlPlatform.xml @@ -4,88 +4,384 @@ QualityControlPlatform - + + + 全局异常返回 + + + + + 全局错误返回 + + + + + + 内容上报 + + + + + 上报内容填报 + + ReportId,UserId,ReportTime不需要填 + + + + + 该病种下所有的填报信息 + + 病种Id + 用户Id + 页码 + 数量 + + + + + + + + + + 获取病种列表 + + 页码 + 每页数量 + 是否启用,默认启用列表 + + + + + 添加病种 DiseaseId, DiseasesCode 不需要填 + + + + + + + 编辑病种信息 DiseaseId,DiseasesName,Description(没有更改就把原来的传过来) 必填, DiseasesCode不需要填 + + + + + + + 修改病种状态(是否停用) + + 病种Id + + + + + 预设病种的问题 + + + + + 添加预设问题 + + ReportTemplateId 不填 + + + + + 删除预设问题 + + 预设问题Id(必须是没有上报过的问题才可以删除) + + + + + 相关病种的问题 + + 病种Id + 页码 + 每页数量 + + + + + 修改问题内容 + + 需要传ReportTemplateId,IfMust,Question,Type(没做修改的把原来的值传过来) 如果已经有上报内容的预设问题将不允许修改 + + + + + 菜单相关操作 + + + + + 获取菜单列表 + + + + + + 更新菜单名称 + + + + + + 新闻相关接口 - + 获取栏目列表 当前页码,为空则表示0 + 每页数量 - + 添加栏目 - + 删除栏目 需删除栏目Id - + + + 编辑栏目 + + + + + + + 新闻列表 当前页码,为空则表示0 + 每页数量 + 是否发布,不传为true(默认已发布) - + 新闻详情 - + - 添加新闻 + 添加新闻 - 数据集 + 数据集PartId,Title,Content必传 - + 编辑新闻 - 数据集(NewId 必填) + 数据集(NewId,Title,Content 必填) - + - 添加附件 + 删除新闻信息(只能删除未发布的) + + + + + + + 修改当前新闻发布状态 新闻Id - + + + 添加附件 + + + + 获取附件列表 新闻Id - + 下载附件 附件id - + 删除附件 附件Id + + + 医院基础信息 + + + + + 医院列表 + + 页码 + 数量 + + + + + 该医院下的用户 + + + + + + + + + 该医院下上报过该病种的用户 + + + + + + + + + + 添加医院信息 + + + + + + + + + 修改医院信息 + + + + + + + + + + + 删除医院信息 + + + + + + + 角色控制 + + + + + 添加角色 + + + + + + + 删除角色 + + 角色Id + + + + + 编辑角色 + + RoleId,Description,RoleName,RoleCode必传 没有修改传原来的值 + + + + + 角色列表 + + 页码 + 数量 + + + + + 给用户分配角色 + + 角色Id + 用户Id + + + + + 添加权限, 编辑权限,删除权限 + + 角色Id,跟权限Id数组 + + + + + 获取角色所有权限 + + + + + + + 用户相关操作控制类 + + + + + 用户相关 + + + + + + + 用户登录 + + 用户代码 + 密码 + + + + + 发送验证码 + + + + + + + 用户注册 + + 只需要传UserName, Phone, Password + + 获取当前登录用户的用户编号 @@ -106,6 +402,71 @@ 获取当前登录用户的科室 + + + 缓存框架 + + + + + 缓存框架 + + + + + + 存缓存 + + 关键词 + 值 + + + + 获取缓存值 + + + + + + + 文件相关操作 + + + + + 创建文件夹 + + + + + + 获取文件大小 + + 文件长度 + + + + + 菜单对象封装 + + + + + 把菜单对象封装成标准的 + + 菜单对象 + + + + + 日志静态类 + + + + + 日志调用对象 + + 分页帮助类 @@ -176,11 +537,26 @@ 参数错误 + + + 验证码发送失败 + + + + + 验证码错误 + + 登录失败,用户名或密码错误 + + + 手机号已被注册 + + 未找到数据 @@ -191,6 +567,21 @@ 禁止删除 + + + 禁止修改 + + + + + 禁止修改 + + + + + 重复添加 + + 获取枚举对应的Description @@ -226,6 +617,14 @@ + + + 带token的成功返回 + + + + + 返回自定义错误 @@ -246,6 +645,88 @@ + + + 带token的实体 + + + + + 令牌 + + + + + 有参构造 + + + + + + + + + 短信发送帮助类 + + + + + 短信返回 + + + + + 获取返回是否正确 + + + + + 需发送验证码手机号 + + + + + 需发送验证码 + + + + + 发送短信接口 + + + 电话 + 验证码 + + + + 发送 + + + + + 相关码的生成 + + + + + 获取文本数字码 + + 需要转换的文本 + 需要码长度 + + + + + 拼音帮助类 + + + + + 获取首字母 + + + + 中间件 @@ -286,6 +767,71 @@ + + + 病种实体 + + + + + 病种Id + + + + + 病种名称 + + + + + 病种代码 + + + + + 病种描述 + + + + + 是否使用 + + + + + 菜单实体 + + + + + 菜单Id + + + + + 菜单名称 + + + + + 菜单代码 + + + + + 描述 + + + + + 父级Id + + + + + 子Id + + 用来接收接口参数的Model @@ -311,6 +857,27 @@ 新闻Id + + + 附件Id列表 + + + + + 是否发布 + + + + + 用户名 不需要传,只作显示使用 + + + + + + 将栏目跟新闻对应 + + 接口用model @@ -318,17 +885,17 @@ - 栏目Id + 栏目Id 添加的时候不需要上传 - 栏目名 + 栏目名 必传 - 栏目代码 + 栏目代码 不需要上传 @@ -336,6 +903,136 @@ 栏目描述 + + + 回答实体 + + + + + 回答Id 新增不需要传 + + + + + 病种Id + + + + + 预设问题Id + + + + + 用户Id(谁填报的) + + + + + 填报内容 + + + + + 填报时间 + + + + + 预设问题Id + + + + + 预设问题Id 新增不需要填 + + + + + 病种Id + + + + + 预设问题 + + + + + 是否必填 + + + + + 类型 int 整数 decimal 小数 date 时间 string 文本 + + + + + 角色实体 + + + + + 角色Id + + + + + 角色名称 + + + + + 角色代码 + + + + + 角色描述 + + + + + 用户数据 + + + + + 用户id 新增不填 + + + + + 所属医院Id + + + + + 用户名 + + + + + 用户代码 + + + + + 用户密码 + + + + + 电话号码 搞自主注册用 + + + + + 验证码 + + 新闻表 @@ -392,7 +1089,7 @@ 内容上报表 - + 内容上报问题表 @@ -423,6 +1120,49 @@ + + + 权限实体 + + + + + 角色Id + + + + + 菜单Id + + + + + 短信回传实体 + + + + + 无参构造 + + + + + 发送短信验证 + + + + + + + + 回传编码 + + + + + 回传信息 + + 项目入口 diff --git a/QualityControlPlatform/bin/Release/netcoreapp3.1/NLog.Extensions.Logging.dll b/QualityControlPlatform/bin/Release/netcoreapp3.1/NLog.Extensions.Logging.dll new file mode 100644 index 0000000..bcf6eb7 Binary files /dev/null and b/QualityControlPlatform/bin/Release/netcoreapp3.1/NLog.Extensions.Logging.dll differ diff --git a/QualityControlPlatform/bin/Release/netcoreapp3.1/NLog.Web.AspNetCore.dll b/QualityControlPlatform/bin/Release/netcoreapp3.1/NLog.Web.AspNetCore.dll new file mode 100644 index 0000000..437f265 Binary files /dev/null and b/QualityControlPlatform/bin/Release/netcoreapp3.1/NLog.Web.AspNetCore.dll differ diff --git a/QualityControlPlatform/bin/Release/netcoreapp3.1/NLog.dll b/QualityControlPlatform/bin/Release/netcoreapp3.1/NLog.dll new file mode 100644 index 0000000..e7d8bf9 Binary files /dev/null and b/QualityControlPlatform/bin/Release/netcoreapp3.1/NLog.dll differ diff --git a/QualityControlPlatform/bin/Release/netcoreapp3.1/Nlog.config b/QualityControlPlatform/bin/Release/netcoreapp3.1/Nlog.config new file mode 100644 index 0000000..0821688 --- /dev/null +++ b/QualityControlPlatform/bin/Release/netcoreapp3.1/Nlog.config @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/QualityControlPlatform/bin/Release/netcoreapp3.1/PinYinConverterCore.dll b/QualityControlPlatform/bin/Release/netcoreapp3.1/PinYinConverterCore.dll new file mode 100644 index 0000000..4a66cc0 Binary files /dev/null and b/QualityControlPlatform/bin/Release/netcoreapp3.1/PinYinConverterCore.dll differ diff --git a/QualityControlPlatform/bin/Release/netcoreapp3.1/QualityControlPlatform.deps.json b/QualityControlPlatform/bin/Release/netcoreapp3.1/QualityControlPlatform.deps.json index 32fc880..3d09db6 100644 --- a/QualityControlPlatform/bin/Release/netcoreapp3.1/QualityControlPlatform.deps.json +++ b/QualityControlPlatform/bin/Release/netcoreapp3.1/QualityControlPlatform.deps.json @@ -35,6 +35,8 @@ "Microsoft.EntityFrameworkCore.Tools": "5.0.15", "Microsoft.VisualStudio.Web.CodeGeneration.Design": "3.1.5", "MySql.Data.EntityFrameworkCore": "8.0.22", + "NLog.Web.AspNetCore": "4.14.0", + "PinYinConverterCore": "1.0.2", "Pomelo.EntityFrameworkCore.MySql": "5.0.4", "Swashbuckle.AspNetCore": "6.3.0", "Microsoft.AspNetCore.Antiforgery": "3.1.0.0", @@ -1215,6 +1217,46 @@ "lib/netstandard2.0/Newtonsoft.Json.dll": {} } }, + "NLog/4.7.11": { + "runtime": { + "lib/netstandard2.0/NLog.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "4.7.11.13229" + } + }, + "compile": { + "lib/netstandard2.0/NLog.dll": {} + } + }, + "NLog.Extensions.Logging/1.7.4": { + "dependencies": { + "Microsoft.Extensions.Logging": "5.0.0", + "NLog": "4.7.11" + }, + "runtime": { + "lib/netcoreapp3.0/NLog.Extensions.Logging.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.7.4.1610" + } + }, + "compile": { + "lib/netcoreapp3.0/NLog.Extensions.Logging.dll": {} + } + }, + "NLog.Web.AspNetCore/4.14.0": { + "dependencies": { + "NLog.Extensions.Logging": "1.7.4" + }, + "runtime": { + "lib/netcoreapp3.0/NLog.Web.AspNetCore.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "4.14.0.2042" + } + }, + "compile": { + "lib/netcoreapp3.0/NLog.Web.AspNetCore.dll": {} + } + }, "NuGet.Frameworks/4.7.0": { "dependencies": { "NETStandard.Library": "1.6.1" @@ -1229,6 +1271,17 @@ "lib/netstandard1.6/NuGet.Frameworks.dll": {} } }, + "PinYinConverterCore/1.0.2": { + "runtime": { + "lib/netstandard2.0/PinYinConverterCore.dll": { + "assemblyVersion": "1.0.2.0", + "fileVersion": "1.0.2.0" + } + }, + "compile": { + "lib/netstandard2.0/PinYinConverterCore.dll": {} + } + }, "Pomelo.EntityFrameworkCore.MySql/5.0.4": { "dependencies": { "Microsoft.EntityFrameworkCore.Relational": "5.0.15", @@ -4269,6 +4322,27 @@ "path": "newtonsoft.json/11.0.2", "hashPath": "newtonsoft.json.11.0.2.nupkg.sha512" }, + "NLog/4.7.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-A7EpoOjWesV5BPx1cOiBndazZq1VGdagIs6oK8ttcRDl5adCMtHiTqnsD5yYaOrMxOQeCjHBf/w3nKzCmhGbgw==", + "path": "nlog/4.7.11", + "hashPath": "nlog.4.7.11.nupkg.sha512" + }, + "NLog.Extensions.Logging/1.7.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/dMxI/lBPNhKe9uONCQaZ3JYSHJh9/yez4Uqc6yIo2hIGaoi8sbQg7WQqW5/1WAIquhrG/SeCEZUTGMiRSQAHw==", + "path": "nlog.extensions.logging/1.7.4", + "hashPath": "nlog.extensions.logging.1.7.4.nupkg.sha512" + }, + "NLog.Web.AspNetCore/4.14.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-5fTviEu/f+mIxucGHmcx1q/mtJGo8EZbxACD57H4iJPZbLaD0LsLxMB2xDCxDO9uexlnfMMDoryq1nFdrl/C6A==", + "path": "nlog.web.aspnetcore/4.14.0", + "hashPath": "nlog.web.aspnetcore.4.14.0.nupkg.sha512" + }, "NuGet.Frameworks/4.7.0": { "type": "package", "serviceable": true, @@ -4276,6 +4350,13 @@ "path": "nuget.frameworks/4.7.0", "hashPath": "nuget.frameworks.4.7.0.nupkg.sha512" }, + "PinYinConverterCore/1.0.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-GWGUL7HYyyTZeVltwgJ2sr8ER+Wyj1aR44KN1A5GS0iB3j/JqXDG62OHupz3iFczCQ4797IhHSSqOet7MvsWJQ==", + "path": "pinyinconvertercore/1.0.2", + "hashPath": "pinyinconvertercore.1.0.2.nupkg.sha512" + }, "Pomelo.EntityFrameworkCore.MySql/5.0.4": { "type": "package", "serviceable": true, diff --git a/QualityControlPlatform/bin/Release/netcoreapp3.1/QualityControlPlatform.dll b/QualityControlPlatform/bin/Release/netcoreapp3.1/QualityControlPlatform.dll index 32e5b37..122b66c 100644 Binary files a/QualityControlPlatform/bin/Release/netcoreapp3.1/QualityControlPlatform.dll and b/QualityControlPlatform/bin/Release/netcoreapp3.1/QualityControlPlatform.dll differ diff --git a/QualityControlPlatform/bin/Release/netcoreapp3.1/QualityControlPlatform.pdb b/QualityControlPlatform/bin/Release/netcoreapp3.1/QualityControlPlatform.pdb index 94eec76..e91c0c3 100644 Binary files a/QualityControlPlatform/bin/Release/netcoreapp3.1/QualityControlPlatform.pdb and b/QualityControlPlatform/bin/Release/netcoreapp3.1/QualityControlPlatform.pdb differ diff --git a/QualityControlPlatform/bin/Release/netcoreapp3.1/QualityControlPlatform.xml b/QualityControlPlatform/bin/Release/netcoreapp3.1/QualityControlPlatform.xml index 44c9149..15d935d 100644 --- a/QualityControlPlatform/bin/Release/netcoreapp3.1/QualityControlPlatform.xml +++ b/QualityControlPlatform/bin/Release/netcoreapp3.1/QualityControlPlatform.xml @@ -4,88 +4,384 @@ QualityControlPlatform - + + + 全局异常返回 + + + + + 全局错误返回 + + + + + + 内容上报 + + + + + 上报内容填报 + + ReportId,UserId,ReportTime不需要填 + + + + + 该病种下所有的填报信息 + + 病种Id + 用户Id + 页码 + 数量 + + + + + + + + + + 获取病种列表 + + 页码 + 每页数量 + 是否启用,默认启用列表 + + + + + 添加病种 DiseaseId, DiseasesCode 不需要填 + + + + + + + 编辑病种信息 DiseaseId,DiseasesName,Description(没有更改就把原来的传过来) 必填, DiseasesCode不需要填 + + + + + + + 修改病种状态(是否停用) + + 病种Id + + + + + 预设病种的问题 + + + + + 添加预设问题 + + ReportTemplateId 不填 + + + + + 删除预设问题 + + 预设问题Id(必须是没有上报过的问题才可以删除) + + + + + 相关病种的问题 + + 病种Id + 页码 + 每页数量 + + + + + 修改问题内容 + + 需要传ReportTemplateId,IfMust,Question,Type(没做修改的把原来的值传过来) 如果已经有上报内容的预设问题将不允许修改 + + + + + 菜单相关操作 + + + + + 获取菜单列表 + + + + + + 更新菜单名称 + + + + + + 新闻相关接口 - + 获取栏目列表 当前页码,为空则表示0 + 每页数量 - + 添加栏目 - + 删除栏目 需删除栏目Id - + + + 编辑栏目 + + + + + + + 新闻列表 当前页码,为空则表示0 + 每页数量 + 是否发布,不传为true(默认已发布) - + 新闻详情 - + - 添加新闻 + 添加新闻 - 数据集 + 数据集PartId,Title,Content必传 - + 编辑新闻 - 数据集(NewId 必填) + 数据集(NewId,Title,Content 必填) - + - 添加附件 + 删除新闻信息(只能删除未发布的) + + + + + + + 修改当前新闻发布状态 新闻Id - + + + 添加附件 + + + + 获取附件列表 新闻Id - + 下载附件 附件id - + 删除附件 附件Id + + + 医院基础信息 + + + + + 医院列表 + + 页码 + 数量 + + + + + 该医院下的用户 + + + + + + + + + 该医院下上报过该病种的用户 + + + + + + + + + + 添加医院信息 + + + + + + + + + 修改医院信息 + + + + + + + + + + + 删除医院信息 + + + + + + + 角色控制 + + + + + 添加角色 + + + + + + + 删除角色 + + 角色Id + + + + + 编辑角色 + + RoleId,Description,RoleName,RoleCode必传 没有修改传原来的值 + + + + + 角色列表 + + 页码 + 数量 + + + + + 给用户分配角色 + + 角色Id + 用户Id + + + + + 添加权限, 编辑权限,删除权限 + + 角色Id,跟权限Id数组 + + + + + 获取角色所有权限 + + + + + + + 用户相关操作控制类 + + + + + 用户相关 + + + + + + + 用户登录 + + 用户代码 + 密码 + + + + + 发送验证码 + + + + + + + 用户注册 + + 只需要传UserName, Phone, Password + + 获取当前登录用户的用户编号 @@ -106,6 +402,71 @@ 获取当前登录用户的科室 + + + 缓存框架 + + + + + 缓存框架 + + + + + + 存缓存 + + 关键词 + 值 + + + + 获取缓存值 + + + + + + + 文件相关操作 + + + + + 创建文件夹 + + + + + + 获取文件大小 + + 文件长度 + + + + + 菜单对象封装 + + + + + 把菜单对象封装成标准的 + + 菜单对象 + + + + + 日志静态类 + + + + + 日志调用对象 + + 分页帮助类 @@ -176,11 +537,26 @@ 参数错误 + + + 验证码发送失败 + + + + + 验证码错误 + + 登录失败,用户名或密码错误 + + + 手机号已被注册 + + 未找到数据 @@ -191,6 +567,21 @@ 禁止删除 + + + 禁止修改 + + + + + 禁止修改 + + + + + 重复添加 + + 获取枚举对应的Description @@ -226,6 +617,14 @@ + + + 带token的成功返回 + + + + + 返回自定义错误 @@ -246,6 +645,88 @@ + + + 带token的实体 + + + + + 令牌 + + + + + 有参构造 + + + + + + + + + 短信发送帮助类 + + + + + 短信返回 + + + + + 获取返回是否正确 + + + + + 需发送验证码手机号 + + + + + 需发送验证码 + + + + + 发送短信接口 + + + 电话 + 验证码 + + + + 发送 + + + + + 相关码的生成 + + + + + 获取文本数字码 + + 需要转换的文本 + 需要码长度 + + + + + 拼音帮助类 + + + + + 获取首字母 + + + + 中间件 @@ -286,6 +767,71 @@ + + + 病种实体 + + + + + 病种Id + + + + + 病种名称 + + + + + 病种代码 + + + + + 病种描述 + + + + + 是否使用 + + + + + 菜单实体 + + + + + 菜单Id + + + + + 菜单名称 + + + + + 菜单代码 + + + + + 描述 + + + + + 父级Id + + + + + 子Id + + 用来接收接口参数的Model @@ -311,6 +857,27 @@ 新闻Id + + + 附件Id列表 + + + + + 是否发布 + + + + + 用户名 不需要传,只作显示使用 + + + + + + 将栏目跟新闻对应 + + 接口用model @@ -318,17 +885,17 @@ - 栏目Id + 栏目Id 添加的时候不需要上传 - 栏目名 + 栏目名 必传 - 栏目代码 + 栏目代码 不需要上传 @@ -336,6 +903,136 @@ 栏目描述 + + + 回答实体 + + + + + 回答Id 新增不需要传 + + + + + 病种Id + + + + + 预设问题Id + + + + + 用户Id(谁填报的) + + + + + 填报内容 + + + + + 填报时间 + + + + + 预设问题Id + + + + + 预设问题Id 新增不需要填 + + + + + 病种Id + + + + + 预设问题 + + + + + 是否必填 + + + + + 类型 int 整数 decimal 小数 date 时间 string 文本 + + + + + 角色实体 + + + + + 角色Id + + + + + 角色名称 + + + + + 角色代码 + + + + + 角色描述 + + + + + 用户数据 + + + + + 用户id 新增不填 + + + + + 所属医院Id + + + + + 用户名 + + + + + 用户代码 + + + + + 用户密码 + + + + + 电话号码 搞自主注册用 + + + + + 验证码 + + 新闻表 @@ -392,7 +1089,7 @@ 内容上报表 - + 内容上报问题表 @@ -423,6 +1120,49 @@ + + + 权限实体 + + + + + 角色Id + + + + + 菜单Id + + + + + 短信回传实体 + + + + + 无参构造 + + + + + 发送短信验证 + + + + + + + + 回传编码 + + + + + 回传信息 + + 项目入口 diff --git a/QualityControlPlatform/bin/Release/netcoreapp3.1/publish/NLog.Extensions.Logging.dll b/QualityControlPlatform/bin/Release/netcoreapp3.1/publish/NLog.Extensions.Logging.dll new file mode 100644 index 0000000..bcf6eb7 Binary files /dev/null and b/QualityControlPlatform/bin/Release/netcoreapp3.1/publish/NLog.Extensions.Logging.dll differ diff --git a/QualityControlPlatform/bin/Release/netcoreapp3.1/publish/NLog.Web.AspNetCore.dll b/QualityControlPlatform/bin/Release/netcoreapp3.1/publish/NLog.Web.AspNetCore.dll new file mode 100644 index 0000000..437f265 Binary files /dev/null and b/QualityControlPlatform/bin/Release/netcoreapp3.1/publish/NLog.Web.AspNetCore.dll differ diff --git a/QualityControlPlatform/bin/Release/netcoreapp3.1/publish/NLog.dll b/QualityControlPlatform/bin/Release/netcoreapp3.1/publish/NLog.dll new file mode 100644 index 0000000..e7d8bf9 Binary files /dev/null and b/QualityControlPlatform/bin/Release/netcoreapp3.1/publish/NLog.dll differ diff --git a/QualityControlPlatform/bin/Release/netcoreapp3.1/publish/Nlog.config b/QualityControlPlatform/bin/Release/netcoreapp3.1/publish/Nlog.config new file mode 100644 index 0000000..0821688 --- /dev/null +++ b/QualityControlPlatform/bin/Release/netcoreapp3.1/publish/Nlog.config @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/QualityControlPlatform/bin/Release/netcoreapp3.1/publish/PinYinConverterCore.dll b/QualityControlPlatform/bin/Release/netcoreapp3.1/publish/PinYinConverterCore.dll new file mode 100644 index 0000000..4a66cc0 Binary files /dev/null and b/QualityControlPlatform/bin/Release/netcoreapp3.1/publish/PinYinConverterCore.dll differ diff --git a/QualityControlPlatform/bin/Release/netcoreapp3.1/publish/QualityControlPlatform.deps.json b/QualityControlPlatform/bin/Release/netcoreapp3.1/publish/QualityControlPlatform.deps.json index bc504dd..8d72620 100644 --- a/QualityControlPlatform/bin/Release/netcoreapp3.1/publish/QualityControlPlatform.deps.json +++ b/QualityControlPlatform/bin/Release/netcoreapp3.1/publish/QualityControlPlatform.deps.json @@ -35,6 +35,8 @@ "Microsoft.EntityFrameworkCore.Tools": "5.0.15", "Microsoft.VisualStudio.Web.CodeGeneration.Design": "3.1.5", "MySql.Data.EntityFrameworkCore": "8.0.22", + "NLog.Web.AspNetCore": "4.14.0", + "PinYinConverterCore": "1.0.2", "Pomelo.EntityFrameworkCore.MySql": "5.0.4", "Swashbuckle.AspNetCore": "6.3.0", "Microsoft.AspNetCore.Antiforgery": "3.1.0.0", @@ -1202,6 +1204,46 @@ "lib/netstandard2.0/Newtonsoft.Json.dll": {} } }, + "NLog/4.7.11": { + "runtime": { + "lib/netstandard2.0/NLog.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "4.7.11.13229" + } + }, + "compile": { + "lib/netstandard2.0/NLog.dll": {} + } + }, + "NLog.Extensions.Logging/1.7.4": { + "dependencies": { + "Microsoft.Extensions.Logging": "5.0.0", + "NLog": "4.7.11" + }, + "runtime": { + "lib/netcoreapp3.0/NLog.Extensions.Logging.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.7.4.1610" + } + }, + "compile": { + "lib/netcoreapp3.0/NLog.Extensions.Logging.dll": {} + } + }, + "NLog.Web.AspNetCore/4.14.0": { + "dependencies": { + "NLog.Extensions.Logging": "1.7.4" + }, + "runtime": { + "lib/netcoreapp3.0/NLog.Web.AspNetCore.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "4.14.0.2042" + } + }, + "compile": { + "lib/netcoreapp3.0/NLog.Web.AspNetCore.dll": {} + } + }, "NuGet.Frameworks/4.7.0": { "dependencies": { "NETStandard.Library": "1.6.1" @@ -1216,6 +1258,17 @@ "lib/netstandard1.6/NuGet.Frameworks.dll": {} } }, + "PinYinConverterCore/1.0.2": { + "runtime": { + "lib/netstandard2.0/PinYinConverterCore.dll": { + "assemblyVersion": "1.0.2.0", + "fileVersion": "1.0.2.0" + } + }, + "compile": { + "lib/netstandard2.0/PinYinConverterCore.dll": {} + } + }, "Pomelo.EntityFrameworkCore.MySql/5.0.4": { "dependencies": { "Microsoft.EntityFrameworkCore.Relational": "5.0.15", @@ -4256,6 +4309,27 @@ "path": "newtonsoft.json/11.0.2", "hashPath": "newtonsoft.json.11.0.2.nupkg.sha512" }, + "NLog/4.7.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-A7EpoOjWesV5BPx1cOiBndazZq1VGdagIs6oK8ttcRDl5adCMtHiTqnsD5yYaOrMxOQeCjHBf/w3nKzCmhGbgw==", + "path": "nlog/4.7.11", + "hashPath": "nlog.4.7.11.nupkg.sha512" + }, + "NLog.Extensions.Logging/1.7.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/dMxI/lBPNhKe9uONCQaZ3JYSHJh9/yez4Uqc6yIo2hIGaoi8sbQg7WQqW5/1WAIquhrG/SeCEZUTGMiRSQAHw==", + "path": "nlog.extensions.logging/1.7.4", + "hashPath": "nlog.extensions.logging.1.7.4.nupkg.sha512" + }, + "NLog.Web.AspNetCore/4.14.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-5fTviEu/f+mIxucGHmcx1q/mtJGo8EZbxACD57H4iJPZbLaD0LsLxMB2xDCxDO9uexlnfMMDoryq1nFdrl/C6A==", + "path": "nlog.web.aspnetcore/4.14.0", + "hashPath": "nlog.web.aspnetcore.4.14.0.nupkg.sha512" + }, "NuGet.Frameworks/4.7.0": { "type": "package", "serviceable": true, @@ -4263,6 +4337,13 @@ "path": "nuget.frameworks/4.7.0", "hashPath": "nuget.frameworks.4.7.0.nupkg.sha512" }, + "PinYinConverterCore/1.0.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-GWGUL7HYyyTZeVltwgJ2sr8ER+Wyj1aR44KN1A5GS0iB3j/JqXDG62OHupz3iFczCQ4797IhHSSqOet7MvsWJQ==", + "path": "pinyinconvertercore/1.0.2", + "hashPath": "pinyinconvertercore.1.0.2.nupkg.sha512" + }, "Pomelo.EntityFrameworkCore.MySql/5.0.4": { "type": "package", "serviceable": true, diff --git a/QualityControlPlatform/bin/Release/netcoreapp3.1/publish/QualityControlPlatform.dll b/QualityControlPlatform/bin/Release/netcoreapp3.1/publish/QualityControlPlatform.dll index 32e5b37..122b66c 100644 Binary files a/QualityControlPlatform/bin/Release/netcoreapp3.1/publish/QualityControlPlatform.dll and b/QualityControlPlatform/bin/Release/netcoreapp3.1/publish/QualityControlPlatform.dll differ diff --git a/QualityControlPlatform/bin/Release/netcoreapp3.1/publish/QualityControlPlatform.pdb b/QualityControlPlatform/bin/Release/netcoreapp3.1/publish/QualityControlPlatform.pdb index 94eec76..e91c0c3 100644 Binary files a/QualityControlPlatform/bin/Release/netcoreapp3.1/publish/QualityControlPlatform.pdb and b/QualityControlPlatform/bin/Release/netcoreapp3.1/publish/QualityControlPlatform.pdb differ diff --git a/QualityControlPlatform/bin/Release/netcoreapp3.1/publish/QualityControlPlatform.xml b/QualityControlPlatform/bin/Release/netcoreapp3.1/publish/QualityControlPlatform.xml index 44c9149..15d935d 100644 --- a/QualityControlPlatform/bin/Release/netcoreapp3.1/publish/QualityControlPlatform.xml +++ b/QualityControlPlatform/bin/Release/netcoreapp3.1/publish/QualityControlPlatform.xml @@ -4,88 +4,384 @@ QualityControlPlatform - + + + 全局异常返回 + + + + + 全局错误返回 + + + + + + 内容上报 + + + + + 上报内容填报 + + ReportId,UserId,ReportTime不需要填 + + + + + 该病种下所有的填报信息 + + 病种Id + 用户Id + 页码 + 数量 + + + + + + + + + + 获取病种列表 + + 页码 + 每页数量 + 是否启用,默认启用列表 + + + + + 添加病种 DiseaseId, DiseasesCode 不需要填 + + + + + + + 编辑病种信息 DiseaseId,DiseasesName,Description(没有更改就把原来的传过来) 必填, DiseasesCode不需要填 + + + + + + + 修改病种状态(是否停用) + + 病种Id + + + + + 预设病种的问题 + + + + + 添加预设问题 + + ReportTemplateId 不填 + + + + + 删除预设问题 + + 预设问题Id(必须是没有上报过的问题才可以删除) + + + + + 相关病种的问题 + + 病种Id + 页码 + 每页数量 + + + + + 修改问题内容 + + 需要传ReportTemplateId,IfMust,Question,Type(没做修改的把原来的值传过来) 如果已经有上报内容的预设问题将不允许修改 + + + + + 菜单相关操作 + + + + + 获取菜单列表 + + + + + + 更新菜单名称 + + + + + + 新闻相关接口 - + 获取栏目列表 当前页码,为空则表示0 + 每页数量 - + 添加栏目 - + 删除栏目 需删除栏目Id - + + + 编辑栏目 + + + + + + + 新闻列表 当前页码,为空则表示0 + 每页数量 + 是否发布,不传为true(默认已发布) - + 新闻详情 - + - 添加新闻 + 添加新闻 - 数据集 + 数据集PartId,Title,Content必传 - + 编辑新闻 - 数据集(NewId 必填) + 数据集(NewId,Title,Content 必填) - + - 添加附件 + 删除新闻信息(只能删除未发布的) + + + + + + + 修改当前新闻发布状态 新闻Id - + + + 添加附件 + + + + 获取附件列表 新闻Id - + 下载附件 附件id - + 删除附件 附件Id + + + 医院基础信息 + + + + + 医院列表 + + 页码 + 数量 + + + + + 该医院下的用户 + + + + + + + + + 该医院下上报过该病种的用户 + + + + + + + + + + 添加医院信息 + + + + + + + + + 修改医院信息 + + + + + + + + + + + 删除医院信息 + + + + + + + 角色控制 + + + + + 添加角色 + + + + + + + 删除角色 + + 角色Id + + + + + 编辑角色 + + RoleId,Description,RoleName,RoleCode必传 没有修改传原来的值 + + + + + 角色列表 + + 页码 + 数量 + + + + + 给用户分配角色 + + 角色Id + 用户Id + + + + + 添加权限, 编辑权限,删除权限 + + 角色Id,跟权限Id数组 + + + + + 获取角色所有权限 + + + + + + + 用户相关操作控制类 + + + + + 用户相关 + + + + + + + 用户登录 + + 用户代码 + 密码 + + + + + 发送验证码 + + + + + + + 用户注册 + + 只需要传UserName, Phone, Password + + 获取当前登录用户的用户编号 @@ -106,6 +402,71 @@ 获取当前登录用户的科室 + + + 缓存框架 + + + + + 缓存框架 + + + + + + 存缓存 + + 关键词 + 值 + + + + 获取缓存值 + + + + + + + 文件相关操作 + + + + + 创建文件夹 + + + + + + 获取文件大小 + + 文件长度 + + + + + 菜单对象封装 + + + + + 把菜单对象封装成标准的 + + 菜单对象 + + + + + 日志静态类 + + + + + 日志调用对象 + + 分页帮助类 @@ -176,11 +537,26 @@ 参数错误 + + + 验证码发送失败 + + + + + 验证码错误 + + 登录失败,用户名或密码错误 + + + 手机号已被注册 + + 未找到数据 @@ -191,6 +567,21 @@ 禁止删除 + + + 禁止修改 + + + + + 禁止修改 + + + + + 重复添加 + + 获取枚举对应的Description @@ -226,6 +617,14 @@ + + + 带token的成功返回 + + + + + 返回自定义错误 @@ -246,6 +645,88 @@ + + + 带token的实体 + + + + + 令牌 + + + + + 有参构造 + + + + + + + + + 短信发送帮助类 + + + + + 短信返回 + + + + + 获取返回是否正确 + + + + + 需发送验证码手机号 + + + + + 需发送验证码 + + + + + 发送短信接口 + + + 电话 + 验证码 + + + + 发送 + + + + + 相关码的生成 + + + + + 获取文本数字码 + + 需要转换的文本 + 需要码长度 + + + + + 拼音帮助类 + + + + + 获取首字母 + + + + 中间件 @@ -286,6 +767,71 @@ + + + 病种实体 + + + + + 病种Id + + + + + 病种名称 + + + + + 病种代码 + + + + + 病种描述 + + + + + 是否使用 + + + + + 菜单实体 + + + + + 菜单Id + + + + + 菜单名称 + + + + + 菜单代码 + + + + + 描述 + + + + + 父级Id + + + + + 子Id + + 用来接收接口参数的Model @@ -311,6 +857,27 @@ 新闻Id + + + 附件Id列表 + + + + + 是否发布 + + + + + 用户名 不需要传,只作显示使用 + + + + + + 将栏目跟新闻对应 + + 接口用model @@ -318,17 +885,17 @@ - 栏目Id + 栏目Id 添加的时候不需要上传 - 栏目名 + 栏目名 必传 - 栏目代码 + 栏目代码 不需要上传 @@ -336,6 +903,136 @@ 栏目描述 + + + 回答实体 + + + + + 回答Id 新增不需要传 + + + + + 病种Id + + + + + 预设问题Id + + + + + 用户Id(谁填报的) + + + + + 填报内容 + + + + + 填报时间 + + + + + 预设问题Id + + + + + 预设问题Id 新增不需要填 + + + + + 病种Id + + + + + 预设问题 + + + + + 是否必填 + + + + + 类型 int 整数 decimal 小数 date 时间 string 文本 + + + + + 角色实体 + + + + + 角色Id + + + + + 角色名称 + + + + + 角色代码 + + + + + 角色描述 + + + + + 用户数据 + + + + + 用户id 新增不填 + + + + + 所属医院Id + + + + + 用户名 + + + + + 用户代码 + + + + + 用户密码 + + + + + 电话号码 搞自主注册用 + + + + + 验证码 + + 新闻表 @@ -392,7 +1089,7 @@ 内容上报表 - + 内容上报问题表 @@ -423,6 +1120,49 @@ + + + 权限实体 + + + + + 角色Id + + + + + 菜单Id + + + + + 短信回传实体 + + + + + 无参构造 + + + + + 发送短信验证 + + + + + + + + 回传编码 + + + + + 回传信息 + + 项目入口 diff --git a/QualityControlPlatform/bin/Release/netcoreapp3.1/publish/de.zip b/QualityControlPlatform/bin/Release/netcoreapp3.1/publish/de.zip new file mode 100644 index 0000000..f49f0ab Binary files /dev/null and b/QualityControlPlatform/bin/Release/netcoreapp3.1/publish/de.zip differ diff --git a/QualityControlPlatform/obj/Debug/netcoreapp3.1/QualityControlPlatform.assets.cache b/QualityControlPlatform/obj/Debug/netcoreapp3.1/QualityControlPlatform.assets.cache index 2727c8a..479f7a4 100644 Binary files a/QualityControlPlatform/obj/Debug/netcoreapp3.1/QualityControlPlatform.assets.cache and b/QualityControlPlatform/obj/Debug/netcoreapp3.1/QualityControlPlatform.assets.cache differ diff --git a/QualityControlPlatform/obj/Debug/netcoreapp3.1/QualityControlPlatform.csproj.AssemblyReference.cache b/QualityControlPlatform/obj/Debug/netcoreapp3.1/QualityControlPlatform.csproj.AssemblyReference.cache deleted file mode 100644 index 0f73d8d..0000000 Binary files a/QualityControlPlatform/obj/Debug/netcoreapp3.1/QualityControlPlatform.csproj.AssemblyReference.cache and /dev/null differ diff --git a/QualityControlPlatform/obj/Debug/netcoreapp3.1/QualityControlPlatform.csproj.CoreCompileInputs.cache b/QualityControlPlatform/obj/Debug/netcoreapp3.1/QualityControlPlatform.csproj.CoreCompileInputs.cache index 9db7db7..00f62fe 100644 --- a/QualityControlPlatform/obj/Debug/netcoreapp3.1/QualityControlPlatform.csproj.CoreCompileInputs.cache +++ b/QualityControlPlatform/obj/Debug/netcoreapp3.1/QualityControlPlatform.csproj.CoreCompileInputs.cache @@ -1 +1 @@ -a4fca14c9316733d6c9ee1e6994fa769544eb490 +b37a46554e991a19cbf04bac831dfec5771fc5cc diff --git a/QualityControlPlatform/obj/Debug/netcoreapp3.1/QualityControlPlatform.csproj.FileListAbsolute.txt b/QualityControlPlatform/obj/Debug/netcoreapp3.1/QualityControlPlatform.csproj.FileListAbsolute.txt index 4171db0..b0dac78 100644 --- a/QualityControlPlatform/obj/Debug/netcoreapp3.1/QualityControlPlatform.csproj.FileListAbsolute.txt +++ b/QualityControlPlatform/obj/Debug/netcoreapp3.1/QualityControlPlatform.csproj.FileListAbsolute.txt @@ -138,3 +138,8 @@ C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform\bin\Deb C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform\bin\Debug\netcoreapp3.1\zh-Hans\Microsoft.CodeAnalysis.Workspaces.resources.dll C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform\bin\Debug\netcoreapp3.1\zh-Hant\Microsoft.CodeAnalysis.Workspaces.resources.dll C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform\bin\Debug\netcoreapp3.1\runtimes\win\lib\netstandard2.0\System.Security.Cryptography.ProtectedData.dll +C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform\bin\Debug\netcoreapp3.1\PinYinConverterCore.dll +C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform\bin\Debug\netcoreapp3.1\Nlog.config +C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform\bin\Debug\netcoreapp3.1\NLog.dll +C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform\bin\Debug\netcoreapp3.1\NLog.Extensions.Logging.dll +C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform\bin\Debug\netcoreapp3.1\NLog.Web.AspNetCore.dll diff --git a/QualityControlPlatform/obj/Debug/netcoreapp3.1/QualityControlPlatform.dll b/QualityControlPlatform/obj/Debug/netcoreapp3.1/QualityControlPlatform.dll index 4c9ee27..a4ce428 100644 Binary files a/QualityControlPlatform/obj/Debug/netcoreapp3.1/QualityControlPlatform.dll and b/QualityControlPlatform/obj/Debug/netcoreapp3.1/QualityControlPlatform.dll differ diff --git a/QualityControlPlatform/obj/Debug/netcoreapp3.1/QualityControlPlatform.pdb b/QualityControlPlatform/obj/Debug/netcoreapp3.1/QualityControlPlatform.pdb index 22b7d31..42c0967 100644 Binary files a/QualityControlPlatform/obj/Debug/netcoreapp3.1/QualityControlPlatform.pdb and b/QualityControlPlatform/obj/Debug/netcoreapp3.1/QualityControlPlatform.pdb differ diff --git a/QualityControlPlatform/obj/Debug/netcoreapp3.1/QualityControlPlatform.xml b/QualityControlPlatform/obj/Debug/netcoreapp3.1/QualityControlPlatform.xml index 44c9149..15d935d 100644 --- a/QualityControlPlatform/obj/Debug/netcoreapp3.1/QualityControlPlatform.xml +++ b/QualityControlPlatform/obj/Debug/netcoreapp3.1/QualityControlPlatform.xml @@ -4,88 +4,384 @@ QualityControlPlatform - + + + 全局异常返回 + + + + + 全局错误返回 + + + + + + 内容上报 + + + + + 上报内容填报 + + ReportId,UserId,ReportTime不需要填 + + + + + 该病种下所有的填报信息 + + 病种Id + 用户Id + 页码 + 数量 + + + + + + + + + + 获取病种列表 + + 页码 + 每页数量 + 是否启用,默认启用列表 + + + + + 添加病种 DiseaseId, DiseasesCode 不需要填 + + + + + + + 编辑病种信息 DiseaseId,DiseasesName,Description(没有更改就把原来的传过来) 必填, DiseasesCode不需要填 + + + + + + + 修改病种状态(是否停用) + + 病种Id + + + + + 预设病种的问题 + + + + + 添加预设问题 + + ReportTemplateId 不填 + + + + + 删除预设问题 + + 预设问题Id(必须是没有上报过的问题才可以删除) + + + + + 相关病种的问题 + + 病种Id + 页码 + 每页数量 + + + + + 修改问题内容 + + 需要传ReportTemplateId,IfMust,Question,Type(没做修改的把原来的值传过来) 如果已经有上报内容的预设问题将不允许修改 + + + + + 菜单相关操作 + + + + + 获取菜单列表 + + + + + + 更新菜单名称 + + + + + + 新闻相关接口 - + 获取栏目列表 当前页码,为空则表示0 + 每页数量 - + 添加栏目 - + 删除栏目 需删除栏目Id - + + + 编辑栏目 + + + + + + + 新闻列表 当前页码,为空则表示0 + 每页数量 + 是否发布,不传为true(默认已发布) - + 新闻详情 - + - 添加新闻 + 添加新闻 - 数据集 + 数据集PartId,Title,Content必传 - + 编辑新闻 - 数据集(NewId 必填) + 数据集(NewId,Title,Content 必填) - + - 添加附件 + 删除新闻信息(只能删除未发布的) + + + + + + + 修改当前新闻发布状态 新闻Id - + + + 添加附件 + + + + 获取附件列表 新闻Id - + 下载附件 附件id - + 删除附件 附件Id + + + 医院基础信息 + + + + + 医院列表 + + 页码 + 数量 + + + + + 该医院下的用户 + + + + + + + + + 该医院下上报过该病种的用户 + + + + + + + + + + 添加医院信息 + + + + + + + + + 修改医院信息 + + + + + + + + + + + 删除医院信息 + + + + + + + 角色控制 + + + + + 添加角色 + + + + + + + 删除角色 + + 角色Id + + + + + 编辑角色 + + RoleId,Description,RoleName,RoleCode必传 没有修改传原来的值 + + + + + 角色列表 + + 页码 + 数量 + + + + + 给用户分配角色 + + 角色Id + 用户Id + + + + + 添加权限, 编辑权限,删除权限 + + 角色Id,跟权限Id数组 + + + + + 获取角色所有权限 + + + + + + + 用户相关操作控制类 + + + + + 用户相关 + + + + + + + 用户登录 + + 用户代码 + 密码 + + + + + 发送验证码 + + + + + + + 用户注册 + + 只需要传UserName, Phone, Password + + 获取当前登录用户的用户编号 @@ -106,6 +402,71 @@ 获取当前登录用户的科室 + + + 缓存框架 + + + + + 缓存框架 + + + + + + 存缓存 + + 关键词 + 值 + + + + 获取缓存值 + + + + + + + 文件相关操作 + + + + + 创建文件夹 + + + + + + 获取文件大小 + + 文件长度 + + + + + 菜单对象封装 + + + + + 把菜单对象封装成标准的 + + 菜单对象 + + + + + 日志静态类 + + + + + 日志调用对象 + + 分页帮助类 @@ -176,11 +537,26 @@ 参数错误 + + + 验证码发送失败 + + + + + 验证码错误 + + 登录失败,用户名或密码错误 + + + 手机号已被注册 + + 未找到数据 @@ -191,6 +567,21 @@ 禁止删除 + + + 禁止修改 + + + + + 禁止修改 + + + + + 重复添加 + + 获取枚举对应的Description @@ -226,6 +617,14 @@ + + + 带token的成功返回 + + + + + 返回自定义错误 @@ -246,6 +645,88 @@ + + + 带token的实体 + + + + + 令牌 + + + + + 有参构造 + + + + + + + + + 短信发送帮助类 + + + + + 短信返回 + + + + + 获取返回是否正确 + + + + + 需发送验证码手机号 + + + + + 需发送验证码 + + + + + 发送短信接口 + + + 电话 + 验证码 + + + + 发送 + + + + + 相关码的生成 + + + + + 获取文本数字码 + + 需要转换的文本 + 需要码长度 + + + + + 拼音帮助类 + + + + + 获取首字母 + + + + 中间件 @@ -286,6 +767,71 @@ + + + 病种实体 + + + + + 病种Id + + + + + 病种名称 + + + + + 病种代码 + + + + + 病种描述 + + + + + 是否使用 + + + + + 菜单实体 + + + + + 菜单Id + + + + + 菜单名称 + + + + + 菜单代码 + + + + + 描述 + + + + + 父级Id + + + + + 子Id + + 用来接收接口参数的Model @@ -311,6 +857,27 @@ 新闻Id + + + 附件Id列表 + + + + + 是否发布 + + + + + 用户名 不需要传,只作显示使用 + + + + + + 将栏目跟新闻对应 + + 接口用model @@ -318,17 +885,17 @@ - 栏目Id + 栏目Id 添加的时候不需要上传 - 栏目名 + 栏目名 必传 - 栏目代码 + 栏目代码 不需要上传 @@ -336,6 +903,136 @@ 栏目描述 + + + 回答实体 + + + + + 回答Id 新增不需要传 + + + + + 病种Id + + + + + 预设问题Id + + + + + 用户Id(谁填报的) + + + + + 填报内容 + + + + + 填报时间 + + + + + 预设问题Id + + + + + 预设问题Id 新增不需要填 + + + + + 病种Id + + + + + 预设问题 + + + + + 是否必填 + + + + + 类型 int 整数 decimal 小数 date 时间 string 文本 + + + + + 角色实体 + + + + + 角色Id + + + + + 角色名称 + + + + + 角色代码 + + + + + 角色描述 + + + + + 用户数据 + + + + + 用户id 新增不填 + + + + + 所属医院Id + + + + + 用户名 + + + + + 用户代码 + + + + + 用户密码 + + + + + 电话号码 搞自主注册用 + + + + + 验证码 + + 新闻表 @@ -392,7 +1089,7 @@ 内容上报表 - + 内容上报问题表 @@ -423,6 +1120,49 @@ + + + 权限实体 + + + + + 角色Id + + + + + 菜单Id + + + + + 短信回传实体 + + + + + 无参构造 + + + + + 发送短信验证 + + + + + + + + 回传编码 + + + + + 回传信息 + + 项目入口 diff --git a/QualityControlPlatform/obj/QualityControlPlatform.csproj.nuget.dgspec.json b/QualityControlPlatform/obj/QualityControlPlatform.csproj.nuget.dgspec.json index bbf1fa4..a1c5384 100644 --- a/QualityControlPlatform/obj/QualityControlPlatform.csproj.nuget.dgspec.json +++ b/QualityControlPlatform/obj/QualityControlPlatform.csproj.nuget.dgspec.json @@ -64,6 +64,14 @@ "target": "Package", "version": "[8.0.22, )" }, + "NLog.Web.AspNetCore": { + "target": "Package", + "version": "[4.14.0, )" + }, + "PinYinConverterCore": { + "target": "Package", + "version": "[1.0.2, )" + }, "Pomelo.EntityFrameworkCore.MySql": { "target": "Package", "version": "[5.0.4, )" diff --git a/QualityControlPlatform/obj/Release/netcoreapp3.1/PubTmp/Out/NLog.Extensions.Logging.dll b/QualityControlPlatform/obj/Release/netcoreapp3.1/PubTmp/Out/NLog.Extensions.Logging.dll new file mode 100644 index 0000000..bcf6eb7 Binary files /dev/null and b/QualityControlPlatform/obj/Release/netcoreapp3.1/PubTmp/Out/NLog.Extensions.Logging.dll differ diff --git a/QualityControlPlatform/obj/Release/netcoreapp3.1/PubTmp/Out/NLog.Web.AspNetCore.dll b/QualityControlPlatform/obj/Release/netcoreapp3.1/PubTmp/Out/NLog.Web.AspNetCore.dll new file mode 100644 index 0000000..437f265 Binary files /dev/null and b/QualityControlPlatform/obj/Release/netcoreapp3.1/PubTmp/Out/NLog.Web.AspNetCore.dll differ diff --git a/QualityControlPlatform/obj/Release/netcoreapp3.1/PubTmp/Out/NLog.dll b/QualityControlPlatform/obj/Release/netcoreapp3.1/PubTmp/Out/NLog.dll new file mode 100644 index 0000000..e7d8bf9 Binary files /dev/null and b/QualityControlPlatform/obj/Release/netcoreapp3.1/PubTmp/Out/NLog.dll differ diff --git a/QualityControlPlatform/obj/Release/netcoreapp3.1/PubTmp/Out/Nlog.config b/QualityControlPlatform/obj/Release/netcoreapp3.1/PubTmp/Out/Nlog.config new file mode 100644 index 0000000..0821688 --- /dev/null +++ b/QualityControlPlatform/obj/Release/netcoreapp3.1/PubTmp/Out/Nlog.config @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/QualityControlPlatform/obj/Release/netcoreapp3.1/PubTmp/Out/PinYinConverterCore.dll b/QualityControlPlatform/obj/Release/netcoreapp3.1/PubTmp/Out/PinYinConverterCore.dll new file mode 100644 index 0000000..4a66cc0 Binary files /dev/null and b/QualityControlPlatform/obj/Release/netcoreapp3.1/PubTmp/Out/PinYinConverterCore.dll differ diff --git a/QualityControlPlatform/obj/Release/netcoreapp3.1/PubTmp/Out/QualityControlPlatform.deps.json b/QualityControlPlatform/obj/Release/netcoreapp3.1/PubTmp/Out/QualityControlPlatform.deps.json index bc504dd..8d72620 100644 --- a/QualityControlPlatform/obj/Release/netcoreapp3.1/PubTmp/Out/QualityControlPlatform.deps.json +++ b/QualityControlPlatform/obj/Release/netcoreapp3.1/PubTmp/Out/QualityControlPlatform.deps.json @@ -35,6 +35,8 @@ "Microsoft.EntityFrameworkCore.Tools": "5.0.15", "Microsoft.VisualStudio.Web.CodeGeneration.Design": "3.1.5", "MySql.Data.EntityFrameworkCore": "8.0.22", + "NLog.Web.AspNetCore": "4.14.0", + "PinYinConverterCore": "1.0.2", "Pomelo.EntityFrameworkCore.MySql": "5.0.4", "Swashbuckle.AspNetCore": "6.3.0", "Microsoft.AspNetCore.Antiforgery": "3.1.0.0", @@ -1202,6 +1204,46 @@ "lib/netstandard2.0/Newtonsoft.Json.dll": {} } }, + "NLog/4.7.11": { + "runtime": { + "lib/netstandard2.0/NLog.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "4.7.11.13229" + } + }, + "compile": { + "lib/netstandard2.0/NLog.dll": {} + } + }, + "NLog.Extensions.Logging/1.7.4": { + "dependencies": { + "Microsoft.Extensions.Logging": "5.0.0", + "NLog": "4.7.11" + }, + "runtime": { + "lib/netcoreapp3.0/NLog.Extensions.Logging.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.7.4.1610" + } + }, + "compile": { + "lib/netcoreapp3.0/NLog.Extensions.Logging.dll": {} + } + }, + "NLog.Web.AspNetCore/4.14.0": { + "dependencies": { + "NLog.Extensions.Logging": "1.7.4" + }, + "runtime": { + "lib/netcoreapp3.0/NLog.Web.AspNetCore.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "4.14.0.2042" + } + }, + "compile": { + "lib/netcoreapp3.0/NLog.Web.AspNetCore.dll": {} + } + }, "NuGet.Frameworks/4.7.0": { "dependencies": { "NETStandard.Library": "1.6.1" @@ -1216,6 +1258,17 @@ "lib/netstandard1.6/NuGet.Frameworks.dll": {} } }, + "PinYinConverterCore/1.0.2": { + "runtime": { + "lib/netstandard2.0/PinYinConverterCore.dll": { + "assemblyVersion": "1.0.2.0", + "fileVersion": "1.0.2.0" + } + }, + "compile": { + "lib/netstandard2.0/PinYinConverterCore.dll": {} + } + }, "Pomelo.EntityFrameworkCore.MySql/5.0.4": { "dependencies": { "Microsoft.EntityFrameworkCore.Relational": "5.0.15", @@ -4256,6 +4309,27 @@ "path": "newtonsoft.json/11.0.2", "hashPath": "newtonsoft.json.11.0.2.nupkg.sha512" }, + "NLog/4.7.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-A7EpoOjWesV5BPx1cOiBndazZq1VGdagIs6oK8ttcRDl5adCMtHiTqnsD5yYaOrMxOQeCjHBf/w3nKzCmhGbgw==", + "path": "nlog/4.7.11", + "hashPath": "nlog.4.7.11.nupkg.sha512" + }, + "NLog.Extensions.Logging/1.7.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/dMxI/lBPNhKe9uONCQaZ3JYSHJh9/yez4Uqc6yIo2hIGaoi8sbQg7WQqW5/1WAIquhrG/SeCEZUTGMiRSQAHw==", + "path": "nlog.extensions.logging/1.7.4", + "hashPath": "nlog.extensions.logging.1.7.4.nupkg.sha512" + }, + "NLog.Web.AspNetCore/4.14.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-5fTviEu/f+mIxucGHmcx1q/mtJGo8EZbxACD57H4iJPZbLaD0LsLxMB2xDCxDO9uexlnfMMDoryq1nFdrl/C6A==", + "path": "nlog.web.aspnetcore/4.14.0", + "hashPath": "nlog.web.aspnetcore.4.14.0.nupkg.sha512" + }, "NuGet.Frameworks/4.7.0": { "type": "package", "serviceable": true, @@ -4263,6 +4337,13 @@ "path": "nuget.frameworks/4.7.0", "hashPath": "nuget.frameworks.4.7.0.nupkg.sha512" }, + "PinYinConverterCore/1.0.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-GWGUL7HYyyTZeVltwgJ2sr8ER+Wyj1aR44KN1A5GS0iB3j/JqXDG62OHupz3iFczCQ4797IhHSSqOet7MvsWJQ==", + "path": "pinyinconvertercore/1.0.2", + "hashPath": "pinyinconvertercore.1.0.2.nupkg.sha512" + }, "Pomelo.EntityFrameworkCore.MySql/5.0.4": { "type": "package", "serviceable": true, diff --git a/QualityControlPlatform/obj/Release/netcoreapp3.1/PubTmp/Out/QualityControlPlatform.dll b/QualityControlPlatform/obj/Release/netcoreapp3.1/PubTmp/Out/QualityControlPlatform.dll index 32e5b37..122b66c 100644 Binary files a/QualityControlPlatform/obj/Release/netcoreapp3.1/PubTmp/Out/QualityControlPlatform.dll and b/QualityControlPlatform/obj/Release/netcoreapp3.1/PubTmp/Out/QualityControlPlatform.dll differ diff --git a/QualityControlPlatform/obj/Release/netcoreapp3.1/PubTmp/Out/QualityControlPlatform.pdb b/QualityControlPlatform/obj/Release/netcoreapp3.1/PubTmp/Out/QualityControlPlatform.pdb index 94eec76..e91c0c3 100644 Binary files a/QualityControlPlatform/obj/Release/netcoreapp3.1/PubTmp/Out/QualityControlPlatform.pdb and b/QualityControlPlatform/obj/Release/netcoreapp3.1/PubTmp/Out/QualityControlPlatform.pdb differ diff --git a/QualityControlPlatform/obj/Release/netcoreapp3.1/PubTmp/Out/QualityControlPlatform.xml b/QualityControlPlatform/obj/Release/netcoreapp3.1/PubTmp/Out/QualityControlPlatform.xml index 44c9149..15d935d 100644 --- a/QualityControlPlatform/obj/Release/netcoreapp3.1/PubTmp/Out/QualityControlPlatform.xml +++ b/QualityControlPlatform/obj/Release/netcoreapp3.1/PubTmp/Out/QualityControlPlatform.xml @@ -4,88 +4,384 @@ QualityControlPlatform - + + + 全局异常返回 + + + + + 全局错误返回 + + + + + + 内容上报 + + + + + 上报内容填报 + + ReportId,UserId,ReportTime不需要填 + + + + + 该病种下所有的填报信息 + + 病种Id + 用户Id + 页码 + 数量 + + + + + + + + + + 获取病种列表 + + 页码 + 每页数量 + 是否启用,默认启用列表 + + + + + 添加病种 DiseaseId, DiseasesCode 不需要填 + + + + + + + 编辑病种信息 DiseaseId,DiseasesName,Description(没有更改就把原来的传过来) 必填, DiseasesCode不需要填 + + + + + + + 修改病种状态(是否停用) + + 病种Id + + + + + 预设病种的问题 + + + + + 添加预设问题 + + ReportTemplateId 不填 + + + + + 删除预设问题 + + 预设问题Id(必须是没有上报过的问题才可以删除) + + + + + 相关病种的问题 + + 病种Id + 页码 + 每页数量 + + + + + 修改问题内容 + + 需要传ReportTemplateId,IfMust,Question,Type(没做修改的把原来的值传过来) 如果已经有上报内容的预设问题将不允许修改 + + + + + 菜单相关操作 + + + + + 获取菜单列表 + + + + + + 更新菜单名称 + + + + + + 新闻相关接口 - + 获取栏目列表 当前页码,为空则表示0 + 每页数量 - + 添加栏目 - + 删除栏目 需删除栏目Id - + + + 编辑栏目 + + + + + + + 新闻列表 当前页码,为空则表示0 + 每页数量 + 是否发布,不传为true(默认已发布) - + 新闻详情 - + - 添加新闻 + 添加新闻 - 数据集 + 数据集PartId,Title,Content必传 - + 编辑新闻 - 数据集(NewId 必填) + 数据集(NewId,Title,Content 必填) - + - 添加附件 + 删除新闻信息(只能删除未发布的) + + + + + + + 修改当前新闻发布状态 新闻Id - + + + 添加附件 + + + + 获取附件列表 新闻Id - + 下载附件 附件id - + 删除附件 附件Id + + + 医院基础信息 + + + + + 医院列表 + + 页码 + 数量 + + + + + 该医院下的用户 + + + + + + + + + 该医院下上报过该病种的用户 + + + + + + + + + + 添加医院信息 + + + + + + + + + 修改医院信息 + + + + + + + + + + + 删除医院信息 + + + + + + + 角色控制 + + + + + 添加角色 + + + + + + + 删除角色 + + 角色Id + + + + + 编辑角色 + + RoleId,Description,RoleName,RoleCode必传 没有修改传原来的值 + + + + + 角色列表 + + 页码 + 数量 + + + + + 给用户分配角色 + + 角色Id + 用户Id + + + + + 添加权限, 编辑权限,删除权限 + + 角色Id,跟权限Id数组 + + + + + 获取角色所有权限 + + + + + + + 用户相关操作控制类 + + + + + 用户相关 + + + + + + + 用户登录 + + 用户代码 + 密码 + + + + + 发送验证码 + + + + + + + 用户注册 + + 只需要传UserName, Phone, Password + + 获取当前登录用户的用户编号 @@ -106,6 +402,71 @@ 获取当前登录用户的科室 + + + 缓存框架 + + + + + 缓存框架 + + + + + + 存缓存 + + 关键词 + 值 + + + + 获取缓存值 + + + + + + + 文件相关操作 + + + + + 创建文件夹 + + + + + + 获取文件大小 + + 文件长度 + + + + + 菜单对象封装 + + + + + 把菜单对象封装成标准的 + + 菜单对象 + + + + + 日志静态类 + + + + + 日志调用对象 + + 分页帮助类 @@ -176,11 +537,26 @@ 参数错误 + + + 验证码发送失败 + + + + + 验证码错误 + + 登录失败,用户名或密码错误 + + + 手机号已被注册 + + 未找到数据 @@ -191,6 +567,21 @@ 禁止删除 + + + 禁止修改 + + + + + 禁止修改 + + + + + 重复添加 + + 获取枚举对应的Description @@ -226,6 +617,14 @@ + + + 带token的成功返回 + + + + + 返回自定义错误 @@ -246,6 +645,88 @@ + + + 带token的实体 + + + + + 令牌 + + + + + 有参构造 + + + + + + + + + 短信发送帮助类 + + + + + 短信返回 + + + + + 获取返回是否正确 + + + + + 需发送验证码手机号 + + + + + 需发送验证码 + + + + + 发送短信接口 + + + 电话 + 验证码 + + + + 发送 + + + + + 相关码的生成 + + + + + 获取文本数字码 + + 需要转换的文本 + 需要码长度 + + + + + 拼音帮助类 + + + + + 获取首字母 + + + + 中间件 @@ -286,6 +767,71 @@ + + + 病种实体 + + + + + 病种Id + + + + + 病种名称 + + + + + 病种代码 + + + + + 病种描述 + + + + + 是否使用 + + + + + 菜单实体 + + + + + 菜单Id + + + + + 菜单名称 + + + + + 菜单代码 + + + + + 描述 + + + + + 父级Id + + + + + 子Id + + 用来接收接口参数的Model @@ -311,6 +857,27 @@ 新闻Id + + + 附件Id列表 + + + + + 是否发布 + + + + + 用户名 不需要传,只作显示使用 + + + + + + 将栏目跟新闻对应 + + 接口用model @@ -318,17 +885,17 @@ - 栏目Id + 栏目Id 添加的时候不需要上传 - 栏目名 + 栏目名 必传 - 栏目代码 + 栏目代码 不需要上传 @@ -336,6 +903,136 @@ 栏目描述 + + + 回答实体 + + + + + 回答Id 新增不需要传 + + + + + 病种Id + + + + + 预设问题Id + + + + + 用户Id(谁填报的) + + + + + 填报内容 + + + + + 填报时间 + + + + + 预设问题Id + + + + + 预设问题Id 新增不需要填 + + + + + 病种Id + + + + + 预设问题 + + + + + 是否必填 + + + + + 类型 int 整数 decimal 小数 date 时间 string 文本 + + + + + 角色实体 + + + + + 角色Id + + + + + 角色名称 + + + + + 角色代码 + + + + + 角色描述 + + + + + 用户数据 + + + + + 用户id 新增不填 + + + + + 所属医院Id + + + + + 用户名 + + + + + 用户代码 + + + + + 用户密码 + + + + + 电话号码 搞自主注册用 + + + + + 验证码 + + 新闻表 @@ -392,7 +1089,7 @@ 内容上报表 - + 内容上报问题表 @@ -423,6 +1120,49 @@ + + + 权限实体 + + + + + 角色Id + + + + + 菜单Id + + + + + 短信回传实体 + + + + + 无参构造 + + + + + 发送短信验证 + + + + + + + + 回传编码 + + + + + 回传信息 + + 项目入口 diff --git a/QualityControlPlatform/obj/Release/netcoreapp3.1/PublishOutputs.071790fb4c.txt b/QualityControlPlatform/obj/Release/netcoreapp3.1/PublishOutputs.071790fb4c.txt index edf990f..8716811 100644 --- a/QualityControlPlatform/obj/Release/netcoreapp3.1/PublishOutputs.071790fb4c.txt +++ b/QualityControlPlatform/obj/Release/netcoreapp3.1/PublishOutputs.071790fb4c.txt @@ -1,4 +1,5 @@ C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform\obj\Release\netcoreapp3.1\PubTmp\Out\QualityControlPlatform.exe +C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform\obj\Release\netcoreapp3.1\PubTmp\Out\Nlog.config C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform\obj\Release\netcoreapp3.1\PubTmp\Out\appsettings.Development.json C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform\obj\Release\netcoreapp3.1\PubTmp\Out\appsettings.json C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform\obj\Release\netcoreapp3.1\PubTmp\Out\QualityControlPlatform.dll @@ -48,7 +49,11 @@ C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform\obj\Rel C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform\obj\Release\netcoreapp3.1\PubTmp\Out\MySql.Data.EntityFrameworkCore.dll C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform\obj\Release\netcoreapp3.1\PubTmp\Out\MySqlConnector.dll C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform\obj\Release\netcoreapp3.1\PubTmp\Out\Newtonsoft.Json.dll +C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform\obj\Release\netcoreapp3.1\PubTmp\Out\NLog.dll +C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform\obj\Release\netcoreapp3.1\PubTmp\Out\NLog.Extensions.Logging.dll +C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform\obj\Release\netcoreapp3.1\PubTmp\Out\NLog.Web.AspNetCore.dll C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform\obj\Release\netcoreapp3.1\PubTmp\Out\NuGet.Frameworks.dll +C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform\obj\Release\netcoreapp3.1\PubTmp\Out\PinYinConverterCore.dll C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform\obj\Release\netcoreapp3.1\PubTmp\Out\Pomelo.EntityFrameworkCore.MySql.dll C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform\obj\Release\netcoreapp3.1\PubTmp\Out\Renci.SshNet.dll C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform\obj\Release\netcoreapp3.1\PubTmp\Out\SshNet.Security.Cryptography.dll diff --git a/QualityControlPlatform/obj/Release/netcoreapp3.1/QualityControlPlatform.assets.cache b/QualityControlPlatform/obj/Release/netcoreapp3.1/QualityControlPlatform.assets.cache index adb6e5c..1c62276 100644 Binary files a/QualityControlPlatform/obj/Release/netcoreapp3.1/QualityControlPlatform.assets.cache and b/QualityControlPlatform/obj/Release/netcoreapp3.1/QualityControlPlatform.assets.cache differ diff --git a/QualityControlPlatform/obj/Release/netcoreapp3.1/QualityControlPlatform.csproj.CoreCompileInputs.cache b/QualityControlPlatform/obj/Release/netcoreapp3.1/QualityControlPlatform.csproj.CoreCompileInputs.cache index 6e98b92..db72ba1 100644 --- a/QualityControlPlatform/obj/Release/netcoreapp3.1/QualityControlPlatform.csproj.CoreCompileInputs.cache +++ b/QualityControlPlatform/obj/Release/netcoreapp3.1/QualityControlPlatform.csproj.CoreCompileInputs.cache @@ -1 +1 @@ -d996bccce4d89bef2aaa66b1b4ad4e1aa44cac96 +23b9db1d75d698e5c7c4f52d92a79cc8400f9fbc diff --git a/QualityControlPlatform/obj/Release/netcoreapp3.1/QualityControlPlatform.csproj.FileListAbsolute.txt b/QualityControlPlatform/obj/Release/netcoreapp3.1/QualityControlPlatform.csproj.FileListAbsolute.txt index 3727f11..7bb9493 100644 --- a/QualityControlPlatform/obj/Release/netcoreapp3.1/QualityControlPlatform.csproj.FileListAbsolute.txt +++ b/QualityControlPlatform/obj/Release/netcoreapp3.1/QualityControlPlatform.csproj.FileListAbsolute.txt @@ -139,3 +139,8 @@ C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform\obj\Rel C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform\obj\Release\netcoreapp3.1\QualityControlPlatform.xml C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform\obj\Release\netcoreapp3.1\QualityControlPlatform.pdb C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform\obj\Release\netcoreapp3.1\QualityControlPlatform.genruntimeconfig.cache +C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform\bin\Release\netcoreapp3.1\PinYinConverterCore.dll +C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform\bin\Release\netcoreapp3.1\Nlog.config +C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform\bin\Release\netcoreapp3.1\NLog.dll +C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform\bin\Release\netcoreapp3.1\NLog.Extensions.Logging.dll +C:\My Space\ProjectForUnit\QualityControlPlatform\QualityControlPlatform\bin\Release\netcoreapp3.1\NLog.Web.AspNetCore.dll diff --git a/QualityControlPlatform/obj/Release/netcoreapp3.1/QualityControlPlatform.deps.json b/QualityControlPlatform/obj/Release/netcoreapp3.1/QualityControlPlatform.deps.json index bc504dd..8d72620 100644 --- a/QualityControlPlatform/obj/Release/netcoreapp3.1/QualityControlPlatform.deps.json +++ b/QualityControlPlatform/obj/Release/netcoreapp3.1/QualityControlPlatform.deps.json @@ -35,6 +35,8 @@ "Microsoft.EntityFrameworkCore.Tools": "5.0.15", "Microsoft.VisualStudio.Web.CodeGeneration.Design": "3.1.5", "MySql.Data.EntityFrameworkCore": "8.0.22", + "NLog.Web.AspNetCore": "4.14.0", + "PinYinConverterCore": "1.0.2", "Pomelo.EntityFrameworkCore.MySql": "5.0.4", "Swashbuckle.AspNetCore": "6.3.0", "Microsoft.AspNetCore.Antiforgery": "3.1.0.0", @@ -1202,6 +1204,46 @@ "lib/netstandard2.0/Newtonsoft.Json.dll": {} } }, + "NLog/4.7.11": { + "runtime": { + "lib/netstandard2.0/NLog.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "4.7.11.13229" + } + }, + "compile": { + "lib/netstandard2.0/NLog.dll": {} + } + }, + "NLog.Extensions.Logging/1.7.4": { + "dependencies": { + "Microsoft.Extensions.Logging": "5.0.0", + "NLog": "4.7.11" + }, + "runtime": { + "lib/netcoreapp3.0/NLog.Extensions.Logging.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.7.4.1610" + } + }, + "compile": { + "lib/netcoreapp3.0/NLog.Extensions.Logging.dll": {} + } + }, + "NLog.Web.AspNetCore/4.14.0": { + "dependencies": { + "NLog.Extensions.Logging": "1.7.4" + }, + "runtime": { + "lib/netcoreapp3.0/NLog.Web.AspNetCore.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "4.14.0.2042" + } + }, + "compile": { + "lib/netcoreapp3.0/NLog.Web.AspNetCore.dll": {} + } + }, "NuGet.Frameworks/4.7.0": { "dependencies": { "NETStandard.Library": "1.6.1" @@ -1216,6 +1258,17 @@ "lib/netstandard1.6/NuGet.Frameworks.dll": {} } }, + "PinYinConverterCore/1.0.2": { + "runtime": { + "lib/netstandard2.0/PinYinConverterCore.dll": { + "assemblyVersion": "1.0.2.0", + "fileVersion": "1.0.2.0" + } + }, + "compile": { + "lib/netstandard2.0/PinYinConverterCore.dll": {} + } + }, "Pomelo.EntityFrameworkCore.MySql/5.0.4": { "dependencies": { "Microsoft.EntityFrameworkCore.Relational": "5.0.15", @@ -4256,6 +4309,27 @@ "path": "newtonsoft.json/11.0.2", "hashPath": "newtonsoft.json.11.0.2.nupkg.sha512" }, + "NLog/4.7.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-A7EpoOjWesV5BPx1cOiBndazZq1VGdagIs6oK8ttcRDl5adCMtHiTqnsD5yYaOrMxOQeCjHBf/w3nKzCmhGbgw==", + "path": "nlog/4.7.11", + "hashPath": "nlog.4.7.11.nupkg.sha512" + }, + "NLog.Extensions.Logging/1.7.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/dMxI/lBPNhKe9uONCQaZ3JYSHJh9/yez4Uqc6yIo2hIGaoi8sbQg7WQqW5/1WAIquhrG/SeCEZUTGMiRSQAHw==", + "path": "nlog.extensions.logging/1.7.4", + "hashPath": "nlog.extensions.logging.1.7.4.nupkg.sha512" + }, + "NLog.Web.AspNetCore/4.14.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-5fTviEu/f+mIxucGHmcx1q/mtJGo8EZbxACD57H4iJPZbLaD0LsLxMB2xDCxDO9uexlnfMMDoryq1nFdrl/C6A==", + "path": "nlog.web.aspnetcore/4.14.0", + "hashPath": "nlog.web.aspnetcore.4.14.0.nupkg.sha512" + }, "NuGet.Frameworks/4.7.0": { "type": "package", "serviceable": true, @@ -4263,6 +4337,13 @@ "path": "nuget.frameworks/4.7.0", "hashPath": "nuget.frameworks.4.7.0.nupkg.sha512" }, + "PinYinConverterCore/1.0.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-GWGUL7HYyyTZeVltwgJ2sr8ER+Wyj1aR44KN1A5GS0iB3j/JqXDG62OHupz3iFczCQ4797IhHSSqOet7MvsWJQ==", + "path": "pinyinconvertercore/1.0.2", + "hashPath": "pinyinconvertercore.1.0.2.nupkg.sha512" + }, "Pomelo.EntityFrameworkCore.MySql/5.0.4": { "type": "package", "serviceable": true, diff --git a/QualityControlPlatform/obj/Release/netcoreapp3.1/QualityControlPlatform.dll b/QualityControlPlatform/obj/Release/netcoreapp3.1/QualityControlPlatform.dll index 32e5b37..122b66c 100644 Binary files a/QualityControlPlatform/obj/Release/netcoreapp3.1/QualityControlPlatform.dll and b/QualityControlPlatform/obj/Release/netcoreapp3.1/QualityControlPlatform.dll differ diff --git a/QualityControlPlatform/obj/Release/netcoreapp3.1/QualityControlPlatform.pdb b/QualityControlPlatform/obj/Release/netcoreapp3.1/QualityControlPlatform.pdb index 94eec76..e91c0c3 100644 Binary files a/QualityControlPlatform/obj/Release/netcoreapp3.1/QualityControlPlatform.pdb and b/QualityControlPlatform/obj/Release/netcoreapp3.1/QualityControlPlatform.pdb differ diff --git a/QualityControlPlatform/obj/Release/netcoreapp3.1/QualityControlPlatform.xml b/QualityControlPlatform/obj/Release/netcoreapp3.1/QualityControlPlatform.xml index 44c9149..15d935d 100644 --- a/QualityControlPlatform/obj/Release/netcoreapp3.1/QualityControlPlatform.xml +++ b/QualityControlPlatform/obj/Release/netcoreapp3.1/QualityControlPlatform.xml @@ -4,88 +4,384 @@ QualityControlPlatform - + + + 全局异常返回 + + + + + 全局错误返回 + + + + + + 内容上报 + + + + + 上报内容填报 + + ReportId,UserId,ReportTime不需要填 + + + + + 该病种下所有的填报信息 + + 病种Id + 用户Id + 页码 + 数量 + + + + + + + + + + 获取病种列表 + + 页码 + 每页数量 + 是否启用,默认启用列表 + + + + + 添加病种 DiseaseId, DiseasesCode 不需要填 + + + + + + + 编辑病种信息 DiseaseId,DiseasesName,Description(没有更改就把原来的传过来) 必填, DiseasesCode不需要填 + + + + + + + 修改病种状态(是否停用) + + 病种Id + + + + + 预设病种的问题 + + + + + 添加预设问题 + + ReportTemplateId 不填 + + + + + 删除预设问题 + + 预设问题Id(必须是没有上报过的问题才可以删除) + + + + + 相关病种的问题 + + 病种Id + 页码 + 每页数量 + + + + + 修改问题内容 + + 需要传ReportTemplateId,IfMust,Question,Type(没做修改的把原来的值传过来) 如果已经有上报内容的预设问题将不允许修改 + + + + + 菜单相关操作 + + + + + 获取菜单列表 + + + + + + 更新菜单名称 + + + + + + 新闻相关接口 - + 获取栏目列表 当前页码,为空则表示0 + 每页数量 - + 添加栏目 - + 删除栏目 需删除栏目Id - + + + 编辑栏目 + + + + + + + 新闻列表 当前页码,为空则表示0 + 每页数量 + 是否发布,不传为true(默认已发布) - + 新闻详情 - + - 添加新闻 + 添加新闻 - 数据集 + 数据集PartId,Title,Content必传 - + 编辑新闻 - 数据集(NewId 必填) + 数据集(NewId,Title,Content 必填) - + - 添加附件 + 删除新闻信息(只能删除未发布的) + + + + + + + 修改当前新闻发布状态 新闻Id - + + + 添加附件 + + + + 获取附件列表 新闻Id - + 下载附件 附件id - + 删除附件 附件Id + + + 医院基础信息 + + + + + 医院列表 + + 页码 + 数量 + + + + + 该医院下的用户 + + + + + + + + + 该医院下上报过该病种的用户 + + + + + + + + + + 添加医院信息 + + + + + + + + + 修改医院信息 + + + + + + + + + + + 删除医院信息 + + + + + + + 角色控制 + + + + + 添加角色 + + + + + + + 删除角色 + + 角色Id + + + + + 编辑角色 + + RoleId,Description,RoleName,RoleCode必传 没有修改传原来的值 + + + + + 角色列表 + + 页码 + 数量 + + + + + 给用户分配角色 + + 角色Id + 用户Id + + + + + 添加权限, 编辑权限,删除权限 + + 角色Id,跟权限Id数组 + + + + + 获取角色所有权限 + + + + + + + 用户相关操作控制类 + + + + + 用户相关 + + + + + + + 用户登录 + + 用户代码 + 密码 + + + + + 发送验证码 + + + + + + + 用户注册 + + 只需要传UserName, Phone, Password + + 获取当前登录用户的用户编号 @@ -106,6 +402,71 @@ 获取当前登录用户的科室 + + + 缓存框架 + + + + + 缓存框架 + + + + + + 存缓存 + + 关键词 + 值 + + + + 获取缓存值 + + + + + + + 文件相关操作 + + + + + 创建文件夹 + + + + + + 获取文件大小 + + 文件长度 + + + + + 菜单对象封装 + + + + + 把菜单对象封装成标准的 + + 菜单对象 + + + + + 日志静态类 + + + + + 日志调用对象 + + 分页帮助类 @@ -176,11 +537,26 @@ 参数错误 + + + 验证码发送失败 + + + + + 验证码错误 + + 登录失败,用户名或密码错误 + + + 手机号已被注册 + + 未找到数据 @@ -191,6 +567,21 @@ 禁止删除 + + + 禁止修改 + + + + + 禁止修改 + + + + + 重复添加 + + 获取枚举对应的Description @@ -226,6 +617,14 @@ + + + 带token的成功返回 + + + + + 返回自定义错误 @@ -246,6 +645,88 @@ + + + 带token的实体 + + + + + 令牌 + + + + + 有参构造 + + + + + + + + + 短信发送帮助类 + + + + + 短信返回 + + + + + 获取返回是否正确 + + + + + 需发送验证码手机号 + + + + + 需发送验证码 + + + + + 发送短信接口 + + + 电话 + 验证码 + + + + 发送 + + + + + 相关码的生成 + + + + + 获取文本数字码 + + 需要转换的文本 + 需要码长度 + + + + + 拼音帮助类 + + + + + 获取首字母 + + + + 中间件 @@ -286,6 +767,71 @@ + + + 病种实体 + + + + + 病种Id + + + + + 病种名称 + + + + + 病种代码 + + + + + 病种描述 + + + + + 是否使用 + + + + + 菜单实体 + + + + + 菜单Id + + + + + 菜单名称 + + + + + 菜单代码 + + + + + 描述 + + + + + 父级Id + + + + + 子Id + + 用来接收接口参数的Model @@ -311,6 +857,27 @@ 新闻Id + + + 附件Id列表 + + + + + 是否发布 + + + + + 用户名 不需要传,只作显示使用 + + + + + + 将栏目跟新闻对应 + + 接口用model @@ -318,17 +885,17 @@ - 栏目Id + 栏目Id 添加的时候不需要上传 - 栏目名 + 栏目名 必传 - 栏目代码 + 栏目代码 不需要上传 @@ -336,6 +903,136 @@ 栏目描述 + + + 回答实体 + + + + + 回答Id 新增不需要传 + + + + + 病种Id + + + + + 预设问题Id + + + + + 用户Id(谁填报的) + + + + + 填报内容 + + + + + 填报时间 + + + + + 预设问题Id + + + + + 预设问题Id 新增不需要填 + + + + + 病种Id + + + + + 预设问题 + + + + + 是否必填 + + + + + 类型 int 整数 decimal 小数 date 时间 string 文本 + + + + + 角色实体 + + + + + 角色Id + + + + + 角色名称 + + + + + 角色代码 + + + + + 角色描述 + + + + + 用户数据 + + + + + 用户id 新增不填 + + + + + 所属医院Id + + + + + 用户名 + + + + + 用户代码 + + + + + 用户密码 + + + + + 电话号码 搞自主注册用 + + + + + 验证码 + + 新闻表 @@ -392,7 +1089,7 @@ 内容上报表 - + 内容上报问题表 @@ -423,6 +1120,49 @@ + + + 权限实体 + + + + + 角色Id + + + + + 菜单Id + + + + + 短信回传实体 + + + + + 无参构造 + + + + + 发送短信验证 + + + + + + + + 回传编码 + + + + + 回传信息 + + 项目入口 diff --git a/QualityControlPlatform/obj/project.assets.json b/QualityControlPlatform/obj/project.assets.json index ad1df58..c97497f 100644 --- a/QualityControlPlatform/obj/project.assets.json +++ b/QualityControlPlatform/obj/project.assets.json @@ -913,6 +913,43 @@ "lib/netstandard2.0/Newtonsoft.Json.dll": {} } }, + "NLog/4.7.11": { + "type": "package", + "compile": { + "lib/netstandard2.0/NLog.dll": {} + }, + "runtime": { + "lib/netstandard2.0/NLog.dll": {} + } + }, + "NLog.Extensions.Logging/1.7.4": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Logging": "3.0.0", + "NLog": "4.7.11" + }, + "compile": { + "lib/netcoreapp3.0/NLog.Extensions.Logging.dll": {} + }, + "runtime": { + "lib/netcoreapp3.0/NLog.Extensions.Logging.dll": {} + } + }, + "NLog.Web.AspNetCore/4.14.0": { + "type": "package", + "dependencies": { + "NLog.Extensions.Logging": "1.7.4" + }, + "compile": { + "lib/netcoreapp3.0/NLog.Web.AspNetCore.dll": {} + }, + "runtime": { + "lib/netcoreapp3.0/NLog.Web.AspNetCore.dll": {} + }, + "frameworkReferences": [ + "Microsoft.AspNetCore.App" + ] + }, "NuGet.Frameworks/4.7.0": { "type": "package", "dependencies": { @@ -925,6 +962,15 @@ "lib/netstandard1.6/NuGet.Frameworks.dll": {} } }, + "PinYinConverterCore/1.0.2": { + "type": "package", + "compile": { + "lib/netstandard2.0/PinYinConverterCore.dll": {} + }, + "runtime": { + "lib/netstandard2.0/PinYinConverterCore.dll": {} + } + }, "Pomelo.EntityFrameworkCore.MySql/5.0.4": { "type": "package", "dependencies": { @@ -4096,6 +4142,88 @@ "newtonsoft.json.nuspec" ] }, + "NLog/4.7.11": { + "sha512": "A7EpoOjWesV5BPx1cOiBndazZq1VGdagIs6oK8ttcRDl5adCMtHiTqnsD5yYaOrMxOQeCjHBf/w3nKzCmhGbgw==", + "type": "package", + "path": "nlog/4.7.11", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/monoandroid44/NLog.dll", + "lib/monoandroid44/NLog.xml", + "lib/net35/NLog.dll", + "lib/net35/NLog.xml", + "lib/net40-client/NLog.dll", + "lib/net40-client/NLog.xml", + "lib/net45/NLog.dll", + "lib/net45/NLog.xml", + "lib/netstandard1.3/NLog.dll", + "lib/netstandard1.3/NLog.xml", + "lib/netstandard1.5/NLog.dll", + "lib/netstandard1.5/NLog.xml", + "lib/netstandard2.0/NLog.dll", + "lib/netstandard2.0/NLog.xml", + "lib/sl4/NLog.dll", + "lib/sl4/NLog.xml", + "lib/sl5/NLog.dll", + "lib/sl5/NLog.xml", + "lib/wp8/NLog.dll", + "lib/wp8/NLog.xml", + "lib/xamarinios10/NLog.dll", + "lib/xamarinios10/NLog.xml", + "nlog.4.7.11.nupkg.sha512", + "nlog.nuspec" + ] + }, + "NLog.Extensions.Logging/1.7.4": { + "sha512": "/dMxI/lBPNhKe9uONCQaZ3JYSHJh9/yez4Uqc6yIo2hIGaoi8sbQg7WQqW5/1WAIquhrG/SeCEZUTGMiRSQAHw==", + "type": "package", + "path": "nlog.extensions.logging/1.7.4", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "N.png", + "lib/net451/NLog.Extensions.Logging.dll", + "lib/net451/NLog.Extensions.Logging.xml", + "lib/net461/NLog.Extensions.Logging.dll", + "lib/net461/NLog.Extensions.Logging.xml", + "lib/net5.0/NLog.Extensions.Logging.dll", + "lib/net5.0/NLog.Extensions.Logging.xml", + "lib/netcoreapp3.0/NLog.Extensions.Logging.dll", + "lib/netcoreapp3.0/NLog.Extensions.Logging.xml", + "lib/netstandard1.3/NLog.Extensions.Logging.dll", + "lib/netstandard1.3/NLog.Extensions.Logging.xml", + "lib/netstandard1.5/NLog.Extensions.Logging.dll", + "lib/netstandard1.5/NLog.Extensions.Logging.xml", + "lib/netstandard2.0/NLog.Extensions.Logging.dll", + "lib/netstandard2.0/NLog.Extensions.Logging.xml", + "nlog.extensions.logging.1.7.4.nupkg.sha512", + "nlog.extensions.logging.nuspec" + ] + }, + "NLog.Web.AspNetCore/4.14.0": { + "sha512": "5fTviEu/f+mIxucGHmcx1q/mtJGo8EZbxACD57H4iJPZbLaD0LsLxMB2xDCxDO9uexlnfMMDoryq1nFdrl/C6A==", + "type": "package", + "path": "nlog.web.aspnetcore/4.14.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "N.png", + "lib/net451/NLog.Web.AspNetCore.dll", + "lib/net451/NLog.Web.AspNetCore.xml", + "lib/net461/NLog.Web.AspNetCore.dll", + "lib/net461/NLog.Web.AspNetCore.xml", + "lib/netcoreapp3.0/NLog.Web.AspNetCore.dll", + "lib/netcoreapp3.0/NLog.Web.AspNetCore.xml", + "lib/netstandard1.5/NLog.Web.AspNetCore.dll", + "lib/netstandard1.5/NLog.Web.AspNetCore.xml", + "lib/netstandard2.0/NLog.Web.AspNetCore.dll", + "lib/netstandard2.0/NLog.Web.AspNetCore.xml", + "nlog.web.aspnetcore.4.14.0.nupkg.sha512", + "nlog.web.aspnetcore.nuspec", + "readme.txt" + ] + }, "NuGet.Frameworks/4.7.0": { "sha512": "qbXaB76XYUVLocLBs8Z9TS/ERGK2wm797feO+0JEPFvT7o7MRadOR77mqaSD4J1k8G+DlZQyq+MlkCuxrkr3ag==", "type": "package", @@ -4113,6 +4241,21 @@ "nuget.frameworks.nuspec" ] }, + "PinYinConverterCore/1.0.2": { + "sha512": "GWGUL7HYyyTZeVltwgJ2sr8ER+Wyj1aR44KN1A5GS0iB3j/JqXDG62OHupz3iFczCQ4797IhHSSqOet7MvsWJQ==", + "type": "package", + "path": "pinyinconvertercore/1.0.2", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net45/PinYinConverterCore.dll", + "lib/net45/PinYinConverterCore.xml", + "lib/netstandard2.0/PinYinConverterCore.dll", + "lib/netstandard2.0/PinYinConverterCore.xml", + "pinyinconvertercore.1.0.2.nupkg.sha512", + "pinyinconvertercore.nuspec" + ] + }, "Pomelo.EntityFrameworkCore.MySql/5.0.4": { "sha512": "R5LDFDaCO/Si09tEWbgQoYwLsCYPG3Qm6Q7zICFDF8zZ7gr64fgyBLBtOxhGtJBmbpImFVI6GfcYf2JAROGaZA==", "type": "package", @@ -8360,6 +8503,8 @@ "Microsoft.EntityFrameworkCore.Tools >= 5.0.15", "Microsoft.VisualStudio.Web.CodeGeneration.Design >= 3.1.5", "MySql.Data.EntityFrameworkCore >= 8.0.22", + "NLog.Web.AspNetCore >= 4.14.0", + "PinYinConverterCore >= 1.0.2", "Pomelo.EntityFrameworkCore.MySql >= 5.0.4", "Swashbuckle.AspNetCore >= 6.3.0" ] @@ -8429,6 +8574,14 @@ "target": "Package", "version": "[8.0.22, )" }, + "NLog.Web.AspNetCore": { + "target": "Package", + "version": "[4.14.0, )" + }, + "PinYinConverterCore": { + "target": "Package", + "version": "[1.0.2, )" + }, "Pomelo.EntityFrameworkCore.MySql": { "target": "Package", "version": "[5.0.4, )" diff --git a/QualityControlPlatform/obj/project.nuget.cache b/QualityControlPlatform/obj/project.nuget.cache index 9bf5ca1..8ab750b 100644 --- a/QualityControlPlatform/obj/project.nuget.cache +++ b/QualityControlPlatform/obj/project.nuget.cache @@ -1,6 +1,6 @@ { "version": 2, - "dgSpecHash": "CvJNW/vaslxrPr7C8oWNvfe8QdBR3u4K/2lKN8OwJOVRukAwPZ3gzsYCiZ6wUi+8l29XH2XmTsnHHb+/2YDXVQ==", + "dgSpecHash": "J2x6X5CWjDqSZ+qVXSeV4Ah/MPo8FvysYHRBNmQ1TDqt0meL81KRcu2I1ke2iD5cr+55Pt6p80bz2G9toKMHjQ==", "success": true, "projectFilePath": "C:\\My Space\\ProjectForUnit\\QualityControlPlatform\\QualityControlPlatform\\QualityControlPlatform.csproj", "expectedPackageFiles": [ @@ -61,7 +61,11 @@ "C:\\Users\\14491\\.nuget\\packages\\mysqlconnector\\1.3.13\\mysqlconnector.1.3.13.nupkg.sha512", "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder\\netstandard.library\\1.6.1\\netstandard.library.1.6.1.nupkg.sha512", "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder\\newtonsoft.json\\11.0.2\\newtonsoft.json.11.0.2.nupkg.sha512", + "C:\\Users\\14491\\.nuget\\packages\\nlog\\4.7.11\\nlog.4.7.11.nupkg.sha512", + "C:\\Users\\14491\\.nuget\\packages\\nlog.extensions.logging\\1.7.4\\nlog.extensions.logging.1.7.4.nupkg.sha512", + "C:\\Users\\14491\\.nuget\\packages\\nlog.web.aspnetcore\\4.14.0\\nlog.web.aspnetcore.4.14.0.nupkg.sha512", "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder\\nuget.frameworks\\4.7.0\\nuget.frameworks.4.7.0.nupkg.sha512", + "C:\\Users\\14491\\.nuget\\packages\\pinyinconvertercore\\1.0.2\\pinyinconvertercore.1.0.2.nupkg.sha512", "C:\\Users\\14491\\.nuget\\packages\\pomelo.entityframeworkcore.mysql\\5.0.4\\pomelo.entityframeworkcore.mysql.5.0.4.nupkg.sha512", "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder\\runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl\\4.3.0\\runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512", "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder\\runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl\\4.3.0\\runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512", diff --git a/db/QualityControlPlatform.pdm b/db/QualityControlPlatform.pdm index 2d1747e..ddeed81 100644 --- a/db/QualityControlPlatform.pdm +++ b/db/QualityControlPlatform.pdm @@ -1,5 +1,5 @@ - + @@ -12,7 +12,7 @@ QualityControlPlatform 1646964767 14491 -1647310481 +1648539808 14491 [FolderOptions] @@ -3698,7 +3698,7 @@ PhysOpts= PhysicalDiagram_1 1646964767 14491 -1647249426 +1648539808 14491 [DisplayPreferences] @@ -4210,8 +4210,8 @@ DESTINATION 0 新宋体,8,N 1647243017 1647249472 -((-32670,14369), (20358,15619)) -((19958,14994),(-32270,14994)) +((-32670,14188), (20358,15438)) +((19958,14813),(-32270,14813)) 1 1 12615680 @@ -4232,8 +4232,8 @@ DESTINATION 0 新宋体,8,N 1647243392 1647247532 -((24984,10834), (26234,15000)) -((25609,11234),(25609,14600)) +((24984,10834), (26234,14587)) +((25609,11234),(25609,14187)) 1 1 12615680 @@ -4320,8 +4320,8 @@ DESTINATION 0 新宋体,8,N 1647244670 1647245649 -((11202,-9319), (12452,-4273)) -((11827,-8919),(11827,-4673)) +((11202,-9319), (12452,-4687)) +((11827,-8919),(11827,-5087)) 1 1 12615680 @@ -4386,8 +4386,8 @@ DESTINATION 0 新宋体,8,N 1647248177 1647248206 -((30035,20572), (31285,25615)) -((30660,20972),(30660,25215)) +((30035,20985), (31285,25615)) +((30660,21385),(30660,25215)) 1 1 12615680 @@ -4556,7 +4556,7 @@ LABL 0 新宋体,8,N 1647242902 1647248177 -1 -((19958,14600), (31260,20972)) +((19958,14187), (31260,21385)) 12615680 4259584 12632256 @@ -4633,7 +4633,7 @@ LABL 0 新宋体,8,N 1647243449 1647243460 -1 -((738,-4673), (12427,50)) +((738,-5087), (12427,461)) 12615680 16776960 12632256 @@ -5164,7 +5164,7 @@ LABL 0 新宋体,8,N News 1647242902 14491 -1647248177 +1648539947 14491 @@ -5231,9 +5231,19 @@ LABL 0 新宋体,8,N 14491 datetime + +759578DE-8E25-4ADD-91B8-93A51DC072B9 +发布状态 +IfRelease +1648539809 +14491 +1648539947 +14491 +boolean + - + 498C37F1-3312-47EE-AB96-95F8C07A8816 Key_1 Key_1 @@ -5247,7 +5257,7 @@ LABL 0 新宋体,8,N - + @@ -5260,7 +5270,7 @@ LABL 0 新宋体,8,N 14491 - + 5509BB30-4B8E-4282-80E7-18ED625B0703 AttachedId AttachedId @@ -5272,7 +5282,7 @@ LABL 0 新宋体,8,N 1 1 - + 41AA15C8-7FAB-44EE-82D7-0BB798D94816 上传人 UserId @@ -5282,7 +5292,7 @@ LABL 0 新宋体,8,N 14491 int - + 5A9B3439-4AEA-4299-B68B-652E25D991BC 文件名 FileName @@ -5293,7 +5303,7 @@ LABL 0 新宋体,8,N varchar(200) 200 - + B43A7B5B-2661-4FB0-A2C0-08CB3F3C6D04 上传时间 AttachedTime @@ -5303,7 +5313,7 @@ LABL 0 新宋体,8,N 14491 datetime - + 82EAB3AE-EFD0-472B-BA82-F715F76EF6AF 文件大小 FileSize @@ -5316,7 +5326,7 @@ LABL 0 新宋体,8,N - + B28AFCAA-3DFA-4B99-9994-60792CA01A08 Key_1 Key_1 @@ -5325,12 +5335,12 @@ LABL 0 新宋体,8,N 1647243128 14491 - + - + @@ -5343,7 +5353,7 @@ LABL 0 新宋体,8,N 14491 - + 61EEF00C-719C-4EEB-824A-10DCE6A420E0 AttachedNewId AttachedNewId @@ -5355,7 +5365,7 @@ LABL 0 新宋体,8,N 1 1 - + A33EE2E3-0EA4-4079-A446-1A5D5E4D17FE NewId NewId @@ -5365,7 +5375,7 @@ LABL 0 新宋体,8,N 14491 int - + B8B8BAB1-04F0-46EF-AF79-2423DDC313D4 AttachedId AttachedId @@ -5377,7 +5387,7 @@ LABL 0 新宋体,8,N - + E28EA428-0BEE-42FB-BE46-970178FF6281 Key_1 Key_1 @@ -5386,12 +5396,12 @@ LABL 0 新宋体,8,N 1647243371 14491 - + - + @@ -5400,11 +5410,11 @@ LABL 0 新宋体,8,N Diseases 1647243449 14491 -1647243695 +1648518866 14491 - + BEEE8EA1-776F-48AF-A6D9-1911A89719DF DiseasesId DiseasesId @@ -5416,7 +5426,7 @@ LABL 0 新宋体,8,N 1 1 - + CDF78DAD-551E-4292-B14E-61B9567D530B 病种名称 DiseasesName @@ -5427,7 +5437,7 @@ LABL 0 新宋体,8,N varchar(100) 100 - + C60BF78F-9A10-4298-9471-5E5648F58686 病种代码 DiseasesCode @@ -5438,7 +5448,7 @@ LABL 0 新宋体,8,N varchar(100) 100 - + 28C5627E-7F51-475C-B3D3-4ECC3D2ECF39 病种描述 Description @@ -5449,9 +5459,19 @@ LABL 0 新宋体,8,N varchar(500) 500 + +59384856-19FB-4D6A-A208-AFDCCECDC5DC +是否使用 +IsUsing +1648518833 +14491 +1648519133 +14491 +boolean + - + AF442C64-ED65-4A13-A3C9-3C4984B68118 Key_1 Key_1 @@ -5460,12 +5480,12 @@ LABL 0 新宋体,8,N 1647243532 14491 - + - + @@ -5478,7 +5498,7 @@ LABL 0 新宋体,8,N 14491 - + 9A32757E-71E9-4E97-97D5-6113092EEA14 ReportTemplateId ReportTemplateId @@ -5490,7 +5510,7 @@ LABL 0 新宋体,8,N 1 1 - + 030EBC64-1445-4E4D-9155-907504B26D3B 病种Id DiseasesId @@ -5500,7 +5520,7 @@ LABL 0 新宋体,8,N 14491 int - + 9A8FC303-988D-4D36-BA19-4A1202673443 上报内容 Question @@ -5511,7 +5531,7 @@ LABL 0 新宋体,8,N varchar(300) 300 - + CB9D0DF4-C386-46AD-B1A8-996455FEDE73 是否必填 IfMust @@ -5521,7 +5541,7 @@ LABL 0 新宋体,8,N 14491 bit - + 1F82A65F-FDDA-4DB1-B3F6-670264320261 数据类型(填报数据类型) Type @@ -5538,7 +5558,7 @@ string 文本 - + 5E098FCF-18C4-41B3-8FCE-13834CB55F46 Key_1 Key_1 @@ -5547,12 +5567,12 @@ string 文本 1647243843 14491 - + - + @@ -5565,7 +5585,7 @@ string 文本 14491 - + E4E4F226-62A1-4E08-B810-B805545D900B ReportId ReportId @@ -5577,7 +5597,7 @@ string 文本 1 1 - + A976CECB-C56C-4CC4-B0F9-1F47E5ECEF22 病种Id DiseasesId @@ -5587,7 +5607,7 @@ string 文本 14491 int - + 7D1DA10D-288D-4E82-95DA-7F6D3312CFB4 问题Id ReportTemplateId @@ -5597,7 +5617,7 @@ string 文本 14491 int - + DB62A349-7091-497A-AE3A-99C0C954841B 填报人 UserId @@ -5607,7 +5627,7 @@ string 文本 14491 int - + 5A092DCB-9934-44CB-BDFB-644AE3D0C486 填报内容 ReportContent @@ -5618,7 +5638,7 @@ string 文本 varchar(500) 500 - + 51EFD5ED-7FA1-4741-81BB-321143563D84 填报时间 ReportTime @@ -5630,7 +5650,7 @@ string 文本 - + A0729969-82E6-4075-8DAB-8FC1D955FC79 Key_1 Key_1 @@ -5639,12 +5659,12 @@ string 文本 1647244465 14491 - + - + @@ -5657,7 +5677,7 @@ string 文本 14491 - + 8354457A-4DE2-4717-8A0E-8CC3135708DF PartId PartId @@ -5669,7 +5689,7 @@ string 文本 1 1 - + 60D23C29-037C-4C38-B846-DBBFC28350B5 栏目名 PartName @@ -5680,7 +5700,7 @@ string 文本 varchar(30) 30 - + A043AF75-34D3-4A81-A887-B543C1189126 栏目代码 PartCode @@ -5691,7 +5711,7 @@ string 文本 varchar(30) 30 - + FE5EEFBD-A9B3-4ECC-809E-929EEB32B02A 栏目介绍 Description @@ -5704,7 +5724,7 @@ string 文本 - + 5C888E38-79DA-4347-8CE1-912C4C4416C2 Key_1 Key_1 @@ -5713,12 +5733,12 @@ string 文本 1647248087 14491 - + - + @@ -5731,7 +5751,7 @@ string 文本 14491 - + B98942DD-CAD6-47C7-ACC5-A451A5B8B89A HospitalId HospitalId @@ -5743,7 +5763,7 @@ string 文本 1 1 - + 8C4FAE48-93F7-45E4-A99C-191A7B72156A 医院名称 HospitalName @@ -5754,7 +5774,7 @@ string 文本 varchar(100) 100 - + E95F95D7-DB9F-4A09-8065-D00B09055A33 医院代码 HospitalCode @@ -5765,7 +5785,7 @@ string 文本 varchar(30) 30 - + 9BD7887B-C3D7-44E9-8656-8241967B8180 医院地址 Address @@ -5776,7 +5796,7 @@ string 文本 varchar(50) 50 - + 4618229D-E16E-45E5-B4E8-99AD55C8DC5C 联系电话 Phone @@ -5789,7 +5809,7 @@ string 文本 - + FE7C5210-AAA8-4DE4-9877-5A53788D6284 Key_1 Key_1 @@ -5798,12 +5818,12 @@ string 文本 1647249096 14491 - + - + @@ -5829,7 +5849,7 @@ string 文本 - + DF20A5E7-456A-4DB7-AE63-E00375B9F1A6 1646980840 14491 @@ -5865,7 +5885,7 @@ string 文本 - + BE09733B-68C9-4D51-BDF9-736FB86F9674 1646980842 14491 @@ -5901,7 +5921,7 @@ string 文本 - + 5E8C4ED8-9081-413C-B9A1-1430BB934461 1646980844 14491 @@ -5937,7 +5957,7 @@ string 文本 - + D7FF0915-25A4-479E-AF92-911C5409612B 1646980903 14491 @@ -5973,7 +5993,7 @@ string 文本 - + 4E90A34A-EC1C-4C9D-AE61-6F7277141CF9 1647243017 14491 @@ -6006,10 +6026,10 @@ string 文本 - + - + ED3E9668-CCA7-4BAF-8BF8-40419961CE30 1647243392 14491 @@ -6019,7 +6039,7 @@ string 文本 - + @@ -6042,20 +6062,20 @@ string 文本 - + - + C2D172A4-33F0-4486-8795-8ADD2ED8573D 1647243393 14491 1647243393 14491 - + - + @@ -6081,7 +6101,7 @@ string 文本 - + 4849F2DD-67D7-48E5-A01D-D7ABA20C1A1E 1647243423 14491 @@ -6091,7 +6111,7 @@ string 文本 - + @@ -6114,20 +6134,20 @@ string 文本 - + - + 676B3472-DA8C-4C2C-AB4E-5D6954127804 1647243911 14491 1647243911 14491 - + - + @@ -6150,20 +6170,20 @@ string 文本 - + - + 066434BF-39F5-4A3B-94B3-900932ABD4FB 1647244670 14491 1647244670 14491 - + - + @@ -6186,20 +6206,20 @@ string 文本 - + - + D73D2E69-A3EA-401A-BD9C-1C7F4DBAB92D 1647244672 14491 1647244672 14491 - + - + @@ -6225,7 +6245,7 @@ string 文本 - + 78AF9037-0886-4FCE-8FF3-AA75F16B91FA 1647245649 14491 @@ -6235,7 +6255,7 @@ string 文本 - + @@ -6258,17 +6278,17 @@ string 文本 - + - + CECF0A33-4E60-4201-B2F8-DD8FD2B97B32 1647248177 14491 1647248177 14491 - + @@ -6294,17 +6314,17 @@ string 文本 - + - + 308ECB76-4898-4491-9453-9F2DFDC3DA44 1647249426 14491 1647249426 14491 - + @@ -6314,7 +6334,7 @@ string 文本 - + 6B2B74A4-E69D-4849-BFD1-145C500EC182 PUBLIC PUBLIC @@ -6325,7 +6345,7 @@ string 文本 - + 8ABBF367-95AA-4C05-8305-D90D544D7EF4 MySQL 5.0 MYSQL50