public override void Init(LHistory historyController)
    {
        base.Init(historyController);

        for (int i = 0; i < listElementHistory.Count; i++)
        {
            listElementHistory[i].gameObject.SetActive(false);
        }
        itemInPage = listElementHistory.Count;
    }
示例#2
0
    private void ClickBtHistory()
    {
        if (!Database.Instance.islogin)
        {
            LPopup.OpenPopup("Thông báo!", "Chức năng này cần đăng nhập mới sử dụng được");
            return;
        }

        AudioAssistant.Instance.Shot(StringHelper.SOUND_GATE_BT);
        LHistory history = (LHistory)UILayerController.Instance.ShowLayer(UILayerKey.LHistory, dataResourceLobby.listObjLayer[IndexSourceGate.LHistory]);
    }
示例#3
0
 public virtual void Init(LHistory historyController)
 {
     mObj = gameObject;
     this.historyController = historyController;
 }
        public HttpResponseMessage GetString(int year, int month, int day, string item)
        {
            bool isExistData = false;
            bool isEndOfData = false;

            var res = Request.CreateResponse(HttpStatusCode.OK);    //コード200:通信成功
            //jsonString = "Date>>>" + year + "/" + month + "/" + day + "\nItem>>>" + item;
            String dateParam = year + "-" + month + "-" + day.ToString("00");
            String mainSql   =      //これに実際の検査記録を引っ張ってくるSQLを格納している
                               "SELECT 計測日時,シリアルNo,従業員名,加工機.加工機ID,計測ポイントID,正寸値.正寸値,計測詳細.計測値,計測詳細.判定 " +
                               "FROM 正寸値,計測詳細,型式,加工機,従業員,製造情報 " +
                               "WHERE 製造情報.型番 = 計測詳細.型番 " +
                               "AND 製造情報.製造順No = 計測詳細.製造順No " +
                               "AND 製造情報.従業員コード = 従業員.従業員コード " +
                               "AND 計測詳細.ロット位置 = 製造情報.ロットNo " +
                               "AND 製造情報.加工機ID = 加工機.加工機ID " +
                               "AND 計測ポイント = 正寸値.計測ポイントID " +
                               "AND 型式.型番 = 計測詳細.型番 " +
                               "AND 計測詳細.型番 = 正寸値.型番 " +
                               "AND 計測詳細.型番 = '" + item + "' " +
                               "AND 計測日時 BETWEEN '" + dateParam + " 00:00:00 ' AND '" + dateParam + " 23:59:59' " +
                               "ORDER BY 計測日時 ASC , シリアルNo ASC ,計測ポイントID ASC; ";
            //offset...は特定の範囲のデータのみを取得する「SQL Server」専用のSQL文

            DatabaseConnectionHelper helper = new DatabaseConnectionHelper(mainSql);

            //計測ポイント数
            int itemLen = getMeasureCount(item);

            //データをリストに格納するためのやーつ
            List <IHistory> iHistory = new List <IHistory>();
            DateTime        date;
            string          serial = "", name = "", dateStr = null;
            int             point, machineId = 0;
            double          correct, measure;
            string          result;

            //データベースへ接続、結果を格納
            SqlDataReader reader = helper.DatabaseConnect();

            //データのセット
            do
            {
                List <ErrorDetail> errList = new List <ErrorDetail>();

                for (int i = 0; i < itemLen; i++)
                {
                    dateStr = null;
                    if (reader.Read())
                    {
                        //IHistoryに入れるフィールドを先に取得する
                        date      = (DateTime)reader.GetValue(0);
                        dateStr   = date.ToString("yyyy-MM-dd HH:mm:ss");
                        serial    = reader.GetValue(1).ToString();
                        name      = reader.GetValue(2).ToString();
                        machineId = int.Parse(reader.GetValue(3).ToString());

                        //IHistoryのListに入れるErrorDetailを取得し格納
                        point   = int.Parse(reader.GetValue(4).ToString());
                        correct = double.Parse(reader.GetValue(5).ToString());
                        measure = double.Parse(reader.GetValue(6).ToString());
                        bool isCorrect = (bool)reader.GetValue(7);
                        if (!isCorrect)
                        {
                            result = "NG";
                        }
                        else
                        {
                            result = "OK";
                        }
                        errList.Add(new ErrorDetail(point, correct, measure, result));
                    }
                    //計測ポイント数に到達せず、データが終了したらそこまでのデータを取得し格納する
                    else
                    {
                        //レコードが何か一つでもあったら
                        if (!(dateStr == null))
                        {
                            iHistory.Add(new IHistory(serial, dateStr, name, machineId, errList));
                            isExistData = true;
                            isEndOfData = true;
                        }
                        //データが1つもないなら
                        else
                        {
                            isEndOfData = true;
                            isExistData = false;
                        }
                        break;      //forを抜ける
                    }
                }//for

                //データ終了でない場合は(全計測ポイントを収集できたら)
                if (!isEndOfData)
                {
                    try
                    {
                        iHistory.Add(new IHistory(serial, dateStr, name, machineId, errList));
                    }catch (OutOfMemoryException e)
                    {
                        iHistory = null;
                        errList  = null;
                        GC.Collect();
                        isExistData = false;
                        break;
                    }
                    isExistData = true;
                }

                //データの終了フラグが立っていたらループを抜ける
            } while (!isEndOfData);

            LHistory wk = new LHistory()
            {
                title   = "検査履歴",
                history = iHistory
            };

            reader.Close();
            helper.closeDb();
            jsonString = JsonConvert.SerializeObject(wk);
            Debug.WriteLine(jsonString);

            //StringBuilderクラスのインスタンス//Content-Typeを指定する
            res.Content = new StringContent(jsonString, Encoding.UTF8, "application/json");  //Content-Typeを指定

            GC.Collect();
            return(res);
        }