АРМ учета финансов доходов и расходов для бухгалтера
Цели и задачи автоматизированной системы. Разработка автоматизированного рабочего места в виде мобильного приложения "Учета финансов" для отделения дополнительного образования. Экономический расчет разработки автоматизированного рабочего места.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 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
Подобные документы
Разработка автоматизированного рабочего места в виде Web-приложения "Платные образовательные услуги" для отделения дополнительного образования строительного техникума. Технология создания макета. Разработка программного кода, функции интерфейса.
дипломная работа [1,8 M], добавлен 10.06.2013Обоснование необходимости и основные цели использования вычислительной техники для решения задачи. Используемые классификаторы и системы кодирования. Программное обеспечение разработки автоматизированного рабочего места. Описание программных модулей.
дипломная работа [3,9 M], добавлен 11.08.2015Задачи, функция и структура выбранной организации. Выявление и оценка информационных потоков. Разработка автоматизированного рабочего места сотрудника с использованием Microsoft Access. Описание концептуальной и логической моделей объекта, тестирование.
дипломная работа [7,8 M], добавлен 21.01.2012Анализ аналогов-ресурсов системы "Бюро регистрации несчастных случаев", критерии выбор задач, подлежащих автоматизации. Проектирование автоматизированного рабочего места сотрудника оперативного учета. Разработка модели базы с использованием CASE-средств.
дипломная работа [7,8 M], добавлен 21.01.2012Обоснование необходимости автоматизации рабочего места. Выбор среды программирования. Этапы разработки программного продукта. База данных и таблицы. Расчет возможного роста производительности труда от внедрения автоматизированной информационной системы.
дипломная работа [661,4 K], добавлен 17.07.2016Разработка и реализация автоматизированного рабочего места для менеджера по продажам компьютерной техники. Требования к функциональным характеристика программного изделия. Стадии и этапы разработки. Эксплуатационная документация, руководство оператора.
курсовая работа [686,9 K], добавлен 19.05.2014Понятие информации, информационных технологий и их виды. Анализ основных положений по автоматизации рабочего места оператора автотранспортного предприятия. Разработка модели автоматизированного рабочего места начальника отдела. Применение модели АРМ.
дипломная работа [4,0 M], добавлен 18.09.2010Создание автоматизированного рабочего места подготовки управляющих программ для станков с ЧПУ. Технологическая сущность и формализация алгоритма задачи; техническое и программное обеспечение АРМ. Организация оптимальных условий труда программиста; смета.
дипломная работа [2,4 M], добавлен 22.05.2013Создание автоматизированного рабочего места заместителя заведующего складом. Проектирование базы данных. Разработка программно-информационного ядра системы. Методика разработки клиентского приложения. Разработка организационного компонента системы.
курсовая работа [1,1 M], добавлен 05.06.2015Технологический процесс сбора, передачи, обработки и выдачи информации. Назначение программного продукта. Анализ экономических показателей внедрения автоматизированного рабочего места кассира-операциониста. Организация рабочего места оператора ЭВМ.
дипломная работа [2,6 M], добавлен 08.12.2014