private void addIndenDetail( Database db ) { DataTable dtCekRelasi = new DataTable(); db.Commands.Clear(); db.Commands.Add(db.CreateCommand("usp_IndenDetail_INSERT")); db.Commands[0].Parameters.Add(new Parameter("@RowID", SqlDbType.UniqueIdentifier, RowID)); db.Commands[0].Parameters.Add(new Parameter("@HeaderID", SqlDbType.UniqueIdentifier, HeaderID)); db.Commands[0].Parameters.Add(new Parameter("@RecordID", SqlDbType.VarChar, RecordID)); db.Commands[0].Parameters.Add(new Parameter("@HRecordID", SqlDbType.VarChar, HRecordID)); db.Commands[0].Parameters.Add(new Parameter("@TglTrf", SqlDbType.DateTime, tglRK)); db.Commands[0].Parameters.Add(new Parameter("@BankID", SqlDbType.VarChar, bankID)); db.Commands[0].Parameters.Add(new Parameter("@NamaBank", SqlDbType.VarChar, NamaBank)); db.Commands[0].Parameters.Add(new Parameter("@Lokasi", SqlDbType.VarChar, Lokasi)); db.Commands[0].Parameters.Add(new Parameter("@CHBG", SqlDbType.VarChar, cara)); db.Commands[0].Parameters.Add(new Parameter("@Nomor", SqlDbType.VarChar, noBGC)); db.Commands[0].Parameters.Add(new Parameter("@TglGiro", SqlDbType.DateTime, tglGiro)); db.Commands[0].Parameters.Add(new Parameter("@TglJt", SqlDbType.DateTime, tglJTempo)); db.Commands[0].Parameters.Add(new Parameter("@Ket", SqlDbType.VarChar, ket)); db.Commands[0].Parameters.Add(new Parameter("@NoAcc", SqlDbType.VarChar, noAcc)); db.Commands[0].Parameters.Add(new Parameter("@RpCash", SqlDbType.Money, RpCash)); db.Commands[0].Parameters.Add(new Parameter("@RpGiro", SqlDbType.Money, RpGiro)); db.Commands[0].Parameters.Add(new Parameter("@RpTrf", SqlDbType.Money, RpTrn)); db.Commands[0].Parameters.Add(new Parameter("@RpCrd", SqlDbType.Money, RpCrd)); db.Commands[0].Parameters.Add(new Parameter("@RpDbt", SqlDbType.Money, RpDbt)); db.Commands[0].Parameters.Add(new Parameter("@LastUpdatedBy", SqlDbType.VarChar, SecurityManager.UserID)); if (RowIDOrderPenjualan != Guid.Empty) { db.Commands[0].Parameters.Add(new Parameter("@RowIDOrderPenjualan", SqlDbType.UniqueIdentifier, RowIDOrderPenjualan)); } db.Commands[0].ExecuteNonQuery(); if (cara == "") { string _noPerk; _noPerk = Perkiraan.GetPerkiraanKoneksiDetail("IND").Rows[0]["NoPerkiraan"].ToString(); dtCekRelasi = Inden.CekRelasiInden("Bukti", "SrcID", HeaderID.ToString(), "", "").Copy(); Guid _RowID = new Guid(); if (dtCekRelasi.Rows.Count == 0) { _RowID = HeaderID; string noBKM = Numerator.BookNumerator("BKM"); BKM.AddHeader(db, _RowID, HeaderID, BKM.GetRecordIDBukti(HRecordID, "IND"), noBKM, "K", "IND", tglInden, namaCollector, "", noAcc, SecurityManager.UserName, ""); } else { _RowID = (Guid)dtCekRelasi.Rows[0][0]; } BKM.AddDetail(db, RowID, _RowID, RecordID, BKM.GetRecordIDBukti(HRecordID, "IND"), "", "", "", noAcc, _noPerk, "PENERIMAAN BELUM IDENTIFIKASI (" + noBukti + ")", RpCash); } else if (cara == "T") { string recordIDTB = HRecordID + "I"; string noBBK = ""; string _noPerk = Perkiraan.GetPerkiraanKoneksiDetail("IND").Rows[0]["NoPerkiraan"].ToString(); Guid _RowID = new Guid(); dtCekRelasi = Inden.CekRelasiInden("TransferBank", "SrcID", HeaderID.ToString(), "", "").Copy(); if (dtCekRelasi.Rows.Count == 0) { _RowID = HeaderID; noBBK = Numerator.BookNumerator("BBM"); TransferBank.addHeader(db, _RowID, HeaderID, recordIDTB, tglInden, noBBK, "M", "", "IND. No " + noBukti, "", "", SecurityManager.UserName, ""); } else { _RowID = (Guid)dtCekRelasi.Rows[0][0]; noBBK = dtCekRelasi.Rows[0][1].ToString(); } TransferBank.addDetail(db, RowID, _RowID, RecordID, recordIDTB, collectorID, namaCollector, NamaBank, Lokasi, noAcc, (DateTime)tglRK, RpTrn, "", "", "", "", bankID, _noPerk, ""); Bank.AddBankDetail(db, RowID, Guid.Empty, noBBK, noAcc, rowIDBankTujuan, "", tglInden, "BBM", "TRANSFER DARI : " + namaCollector + " (BANK TRANSFER)", "IDR", RpTrn, "0", DateTime.Today, (DateTime)tglRK, "", "", "", "", _noPerk, bankID, RecordID); } else if (cara == "G" || cara == "C" || cara == "S") { string recordIDVJ = ""; Guid _VJRowID = new Guid(); string noVoucher = Numerator.BookNumerator("VPG"); string _noPerk = Perkiraan.GetPerkiraanKoneksiDetail("IND").Rows[0]["NoPerkiraan"].ToString(); dtCekRelasi = new DataTable(); dtCekRelasi = Inden.CekRelasiInden("VoucherJournal", "RefRowID", HeaderID.ToString(), "PG", "").Copy(); if (dtCekRelasi.Rows.Count == 0) { recordIDVJ = HRecordID + "I"; _VJRowID = Guid.NewGuid(); VoucherJournal.AddHeader(db, _VJRowID, HeaderID, recordIDVJ, "PG", tglInden, noVoucher, "PENERIMAAN GIRO IND. NO " + noBukti, "", "", "", "", "", "", "", 0, true); } else { recordIDVJ = dtCekRelasi.Rows[0][1].ToString(); _VJRowID = (Guid)dtCekRelasi.Rows[0][0]; } //VoucherJournal.AddDetail(db, RowID, _VJRowID, RecordID, recordIDVJ, "", "", "", noBGC, _noPerk, namaCollector, // Convert.ToDouble(RpGiro), 0, true); Giro.Add(db, RowID, _VJRowID, Guid.Empty, Guid.Empty, recordIDVJ, "", "", RecordID, "", NamaBank, Lokasi, cara, noBGC, (DateTime)tglGiro, (DateTime)tglJTempo, Convert.ToDouble(RpGiro), "", SqlDateTime.Null, "", "", "", "", "", "", _noPerk, SqlDateTime.Null, true, noAcc, ""); } else if (cara == "R") { string recordIDVPG = "", noVoucherPG = "", noVoucherTT = ""; string recordIDVTT = ""; Guid _VJRowIDPG = new Guid(); Guid _VJRowIDTT = new Guid(); string _noPerk = Perkiraan.GetPerkiraanKoneksiDetail("IND").Rows[0]["NoPerkiraan"].ToString(); //VOUCHER PENERIMAAN CRD dtCekRelasi = Inden.CekRelasiInden("VoucherJournal", "RefRowID", HeaderID.ToString(), "CRD", "").Copy(); if (dtCekRelasi.Rows.Count == 0) { recordIDVPG = HRecordID + "R"; _VJRowIDPG = Guid.NewGuid(); noVoucherPG = Numerator.BookNumerator("VPG"); VoucherJournal.AddHeader(db, _VJRowIDPG, HeaderID, recordIDVPG, "CC", tglInden, noVoucherPG, "PENERIMAAN CREDIT CARD IND. NO " + noBukti, "", "", "", "", "", "", "", 0, true); } else { recordIDVPG = dtCekRelasi.Rows[0][1].ToString(); _VJRowIDPG = (Guid)dtCekRelasi.Rows[0][0]; } //VoucherJournal.AddDetail(db, RowID, _VJRowID, RecordID, recordIDVJ, "", "", "", noBGC, _noPerk, namaCollector, // Convert.ToDouble(RpGiro), 0, true); //VOUCHER TITIP CRD dtCekRelasi = new DataTable(); dtCekRelasi = Inden.CekRelasiInden("VoucherJournal", "RefRowID", HeaderID.ToString(), "TT", bankID).Copy(); if (dtCekRelasi.Rows.Count == 0) { recordIDVTT = Tools.CreateFingerPrint(GlobalVar.PerusahaanID, SecurityManager.UserInitial).TrimEnd() + "R"; _VJRowIDTT = Guid.NewGuid(); noVoucherTT = Numerator.BookNumerator("VTG"); VoucherJournal.AddHeader(db, _VJRowIDTT, HeaderID, recordIDVTT, "TT", tglInden, noVoucherTT, "OTOMATIS TITIP DR CRD", "", "", "", "", "", bankID, namaBanki, 0, true); } else { recordIDVTT = dtCekRelasi.Rows[0][1].ToString(); _VJRowIDTT = (Guid)dtCekRelasi.Rows[0][0]; } //INSERT TABLE GIRO Giro.Add(db, RowID, _VJRowIDPG, Guid.Empty, _VJRowIDTT, recordIDVPG, "", recordIDVTT, RecordID, "", NamaBank, Lokasi, cara, noBGC, (DateTime)tglGiro, (DateTime)tglJTempo, Convert.ToDouble(RpCrd), "", (DateTime)SqlDateTime.Null, "", "", "", "", bankID, namaBanki, _noPerk, tglInden, true, noAcc, ""); } else if (cara == "D") { string recordIDVPG = "", noVoucherPG = "", noVoucherTT = ""; string recordIDVTT = ""; Guid _VJRowIDPG = new Guid(); Guid _VJRowIDTT = new Guid(); string _noPerk = Perkiraan.GetPerkiraanKoneksiDetail("IND").Rows[0]["NoPerkiraan"].ToString(); //VOUCHER PENERIMAAN CRD dtCekRelasi = Inden.CekRelasiInden("VoucherJournal", "RefRowID", HeaderID.ToString(), "DBT", "").Copy(); if (dtCekRelasi.Rows.Count == 0) { recordIDVPG = HRecordID + "D"; _VJRowIDPG = Guid.NewGuid(); noVoucherPG = Numerator.BookNumerator("VPG"); VoucherJournal.AddHeader(db, _VJRowIDPG, HeaderID, recordIDVPG, "DB", tglInden, noVoucherPG, "PENERIMAAN DEBIT CARD IND. NO " + noBukti, "", "", "", "", "", "", "", 0, true); } else { recordIDVPG = dtCekRelasi.Rows[0][1].ToString(); _VJRowIDPG = (Guid)dtCekRelasi.Rows[0][0]; } //VoucherJournal.AddDetail(db, RowID, _VJRowID, RecordID, recordIDVJ, "", "", "", noBGC, _noPerk, namaCollector, // Convert.ToDouble(RpGiro), 0, true); //VOUCHER TITIP CRD dtCekRelasi = new DataTable(); dtCekRelasi = Inden.CekRelasiInden("VoucherJournal", "RefRowID", HeaderID.ToString(), "TT", bankID).Copy(); if (dtCekRelasi.Rows.Count == 0) { recordIDVTT = Tools.CreateFingerPrint(GlobalVar.PerusahaanID, SecurityManager.UserInitial).TrimEnd() + "D"; _VJRowIDTT = Guid.NewGuid(); noVoucherTT = Numerator.BookNumerator("VTG"); VoucherJournal.AddHeader(db, _VJRowIDTT, HeaderID, recordIDVTT, "TT", tglInden, noVoucherTT, "OTOMATIS TITIP DR DBT", "", "", "", "", "", bankID, namaBanki, 0, true); } else { recordIDVTT = dtCekRelasi.Rows[0][1].ToString(); _VJRowIDTT = (Guid)dtCekRelasi.Rows[0][0]; } //INSERT TABLE GIRO Giro.Add(db, RowID, _VJRowIDPG, Guid.Empty, _VJRowIDTT, recordIDVPG, "", recordIDVTT, RecordID, "", NamaBank, Lokasi, cara, noBGC, (DateTime)tglGiro, (DateTime)tglJTempo, Convert.ToDouble(RpDbt), "", (DateTime)SqlDateTime.Null, "", "", "", "", bankID, namaBanki, _noPerk, tglInden, true, noAcc, ""); } }
protected override void LaunchPluginFunction(CloudData data) { HashSet <int> selectedpointsSet = data.globalMetaData.SelectedPointsList; HashSet <float> selectedtrajectorySet = data.globalMetaData.SelectedTrajectories; N = 0; List <double> TrajectoriesList = new List <double>(); List <double> Xvalues = new List <double>(); List <double> Yvalues = new List <double>(); List <double> Zvalues = new List <double>(); List <double> Tvalues = new List <double>(); Debug.Log("lowtime " + data.globalMetaData.lowertimeLimit); Debug.Log("uptime " + data.globalMetaData.uppertimeLimit); float xaverage, yaverage, zaverage; float xsum = 0; float ysum = 0; float zsum = 0; int pointnumber = 0; foreach (float i in selectedtrajectorySet) { foreach (int j in data.pointTrajectoriesTable[i].metadata.selectedpointsIDList) { if (data.pointMetaDataTable[j].isHidden == false) { //Debug.Log("time " + data.pointDataTable[j].time); if (data.pointDataTable[j].time >= data.globalMetaData.lowertimeLimit && data.pointDataTable[j].time <= data.globalMetaData.uppertimeLimit) { Debug.Log("check"); N++; TrajectoriesList.Add(i); Xvalues.Add((double)data.pointDataTable[j].position.x); Yvalues.Add((double)data.pointDataTable[j].position.y); Zvalues.Add((double)data.pointDataTable[j].position.z); Tvalues.Add((double)data.pointDataTable[j].time); xsum += data.pointDataTable[j].normed_position.x; ysum += data.pointDataTable[j].normed_position.y; zsum += data.pointDataTable[j].normed_position.z; pointnumber++; } } } } xaverage = xsum / pointnumber; yaverage = ysum / pointnumber; zaverage = zsum / pointnumber; ArrowLocalPosition = new Vector3(xaverage, yaverage, zaverage); //DEBUG /** * N = 25; * for(int i = 0; i < 5; i++) * { * TrajectoriesList.Add(i); * Xvalues.Add((double)Random.Range(0,100)); * Yvalues.Add((double)Random.Range(0, 100)); * Zvalues.Add((double)Random.Range(0, 100)); * Tvalues.Add(0); * TrajectoriesList.Add(i); * Xvalues.Add((double)Random.Range(0, 100)); * Yvalues.Add((double)Random.Range(0, 100)); * Zvalues.Add((double)Random.Range(0, 100)); * Tvalues.Add(1); * TrajectoriesList.Add(i); * Xvalues.Add((double)Random.Range(0, 100)); * Yvalues.Add((double)Random.Range(0, 100)); * Zvalues.Add((double)Random.Range(0, 100)); * Tvalues.Add(2); * TrajectoriesList.Add(i); * Xvalues.Add((double)Random.Range(0, 100)); * Yvalues.Add((double)Random.Range(0, 100)); * Zvalues.Add((double)Random.Range(0, 100)); * Tvalues.Add(3); * TrajectoriesList.Add(i); * Xvalues.Add((double)Random.Range(0, 100)); * Yvalues.Add((double)Random.Range(0, 100)); * Zvalues.Add((double)Random.Range(0, 100)); * Tvalues.Add(4); * } * * Debug.Log(TrajectoriesList.Count); **/ //END_DEBUG double[] TrajectoriesArray = TrajectoriesList.ToArray(); double[] XvaluesArray = Xvalues.ToArray(); double[] YvaluesArray = Yvalues.ToArray(); double[] ZvaluesArray = Zvalues.ToArray(); double[] TvaluesArray = Tvalues.ToArray(); fixed(double *Trajectoriespointer = TrajectoriesArray) { fixed(double *xvalues = XvaluesArray) { fixed(double *yvalues = YvaluesArray) { fixed(double *zvalues = ZvaluesArray) { fixed(double *tvalues = TvaluesArray) { this.trajectories = Trajectoriespointer; this.xCoord = xvalues; this.yCoord = yvalues; this.zCoord = zvalues; this.tCoord = tvalues; double diffusion = 145.0; double forceX = 14.0; double forceY = 16.0; double forceZ = 17.0; Diffusion = &diffusion; ForceX = &forceX; ForceY = &forceY; ForceZ = &forceZ; //functionID = (FunctionID)dropdown.value; headerID = (HeaderID)headerDropdown.value; paramID = (ParamID)paramDropdown.value; // Debug.Log("FunctionID - "+(int)functionID); double.TryParse(SigmaInput.text, out Sigma); double.TryParse(SigmaxyInput.text, out SigmaXY); double.TryParse(SigmazInput.text, out SigmaZ); //Debug.Log("fid " + functionID); Debug.Log("Sigma " + Sigma); Debug.Log("Sigmaxy " + SigmaXY); Debug.Log("Sigmaz " + SigmaZ); Infer3D((int)headerID, (int)paramID, Sigma, SigmaXY, SigmaZ, N, trajectories, xCoord, yCoord, zCoord, tCoord, Diffusion, ForceX, ForceY, ForceZ); double diffusionres = *Diffusion; double forceXres = *ForceX; double forceYres = *ForceY; double forceZres = *ForceZ; diffusionres = Math.Round(diffusionres, 3); forceXres = Math.Round(forceXres, 3); forceYres = Math.Round(forceYres, 3); forceZres = Math.Round(forceZres, 3); ResultsString = "diffusion : " + diffusionres + "\n" + "forceX : " + forceXres + "\n" + "forceY : " + forceYres + "\n" + "forceZ : " + forceZres + "\n"; Debug.Log("N : " + N); Debug.Log("diffusion : " + *Diffusion); Debug.Log("forceX : " + *ForceX); Debug.Log("forceY : " + *ForceY); Debug.Log("forceZ : " + *ForceZ); GameObject go = new GameObject("ARROW"); go.transform.position = Vector3.zero; go.transform.SetParent(data.transform, true); //go.transform.SetParent(data.transform); go.AddComponent <GenerateArrow>(); go.GetComponent <GenerateArrow>().GenerateTriangularArrowMesh(new Vector3((float)*ForceX, (float)*ForceY, (float)*ForceZ).normalized); go.transform.localPosition = ArrowLocalPosition; Debug.Log("ArrowCalculatedpos : " + ArrowLocalPosition); Debug.Log("ArrowWorldPos : " + go.transform.position); Debug.Log("ArrowLocalPos : " + go.transform.localPosition); } } } } } }