//public IList<IdleState_ism_Info> GetPrepareItems(IdleState_ism_Info cond) //{ // try // { // return SpareStatussDA.FindEntities<IdleState_ism_Info>(cond); // } // catch // { // return null; // } //} //public Model.General.ReturnValueInfo Update(SpareStatus_sst_Info entity) //{ // entity.sst_dLastDate = DateTime.Now; // entity.sst_lSync = false; // return SpareStatussDA.Update(entity); //} //public IList<SpareStatus_sst_Info> Search(Guid shiftInfoID) //{ // return SpareStatussDA.Search(shiftInfoID); //} public void BeginIdle(string machineNO, Guid shiftInfoID) { try { using (DBContext uow = DBContext.Begin()) { SpareStatus_sst_Info info = uow.CurrentSession.QueryOver<SpareStatus_sst_Info>().And(d => d.sst_cMachineNO == machineNO && d.sst_iSIFOID == shiftInfoID) .And(d => d.sst_dEndTime == null).Take(1).SingleOrDefault(); if (info == null) { info = new SpareStatus_sst_Info(); info.sst_RecordID = Guid.NewGuid(); info.sst_iSIFOID = shiftInfoID; info.sst_dBeginTime = DateTime.Now; info.sst_dAddDate = DateTime.Now; info.sst_cMachineNO = machineNO; IdleState_ism_Info ism = uow.CurrentSession.QueryOver<IdleState_ism_Info>().And(d => d.ism_lIsBuildin && d.ism_lIsAtive).Take(1).SingleOrDefault(); if (ism != null) { info.sst_cStatusName = ism.ism_cStateName; info.sst_StatusID = ism.ism_RecordID; } uow.CurrentSession.Save(info); } } } catch (Exception ex) { Common.General.BLLoger.Error(ex); } }
//public bool ChangetShift(string machineID, ref ShiftProjList_spl_Info shiftProject) //{ // try // { // mLog.Debug("執行轉班邏輯"); // ShiftProjList_spl_Info newSpl = null; // ShiftProjList_spl_Info oldSpl = shiftProject; // using (Transaction uow = Transaction.Begin()) // { // mLog.Debug("更新班次內工程 ShiftProjList_spl_Info"); // oldSpl.spl_dLastDate = DateTime.Now; // oldSpl.spl_dEndTime = oldSpl.ShiftInfo.sifo_dEndTime; // oldSpl.spl_lSync = false; // uow.CurrentSession.Update(oldSpl); // #region // ShiftInfo_sifo_Info nextShift = null; // var query = uow.CurrentSession.QueryOver<ShiftInfo_sifo_Info>(); // query.And(d => d.sifo_dBeginTime >= DateTime.Now); // query.And(d => d.sifo_cMachineNO == machineID).OrderBy(d => d.sifo_dBeginTime); // IList<ShiftInfo_sifo_Info> list = query.List<ShiftInfo_sifo_Info>(); // if (list.Count > 0) // { // nextShift = list[0]; // } // else // { // //todo:creat new shift // } // mLog.Debug("創建新的班次內工程 ShiftProjList_spl_Info"); // newSpl = new ShiftProjList_spl_Info(); // newSpl.spl_RecordID = Guid.NewGuid(); // newSpl.spl_SIFOID = nextShift.sifo_RecordID; // newSpl.spl_PPJID = oldSpl.spl_PPJID; // newSpl.spl_dBeginTime = nextShift.sifo_dBeginTime.Value; // newSpl.spl_dProdBegin = nextShift.sifo_dBeginTime.Value; // newSpl.spl_dAddDate = DateTime.Now; // newSpl.spl_iBeginQTY = oldSpl.PrintProject.ppj_iCountProdNum; // newSpl.spl_iBeginQTY = shiftProject.spl_iEndQTY; // uow.CurrentSession.Save(newSpl); // uow.CurrentSession.Flush(); // newSpl.PrintProject = oldSpl.PrintProject; // newSpl.ShiftInfo = nextShift; // shiftProject = newSpl; // #endregion // #region 結束工程停機記錄 // ProjectStopRecord_psrd_Info psrd = uow.CurrentSession.QueryOver<ProjectStopRecord_psrd_Info>().And(d => d.psrd_SPLID == oldSpl.spl_RecordID).And(d => d.psrd_dEndTime == null).Take(1).SingleOrDefault(); // if (psrd != null) // { // psrd.psrd_dEndTime = oldSpl.ShiftInfo.sifo_dEndTime; // psrd.psrd_dLastDate = DateTime.Now; // psrd.psrd_lSync = false; // uow.CurrentSession.Update(psrd); // mLog.Debug("創建跨班次停機記錄 ProjectStopRecord_psrd_Info"); // ProjectStopRecord_psrd_Info nextPsrd = new ProjectStopRecord_psrd_Info(); // nextPsrd.psrd_RecordID = Guid.NewGuid(); // nextPsrd.psrd_dBeginTime = nextShift.sifo_dBeginTime.Value; // nextPsrd.psrd_dAddDate = DateTime.Now; // nextPsrd.psrd_PPJID = newSpl.spl_PPJID; // nextPsrd.psrd_SPLID = newSpl.spl_RecordID; // nextPsrd.psrd_cTypeID = CustEnum.RecordType.NORMAL.ToString(); // uow.CurrentSession.Save(nextPsrd); // } // #endregion // #region 結束幾臺空閒狀態 // SpareStatus_ssts_Info ssts = uow.CurrentSession.QueryOver<SpareStatus_ssts_Info>().And(d => d.sst_cMachineNO == machineID) // .And(d => d.sst_iSIFOID == oldSpl.spl_SIFOID).And(d => d.sst_dEndTime == null).Take(1).SingleOrDefault(); // if (ssts != null) // { // ssts.sst_dEndTime = oldSpl.ShiftInfo.sifo_dEndTime; // ssts.sst_dLastDate = DateTime.Now; // ssts.sst_lSync = false; // uow.CurrentSession.Update(ssts); // mLog.Debug("創建跨班次空閒記錄 SpareStatus_ssts_Info"); // SpareStatus_ssts_Info nextSsts = new SpareStatus_ssts_Info(); // nextSsts.sst_cMachineNO = machineID; // nextSsts.sst_dBeginTime = nextShift.sifo_dBeginTime.Value; // nextSsts.sst_iSIFOID = nextShift.sifo_RecordID; // nextSsts.sst_dAddDate = DateTime.Now; // uow.CurrentSession.Save(nextSsts); // } // #endregion // } // return true; // } // catch (Exception ex) // { // mLog.Error(ex); // } // return false; //} public bool ChangeShift(string machineID, ShiftInfo_sifo_Info currentShift, ShiftInfo_sifo_Info nextShift, ScheduleProjList_swl_Info scheduleProject, PrintProject_ppj_Info printProject, ShiftProjList_spl_Info shiftProject) { mLog.Info("班次轉換新邏輯"); try { if (currentShift == null) { throw new Exception("當前班次對象不能為空"); } if (nextShift == null) { throw new Exception("下一班次對象不能為空"); } using (DBContext uow = DBContext.Begin()) { try { if (printProject != null && shiftProject != null && shiftProject.spl_RecordID != Guid.Empty) { PrintProject_ppj_Info currentProject = printProject; ShiftProjList_spl_Info currentShiftProject = shiftProject; #region 更新班次內工程 mLog.Debug("更新班次內工程 ShiftProjList_spl_Info"); currentShiftProject.spl_dLastDate = DateTime.Now; currentShiftProject.spl_dEndTime = currentShift.sifo_dEndTime; currentShiftProject.spl_lSync = false; //就餐時間 #region 準備時間計算 if (currentShiftProject.spl_dProdBegin.HasValue)//沒有結束準備 { currentShiftProject.spl_iPrepairTime = TimeCalculater.ShiftProjectActualPrepairTime(uow, currentShiftProject); currentProject.ppj_iActualPrepairTime += currentShiftProject.spl_iPrepairTime; } #endregion #region 正常生產時間 currentShiftProject.spl_iProdSumTime = TimeCalculater.ShiftProjectProdTime(uow, currentShiftProject); #endregion uow.CurrentSession.Update(currentShiftProject); #endregion #region 創建新的班次內工程 mLog.Debug("創建新的班次內工程 ShiftProjList_spl_Info"); ShiftProjList_spl_Info newSpl = new ShiftProjList_spl_Info(); newSpl.spl_RecordID = Guid.NewGuid(); newSpl.spl_SIFOID = nextShift.sifo_RecordID; newSpl.spl_PPJID = currentShiftProject.spl_PPJID; newSpl.spl_dBeginTime = nextShift.sifo_dBeginTime.Value; newSpl.spl_dAddDate = DateTime.Now; newSpl.spl_iBeginQTY = currentShiftProject.spl_iEndQTY; newSpl.spl_iEndQTY = currentShiftProject.spl_iEndQTY; if (currentShiftProject.spl_dProdBegin != null) { newSpl.spl_dProdBegin = nextShift.sifo_dBeginTime.Value; } else { newSpl.spl_dProdBegin = null; } uow.CurrentSession.Save(newSpl); #endregion #region 結束工程停機記錄 ProjectStopRecord_psrd_Info psrd = uow.CurrentSession.QueryOver<ProjectStopRecord_psrd_Info>() .And(d => d.psrd_SPLID == currentShiftProject.spl_RecordID) .And(d => d.psrd_dEndTime == null).Take(1).SingleOrDefault(); if (psrd != null) { psrd.psrd_dEndTime = currentShift.sifo_dEndTime; psrd.psrd_dLastDate = DateTime.Now; psrd.psrd_lSync = false; psrd.psrd_iActualStopTime = TimeCalculater.ProjectStopRecordActualTime(uow, psrd); uow.CurrentSession.Update(psrd); mLog.Debug("更新跨更的班次內工程的停機時間"); currentShiftProject.spl_iStopTime += psrd.psrd_iActualStopTime; uow.CurrentSession.Update(currentShiftProject); currentProject.ppj_iStopTime += psrd.psrd_iActualStopTime; currentProject.ppj_iStopTimes++; uow.CurrentSession.Update(currentProject); //mLog.Debug("創建跨班次停機記錄 ProjectStopRecord_psrd_Info"); //ProjectStopRecord_psrd_Info nextPsrd = new ProjectStopRecord_psrd_Info(); //nextPsrd.psrd_RecordID = Guid.NewGuid(); //nextPsrd.psrd_dBeginTime = nextShift.sifo_dBeginTime.Value; //nextPsrd.psrd_dAddDate = DateTime.Now; //nextPsrd.psrd_PPJID = newSpl.spl_PPJID; //nextPsrd.psrd_SPLID = newSpl.spl_RecordID; //nextPsrd.psrd_cTypeID = CustEnum.RecordType.NORMAL.ToString(); //uow.CurrentSession.Save(nextPsrd); //newSpl.spl_iStopTimes++; //uow.CurrentSession.Update(newSpl); } #endregion } #region 結束機台空閒狀態 SpareStatus_sst_Info ssts = uow.CurrentSession.QueryOver<SpareStatus_sst_Info>().And(d => d.sst_cMachineNO == machineID) .And(d => d.sst_iSIFOID == currentShift.sifo_RecordID).And(d => d.sst_dEndTime == null).Take(1).SingleOrDefault(); if (ssts != null) { IdleState_ism_Info ism = null; if (ssts.sst_StatusID == Guid.Empty) { ism = uow.CurrentSession.QueryOver<IdleState_ism_Info>().And(d => d.ism_lIsBuildin && d.ism_lIsAtive).Take(1).SingleOrDefault(); if (ism != null) { ssts.sst_cStatusName = ism.ism_cStateName; ssts.sst_StatusID = ism.ism_RecordID; } } ssts.sst_dEndTime = currentShift.sifo_dEndTime; ssts.sst_dLastDate = DateTime.Now; ssts.sst_lSync = false; uow.CurrentSession.Update(ssts); mLog.Debug("創建跨班次空閒記錄 SpareStatus_ssts_Info"); SpareStatus_sst_Info nextSsts = new SpareStatus_sst_Info(); nextSsts.sst_RecordID = Guid.NewGuid(); nextSsts.sst_cMachineNO = machineID; nextSsts.sst_dBeginTime = nextShift.sifo_dBeginTime.Value; nextSsts.sst_iSIFOID = nextShift.sifo_RecordID; nextSsts.sst_dAddDate = DateTime.Now; if (ism != null) { nextSsts.sst_cStatusName = ism.ism_cStateName; nextSsts.sst_StatusID = ism.ism_RecordID; } uow.CurrentSession.Save(nextSsts); } #endregion } catch (Exception) { uow.CanCommit = false; throw; } } return true; } catch (Exception ex) { string message = "班次轉換新邏輯,machineID=" + machineID + "\r\n"; message += "PrintProject_ppj_Info=" + Common.Util.JsonUtil.JsonSerializer<PrintProject_ppj_Info>(printProject) + "\r\n"; message += "ShiftProjList_spl_Info=" + Common.Util.JsonUtil.JsonSerializer<ShiftProjList_spl_Info>(shiftProject) + "\r\n"; Common.Util.MessageUtil.SendDevMail(message, ex); mLog.Error(ex); return false; // throw; } }
public ReturnValueInfo FinishProject(ScheduleProjList_swl_Info project, PrintProject_ppj_Info projectDetail, ShiftProjList_spl_Info shiftProject) { //DateTime start = DateTime.Now; ReturnValueInfo result = new ReturnValueInfo(); try { using (DBContext uow = DBContext.Begin()) { try { DateTime dealTime = DateTime.Now; #region 更新前一個停機記錄的結束時間 var stopRec = uow.CurrentSession.QueryOver<ProjectStopRecord_psrd_Info>(); stopRec.And(d => d.psrd_dEndTime == null).And(d => d.psrd_SPLID == shiftProject.spl_RecordID).OrderBy(d => d.psrd_dBeginTime).Desc(); ProjectStopRecord_psrd_Info psrd = stopRec.Take(1).SingleOrDefault(); if (psrd != null) { psrd.psrd_dLastDate = dealTime; psrd.psrd_dEndTime = dealTime; psrd.psrd_iActualStopTime = TimeCalculater.ProjectStopRecordActualTime(uow, psrd); uow.CurrentSession.Update(psrd); projectDetail.ppj_iStopTime += psrd.psrd_iActualStopTime; shiftProject.spl_iStopTime += psrd.psrd_iActualStopTime; } #endregion #region 更新班次內工程 /// 更新班次內工程結束時間 if (project.swl_cProjStatus == CustEnum.ProjectStatus.PREPARE.ToString() || project.swl_cProjStatus == CustEnum.ProjectStatus.PREPARE_OT.ToString()) { shiftProject.spl_dProdBegin = dealTime; } shiftProject.spl_dEndTime = shiftProject.spl_dLastDate = dealTime; /// 準備時間計算 int totalPrepare = (int)(shiftProject.spl_dProdBegin.Value - shiftProject.spl_dBeginTime).TotalSeconds; shiftProject.spl_iPrepairTime = totalPrepare; /// 計算生產時間 shiftProject.spl_iProdSumTime = TimeCalculater.ShiftProjectProdTime(uow, shiftProject); uow.CurrentSession.Update(shiftProject); #endregion #region PPJ if (project.swl_cProjStatus == CustEnum.ProjectStatus.PREPARE.ToString() || project.swl_cProjStatus == CustEnum.ProjectStatus.PREPARE_OT.ToString()) { projectDetail.ppj_dProdBeginTime = dealTime; } projectDetail.ppj_dProdEndTime = dealTime; ///計算生產時間 projectDetail.ppj_iProdSumTime = TimeCalculater.PrintProjectProdTime(uow, projectDetail); uow.CurrentSession.Update(projectDetail); #endregion #region SWL project.swl_iCompletedQty += projectDetail.ppj_iActualProdNum; project.swl_cProjStatus = CustEnum.ProjectStatus.FINISH.ToString(); project.swl_dLastDate = dealTime; project.swl_iIsByModify = true; uow.CurrentSession.Update(project); #endregion #region 班次進入空閒狀態 SpareStatus_sst_Info info_new = new SpareStatus_sst_Info(); info_new.sst_RecordID = Guid.NewGuid(); info_new.sst_iSIFOID = shiftProject.spl_SIFOID; info_new.sst_dBeginTime = dealTime; info_new.sst_dAddDate = dealTime; info_new.sst_cMachineNO = project.swl_cMachineNO; IdleState_ism_Info ism = uow.CurrentSession.QueryOver<IdleState_ism_Info>().And(d => d.ism_lIsBuildin && d.ism_lIsAtive).Take(1).SingleOrDefault(); if (ism != null) { info_new.sst_cStatusName = ism.ism_cStateName; info_new.sst_StatusID = ism.ism_RecordID; } uow.CurrentSession.Save(info_new); #endregion result.boolValue = true; } catch (Exception) { uow.CanCommit = false; throw; } } } catch (Exception ex) { string message = "結束工程出錯,machineID=" + project.swl_cMachineNO; message += "ScheduleProjList_swl_Info=" + Common.Util.JsonUtil.JsonSerializer<ScheduleProjList_swl_Info>(project); message += "PrintProject_ppj_Info=" + Common.Util.JsonUtil.JsonSerializer<PrintProject_ppj_Info>(projectDetail); message += "ShiftProjList_spl_Info=" + Common.Util.JsonUtil.JsonSerializer<ShiftProjList_spl_Info>(shiftProject); Common.Util.MessageUtil.SendDevMail(message, ex); result.messageText = ex.Message; result.boolValue = false; throw new Exception(Resource.B0023 + ex.Message); } // DateTime end = DateTime.Now; // Common.General.BLLoger.Debug("結束工程,耗時" + (end - start).Milliseconds.ToString()); return result; }
public ReturnValueInfo StopProject(ProjectStopRec_psr_Info stopRecord, ShiftProjList_spl_Info spl) { // DateTime start = DateTime.Now; ReturnValueInfo result = new ReturnValueInfo(); if (stopRecord == null || stopRecord.Project == null) { result.boolValue = false; result.messageText = "工程為空。"; } else { try { using (DBContext uow = DBContext.Begin()) { try { DateTime dealTime = DateTime.Now; #region 更新印刷工程記錄為無效的 if (stopRecord.PrintProject == null) { throw new Exception("不能抽起工程,工程數據信息缺失,請聯繫開發人員!"); } else { stopRecord.PrintProject.ppj_lActiveRecord = false; if (stopRecord.Project.swl_cProjStatus == CustEnum.ProjectStatus.PREPARE.ToString() || stopRecord.Project.swl_cProjStatus == CustEnum.ProjectStatus.PREPARE_OT.ToString()) { stopRecord.PrintProject.ppj_dProdBeginTime = dealTime; } stopRecord.PrintProject.ppj_dProdEndTime = dealTime; stopRecord.PrintProject.ppj_dLastDate = dealTime; var dinnerQuery = uow.CurrentSession.QueryOver<DinnerRecord_dnr_Info>().And(d => d.dsm_swlID == stopRecord.Project.swl_RecordID); dinnerQuery.And(d => d.dsm_ppjID == stopRecord.PrintProject.ppj_RecordID); int dinnerTime = (int)dinnerQuery.And(d => d.dnr_DSMID != Guid.Empty).List().Sum(d => (d.dnr_dEndTime.Value - d.dnr_dBeginTime.Value).TotalSeconds); stopRecord.PrintProject.ppj_iProdSumTime = stopRecord.PrintProject.ppj_iProjRunTime - stopRecord.PrintProject.ppj_iActualPrepairTime - stopRecord.PrintProject.ppj_iStopTime - dinnerTime; uow.CurrentSession.Update(stopRecord.PrintProject); } #endregion #region 更新班次內工程結束時間 if (spl != null) { if (stopRecord.Project.swl_cProjStatus == CustEnum.ProjectStatus.PREPARE.ToString() || stopRecord.Project.swl_cProjStatus == CustEnum.ProjectStatus.PREPARE_OT.ToString()) { spl.spl_dProdBegin = dealTime; } spl.spl_dEndTime = dealTime; #region 準備時間計算 int totalPrepare = (int)(spl.spl_dProdBegin.Value - spl.spl_dBeginTime).TotalSeconds; spl.spl_iPrepairTime = totalPrepare; #endregion //計算正常生產時間,需優化 var dinnerQuery = uow.CurrentSession.QueryOver<DinnerRecord_dnr_Info>().And(d => d.dsm_swlID == stopRecord.Project.swl_RecordID); dinnerQuery.And(d => d.dsm_ppjID == stopRecord.PrintProject.ppj_RecordID); dinnerQuery.And(d => d.dsm_splID == spl.spl_RecordID); int dinnerTime = (int)dinnerQuery.And(d => d.dnr_DSMID != Guid.Empty).List().Sum(d => (d.dnr_dEndTime.Value - d.dnr_dBeginTime.Value).TotalSeconds); spl.spl_iProdSumTime = spl.spl_iRunTime - spl.spl_iPrepairTime - spl.spl_iStopTime - dinnerTime; var query_psrd = uow.CurrentSession.QueryOver<ProjectStopRecord_psrd_Info>(); query_psrd.And(d => d.psrd_dEndTime == null); query_psrd.And(d => d.psrd_cTypeID == CustEnum.RecordType.NORMAL.ToString()); query_psrd.And(d => d.psrd_SPLID == spl.spl_RecordID); ProjectStopRecord_psrd_Info psrd = query_psrd.Take(1).SingleOrDefault(); if (psrd != null) { psrd.psrd_dEndTime = dealTime; psrd.psrd_dLastDate = dealTime; psrd.psrd_iActualStopTime = TimeCalculater.ProjectStopRecordActualTime(uow, psrd); uow.CurrentSession.Update(psrd); stopRecord.PrintProject.ppj_iStopTime += psrd.psrd_iActualStopTime; stopRecord.PrintProject.ppj_iStopTimes += 1; uow.CurrentSession.Update(stopRecord.PrintProject); spl.spl_iStopTime += psrd.psrd_iActualStopTime; spl.spl_iStopTimes += 1; } uow.CurrentSession.Update(spl); } #endregion #region 保存抽起的記錄 stopRecord.psr_SWLID = stopRecord.Project.swl_RecordID; stopRecord.psr_cRecordID = Guid.NewGuid(); stopRecord.psr_dAddDate = dealTime; stopRecord.psr_lSync = false; uow.CurrentSession.Save(stopRecord); #endregion #region 將印刷工程的生產順序排到最後 //int max_PrintOrder = 1; //ScheduleProjList_swl_Info max_swl = uow.CurrentSession.QueryOver<ScheduleProjList_swl_Info>().OrderBy(d => d.swl_iPrintOrder).Desc().Take(1).SingleOrDefault(); //if (max_swl != null) //{ // max_PrintOrder = max_swl.swl_iPrintOrder; //} //ScheduleProjList_swl_Info swl = uow.CurrentSession.Get<ScheduleProjList_swl_Info>(data.Project.swl_RecordID); //swl.swl_iPrintOrder = max_PrintOrder + 1; //uow.CurrentSession.Update(swl); #endregion #region 班次進入空閒狀態 SpareStatus_sst_Info info_new = new SpareStatus_sst_Info(); info_new.sst_RecordID = Guid.NewGuid(); info_new.sst_iSIFOID = spl.spl_SIFOID; info_new.sst_dBeginTime = dealTime; info_new.sst_dAddDate = dealTime; info_new.sst_cMachineNO = stopRecord.Project.swl_cMachineNO; IdleState_ism_Info ism = uow.CurrentSession.QueryOver<IdleState_ism_Info>().And(d => d.ism_lIsBuildin && d.ism_lIsAtive).Take(1).SingleOrDefault(); if (ism != null) { info_new.sst_cStatusName = ism.ism_cStateName; info_new.sst_StatusID = ism.ism_RecordID; } uow.CurrentSession.Save(info_new); #endregion #region 更新工程狀態為抽起 stopRecord.Project.swl_iIsByModify = true; stopRecord.Project.swl_iCompletedQty += stopRecord.PrintProject.ppj_iActualProdNum; stopRecord.Project.swl_cProjStatus = CustEnum.ToString(CustEnum.ProjectStatus.STOP); stopRecord.Project.swl_dLastDate = dealTime; uow.CurrentSession.Update(stopRecord.Project); #endregion result.boolValue = true; } catch (Exception) { uow.CanCommit = false; throw; } } result.boolValue = true; } catch (Exception ex) { string message = "抽起工程出現錯誤,machineID=" + stopRecord.Project.swl_cMachineNO; message += "ScheduleProjList_swl_Info=" + Common.Util.JsonUtil.JsonSerializer<ScheduleProjList_swl_Info>(stopRecord.Project); message += "PrintProject_ppj_Info=" + Common.Util.JsonUtil.JsonSerializer<PrintProject_ppj_Info>(stopRecord.PrintProject); message += "ShiftProjList_spl_Info=" + Common.Util.JsonUtil.JsonSerializer<ShiftProjList_spl_Info>(spl); Common.Util.MessageUtil.SendDevMail(message, ex); result.boolValue = false; result.messageText = Resource.B0017 + ":" + ex.Message; Common.General.BLLoger.Error(result.messageText); } } // DateTime end = DateTime.Now; // Common.General.BLLoger.Debug("抽起工程,耗時" + (end - start).Milliseconds.ToString()); return result; }