Beispiel #1
0
        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, "");
            }
        }
Beispiel #2
0
    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);
                        }
                    }
                }
            }
        }
    }