/// <summary> /// 更新空閒記錄的狀態 /// </summary> /// <param name="info"></param> /// <returns>true/false</returns> public override bool UpdateMachineSpareStatus(MachineSpareStatus info) { try { MachineSpareStatus updateInfo = this.GetMachineSpareStatusInfoByKey(info.RecordID); if (updateInfo != null) { updateInfo.LastDate = DateTime.Now; updateInfo.sst_StatusID = info.sst_StatusID; updateInfo.sst_cStatusName = info.sst_cStatusName; //updateInfo.RecordEditStatus = 2; this.OnProductionChanged(updateInfo); this.OnProductionDataUpdate(); } else { Exception newEx = new Exception("找不到空闲记录要结束"); this.OnException(newEx); throw newEx; } return true; } catch (Exception ex) { this.OnException(mc_strClassName, "UpdateMachineSpareStatus", ex.Message); throw; } }
/// <summary> /// 新增機台空閒狀態記錄(SST) /// </summary> /// <param name="model">model</param> /// <param name="tran">SqlTransaction</param> /// <returns></returns> public bool AddMachineSpareStatus(MachineSpareStatus model, SqlTransaction tran) { try { MappingHelper.HandleNullProperty(model); StringBuilder strSql = new StringBuilder(); strSql.Append("insert into SpareStatus_sst("); strSql.Append("sst_RecordID,sst_iSIFOID,sst_cMachineNO,sst_StatusID,sst_cStatusName,sst_dBeginTime,sst_dEndTime,sst_lSync,sst_dAddDate,sst_dLastDate,sst_iTime)"); strSql.Append(" values ("); strSql.Append("@sst_RecordID,@sst_iSIFOID,@sst_cMachineNO,@sst_StatusID,@sst_cStatusName,@sst_dBeginTime,@sst_dEndTime,@sst_lSync,@sst_dAddDate,@sst_dLastDate,@sst_iTime)"); SqlParameter[] parameters = { DbHelperSQL.MakeInParam("@sst_RecordID", SqlDbType.UniqueIdentifier,16, model.RecordID), DbHelperSQL.MakeInParam("@sst_iSIFOID", SqlDbType.UniqueIdentifier,16, model.sst_iSIFOID), DbHelperSQL.MakeInParam("@sst_cMachineNO", SqlDbType.NVarChar,20, model.sst_cMachineNO), DbHelperSQL.MakeInParam("@sst_StatusID", SqlDbType.UniqueIdentifier,16, model.sst_StatusID), DbHelperSQL.MakeInParam("@sst_cStatusName", SqlDbType.NVarChar,100, model.sst_cStatusName), DbHelperSQL.MakeInParam("@sst_dBeginTime", SqlDbType.DateTime, 0, model.sst_dBeginTime), DbHelperSQL.MakeInParam("@sst_dEndTime", SqlDbType.DateTime, 0, model.sst_dEndTime), DbHelperSQL.MakeInParam("@sst_lSync", SqlDbType.Bit,1, 0),//model.sst_lSync; DbHelperSQL.MakeInParam("@sst_dAddDate", SqlDbType.DateTime, 0, model.AddDate), DbHelperSQL.MakeInParam("@sst_dLastDate", SqlDbType.DateTime, 0, model.LastDate), DbHelperSQL.MakeInParam("@sst_iTime", SqlDbType.Int,4, model.sst_iTime)}; DbHelperSQL.ExecuteNonQuery(tran, CommandType.Text, strSql.ToString(), parameters); return true; } catch (Exception ex) { throw ex; } }
/// <summary> /// 機台空閒記錄開始 /// </summary> public override void SpareStart(DateTime dBeginDt) { try { //判斷是否需要創建記錄 bool l_lIsCreated = false; if (this.SpareStatusRecords == null || this.SpareStatusRecords.Count == 0) //記錄集完全沒數據,需要創建 l_lIsCreated = true; else { //存在沒結束時間的記錄,不需要創建 if (! this.IsFindNotEndTimeRecord()) l_lIsCreated = true; } if (!l_lIsCreated) return; MachineSpareStatus info = new MachineSpareStatus(); info.RecordID = Guid.NewGuid(); info.sst_iSIFOID = this.SIFOID; info.sst_cMachineNO = this.MachineID; MachineIdleStateName defaultStatusInfo = null; if (this.MachineIdleStateNames != null) defaultStatusInfo = this.MachineIdleStateNames.FirstOrDefault(p => p.IsBuildin == true); if (defaultStatusInfo != null) { info.sst_StatusID = new Guid(defaultStatusInfo.Code); info.sst_cStatusName = defaultStatusInfo.Description; } info.sst_dBeginTime = dBeginDt; info.AddDate = dBeginDt; //info.RecordEditStatus = 1; this.CurrentSpareStatusRecord = info; this.SpareStatusRecords.Add(info); this.OnProductionChanged(info); this.OnProductionDataUpdate(); } catch (Exception ex) { this.OnException(mc_strClassName, "SpareStart", ex.Message); } }