| | |
| | | updateObj.SetConcurrencyStampIfNotNull(input.ConcurrencyStamp); |
| | | input.MapExtraPropertiesTo(updateObj, MappingPropertyDefinitionChecks.None); |
| | | |
| | | updateObj.Son_TaskCode = input.Son_TaskCode; |
| | | updateObj.TaskCode = input.TaskCode; |
| | | updateObj.WorkPlanStatus = input.WorkPlanStatus; |
| | | updateObj.CallMaterialStatus = input.CallMaterialStatus; |
| | | updateObj.DataIdentifier = input.DataIdentifier; |
| | | updateObj.MaterialMode = input.MaterialMode; |
| | | updateObj.Length = input.Length; |
| | | updateObj.MarkingContent = input.MarkingContent; |
| | | updateObj.MarkingPosition = input.MarkingPosition; |
| | | updateObj.CuttingPosition = input.CuttingPosition; |
| | | updateObj.Quantity = input.Quantity; |
| | | updateObj.FlangeThickness = input.FlangeThickness; |
| | | updateObj.FlangeInnerDiameter = input.FlangeInnerDiameter; |
| | | updateObj.WeldingHeatInput = input.WeldingHeatInput; |
| | | updateObj.PipeAllowableStress = input.PipeAllowableStress; |
| | | updateObj.PipeDiameter = input.PipeDiameter; |
| | | updateObj.PipeWallThickness = input.PipeWallThickness; |
| | | updateObj.FactoryCode = input.FactoryCode; |
| | | updateObj.ProductCode = input.ProductCode; |
| | | updateObj.WorkstationCode = input.WorkstationCode; |
| | | updateObj.EquipmentCode = input.EquipmentCode; |
| | | updateObj.ProdLineCode = input.ProdLineCode; |
| | | updateObj.ShipNumber = input.ShipNumber; |
| | | updateObj.ProjectNumber = input.ProjectNumber; |
| | | updateObj.ProcessName = input.ProcessName; |
| | | updateObj.PipeFittingCode = input.PipeFittingCode; |
| | | updateObj.PreSerialNumber = input.PreSerialNumber; |
| | | updateObj.PipeSpecCode = input.PipeSpecCode; |
| | | updateObj.PipeSectionName = input.PipeSectionName; |
| | | updateObj.OuterDiameter = input.OuterDiameter; |
| | | updateObj.Thickness = input.Thickness; |
| | | updateObj.Material = input.Material; |
| | | updateObj.ProcessRouteNumber = input.ProcessRouteNumber; |
| | | updateObj.PlannedStartTime = input.PlannedStartTime; |
| | | updateObj.PlannedEndTime = input.PlannedEndTime; |
| | | updateObj.TeamInfo = input.TeamInfo; |
| | | updateObj.Timestamp = input.Timestamp; |
| | | updateObj.Remark = input.Remark; |
| | | |
| | | // 批量赋值所有可映射字段(通过匿名对象) |
| | | updateObj = ObjectMapper.Map(input, updateObj); // 等效于手动赋值所有匹配字段 |
| | | //updateObj.Id = id; |
| | | //updateObj.Son_TaskCode = input.Son_TaskCode; |
| | | //updateObj.TaskCode = input.TaskCode; |
| | | //updateObj.WorkPlanStatus = input.WorkPlanStatus; |
| | | //updateObj.CallMaterialStatus = input.CallMaterialStatus; |
| | | //updateObj.DataIdentifier = input.DataIdentifier; |
| | | //updateObj.MaterialMode = input.MaterialMode; |
| | | //updateObj.Length = input.Length; |
| | | //updateObj.MarkingContent = input.MarkingContent; |
| | | //updateObj.MarkingPosition = input.MarkingPosition; |
| | | //updateObj.CuttingPosition = input.CuttingPosition; |
| | | //updateObj.Quantity = input.Quantity; |
| | | //updateObj.FlangeThickness = input.FlangeThickness; |
| | | //updateObj.FlangeInnerDiameter = input.FlangeInnerDiameter; |
| | | //updateObj.WeldingHeatInput = input.WeldingHeatInput; |
| | | //updateObj.PipeAllowableStress = input.PipeAllowableStress; |
| | | //updateObj.PipeDiameter = input.PipeDiameter; |
| | | //updateObj.PipeWallThickness = input.PipeWallThickness; |
| | | //updateObj.FactoryCode = input.FactoryCode; |
| | | //updateObj.ProductCode = input.ProductCode; |
| | | //updateObj.WorkstationCode = input.WorkstationCode; |
| | | //updateObj.EquipmentCode = input.EquipmentCode; |
| | | //updateObj.ProdLineCode = input.ProdLineCode; |
| | | //updateObj.ShipNumber = input.ShipNumber; |
| | | //updateObj.ProjectNumber = input.ProjectNumber; |
| | | //updateObj.ProcessName = input.ProcessName; |
| | | //updateObj.PipeFittingCode = input.PipeFittingCode; |
| | | //updateObj.PreSerialNumber = input.PreSerialNumber; |
| | | //updateObj.PipeSpecCode = input.PipeSpecCode; |
| | | //updateObj.PipeSectionName = input.PipeSectionName; |
| | | //updateObj.OuterDiameter = input.OuterDiameter; |
| | | //updateObj.Thickness = input.Thickness; |
| | | //updateObj.Material = input.Material; |
| | | //updateObj.ProcessRouteNumber = input.ProcessRouteNumber; |
| | | //updateObj.PlannedStartTime = input.PlannedStartTime; |
| | | //updateObj.PlannedEndTime = input.PlannedEndTime; |
| | | //updateObj.TeamInfo = input.TeamInfo; |
| | | //updateObj.Timestamp = input.Timestamp; |
| | | //updateObj.Remark = input.Remark; |
| | | |
| | | |
| | | updateObj.LastModifierName = input.LastModifierName;//修改人 |
| | |
| | | Check.NotNull(input, nameof(input)); |
| | | |
| | | var workTaskCreateDtos = new List<(int RowIndex, WorkTaskCreateDto Item)>(); |
| | | var workTaskUpdateDtos = new List<(int RowIndex, Guid Id, WorkTaskUpdateDto Item)>(); |
| | | var workTaskUpdateDtos = new List<(int RowIndex, Guid Id, WorkTask Item)>(); |
| | | var importItems = input.WorkTasks; |
| | | |
| | | if (importItems != null && importItems.Any()) |
| | |
| | | var oldWorkTask = await _workTaskRepository.FindByNameAsync(impItem.Son_TaskCode); |
| | | if (oldWorkTask != null) |
| | | { |
| | | var workTaskUpdateDto = new WorkTaskUpdateDto |
| | | { |
| | | Son_TaskCode = impItem.Son_TaskCode, |
| | | TaskCode = impItem.TaskCode, |
| | | WorkPlanStatus = impItem.WorkPlanStatus, |
| | | CallMaterialStatus = impItem.CallMaterialStatus, |
| | | DataIdentifier = impItem.DataIdentifier, |
| | | MaterialMode = impItem.MaterialMode, |
| | | Length = impItem.Length, |
| | | MarkingContent = impItem.MarkingContent, |
| | | MarkingPosition = impItem.MarkingPosition, |
| | | CuttingPosition = impItem.CuttingPosition, |
| | | Quantity = impItem.Quantity, |
| | | FlangeThickness = impItem.FlangeThickness, |
| | | FlangeInnerDiameter = impItem.FlangeInnerDiameter, |
| | | WeldingHeatInput = impItem.WeldingHeatInput, |
| | | PipeAllowableStress = impItem.PipeAllowableStress, |
| | | PipeDiameter = impItem.PipeDiameter, |
| | | PipeWallThickness = impItem.PipeWallThickness, |
| | | FactoryCode = impItem.FactoryCode, |
| | | ProductCode = impItem.ProductCode, |
| | | WorkstationCode = impItem.WorkstationCode, |
| | | EquipmentCode = impItem.EquipmentCode, |
| | | ProdLineCode = impItem.ProdLineCode, |
| | | ShipNumber = impItem.ShipNumber, |
| | | ProjectNumber = impItem.ProjectNumber, |
| | | ProcessName = impItem.ProcessName, |
| | | PipeFittingCode = impItem.PipeFittingCode, |
| | | PreSerialNumber = impItem.PreSerialNumber, |
| | | PipeSpecCode = impItem.PipeSpecCode, |
| | | PipeSectionName = impItem.PipeSectionName, |
| | | OuterDiameter = impItem.OuterDiameter, |
| | | Thickness = impItem.Thickness, |
| | | Material = impItem.Material, |
| | | ProcessRouteNumber = impItem.ProcessRouteNumber, |
| | | PlannedStartTime = impItem.PlannedStartTime, |
| | | PlannedEndTime = impItem.PlannedEndTime, |
| | | TeamInfo = impItem.TeamInfo, |
| | | Timestamp = impItem.Timestamp, |
| | | Remark = impItem.Remark, |
| | | //var workTaskUpdateDto = new WorkTaskUpdateDto { }; |
| | | oldWorkTask = ObjectMapper.Map(impItem, oldWorkTask); // 等效于手动赋值所有匹配字段 |
| | | //var workTaskUpdateDto = new WorkTaskUpdateDto |
| | | //{ |
| | | // Son_TaskCode = impItem.Son_TaskCode, |
| | | // TaskCode = impItem.TaskCode, |
| | | // WorkPlanStatus = impItem.WorkPlanStatus, |
| | | // CallMaterialStatus = impItem.CallMaterialStatus, |
| | | // DataIdentifier = impItem.DataIdentifier, |
| | | // MaterialMode = impItem.MaterialMode, |
| | | // Length = impItem.Length, |
| | | // MarkingContent = impItem.MarkingContent, |
| | | // MarkingPosition = impItem.MarkingPosition, |
| | | // CuttingPosition = impItem.CuttingPosition, |
| | | // Quantity = impItem.Quantity, |
| | | // FlangeThickness = impItem.FlangeThickness, |
| | | // FlangeInnerDiameter = impItem.FlangeInnerDiameter, |
| | | // WeldingHeatInput = impItem.WeldingHeatInput, |
| | | // PipeAllowableStress = impItem.PipeAllowableStress, |
| | | // PipeDiameter = impItem.PipeDiameter, |
| | | // PipeWallThickness = impItem.PipeWallThickness, |
| | | // FactoryCode = impItem.FactoryCode, |
| | | // ProductCode = impItem.ProductCode, |
| | | // WorkstationCode = impItem.WorkstationCode, |
| | | // EquipmentCode = impItem.EquipmentCode, |
| | | // ProdLineCode = impItem.ProdLineCode, |
| | | // ShipNumber = impItem.ShipNumber, |
| | | // ProjectNumber = impItem.ProjectNumber, |
| | | // ProcessName = impItem.ProcessName, |
| | | // PipeFittingCode = impItem.PipeFittingCode, |
| | | // PreSerialNumber = impItem.PreSerialNumber, |
| | | // PipeSpecCode = impItem.PipeSpecCode, |
| | | // PipeSectionName = impItem.PipeSectionName, |
| | | // OuterDiameter = impItem.OuterDiameter, |
| | | // Thickness = impItem.Thickness, |
| | | // Material = impItem.Material, |
| | | // ProcessRouteNumber = impItem.ProcessRouteNumber, |
| | | // PlannedStartTime = impItem.PlannedStartTime, |
| | | // PlannedEndTime = impItem.PlannedEndTime, |
| | | // TeamInfo = impItem.TeamInfo, |
| | | // Timestamp = impItem.Timestamp, |
| | | // Remark = impItem.Remark, |
| | | |
| | | }; |
| | | //}; |
| | | |
| | | workTaskUpdateDtos.Add((impItem.RowIndex, oldWorkTask.Id, workTaskUpdateDto)); |
| | | workTaskUpdateDtos.Add((impItem.RowIndex, oldWorkTask.Id, oldWorkTask)); |
| | | } |
| | | else |
| | | { |
| | | var workTaskCreateDto = new WorkTaskCreateDto |
| | | { |
| | | Son_TaskCode = impItem.Son_TaskCode, |
| | | TaskCode = impItem.TaskCode, |
| | | WorkPlanStatus = impItem.WorkPlanStatus, |
| | | CallMaterialStatus = impItem.CallMaterialStatus, |
| | | DataIdentifier = impItem.DataIdentifier, |
| | | MaterialMode = impItem.MaterialMode, |
| | | Length = impItem.Length, |
| | | MarkingContent = impItem.MarkingContent, |
| | | MarkingPosition = impItem.MarkingPosition, |
| | | CuttingPosition = impItem.CuttingPosition, |
| | | Quantity = impItem.Quantity, |
| | | FlangeThickness = impItem.FlangeThickness, |
| | | FlangeInnerDiameter = impItem.FlangeInnerDiameter, |
| | | WeldingHeatInput = impItem.WeldingHeatInput, |
| | | PipeAllowableStress = impItem.PipeAllowableStress, |
| | | PipeDiameter = impItem.PipeDiameter, |
| | | PipeWallThickness = impItem.PipeWallThickness, |
| | | FactoryCode = impItem.FactoryCode, |
| | | ProductCode = impItem.ProductCode, |
| | | WorkstationCode = impItem.WorkstationCode, |
| | | EquipmentCode = impItem.EquipmentCode, |
| | | ProdLineCode = impItem.ProdLineCode, |
| | | ShipNumber = impItem.ShipNumber, |
| | | ProjectNumber = impItem.ProjectNumber, |
| | | ProcessName = impItem.ProcessName, |
| | | PipeFittingCode = impItem.PipeFittingCode, |
| | | PreSerialNumber = impItem.PreSerialNumber, |
| | | PipeSpecCode = impItem.PipeSpecCode, |
| | | PipeSectionName = impItem.PipeSectionName, |
| | | OuterDiameter = impItem.OuterDiameter, |
| | | Thickness = impItem.Thickness, |
| | | Material = impItem.Material, |
| | | ProcessRouteNumber = impItem.ProcessRouteNumber, |
| | | PlannedStartTime = impItem.PlannedStartTime, |
| | | PlannedEndTime = impItem.PlannedEndTime, |
| | | TeamInfo = impItem.TeamInfo, |
| | | Timestamp = impItem.Timestamp, |
| | | Remark = impItem.Remark, |
| | | var workTaskCreateDto = new WorkTaskCreateDto { }; |
| | | workTaskCreateDto = ObjectMapper.Map(impItem, workTaskCreateDto); // 等效于手动赋值所有匹配字段 |
| | | //var workTaskCreateDto = new WorkTaskCreateDto |
| | | //{ |
| | | // Son_TaskCode = impItem.Son_TaskCode, |
| | | // TaskCode = impItem.TaskCode, |
| | | // WorkPlanStatus = impItem.WorkPlanStatus, |
| | | // CallMaterialStatus = impItem.CallMaterialStatus, |
| | | // DataIdentifier = impItem.DataIdentifier, |
| | | // MaterialMode = impItem.MaterialMode, |
| | | // Length = impItem.Length, |
| | | // MarkingContent = impItem.MarkingContent, |
| | | // MarkingPosition = impItem.MarkingPosition, |
| | | // CuttingPosition = impItem.CuttingPosition, |
| | | // Quantity = impItem.Quantity, |
| | | // FlangeThickness = impItem.FlangeThickness, |
| | | // FlangeInnerDiameter = impItem.FlangeInnerDiameter, |
| | | // WeldingHeatInput = impItem.WeldingHeatInput, |
| | | // PipeAllowableStress = impItem.PipeAllowableStress, |
| | | // PipeDiameter = impItem.PipeDiameter, |
| | | // PipeWallThickness = impItem.PipeWallThickness, |
| | | // FactoryCode = impItem.FactoryCode, |
| | | // ProductCode = impItem.ProductCode, |
| | | // WorkstationCode = impItem.WorkstationCode, |
| | | // EquipmentCode = impItem.EquipmentCode, |
| | | // ProdLineCode = impItem.ProdLineCode, |
| | | // ShipNumber = impItem.ShipNumber, |
| | | // ProjectNumber = impItem.ProjectNumber, |
| | | // ProcessName = impItem.ProcessName, |
| | | // PipeFittingCode = impItem.PipeFittingCode, |
| | | // PreSerialNumber = impItem.PreSerialNumber, |
| | | // PipeSpecCode = impItem.PipeSpecCode, |
| | | // PipeSectionName = impItem.PipeSectionName, |
| | | // OuterDiameter = impItem.OuterDiameter, |
| | | // Thickness = impItem.Thickness, |
| | | // Material = impItem.Material, |
| | | // ProcessRouteNumber = impItem.ProcessRouteNumber, |
| | | // PlannedStartTime = impItem.PlannedStartTime, |
| | | // PlannedEndTime = impItem.PlannedEndTime, |
| | | // TeamInfo = impItem.TeamInfo, |
| | | // Timestamp = impItem.Timestamp, |
| | | // Remark = impItem.Remark, |
| | | |
| | | }; |
| | | //}; |
| | | |
| | | workTaskCreateDtos.Add((impItem.RowIndex, workTaskCreateDto)); |
| | | } |
| | |
| | | } |
| | | |
| | | // 更新 |
| | | foreach (var workTaskDto in workTaskUpdateDtos) |
| | | foreach (var oldWorkObj in workTaskUpdateDtos) |
| | | { |
| | | try |
| | | { |
| | | workTaskDto.Item.LastModifierName = myCurrentUser.UserAccount;//修改人 |
| | | await UpdateAsync(workTaskDto.Id, workTaskDto.Item); |
| | | oldWorkObj.Item.LastModifierName = myCurrentUser.UserAccount;//修改人 |
| | | await _workTaskRepository.UpdateAsync(oldWorkObj.Item); |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | var errorMsg = $"导入失败!配置,第{workTaskDto.RowIndex}行:{e.Message},终止导入"; |
| | | var errorMsg = $"导入失败!配置,第{oldWorkObj.RowIndex}行:{e.Message},终止导入"; |
| | | throw new UserFriendlyException(errorMsg); |
| | | } |
| | | } |