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; }
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); } }