opt:工作量统计接口
This commit is contained in:
@@ -32,6 +32,7 @@ import javax.servlet.http.HttpServletResponse;
|
|||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Liuxy
|
* @author Liuxy
|
||||||
@@ -263,6 +264,23 @@ public class PerformancemstServiceImpl implements PerformancemstService {
|
|||||||
JSONObject jsonContrast = new JSONObject();
|
JSONObject jsonContrast = new JSONObject();
|
||||||
jsonContrast.put("assessor_date", "与班组平均对比");
|
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++) {
|
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);
|
||||||
@@ -283,7 +301,9 @@ public class PerformancemstServiceImpl implements PerformancemstService {
|
|||||||
map1.put("assessor_id", json2.getString("assessor_id"));
|
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"));
|
jsonAllTime.put(json2.getString("assessor_id"),jsonAllTimeNum.getString("num"));
|
||||||
|
|
||||||
// 计算总积分
|
// 计算总积分
|
||||||
@@ -304,14 +324,14 @@ public class PerformancemstServiceImpl implements PerformancemstService {
|
|||||||
map1.put("flag", "9");
|
map1.put("flag", "9");
|
||||||
map1.put("assessor_id", "");
|
map1.put("assessor_id", "");
|
||||||
double allPersonTotal = 0; // 所有人总积分
|
double allPersonTotal = 0; // 所有人总积分
|
||||||
double allPersonTime = 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"));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
//放外层查询:根据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");
|
map1.put("flag", "10");
|
||||||
JSONArray allPersonTotalArr = WQL.getWO("QL_TEST_PERFORMANCEMST01").addParamMap(map1).process().getResultJSONArray(0);
|
JSONArray allPersonTotalArr = WQL.getWO("QL_TEST_PERFORMANCEMST01").addParamMap(map1).process().getResultJSONArray(0);
|
||||||
for (int k = 0; k < allPersonTotalArr.size(); k++) {
|
for (int k = 0; k < allPersonTotalArr.size(); k++) {
|
||||||
|
|||||||
@@ -219,7 +219,8 @@
|
|||||||
IF 输入.flag = "9"
|
IF 输入.flag = "9"
|
||||||
QUERY
|
QUERY
|
||||||
SELECT
|
SELECT
|
||||||
sum (IFNULL(dtl.workload,0)) AS num
|
sum (IFNULL(dtl.workload,0)) AS num,
|
||||||
|
mst.assessor_id
|
||||||
FROM
|
FROM
|
||||||
QL_TEST_PerformanceMst mst
|
QL_TEST_PerformanceMst mst
|
||||||
LEFT JOIN ql_test_performancedtl dtl ON mst.performance_id = dtl.performance_id AND dtl.item_code = 'XD20221013231'
|
LEFT JOIN ql_test_performancedtl dtl ON mst.performance_id = dtl.performance_id AND dtl.item_code = 'XD20221013231'
|
||||||
|
|||||||
Reference in New Issue
Block a user