АРМ учета финансов доходов и расходов для бухгалтера

Цели и задачи автоматизированной системы. Разработка автоматизированного рабочего места в виде мобильного приложения "Учета финансов" для отделения дополнительного образования. Экономический расчет разработки автоматизированного рабочего места.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 06.06.2023
Размер файла 1,7 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

menuInflater.inflate(R.menu.update_menu,menu);

}

return true;

}

@Override

public boolean onOptionsItemSelected(@NonNull MenuItem item) {

int id=item.getItemId();

if (id==R.id.saveExpense){

if (type!=null){

createExpense();

}else {

updateExpense();

}

return true;

}

if (id==R.id.deleteExpense){

deleteExpense();

}

return false;

}

private void deleteExpense() {

FirebaseFirestore

.getInstance()

.collection("expenses")

.document(expenseModel.getExpenseId())

.delete();

finish();

}

private void createExpense() {

String expenseId= UUID.randomUUID().toString();

String amount=binding.amount.getText().toString();

String note=binding.note.getText().toString();

String category=binding.category.getText().toString();

boolean incomeChecked=binding.incomeRadio.isChecked();

if (incomeChecked){

type="Income";

}else {

type="Expense";

}

if (amount.trim().length()==0){

binding.amount.setError("Empty");

return;

}

ExpenseModel expenseModel=new ExpenseModel(expenseId,note,category,type,Long.parseLong(amount), Calendar.getInstance().getTimeInMillis(),

FirebaseAuth.getInstance().getUid());

FirebaseFirestore

.getInstance()

.collection("expenses")

.document(expenseId)

.set(expenseModel);

finish();

}

private void updateExpense() {

String expenseId= expenseModel.getExpenseId();

String amount=binding.amount.getText().toString();

String note=binding.note.getText().toString();

String category=binding.category.getText().toString();

boolean incomeChecked=binding.incomeRadio.isChecked();

if (incomeChecked){

type="Income";

}else {

type="Expense";

}

if (amount.trim().length()==0){

binding.amount.setError("Empty");

return;

}

ExpenseModel model=new ExpenseModel(expenseId,note,category,type,Long.parseLong(amount),expenseModel.getTime(),

FirebaseAuth.getInstance().getUid());

FirebaseFirestore

.getInstance()

.collection("expenses")

.document(expenseId)

.set(model);

finish();

}

}

ExpenseModel.java

public class ExpenseModel implements Serializable {

private String expenseId;

private String note;

private String category;

private String type;

private long amount;

private long time;

private String uid;

public ExpenseModel() {

}

public ExpenseModel(String expenseId, String note, String category, String type, long amount, long time, String uid) {

this.expenseId = expenseId;

this.note = note;

this.category = category;

this.type = type;

this.amount = amount;

this.time = time;

this.uid = uid;

}

public String getType() {

return type;

}

public void setType(String type) {

this.type = type;

}

public String getExpenseId() {

return expenseId;

}

public void setExpenseId(String expenseId) {

this.expenseId = expenseId;

}

public String getNote() {

return note;

}

public void setNote(String note) {

this.note = note;

}

public String getCategory() {

return category;

}

public void setCategory(String category) {

this.category = category;

}

public long getAmount() {

return amount;

}

public void setAmount(long amount) {

this.amount = amount;

}

public long getTime() {

return time;

}

public void setTime(long time) {

this.time = time;

}

public String getUid() {

return uid;

}

public void setUid(String uid) {

this.uid = uid;

}

}

ExpensesAdapter.java

public class ExpensesAdapter extends RecyclerView.Adapter<ExpensesAdapter.MyViewHolder> {

private Context context;

private OnItemsCLick onItemsCLick;

private List<ExpenseModel> expenseModelList;

public ExpensesAdapter(Context context,OnItemsCLick onItemsCLick) {

this.context = context;

expenseModelList=new ArrayList<>();

this.onItemsCLick=onItemsCLick;

}

public void add(ExpenseModel expenseModel){

expenseModelList.add(expenseModel);

notifyDataSetChanged();

}

public void clear(){

expenseModelList.clear();

notifyDataSetChanged();

}

@NonNull

@Override

public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {

View view= LayoutInflater.from(parent.getContext()).inflate(R.layout.expense_row,parent,false);

return new MyViewHolder(view);

}

@Override

public void onBindViewHolder(@NonNull MyViewHolder holder, int position) {

ExpenseModel expenseModel=expenseModelList.get(position);

holder.note.setText(expenseModel.getNote());

holder.category.setText(expenseModel.getCategory());

holder.amount.setText(String.valueOf(expenseModel.getAmount()));

holder.itemView.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

onItemsCLick.onClick(expenseModel);

}

});

}

@Override

public int getItemCount() {

return expenseModelList.size();

}

public class MyViewHolder extends RecyclerView.ViewHolder{

private TextView note,category,amount,date;

public MyViewHolder(@NonNull View itemView) {

super(itemView);

note=itemView.findViewById(R.id.note);

category=itemView.findViewById(R.id.category);

amount=itemView.findViewById(R.id.amount);

date=itemView.findViewById(R.id.date);

}

}

}

Список использованной литературы

1. Формирование стоимости приложений для Android устройств [Электронный ресурс] - https://livesurf.ru/app-dev/7090-skolko-stoit-razrabotat-mobilnoe-prilozhenie-dlya-android.html (Дата обращения 20.05.2023)

2. Руководства для разработчиков [Электронный ресурс] - https://developer.android.com/docs (Дата обращения 20.05.2023)

3. Экономическое обоснование разработки програмного обеспечения [Электронный ресурс] - https://www.stud24.ru/economics/jekonomicheskoe-obosnovanie-razrabotki-programnogo-obespecheniya/219196-641511-page3.html (Дата обращения 20.05.2023)

4. Инструментарий Администратора [Электронный ресурс] - http://www.forte-it.ru/call-center/administrator-tools/ (Дата обращения 20.05.2023)

5. Чем занимаются андроид-разработчики? [Электронный ресурс] - https://thecode.media/android-developer/ (Дата обращения 20.05.2023)

6. Автоматизированное рабочее место бухгалтера [Электронный ресурс] - https://www.stud24.ru/accounting/avtomatizirovannoe-rabochee-mesto-buhgaltera/360465-1122564-page1.html (Дата обращения 20.05.2023)

7. Рекомендации по обеспечению безопасности приложений [Электронный ресурс] - https://developer.android.com/topic/security/best-practices (Дата обращения 20.05.2023)

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.