eganwu 1 рік тому
батько
коміт
cf83539a6d

+ 15 - 4
src/custom/restcontroller/webmanage/role/RoleOptionLimit.java

@@ -87,12 +87,18 @@ public class RoleOptionLimit extends Controller {
         RowsMap optiontypemxMap = new RowsMap();
 
         if (rows.isNotEmpty()) {
-            String sql = "SELECT distinct optiontypeid,value from sys_optiontypemx WHERE optiontypeid in " + rows.toArrayList("optiontypeid");
+            String sql = "SELECT distinct optiontypeid,value,subvalues from sys_optiontypemx WHERE optiontypeid in " + rows.toArrayList("optiontypeid");
             optiontypemxMap = dbConnect.runSqlQuery(sql.replace("[", "(").replace("]", ")")).toRowsMap("optiontypeid");
         }
 
         for (Row row : rows) {
-            row.put("optiontypemx", optiontypemxMap.getOrDefault(row.getString("optiontypeid"), new Rows()).toArray("value"));
+            Rows optiontypemxRows = optiontypemxMap.getOrDefault(row.getString("optiontypeid"), new Rows());
+            for (Row optiontypemxRow : optiontypemxRows) {
+                optiontypemxRow.putIfAbsent("subvalues", new JSONArray());
+            }
+
+            row.put("optiontypemxall", optiontypemxRows);
+            row.put("optiontypemx", optiontypemxRows.toArray("value"));
             Long optiontypeid = row.getLong("optiontypeid");
             Rows valuerows = dbConnect.runSqlQuery("SELECT `value` from sys_role_optionlimit WHERE roleid=" + roleid + " and optiontypeid=" + optiontypeid);
             row.put("values", valuerows.toArray("value"));
@@ -116,11 +122,16 @@ public class RoleOptionLimit extends Controller {
             return getSucReturnObject().setData(new Row()).toString();
         }
 
-        String sql = "SELECT distinct optiontypeid,value from sys_optiontypemx WHERE optiontypeid in " + rows.toArrayList("optiontypeid");
+        String sql = "SELECT distinct optiontypeid,value,subvalues from sys_optiontypemx WHERE optiontypeid in " + rows.toArrayList("optiontypeid");
         RowsMap optiontypemxMap = dbConnect.runSqlQuery(sql.replace("[", "(").replace("]", ")")).toRowsMap("optiontypeid");
 
         for (Row row : rows) {
-            row.put("optiontypemx", optiontypemxMap.getOrDefault(row.getString("optiontypeid"), new Rows()).toArray("value"));
+            Rows optiontypemxRows = optiontypemxMap.getOrDefault(row.getString("optiontypeid"), new Rows());
+            for (Row optiontypemxRow : optiontypemxRows) {
+                optiontypemxRow.putIfAbsent("subvalues", new JSONArray());
+            }
+            row.put("optiontypemxall", optiontypemxRows);
+            row.put("optiontypemx", optiontypemxRows.toArray("value"));
 
             Rows valuerows = dbConnect.runSqlQuery("SELECT `value` from sys_role_optionlimit WHERE roleid=" + roleid + " and optiontypeid=" + optiontypeid);
             row.put("values", valuerows.toArray("value"));