diff --git a/DOAN.Admin.WebApi/Controllers/Mobile/ReportFlowController.cs b/DOAN.Admin.WebApi/Controllers/Mobile/ReportFlowController.cs index 80b265a..b9295a1 100644 --- a/DOAN.Admin.WebApi/Controllers/Mobile/ReportFlowController.cs +++ b/DOAN.Admin.WebApi/Controllers/Mobile/ReportFlowController.cs @@ -46,13 +46,13 @@ public class ReportFlowController : BaseController /// /// [HttpGet("get_process_reportwork_detail")] - public IActionResult GetProcessReportWorkDetail(string workorder, string process) + public IActionResult GetProcessReportWorkDetail(string workorder, int processId) { - if (string.IsNullOrEmpty(workorder) || string.IsNullOrEmpty(process)) + if (string.IsNullOrEmpty(workorder)) { throw new CustomException("workorder or process is null"); } - return SUCCESS(_reportFlowService.GetProcessReportWorkDetail(workorder, process)); + return SUCCESS(_reportFlowService.GetProcessReportWorkDetail(workorder, processId)); } //TODO 工序报工 @@ -66,14 +66,14 @@ public class ReportFlowController : BaseController /// /// [HttpGet("process_reportwork")] - public IActionResult ProcessReportWork(string workorder, string process, int finish_num,int bad_num) + public IActionResult ProcessReportWork(string workorder, int processId, int finish_num,int bad_num) { - if (string.IsNullOrEmpty(workorder) || string.IsNullOrEmpty(process)) + if (string.IsNullOrEmpty(workorder)) { throw new CustomException("workorder or process is null"); } - return SUCCESS(_reportFlowService.ProcessReportWork(workorder, process, finish_num,bad_num,HttpContext.GetNickName())); + return SUCCESS(_reportFlowService.ProcessReportWork(workorder, processId, finish_num,bad_num,HttpContext.GetNickName())); } //TODO 获取工单下的报工列表 @@ -88,6 +88,9 @@ public class ReportFlowController : BaseController return SUCCESS(_reportFlowService.GetWorkOrderReportWorkList(workorder)); } + + + } \ No newline at end of file diff --git a/DOAN.Model/MES/Product/ProReportwork01.cs b/DOAN.Model/MES/Product/ProReportwork01.cs index 175809d..6feb309 100644 --- a/DOAN.Model/MES/Product/ProReportwork01.cs +++ b/DOAN.Model/MES/Product/ProReportwork01.cs @@ -25,10 +25,10 @@ namespace DOAN.Model.MES.product public string RouteCode { get; set; } /// - /// 工序code + /// 工序id /// - [SugarColumn(ColumnName = "process_code")] - public string ProcessCode { get; set; } + [SugarColumn(ColumnName = "process_id")] + public int ProcessId { get; set; } /// /// 计划数量 diff --git a/DOAN.Model/Mobile/ReportFlow/Dto/ProReportWorkDetialDto.cs b/DOAN.Model/Mobile/ReportFlow/Dto/ProReportWorkDetialDto.cs new file mode 100644 index 0000000..160cf71 --- /dev/null +++ b/DOAN.Model/Mobile/ReportFlow/Dto/ProReportWorkDetialDto.cs @@ -0,0 +1,82 @@ +namespace DOAN.Model.Mobile.ReportFlow.Dto; + +public class ProReportWorkDetialDto +{ + + public string Id { get; set; } + + /// + /// 工单code + /// + public string Workorder { get; set; } + + /// + /// 路线code + /// + public string RouteCode { get; set; } + + /// + /// 工序id + /// + + public int ProcessId { get; set; } + + /// + /// 工序名称 + /// + public string ProcessName { get; set; } + + /// + /// 计划数量 + /// + + public int? PlanNum { get; set; } + + /// + /// 完成数量 + /// + + public int? FinishNum { get; set; } + + /// + /// 不良数量 + /// + + public int? BadNum { get; set; } + + /// + /// 作业员 + /// + public string Worker { get; set; } + + /// + /// 作业日期 + /// + + public DateTime? JobDate { get; set; } + + /// + /// 备注 + /// + public string Remark { get; set; } + + /// + /// 创建人 + /// + public string CreatedBy { get; set; } + + /// + /// 创建时间 + /// + public DateTime? CreatedTime { get; set; } + + /// + /// 更新人 + /// + public string UpdatedBy { get; set; } + + /// + /// 更新时间 + /// + public DateTime? UpdatedTime { get; set; } +} \ No newline at end of file diff --git a/DOAN.Service/Mobile/IService/IReportFlowService.cs b/DOAN.Service/Mobile/IService/IReportFlowService.cs index 7ab8cb6..38bdf7b 100644 --- a/DOAN.Service/Mobile/IService/IReportFlowService.cs +++ b/DOAN.Service/Mobile/IService/IReportFlowService.cs @@ -1,4 +1,5 @@ using DOAN.Model.MES.product; +using DOAN.Model.Mobile.ReportFlow.Dto; namespace DOAN.Service.Mobile.IService; @@ -7,10 +8,10 @@ public interface IReportFlowService: IBaseService ProWorkorder GetWorkOrderDetail(string workorder); - ProReportwork01 GetProcessReportWorkDetail(string workorder, string process); + ProReportwork01 GetProcessReportWorkDetail(string workorder, int process); - bool ProcessReportWork(string workorder, string process, int finish_num,int bad_num,string Worker); + bool ProcessReportWork(string workorder, int process, int finish_num,int bad_num,string Worker); - List GetWorkOrderReportWorkList(string workorder); + List GetWorkOrderReportWorkList(string workorder); } \ No newline at end of file diff --git a/DOAN.Service/Mobile/ReportFlowService.cs b/DOAN.Service/Mobile/ReportFlowService.cs index daac218..223c802 100644 --- a/DOAN.Service/Mobile/ReportFlowService.cs +++ b/DOAN.Service/Mobile/ReportFlowService.cs @@ -1,4 +1,6 @@ +using DOAN.Model.MES.base_; using DOAN.Model.MES.product; +using DOAN.Model.Mobile.ReportFlow.Dto; using DOAN.Model.Public; using DOAN.Service.Mobile.IService; using DOAN.Service.Public.IPublicService; @@ -18,18 +20,18 @@ public class ReportFlowService : BaseService, IReportFlowServic return Context.Queryable().Where(x => x.Workorder == workorder).First(); } - public ProReportwork01 GetProcessReportWorkDetail(string workorder, string process) + public ProReportwork01 GetProcessReportWorkDetail(string workorder, int process) { - return Context.Queryable().Where(x => x.Workorder == workorder && x.ProcessCode == process).First(); + return Context.Queryable().Where(x => x.Workorder == workorder && x.ProcessId == process).First(); } - public bool ProcessReportWork(string workorder, string process, int finish_num,int bad_num,string Worker) + public bool ProcessReportWork(string workorder, int process, int finish_num,int bad_num,string Worker) { int result = 0; - bool Exist= Context.Queryable().Where(it => it.Workorder == workorder&&it.ProcessCode==process).Any(); + bool Exist= Context.Queryable().Where(it => it.Workorder == workorder&&it.ProcessId==process).Any(); if (Exist) { - result= Context.Updateable().Where(it => it.Workorder == workorder && it.ProcessCode == process) + result= Context.Updateable().Where(it => it.Workorder == workorder && it.ProcessId == process) .SetColumns(it => it.FinishNum == finish_num) .SetColumns(it => it.BadNum == bad_num) .SetColumns(it => it.Worker == Worker) @@ -44,7 +46,7 @@ public class ReportFlowService : BaseService, IReportFlowServic ProReportwork01 proReportwork01=new ProReportwork01(); proReportwork01.Id = XueHua; proReportwork01.Workorder = workorder; - proReportwork01.ProcessCode = process; + proReportwork01.ProcessId = process; proReportwork01.FinishNum = finish_num; proReportwork01.BadNum = bad_num; proReportwork01.Worker = Worker; @@ -58,9 +60,24 @@ public class ReportFlowService : BaseService, IReportFlowServic } - public List GetWorkOrderReportWorkList(string workorder) + public List GetWorkOrderReportWorkList(string workorder) { - return Context.Queryable().Where(x => x.Workorder == workorder).ToList(); + + + + return Context.Queryable() + .LeftJoin((rw, wp) => rw.ProcessId == wp.Id) + .Where((rw, wp) => rw.Workorder == workorder) + .OrderBy(rw => rw.ProcessId) + .Select((rw, wp) => new ProReportWorkDetialDto() + { + ProcessName = wp.Name, + }, true) + .ToList(); + + + + } }