领胜LDS 键盘AOI检测项目
wells
2020-07-11 e16d7399dc937da1de62b3f279f2ab904cb6488b
src/Bro.M071.Process/M071Process.cs
@@ -50,6 +50,8 @@
            base.Open();
            InitialMotionCardBaseAxisAlarm();
            SwitchBeep(false);
            SwitchLightGreen(false);
            SwitchLightRed(false);
@@ -59,10 +61,25 @@
            FullReset(null);
        }
        private void InitialMotionCardBaseAxisAlarm()
        {
            if (outputCtrlCard != null)
            {
                outputCtrlCard.OnAxisAlarmRaised -= MotionCard_OnAxisAlarmRaised;
                outputCtrlCard.OnAxisAlarmRaised += MotionCard_OnAxisAlarmRaised;
            }
        }
        private void MotionCard_OnAxisAlarmRaised(int axisIndex, string alarmMsg)
        {
            RaisedAlarm(alarmMsg);
            MachineState = MachineState.Alarm;
        }
        private void InitialSetting()
        {
            //数据库迁移检查
            DatabaseInitialize.Initialize();
            //DatabaseInitialize.Initialize();
            MotionCardSettingCheck();
@@ -378,6 +395,9 @@
                var measurementUnitResultAndKeyUnitDataSet = GetMeasurementUnitResultAndKeyUnitData(pMeasure);
                //MES输出 todo
                if (Config.IsEnableMESUpload)
                {
                }
                //Excel报表输出 (单个产品的excel导出)
                ExportProductionExcel(measurementUnitResultAndKeyUnitDataSet);
@@ -460,7 +480,7 @@
                    measurementUnitResult.ProductionMeasurementRecordsId = productionMeasurementRecords.ID;
                    measurementUnitResult.MeasurementName = MeasurementUnitResult.Name;
                    measurementUnitResult.MeasurementType = MeasurementUnitResult.MeasureType;
                    measurementUnitResult.MeasurementValue = "";
                    measurementUnitResult.MeasurementValue = MeasurementUnitResult.Spec.ActualValue.ToString();
                    measurementUnitResult.MeasurementResult = MeasurementUnitResult.Spec.MeasureResult.Value ? "OK" : "NG";
                    measurementUnitResults.Add(measurementUnitResult);
@@ -469,17 +489,20 @@
                    {
                        foreach (var keyValue in keyUnit.MeasureValueDict)//获取单个键的单个测量item 结果
                        {
                            KeyUnitData keyUnitData = new KeyUnitData();
                            keyUnitData.Key = keyUnit.Key;
                            keyUnitData.MeasurementItem = keyValue.Key;
                            keyUnitData.ItemValue = keyValue.Value.ToString();
                            keyUnitDatas.Add(keyUnitData);
                            bool isExist = keyUnitDatas.Any(u => u.Key == keyUnit.Key && u.MeasurementItem == keyValue.Key);
                            if (!isExist)//已存在 不重复添加原始数据
                            {
                                KeyUnitData keyUnitData = new KeyUnitData();
                                keyUnitData.Key = keyUnit.Key;
                                keyUnitData.MeasurementItem = keyValue.Key;
                                keyUnitData.ItemValue = keyValue.Value.ToString();
                                keyUnitDatas.Add(keyUnitData);
                            MeasurementAndKeyDataRelation measurementAndKeyDataRelation = new MeasurementAndKeyDataRelation();
                            measurementAndKeyDataRelation.MeasurementUnitResultId = measurementUnitResult.ID;
                            measurementAndKeyDataRelation.KeyUnitDataId = keyUnitData.ID;
                            measurementAndKeyDataRelationList.Add(measurementAndKeyDataRelation);
                                MeasurementAndKeyDataRelation measurementAndKeyDataRelation = new MeasurementAndKeyDataRelation();
                                measurementAndKeyDataRelation.MeasurementUnitResultId = measurementUnitResult.ID;
                                measurementAndKeyDataRelation.KeyUnitDataId = keyUnitData.ID;
                                measurementAndKeyDataRelationList.Add(measurementAndKeyDataRelation);
                            }
                        }
                    }
                }
@@ -497,6 +520,9 @@
        private async void ExportProductionExcel(ProductionMeasurementUnitResultAndKeyUnitDataSet measurementUnitResultAndKeyUnitDataSet)
        {
            if (!Config.IsCSVOutputEnabled)
                return;
            await Task.Run(() =>
            {
                ExcelExportSet excelExportDto = new ExcelExportSet();
@@ -521,7 +547,7 @@
                excelExportDto.WorksheetDataTable[excelExportDto.Worksheets[1]] = ExcelExportHelper.ListToDataTable(measurementUnitResultAndKeyUnitDataSet.MeasurementUnitResultList, measurementUnitResultColumns); ;
                byte[] filecontent = ExcelExportHelper.ExportExcel(excelExportDto, false);
                string dir = Path.Combine(Config.ImageSaveFolder, DateTime.Now.ToString("yyyyMMdd"));
                string dir = Path.Combine(Config.LogPath, DateTime.Now.ToString("yyyyMMdd"));
                if (!Directory.Exists(dir))
                {
                    Directory.CreateDirectory(dir);