Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package org.jleaf.erp.fin.bo.invoicear;
- import java.util.List;
- import javax.persistence.Query;
- import org.jleaf.core.AbstractBusinessFunction;
- import org.jleaf.core.BusinessFunction;
- import org.jleaf.core.Dto;
- import org.jleaf.core.annotation.ErrorList;
- import org.jleaf.core.annotation.Info;
- import org.jleaf.core.annotation.InfoIn;
- import org.jleaf.core.annotation.InfoOut;
- import org.jleaf.core.dao.CriteriaHelper;
- import org.jleaf.core.dao.QueryBuilder;
- import org.jleaf.erp.fin.FinanceConstantsForSasa;
- import org.jleaf.erp.fin.dao.HandoverInvoiceArDao;
- import org.jleaf.erp.fin.entity.HandoverInvoiceAr;
- import org.jleaf.erp.fin.entity.HandoverInvoiceArItem;
- import org.jleaf.util.DtoUtil;
- import org.jleaf.util.ValidationUtil;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- /**
- * Get Draft Handover Invoice Ar Back List
- * @author Deo, Jan 24, 2020
- */
- @Service
- @InfoIn(value = {
- @Info(name="tenantId", description="tenant id", type=Long.class, required=true),
- @Info(name="ouId", description="ou Id", type=Long.class, required=true),
- @Info(name="employeeId", description="employee id", type=Long.class, required=true),
- @Info(name="docNo", description="nomor dokumen", type=String.class, required=true),
- @Info(name="dateFrom", description="date from", type=String.class, required=true),
- @Info(name="dateTo", description="date to", type=String.class, required=true),
- @Info(name="userloginId", description="user login id", type=Long.class, required=true)
- })
- @InfoOut(value = {
- @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)
- })
- @ErrorList(errorKeys = {
- })
- public class GetDraftHandoverInvoiceArBackListAdvance extends AbstractBusinessFunction implements BusinessFunction{
- @Override
- public String getDescription() {
- return "Get Draft Handover Invoice Ar Back List";
- }
- @Autowired
- private HandoverInvoiceArDao handoverInvoiceArDao;
- @SuppressWarnings("unchecked")
- @Override
- public Dto execute(Dto inputDto) throws Exception {
- ValidationUtil.valNumber(inputDto, "tenantId");
- ValidationUtil.valNumber(inputDto, "userLoginId");
- ValidationUtil.valNumeric(inputDto, "ouId");
- ValidationUtil.valDtoContainsKey(inputDto, "employeeId");
- ValidationUtil.valDtoContainsKey(inputDto, "docNo");
- ValidationUtil.valBlankOrNull(inputDto, "dateFrom");
- ValidationUtil.valBlankOrNull(inputDto, "dateTo");
- Long tenantId = inputDto.getLong("tenantId");
- Long userLoginId = inputDto.getLong("userLoginId");
- Long ouId = inputDto.getLong("ouId");
- Long employeeId = inputDto.getLong("employeeId");
- String docNo = inputDto.getString("docNo");
- String dateFrom = inputDto.getString("dateFrom");
- String dateTo = inputDto.getString("dateTo");
- List<Object[]> result = null;
- QueryBuilder queryBuilder = new QueryBuilder();
- queryBuilder.add("A.handover_invoice_ar_id, A.tenant_id, A.ou_id, A.employee_id, ")
- .add(" f_get_partner_code(employee_id) as employee_code, f_get_partner_name(employee_id) as employee_name, ")
- .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, ")
- .add(" A.status_doc, A.workflow_status, A.version, f_get_user_fullname(create_user_id) AS fullname_user_create ")
- .add(" FROM ").add(HandoverInvoiceAr.TABLE_NAME).add(" A ")
- .add(" WHERE A.tenant_id = :tenantId ")
- .add(" AND A.ou_id = :ouId ")
- .add(" AND A.status_doc = :statusDraft ")
- .add(" AND A.employee_id = :employeeId ")
- .add(" AND A.create_user_id = :userLoginId ")
- .add(" AND A.doc_date BETWEEN :dateFrom AND :dateTo ")
- .addIfNotEmpty(docNo, " AND "+CriteriaHelper.likeExpressionIgnoreCase(docNo, "A.doc_no"))
- .add(" ORDER BY A.doc_date, A.doc_no");
- Query queryHandoverInvoiceArDraft = handoverInvoiceArDao.createNativeQuery(queryBuilder.toString());
- queryHandoverInvoiceArDraft.setParameter("tenantId", tenantId);
- queryHandoverInvoiceArDraft.setParameter("ouId", ouId);
- queryHandoverInvoiceArDraft.setParameter("employeeId", employeeId);
- queryHandoverInvoiceArDraft.setParameter("dateFrom", dateFrom);
- queryHandoverInvoiceArDraft.setParameter("dateTo", dateTo);
- queryHandoverInvoiceArDraft.setParameter("statusDraft", FinanceConstantsForSasa.DRAFT_TRANSACTION);
- queryHandoverInvoiceArDraft.setParameter("userLoginId", userLoginId);
- result = queryHandoverInvoiceArDraft.getResultList();
- return new Dto().putList("draftHandoverInvoiceARBackList", DtoUtil.createDtoListFromArray(result, "id", "tenantId", "ouId", "employeeId", "employeeCode", "employeeName", "docTypeId", "docType", "docNo", "docDate", "estimateReturnDate", "remark", "statusDoc", "workflowStatus", "version", "fullnameUserCreate"));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement