|
|
@@ -3,7 +3,6 @@ package restcontroller.sale.itemgroup;
|
|
|
import beans.Item.Item;
|
|
|
import beans.datatag.DataTag;
|
|
|
import beans.enterprise.Enterprise;
|
|
|
-import beans.itemclass.ItemClass;
|
|
|
import beans.itemgroup.Itemgroup;
|
|
|
import beans.itemprice.ItemPrice;
|
|
|
import beans.parameter.Parameter;
|
|
|
@@ -59,20 +58,14 @@ public class itemgroup extends Controller {
|
|
|
double pricegrade = 1;
|
|
|
try {
|
|
|
pricegrade = Parameter.getInteger(siteid, "defaultlevelprice");//价格等级
|
|
|
- } catch (Exception e) {
|
|
|
- pricegrade = 1;
|
|
|
+ } catch (Exception ignored) {
|
|
|
}
|
|
|
boolean saleclassauth = false;//是否需要经营授权
|
|
|
if (sys_enterpriseid > 0) {
|
|
|
Row enterpriseRow = Enterprise.getEnterprise(this, sys_enterpriseid);
|
|
|
- if (!enterpriseRow.isEmpty()) {
|
|
|
- saleclassauth = enterpriseRow.getBoolean("saleclassauth");
|
|
|
- }
|
|
|
-
|
|
|
+ saleclassauth = enterpriseRow.isEmpty() ? saleclassauth : enterpriseRow.getBoolean("saleclassauth");
|
|
|
Enterprise.EnterpriseGrade enterpriseGrade = Enterprise.getEnterpriseGrade(this, sys_enterpriseid);
|
|
|
- if (enterpriseGrade != null) {
|
|
|
- pricegrade = enterpriseGrade.getPricegrade();
|
|
|
- }
|
|
|
+ pricegrade = enterpriseGrade == null ? pricegrade : enterpriseGrade.getPricegrade();
|
|
|
}
|
|
|
pricegrade = pricegrade <= 0 ? 1 : pricegrade;
|
|
|
|
|
|
@@ -110,39 +103,17 @@ public class itemgroup extends Controller {
|
|
|
itemGroupQuery.addJoinTable(JOINTYPE.left, "plm_item", "t2", "t1.itemno = t2.itemno AND t1.siteid = t2.siteid", "itemid");
|
|
|
itemGroupQuery.addJoinTable(JOINTYPE.left, "sa_brand", "t3", "t3.sa_brandid = t1.sa_brandid AND t3.siteid = t1.siteid", "brandname");
|
|
|
itemGroupQuery.addJoinTable(JOINTYPE.left, "plm_unit", "t6", "t6.unitid = t2.unitid AND t6.siteid = t2.siteid", "unitname");
|
|
|
+ if (saleclassauth) {
|
|
|
+ //如果企业有营销授权,则查询授权商品组
|
|
|
+ itemGroupQuery.addJoinTable(JOINTYPE.inner, "sys_enterprise_itemgroupauth_view", "t7", "t7.sa_itemgroupid = t1.sa_itemgroupid and t7.sys_enterpriseid=" + sys_enterpriseid);
|
|
|
+ }
|
|
|
+
|
|
|
itemGroupQuery.setSiteid(siteid);
|
|
|
itemGroupQuery.setCondition("t2.groupname", "t1.groupnum", "t2.model");
|
|
|
itemGroupQuery.setWhere("t1.isonsale=1");
|
|
|
itemGroupQuery.setWhere("t2.ismodule", content.getLongValue("ismodule"));
|
|
|
itemGroupQuery.setWhere("t1.sa_brandid", brandids.toArray());
|
|
|
itemGroupQuery.setWhere(where);
|
|
|
- if (saleclassauth) {
|
|
|
-
|
|
|
- ArrayList<Long> itemclassList = new ArrayList<Long>();//授权的商品类别,包含下级商品类别,如果不需要授权则为空
|
|
|
- ArrayList<Long> itemList = new ArrayList<Long>();//授权的商品
|
|
|
-
|
|
|
- Rows saleclassRows = dbConnect.runSqlQuery("SELECT itemclassid,itemid from sys_enterprise_saleclass WHERE sys_enterpriseid = " + sys_enterpriseid + " and siteid='" + siteid + "'");
|
|
|
- ArrayList<Long> auth_itemclassList = saleclassRows.toArrayList("itemclassid", new ArrayList<>());
|
|
|
-
|
|
|
- itemclassList.addAll(auth_itemclassList);
|
|
|
- itemclassList.addAll(ItemClass.getSubItemClassIds(this, auth_itemclassList));
|
|
|
-
|
|
|
- itemList.addAll(saleclassRows.toArrayList("itemid", new ArrayList<>()));
|
|
|
-
|
|
|
- if (!content_where.getStringValue("itemclassid").isEmpty()) {
|
|
|
- long itemclassid = content_where.getLong("itemclassid");
|
|
|
- ArrayList<Long> list = ItemClass.getSubItemClassIds(this, itemclassid);
|
|
|
- list.add(itemclassid);
|
|
|
- itemclassList.removeIf(id -> !list.contains(id));
|
|
|
- }
|
|
|
-
|
|
|
- String sql = "select distinct t1.sa_itemgroupid from sa_itemgroup t1 inner join sa_itemgroupmx t2 on t1.sa_itemgroupid=t2.sa_itemgroupid and t1.siteid=t2.siteid" +
|
|
|
- " LEFT JOIN sa_itemsaleclass t4 ON t2.itemid = t4.itemid AND t2.siteid = t4.siteid and t4.classtype='营销'" +
|
|
|
- " where t1.siteid='" + siteid + "' and (t2.itemid in " + itemList + " or t4.itemclassid in " + itemclassList + ")";
|
|
|
- sql = sql.replace("[", "(").replace("]", ")");
|
|
|
-
|
|
|
- itemGroupQuery.setWhere("sa_itemgroupid", dbConnect.runSqlQuery(sql).toArrayList("sa_itemgroupid"));
|
|
|
- }
|
|
|
itemGroupQuery.setPage(pageSize, pageNumber);
|
|
|
Rows itemGroupRows = itemGroupQuery.query();
|
|
|
|