|
@@ -5,7 +5,6 @@ import com.alibaba.fastjson.JSONArray;
|
|
|
import com.jfinal.aop.Before;
|
|
|
import com.jfinal.core.Controller;
|
|
|
import com.jfinal.kit.JsonKit;
|
|
|
-import com.jfinal.kit.Kv;
|
|
|
import com.jfinal.kit.StrKit;
|
|
|
import com.jfinal.plugin.activerecord.Db;
|
|
|
import com.jfinal.plugin.activerecord.Record;
|
|
@@ -21,23 +20,15 @@ public class IndexController extends Controller {
|
|
|
|
|
|
public void index() {
|
|
|
long start = System.currentTimeMillis();
|
|
|
- String table = getPara("table", "TLK_MYJCS");
|
|
|
+ String table = getPara("table", "TLK_YJCS");
|
|
|
String ITEM_VALUE = getPara("ITEM_VALUE");
|
|
|
String bh = getPara("bh", "102");
|
|
|
- String type = getPara("type", "form");
|
|
|
String user = getPara("user", "基栋");
|
|
|
set("look", getPara("look"));
|
|
|
List<Record> all = new ArrayList<>();
|
|
|
StringBuilder sb = new StringBuilder();
|
|
|
- Record v = Db.findFirst("SELECT ITEM_VERSION,ITEM_BH,ITEM_NAME FROM TLK_MYJCS WHERE ITEM_XL_NUM=? and ITEM_UPBH IS NULL ORDER BY ITEM_VERSION DESC", bh);
|
|
|
sb.append("SELECT ID,ITEM_BH,ITEM_PX,ITEM_NAME,ITEM_UPBH,ITEM_TYPE FROM " + table);
|
|
|
- if (type.equals("form")) {
|
|
|
- sb.append(" WHERE ITEM_KEY=?");
|
|
|
- }
|
|
|
- if (type.equals("json")) {
|
|
|
- sb.append(" WHERE ITEM_XL_NUM=?");
|
|
|
- sb.append(" AND ITEM_VERSION=?");
|
|
|
- }
|
|
|
+ sb.append(" WHERE ITEM_KEY=?");
|
|
|
sb.append(" AND ITEM_UPBH IS NOT NULL");
|
|
|
if (StrKit.notBlank(ITEM_VALUE)) {
|
|
|
sb.append(" AND ITEM_VALUE=?");
|
|
@@ -45,14 +36,9 @@ public class IndexController extends Controller {
|
|
|
all = Db.find(sb.toString(), bh, ITEM_VALUE);
|
|
|
} else {
|
|
|
sb.append(" ORDER BY TO_NUMBER(ITEM_PX) ASC");
|
|
|
- if (type.equals("json")) {
|
|
|
- all = Db.find(sb.toString(), bh, v.getStr("ITEM_VERSION"));
|
|
|
- } else {
|
|
|
- all = Db.find(sb.toString(), bh);
|
|
|
- }
|
|
|
-
|
|
|
+ all = Db.find(sb.toString(), bh);
|
|
|
}
|
|
|
- List<Record> list = all.stream().filter(r -> r.getStr("ITEM_UPBH").equals(type.equals("form") ? bh : v.getStr("ITEM_BH"))).collect(Collectors.toList());
|
|
|
+ List<Record> list = all.stream().filter(r -> r.getStr("ITEM_UPBH").equals(bh)).collect(Collectors.toList());
|
|
|
for (Record record : list) {
|
|
|
int rowspan = 0; //总的合并行
|
|
|
record.set("type", 0);
|
|
@@ -96,26 +82,74 @@ public class IndexController extends Controller {
|
|
|
}
|
|
|
record.set("rowspan", rowspan);
|
|
|
}
|
|
|
+ setAttr("list", list);
|
|
|
+ setAttr("table", table);
|
|
|
+ setAttr("user", user);
|
|
|
long end = System.currentTimeMillis();
|
|
|
- if (type.equals("form")) {
|
|
|
- setAttr("list", list);
|
|
|
- setAttr("table", table);
|
|
|
- setAttr("user", user);
|
|
|
- setAttr("time", mul((end - start), (float) 0.001) + "s");
|
|
|
- render("index.html");
|
|
|
+ setAttr("time", mul((end - start), (float) 0.001) + "s");
|
|
|
+ render("index.html");
|
|
|
+ }
|
|
|
+
|
|
|
+ public void getData() {
|
|
|
+ long start = System.currentTimeMillis();
|
|
|
+ String bh = getPara("ONLYNUM");
|
|
|
+ Record re = new Record();
|
|
|
+ re.set("code", 200);
|
|
|
+ re.set("message", "ok");
|
|
|
+ if (StrKit.isBlank(bh)) {
|
|
|
+ List<Record> nums = Db.find("SELECT ITEM_VERSION,ITEM_BH,ITEM_XL_NUM,ITEM_NAME FROM TLK_MYJCS WHERE ITEM_UPBH IS NULL AND ITEM_XL_NUM IS NOT NULL ORDER BY ITEM_VERSION DESC");
|
|
|
+ nums = removeDuplicate(nums);
|
|
|
+ for (Record num : nums) {
|
|
|
+ List<Record> all = Db.find("SELECT ID,ITEM_BH,ITEM_NAME,ITEM_UPBH FROM TLK_MYJCS WHERE ITEM_XL_NUM=? AND ITEM_VERSION=? AND ITEM_UPBH IS NOT NULL ORDER BY TO_NUMBER(ITEM_PX) ASC", num.getStr("ITEM_XL_NUM"), num.getStr("ITEM_VERSION"));
|
|
|
+ num.set("data", format(all, num.getStr("ITEM_BH")));
|
|
|
+ }
|
|
|
+ long end = System.currentTimeMillis();
|
|
|
+ re.set("time", mul((end - start), (float) 0.001) + "s");
|
|
|
+ re.set("data", nums);
|
|
|
+ renderJson(re);
|
|
|
} else {
|
|
|
- Record record = new Record();
|
|
|
- record.set("code", 200);
|
|
|
- record.set("msg", "请求成功");
|
|
|
- record.set("time", mul((end - start), (float) 0.001) + "s");
|
|
|
+ Record num = Db.findFirst("SELECT ITEM_VERSION,ITEM_BH,ITEM_NAME,ITEM_XL_NUM FROM TLK_MYJCS WHERE ITEM_XL_NUM=? AND ITEM_UPBH IS NULL AND ITEM_XL_NUM IS NOT NULL ORDER BY ITEM_VERSION DESC", bh);
|
|
|
+ List<Record> all = Db.find("SELECT ID,ITEM_BH,ITEM_NAME,ITEM_UPBH FROM TLK_MYJCS WHERE ITEM_XL_NUM=? AND ITEM_VERSION=? AND ITEM_UPBH IS NOT NULL ORDER BY TO_NUMBER(ITEM_PX) ASC", num.getStr("ITEM_XL_NUM"), num.getStr("ITEM_VERSION"));
|
|
|
+ long end = System.currentTimeMillis();
|
|
|
+ re.set("time", mul((end - start), (float) 0.001) + "s");
|
|
|
Record child = new Record();
|
|
|
- child.set("ITEM_NAME", v.getStr("ITEM_NAME"));
|
|
|
- child.set("ITEM_XL_NUM", bh);
|
|
|
- child.set("ITEM_VERSION", v.getStr("ITEM_VERSION"));
|
|
|
- child.set("data", list);
|
|
|
- record.set("data", child);
|
|
|
- renderJson(record);
|
|
|
+ child.set("ITEM_NAME", num.getStr("ITEM_NAME"));
|
|
|
+ child.set("ITEM_XL_NUM", num.getStr("ITEM_XL_NUM"));
|
|
|
+ child.set("ITEM_VERSION", num.getStr("ITEM_VERSION"));
|
|
|
+ child.set("data", format(all, num.getStr("ITEM_BH")));
|
|
|
+ re.set("data", child);
|
|
|
+ renderJson(re);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ private List<Record> format(List<Record> all, String bh) {
|
|
|
+ List<Record> list = all.stream().filter(r -> r.getStr("ITEM_UPBH").equals(bh)).collect(Collectors.toList());
|
|
|
+ for (Record record : list) {
|
|
|
+ //二级
|
|
|
+ List<Record> list2 = all.stream().filter(r -> r.getStr("ITEM_UPBH").equals(record.getStr("ITEM_BH"))).collect(Collectors.toList());
|
|
|
+ record.set("child", list2);
|
|
|
+ for (Record record2 : list2) {
|
|
|
+ //三级
|
|
|
+ List<Record> list3 = all.stream().filter(r -> r.getStr("ITEM_UPBH").equals(record2.getStr("ITEM_BH"))).collect(Collectors.toList());
|
|
|
+ record2.set("child", list3);
|
|
|
+ for (Record record3 : list3) {
|
|
|
+ //四级
|
|
|
+ List<Record> list4 = all.stream().filter(r -> r.getStr("ITEM_UPBH").equals(record3.getStr("ITEM_BH"))).collect(Collectors.toList());
|
|
|
+ for (Record record4 : list4) {
|
|
|
+ //五级
|
|
|
+ List<Record> list5 = all.stream().filter(r -> r.getStr("ITEM_UPBH").equals(record4.getStr("ITEM_BH"))).collect(Collectors.toList());
|
|
|
+ if (list5.size() > 0) {
|
|
|
+ record4.set("child", list5);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (list4.size() > 0) {
|
|
|
+ record3.set("child", list4);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
+ return list;
|
|
|
}
|
|
|
|
|
|
public void edit() {
|
|
@@ -212,4 +246,15 @@ public class IndexController extends Controller {
|
|
|
BigDecimal b2 = new BigDecimal(Float.toString(v2));
|
|
|
return b1.multiply(b2).doubleValue();
|
|
|
}
|
|
|
+
|
|
|
+ private static List removeDuplicate(List<Record> list) {
|
|
|
+ for (int i = 0; i < list.size() - 1; i++) {
|
|
|
+ for (int j = list.size() - 1; j > i; j--) {
|
|
|
+ if (list.get(j).getStr("ITEM_XL_NUM").equals(list.get(i).getStr("ITEM_XL_NUM"))) {
|
|
|
+ list.remove(j);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return list;
|
|
|
+ }
|
|
|
}
|