From bb4282d1fe64733dfaf10ab90f93a1c09ba0852f Mon Sep 17 00:00:00 2001 From: liuxy Date: Mon, 17 Oct 2022 11:59:08 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/PerformancemstServiceImpl.java | 22 ++++++++++++++++- .../wms/pa/wql/QL_TEST_PERFORMANCEMST01.wql | 24 +++++++++++++++++++ .../wms/sb/stat/wql/TASK_AUTOWEBSOCKETTSK.wql | 1 + 3 files changed, 46 insertions(+), 1 deletion(-) diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pa/service/impl/PerformancemstServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pa/service/impl/PerformancemstServiceImpl.java index b3c44d9a..68dc79a9 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pa/service/impl/PerformancemstServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pa/service/impl/PerformancemstServiceImpl.java @@ -245,7 +245,7 @@ public class PerformancemstServiceImpl implements PerformancemstService { JSONObject jsonObject = WQL.getWO("QL_TEST_PERFORMANCEMST01").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "mst.assessor_date asc"); JSONArray re = jsonObject.getJSONArray("content"); // ===== 2.根据日期查出当天日期所有人员及分数 - for (int i = 0; i < re.size(); i++) { + /* for (int i = 0; i < re.size(); i++) { JSONObject json = re.getJSONObject(i); JSONArray arr = WQLObject.getWQLObject("QL_TEST_PerformanceMst").query("assessor_date = '" + json.getString("assessor_date") + "'").getResultJSONArray(0); double total = 0; //总分 @@ -256,6 +256,26 @@ public class PerformancemstServiceImpl implements PerformancemstService { total = total + json2.getDoubleValue("total_score"); average = NumberUtil.div(total, arr.size()); } + //查询出有多少个员工 要用到它们的个数 + JSONArray jsonArr = WQL.getWO("QL_TEST_PERFORMANCEMST01").addParam("flag", "5").process().getResultJSONArray(0); + json.put(String.valueOf(jsonArr.size() + 2), total); + json.put(String.valueOf(jsonArr.size() + 1), average); + are.add(json); + }*/ + for (int i = 0; i < re.size(); i++) { + JSONObject json = re.getJSONObject(i); + JSONArray userArr = WQL.getWO("QL_TEST_PERFORMANCEMST01").addParam("flag", "7").addParam("assessor_date", json.getString("assessor_date")).process().getResultJSONArray(0); + + double total = 0; //总分 + double average = 0; //平均分 + for (int j = 0; j < userArr.size(); j++) { + JSONObject json2 = userArr.getJSONObject(j); + json.put(String.valueOf(json2.getString("assessor_id")), json2.getString("total_score")); + + total = total + json2.getDoubleValue("total_score"); + average = NumberUtil.div(total, userArr.size()); + } + //查询出有多少个员工 要用到它们的个数 JSONArray jsonArr = WQL.getWO("QL_TEST_PERFORMANCEMST01").addParam("flag", "5").process().getResultJSONArray(0); json.put(String.valueOf(jsonArr.size() + 2), total); diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pa/wql/QL_TEST_PERFORMANCEMST01.wql b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pa/wql/QL_TEST_PERFORMANCEMST01.wql index ad78c50a..ac857eab 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pa/wql/QL_TEST_PERFORMANCEMST01.wql +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pa/wql/QL_TEST_PERFORMANCEMST01.wql @@ -157,5 +157,29 @@ ENDPAGEQUERY ENDIF + IF 输入.flag = "7" + PAGEQUERY + SELECT + mst.assessor_date, + SUM(mst.total_score) AS total_score, + mst.assessor_id + FROM + QL_TEST_PerformanceMst mst + LEFT JOIN sys_user user ON mst.assessor_id = user.user_id + + WHERE + mst.status = '30' + AND mst.is_delete = '0' + + OPTION 输入.assessor_date <> "" + mst.assessor_date = 输入.assessor_date + ENDOPTION + + GROUP BY mst.assessor_id + + ENDSELECT + ENDPAGEQUERY + ENDIF + diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/stat/wql/TASK_AUTOWEBSOCKETTSK.wql b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/stat/wql/TASK_AUTOWEBSOCKETTSK.wql index c14ae17b..a8c1763d 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/stat/wql/TASK_AUTOWEBSOCKETTSK.wql +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/stat/wql/TASK_AUTOWEBSOCKETTSK.wql @@ -368,6 +368,7 @@ WHERE st.is_delete = '0' AND (st.status <> '99') + AND mst.invstatus not in ('06','07','99') UNION