Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.mvc.controller;
- import java.text.ParseException;
- import java.text.SimpleDateFormat;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.Iterator;
- import java.util.LinkedList;
- import java.util.List;
- import java.util.Map;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpSession;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Controller;
- import org.springframework.ui.Model;
- import org.springframework.validation.BindingResult;
- 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.RequestParam;
- import com.mvc.dto.MstBarangAllDto;
- import com.mvc.dto.MstCustomerAllDto;
- import com.mvc.dto.MstKaryawanDto;
- import com.mvc.dto.TrDetailPenjualanDto;
- import com.mvc.dto.TrHeaderPenjualanDto;
- import com.mvc.service.MstBarangSvc;
- import com.mvc.service.MstCustomerSvc;
- import com.mvc.service.MstKaryawanSvc;
- import com.mvc.service.TrDetailPenjualanSvc;
- import com.mvc.service.TrHeaderPenjualanSvc;
- @Controller
- @RequestMapping("/header-penjualan")
- public class TrHeaderPenjualanController {
- int temp = 0;
- List<TrDetailPenjualanDto> addList = new LinkedList<TrDetailPenjualanDto>();
- List<String> delColumn = new ArrayList<>();
- @Autowired
- private TrHeaderPenjualanSvc service;
- @Autowired
- private MstCustomerSvc customerService;
- @Autowired
- private MstKaryawanSvc employeeService;
- @Autowired
- private MstBarangSvc barangSvc;
- @Autowired
- private TrDetailPenjualanSvc detailSvc;
- @RequestMapping("/all")
- public String showAllWithPagination(
- @RequestParam(value = "cari", defaultValue = "", required = false) String cari,
- @RequestParam(value = "page", defaultValue = "1", required = false) int page,
- Model model,HttpServletRequest request) {
- HttpSession session = request.getSession();
- Map<String, Object> map = service.searchPenjualan(cari, page);
- List<TrHeaderPenjualanDto> listDto = (List<TrHeaderPenjualanDto>) map
- .get("list");
- int jumlahHalaman = (int) map.get("jumlahHalaman");
- session.setAttribute("headerData", null);
- temp = 0;
- delColumn.clear();
- addList.clear();
- model.addAttribute("list", listDto);
- model.addAttribute("jumlahHalaman", jumlahHalaman);
- return "listheaderpenjualan";
- }
- @RequestMapping("/add")
- public String getHeaderInsertPage(Model model, HttpServletRequest request) {
- HttpSession session = request.getSession();
- List<MstCustomerAllDto> customersDto = customerService
- .findAllCustomer();
- List<MstKaryawanDto> employeesDto = employeeService.findAllKaryawan();
- Map<String, String> customerList = new HashMap<String, String>();
- Map<String, String> employeesList = new HashMap<String, String>();
- for (MstCustomerAllDto dto : customersDto) {
- customerList.put(dto.getKodeCustomer(), dto.getNamaCustomer());
- }
- for (MstKaryawanDto dto : employeesDto) {
- employeesList.put(dto.getKodeKaryawan(), dto.getNamaKaryawan());
- }
- TrHeaderPenjualanDto headerDto = new TrHeaderPenjualanDto();
- List<TrDetailPenjualanDto> dtlList = null;
- if (session.getAttribute("headerData") == null) {
- headerDto = new TrHeaderPenjualanDto();
- dtlList = new ArrayList<>();
- } else {
- headerDto = (TrHeaderPenjualanDto) session
- .getAttribute("headerData");
- dtlList = new ArrayList<>();
- dtlList.addAll(addList);
- }
- for (String x : delColumn) {
- for (Iterator<TrDetailPenjualanDto> iter = dtlList.iterator(); iter
- .hasNext();) {
- TrDetailPenjualanDto temp = iter.next();
- if (temp.getKodeDetail().compareTo(x) == 0) {
- iter.remove();
- break;
- }
- }
- }
- temp = 0;
- for (TrDetailPenjualanDto y : dtlList) {
- temp += y.getSubtotal();
- }
- temp = temp * (100 - headerDto.getGlobalDiskon()) / 100;
- headerDto.setHargaTotal(temp);
- session.setAttribute("headerData", headerDto);
- model.addAttribute("headerPenjualan", headerDto);
- model.addAttribute("customers", customerList);
- model.addAttribute("employees", employeesList);
- model.addAttribute("dtlList", dtlList);
- return "addheaderpenjualan";
- }
- @RequestMapping("/add-with-session")
- public String getAddWithSession(Model model, HttpServletRequest request) {
- HttpSession session = request.getSession();
- TrHeaderPenjualanDto headerDto = (TrHeaderPenjualanDto) session
- .getAttribute("headerData");
- model.addAttribute("headerPenjualan", headerDto);
- return "addheaderpenjualan";
- }
- @RequestMapping("/save")
- public String saveHeader(
- @ModelAttribute("headerPenjualan") TrHeaderPenjualanDto dto,
- HttpServletRequest request) {
- HttpSession session = request.getSession();
- session.setAttribute("headerData", dto);
- return "redirect:/header-penjualan/all";
- }
- @RequestMapping("/add-detail")
- public String addDetail(
- @ModelAttribute("headerPenjualan") TrHeaderPenjualanDto dto,
- HttpServletRequest request, Model model) {
- HttpSession session = request.getSession();
- session.setAttribute("headerData", dto);
- // TrHeaderPenjualanDto dummyDto = (TrHeaderPenjualanDto) session
- // .getAttribute("headerData");
- // System.out.println("nama customer -----> " + dummyDto.getNoNota());
- List<MstBarangAllDto> barangsDto = barangSvc.findAllBarang();
- Map<String, String> productsName = new HashMap<>();
- for (MstBarangAllDto barang : barangsDto) {
- productsName.put(barang.getKodeBarang(), barang.getNamaBarang());
- }
- model.addAttribute("detailPenjualan", new TrDetailPenjualanDto());
- model.addAttribute("products", productsName);
- return "adddetailpenjualan";
- }
- @RequestMapping("/save-detail")
- public String saveDetail(
- @ModelAttribute("detailPenjualan") TrDetailPenjualanDto detilDto,
- HttpServletRequest request, Model model) {
- // HttpSession session = request.getSession();
- // TrHeaderPenjualanDto headerDto = (TrHeaderPenjualanDto) session
- // .getAttribute("headerData");
- // headerDto.addListDetilDto(detilDto);
- // session.removeAttribute("headerData");
- // session.setAttribute("headerData", headerDto);
- MstBarangAllDto brg = barangSvc.findOne(detilDto.getKodeBarang());
- detilDto.setNamaBarang(brg.getNamaBarang());
- addList.add(detilDto);
- return "redirect:/header-penjualan/add";
- }
- @RequestMapping("/delete-detail/{kodeDetail}")
- public String deleteDetail(@PathVariable("kodeDetail") String kodeDetail,
- @RequestParam("header") String nota) {
- delColumn.add(kodeDetail);
- return "redirect:/header-penjualan/add";
- }
- @RequestMapping("/header-save")
- public String saveTransaction(Model model,
- @ModelAttribute("headerPenjualan") TrHeaderPenjualanDto hdr) {
- service.save(hdr);
- // Mungkin karena list tidak termasuk dalam bagian form...
- // delete previous existing entries
- List<TrDetailPenjualanDto> dtlList = detailSvc
- .findAllDetailPenjualan(hdr.getNoNota());
- for (TrDetailPenjualanDto y : dtlList) {
- detailSvc.delete(y.getKodeDetail());
- }
- // add the list containing 'supposedly' added entries
- dtlList.addAll(addList);
- // delete the list containing 'supposedly' deleted entries
- for (String x : delColumn) {
- for (Iterator<TrDetailPenjualanDto> iter = dtlList.iterator(); iter
- .hasNext();) {
- TrDetailPenjualanDto temp = iter.next();
- if (temp.getKodeDetail().compareTo(x) == 0) {
- iter.remove();
- break;
- }
- }
- }
- // save the new entries
- for (TrDetailPenjualanDto x : dtlList) {
- x.setNoNota(hdr.getNoNota());
- detailSvc.save(x);
- }
- return "redirect:/header-penjualan/all";
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement