Przeglądaj źródła

查询库存时营销类别查询优化

hu 3 lat temu
rodzic
commit
757ac5d571

+ 10 - 1
src/custom/restcontroller/webmanage/sale/invbal/invbal.java

@@ -5,6 +5,7 @@ import java.util.ArrayList;
 import java.util.Calendar;
 import java.util.Calendar;
 import java.util.HashMap;
 import java.util.HashMap;
 
 
+import beans.itemclass.ItemClass;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.JSONObject;
@@ -123,7 +124,15 @@ public class invbal extends Controller {
 			where=where+" or t2.itemname like '%"+itemname+"%' ";
 			where=where+" or t2.itemname like '%"+itemname+"%' ";
 		}
 		}
 		if (itemclassids.size() > 0) {
 		if (itemclassids.size() > 0) {
-			String sql = " or t1.itemid in ( SELECT itemid from sa_itemsaleclass WHERE itemclassid IN " + itemclassids + "  and siteid='" + siteid + "')";
+			ArrayList<Long> itemclassList = new ArrayList<Long>();
+			for (Object object : itemclassids) {
+				//System.out.println(row.getLong("itemclassid"));
+
+				long itemclassid = Long.valueOf(String.valueOf(object));
+				itemclassList.add(itemclassid);
+				itemclassList.addAll(ItemClass.getSubItemClassIds(this,itemclassid));
+			}
+			String sql = " or t1.itemid in ( SELECT itemid from sa_itemsaleclass WHERE itemclassid IN " + itemclassList + "  and siteid='" + siteid + "')";
 			sql = sql.replace("[", "(").replace("]", ")");
 			sql = sql.replace("[", "(").replace("]", ")");
 			where=where+sql;
 			where=where+sql;
 		}
 		}