public bool ProcessExtension(JZDocument sheet, StatisticsModuleSetting map, List <StatisticsSetting> columns, DataRow document, Sys_Module module, Dictionary <string, Object> result) { var documentID = new Guid(Convert.ToString(document["ID"])); switch (map.StatisticsItemName) { case "报告日期": return(true); case "厂家名称": return(ProcessFactory(documentID, module, result, sheet)); case "试验人员": case "设备厂家": case "设备型号": case "仪表型号": var device = CallLocalMethod(Uri, DLL, "PickOneAcquisition", new object[] { documentID }) as DataTable; if (device == null || device.Rows.Count == 0) { Logger.Info("获取 " + map.StatisticsItemName + " 到空值"); return(true); } var userName = Convert.ToString(device.Rows[0]["UserName"]); var machineCode = Convert.ToString(device.Rows[0]["MachineCode"]); var item = columns.Find(m => m.ItemName == map.StatisticsItemName); if (item == null) { Logger.Info("在统计项中获取名为 " + map.StatisticsItemName + " 的项为空"); return(true); } switch (map.StatisticsItemName) { case "试验人员": result[item.BindField] = userName; break; default: result[item.BindField] = machineCode; break; } return(true); } return(false); }
private bool SaveSetting(Sys_Statistics_Item statistics) { var statisticsID = statistics.ID; var selectionModuleID = GetSelectionModuleID(); if (statisticsID == Guid.Empty || selectionModuleID == Guid.Empty) { return(false); } var statisticsSettings = new List <StatisticsSetting>(); try { var settting = JsonConvert.DeserializeObject <List <StatisticsSetting> >(CurrentStatistics.Columns); if (settting != null) { statisticsSettings = settting; } } catch (Exception) { var m = JsonConvert.DeserializeObject <Dictionary <string, string> >(CurrentStatistics.Columns); foreach (var key in m.Keys) { statisticsSettings.Add(new StatisticsSetting() { ItemName = key, BindField = m[key], }); } } StatisticsModuleSetting model = null; StatisticsSetting item = null; var settings = new List <StatisticsModuleSetting>(); for (var i = 0; i < this.TableStatistics.ActiveSheet.Rows.Count; i++) { model = new StatisticsModuleSetting(); item = new StatisticsSetting(); var itemName = TableStatistics.ActiveSheet.Cells[i, 0].Value; var itemType = TableStatistics.ActiveSheet.Cells[i, 1].Value; var sheetName = TableStatistics.ActiveSheet.Cells[i, 2].Value; var sheetID = TableStatistics.ActiveSheet.Cells[i, 2].Tag; var cellName = TableStatistics.ActiveSheet.Cells[i, 3].Value; if (itemName == null || itemType == null) { continue; } var itn = Convert.ToString(itemName); var it = Map[Convert.ToString(itemType)]; var sn = Convert.ToString(sheetName); var si = new Guid(Convert.ToString(sheetID)); var cn = Convert.ToString(cellName); model.BindField = it; model.StatisticsItemName = itn; model.CellName = cn; model.SheetName = sn; model.SheetID = si; item = statisticsSettings.Find(m => m.BindField == it); if (item == null) { item = new StatisticsSetting(); statisticsSettings.Add(item); } item.BindField = it; item.ItemName = itn; settings.Add(model); } var map = JsonConvert.SerializeObject(settings); var result = StatisticsHelperClient.UpdateStatisticsMapOnModule(selectionModuleID, map); if (string.IsNullOrEmpty(result) == false) { MessageBox.Show(result, "保存失败", MessageBoxButtons.OK, MessageBoxIcon.Information); return(false); } statistics.Columns = JsonConvert.SerializeObject(statisticsSettings); result = StatisticsHelperClient.ModifyStatistics(statistics); if (string.IsNullOrEmpty(result) == false) { MessageBox.Show(result, "保存失败", MessageBoxButtons.OK, MessageBoxIcon.Information); return(false); } if (NeedSynchronous) { result = StatisticsHelperClient.SynchronousStatistics(statistics.ID, statisticsSettings); } result = StatisticsHelperClient.NewStatisticsReference(statistics.ID, selectionModuleID); if (string.IsNullOrEmpty(result) == false) { MessageBox.Show(result, "保存失败", MessageBoxButtons.OK, MessageBoxIcon.Information); return(false); } return(true); }