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

+ 41 - 34
src/custom/restcontroller/webmanage/sale/item/Item.java

@@ -18,6 +18,8 @@ import org.apache.poi.ss.usermodel.CellStyle;
 import org.apache.poi.ss.usermodel.DataFormat;
 import org.apache.poi.xssf.usermodel.*;
 import restcontroller.R;
+import restcontroller.webmanage.sale.itemgroup.itemgroup;
+
 
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -366,17 +368,9 @@ public class Item extends Controller {
         JSONArray jsonArray = content.getJSONArray("itemids");
         String status = content.getString("status");
 
-        Rows brandRows = dbConnect.runSqlQuery("select sa_brandid from sa_brand where siteid='"+siteid+"'");
-        long sa_brandid=0;
-        if(!brandRows.isEmpty()){
-            sa_brandid=brandRows.get(0).getLong("sa_brandid");
-        }
         Rows itemRows = dbConnect.runSqlQuery("select itemid,itemno,itemname,sa_customschemeid,isonsale from plm_item where siteid='"+siteid+"'");
         RowsMap itemRowsMap = itemRows.toRowsMap("itemid");
 
-        Rows tradefieldRows = dbConnect.runSqlQuery("select itemid,tradefield from plm_item_tradefield where siteid='"+siteid+"'");
-        RowsMap tradefieldRowsMap = tradefieldRows.toRowsMap("itemid");
-
         ArrayList<String> sqlList = new ArrayList<>();
         for (Object obj : jsonArray) {
             int id = (int) obj;
@@ -396,31 +390,6 @@ public class Item extends Controller {
                 }
 
             }
-            //审核商品时,自动添加至商品组中
-            if(itemRowsMap.containsKey(String.valueOf(obj))){
-                if(!itemRowsMap.get(String.valueOf(obj)).isEmpty()){
-                    if(itemRowsMap.get(String.valueOf(obj)).get(0).getLong("sa_customschemeid")!=0){
-                        if(status.equals("1")){
-                            Rows rowsCount = dbConnect.runSqlQuery("select count(1) count,min(groupnum) groupnum from (select ifnull(t3.sa_customschemeid,0) count,t1.sa_itemgroupid,t1.groupnum,t1.siteid from sa_itemgroup t1 inner join sa_itemgroupmx t2 on t1.siteid=t2.siteid and t1.sa_itemgroupid=t2.sa_itemgroupid inner join plm_item t3 on t2.itemid=t3.itemid and t2.siteid=t3.siteid group by t1.sa_itemgroupid,t1.groupnum,t1.siteid,ifnull(t3.sa_customschemeid,0))t where t.siteid='"+siteid+"' and t.sa_itemgroupid in (select sa_itemgroupid from sa_itemgroupmx where itemid="+id+")");
-                            if(rowsCount.get(0).getLong("count")>1){
-                                //return getErrReturnObject().setErrMsg("该商品存在与商品组"+rowsCount.get(0).getString("groupnum")+",请在商品组删除该商品后进行审核").toString();
-                            }
-                        }
-                    }else{
-                        if(status.equals("0")){
-                            sqlList.add("delete from sa_itemgroup where sa_itemgroupid in(select sa_itemgroupid from sa_itemgroupmx where itemid="+id+" and siteid='"+siteid+"')");
-                            sqlList.add("delete from sa_itemgroupmx where itemid="+id+" and siteid='"+siteid+"'");
-                        }else {
-                            sqlList.addAll(Itemgroup.createItemGroupSql(this, id,itemRowsMap.get(String.valueOf(obj)).get(0).getString("itemname"), itemRowsMap.get(String.valueOf(obj)).get(0).getString("itemno"),tradefieldRowsMap.get(String.valueOf(obj)).toJsonArray("tradefield"),sa_brandid ));
-                        }
-                    }
-
-
-                }else {
-                    return getErrReturnObject().setErrMsg("商品不存在").toString();
-                }
-
-            }
 
 
 
@@ -433,7 +402,7 @@ public class Item extends Controller {
     }
 
     @API(title = "货品档案上架", apiversion = R.ID20220923154802.v1.class)
-    @CACHEING_CLEAN(apiversions = {R.ID20220923140602.v1.class})
+    @CACHEING_CLEAN(apiversions = {R.ID20220923140602.v1.class},apiClass = {itemgroup.class,restcontroller.sale.itemgroup.itemgroup.class})
     public String onsale() throws YosException {
 
         JSONArray jsonArray = content.getJSONArray("itemids");
@@ -456,6 +425,16 @@ public class Item extends Controller {
                 return getErrReturnObject().setErrMsg("存在未维护价格的货品,无法上架!").toString();
             }
         }
+        Rows brandRows = dbConnect.runSqlQuery("select sa_brandid from sa_brand where siteid='"+siteid+"'");
+        long sa_brandid=0;
+        if(!brandRows.isEmpty()){
+            sa_brandid=brandRows.get(0).getLong("sa_brandid");
+        }
+        Rows itemRows = dbConnect.runSqlQuery("select itemid,itemno,itemname,sa_customschemeid,isonsale from plm_item where siteid='"+siteid+"'");
+        RowsMap itemRowsMap = itemRows.toRowsMap("itemid");
+
+        Rows tradefieldRows = dbConnect.runSqlQuery("select itemid,tradefield from plm_item_tradefield where siteid='"+siteid+"'");
+        RowsMap tradefieldRowsMap = tradefieldRows.toRowsMap("itemid");
 
         ArrayList<String> sqlList = new ArrayList<>();
         for (Object obj : jsonArray) {
@@ -466,6 +445,34 @@ public class Item extends Controller {
             sqlFactory.addParameter("username", username);
             sqlFactory.addParameter("isonsale", isonsale);
             sqlList.add(sqlFactory.getSQL(false));
+
+            //审核商品时,自动添加至商品组中
+            if(itemRowsMap.containsKey(String.valueOf(obj))){
+                if(!itemRowsMap.get(String.valueOf(obj)).isEmpty()){
+                    if(itemRowsMap.get(String.valueOf(obj)).get(0).getLong("sa_customschemeid")!=0){
+                        if(isonsale.equals("1")){
+                            Rows rowsCount = dbConnect.runSqlQuery("select count(1) count,min(groupnum) groupnum from (select ifnull(t3.sa_customschemeid,0) count,t1.sa_itemgroupid,t1.groupnum,t1.siteid from sa_itemgroup t1 inner join sa_itemgroupmx t2 on t1.siteid=t2.siteid and t1.sa_itemgroupid=t2.sa_itemgroupid inner join plm_item t3 on t2.itemid=t3.itemid and t2.siteid=t3.siteid group by t1.sa_itemgroupid,t1.groupnum,t1.siteid,ifnull(t3.sa_customschemeid,0))t where t.siteid='"+siteid+"' and t.sa_itemgroupid in (select sa_itemgroupid from sa_itemgroupmx where itemid="+id+")");
+                            if(rowsCount.get(0).getLong("count")>1){
+                                //return getErrReturnObject().setErrMsg("该商品存在与商品组"+rowsCount.get(0).getString("groupnum")+",请在商品组删除该商品后进行审核").toString();
+                            }
+                        }
+                    }else{
+                        if(isonsale.equals("0")){
+                            sqlList.add("delete from sa_itemgroup where sa_itemgroupid in(select sa_itemgroupid from sa_itemgroupmx where itemid="+id+" and siteid='"+siteid+"')");
+                            sqlList.add("delete from sa_itemgroupmx where itemid="+id+" and siteid='"+siteid+"'");
+                        }else {
+                            sqlList.addAll(Itemgroup.createItemGroupSql(this, id,itemRowsMap.get(String.valueOf(obj)).get(0).getString("itemname"), itemRowsMap.get(String.valueOf(obj)).get(0).getString("itemno"),tradefieldRowsMap.get(String.valueOf(obj)).toJsonArray("tradefield"),sa_brandid ));
+                        }
+                    }
+
+
+                }else {
+                    return getErrReturnObject().setErrMsg("商品不存在").toString();
+                }
+
+            }
+
+
         }
 
         dbConnect.runSqlUpdate(sqlList);

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

@@ -7,7 +7,7 @@ SELECT t1.sa_itemgroupmxid,
        t3.material,
        t4.schemename
 FROM sa_itemgroupmx t1
-         inner JOIN plm_item t2 ON t1.itemid = t2.itemid and ifnull(t2.isonsale, 0) = 1
+         inner JOIN plm_item t2 ON t1.itemid = t2.itemid
     AND t1.siteid = t2.siteid
          LEFT JOIN plm_unit t6 ON t6.unitid = t2.unitid
     AND t6.siteid = t2.siteid