Просмотр исходного кода

商品定制选项判断的逻辑复制到商品审核中

hu 2 лет назад
Родитель
Сommit
6aaebe73c3
1 измененных файлов с 33 добавлено и 5 удалено
  1. 33 5
      src/custom/restcontroller/webmanage/sale/item/Item.java

+ 33 - 5
src/custom/restcontroller/webmanage/sale/item/Item.java

@@ -611,13 +611,16 @@ public class Item extends Controller {
 
         JSONArray jsonArray = content.getJSONArray("itemids");
         String status = content.getString("status");
-
-        Rows itemRows = dbConnect.runSqlQuery("select itemid,itemno,itemname,sa_customschemeid,isonsale from plm_item where siteid='" + siteid + "'");
+        Rows itemRows =new Rows();
+        Rows itemclassRows=new Rows();
+        if(!jsonArray.isEmpty()){
+             itemRows = dbConnect.runSqlQuery("SELECT t1.*,t2.material from plm_item t1 left join plm_itemextend t2 on t1.itemid=t2.itemid and t1.siteid=t2.siteid  where t1.siteid='" + siteid + "' and t1.itemid in"+jsonArray.toJSONString().replace("[", "(").replace("]", ")"));
+             itemclassRows = dbConnect.runSqlQuery("select itemid,itemclassid from sa_itemsaleclass  where siteid='" + siteid + "' and itemid in"+jsonArray.toJSONString().replace("[", "(").replace("]", ")"));
+        }else{
+            return getErrReturnObject().setErrMsg("未选择商品,无法审核").toString();
+        }
         RowsMap itemRowsMap = itemRows.toRowsMap("itemid");
-
-        Rows itemclassRows = dbConnect.runSqlQuery("select itemid,itemclassid from sa_itemsaleclass  where siteid='" + siteid + "'");
         RowsMap itemclassRowsMap = itemclassRows.toRowsMap("itemid");
-
         ArrayList<String> sqlList = new ArrayList<>();
         for (Object obj : jsonArray) {
             int id = (int) obj;
@@ -626,6 +629,30 @@ public class Item extends Controller {
             sqlFactory.addParameter("siteid", siteid);
             sqlFactory.addParameter("username", username);
             sqlFactory.addParameter("status", status.equals("0") ? "新建" : "审核");
+            if (itemRowsMap.containsKey(String.valueOf(id))) {
+                if (!itemRowsMap.get(String.valueOf(id)).isEmpty()) {
+                    if (itemRowsMap.get(String.valueOf(id)).get(0).getLong("sa_customschemeid")>0) {
+                        Rows customschemeRows = dbConnect.runSqlQuery("SELECT  t1.*,t2.schemename from sa_customscheme_items t1 left join sa_customscheme t2 on t1.sa_customschemeid=t2.sa_customschemeid and t1.siteid=t2.siteid WHERE t1.sa_customschemeid=" + itemRowsMap.get(String.valueOf(id)).get(0).getLong("sa_customschemeid") + " and  t1.siteid ='" + siteid + "'");
+                        String where = " and 1=1 and t1.itemid != " + id + " and sa_customschemeid=" + itemRowsMap.get(String.valueOf(id)).get(0).getLong("sa_customschemeid");
+                        if (!customschemeRows.isEmpty()) {
+                            for (Row row : customschemeRows) {
+
+                                if (StringUtils.isBlank(itemRowsMap.get(String.valueOf(id)).get(0).getString(row.getString("value")))) {
+                                    return getErrReturnObject().setErrMsg("该商品【"+itemRowsMap.get(String.valueOf(id)).get(0).getString("itemname")+"】定制方案" + row.getString("schemename") + "下" + row.getString("description") + "不可为空").toString();
+                                } else {
+                                    where = where + " and " + row.getString("value") + "='" +  itemRowsMap.get(String.valueOf(id)).get(0).getString(row.getString("value")) + "'";
+                                }
+                            }
+                            System.out.println("select * from plm_item where siteid='" + siteid + "'" + where);
+                            Rows items = dbConnect.runSqlQuery("select t1.*,t2.material from plm_item t1 left join plm_itemextend t2 on t1.itemid=t2.itemid and t1.siteid=t2.siteid where t1.siteid='" + siteid + "'" + where);
+                            if (items.isNotEmpty()) {
+                                return getErrReturnObject().setErrMsg("该商品与定制方案下的" + items.get(0).getString("itemno") + "商品重复,请修改").toString();
+                            }
+                        }
+                    }
+                }
+
+            }
 
             if(itemclassRowsMap.containsKey(String.valueOf(id))){
                 if(itemclassRowsMap.get(String.valueOf(id)).isNotEmpty()){
@@ -639,6 +666,7 @@ public class Item extends Controller {
                 }
             }
 
+
             if (status.equals("0")) {
                 if (itemRowsMap.containsKey(String.valueOf(id))) {
                     if (!itemRowsMap.get(String.valueOf(id)).isEmpty()) {