Advertisement
congky

GetSalesOrderListForInquirySoRabat

Jul 19th, 2018
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 19.37 KB | None | 0 0
  1. package org.jleaf.erp.sls.bo.salesorder;
  2.  
  3. import java.util.List;
  4.  
  5. import javax.persistence.Query;
  6.  
  7. import org.jleaf.core.AbstractBusinessFunction;
  8. import org.jleaf.core.BusinessFunction;
  9. import org.jleaf.core.Dto;
  10. import org.jleaf.core.GeneralConstants;
  11. import org.jleaf.core.annotation.Info;
  12. import org.jleaf.core.annotation.InfoIn;
  13. import org.jleaf.core.annotation.InfoOut;
  14. import org.jleaf.core.dao.CriteriaHelper;
  15. import org.jleaf.core.dao.QueryBuilder;
  16. import org.jleaf.erp.inv.entity.DeliveryOrderReceipt;
  17. import org.jleaf.erp.inv.entity.Inventory;
  18. import org.jleaf.erp.inv.entity.InventorySo;
  19. import org.jleaf.erp.master.MasterConstants;
  20. import org.jleaf.erp.master.entity.Expedition;
  21. import org.jleaf.erp.master.entity.Partner;
  22. import org.jleaf.erp.master.entity.PartnerAddress;
  23. import org.jleaf.erp.sls.SalesConstants;
  24. import org.jleaf.erp.sls.SalesConstantsForDlg;
  25. import org.jleaf.erp.sls.dao.SalesOrderDao;
  26. import org.jleaf.erp.sls.entity.DeliveryOrder;
  27. import org.jleaf.erp.sls.entity.DeliveryOrderItem;
  28. import org.jleaf.erp.sls.entity.Dkb;
  29. import org.jleaf.erp.sls.entity.DkbItem;
  30. import org.jleaf.erp.sls.entity.Resi;
  31. import org.jleaf.erp.sls.entity.ResiItem;
  32. import org.jleaf.erp.sls.entity.SalesInvoice;
  33. import org.jleaf.erp.sls.entity.SalesOrder;
  34. import org.jleaf.erp.sls.entity.SalesOrderItem;
  35. import org.jleaf.erp.sls.entity.SoAdditionalForDlg;
  36. import org.jleaf.util.DtoUtil;
  37. import org.jleaf.util.ValidationUtil;
  38. import org.slf4j.Logger;
  39. import org.slf4j.LoggerFactory;
  40. import org.springframework.beans.factory.annotation.Autowired;
  41. import org.springframework.stereotype.Service;
  42.  
  43. //@formatter:off
  44. @Service
  45. @InfoIn(value = {
  46.         @Info(name = "tenantId", description = "tenant id", type = Long.class),
  47.         @Info(name = "ouId", description = "OU id", type = Long.class),
  48.         @Info(name = "docDateFrom", description = "periode dari", type = String.class),
  49.         @Info(name = "docDateTo", description = "periode sampai", type = String.class),
  50.         @Info(name = "salesmanCodeName", description = "salesman code name", type = String.class),
  51.         @Info(name = "customerCodeName", description = "customer code name", type = String.class),
  52.         @Info(name = "warehouseId", description = "whs id", type = Long.class),
  53.         @Info(name = "productCodeName", description = "product code name", type = String.class),
  54.         @Info(name = "soNo", description = "nomor so", type = String.class),
  55.         @Info(name = "rgtoNo", description = "nomor rgto", type = String.class),
  56.         @Info(name = "doNo", description = "nomor do", type = String.class),
  57.         @Info(name = "dkbNo", description = "nomor dkb", type = String.class),
  58.         @Info(name = "siNo", description = "nomor sales invoice", type = String.class),
  59.         @Info(name = "dorNo", description = "nomor do receipt", type = String.class),
  60.         @Info(name = "doDocDateFrom", description = "periode do dari", type = String.class),
  61.         @Info(name = "doDocDateTo", description = "periode do sampai", type = String.class),
  62.         @Info(name = "statSo", description = "status so", type = String.class),
  63.         @Info(name = "statCetakSo", description = "status cetak so", type = String.class),
  64.         @Info(name = "statRgto", description = "status rgto", type = String.class),
  65.         @Info(name = "statDo", description = "status do", type = String.class),
  66.         @Info(name = "statDkb", description = "status dkb", type = String.class),
  67.         @Info(name = "statInvoice", description = "status invoice", type = String.class),
  68.         @Info(name = "statDoReceipt", description = "status do receipt", type = String.class),
  69.         @Info(name = "limit", description = "limit", type = Long.class, required=false),
  70.         @Info(name = "offset", description = "offset", type = Long.class, required=false)
  71. })
  72. @InfoOut(value = {
  73.         @Info(name = "list", description = "", type = List.class)
  74. })
  75. //@formatter:on
  76. public class GetSalesOrderListForInquirySoRabat extends AbstractBusinessFunction implements BusinessFunction {
  77.     private final static Logger log = LoggerFactory.getLogger(GetSalesOrderListForInquirySoRabat.class);
  78.    
  79.     @Autowired
  80.     SalesOrderDao salesOrderDao;
  81.  
  82.     @Override
  83.     public String getDescription() {
  84.         return "get sales order list for inquiry so rabat";
  85.     }
  86.  
  87.     @SuppressWarnings("unchecked")
  88.     @Override
  89.     public Dto execute(Dto inputDto) throws Exception {
  90.         log.info("--=inputDto=--"+inputDto);
  91.         ValidationUtil.valDtoContainsKey(inputDto, "tenantId");
  92.         ValidationUtil.valDtoContainsKey(inputDto, "ouId");
  93.         ValidationUtil.valDtoContainsKey(inputDto, "docDateFrom");
  94.         ValidationUtil.valDtoContainsKey(inputDto, "docDateTo");
  95.         ValidationUtil.valDtoContainsKey(inputDto, "salesmanCodeName");
  96.         ValidationUtil.valDtoContainsKey(inputDto, "customerCodeName");
  97.         ValidationUtil.valDtoContainsKey(inputDto, "warehouseId");
  98.         ValidationUtil.valDtoContainsKey(inputDto, "productCodeName");
  99.         ValidationUtil.valDtoContainsKey(inputDto, "soNo");
  100.         ValidationUtil.valDtoContainsKey(inputDto, "rgtoNo");
  101.         ValidationUtil.valDtoContainsKey(inputDto, "doNo");
  102.         ValidationUtil.valDtoContainsKey(inputDto, "dkbNo");
  103.         ValidationUtil.valDtoContainsKey(inputDto, "resiNo");
  104.         ValidationUtil.valDtoContainsKey(inputDto, "siNo");
  105.         ValidationUtil.valDtoContainsKey(inputDto, "dorNo");
  106.         ValidationUtil.valDtoContainsKey(inputDto, "doDocDateFrom");
  107.         ValidationUtil.valDtoContainsKey(inputDto, "doDocDateTo");
  108.         ValidationUtil.valDtoContainsKey(inputDto, "statSo");
  109.         ValidationUtil.valDtoContainsKey(inputDto, "statCetakSo");
  110.         ValidationUtil.valDtoContainsKey(inputDto, "statRgto");
  111.         ValidationUtil.valDtoContainsKey(inputDto, "statDo");
  112.         ValidationUtil.valDtoContainsKey(inputDto, "statDkb");
  113.         ValidationUtil.valDtoContainsKey(inputDto, "statInvoice");
  114.         ValidationUtil.valDtoContainsKey(inputDto, "statDoReceipt");
  115.        
  116.         Long limit = GeneralConstants.NULL_REF_VALUE_LONG;
  117.         Long offset = GeneralConstants.NULL_REF_VALUE_LONG;
  118.        
  119.         if(inputDto.getLong("limit")!=null && !GeneralConstants.NULL_REF_VALUE_LONG.equals(inputDto.getLong("limit"))) {
  120.             limit = inputDto.getLong("limit");
  121.         }
  122.        
  123.         if(inputDto.getLong("offset")!=null && !GeneralConstants.NULL_REF_VALUE_LONG.equals(inputDto.getLong("offset"))) {
  124.             offset = inputDto.getLong("offset");
  125.         }
  126.        
  127.         //filter SO
  128.         StringBuilder querySo = new StringBuilder();
  129.         if(!inputDto.getString("soNo").equals(GeneralConstants.EMPTY_VALUE) && inputDto.getString("soNo") != null){
  130.             querySo.append(" AND ")
  131.                     .append(CriteriaHelper.likeExpressionIgnoreCase(inputDto.getString("soNo"), "A.doc_no"));
  132.         }
  133.        
  134.         if(inputDto.getString("statSo").equals(MasterConstants.DRAFT)){
  135.             querySo.append(" AND A.status_doc = '"+MasterConstants.DRAFT+"'");
  136.         }else if(inputDto.getString("statSo").equals(MasterConstants.IN_PROGRESS)){
  137.             querySo.append(" AND A.status_doc = '"+MasterConstants.IN_PROGRESS+"'");
  138.         }else if(inputDto.getString("statSo").equals(MasterConstants.RELEASED)){
  139.             querySo.append(" AND A.status_doc = '"+MasterConstants.RELEASED+"'");
  140.         }else if(inputDto.getString("statSo").equals(MasterConstants.FINAL)){
  141.             querySo.append(" AND A.status_doc = '"+MasterConstants.FINAL+"'");
  142.         }else if(inputDto.getString("statSo").equals(MasterConstants.VOID)){
  143.             querySo.append(" AND A.status_doc = '"+MasterConstants.VOID+"'");
  144.         }
  145.        
  146.         //filter statCetakSo
  147.         StringBuilder queryCetakSo = new StringBuilder();
  148.         if(inputDto.getString("statCetakSo").equals(GeneralConstants.YES)){
  149.             queryCetakSo.append(" AND R.so_id IS NOT NULL ");
  150.         }else if(inputDto.getString("statCetakSo").equals(GeneralConstants.NO)){
  151.             queryCetakSo.append(" AND R.so_id IS NULL ");
  152.         }
  153.                
  154.         //filter RGTO
  155.         StringBuilder queryRgto = new StringBuilder();
  156.         if(!inputDto.getString("rgtoNo").equals(GeneralConstants.EMPTY_VALUE) && inputDto.getString("rgtoNo") != null){
  157.             queryRgto.append(" AND ")
  158.                     .append(CriteriaHelper.likeExpressionIgnoreCase(inputDto.getString("rgtoNo"), "M.doc_no"));
  159.         }
  160.         if(inputDto.getString("statRgto").equals(GeneralConstants.YES)){
  161.             queryRgto.append(" AND M.inventory_id IS NOT NULL ");
  162.         }else if(inputDto.getString("statRgto").equals(GeneralConstants.NO)){
  163.             queryRgto.append(" AND M.inventory_id IS NULL ");
  164.         }
  165.        
  166.         //filter DO
  167.         StringBuilder queryDo = new StringBuilder();
  168.         if(!inputDto.getString("doNo").equals(GeneralConstants.EMPTY_VALUE) && inputDto.getString("doNo") != null){
  169.             queryDo.append(" AND ")
  170.                     .append(CriteriaHelper.likeExpressionIgnoreCase(inputDto.getString("doNo"), "E.doc_no"));
  171.         }
  172.         if(inputDto.getString("statDo").equals(GeneralConstants.YES)){
  173.             queryDo.append(" AND E.do_id IS NOT NULL ");
  174.         }else if(inputDto.getString("statDo").equals(GeneralConstants.NO)){
  175.             queryDo.append(" AND E.do_id IS NULL ");
  176.         }
  177.        
  178.         //filter DKB
  179.         StringBuilder queryDkb = new StringBuilder();
  180.         if(!inputDto.getString("dkbNo").equals(GeneralConstants.EMPTY_VALUE) && inputDto.getString("dkbNo") != null){
  181.             queryDkb.append(" AND ")
  182.                     .append(CriteriaHelper.likeExpressionIgnoreCase(inputDto.getString("dkbNo"), "I.doc_no"));
  183.         }
  184.         if(inputDto.getString("statDkb").equals(GeneralConstants.YES)){
  185.             queryDkb.append(" AND I.dkb_id IS NOT NULL ");
  186.         }else if(inputDto.getString("statDkb").equals(GeneralConstants.NO)){
  187.             queryDkb.append(" AND I.dkb_id IS NULL ");
  188.         }
  189.        
  190.         //filter SI
  191.         StringBuilder querySi = new StringBuilder();
  192.         if(!inputDto.getString("siNo").equals(GeneralConstants.EMPTY_VALUE) && inputDto.getString("siNo") != null){
  193.             querySi.append(" AND ")
  194.                     .append(CriteriaHelper.likeExpressionIgnoreCase(inputDto.getString("siNo"), "K.doc_no"));
  195.         }
  196.         if(inputDto.getString("statInvoice").equals(GeneralConstants.YES)){
  197.             querySi.append(" AND K.invoice_id IS NOT NULL ");
  198.         }else if(inputDto.getString("statInvoice").equals(GeneralConstants.NO)){
  199.             querySi.append(" AND K.invoice_id IS NULL ");
  200.         }
  201.        
  202.         //filter DOR
  203.         StringBuilder queryDor = new StringBuilder();
  204.         if(!inputDto.getString("dorNo").equals(GeneralConstants.EMPTY_VALUE) && inputDto.getString("dorNo") != null){
  205.             queryDor.append(" AND ")
  206.                     .append(CriteriaHelper.likeExpressionIgnoreCase(inputDto.getString("dorNo"), "L.doc_no"));
  207.         }
  208.         if(inputDto.getString("statDoReceipt").equals(GeneralConstants.YES)){
  209.             queryDor.append(" AND L.do_receipt_id IS NOT NULL ");
  210.         }else if(inputDto.getString("statDoReceipt").equals(GeneralConstants.NO)){
  211.             queryDor.append(" AND L.do_receipt_id IS NULL ");
  212.         };     
  213.        
  214.         List<Object[]> result = null;
  215.        
  216.         QueryBuilder builder = new QueryBuilder();
  217.         builder.add(" WITH audit_report AS( ")
  218.                 .add("      SELECT doc_id AS so_id, doc_no AS so_no ")
  219.                 .add("      FROM t_audit_report ")
  220.                 .add("      WHERE report_code = :reportSo ")
  221.                 .add("      GROUP BY so_id, so_no ")
  222.                 .add(" ) ")
  223.                 .add(" SELECT A.so_id, A.doc_no AS so_no, A.doc_date, ")
  224.                 .add(" CASE WHEN D.current_state = :approved ")
  225.                 .add(" THEN to_char(to_timestamp(D.update_datetime, 'YYYYMMDDHH24MISS'), 'YYYYMMDD') ")
  226.                 .add(" ELSE :emptyValue ")
  227.                 .add(" END AS release_so_date, ")
  228.                 .add(" A.ext_doc_no, B.partner_id AS customer_id, B.partner_code ||' - '||B.partner_name  AS customer, ")
  229.                 .add(" C.partner_id AS salesman_id, C.partner_code ||' - '|| C.partner_name AS salesman_name, A.remark, A.status_doc, ")
  230.                 .add(" f_get_role_name(D.current_role_id) AS next_role, ")
  231.                 .add(" COALESCE(E.do_id, -99) AS do_id, COALESCE(E.doc_no, '') AS do_no, COALESCE(E.doc_date, '') AS do_date, ")
  232.                 .add(" COALESCE(I.dkb_id, -99) AS dkb_id, COALESCE(I.doc_no, '') AS dkb_no, COALESCE(I.doc_date,'') AS dkb_date, ")
  233.                 .add(" COALESCE(K.invoice_id, -99) AS invoice_id, COALESCE(K.doc_no, '') AS invoice_no, COALESCE(K.doc_date, '') AS invoice_date,  ")
  234.                 .add(" COALESCE(L.do_receipt_id, -99) AS dor_id, COALESCE(L.doc_no, '') AS dor_no, COALESCE(L.doc_date,'') AS dor_date, ")
  235.                 .add(" COALESCE(M.inventory_id, -99) AS rgto_id, COALESCE(M.doc_no, '') AS rgto_no, COALESCE(M.doc_date,'') AS rgto_date, ")
  236.                 .add(" COALESCE(Q.receipt_no, '') AS receipt_no, COALESCE(Q.receipt_date, '') AS receipt_date, COALESCE(Q.cost_amount, 0) AS nilai_resi, ")
  237.                 .add(" ROUND (SUM(O.nett_item_amount + O.tax_amount) - (SUM(O.nett_item_amount + O.tax_amount) * A.regular_discount_percentage / 100.0 )) AS total_amount, ")
  238.                 .add(" CASE WHEN R.so_id IS NOT NULL THEN 'Y' ELSE 'N' END AS status_cetak_so, COALESCE(SS.city, :emptyValue) AS city, ")
  239.                 .add(" COALESCE(IX.expedition_name, :emptyValue) AS expedition_name, ")
  240.                 .add(" COALESCE(SUM(T.item_amount+U.tax_amount-T.regular_disc_amount-T.promo_disc_amount), 0) AS do_amount ")
  241.                 .add(" FROM ").add(SalesOrder.TABLE_NAME).add(" A ")
  242.                 .add(" INNER JOIN ").add(SoAdditionalForDlg.TABLE_NAME).add(" N ON A.so_id = N.so_id ")
  243.                 .add(" INNER JOIN ").add(Partner.TABLE_NAME).add(" B ON A.partner_id = B.partner_id ")
  244.                 .add(" INNER JOIN ").add(Partner.TABLE_NAME).add(" C ON A.salesman_id = C.partner_id ")
  245.                 .add(" INNER JOIN ").add(SalesOrderItem.TABLE_NAME).add(" O ON A.so_id = O.so_id ")
  246.                 .add(" INNER JOIN awe_currdoc_status D ON A.tenant_id = D.tenant_id AND D.scheme = :scheme AND A.so_id = D.doc_id ")
  247.                 .add(" LEFT JOIN ").add(DeliveryOrder.TABLE_NAME).add(" E ON A.so_id = E.ref_id AND E.ref_doc_type_id = :soDocType AND E.status_doc = :released ")
  248.                 .add(" LEFT JOIN ").add(DeliveryOrderItem.TABLE_NAME).add(" EX ON E.do_id = EX.do_id AND O.so_item_id = EX.ref_id ")
  249.                 .add(" LEFT JOIN ").add(DkbItem.TABLE_NAME).add(" H ON E.do_id = H.ref_id AND H.ref_doc_type_id = :doDocType ")
  250.                 .add(" LEFT JOIN ").add(Dkb.TABLE_NAME).add(" I ON H.dkb_id = I.dkb_id AND I.status_doc = :released")
  251.                 .add(" LEFT JOIN ").add(Expedition.TABLE_NAME).add(" IX ON I.expedition_id = IX.expedition_id ")
  252.                 .add(" LEFT JOIN ").add(ResiItem.TABLE_NAME).add(" P ON E.do_id = P.ref_id AND P.ref_doc_type_id = :doDocType ")
  253.                 .add(" LEFT JOIN ").add(Resi.TABLE_NAME).add(" Q ON P.resi_id = Q.resi_id ")
  254.                 .add(" LEFT JOIN ").add(SalesInvoice.TABLE_NAME).add(" K ON A.so_id = K.ref_id AND K.ref_doc_type_id = :soDocType AND K.status_doc = :released ")
  255.                 .add(" LEFT JOIN ").add(DeliveryOrderReceipt.TABLE_NAME).add(" L ON E.do_id = L.ref_id AND L.ref_doc_type_id = :doDocType AND L.status_doc = :released")
  256.                 .add(" LEFT JOIN ").add(InventorySo.TABLE_NAME).add(" S ON A.so_id = S.so_id ")
  257.                 .add(" LEFT JOIN ").add(Inventory.TABLE_NAME).add(" M ON S.inventory_id = M.inventory_id AND M.ref_doc_type_id = :soDocType AND M.doc_type_id = :rgtoDocType  AND M.status_doc = :released ")
  258.                 .add(" LEFT JOIN audit_report R ON A.so_id = R.so_id AND A.doc_no = R.so_no ")
  259.                 .add(" LEFT JOIN ").add(PartnerAddress.TABLE_NAME).add(" SS ON A.partner_id = SS.partner_id AND SS.flg_official = :yes ")
  260.                 .add(" LEFT JOIN ").add(SalesConstantsForDlg.TABLE_SO_BALANCE_INVOICE)
  261.                 .add("                      T ON E.tenant_id = T.tenant_id AND E.ou_id = T.ou_id AND A.partner_id = T.partner_id ")
  262.                 .add("                      AND E.doc_type_id = T.ref_doc_type_id AND E.do_id = T.ref_id AND T.ref_item_id = EX.do_item_id ")
  263.                 .add("                      AND T.do_receipt_item_id = :emptyId ")
  264.                 .add(" LEFT JOIN ").add(SalesConstantsForDlg.TABLE_SO_BALANCE_INVOICE_TAX)
  265.                 .add("                      U ON E.tenant_id = U.tenant_id AND E.ou_id = U.ou_id AND A.partner_id = U.partner_id ")
  266.                 .add("                      AND E.doc_type_id = U.ref_doc_type_id AND E.do_id = U.ref_id AND U.ref_item_id = EX.do_item_id ")
  267.                 .add("                      AND U.do_receipt_item_id = :emptyId ")
  268.                 .add(" WHERE A.tenant_id = :tenantId")
  269.                 .addIfNotEquals(inputDto.getLong("ouId"), GeneralConstants.NULL_REF_VALUE_LONG, " AND A.ou_id = "+inputDto.getLong("ouId"))
  270.                 .add("      AND A.doc_date BETWEEN :dateFrom AND :dateTo")
  271.                 .add("      AND ((E.doc_date BETWEEN :doDateFrom AND :doDateTo) OR E.doc_date IS NULL ) ")
  272.                 .addIfNotEmpty(inputDto.getString("salesmanCodeName"), " AND (" + CriteriaHelper.likeExpressionIgnoreCase(inputDto.getString("salesmanCodeName"), "f_get_partner_code(A.salesman_id)") + " OR " + CriteriaHelper.likeExpressionIgnoreCase(inputDto.getString("salesmanCodeName"), "f_get_partner_name(A.salesman_id)") + ")")
  273.                 .addIfNotEmpty(inputDto.getString("customerCodeName"), " AND (" + CriteriaHelper.likeExpressionIgnoreCase(inputDto.getString("customerCodeName"), "f_get_partner_code(A.partner_id)") + " OR " + CriteriaHelper.likeExpressionIgnoreCase(inputDto.getString("customerCodeName"), "f_get_partner_name(A.partner_id)") + ")")
  274.                 .addIfNotEquals(inputDto.getLong("warehouseId"), GeneralConstants.NULL_REF_VALUE_LONG, " AND N.warehouse_id = "+inputDto.getLong("warehouseId"))
  275.                 .addIfNotEmpty(inputDto.getString("productCodeName"), " AND (" + CriteriaHelper.likeExpressionIgnoreCase(inputDto.getString("productCodeName"), "f_get_product_code(O.product_id)") + " OR " + CriteriaHelper.likeExpressionIgnoreCase(inputDto.getString("productCodeName"), "f_get_product_name(O.product_id)") + ")")
  276.                 .addIfNotEmpty(inputDto.getString("resiNo"), " AND " + CriteriaHelper.likeExpressionIgnoreCase(inputDto.getString("rgtoNo"), "P.receipt_no"))
  277.                 .add(querySo.toString())
  278.                 .add(queryCetakSo.toString())
  279.                 .add(queryRgto.toString())
  280.                 .add(queryDo.toString())
  281.                 .add(queryDkb.toString())
  282.                 .add(querySi.toString())
  283.                 .add(queryDor.toString())
  284.                 .add(" AND f_authorize_user_role_policy_ou(:tenantId, :userId, :roleId, A.ou_id) = 1 ")
  285.                 .add(" AND f_authorize_user_role_policy_warehouse(:tenantId, :userId, :roleId, N.warehouse_id) = 1 ")
  286.                 .add(" GROUP BY A.so_id, B.partner_id, C.partner_id, E.do_id, I.dkb_id, K.invoice_id, L.do_receipt_id, M.inventory_id, Q.resi_id, N.flg_add_discount, D.current_role_id, R.so_id, D.current_state, D.update_datetime, SS.city, IX.expedition_name ")
  287.                 .add(" ORDER BY A.doc_no ");
  288.         if(!GeneralConstants.NULL_REF_VALUE_LONG.equals(limit) && !GeneralConstants.NULL_REF_VALUE_LONG.equals(offset)) {
  289.             builder.add(" LIMIT :limit OFFSET :offset ");
  290.         }
  291.  
  292.         Query q = salesOrderDao.createNativeQuery(builder.toString());
  293.         q.setParameter("tenantId", inputDto.getLong("tenantId"));
  294.         q.setParameter("soDocType", SalesConstants.DOCUMENT_SALES_ORDER);
  295.         q.setParameter("doDocType", SalesConstants.DOCUMENT_DELIVERY_ORDER);
  296.         q.setParameter("rgtoDocType", SalesConstantsForDlg.DOCUMENT_RGTO_NON_OUTLET);
  297.         q.setParameter("dateFrom", inputDto.getString("docDateFrom"));
  298.         q.setParameter("dateTo", inputDto.getString("docDateTo"));
  299.         q.setParameter("doDateFrom", inputDto.getString("doDocDateFrom"));
  300.         q.setParameter("doDateTo", inputDto.getString("doDocDateTo"));
  301.         q.setParameter("released", MasterConstants.RELEASED);
  302.         q.setParameter("approved", MasterConstants.WORKFLOW_STATUS_APPROVED);
  303.         q.setParameter("userId", inputDto.getLong("userId"));
  304.         q.setParameter("roleId", inputDto.getLong("roleId"));
  305.         q.setParameter("scheme", SalesConstantsForDlg.SCHEME_SALES_ORDER);
  306.         q.setParameter("reportSo", SalesConstantsForDlg.REPORT_SALES_ORDER);
  307.         q.setParameter("yes", GeneralConstants.YES);
  308.         q.setParameter("emptyValue", GeneralConstants.EMPTY_VALUE);
  309.         q.setParameter("emptyId", GeneralConstants.NULL_REF_VALUE_LONG);
  310.         if(!GeneralConstants.NULL_REF_VALUE_LONG.equals(limit) && !GeneralConstants.NULL_REF_VALUE_LONG.equals(offset)) {
  311.             q.setParameter("limit", limit);
  312.             q.setParameter("offset", offset);
  313.         }
  314.        
  315.         result = q.getResultList();
  316.         return new Dto().putList("list", DtoUtil.createDtoListFromArray(result,
  317.                 "soId", "soNo", "soDocDate", "soReleaseDate", "soRefDocNo", "customerId","customer", "salesmanId","salesman", "soRemark", "soStatus",
  318.                 "nextRole","doId", "doNo", "doDate", "dkbId", "dkbNo", "dkbDate", "invoiceId", "invoiceNo", "invoiceDate", "dorId",
  319.                 "dorNo", "dorDate", "rgtoId", "rgtoNo","rgtoDate", "receiptNo", "receiptDate", "nilaiResi","totalAmount","statusCetakSo", "city",
  320.                 "expeditionName", "nilaiDo"));
  321.     }
  322. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement