opt:工作量统计接口

This commit is contained in:
zhangzhiqiang
2022-11-18 11:04:45 +08:00
parent 61639acbec
commit d3f8e2b4f8
2 changed files with 30 additions and 9 deletions

View File

@@ -32,6 +32,7 @@ import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;
/**
* @author Liuxy
@@ -263,6 +264,23 @@ public class PerformancemstServiceImpl implements PerformancemstService {
JSONObject jsonContrast = new JSONObject();
jsonContrast.put("assessor_date", "与班组平均对比");
JSONObject totalQ = new JSONObject();
totalQ.put("flag", "9");
totalQ.put("begin_time", begin_time);
totalQ.put("end_time", end_time);
JSONArray a2llPersonTimeArr = WQL.getWO("QL_TEST_PERFORMANCEMST01").addParamMap(totalQ).process().getResultJSONArray(0);
double allPersonTime = 0;
Map<String,List<Object>> allassessorMap = null;
if (ObjectUtil.isNotEmpty(a2llPersonTimeArr)){
allPersonTime = a2llPersonTimeArr.stream().mapToDouble(value -> ((JSONObject) value).getDoubleValue("num")).sum();
allassessorMap = a2llPersonTimeArr.stream().collect(Collectors.groupingBy(a -> {
JSONObject object = (JSONObject) a;
return object.getString("assessor_id");
}));
}
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);
@@ -283,7 +301,9 @@ public class PerformancemstServiceImpl implements PerformancemstService {
map1.put("assessor_id", json2.getString("assessor_id"));
// 计算总出勤时间
JSONObject jsonAllTimeNum = WQL.getWO("QL_TEST_PERFORMANCEMST01").addParamMap(map1).process().uniqueResult(0);
// JSONObject jsonAllTimeNum = WQL.getWO("QL_TEST_PERFORMANCEMST01").addParamMap(map1).process().uniqueResult(0);
JSONObject jsonAllTimeNum = (JSONObject)allassessorMap.get(json2.getString("assessor_id")).get(0);
jsonAllTime.put(json2.getString("assessor_id"),jsonAllTimeNum.getString("num"));
// 计算总积分
@@ -304,14 +324,14 @@ public class PerformancemstServiceImpl implements PerformancemstService {
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"));
}
// double allPersonTime = 0; // 所有人总出勤时间
//放外层查询:根据assessor_id获取
// 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++) {

View File

@@ -219,7 +219,8 @@
IF 输入.flag = "9"
QUERY
SELECT
sum (IFNULL(dtl.workload,0)) AS num
sum (IFNULL(dtl.workload,0)) AS num,
mst.assessor_id
FROM
QL_TEST_PerformanceMst mst
LEFT JOIN ql_test_performancedtl dtl ON mst.performance_id = dtl.performance_id AND dtl.item_code = 'XD20221013231'