- 01
 - 02
 - 03
 - 04
 - 05
 - 06
 - 07
 - 08
 - 09
 - 10
 - 11
 - 12
 - 13
 - 14
 - 15
 - 16
 - 17
 - 18
 - 19
 - 20
 - 21
 - 22
 - 23
 - 24
 - 25
 - 26
 - 27
 - 28
 - 29
 - 30
 - 31
 - 32
 - 33
 - 34
 - 35
 - 36
 - 37
 - 38
 - 39
 - 40
 - 41
 - 42
 - 43
 - 44
 - 45
 
                        Query query = entityManager.createNativeQuery(
                        "select * from ("
                                + "select g4.id as goodId, g4.name as goodName, g4.code as goodCode, "
                                + "u4.name as uomName, sum(bgd.quantity_out) as quantityOut, "
                                + " g4.productcode as goodProductCode, sum(bgd.quantity_return) as quantityReturn "
                                + "from good g4 "
                                + "inner join consignment cs1 on cs1.good_id = g4.id "
                                + (customizationUtilSQL == null ? "" : customizationUtilSQL.buildCustomAttributesQueryInnerPart())
                                + " inner join "
                                + "(select gg.consignment_id, op.sourcestore_id as place_id, " +
                                		" sum(gg.quantity) as quantity_out, sum(coalesce(srset.return_quantity, 0)) as quantity_return "
                                + "from motion gg "
                                + "inner join operation op " +
                                		" on (gg.operation_id = op.id " +
                                		" and op.company = gg.company" +
                                        (projectId == null ? "" : " and (op.project_id  = :projectId) ") +
                                        (contractId == null ? "" : " and (op.contract_id  = :contractId) ") +
                                		") "
                                + "inner join place pld on op.sourcestore_id = pld.id "
                        		+ " left outer join "
                				+ " (select ds.demand_id as demand_id, srm.consignment_id as consignment_id, srm.sum as sum, " +
                						" sum(srm.quantity) as return_quantity from demand_salesreturn ds " +
                						" inner join operation sr on sr.id = ds.salesreturn_id " +
                						" inner join motion srm on srm.operation_id = sr.id " +
                						" where sr.dtype = 'SalesReturn' " +
                                        " and sr.deleted is null " +
                                        (!includeAboardOperations ? " and sr.applicable = true " : "") +
                                        " and (sr.moment between :upToDate and :toDate) " +
                                        " and " + SecurityUtil.companyFilterSQL("sr") +
                						" group by ds.demand_id, srm.consignment_id, srm.sum) srset " +
                						" on (srset.demand_id = op.id and srset.sum = gg.sum " +
                						" and srset.consignment_id = gg.consignment_id) "
                                + (agentId == null ? "" :
                                    " left outer join requisite tr on op.targetagentrequisite_id = tr.id "
                                    + " left outer join requisite sr on op.sourceagentrequisite_id = sr.id "
                                    + " left outer join agent agt on tr.agent_id = agt.id "
                            		+ " left outer join agent ags on sr.agent_id = ags.id ")
                                + "where " + SecurityUtil.companyFilterSQL("op")
                                + " and op.deleted is null "
                                + (!includeAboardOperations ? " and op.applicable = true " : "")
                                + " and (op.moment between :upToDate and :toDate) "
                                + " and op.dtype = 'Demand' "
                                + (agentId == null ? ""
                                    : " and ((ags.path || ags.id) like ( "
                                        + "select distinct (a21.path || a21.id || '%') from agent a21  where a21.id = :agentId) or "
                                 
        
            всё не влезло, вообще тут 65 строк. пожалуйста выскажите ваше мнение об этом коде. спасибо :)
        
        
+ "select distinct (a22.path || a22.id || '%') from agent a22 where a22.id = :agentId)) ")
+ (storeId == null ? ""
: " and (pld.path || pld.id) like ( "
+ "select distinct (p2.path || p2.id || '%') from "
+ "place p2 where p2.id = :storeId) ")
+ " group by gg.consignment_id, op.sourcestore_id) as bgd on cs1.id = bgd.consignment_id "
+ " left outer join uom u4 on g4.uom_id = u4.id "
+ " where 1 = 1 "
+ (goodId == null ? "" :
" and (g4.path || g4.id) like (select distinct (g31.path || g31.id || '%') from good g31 where g31.id = :goodId) ")
+ (supplierId == null ? ""
: " and (g4.supplier_id = :supplierId) ")
+ (customizationUtilSQL == null ? " "
: customizationUtilSQL.buildCustomAttribut esQueryWherePart(false, true))
+ " group by g4.id, g4.name, g4.code, u4.name, g4.productcode "
+ " having (sum(bgd.quantity_out) - sum(bgd.quantity_return) > :underZero)"
+ ") fullquery "
+ sorting.toString())
дохуища SQL-УГ, которого мы навидались до рвоты в разделе PHP
не смешно и нет желания нырять в это с головой.
UPD: капча не сработала, аднака =\
капча была запилена для того, чтобы больные мишустиазом не могли постить много подзалупного творожка в автоматическом режиме. соответственно, работает по принципу rate-limitera и не пропускает каменты, если юзер постит более чем N комментов/секунду. показ капчи подчиняется тому же принципу.
и хватит об этом, ибо боян
темболее, сколько времени на анализаторе показывает выполнение этого запроса?
Chrząszczyżewoszyce powiat Łękołody