diff --git a/ZR.Admin.WebApi/Controllers/MES/dev/DeviceTaskExecuteController.cs b/ZR.Admin.WebApi/Controllers/MES/dev/DeviceTaskExecuteController.cs index 96f0d2b..0fdd212 100644 --- a/ZR.Admin.WebApi/Controllers/MES/dev/DeviceTaskExecuteController.cs +++ b/ZR.Admin.WebApi/Controllers/MES/dev/DeviceTaskExecuteController.cs @@ -271,7 +271,7 @@ namespace ZR.Admin.WebApi.Controllers return ToResponse(ResultCode.CUSTOM_ERROR, "数据不合法:只能是1或者2"); } - var response = _DeviceTaskExecuteService.AchieveFormResult(query); + var response = _DeviceTaskExecuteService.AchieveFormResult2(query); return SUCCESS(response); diff --git a/ZR.Model/MES/dev/DeviceTaskExecuteResult1.cs b/ZR.Model/MES/dev/DeviceTaskExecuteResult1.cs index 3f07fc6..7be519e 100644 --- a/ZR.Model/MES/dev/DeviceTaskExecuteResult1.cs +++ b/ZR.Model/MES/dev/DeviceTaskExecuteResult1.cs @@ -78,12 +78,7 @@ namespace ZR.Model.MES.dev [SugarColumn(ColumnName = "form_name")] public string FormName { get; set; } - /// - /// 表单结果(1) - /// - [SugarColumn(ColumnName = "form_result")] - public int? FormResult { get; set; } - + /// /// 巡检人 /// diff --git a/ZR.Model/MES/dev/Dto/DeviceTaskExecuteResult1Dto.cs b/ZR.Model/MES/dev/Dto/DeviceTaskExecuteResult1Dto.cs index 1224b28..0d2dc0f 100644 --- a/ZR.Model/MES/dev/Dto/DeviceTaskExecuteResult1Dto.cs +++ b/ZR.Model/MES/dev/Dto/DeviceTaskExecuteResult1Dto.cs @@ -43,7 +43,7 @@ namespace ZR.Model.MES.dev.Dto public string FormName { get; set; } - public int? FormResult { get; set; } + public string Person { get; set; } diff --git a/ZR.Service/MES/dev/DeviceTaskExecuteService.cs b/ZR.Service/MES/dev/DeviceTaskExecuteService.cs index edacf47..dffae31 100644 --- a/ZR.Service/MES/dev/DeviceTaskExecuteService.cs +++ b/ZR.Service/MES/dev/DeviceTaskExecuteService.cs @@ -400,7 +400,7 @@ namespace ZR.Service.MES.dev List resultList = Context.Queryable() .Where(it => it.PlanType == query.PlanType) - .Where(it=>it.FkPlanId==query.FkPlanId) + .Where(it => it.FkPlanId == query.FkPlanId) .Where(it => it.FkDeviceId == query.FkDeviceId) .Where(it => it.FkInspectId == query.FkInspectId) .ToList(); @@ -475,7 +475,7 @@ namespace ZR.Service.MES.dev else if (resultList.Count > 0) { // 直接从结果表中获取 - + if (resultList.Count > 0) { @@ -492,20 +492,21 @@ namespace ZR.Service.MES.dev item.Type = temp[0].FormType; item.Value = ""; item.Children = resultList.Where(it => it.FormType == FormTypeArray[i]).Select(it => it.FormName).Distinct().ToArray(); - List FormResultArray = resultList.Where(it => it.FormType == FormTypeArray[i]).Where(it=>it.FormResult==1).ToList(); - - if (FormResultArray.Count == 1) { + List FormResultArray = resultList.Where(it => it.FormType == FormTypeArray[i]).Where(it => it.FormResult == 1).ToList(); + + if (FormResultArray.Count == 1) + { item.Value = FormResultArray[0].FormName; } - else if(FormResultArray.Count>1) + else if (FormResultArray.Count > 1) { - string[] str= new string[FormResultArray.Count]; + string[] str = new string[FormResultArray.Count]; for (int ii = 0; ii < str.Length; ii++) { - str[i]=FormResultArray[ii].FormName; + str[i] = FormResultArray[ii].FormName; } - item.Value= string.Join(", ", str).ToString(); + item.Value = string.Join(", ", str).ToString(); } else { @@ -520,7 +521,85 @@ namespace ZR.Service.MES.dev return final_result_list; } - + + + + /// + /// 获取表单结果 + /// 结果表只存选中的结果,多选也只有一个结果 + /// + /// + public List AchieveFormResult2(DeviceTaskExecuteResult1QueryDto_TaskExecute query) + { + List final_result_list = new List(); + + // 获取 设备检查项 所有表单类型 + List all_config_list = Context.Queryable().Where(it => it.FkDeviceInspectId == query.FkInspectId).ToList(); + + int?[] config_type = all_config_list.Select(it => it.Type).Distinct().ToArray(); + + if (config_type.Length > 0) + { + for (int i = 0; i < config_type.Length; i++) + { + //在结果表里查看是否有结果 + DeviceTaskExecuteResult1 executeResult = Context.Queryable() + .Where(it => it.PlanType == query.PlanType) + .Where(it => it.FkPlanId == query.FkPlanId) + .Where(it => it.FkDeviceId == query.FkDeviceId) + .Where(it => it.FkInspectId == query.FkInspectId) + .Where(it => it.FormType == config_type[0]) + .First(); + if (executeResult != null) + { + DeviceTaskExecuteResult1_result item = new DeviceTaskExecuteResult1_result(); + + item.Id = executeResult.Id; + item.Title = executeResult.FormTitle; + item.Value = executeResult.FormName; + item.Type = executeResult.FormType; + item.Children = all_config_list.Where(it => it.Type == config_type[i]).Select(it => it.Content).ToArray(); + final_result_list.Add(item); + } + else + { + DeviceTaskExecuteResult1 insertData = new DeviceTaskExecuteResult1(); + + insertData.Id = SnowFlakeSingle.Instance.NextId().ToString(); + insertData.PlanType = query.PlanType; + insertData.FkPlanId = query.FkPlanId; + insertData.FkDeviceId = query.FkDeviceId; + insertData.FormType = config_type[i]; + insertData.FormTitle = all_config_list.Where(it => it.Type == config_type[i]).Select(it => it.Title).First(); + + Context.Insertable(insertData).ExecuteReturnIdentity(); + DeviceTaskExecuteResult1_result item = new DeviceTaskExecuteResult1_result(); + + item.Id = insertData.Id; + item.Title = insertData.FormTitle; + item.Value = ""; + item.Type = insertData.FormType; + item.Children = all_config_list.Where(it => it.Type == config_type[i]).Select(it => it.Content).ToArray(); + final_result_list.Add(item); + + + } + + + + } + } + + + + + return final_result_list; + + + + + + } /// /// 更新结果表单 /// @@ -528,11 +607,11 @@ namespace ZR.Service.MES.dev /// public int UpdateFormResult(DeviceTaskExecuteResult1Dto result) { - DeviceTaskExecuteResult1 item= result.Adapt(); + DeviceTaskExecuteResult1 item = result.Adapt(); return Context.Updateable(item).IgnoreColumns(true).EnableDiffLogEvent("更新结果表单").ExecuteCommand(); } - - + + } } \ No newline at end of file diff --git a/ZR.Service/MES/dev/IService/IDeviceTaskExecuteService.cs b/ZR.Service/MES/dev/IService/IDeviceTaskExecuteService.cs index 11987e8..bd40021 100644 --- a/ZR.Service/MES/dev/IService/IDeviceTaskExecuteService.cs +++ b/ZR.Service/MES/dev/IService/IDeviceTaskExecuteService.cs @@ -37,8 +37,9 @@ namespace ZR.Service.MES.dev.IService List AchieveInspectbindForm(int fk_device_inspect_id); List AchieveFormResult(DeviceTaskExecuteResult1QueryDto_TaskExecute query); + List AchieveFormResult2(DeviceTaskExecuteResult1QueryDto_TaskExecute query); - int UpdateFormResult(DeviceTaskExecuteResult1Dto result); + int UpdateFormResult(DeviceTaskExecuteResult1Dto result); } }