Exemple #1
0
        public ProjectBaseData GetProjectBaseData()
        {
            Model.ProfileData profileData;
            if (m_ProfileDataSQLite == null && m_ProfileData == null)
            {
                throw new Exception("請先從服務器或本地SQLite獲取數據!");
            }
            if (m_ProfileData == null)
            {
                profileData = m_ProfileDataSQLite;
            }
            else
            {
                profileData = m_ProfileData;
            }

            ProjectBaseData data = new ProjectBaseData();
            CodeMaster_cmt_Info code = new CodeMaster_cmt_Info();
            List<CodeMaster_cmt_Info> codes = new List<CodeMaster_cmt_Info>();

            //品檢間隔時長(分鐘)
            code = GetCodeMasters(profileData, DefineConstantValue.CodeMasterDefine.KEY1_TYPEVALUE, DefineConstantValue.CodeMasterDefine.KEY2_DEFAULT, DefineConstantValue.CodeMasterDefine.KEY3_QCINTERVAL);
            if (code != null)
            {
                data.ProjectQCInervalTime = Convert.ToInt32(code.cmt_fNumber);
            }

            //工程停機邏輯時間
            code = GetCodeMasters(profileData, DefineConstantValue.CodeMasterDefine.KEY1_TYPEVALUE, DefineConstantValue.CodeMasterDefine.KEY2_DEFAULT, DefineConstantValue.CodeMasterDefine.KEY3_PROD_STOP_COND);
            if (code != null)
            {
                data.ProjectMachineHaltLogicTime = Convert.ToInt32(code.cmt_fNumber);
            }

            //目標速度(張/小時)
            data.TargetSpeed = profileData.MachineSpeed;

            //準備工作超時警告提前警告時間量(分鐘)
            code = GetCodeMasters(profileData, DefineConstantValue.CodeMasterDefine.KEY1_TYPEVALUE, DefineConstantValue.CodeMasterDefine.KEY2_PREPARE, DefineConstantValue.CodeMasterDefine.KEY3_PREPARE_WOTTIME);
            if (code != null)
            {
                data.OvertimeAlertTimeInAdvance = Convert.ToInt32(code.cmt_fNumber);
            }

            //工程等級列表
            List<BaseModel> projectGrades = new List<BaseModel>();
            codes = GetCodeMasters(profileData, DefineConstantValue.CodeMasterDefine.KEY1_TYPEVALUE, DefineConstantValue.CodeMasterDefine.KEY2_PROJECTLEVEL);
            foreach (CodeMaster_cmt_Info item in codes)
            {
                projectGrades.Add(new BaseModel()
                {
                    Code = item.cmt_cValue,
                    Description = item.cmt_cRemark
                });
            }
            data.ProjectGrades = projectGrades;

            //工程轉版等級列表
            List<BaseModel> projectPrepareGrades = new List<BaseModel>();
            codes = GetCodeMasters(profileData, DefineConstantValue.CodeMasterDefine.KEY1_TYPEVALUE, DefineConstantValue.CodeMasterDefine.KEY2_PROJECTPREPARELEVEL);
            foreach (CodeMaster_cmt_Info item in codes)
            {
                projectPrepareGrades.Add(new BaseModel()
                {
                    Code = item.cmt_cValue,
                    Description = item.cmt_cRemark + ":" + Convert.ToInt32(item.cmt_fNumber).ToString().Trim()
                });
            }
            data.ProjectPerpareGrades = projectPrepareGrades;

            //消數原因列表
            List<BaseModel> clearUpProductionQuantityReasons = new List<BaseModel>();

            codes = GetCodeMasters(profileData, DefineConstantValue.CodeMasterDefine.KEY1_MODIFYQTY, DefineConstantValue.CodeMasterDefine.KEY2_CLEARQTY);
            foreach (CodeMaster_cmt_Info item in codes)
            {
                clearUpProductionQuantityReasons.Add(new BaseModel()
                {
                    Code = item.cmt_cValue,
                    Description = item.cmt_cRemark
                });
            }
            data.ClearUpProductionQuantityReasons = clearUpProductionQuantityReasons;

            //糾數原因列表
            List<BaseModel> correctProductionQuantityReasons = new List<BaseModel>();

            codes = GetCodeMasters(profileData, DefineConstantValue.CodeMasterDefine.KEY1_MODIFYQTY, DefineConstantValue.CodeMasterDefine.KEY2_CORRECTQTY);
            foreach (CodeMaster_cmt_Info item in codes)
            {
                correctProductionQuantityReasons.Add(new BaseModel()
                {
                    Code = item.cmt_cValue,
                    Description = item.cmt_cRemark
                });
            }
            data.CorrectProductionQuantityReasons = correctProductionQuantityReasons;

            //工程抽起原因列表
            List<BaseModel> projectExtractionReasons = new List<BaseModel>();

            codes = GetCodeMasters(profileData, DefineConstantValue.CodeMasterDefine.KEY1_PROJECT, DefineConstantValue.CodeMasterDefine.KEY2_STOPREASON);
            foreach (CodeMaster_cmt_Info item in codes)
            {
                projectExtractionReasons.Add(new BaseModel()
                {
                    Code = item.cmt_cValue,
                    Description = item.cmt_cRemark
                });
            }
            data.ProjectExtractionReasons = projectExtractionReasons;

            //溫度單位列表
            List<BaseModel> temperatureUnits = new List<BaseModel>();
            codes = GetCodeMasters(profileData, DefineConstantValue.CodeMasterDefine.KEY1_TYPEVALUE, DefineConstantValue.CodeMasterDefine.KEY2_TEMPERATUREUNIT);
            foreach (CodeMaster_cmt_Info item in codes)
            {
                temperatureUnits.Add(new BaseModel()
                {
                    Code = item.cmt_cValue,
                    Description = item.cmt_cRemark
                });
            }
            data.TemperatureUnits = temperatureUnits;

            // 壓力單位列表
            List<BaseModel> perssureUnits = new List<BaseModel>();
            codes = GetCodeMasters(profileData, DefineConstantValue.CodeMasterDefine.KEY1_TYPEVALUE, DefineConstantValue.CodeMasterDefine.KEY2_PRESSUREUNIT);
            foreach (CodeMaster_cmt_Info item in codes)
            {
                perssureUnits.Add(new BaseModel()
                {
                    Code = item.cmt_cValue,
                    Description = item.cmt_cRemark
                });
            }
            data.PerssureUnits = perssureUnits;

            //油墨列表
            List<BaseModel> printinInks = new List<BaseModel>();
            codes = GetCodeMasters(profileData, DefineConstantValue.CodeMasterDefine.KEY1_TYPEVALUE, DefineConstantValue.CodeMasterDefine.KEY2_INKTYPE);
            foreach (CodeMaster_cmt_Info item in codes)
            {
                printinInks.Add(new BaseModel()
                {
                    Code = item.cmt_cValue,
                    Description = item.cmt_cRemark
                });
            }
            data.PrintinInks = printinInks;

            //準備工作項列表
            List<ProjectBaseItemModel> prepareItems = new List<ProjectBaseItemModel>();
            foreach (Model.HBPMS.Master.PrepareProjectMaster_ppm_Info item in profileData.PrepareProjectMaster)
            {
                prepareItems.Add(new ProjectBaseItemModel()
                {
                    Code = item.ppm_RecordID.ToString(),
                    Description = item.ppm_cItemName,
                    IsParallelable = item.ppm_lIsParallelable,
                    PredictedTime = item.ppm_iPredictedTime
                });
            }
            data.PrepareItems = prepareItems;

            //工程物料列表
            List<MaterialMaster> materialItems = new List<MaterialMaster>();
            if (profileData.MaterialMaster != null)
            {
                foreach (Model.HBPMS.Management.RunningManagement.MaterialProfile_mlpf_Info item in profileData.MaterialMaster)
                {
                    if (item != null)
                    {
                        MaterialMaster material = new MaterialMaster();

                        material.pmr_MLPFID = item.mlpf_MLPFID;
                        material.pmr_MaterialNo = item.mlpf_cMaterialCode;
                        material.pmr_MaterialTypeName = item.mlpf_cMaterialType;
                        material.pmr_MaterialName = item.mlpf_cMaterialName;
                        material.pmr_cMARK = item.mlpf_cDescription;
                        material.pmr_MaterialNameAbbreviation = item.mlpf_cMaterialAbbreviation;
                        material.pmr_MaterialBrandName = item.mlpf_cMaterialBrand;
                        material.pmr_UnitName = item.mlpf_cMaterialUnit;
                        material.pmr_cUnit = item.mlpf_cMaterialUnit;
                        material.pmr_fWidth = item.mlpf_fMaterialWidth;
                        material.pmr_fLength = item.mlpf_fMaterialLength;

                        materialItems.Add(material);
                    }

                }
            }
            data.MaterialMasters = materialItems;

            //工程物料類型列表
            List<BaseModel> materialTypes = new List<BaseModel>();
            codes = GetCodeMasters(profileData, DefineConstantValue.CodeMasterDefine.KEY1_TYPEVALUE, DefineConstantValue.CodeMasterDefine.KEY2_MATERIALTYPE);
            foreach (CodeMaster_cmt_Info item in codes)
            {
                materialTypes.Add(new BaseModel()
                {
                    Code = item.cmt_cValue,
                    Description = item.cmt_cRemark
                });
            }
            data.MaterialTypes = materialTypes;

            //工程物料單位列表
            List<BaseModel> materialUnits = new List<BaseModel>();
            codes = GetCodeMasters(profileData, DefineConstantValue.CodeMasterDefine.KEY1_TYPEVALUE, DefineConstantValue.CodeMasterDefine.KEY2_MATERIALUNIT);
            foreach (CodeMaster_cmt_Info item in codes)
            {
                materialUnits.Add(new BaseModel()
                {
                    Code = item.cmt_cValue,
                    Description = item.cmt_cRemark
                });
            }
            data.MaterialUnits = materialUnits;

            //工程物料所屬科組編號
            code = GetCodeMaster(profileData, DefineConstantValue.CodeMasterDefine.KEY1_TYPEVALUE, DefineConstantValue.CodeMasterDefine.KEY2_MATERIALDEPARTMENTCODE);
            if (code != null)
            {
                data.MaterialDepartmentCode = code.cmt_cValue.Trim();
            }

            //停機原因項列表
            List<ProjectBaseItemModel> machineHaltReasons = new List<ProjectBaseItemModel>();
            foreach (StopReasonMaster_srm_Info item in profileData.StopReasonMaster)
            {
                machineHaltReasons.Add(new ProjectBaseItemModel()
                {
                    Code = item.srm_iRecordID.ToString(),
                    Description = item.srm_cReasonName,
                    IsParallelable = item.srm_lIsParallelable,
                    PredictedTime = item.srm_iPredictedTime

                });
            }

            data.MachineHaltReasons = machineHaltReasons;

            //工程品檢品質問題列表
            List<ProjectQCQualityIssues> QCQualityIssues = new List<ProjectQCQualityIssues>();
            foreach (QualityProblemMaster_qpm_Info item in profileData.QualityProblemMaster)
            {
                QCQualityIssues.Add(new ProjectQCQualityIssues()
                {
                    Code = item.qpm_iRecordID.ToString(),
                    Description = item.qpm_cProblemName,
                    Solution = item.qpm_cSuggestedTechnique
                });
            }
            data.QCQualityIssues = QCQualityIssues;

            //工程狀態列表
            List<BaseModel> projectStatus = new List<BaseModel>();
            codes = GetCodeMasters(profileData, DefineConstantValue.CodeMasterDefine.KEY1_STATUS, DefineConstantValue.CodeMasterDefine.KEY2_PROJECT);
            foreach (CodeMaster_cmt_Info item in codes)
            {
                projectStatus.Add(new BaseModel()
                {
                    Code = item.cmt_cValue,
                    Description = item.cmt_cRemark
                });
            }
            data.ProjectStatus = projectStatus;

            return data;
        }
