Преглед изворни кода

商品组查询领域逻辑优化

hu пре 3 година
родитељ
комит
7a611f87f9

+ 2 - 0
src/custom/restcontroller/sale/itemgroup/SQL/商品组明细查询.sql

@@ -6,7 +6,9 @@ from sa_itemgroupmx t1
          inner join plm_item t2
                     on t1.itemid = t2.itemid and t1.siteid = t2.siteid and t2.isonsale = 1 and t2.status = '审核'
          left join plm_itemextend t3 on t2.itemid=t3.itemid and t2.siteid=t3.siteid
+         left join ( SELECT itemid,siteid,GROUP_CONCAT(tradefield) tradefield FROM plm_item_tradefield GROUP BY itemid,siteid) t4 on t4.itemid=t2.itemid and t4.siteid=t2.siteid
 where t1.siteid = $siteid$
   and t1.sa_itemgroupid = $sa_itemgroupid$
   and $where$
+  and ($where1$)
 order by t1.sequence, t2.spec

+ 9 - 1
src/custom/restcontroller/sale/itemgroup/itemgroup.java

@@ -389,8 +389,15 @@ public class itemgroup extends Controller {
         SQLFactory factory = new SQLFactory(this, "商品组明细查询");
         factory.addParameter("sa_itemgroupid", content.getString("sa_itemgroupid"));
         factory.addParameter("siteid", siteid);
+        String where1=" 1=1 ";
+        Rows tradefieldRows = dbConnect.runSqlQuery("SELECT DISTINCT t1.tradefield from sys_enterprise_tradefield t1  WHERE t1.sys_enterpriseid = " + sys_enterpriseid + " and t1.siteid='" + siteid + "'");
 
-
+        if(!tradefieldRows.isEmpty()){
+            for (Row row: tradefieldRows) {
+                where1= where1 +" or t4.tradefield like '%"+row.getString("tradefield")+"%' ";
+            }
+        }
+        factory.addParameter_SQL("where1", where1);
         Rows customschemeItems = dbConnect.runSqlQuery("select distinct value,description from sa_customscheme_items where  sa_customschemeid in(select t2.sa_customschemeid from sa_itemgroupmx t1 left join plm_item t2 on t1.itemid=t2.itemid and t1.siteid=t2.siteid where t1.siteid='" + siteid + "' and t1.sa_itemgroupid=" + content.getString("sa_itemgroupid") + ")");
         if (!customschemeItems.isEmpty()) {
             for (Row row : customschemeItems) {
@@ -850,6 +857,7 @@ public class itemgroup extends Controller {
 //        materialList.addAll(JSONObject.parseArray(materialmap.toJSONString(), parm.class));
 //        cheekList.addAll(JSONObject.parseArray(cheekmap.toJSONString(), parm.class));
         rows = dbConnect.runSqlQuery(factory.getSQL());
+
         String itemno = "";
         if(!rows.isEmpty()){
             itemno=rows.get(0).getString("itemno");