代码更新
This commit is contained in:
@@ -246,6 +246,20 @@ public class PerformancemstServiceImpl implements PerformancemstService {
|
|||||||
JSONObject jsonObject = WQL.getWO("QL_TEST_PERFORMANCEMST01").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "mst.assessor_date asc");
|
JSONObject jsonObject = WQL.getWO("QL_TEST_PERFORMANCEMST01").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "mst.assessor_date asc");
|
||||||
JSONArray re = jsonObject.getJSONArray("content");
|
JSONArray re = jsonObject.getJSONArray("content");
|
||||||
// ===== 2.根据日期查出当天日期所有人员及分数
|
// ===== 2.根据日期查出当天日期所有人员及分数
|
||||||
|
|
||||||
|
// 总出勤时间
|
||||||
|
JSONObject jsonAllTime = new JSONObject();
|
||||||
|
jsonAllTime.put("assessor_date", "总出勤时间");
|
||||||
|
// 总积分
|
||||||
|
JSONObject jsonAllTotal = new JSONObject();
|
||||||
|
jsonAllTotal.put("assessor_date", "总积分");
|
||||||
|
// 工时效率
|
||||||
|
JSONObject jsonEta = new JSONObject();
|
||||||
|
jsonEta.put("assessor_date", "工时效率");
|
||||||
|
// 与班组平均对比
|
||||||
|
JSONObject jsonContrast = new JSONObject();
|
||||||
|
jsonContrast.put("assessor_date", "与班组平均对比");
|
||||||
|
|
||||||
for (int i = 0; i < re.size(); i++) {
|
for (int i = 0; i < re.size(); i++) {
|
||||||
JSONObject json = re.getJSONObject(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);
|
JSONArray userArr = WQL.getWO("QL_TEST_PERFORMANCEMST01").addParam("flag", "7").addParam("assessor_date", json.getString("assessor_date")).process().getResultJSONArray(0);
|
||||||
@@ -258,6 +272,57 @@ public class PerformancemstServiceImpl implements PerformancemstService {
|
|||||||
|
|
||||||
total = total + json2.getDoubleValue("total_score");
|
total = total + json2.getDoubleValue("total_score");
|
||||||
average = NumberUtil.div(total, userArr.size());
|
average = NumberUtil.div(total, userArr.size());
|
||||||
|
|
||||||
|
JSONObject map1 = new JSONObject();
|
||||||
|
map1.put("flag", "9");
|
||||||
|
map1.put("begin_time", begin_time);
|
||||||
|
map1.put("end_time", end_time);
|
||||||
|
map1.put("assessor_id", json2.getString("assessor_id"));
|
||||||
|
|
||||||
|
// 计算总出勤时间
|
||||||
|
JSONObject jsonAllTimeNum = WQL.getWO("QL_TEST_PERFORMANCEMST01").addParamMap(map1).process().uniqueResult(0);
|
||||||
|
jsonAllTime.put(json2.getString("assessor_id"),jsonAllTimeNum.getString("num"));
|
||||||
|
|
||||||
|
// 计算总积分
|
||||||
|
map1.put("flag", "10");
|
||||||
|
JSONObject jsonAllTotalNum = WQL.getWO("QL_TEST_PERFORMANCEMST01").addParamMap(map1).process().uniqueResult(0);
|
||||||
|
jsonAllTotal.put(json2.getString("assessor_id"),jsonAllTotalNum.getString("num"));
|
||||||
|
|
||||||
|
// 计算工时效率:总积分 / 总出勤时间
|
||||||
|
try {
|
||||||
|
String eta = NumberUtil.div(jsonAllTotalNum.getString("num"), jsonAllTimeNum.getString("num")).toString();
|
||||||
|
jsonEta.put(json2.getString("assessor_id"),NumberUtil.round(eta, 2));
|
||||||
|
} catch (Exception e) {
|
||||||
|
jsonEta.put(json2.getString("assessor_id"),"0");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// 计算与班组平均对比:个人工时效率 - 所有人总积分 / 所有人总出勤时间
|
||||||
|
map1.put("flag", "9");
|
||||||
|
map1.put("assessor_id", "");
|
||||||
|
double allPersonTotal = 0; // 所有人总积分
|
||||||
|
double allPersonTime = 0; // 所有人总出勤时间
|
||||||
|
|
||||||
|
JSONArray allPersonTimeArr = WQL.getWO("QL_TEST_PERFORMANCEMST01").addParamMap(map1).process().getResultJSONArray(0);
|
||||||
|
for (int k = 0; k < allPersonTimeArr.size(); k++) {
|
||||||
|
JSONObject jsonObject1 = allPersonTimeArr.getJSONObject(k);
|
||||||
|
allPersonTime = NumberUtil.add(allPersonTime,jsonObject1.getDoubleValue("num"));
|
||||||
|
}
|
||||||
|
|
||||||
|
map1.put("flag", "10");
|
||||||
|
JSONArray allPersonTotalArr = WQL.getWO("QL_TEST_PERFORMANCEMST01").addParamMap(map1).process().getResultJSONArray(0);
|
||||||
|
for (int k = 0; k < allPersonTotalArr.size(); k++) {
|
||||||
|
JSONObject jsonObject1 = allPersonTotalArr.getJSONObject(k);
|
||||||
|
allPersonTotal = NumberUtil.add(allPersonTotal,jsonObject1.getDoubleValue("num"));
|
||||||
|
}
|
||||||
|
|
||||||
|
// 与班组平均对比计算结果
|
||||||
|
try {
|
||||||
|
String contrast = NumberUtil.sub(jsonEta.getString(json2.getString("assessor_id")), String.valueOf(NumberUtil.div(allPersonTotal, allPersonTime))).toString();
|
||||||
|
jsonContrast.put(json2.getString("assessor_id"),NumberUtil.round(contrast, 2));
|
||||||
|
} catch (Exception e) {
|
||||||
|
jsonContrast.put(json2.getString("assessor_id"),"0");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//查询出有多少个员工 要用到它们的个数
|
//查询出有多少个员工 要用到它们的个数
|
||||||
@@ -266,6 +331,11 @@ public class PerformancemstServiceImpl implements PerformancemstService {
|
|||||||
json.put(String.valueOf(jsonArr.size() + 1), average);
|
json.put(String.valueOf(jsonArr.size() + 1), average);
|
||||||
are.add(json);
|
are.add(json);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
are.add(0, jsonAllTime);
|
||||||
|
are.add(1, jsonAllTotal);
|
||||||
|
are.add(2, jsonEta);
|
||||||
|
are.add(3, jsonContrast);
|
||||||
jsonObject.put("content", are);
|
jsonObject.put("content", are);
|
||||||
return jsonObject;
|
return jsonObject;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -213,5 +213,59 @@
|
|||||||
ENDQUERY
|
ENDQUERY
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
|
IF 输入.flag = "9"
|
||||||
|
QUERY
|
||||||
|
SELECT
|
||||||
|
sum (IFNULL(dtl.workload,0)) AS num
|
||||||
|
FROM
|
||||||
|
QL_TEST_PerformanceMst mst
|
||||||
|
LEFT JOIN ql_test_performancedtl dtl ON mst.performance_id = dtl.performance_id AND dtl.item_code = 'XD20221013231'
|
||||||
|
|
||||||
|
WHERE
|
||||||
|
mst.is_delete = '0'
|
||||||
|
|
||||||
|
OPTION 输入.begin_time <> ""
|
||||||
|
mst.assessor_date >= 输入.begin_time
|
||||||
|
ENDOPTION
|
||||||
|
|
||||||
|
OPTION 输入.end_time <> ""
|
||||||
|
mst.assessor_date <= 输入.end_time
|
||||||
|
ENDOPTION
|
||||||
|
|
||||||
|
OPTION 输入.assessor_id <> ""
|
||||||
|
mst.assessor_id = 输入.assessor_id
|
||||||
|
ENDOPTION
|
||||||
|
|
||||||
|
GROUP BY mst.assessor_id
|
||||||
|
|
||||||
|
ENDSELECT
|
||||||
|
ENDQUERY
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
IF 输入.flag = "10"
|
||||||
|
QUERY
|
||||||
|
SELECT
|
||||||
|
sum (mst.total_score) AS num
|
||||||
|
FROM
|
||||||
|
QL_TEST_PerformanceMst mst
|
||||||
|
|
||||||
|
WHERE
|
||||||
|
mst.is_delete = '0'
|
||||||
|
|
||||||
|
OPTION 输入.begin_time <> ""
|
||||||
|
mst.assessor_date >= 输入.begin_time
|
||||||
|
ENDOPTION
|
||||||
|
|
||||||
|
OPTION 输入.end_time <> ""
|
||||||
|
mst.assessor_date <= 输入.end_time
|
||||||
|
ENDOPTION
|
||||||
|
|
||||||
|
OPTION 输入.assessor_id <> ""
|
||||||
|
mst.assessor_id = 输入.assessor_id
|
||||||
|
ENDOPTION
|
||||||
|
|
||||||
|
GROUP BY mst.assessor_id
|
||||||
|
|
||||||
|
ENDSELECT
|
||||||
|
ENDQUERY
|
||||||
|
ENDIF
|
||||||
Reference in New Issue
Block a user