Advertisement
Guest User

Untitled

a guest
Jun 27th, 2019
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.66 KB | None | 0 0
  1. package com.mvc.controller;
  2.  
  3. import java.text.ParseException;
  4. import java.text.SimpleDateFormat;
  5. import java.util.ArrayList;
  6. import java.util.HashMap;
  7. import java.util.Iterator;
  8. import java.util.LinkedList;
  9. import java.util.List;
  10. import java.util.Map;
  11.  
  12. import javax.servlet.http.HttpServletRequest;
  13. import javax.servlet.http.HttpSession;
  14.  
  15. import org.springframework.beans.factory.annotation.Autowired;
  16. import org.springframework.stereotype.Controller;
  17. import org.springframework.ui.Model;
  18. import org.springframework.validation.BindingResult;
  19. import org.springframework.web.bind.annotation.ModelAttribute;
  20. import org.springframework.web.bind.annotation.PathVariable;
  21. import org.springframework.web.bind.annotation.RequestMapping;
  22. import org.springframework.web.bind.annotation.RequestParam;
  23.  
  24. import com.mvc.dto.MstBarangAllDto;
  25. import com.mvc.dto.MstCustomerAllDto;
  26. import com.mvc.dto.MstKaryawanDto;
  27. import com.mvc.dto.TrDetailPenjualanDto;
  28. import com.mvc.dto.TrHeaderPenjualanDto;
  29. import com.mvc.service.MstBarangSvc;
  30. import com.mvc.service.MstCustomerSvc;
  31. import com.mvc.service.MstKaryawanSvc;
  32. import com.mvc.service.TrDetailPenjualanSvc;
  33. import com.mvc.service.TrHeaderPenjualanSvc;
  34.  
  35. @Controller
  36. @RequestMapping("/header-penjualan")
  37. public class TrHeaderPenjualanController {
  38.  
  39. int temp = 0;
  40. List<TrDetailPenjualanDto> addList = new LinkedList<TrDetailPenjualanDto>();
  41. List<String> delColumn = new ArrayList<>();
  42. @Autowired
  43. private TrHeaderPenjualanSvc service;
  44.  
  45. @Autowired
  46. private MstCustomerSvc customerService;
  47.  
  48. @Autowired
  49. private MstKaryawanSvc employeeService;
  50.  
  51. @Autowired
  52. private MstBarangSvc barangSvc;
  53.  
  54. @Autowired
  55. private TrDetailPenjualanSvc detailSvc;
  56.  
  57. @RequestMapping("/all")
  58. public String showAllWithPagination(
  59. @RequestParam(value = "cari", defaultValue = "", required = false) String cari,
  60. @RequestParam(value = "page", defaultValue = "1", required = false) int page,
  61. Model model,HttpServletRequest request) {
  62.  
  63. HttpSession session = request.getSession();
  64. Map<String, Object> map = service.searchPenjualan(cari, page);
  65. List<TrHeaderPenjualanDto> listDto = (List<TrHeaderPenjualanDto>) map
  66. .get("list");
  67. int jumlahHalaman = (int) map.get("jumlahHalaman");
  68.  
  69. session.setAttribute("headerData", null);
  70. temp = 0;
  71. delColumn.clear();
  72. addList.clear();
  73.  
  74. model.addAttribute("list", listDto);
  75. model.addAttribute("jumlahHalaman", jumlahHalaman);
  76. return "listheaderpenjualan";
  77. }
  78.  
  79. @RequestMapping("/add")
  80. public String getHeaderInsertPage(Model model, HttpServletRequest request) {
  81. HttpSession session = request.getSession();
  82.  
  83. List<MstCustomerAllDto> customersDto = customerService
  84. .findAllCustomer();
  85. List<MstKaryawanDto> employeesDto = employeeService.findAllKaryawan();
  86. Map<String, String> customerList = new HashMap<String, String>();
  87. Map<String, String> employeesList = new HashMap<String, String>();
  88. for (MstCustomerAllDto dto : customersDto) {
  89. customerList.put(dto.getKodeCustomer(), dto.getNamaCustomer());
  90. }
  91. for (MstKaryawanDto dto : employeesDto) {
  92. employeesList.put(dto.getKodeKaryawan(), dto.getNamaKaryawan());
  93. }
  94. TrHeaderPenjualanDto headerDto = new TrHeaderPenjualanDto();
  95. List<TrDetailPenjualanDto> dtlList = null;
  96. if (session.getAttribute("headerData") == null) {
  97. headerDto = new TrHeaderPenjualanDto();
  98. dtlList = new ArrayList<>();
  99. } else {
  100. headerDto = (TrHeaderPenjualanDto) session
  101. .getAttribute("headerData");
  102. dtlList = new ArrayList<>();
  103. dtlList.addAll(addList);
  104. }
  105. for (String x : delColumn) {
  106. for (Iterator<TrDetailPenjualanDto> iter = dtlList.iterator(); iter
  107. .hasNext();) {
  108. TrDetailPenjualanDto temp = iter.next();
  109. if (temp.getKodeDetail().compareTo(x) == 0) {
  110. iter.remove();
  111. break;
  112. }
  113. }
  114. }
  115. temp = 0;
  116. for (TrDetailPenjualanDto y : dtlList) {
  117. temp += y.getSubtotal();
  118. }
  119. temp = temp * (100 - headerDto.getGlobalDiskon()) / 100;
  120. headerDto.setHargaTotal(temp);
  121. session.setAttribute("headerData", headerDto);
  122. model.addAttribute("headerPenjualan", headerDto);
  123. model.addAttribute("customers", customerList);
  124. model.addAttribute("employees", employeesList);
  125. model.addAttribute("dtlList", dtlList);
  126.  
  127. return "addheaderpenjualan";
  128. }
  129.  
  130. @RequestMapping("/add-with-session")
  131. public String getAddWithSession(Model model, HttpServletRequest request) {
  132. HttpSession session = request.getSession();
  133. TrHeaderPenjualanDto headerDto = (TrHeaderPenjualanDto) session
  134. .getAttribute("headerData");
  135. model.addAttribute("headerPenjualan", headerDto);
  136.  
  137. return "addheaderpenjualan";
  138. }
  139.  
  140. @RequestMapping("/save")
  141. public String saveHeader(
  142. @ModelAttribute("headerPenjualan") TrHeaderPenjualanDto dto,
  143. HttpServletRequest request) {
  144. HttpSession session = request.getSession();
  145. session.setAttribute("headerData", dto);
  146.  
  147. return "redirect:/header-penjualan/all";
  148. }
  149.  
  150. @RequestMapping("/add-detail")
  151. public String addDetail(
  152. @ModelAttribute("headerPenjualan") TrHeaderPenjualanDto dto,
  153. HttpServletRequest request, Model model) {
  154. HttpSession session = request.getSession();
  155. session.setAttribute("headerData", dto);
  156.  
  157. // TrHeaderPenjualanDto dummyDto = (TrHeaderPenjualanDto) session
  158. // .getAttribute("headerData");
  159. // System.out.println("nama customer -----> " + dummyDto.getNoNota());
  160.  
  161. List<MstBarangAllDto> barangsDto = barangSvc.findAllBarang();
  162. Map<String, String> productsName = new HashMap<>();
  163. for (MstBarangAllDto barang : barangsDto) {
  164. productsName.put(barang.getKodeBarang(), barang.getNamaBarang());
  165. }
  166.  
  167. model.addAttribute("detailPenjualan", new TrDetailPenjualanDto());
  168. model.addAttribute("products", productsName);
  169. return "adddetailpenjualan";
  170. }
  171.  
  172. @RequestMapping("/save-detail")
  173. public String saveDetail(
  174. @ModelAttribute("detailPenjualan") TrDetailPenjualanDto detilDto,
  175. HttpServletRequest request, Model model) {
  176.  
  177. // HttpSession session = request.getSession();
  178. // TrHeaderPenjualanDto headerDto = (TrHeaderPenjualanDto) session
  179. // .getAttribute("headerData");
  180. // headerDto.addListDetilDto(detilDto);
  181. // session.removeAttribute("headerData");
  182. // session.setAttribute("headerData", headerDto);
  183. MstBarangAllDto brg = barangSvc.findOne(detilDto.getKodeBarang());
  184. detilDto.setNamaBarang(brg.getNamaBarang());
  185. addList.add(detilDto);
  186.  
  187. return "redirect:/header-penjualan/add";
  188. }
  189.  
  190. @RequestMapping("/delete-detail/{kodeDetail}")
  191. public String deleteDetail(@PathVariable("kodeDetail") String kodeDetail,
  192. @RequestParam("header") String nota) {
  193. delColumn.add(kodeDetail);
  194. return "redirect:/header-penjualan/add";
  195. }
  196.  
  197. @RequestMapping("/header-save")
  198. public String saveTransaction(Model model,
  199. @ModelAttribute("headerPenjualan") TrHeaderPenjualanDto hdr) {
  200. service.save(hdr);
  201. // Mungkin karena list tidak termasuk dalam bagian form...
  202. // delete previous existing entries
  203. List<TrDetailPenjualanDto> dtlList = detailSvc
  204. .findAllDetailPenjualan(hdr.getNoNota());
  205. for (TrDetailPenjualanDto y : dtlList) {
  206. detailSvc.delete(y.getKodeDetail());
  207. }
  208.  
  209. // add the list containing 'supposedly' added entries
  210. dtlList.addAll(addList);
  211.  
  212. // delete the list containing 'supposedly' deleted entries
  213. for (String x : delColumn) {
  214. for (Iterator<TrDetailPenjualanDto> iter = dtlList.iterator(); iter
  215. .hasNext();) {
  216. TrDetailPenjualanDto temp = iter.next();
  217. if (temp.getKodeDetail().compareTo(x) == 0) {
  218. iter.remove();
  219. break;
  220. }
  221. }
  222. }
  223.  
  224. // save the new entries
  225. for (TrDetailPenjualanDto x : dtlList) {
  226. x.setNoNota(hdr.getNoNota());
  227. detailSvc.save(x);
  228. }
  229. return "redirect:/header-penjualan/all";
  230. }
  231.  
  232. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement