Advertisement
Guest User

BF GetDraftHandoverInvoiceArBackListAdvance

a guest
Jan 24th, 2020
156
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.01 KB | None | 0 0
  1. package org.jleaf.erp.fin.bo.invoicear;
  2.  
  3.  
  4. import java.util.List;
  5.  
  6. import javax.persistence.Query;
  7.  
  8. import org.jleaf.core.AbstractBusinessFunction;
  9. import org.jleaf.core.BusinessFunction;
  10. import org.jleaf.core.Dto;
  11. import org.jleaf.core.annotation.ErrorList;
  12. import org.jleaf.core.annotation.Info;
  13. import org.jleaf.core.annotation.InfoIn;
  14. import org.jleaf.core.annotation.InfoOut;
  15. import org.jleaf.core.dao.CriteriaHelper;
  16. import org.jleaf.core.dao.QueryBuilder;
  17. import org.jleaf.erp.fin.FinanceConstantsForSasa;
  18. import org.jleaf.erp.fin.dao.HandoverInvoiceArDao;
  19. import org.jleaf.erp.fin.entity.HandoverInvoiceAr;
  20. import org.jleaf.erp.fin.entity.HandoverInvoiceArItem;
  21. import org.jleaf.util.DtoUtil;
  22. import org.jleaf.util.ValidationUtil;
  23. import org.springframework.beans.factory.annotation.Autowired;
  24. import org.springframework.stereotype.Service;
  25.  
  26. /**
  27. * Get Draft Handover Invoice Ar Back List
  28. * @author Deo, Jan 24, 2020
  29. */
  30. @Service
  31. @InfoIn(value = {
  32. @Info(name="tenantId", description="tenant id", type=Long.class, required=true),
  33. @Info(name="ouId", description="ou Id", type=Long.class, required=true),
  34. @Info(name="employeeId", description="employee id", type=Long.class, required=true),
  35. @Info(name="docNo", description="nomor dokumen", type=String.class, required=true),
  36. @Info(name="dateFrom", description="date from", type=String.class, required=true),
  37. @Info(name="dateTo", description="date to", type=String.class, required=true),
  38. @Info(name="userloginId", description="user login id", type=Long.class, required=true)
  39.  
  40. })
  41. @InfoOut(value = {
  42. @Info(name = "draftHandoverInvoiceARBackList", description = "daftar dokumen handover invoice ar back yang masih draft (id, tenantId, ouId, employeeId, employeeCode, employeeName, docTypeId, docType, docNo, docDate, estimateReturnDate, remark, statusDoc, workflowStatus, version, fullnameUserCreate)", type = List.class)
  43. })
  44. @ErrorList(errorKeys = {
  45. })
  46. public class GetDraftHandoverInvoiceArBackListAdvance extends AbstractBusinessFunction implements BusinessFunction{
  47.  
  48. @Override
  49. public String getDescription() {
  50. return "Get Draft Handover Invoice Ar Back List";
  51. }
  52.  
  53. @Autowired
  54. private HandoverInvoiceArDao handoverInvoiceArDao;
  55.  
  56. @SuppressWarnings("unchecked")
  57. @Override
  58. public Dto execute(Dto inputDto) throws Exception {
  59.  
  60. ValidationUtil.valNumber(inputDto, "tenantId");
  61. ValidationUtil.valNumber(inputDto, "userLoginId");
  62.  
  63. ValidationUtil.valNumeric(inputDto, "ouId");
  64. ValidationUtil.valDtoContainsKey(inputDto, "employeeId");
  65. ValidationUtil.valDtoContainsKey(inputDto, "docNo");
  66. ValidationUtil.valBlankOrNull(inputDto, "dateFrom");
  67. ValidationUtil.valBlankOrNull(inputDto, "dateTo");
  68.  
  69. Long tenantId = inputDto.getLong("tenantId");
  70. Long userLoginId = inputDto.getLong("userLoginId");
  71. Long ouId = inputDto.getLong("ouId");
  72. Long employeeId = inputDto.getLong("employeeId");
  73. String docNo = inputDto.getString("docNo");
  74. String dateFrom = inputDto.getString("dateFrom");
  75. String dateTo = inputDto.getString("dateTo");
  76.  
  77. List<Object[]> result = null;
  78.  
  79. QueryBuilder queryBuilder = new QueryBuilder();
  80. queryBuilder.add("A.handover_invoice_ar_id, A.tenant_id, A.ou_id, A.employee_id, ")
  81. .add(" f_get_partner_code(employee_id) as employee_code, f_get_partner_name(employee_id) as employee_name, ")
  82. .add(" A.doc_type_id, f_get_doc_desc(doc_type_id) AS doc_type, A.doc_no, A.doc_date, A.estimate_return_date, A.remark, ")
  83. .add(" A.status_doc, A.workflow_status, A.version, f_get_user_fullname(create_user_id) AS fullname_user_create ")
  84. .add(" FROM ").add(HandoverInvoiceAr.TABLE_NAME).add(" A ")
  85. .add(" WHERE A.tenant_id = :tenantId ")
  86. .add(" AND A.ou_id = :ouId ")
  87. .add(" AND A.status_doc = :statusDraft ")
  88. .add(" AND A.employee_id = :employeeId ")
  89. .add(" AND A.create_user_id = :userLoginId ")
  90. .add(" AND A.doc_date BETWEEN :dateFrom AND :dateTo ")
  91. .addIfNotEmpty(docNo, " AND "+CriteriaHelper.likeExpressionIgnoreCase(docNo, "A.doc_no"))
  92. .add(" ORDER BY A.doc_date, A.doc_no");
  93.  
  94. Query queryHandoverInvoiceArDraft = handoverInvoiceArDao.createNativeQuery(queryBuilder.toString());
  95. queryHandoverInvoiceArDraft.setParameter("tenantId", tenantId);
  96. queryHandoverInvoiceArDraft.setParameter("ouId", ouId);
  97. queryHandoverInvoiceArDraft.setParameter("employeeId", employeeId);
  98. queryHandoverInvoiceArDraft.setParameter("dateFrom", dateFrom);
  99. queryHandoverInvoiceArDraft.setParameter("dateTo", dateTo);
  100. queryHandoverInvoiceArDraft.setParameter("statusDraft", FinanceConstantsForSasa.DRAFT_TRANSACTION);
  101. queryHandoverInvoiceArDraft.setParameter("userLoginId", userLoginId);
  102.  
  103. result = queryHandoverInvoiceArDraft.getResultList();
  104. return new Dto().putList("draftHandoverInvoiceARBackList", DtoUtil.createDtoListFromArray(result, "id", "tenantId", "ouId", "employeeId", "employeeCode", "employeeName", "docTypeId", "docType", "docNo", "docDate", "estimateReturnDate", "remark", "statusDoc", "workflowStatus", "version", "fullnameUserCreate"));
  105. }
  106.  
  107. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement