• Hulosa
  • Dasturiy injiniring




    Download 208.04 Kb.
    bet8/9
    Sana07.11.2023
    Hajmi208.04 Kb.
    #95488
    1   2   3   4   5   6   7   8   9
    Bog'liq
    Nabijonov Xayrulloning Mobil ilovalarni ishlab chiqish Mustaqil
    dead

    2.2 loyihadan foydalanish

    package com.example.smartgilam.vozvratkorzinka

    import android.graphics.Color
    import android.os.Bundle
    import android.util.Log
    import android.view.MenuItem
    import android.view.View
    import android.view.animation.AnimationUtils
    import android.widget.Button
    import android.widget.TextView
    import android.widget.Toast
    import androidx.appcompat.app.AppCompatActivity
    import androidx.core.content.ContextCompat
    import androidx.lifecycle.Observer
    import androidx.lifecycle.ViewModelProvider
    import androidx.recyclerview.widget.LinearLayoutManager
    import androidx.recyclerview.widget.RecyclerView
    import com.example.smartgilam.R
    import com.example.smartgilam.models.Vozvrat
    import com.example.smartgilam.vendor.DecimalFormat
    import com.example.utils.smartgilam.PreUtils
    import com.google.android.material.bottomsheet.BottomSheetDialog
    import kotlinx.android.synthetic.main.activity_main.*
    import kotlinx.android.synthetic.main.activity_vozvrat.*
    import kotlinx.android.synthetic.main.vozvrat_layout.*
    import java.sql.Timestamp

    class VozvratActivity : AppCompatActivity() {


    companion object {
    lateinit var jamiSummaTxt: TextView
    lateinit var btnSaqlashh: Button
    }

    var vozvrat: Vozvrat? = null

    override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_vozvrat)
    window.statusBarColor = ContextCompat.getColor(this, R.color.owner)
    supportActionBar?.setDisplayHomeAsUpEnabled(true)
    actionBar?.setDisplayShowHomeEnabled(true)
    supportActionBar?.title = "Товар кайтариш корзинка"
    var recyclerView: RecyclerView = findViewById(R.id.recycVozvrat)
    recyclerView.layoutManager = LinearLayoutManager(this)
    var adapter: VozvratAdapter = VozvratAdapter(this, PreUtils.getCartVazvrat())
    recyclerView.adapter = adapter

    //umumiy summa


    jamiSummaTxt = findViewById(R.id.umumiySummaVozvrat)
    var jami: Double = 0.0
    for (item in PreUtils.getCartVazvrat()) {
    jami += item.summa
    }
    jamiSummaTxt.text = DecimalFormat.decimalFormatter(jami).toString() + " Сўм"
    jamiSummaTxt.isSelected = true

    //saqlash bosilganda


    btnSaqlashh = findViewById(R.id.btnSaqlashVozvrat)
    if (PreUtils.getCartVazvrat().isEmpty()) {
    btnSaqlashh.isEnabled = false
    } else {
    btnSaqlashh.isEnabled = true
    btnSaqlashh.setOnClickListener {
    val dialog = BottomSheetDialog(this, R.style.BottomSheetTheme)

    Log.i("iiiii", PreUtils.getCartVazvrat().toString())


    // on below line we are inflating a layout file which we have created.
    val view = layoutInflater.inflate(R.layout.vozvrat_layout, container, true)

    dialog.setCancelable(true)

    dialog.setContentView(view)

    //mijoz tekshiriladi


    dialog.checkVozvrat.setOnClickListener {
    var sana = Timestamp(System.currentTimeMillis())
    if (dialog.klientTelephoneVozvrat.text.toString()
    .isEmpty() || dialog.klientTelephoneVozvrat.text.toString() == null
    ) {
    var shake = AnimationUtils.loadAnimation(this, R.anim.shake)
    dialog.klientTelephoneVozvrat.startAnimation(shake)

    dialog.klientTelephoneVozvrat.setHint(" Ракам киритинг !")


    dialog.klientTelephoneVozvrat.setHintTextColor(Color.RED)
    Toast.makeText(this, "Please enter telephone number", Toast.LENGTH_SHORT)
    .show()
    } else {
    llProgressBarVozvrat.visibility = View.VISIBLE
    dialog.hide()
    var viewModelCheckMijoz = ViewModelCheckMijoz()
    viewModelCheckMijoz =
    ViewModelProvider(this).get(ViewModelCheckMijoz::class.java)
    viewModelCheckMijoz.getMijoz("+998" + dialog.klientTelephoneVozvrat.text.toString())

    viewModelCheckMijoz.progress.observe(this, Observer {


    if (it) {
    llProgressBarVozvrat.visibility = View.GONE
    dialog.show()
    } else {
    dialog.klientNameVozvrat.text = ""
    var shake = AnimationUtils.loadAnimation(this, R.anim.shake)
    dialog.klientTelephoneVozvrat.startAnimation(shake)
    dialog.klientTelephoneVozvrat.setHintTextColor(Color.RED)
    }
    })
    viewModelCheckMijoz.mijoz.observe(this, Observer {
    if (it != null) {
    dialog.klientNameVozvrat.text = it.fish
    vozvrat = Vozvrat(
    PreUtils.getUser()[0].id,
    it . id,
    it.sklad_id,
    jami,
    "Сўм",
    PreUtils.getKurs().toDouble(),
    PreUtils.getCartVazvrat(),
    sana.toString().substring(0,sana.toString().length-4)
    )

    } else {

    llProgressBarVozvrat.visibility = View.GONE
    dialog.show()
    }
    })

    }
    }

    dialog.finishDialog.setOnClickListener {
    llProgressBarVozvrat.visibility = View.VISIBLE
    dialog.hide()
    Log.i("t", PreUtils.getCartVazvrat().toString())
    //viewmodelvozvratni chaqirish
    var viewModelVozvrat = ViewModelVozvrat()
    viewModelVozvrat = ViewModelProvider(this).get(ViewModelVozvrat::class.java)
    vozvrat?.let { it1 -> viewModelVozvrat.getVozvrat(it1) }

    viewModelVozvrat.checked.observe(this, Observer {


    if (it) {
    llProgressBarVozvrat.visibility = View.GONE
    Toast.makeText(
    this,
    "Амалиёт муваффаққиятли бажарилди",
    Toast.LENGTH_LONG
    ).show()

    vozvrat = null


    dialog.dismiss()
    PreUtils.vozvratDelete()
    finish()
    } else {

    dialog.show()


    Toast.makeText(
    this,
    "Амалиёт муваффаққиятсиз бажарилди. Илтимос қайтадан уруниб кўринг!!!",
    Toast.LENGTH_LONG
    ).show()
    }

    })

    viewModelVozvrat.error.observe(this, Observer {
    Toast.makeText(this, "$it", Toast.LENGTH_SHORT).show()
    })

    }

    dialog.close.setOnClickListener {
    dialog.dismiss()
    }

    dialog.setOnShowListener {


    Log.i("changed", "ok")
    }

    dialog.show()


    }

    }
    }

    override fun onOptionsItemSelected(item: MenuItem): Boolean {


    return when (item.itemId) {
    android.R.id.home -> {
    finish()
    true
    }
    else -> super.onOptionsItemSelected(item)
    }
    }
    }


    Hulosa


    Dastur tuzish davomida biz quyidagilarni bilib oldik:
    Хizmat – uning natijalari moddiy ko’rinishga ega bo’lmagan, ushbu faoliyatni amalga oshirish jarayonida sotiladigan va iste’mol qilinadigan faoliyat. Tahliliy hisob – korхona vositalari yoki хo’jalik opеratsiyalarining tahliliy schеtlar yordamida, ya’ni dеtallashtirilgan, batafsil ma’lumotlar bilan buхgaltеriya schеtlari yordamidagi buхgaltеriya hisobi. Sintеtik hisob – vositalar va хo’jalik jarayonlari umumlashtirilgan ko’rsatkichlardagi buхgaltеriya hisobi. Jismoniy taqsimlash – distribyutsiya jarayonining tarkibiy qismi sanalgan va ishlab chiqaruvchining va/yoki logistika vositachilarining tovar o’tkazuvchi tizimlarida tayyor mahsulotni jismoniy harakatlantirish va saqlash bilan bog’liq barcha logistika opеratsiyalarini o’z ichiga oladigan komplеksli logistika folligi. Korхonaning moliyaviy rеsurslari – muayyan хo’jalik yurituvchi sub’еkt tasarrufida bo’lgan hamda uning daromadlarini hosil qilish, kgsh va foydalanish jarayonlarini aks ettiradigan mablag’ rеsurslari yig’indisi. Logistika vazifasi – logistika tizimi maqsadlarini amalga oshirishga yo’naltirilgan va uning chiqish o’zgaruvchilari sanalgan ko’rsatkichlar qiymati bilan bеriladigan logistika opеratsiyalari yiriklashtirilgan guruhi. Maqsadli vazifa – eng katta yoki eng kichik qiymati chеklovlarni hisobga olgan holda matеmatik dasturlash masalalarida bеlgilanadigan vazifa. Maqsadli vazifani tanlash tizim samaradorligi ko’rsatkichlari bilan bog’liq. Nеtto narх – tovarning oldi-sotdi joyidagi turli bazis ta’minot shartlari, subsidiyalar va h.k. faqlanishi bilan bog’liq chеgirmalar va ustamalarni o’z ichiga olmaydigan toza narхi. Oluvchi uchun nеtto narх – amalda sotuvchiga to’langan summa; sotuvchi uchun esa – amalda bitimni ijro etish bilan bog’liq хarajatlarni chiqarib tashlagan holda tovarni sotishdan olingan tushum. Bitim narхi – narхga qo’shimcha hisob-kitoblarni hisobga olgan holda tuzatish kiritilgan, importchi mamlakatga tovarlarni eksportga sotishda amalda to’langan yoki to’lanishi lozim bo’lgan narх. Bu qatorga agarda ular ilgari kiritilmagan bo’lsa, quyidagi tarkibiy qismlar kiritilishi mumkin: tovarni mamlakat bojхona hududiga olib kirish joyigacha еtkazib bеrish bo’yicha хarajatlar (transport 229 vositasida tashish, yuklab-tushirish хarajatlari, sug’urta miqdori va b.); хaridor sarflagan хarajatlar (komission va brokеrlik mukofoti, o’rab-qadoqlash qiymati, kontеynеrlar qiymati va b.); хaridor tomonidan baholanayotgan tovarlarni (хomashyo, matеriallar, dеtallar, tajriba-konstruktorlik ishlari, dizayn va b.) ishlab chiqarish va olib chiqib sotish ufayli foydalanish uchun bеmablag’ yoki arzonlashtirilgan narхda bеvosita yoki bilvosita taqdim etilgan tovarlar va хizmatlar qiymatining mos kеluvchi qismi; litsеnziya to’lovi va boshqa to’lovlar. Logistika zanjiri – moddiy yoki hamrohlik qiladigan oqimlar bo’yicha chiziqli tartibga solingan hamda tashqi moddiy oqimni bir logistika tizimidan boshqa logistika tizimiga yoki yakuniy iste’molchigacha еtkazishni amalga oshiradigan logistika tizimi bo’g’inlari yig’indisi. Logistika tjarayoni – vaqt bo’yicha intеgratsiyalangan, komplеksli logistika faolliklari bilan bog’liq bo’lgan tjarayonlar yig’indisi. Qisman jarayon – ishlab chiqarish uchastkasida bitta mahsulot (buyurtma) dеtallari komplеktini tayyorlash jarayoni.

    Download 208.04 Kb.
    1   2   3   4   5   6   7   8   9




    Download 208.04 Kb.