Example #1
0
        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);
        }
Example #2
0
        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);
        }