using System; using System.IO; using System.Data; using SHJX.Service.Dao; using SHJX.Service.Common.Utils; using SHJX.Service.Model.Control; using System.Collections.Generic; using SHJX.Service.Common.ReadXML; using SHJX.Service.Common.ExtendElement; namespace SHJX.Service.Control.ServiceController { public class TemplateController { private readonly TemplateDataManager _templateDataManager; private readonly ReadConfigUtil _config; public TemplateController(ReadConfigUtil config) { _config = config; _templateDataManager = new TemplateDataManager(config); } public List GetSampleDetailsByTemplate() { if (string.IsNullOrWhiteSpace(_config.TemplateFilePath)) { UMessageBox.Error("模板路径为空,无法进行保存与导入!"); return null; } if (!File.Exists(_config.TemplateFilePath)) { UMessageBox.Error("本地模板不存在!"); return null; } return _config.TemplateFilePath.ReadExcel().ConvertToList(); } public void SaveTemplate(List details) { if (string.IsNullOrWhiteSpace(_config.TemplateFilePath)) { UMessageBox.Error($"导出模板失败,模板路径为空!"); return; } var dt = new DataTable("Template"); dt.Columns.Add("节点名称", Type.GetType("System.String")!); dt.Columns.Add("详细描述", Type.GetType("System.String")!); dt.Columns.Add("样品体积", Type.GetType("System.Double")!); dt.Columns.Add("样品倍数", Type.GetType("System.Double")!); dt.Columns.Add("硫酸汞", Type.GetType("System.Double")!); dt.Columns.Add("样品类型", Type.GetType("System.String")!); dt.Columns.Add("样品浓度", Type.GetType("System.String")!); dt.Columns.Add("快速滴定", Type.GetType("System.Boolean")!); details.ForEach(item => { dt.Rows.Add(item.NodeName, item.Detail, item.SampleVolume, item.Multiple, item.HgSO4, item.SampleType, item.Concentration, item.QuickTitration); }); dt.ConvertToExcel(_config.TemplateFilePath); } } }