Advertisement
Guest User

Untitled

a guest
Dec 28th, 2015
35
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 38.22 KB | None | 0 0
  1. <%@page import="com.bygglet.util.Mail"%>
  2. <%@page import="speedy.byggletwebcrm.struct.Cmuser"%>
  3. <%@page import="speedy.byggletwebcrm.struct.Person"%>
  4. <%@page import="speedy.byggletwebcrm.struct.Organisation"%>
  5. <%@page import="speedy.byggletwebcrm.struct.Event"%>
  6. <%@page import="speedy.byggletwebcrm.manager.EventMgr"%>
  7. <%@page import="speedy.bygglet.map.UserMap"%>
  8. <%@page import="speedy.byggletbusiness.struct.Assignmenttypeprice"%>
  9. <%@page import="speedy.bygglet.struct.Doublegroup"%>
  10. <%@page import="com.bygglet.generate.WeekRentMgr"%>
  11. <%@page import="speedy.bygglet.util.StopWatch"%>
  12. <%@page import="speedy.byggletbusiness.map.InvoicerowMap"%>
  13. <%@page import="speedy.bygglet.db.ResultSetConsumer"%>
  14. <%@page import="speedy.bygglet.db.impl.DatabaseRoot"%>
  15. <%@page import="speedy.bygglet.manager.ConcernMgr"%>
  16. <%@page import="speedy.bygglet.struct.Concern"%>
  17. <%@page
  18.     import="speedy.byggletbusiness.manager.base.InvoicerownonfixedMgrBase"%>
  19. <%@page import="java.lang.reflect.Method"%>
  20. <%@page import="speedy.bygglet.manager.DocumentMgr"%>
  21. <%@page import="speedy.bygglet.struct.Document"%>
  22. <%@page import="java.util.Random"%>
  23. <%@page import="speedy.bygglet.struct.Companysetting"%>
  24. <%@page import="speedy.byggletbusiness.manager.EmployeestatustypeMgr"%>
  25. <%@page import="speedy.byggletbusiness.struct.Employeestatustype"%>
  26. <%@page import="com.bygglet.asset.struct.DepreciationPeriod"%>
  27. <%@page import="speedy.bygglet.struct.ConfigLanguageMap"%>
  28. <%@page import="speedy.bygglet.manager.ConfigLanguageMapMgr"%>
  29. <%@page import="java.util.Iterator"%>
  30. <%@page import="java.lang.management.ManagementFactory"%>
  31. <%@page import="java.lang.management.ThreadMXBean"%>
  32. <%@page import="com.bygglet.generate.SendCustomersurveyMgr"%>
  33. <%@page import="speedy.byggletbusiness.manager.CustomersurveyMgr"%>
  34. <%@page import="speedy.byggletbusiness.struct.Customersurvey"%>
  35. <%@page import="speedy.bygglet.struct.Unit"%>
  36. <%@page import="speedy.byggletbusiness.struct.Article"%>
  37. <%@page
  38.     import="com.bygglet.integration.google.GoogleGeocodingUtil.LatLng"%>
  39. <%@page import="com.bygglet.integration.google.GoogleGeocodingUtil"%>
  40. <%@page import="speedy.byggleteducation.manager.TestMgr"%>
  41. <%@page import="speedy.byggletbusiness.manager.InvoicerownonfixedMgr"%>
  42. <%@page import="speedy.byggletbusiness.manager.InvoicerowMgr"%>
  43. <%@page import="java.util.GregorianCalendar"%>
  44. <%@page import="java.util.Calendar"%>
  45. <%@page import="java.util.TimeZone"%>
  46. <%@page import="java.text.SimpleDateFormat"%>
  47. <%@page import="java.util.Date"%>
  48. <%@page import="com.bygglet.integration._21grams.BatchAccepted"%>
  49. <%@page import="com.bygglet.integration.xml.XMLParser"%>
  50. <%@page import="com.itextpdf.text.PageSize"%>
  51. <%@page import="com.itextpdf.text.pdf.PdfPage"%>
  52. <%@page import="com.itextpdf.text.Rectangle"%>
  53. <%@page import="com.itextpdf.text.pdf.PdfReader"%>
  54. <%@page import="com.bygglet.util.StringUtil"%>
  55. <%@page import="speedy.byggletbusiness.struct.Agreementrow"%>
  56. <%@page import="speedy.byggletbusiness.manager.AgreementMgr"%>
  57. <%@page import="speedy.byggletbusiness.struct.Agreement"%>
  58. <%@page import="speedy.byggletbusiness.struct.Bronnoysundregistrene"%>
  59. <%@page import="com.bygglet.integration.BronnoysundregistreneUpdaterMgr"%>
  60. <%@page import="speedy.byggletbusiness.manager.BronnoysundregistreneMgr"%>
  61. <%@page
  62.     import="com.bygglet.business.servlet.update.AcceptProjectaddition"%>
  63. <%@page import="speedy.byggletbusiness.manager.ProjectMaillogMapMgr"%>
  64. <%@page import="speedy.byggletbusiness.struct.ProjectMaillogMap"%>
  65. <%@page import="speedy.bygglet.manager.CountryMgr"%>
  66. <%@page import="speedy.byggletbusiness.struct.Account"%>
  67. <%@page import="speedy.byggletbusiness.struct.Tenderoption"%>
  68. <%@page import="speedy.byggletbusiness.struct.Tenderrow"%>
  69. <%@page import="speedy.byggletbusiness.struct.Articlesupplier"%>
  70. <%@page import="speedy.byggletbusiness.struct.Article"%>
  71. <%@page import="com.bygglet.business.servlet.get.GetHogiaLonXml.PayType"%>
  72. <%@page import="com.bygglet.business.servlet.get.GetHogiaLonXml"%>
  73. <%@page import="java.util.Map.Entry"%>
  74. <%@page import="speedy.byggletbusiness.manager.ProjectarticlerowMgr"%>
  75. <%@page import="speedy.byggletbusiness.manager.TimeregarticlerowMgr"%>
  76. <%@page import="speedy.byggletbusiness.struct.Timeregarticlerow"%>
  77. <%@page import="speedy.byggletbusiness.manager.EmployeestatusMgr"%>
  78. <%@page import="speedy.byggletbusiness.struct.Employeestatus"%>
  79. <%@page import="speedy.bygglet.manager.CompanysettingMgr"%>
  80. <%@page import="speedy.byggletasset.struct.Divestmentrow"%>
  81. <%@page import="speedy.byggletasset.manager.DivestmentMgr"%>
  82. <%@page import="speedy.byggletasset.struct.Divestment"%>
  83. <%@page import="speedy.byggletasset.manager.AcquisitionMgr"%>
  84. <%@page import="speedy.byggletasset.struct.Acquisition"%>
  85. <%@page import="com.bygglet.integration.FortnoxVoucherUpdaterMgr"%>
  86. <%@page import="speedy.bygglet.util.Convert"%>
  87. <%@page import="speedy.byggletbusiness.map.CustomerMap"%>
  88. <%@page import="speedy.byggletbusiness.map.ProjectMap"%>
  89. <%@page import="speedy.byggletbusiness.struct.Invoicerow"%>
  90. <%@page import="speedy.byggletbusiness.struct.Invoicerownonfixed"%>
  91. <%@page import="speedy.byggletbusiness.struct.Projectarticlerow"%>
  92. <%@page import="speedy.byggletbusiness.struct.Projectappendix"%>
  93. <%@page import="speedy.byggletbusiness.struct.Workorderappendix"%>
  94. <%@page import="speedy.byggletbusiness.struct.Workorderext"%>
  95. <%@page import="speedy.byggletbusiness.struct.Workorder"%>
  96. <%@page import="speedy.byggletbusiness.manager.WorkorderMgr"%>
  97. <%@page import="com.bygglet.integration.ItellaVendorinvoiceUpdaterMgr"%>
  98. <%@page import="java.io.InputStreamReader"%>
  99. <%@page import="java.io.BufferedReader"%>
  100. <%@page import="java.io.File"%>
  101. <%@page import="speedy.byggletbusiness.manager.ArticleMgr"%>
  102. <%@page import="speedy.byggletbusiness.manager.AssignmentMgr"%>
  103. <%@page import="speedy.bygglet.util.Interval"%>
  104. <%@page import="com.bygglet.util.MailMgr"%>
  105. <%@page import="com.bygglet.generate.EnvelopingMgr"%>
  106. <%@page import="java.util.List"%>
  107. <%@page import="javax.swing.text.AbstractDocument.Content"%>
  108. <%@page import="java.util.Map"%>
  109. <%@page import="java.util.HashMap"%>
  110. <%@page import="java.util.zip.ZipEntry"%>
  111. <%@page import="java.io.FileInputStream"%>
  112. <%@page import="java.util.zip.ZipInputStream"%>
  113. <%@page
  114.     import="speedy.byggletbusiness.manager.EmployeesalaryextratypeMgr"%>
  115. <%@page import="speedy.byggletbusiness.struct.Employeesalaryextratype"%>
  116. <%@page import="speedy.byggletbusiness.manager.InvoicerowarticleMgr"%>
  117. <%@page import="speedy.byggletbusiness.struct.Invoicerowarticle"%>
  118. <%@page import="speedy.byggletbusiness.manager.InvoiceenvelopingMgr"%>
  119. <%@page import="speedy.byggletbusiness.manager.InvoiceeinvoicelogMgr"%>
  120. <%@page import="speedy.byggletbusiness.struct.Invoiceenveloping"%>
  121. <%@page import="speedy.byggletbusiness.struct.Customertype"%>
  122. <%@page import="speedy.byggletbusiness.struct.Articleprice"%>
  123. <%@page import="speedy.bygglet.struct.Doublevalue"%>
  124. <%@page import="com.bygglet.integration.AditroUpdaterMgr"%>
  125. <%@page import="com.bygglet.business.util.CusinUtil"%>
  126. <%@page import="speedy.byggletbusiness.manager.TenderhowtotemplateMgr"%>
  127. <%@page import="speedy.byggletbusiness.struct.Tenderhowtotemplate"%>
  128. <%@page import="speedy.bygglet.manager.UserMgr"%>
  129. <%@page import="speedy.bygglet.struct.User"%>
  130. <%@page
  131.     import="com.bygglet.business.servlet.update.UpdateTimeRegistration"%>
  132. <%@page import="com.bygglet.servlet.UpdateDayPlanning"%>
  133. <%@page import="speedy.byggletbusiness.manager.WeekplanningMgr"%>
  134. <%@page import="speedy.byggletbusiness.struct.Weekplanning"%>
  135. <%@page import="speedy.byggletbusiness.map.CostcentreMap"%>
  136. <%@page import="speedy.byggletbusiness.struct.Tenderext"%>
  137. <%@page import="speedy.byggletbusiness.manager.TenderextMgr"%>
  138. <%@page import="speedy.byggletbusiness.struct.Projectext"%>
  139. <%@page import="speedy.byggletbusiness.manager.ProjectextMgr"%>
  140. <%@page import="speedy.byggletbusiness.struct.Costcentre"%>
  141. <%@page import="speedy.byggletbusiness.manager.CostcentreMgr"%>
  142. <%@page import="speedy.bygglet.map.base.OrderByType"%>
  143. <%@page import="speedy.byggletbusiness.manager.InvoiceMgr"%>
  144. <%@page import="java.util.ArrayList"%>
  145. <%@page import="com.bygglet.memrgBygglet.util.NumberFormatUtil"%>
  146. <%@page import="speedy.byggletbusiness.struct.Invoice"%>
  147. <%@page
  148.     import="speedy.byggletbusiness.manager.InvoicerowvendorinvoiceMgr"%>
  149. <%@page import="speedy.byggletbusiness.struct.Invoicerowvendorinvoice"%>
  150. <%@page import="speedy.byggletbusiness.manager.BankgiroMgr"%>
  151. <%@page import="speedy.byggletbusiness.struct.Vendorinvoicerow"%>
  152. <%@page import="speedy.byggletbusiness.manager.VendorMgr"%>
  153. <%@page import="speedy.byggletbusiness.struct.Vendor"%>
  154. <%@page import="speedy.byggletbusiness.manager.VendorinvoiceMgr"%>
  155. <%@page import="speedy.byggletbusiness.struct.Vendorinvoice"%>
  156. <%@page import="speedy.byggletasset.struct.Order"%>
  157. <%@page import="speedy.byggletasset.manager.OrderMgr"%>
  158. <%@page import="speedy.byggletasset.struct.Orderrow"%>
  159. <%@page import="speedy.byggletbusiness.struct.Bankgiro"%>
  160. <%@page import="com.bygglet.integration.BankgiroUpdaterMgr"%>
  161. <%@page import="speedy.byggletbusiness.struct.Assignment"%>
  162. <%@page import="speedy.byggletbusiness.manager.DayplanningMgr"%>
  163. <%@page import="speedy.byggletbusiness.struct.Dayplanning"%>
  164. <%@page import="speedy.byggletbusiness.manager.TimereglockMgr"%>
  165. <%@page import="speedy.byggletbusiness.struct.Timereglock"%>
  166. <%@page import="speedy.byggletbusiness.manager.AccountMgr"%>
  167. <%@page import="com.bygglet.memrgBygglet.integration.FortnoxMgr"%>
  168. <%@page import="com.bygglet.memrgBygglet.util.DateUtil"%>
  169. <%@page import="speedy.bygglet.manager.IncrementMgr"%>
  170. <%@page import="speedy.byggletbusiness.manager.CustomercontactMgr"%>
  171. <%@page import="speedy.byggletbusiness.struct.Customercontact"%>
  172. <%@page import="speedy.byggletbusiness.struct.Tender"%>
  173. <%@page import="speedy.byggletbusiness.manager.TenderMgr"%>
  174. <%@page import="speedy.bygglet.manager.Manager"%>
  175. <%@page import="speedy.byggletasset.manager.UberMgrByggletasset"%>
  176. <%@page import="speedy.byggletbusiness.struct.Employee"%>
  177. <%@page import="speedy.byggletbusiness.manager.EmployeeMgr"%>
  178. <%@page import="speedy.byggletbusiness.struct.Customer"%>
  179. <%@page import="speedy.byggletbusiness.manager.CustomerMgr"%>
  180. <%@page import="speedy.byggletbusiness.manager.ProjectMgr"%>
  181. <%@page import="speedy.byggletbusiness.manager.SupplierMgr"%>
  182. <%@page import="speedy.byggletbusiness.manager.EmployeeprofessionMgr"%>
  183. <%@page import="speedy.byggletbusiness.manager.EmployeesalaryextraMgr"%>
  184. <%@page import="speedy.byggletbusiness.manager.AssignmenttypeMgr"%>
  185. <%@page import="speedy.byggletbusiness.struct.Project"%>
  186. <%@page import="speedy.byggletbusiness.struct.Timeregabsence"%>
  187. <%@page import="speedy.byggletbusiness.struct.Employeesalaryextra"%>
  188. <%@page import="speedy.byggletbusiness.struct.Supplier"%>
  189. <%@page import="speedy.byggletbusiness.struct.Employeeprofession"%>
  190. <%@page import="speedy.byggletbusiness.struct.Assignmenttype"%>
  191. <%@page import="speedy.bygglet.util.LocalHostInfo"%>
  192. <%@page import="speedy.bygglet.struct.Company"%>
  193. <%@page import="speedy.bygglet.manager.CompanyMgr"%>
  194. <%@page import="java.util.Set"%>
  195. <%@page import="java.util.HashSet"%>
  196. <%@page contentType="text/html" pageEncoding="UTF-8"%>
  197.  
  198. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  199.  
  200. <html>
  201. <head>
  202. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  203. <title>Jonas Play Garden</title>
  204. <style type="text/css">
  205. body {
  206.     font-size: 14px;
  207.     text-align: left;
  208. }
  209.  
  210. h1 {
  211.     font-size: 20px;
  212.     color: blue;
  213.     padding: 0px;
  214.     margin: 0px;
  215.     border: none;
  216.     height: 20px;
  217. }
  218.  
  219. th {
  220.     text-align: left;
  221. }
  222.  
  223. td {
  224.     border-bottom: 1px solid #aaaaaa;
  225.     text-align: left;
  226. }
  227. </style>
  228. <link href="/style.css" rel="stylesheet" type="text/css" />
  229. </head>
  230. <body>
  231.     <div style="text-align: left;">
  232.         <%
  233.             final JspWriter w = out;
  234.        
  235.             if(true) {
  236.                 for(Company c : CompanyMgr.getInstance().findByActive(true).orderBy("name")) {
  237.                     if(c.getSetting("business.new_employee_timeregistration_gui_enabled") == null) {
  238.                         Companysetting cs = new Companysetting();
  239.                         cs.setConcern(c.getConcern());
  240.                         cs.setCompany(c.getId());
  241.                         cs.setKey("business.new_employee_timeregistration_gui_enabled");
  242.                         cs.setValue("1");
  243.                         cs.insert();
  244.                         w.append(cs.toString());
  245.                         w.append("<br>");
  246.                     }
  247.                     if(c.getSetting("business.new_employee_timeregistration_punchclock_enabled") == null) {
  248.                         Companysetting cs = new Companysetting();
  249.                         cs.setConcern(c.getConcern());
  250.                         cs.setCompany(c.getId());
  251.                         cs.setKey("business.new_employee_timeregistration_punchclock_enabled");
  252.                         cs.setValue("1");
  253.                         cs.insert();
  254.                         w.append(cs.toString());
  255.                         w.append("<br>");
  256.                     }
  257.                     if(c.getSetting("business.enable_attendance_register") == null) {
  258.                         Companysetting cs = new Companysetting();
  259.                         cs.setConcern(c.getConcern());
  260.                         cs.setCompany(c.getId());
  261.                         cs.setKey("business.enable_attendance_register");
  262.                         cs.setValue("1");
  263.                         cs.insert();
  264.                         w.append(cs.toString());
  265.                         w.append("<br>");
  266.                     }
  267.                 }
  268.             }
  269.        
  270.             if(false) {
  271.                
  272.                 Mail m = new Mail();
  273.                 m.setToAddress("jonas.wanggren@gmail.com");
  274.                 m.setFromAddress("jonas.wanggren@gmail.com");
  275.                 m.setSubject("Template test");
  276.                
  277. //              StringBuilder msg = new StringBuilder();
  278. //              msg.append("<html><head></head><body><div style=\"font-size:12px;font-family:Arial\">");
  279.                
  280.                
  281. //              String style="";
  282. //              style += "background-color: black;";
  283. //              style += "opacity:0.9;";
  284. //              style += "filter:alpha(opacity=90);";  
  285. //              style += "color:white;";
  286. //              style += "font-weight:bold;";
  287. //              style += "padding: 30px 30px 30px 50px;";
  288. //              style += "text-align:center;";
  289. //              style += "position:absolute;";
  290. //              style += "right:0;";
  291. //              style += "bottom:0;";
  292. //              style += "z-index:1003;";
  293. //              style += "font-size: 20px;  ";  
  294. //              style += "border-top-left-radius: 105px;";
  295. //              style += "-moz-border-radius-topright: 105px;";
  296.                
  297. //              msg.append("<div style='"+style+"'>This is a test</div>");
  298.                
  299. //              msg.append("</div></body></html>");
  300.                
  301.                 StringBuilder msg = new StringBuilder();
  302.                
  303.                 FileInputStream fis = new FileInputStream("d:/tmp/template.html");
  304.                 BufferedReader br = new BufferedReader(new InputStreamReader(fis));
  305.                 String line;
  306.                 while( (line=br.readLine()) != null ) {
  307.                     msg.append(line);
  308.                 }
  309.                
  310.                
  311.                 m.setMessageHtml(msg.toString());
  312.                  
  313.                 //m.send(null, "jowaplay.jsp");
  314.                
  315.                 w.append(msg);
  316.             }
  317.        
  318.        
  319.             if(false) {
  320.                 Company company = CompanyMgr.getInstance().findById(Company.BYGGLET);
  321.                 long dateToUse = DateUtil.zeroTime(System.currentTimeMillis());
  322.                 Set customerSet = new HashSet();
  323.  
  324.                
  325.                 for (Agreement a : AgreementMgr.getInstance().findByCompany(company).orderBy("startDate")) {
  326.                     boolean foundDate = false;
  327.                     boolean found = false;
  328.  
  329.                     for (Agreementrow ar : a.findAgreementrowByAgreement().values()) {
  330.                         if(ar.isValid(dateToUse)) {
  331.                             foundDate = true;
  332.                            
  333.                             if (ar.getUser() > 0 && ar.getPrice() > 0) {
  334.                                 customerSet.add(a.getCustomer());
  335.                                 found = true;
  336.                             }
  337.                         }
  338.                     }
  339.  
  340.                     if (foundDate && !found) {
  341.                         w.append(a.getCustomerObj().getName());
  342.                         w.append("<br>");
  343.                         w.append(DateUtil.formatDate(dateToUse));
  344.                         w.append("<br>");
  345.                        
  346.                         for (Agreementrow ar : a.findAgreementrowByAgreement().values()) {
  347.                             if (ar.getUser() > 0 && ar.getPrice() > 0) {
  348.                                 w.append(ar.getStartDateString() + " "+ar.getEndDateString());
  349.                                 w.append("<br>");
  350.                                 w.append(new Interval(ar.getStartDate(), ar.getEndDate()).toString());
  351.                                 w.append("<br>");
  352.                                 long date = DateUtil.zeroTime(dateToUse);
  353.                                 w.append(DateUtil.formatDate(date));
  354.                                 w.append("<br>");
  355.                                 w.append(""+(new Interval(ar.getStartDate(), ar.getEndDate()).isInInterval(date)));
  356.                                 w.append("<br>");
  357.  
  358.  
  359.                             }
  360.                         }
  361.                     }
  362.                 }
  363.                 w.append("TOTALT: "+customerSet.size()+" st");
  364.                 w.append("<br>");
  365.                
  366.             }
  367.            
  368.             if(false) {
  369.                 long startTime = DateUtil.getDate("2015-10-01").getTime();
  370.                 long endTime = DateUtil.getLastTimeInDate(DateUtil.getDate("2015-10-31").getTime());
  371.                 Interval interval = new Interval(startTime, endTime);
  372.                
  373.                 int numOfDaysInMonth = DateUtil.getNumOfDaysInMonth(DateUtil.getYearByDate(startTime), DateUtil.getMonthByDate(startTime));
  374.                
  375.                 List<Integer> numOfEvents = new ArrayList<Integer>(numOfDaysInMonth);
  376.                 for(int i=0; i<numOfDaysInMonth; i++) {
  377.                     numOfEvents.add(0);
  378.                 }
  379.                
  380.            
  381.                 int missingCounter = 0;
  382.                 for(Event e : EventMgr.getInstance().getValues()) {
  383.                     if(!interval.isInInterval(e.getTime())) {
  384.                         continue;
  385.                     }
  386.                     Organisation o = e.getOrganisationObj();
  387.                    
  388.                    
  389.                     if(o != null) {
  390.                         Cmuser at = e.getAssignedToObj();
  391.                    
  392.                         if(at != null) {
  393.                             w.append(at.getUName() + " " + e.getTimeString() + ": " + e.getEvDescription());
  394.                             w.append("<br>");
  395.                            
  396.                             int dayInMonth = DateUtil.getDayInMonthByDate(e.getTime())-1;
  397.                             numOfEvents.set(dayInMonth, numOfEvents.get(dayInMonth)+1);
  398.                         }
  399.                     }
  400.                 }
  401.                
  402.                 for(int i=0; i<numOfEvents.size(); i++) {
  403.                     w.append(i+": "+numOfEvents.get(i));
  404.                     w.append("<br>");
  405.                 }
  406.             }
  407.  
  408.             if (false) {
  409.  
  410.                 UserMap uMap = new UserMap();
  411.  
  412.                 for (Agreement a : AgreementMgr.getInstance().getValues()) {
  413.                     if (a.isValid(System.currentTimeMillis())) {
  414.                         for (Agreementrow ar : a.findAgreementrowByAgreement().values()) {
  415.                             User u = ar.getUserObj();
  416.                             if (u != null) {
  417.                                 uMap.put(u);
  418.                             }
  419.                         }
  420.                     }
  421.                 }
  422.  
  423.                 w.append("<table>");
  424.                 for (User u : uMap.values()) {
  425.                     w.append("<tr>");
  426.                     w.append("<td>" + u.getName() + "</td>");
  427.                     w.append("<td>" + u.getEmail() + "</td>");
  428.                     w.append("</tr>");
  429.                 }
  430.                 w.append("</table>");
  431.             }
  432.  
  433.             if (false) {
  434.  
  435.                 for (Company c : CompanyMgr.getInstance().getPrimarykeyMap().orderBy("name")) {
  436.                     if (!c.isLegalCompany()) {
  437.                         continue;
  438.                     }
  439.  
  440.                     w.append("<b>" + c.getName() + "</b><br>");
  441.                     for (Assignmenttype at : AssignmenttypeMgr.getInstance().findByCompany(c).values()) {
  442.                         if (at.isInvoice()) {
  443.                             continue;
  444.                         }
  445.                         if (at.getSalaryPremiumPercentage() > 0) {
  446.                             continue;
  447.                         }
  448.  
  449.                         double defaultPremiumPercentage = CompanysettingMgr.getInstance().getDouble(c.getId(), "business.employee.cost_rate", 1.6d);
  450.  
  451.                         defaultPremiumPercentage -= 1;
  452.                         defaultPremiumPercentage *= 100;
  453.                         defaultPremiumPercentage = Math.round(defaultPremiumPercentage);
  454.  
  455.                         w.append(defaultPremiumPercentage + " --- " + at.getName() + "<br>");
  456.  
  457.                         at = new Assignmenttype(at);
  458.                         at.setSalaryPremiumPercentage(defaultPremiumPercentage);
  459.                         at.update();
  460.                     }
  461.  
  462.                     w.append("<br>");
  463.  
  464.                     //
  465.                 }
  466.                 w.append("<br>");
  467.                 w.append("<br>");
  468.                 w.append("<br>");
  469.                 w.append("<br>");
  470.                 w.append("<br>");
  471.  
  472.                 for (Company c : CompanyMgr.getInstance().getPrimarykeyMap().orderBy("name")) {
  473.                     w.append("<b>" + c.getName() + "</b><br>");
  474.  
  475.                     for (Assignmenttype at : AssignmenttypeMgr.getInstance().findByCompany(c).values()) {
  476.  
  477.                         if (at.findAssignmenttypepriceByAssignmenttype().size() == 0) {
  478.                             Doublegroup dg = at.getPriceObj();
  479.                             if (dg != null) {
  480.                                 for (Doublevalue dv : dg.findDoublevalueByDoublegroup().values()) {
  481.                                     Assignmenttypeprice atp = new Assignmenttypeprice();
  482.                                     atp.setAssignmenttype(at.getId());
  483.                                     atp.setStartDate(dv.getStartTime());
  484.                                     atp.setValue(dv.getValue());
  485.                                     atp.insert();
  486.  
  487.                                     w.append(at.getName() + " - " + dv.getValue() + "<br>");
  488.  
  489.                                 }
  490.                             }
  491.                         }
  492.                     }
  493.                     w.append("<br>");
  494.                 }
  495.             }
  496.  
  497.             if (false) {
  498.  
  499.                 //WeekRentMgr.getInstance().run();
  500.                 MailMgr.getInstance().run();
  501.  
  502.                 //long date = DateUtil.getDate("2015-09-13").getTime();
  503.  
  504.                 //w.append( ""+DateUtil.getWeekdayByDate(date) );
  505.             }
  506.  
  507.             //          if(false) {
  508.  
  509.             //              for(Invoice i : InvoiceMgr.getInstance().getValues()) {
  510.             //                  w.append(i.getNumber());
  511.             //                  w.append("<br>");
  512.             //              }
  513.             //              if(OffHeapMgr.getInstance().getMapDb().getAll().entrySet().size() == 0) {
  514.             //                  w.append("Starting ArticleMgr<br><br>");
  515.             //                  new Thread() {
  516.             //                      public void run() {
  517.             //                          ArticleMgr.getInstance().findById(1L);
  518.             //                      }
  519.             //                  }.start();
  520.             //              }
  521.  
  522.             //              for(Entry<String, Object> entry : OffHeapMgr.getInstance().getMapDb().getAll().entrySet()) {
  523.             //                  w.append(""+entry.getKey() + " - " + ((Map)entry.getValue()).size());
  524.             //                  out.append("<br>");
  525.             //              }
  526.  
  527.             //              System.gc();
  528.  
  529.             //              for(int i=0; i<10; i++) {
  530.             //                  new Thread() {
  531.             //                      public void run() {
  532.             //                          ArticleMgr.getInstance().findById(1);
  533.             //                      }
  534.             //                  }.start();
  535.             //              }
  536.             //              ArticleMgr.getInstance().findById(1);
  537.             //          }
  538.  
  539.             if (false) {
  540.                 for (Thread t : Thread.getAllStackTraces().keySet()) {
  541.                     if (t.getName().contains("http-bio-")) {
  542.                         continue;
  543.                     }
  544.                     /*if(t.getId() != 17) {
  545.                         continue;
  546.                     }*/
  547.  
  548.                     ThreadMXBean bean = ManagementFactory.getThreadMXBean();
  549.                     if (!bean.isThreadCpuTimeSupported()) {
  550.                         out.append("not supported");
  551.                     }
  552.  
  553.                     long ti = bean.getThreadCpuTime(t.getId());
  554.                     double sec = ti / 1000d / 1000d / 1000d;
  555.  
  556.                     if (sec > 10) {
  557.  
  558.                         out.append(NumberFormatUtil.formatWithTwoDecimals(sec) + " --------" + t.getId() + ":" + t.getName() + "---------" + t.getState().toString());
  559.                         //out.append("<br>");
  560.  
  561.                         //out.append("<br>");
  562.                         //out.append("<br>");
  563.  
  564.                         for (StackTraceElement ste : t.getStackTrace()) {
  565.                             out.append(ste.getClassName() + ": " + ste.getLineNumber() + ", " + ste.getMethodName());
  566.                             out.append("<br>");
  567.                         }
  568.                         out.append("<br>");
  569.                     }
  570.                     //t.stop();
  571.  
  572.                     //break;
  573.                 }
  574.             }
  575.  
  576.             if (true) {
  577.  
  578.                 for (Invoicerownonfixed irnf : InvoicerownonfixedMgr.getInstance().getValues()) {
  579.                     if (irnf.getInvoicerowObj() == null) {
  580.                         w.append("missing invoicerow for irnf=" + irnf.getId() + ", project=" + irnf.getProject() + "<br>");
  581.                     }
  582.                 }
  583.  
  584.                 /*for(Invoicerow ir : InvoicerowMgr.getInstance().getValues()) {
  585.                     if(ir.getInvoiceObj() == null) {
  586.                         w.append("missing ir="+ir.getId()+"<br>");
  587.                     }
  588.                 }*/
  589.  
  590.                 /*long companyId = 10478;
  591.                
  592.                 String sql = "SELECT ir.id FROM byggletbusiness.invoice i, byggletbusiness.invoicerow ir where i.id=ir.invoice and i.company=?";
  593.                 List values = new ArrayList();
  594.                 values.add(companyId);
  595.                
  596.                 final InvoicerowMap irMap = new InvoicerowMap();
  597.                 for(Invoice i : InvoiceMgr.getInstance().findByCompany(companyId).values()) {
  598.                     irMap.putAll(i.findInvoicerowByInvoice());
  599.                 }  
  600.                
  601.                 w.append("irMap.size=" + irMap.size()+"<br>");
  602.                
  603.                 DatabaseRoot.getInstance().executeQuery(sql, values, new ResultSetConsumer() {
  604.                     public void read(java.sql.ResultSet rs) throws Exception {
  605.                         while(rs.next()) {
  606.                             long dbIrId = rs.getLong(1);
  607.                            
  608.                             irMap.remove(dbIrId);
  609.                         }
  610.                     }
  611.                 });
  612.                
  613.                 w.append("irMap.size=" + irMap.size());*/
  614.  
  615.             }
  616.  
  617.             if (false) {
  618.                 String sql = "select name,note from byggletbusiness.article where company=? limit 10";
  619.                 List values = new ArrayList();
  620.                 values.add(15001);
  621.                 DatabaseRoot.getInstance().executeUpdate(sql, values);
  622.  
  623.                 DatabaseRoot.getInstance().executeQuery(sql, values, new ResultSetConsumer() {
  624.                     public void read(java.sql.ResultSet rs) throws Exception {
  625.                         while (rs.next()) {
  626.  
  627.                         }
  628.                     }
  629.                 });
  630.  
  631.             }
  632.  
  633.             if (false) {
  634.                 Concern c = ConcernMgr.getInstance().findById(10336L);
  635.                 w.append(c.getConcernfilesPath());
  636.             }
  637.  
  638.             if (true) {
  639.                 Method method = null;
  640.                 for (Method m : InvoicerownonfixedMgr.getInstance().getClass().getSuperclass().getDeclaredMethods()) {
  641.                     if (m.getName().equals("removeFromIndices")) {
  642.                         w.append(m.getDeclaringClass().getName() + ": " + m.getName() + " - " + m.getParameterTypes());
  643.                         w.append("<br>");
  644.                         method = m;
  645.                     }
  646.                 }
  647.  
  648.                 Invoicerownonfixed irnf = InvoicerownonfixedMgr.getInstance().findById(1589537L);
  649.                 if (irnf != null) {
  650.                     w.append(irnf.getId() + ": " + irnf.getInvoicerowObj());
  651.                     w.append("<br>");
  652.                     //InvoicerownonfixedMgr.getInstance().getPrimarykeyMap();
  653.  
  654.                     method.setAccessible(true);
  655.                     method.invoke(InvoicerownonfixedMgr.getInstance(), irnf);
  656.  
  657.                     //Method method = InvoicerownonfixedMgr.getInstance().getClass().getSuperclass().getDeclaredMethod("removeFromIndices()");
  658.                     //w.append(""+method);
  659.                     //method.setAccessible(true);
  660.                     //Object r = method.invoke(object);
  661.                 }
  662.             }
  663.  
  664.             if (false) {
  665.                 w.append("NEXT NUMBER: " + DocumentMgr.getInstance().getNextNumber(10000L));
  666.                 w.append("<br>");
  667.  
  668.                 for (Document d : DocumentMgr.getInstance().findByConcern(10000L).orderBy("id")) {
  669.                     if (d.getDocument() == 0 && d.getNumber().startsWith("F")) {
  670.                         w.append(d.getId() + ": " + d.getNumber() + " - " + d.getName());
  671.                         w.append("<br>");
  672.  
  673.                         Document newD = new Document(d);
  674.                         newD.setNumber(DocumentMgr.getInstance().getNextNumber(10000L));
  675.                         newD.update();
  676.                     }
  677.                 }
  678.             }
  679.  
  680.             if (false) {
  681.  
  682.                 List<String> adjective = new ArrayList<String>();
  683.                 adjective.add("Heavy");
  684.                 //adjective.add("Fat");
  685.                 adjective.add("Above");
  686.                 adjective.add("Pro");
  687.                 //adjective.add("");
  688.  
  689.                 List<String> animals = new ArrayList<String>();
  690.                 //animals.add("Honey Badger");
  691.                 //animals.add("Doggy");
  692.                 //animals.add("Aligator");
  693.                 animals.add("Codify");
  694.                 animals.add("Coder");
  695.  
  696.                 List<String> endings = new ArrayList<String>();
  697.                 endings.add("Evolve");
  698.                 endings.add("Software");
  699.                 endings.add("Development");
  700.                 endings.add("Dev");
  701.                 endings.add("Solution");
  702.                 //endings.add("R&D");
  703.                 endings.add("IT");
  704.                 endings.add("Evolutions");
  705.                 //endings.add("Advance");
  706.                 //endings.add("Progress");
  707.                 endings.add("Code");
  708.  
  709.                 Random r = new Random();
  710.  
  711.                 for (int i = 0; i < 500; i++) {
  712.  
  713.                     String name = "";
  714.  
  715.                     if (r.nextBoolean()) {
  716.                         name += adjective.get(r.nextInt(adjective.size())) + " ";
  717.                     }
  718.  
  719.                     if (r.nextBoolean()) {
  720.                         name += animals.get(r.nextInt(animals.size())) + " ";
  721.                     }
  722.  
  723.                     name += endings.get(r.nextInt(endings.size())) + " ";
  724.                     name += "AB";
  725.  
  726.                     w.append("<div style='float:left;width:200px'>" + name + "</div>");
  727.                     //w.append("<br>");
  728.                     //w.append("<br>");
  729.                 }
  730.             }
  731.  
  732.             if (false) {
  733.                 Project p = ProjectMgr.getInstance().findById(78133L);
  734.                 w.append(p.getNumberAndName());
  735.                 w.append("<br>");
  736.  
  737.                 double nonFixed = 0;
  738.  
  739.                 Set<Long> countedIrSet = new HashSet<Long>();
  740.                 for (Invoicerownonfixed irnf : p.findInvoicerownonfixedByProject().values()) {
  741.                     Invoicerow ir = irnf.getInvoicerowObj();
  742.                     Invoice i = ir.getInvoiceObj();
  743.                     if (!i.isCancelled() && !countedIrSet.contains(ir.getId())) {
  744.                         countedIrSet.add(ir.getId());
  745.  
  746.                         if (i.isCredit()) {
  747.                             nonFixed -= ir.getPrice();
  748.                         } else {
  749.                             nonFixed += ir.getPrice();
  750.                         }
  751.                         w.append("ir=" + ir.getId() + " " + ir.getName() + " - " + ir.getPrice());
  752.                         w.append("<br>");
  753.                     }
  754.                 }
  755.                 w.append("nonFixed=" + nonFixed);
  756.                 w.append("<br>");
  757.  
  758.                 /*
  759.                 for(Projectarticlerow par : findProjectarticlerowByProject().values()) {
  760.                     result += par.getInvoiced();
  761.                 }*/
  762.  
  763.                 w.append("<br>");
  764.                 w.append("<br>");
  765.                 w.append("<br>");
  766.                 w.append("<br>");
  767.  
  768.                 double virResult = 0;
  769.                 for (Vendorinvoicerow vir : p.findVendorinvoicerowByProject().values()) {
  770.                     if (!vir.getVendorinvoiceObj().isCancelled()) {
  771.                         w.append("vir=" + vir.getId() + " " + vir.getName() + " - " + vir.getPrice());
  772.                         w.append("<br>");
  773.  
  774.                         for (Invoicerowvendorinvoice irv : vir.findInvoicerowvendorinvoiceByVendorinvoicerow().values()) {
  775.                             Invoice i = irv.getInvoicerowObj().getInvoiceObj();
  776.                             if (!i.isCancelled()) {
  777.                                 Invoicerow ir = irv.getInvoicerowObj();
  778.                                 w.append("ir=" + ir.getId() + " " + ir.getName() + " - " + ir.getPrice() + "  ----------------- " + ir.getInvoiceObj().getNumber());
  779.                                 w.append("<br>");
  780.                             }
  781.                         }
  782.                         virResult += vir.getInvoiced();
  783.                     }
  784.                 }
  785.                 w.append("virResult=" + virResult);
  786.                 w.append("<br>");
  787.  
  788.             }
  789.  
  790.             if (false) {
  791.                 Acquisition a = AcquisitionMgr.getInstance().findById(1L);
  792.  
  793.                 w.append("<table>");
  794.                 for (DepreciationPeriod dp : a.getDepreciationPeriods()) {
  795.                     w.append("<tr>");
  796.  
  797.                     w.append("<td>&nbsp;&nbsp;&nbsp;");
  798.                     w.append(DateUtil.formatDate(dp.getDate()));
  799.                     w.append("</td>");
  800.  
  801.                     w.append("<td>&nbsp;&nbsp;&nbsp;");
  802.                     w.append("" + NumberFormatUtil.formatWithTwoDecimals(a.getDepreciationOld(dp.getDate())));
  803.                     w.append("</td>");
  804.  
  805.                     w.append("<td>&nbsp;&nbsp;&nbsp;");
  806.                     w.append("" + NumberFormatUtil.formatWithTwoDecimals(a.getDepreciation(dp.getDate())));
  807.                     w.append("</td>");
  808.  
  809.                     w.append("<td>&nbsp;&nbsp;&nbsp;");
  810.                     w.append("" + NumberFormatUtil.formatWithTwoDecimals(a.getPrice(dp.getDate())));
  811.                     w.append("</td>");
  812.  
  813.                     w.append("</tr>");
  814.                 }
  815.                 w.append("</table>");
  816.  
  817.             }
  818.  
  819.             if (false) {
  820.                 for (ConfigLanguageMap clm : ConfigLanguageMapMgr.getInstance().findByLanguage(1047L).orderBy("value")) {
  821.  
  822.                     String v = clm.getValue().trim();
  823.                     //v = v.replace("\n", "######");
  824.                     w.append(v);
  825.                     w.append("<br>");
  826.  
  827.                     clm = new ConfigLanguageMap(clm);
  828.                     clm.setValue(v);
  829.                     clm.update();
  830.                 }
  831.             }
  832.  
  833.             if (false) {
  834.  
  835.                 Map map = Thread.getAllStackTraces();
  836.  
  837.                 Iterator itr = map.keySet().iterator();
  838.                 while (itr.hasNext()) {
  839.                     Thread t = (Thread) itr.next();
  840.  
  841.                     ThreadMXBean bean = ManagementFactory.getThreadMXBean();
  842.                     if (!bean.isThreadCpuTimeSupported()) {
  843.                         w.append("not supported");
  844.                     }
  845.  
  846.                     long ti = bean.getThreadCpuTime(t.getId());
  847.                     double sec = ti / 1000d / 1000d / 1000d;
  848.                     if (sec > 10) {
  849.                         w.append(NumberFormatUtil.formatWithTwoDecimals(sec) + " -----------------" + t.getName());
  850.                         w.append("<br>");
  851.                     }
  852.                 }
  853.             }
  854.  
  855.             if (false) {
  856.                 SendCustomersurveyMgr.getInstance().run();
  857.             }
  858.  
  859.             if (false) {
  860.                 ItellaVendorinvoiceUpdaterMgr.getInstance().run();
  861.             }
  862.  
  863.             if (false) {
  864.                 String address = "Jordk" + StringUtil.LETTER_ae + "llev" + StringUtil.LETTER_ae + "gen";
  865.                 address = "Nävervägen 8";
  866.  
  867.                 LatLng latLng = GoogleGeocodingUtil.findLatLngByAddress(address);
  868.                 if (latLng != null) {
  869.                     w.append(latLng.toString());
  870.                 } else {
  871.                     w.append("NULLåäö. address=" + address);
  872.                 }
  873.             }
  874.  
  875.             if (false) {
  876.  
  877.                 for (Tender p : TenderMgr.getInstance().findByCompany(10083L).values()) {
  878.                     if (p.getCustomer() > 0 && p.getVendorinvoicePremiumPercentage() == 0) {
  879.                         double newPremium = p.getCustomerObj().getVendorinvoicePremiumPercentage();
  880.  
  881.                         p = new Tender(p);
  882.                         p.setVendorinvoicePremiumPercentage(newPremium);
  883.                         p.update();
  884.                         w.append(p.getNumber() + " - " + p.getVendorinvoicePremiumPercentage());
  885.  
  886.                         //if(newPremium == 0.0) {
  887.                         w.append(" - " + newPremium);
  888.                         //}
  889.  
  890.                         w.append("<br>");
  891.  
  892.                     }
  893.                 }
  894.  
  895.                 for (Project p : ProjectMgr.getInstance().findByCompany(10083L).values()) {
  896.                     if (p.getCustomer() > 0 && p.getVendorinvoicePremiumPercentage() == 0) {
  897.                         double newPremium = p.getCustomerObj().getVendorinvoicePremiumPercentage();
  898.  
  899.                         p = new Project(p);
  900.                         p.setVendorinvoicePremiumPercentage(newPremium);
  901.                         p.update();
  902.                         w.append(p.getNumber() + " - " + p.getVendorinvoicePremiumPercentage());
  903.  
  904.                         //if(newPremium == 0.0) {
  905.                         w.append(" - " + newPremium);
  906.                         //}
  907.  
  908.                         w.append("<br>");
  909.  
  910.                     }
  911.                 }
  912.             }
  913.  
  914.             if (false) {
  915.  
  916.                 //_21gramsFtpMgr.getInstance().sync();
  917.  
  918.                 //w.append(""+InvoiceMgr.getInstance().findByCompanyAndNumber(10070, "326600775"));
  919.  
  920.                 //
  921.                 //ProductionReport pr = (ProductionReport) XMLParser.transformFromFile(ProductionReport.class, new File("D:/dev/productionReport2_83_3629315.xml"));
  922.                 //              ProductionReport pr = (ProductionReport) XMLParser.transformFromFile(ProductionReport.class, new File("D:/dev/21gram/2014-11-05/productionReport2_83_3569449.xml"));
  923.                 //              String fooo = XMLParser.parseToString(pr, "UTF-8", XMLParser.camelCaseFormat);
  924.                 //              w.append(Convert.escapeHTML(fooo).replaceAll("\n", "<br>"));
  925.                 //              w.append("<br>");
  926.                 //              w.append("<br>");
  927.                 //              w.append("<br>");
  928.                 //              w.append("<br>");
  929.                 //              Partner p = pr.getPartner();
  930.                 //              for(com.bygglet.integration._21grams.Customer c : p.getCustomerList()) {
  931.                 //                  for(Envelope e : c.getEnvelopeList()) {
  932.                 //                      Document d = e.getDocument();
  933.                 //                      w.append("<br>");
  934.                 //                      w.append(""+d.getinvoiceObj());
  935.                 //                  }
  936.                 //              }
  937.  
  938.                 //              BatchAccepted ba = new BatchAccepted();
  939.                 //              ba.setAcceptedDocuments(4);
  940.                 //              ba.setBatchId("909");
  941.                 //              ba.setCreated(new Date());
  942.  
  943.                 //              w.append("ACC<br>");
  944.                 //              String fooo = XMLParser.parseToString(ba, "UTF-8", XMLParser.camelCaseFormat);
  945.                 //              w.append(Convert.escapeHTML(fooo));
  946.  
  947.                 //              w.append("<br>");
  948.                 //              w.append("<br>");
  949.  
  950.                 //              ba = (BatchAccepted) XMLParser.transformFromFile(BatchAccepted.class, new File("D:/dev/batchAccepted_2038909.xml"));
  951.                 //              fooo = XMLParser.parseToString(ba, "UTF-8", XMLParser.camelCaseFormat);
  952.                 //              w.append(Convert.escapeHTML(fooo));
  953.  
  954.                 //              w.append("<br>");
  955.                 //              w.append("<br>");
  956.                 //              w.append(DateUtil.formatTime(ba.getCreatedLocalTime()));
  957.                 //              for (RejectedDocuments rd : ba.getRejectedDocumentList()) {
  958.                 //                  for (Document d : rd.getRejectedDocumentList()) {
  959.                 //                      w.append("<br>");
  960.                 //                      w.append(d.getErrorMessage());
  961.                 //                  }
  962.                 //              }
  963.  
  964.                 //              SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
  965.                 //              sdf.parse(ba.getCreated());
  966.                 //              w.append(ba.getCreated());
  967.                 //w.append(sdf.toString());
  968.  
  969.                 //              Calendar calendar = GregorianCalendar.getInstance();
  970.                 //              String s = ba.getCreated().replace("Z", "+00:00");
  971.  
  972.                 //                  s = s.substring(0, 22) + s.substring(23);  // to get rid of the ":"
  973.  
  974.                 //                  w.append("<br>");
  975.                 //                  w.append("<br>");
  976.  
  977.                 //              Date date = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ").parse(s);
  978.                 //              calendar.setTime(date);
  979.                 //              w.append(""+DateUtil.formatTime(calendar.getTimeInMillis()) );
  980.  
  981.             }
  982.  
  983.             if (false) {
  984.                 int IN2PT = 72;
  985.                 float IN2CM = 2.54f;
  986.                 float IN2MM = 25.4f;
  987.  
  988.                 PdfReader reader = new PdfReader("C:/Users/jowa/Downloads/Images_D14BD910258.PDF");
  989.                 // initializations
  990.                 Rectangle pageSize = reader.getPageSize(1);
  991.                 w.append("<br>");
  992.                 w.append("<br>");
  993.                 w.append(pageSize.toString());
  994.                 w.append("<br>");
  995.                 w.append("<br>");
  996.                 w.append(PageSize.A4.toString());
  997.                 w.append("<br>");
  998.                 w.append("<br>");
  999.  
  1000.                 //  210 mm × 297 mm
  1001.                 w.append("mm: " + (pageSize.getWidth() * IN2MM / IN2PT));
  1002.                 w.append("<br>");
  1003.                 w.append("mm: " + (PageSize.A4.getWidth() * IN2MM / IN2PT));
  1004.             }
  1005.  
  1006.             if (false) {
  1007.                 CusinUtil.sendFactoringInvoices();
  1008.             }
  1009.  
  1010.             if (false) {
  1011.                 User u = UserMgr.getInstance().findByAlias("jonas");
  1012.                 for (Company c : u.getCompaniesOrderByListName()) {
  1013.                     w.append(c.getName() + "<br>");
  1014.                 }
  1015.             }
  1016.  
  1017.             if (false) {
  1018.                 w.append("Å: " + StringUtil.LETTER_AA + "<br>");
  1019.                 w.append("å: " + StringUtil.LETTER_aa + "<br>");
  1020.                 w.append("Ä: " + StringUtil.LETTER_AE + "<br>");
  1021.                 w.append("ä: " + StringUtil.LETTER_ae + "<br>");
  1022.                 w.append("Ö: " + StringUtil.LETTER_OE + "<br>");
  1023.                 w.append("ö: " + StringUtil.LETTER_oe + "<br>");
  1024.                 w.append("<br>");
  1025.                 w.append("<br>");
  1026.                 w.append("<br>");
  1027.                 w.append("\u2022<br>");
  1028.  
  1029.             }
  1030.  
  1031.             if (false) {
  1032.                 int year = 2014;
  1033.                 int month = 9;
  1034.                 long firstTimeInMonth = DateUtil.getFirstTimeInMonth(year, month);
  1035.                 long lastTimeInMonth = DateUtil.getLastTimeInMonth(year, month);
  1036.  
  1037.                 int numOfLicences = 0;
  1038.                 double licenceValue = 0;
  1039.  
  1040.                 Company company = CompanyMgr.getInstance().findById(LocalHostInfo.getInstance().isWindows() ? 15001 : 10056L);
  1041.  
  1042.                 w.append("<table>");
  1043.                 for (Agreement a : AgreementMgr.getInstance().findByCompany(company).orderBy("customer")) {
  1044.                     boolean found = false;
  1045.  
  1046.                     for (Agreementrow ar : a.findAgreementrowByAgreement().values()) {
  1047.                         if (ar.getUser() > 0 && ar.getPrice() > 0 && ar.isValid(lastTimeInMonth) && !ar.isCredited(lastTimeInMonth)) {
  1048.                             w.append("<tr>");
  1049.                             numOfLicences++;
  1050.                             found = true;
  1051.  
  1052.                             w.append("<td>" + numOfLicences + "</td>");
  1053.                             w.append("<td>" + ar.getUserObj().getName() + "</td>");
  1054.                             w.append("<td>" + ar.getUserObj().getEmail() + "</td>");
  1055.                             w.append("<td>" + DateUtil.formatDate(a.getStartDate()) + "</td>");
  1056.                             w.append("<td>" + DateUtil.formatDate(a.getEndDate()) + "</td>");
  1057.                             w.append("<td>" + NumberFormatUtil.formatWithZeroDecimals(ar.getPrice()) + "</td>");
  1058.  
  1059.                             //w.append("<br>");
  1060.  
  1061.                             w.append("</tr>");
  1062.                         }
  1063.                     }
  1064.  
  1065.                     if (found) {
  1066.                         licenceValue += a.getPrice();
  1067.                     }
  1068.  
  1069.                 }
  1070.                 w.append("</table>");
  1071.             }
  1072.  
  1073.             if (false) {
  1074.                 for (Agreement a : AgreementMgr.getInstance().getPrimarykeyMap().values()) {
  1075.                     for (Agreementrow ar : a.findAgreementrowByAgreement().orderByListOrder()) {
  1076.                         if (Math.round(ar.getQuantity()) != 12 && ar.getArticle() > 0 && !ar.getArticleObj().getNumber().equals("9000")) {
  1077.                             w.append(DateUtil.formatDate(a.getStartDate()) + " " + a.getNumber() + ": " + a.getCustomerObj().getName() + " - " + ar.getName() + " - " + ar.getQuantity());
  1078.                             w.append("<br>");
  1079.                         }
  1080.                     }
  1081.                 }
  1082.             }
  1083.  
  1084.             if (false) {
  1085.                 AccountMgr.getInstance().syncAccountsWithFortnox(CompanyMgr.getInstance().findById(0L), "2014-10-03");
  1086.             }
  1087.  
  1088.             if (false) {
  1089.                 Bronnoysundregistrene b = BronnoysundregistreneUpdaterMgr.getInstance().findByRegistrationNumber("979927630");
  1090.                 if (b != null) {
  1091.                     w.append(b.toString());
  1092.                 } else {
  1093.                     w.append("NO RESULT");
  1094.                 }
  1095.             }
  1096.  
  1097.             if (false) {
  1098.                 ProjectMaillogMap pmm = ProjectMaillogMapMgr.getInstance().findById(10005L);
  1099.                 AcceptProjectaddition.sendMail(pmm);
  1100.             }
  1101.         %>
  1102.     </div>
  1103. </body>
  1104. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement