com.xumpy.thuisadmin.controllers.pages.Finances.java Source code

Java tutorial

Introduction

Here is the source code for com.xumpy.thuisadmin.controllers.pages.Finances.java

Source

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package com.xumpy.thuisadmin.controllers.pages;

import com.xumpy.thuisadmin.controllers.model.NieuwDocument;
import com.xumpy.thuisadmin.domain.Documenten;
import com.xumpy.thuisadmin.services.BedragenSrv;
import com.xumpy.thuisadmin.services.DocumentenSrv;
import com.xumpy.thuisadmin.services.model.BedragenSrvPojo;
import com.xumpy.thuisadmin.services.model.DocumentenSrvPojo;
import java.io.IOException;
import java.io.Serializable;
import java.util.logging.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;

/**
 *
 * @author Nico
 */
@Controller
public class Finances implements Serializable {
    @Autowired
    private BedragenSrv bedragenSrv;

    @Autowired
    private DocumentenSrv documentenSrv;

    private static final Logger Log = Logger.getLogger(Finances.class.getName());

    @RequestMapping(value = "finances/overview")
    public String viewOverview() {
        return "finances/overview";
    }

    @RequestMapping(value = "finances/beheerBedragen")
    public String viewBeheerBedragen() {
        return "finances/beheerBedragen";
    }

    @RequestMapping(value = "finances/documenten")
    public String viewDocumenten() {
        return "finances/documenten";
    }

    @RequestMapping(value = "finances/nieuwBedrag")
    public String viewNieuwBedrag() {
        return "finances/nieuwBedrag";
    }

    @RequestMapping(value = "finances/overzichtPerGroep")
    public String viewOverzichtPerGroep() {
        return "finances/overzichtPerGroep";
    }

    @RequestMapping(value = "finances/nieuwBedrag/{bedragId}")
    public String viewNieuwBedrag(@PathVariable Integer bedragId, Model model) {
        model.addAttribute("pk_id", bedragId);

        return "finances/nieuwBedrag";
    }

    @RequestMapping(value = "finances/nieuwBedragDocument/{bedragId}")
    public String nieuwBedragDocument(@PathVariable Integer bedragId, Model model) {
        model.addAttribute("bedragId", bedragId);
        model.addAttribute("document", new NieuwDocument());

        return "finances/nieuwDocument";
    }

    @RequestMapping(value = "finances/OverviewMonthCategory")
    public String OverviewMonthCategory() {
        return "finances/OverviewMonthCategory";
    }

    @RequestMapping(value = "finances/OverviewMonth")
    public String OverviewMonth() {
        return "finances/OverviewMonth";
    }

    @RequestMapping(value = "/finances/editBedragDocument/{documentId}")
    public String editBedragDocument(@PathVariable Integer documentId, Model model) {
        model.addAttribute("pk_id", documentId);

        Documenten document = documentenSrv.fetchDocument(documentId);

        model.addAttribute("bedragId", document.getBedrag().getPk_id());
        NieuwDocument nieuwDocument = new NieuwDocument();
        nieuwDocument.setBedrag_id(document.getBedrag().getPk_id());
        nieuwDocument.setOmschrijving(document.getOmschrijving());
        nieuwDocument.setPk_id(document.getPk_id());

        model.addAttribute("document", nieuwDocument);

        return "finances/nieuwDocument";
    }

    @RequestMapping(value = "/finances/nieuwBedragDocument/saveDocument", method = RequestMethod.POST)
    public String saveBedragDocument(@ModelAttribute("document") NieuwDocument document,
            @RequestParam("file") MultipartFile file) throws IOException {
        DocumentenSrvPojo bedragDocument = new DocumentenSrvPojo();

        bedragDocument.setBedrag(new BedragenSrvPojo(bedragenSrv.findBedrag(document.getBedrag_id())));
        //bedragDocument.setDatum(document.getDatum());
        bedragDocument.setDocument(file.getBytes());
        bedragDocument.setDocument_mime(file.getContentType());
        bedragDocument.setDocument_naam(file.getOriginalFilename());
        bedragDocument.setOmschrijving(document.getOmschrijving());
        bedragDocument.setPk_id(document.getPk_id());

        Log.info("File bytes: " + file.getBytes().length);
        Log.info("Document PK_ID: " + document.getPk_id());

        if (file.getBytes().length == 0 && document.getPk_id() != null) {
            Documenten bedragDocumentOld = documentenSrv.fetchDocument(document.getPk_id());
            bedragDocument.setDocument(bedragDocumentOld.getDocument());
            bedragDocument.setDocument_mime(bedragDocumentOld.getDocument_mime());
            bedragDocument.setDocument_naam(bedragDocumentOld.getDocument_naam());
        }

        documentenSrv.save(bedragDocument);

        return "redirect:/finances/nieuwBedrag/" + document.getBedrag_id();
    }
}