Exemple #2
0
        void DataReplication(List<MaterialProfile_mlpf_Info> oldValue, ref  List<MaterialMaster> retValue)
        {
            try
            {
                MaterialMaster tmpObject;
                foreach (MaterialProfile_mlpf_Info objItem in oldValue)
                {
                    tmpObject = new MaterialMaster();

                    tmpObject.pmr_MaterialNo = objItem.mlpf_cMaterialCode;
                    tmpObject.pmr_MaterialNameAbbreviation = objItem.mlpf_cMaterialAbbreviation;
                    tmpObject.pmr_MaterialName = objItem.mlpf_cMaterialName;
                    tmpObject.pmr_MaterialTypeName = objItem.mlpf_cMaterialType;
                    tmpObject.pmr_MaterialBrandName = objItem.mlpf_cMaterialBrand;
                    tmpObject.pmr_fWidth = objItem.mlpf_fMaterialWidth;
                    tmpObject.pmr_fLength = objItem.mlpf_fMaterialLength;
                    tmpObject.pmr_UnitName = objItem.mlpf_cMaterialUnit;
                    tmpObject.pmr_cStatus = objItem.mlpf_cStatus;
                    tmpObject.pmr_cStatusDesc = objItem.mlpf_cStatusDesc;

                    retValue.Add(tmpObject);
                }
            }
            catch (Exception ex)
            {
                mLog.Error("run PLMServiceBL.DataReplication", ex);
            }
        }