|
|
|
@ -3714,6 +3714,80 @@ public class ScheduleServiceImpl implements ScheduleService { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public Map<String, Object> getTodoCenterStats(Map<String, Object> inData) { |
|
|
|
Map<String, Object> query = buildTodoCenterQuery(inData, false); |
|
|
|
Map<String, Object> dbStats = scheduleTodoMessageMapper.getTodoCenterStats(query); |
|
|
|
Map<String, Object> result = new HashMap<>(); |
|
|
|
result.put("totalCount", toDefaultInt(dbStats == null ? null : dbStats.get("totalCount"), 0)); |
|
|
|
result.put("pendingAuditCount", toDefaultInt(dbStats == null ? null : dbStats.get("pendingAuditCount"), 0)); |
|
|
|
result.put("pendingOperateCount", toDefaultInt(dbStats == null ? null : dbStats.get("pendingOperateCount"), 0)); |
|
|
|
result.put("lockPendingCount", toDefaultInt(dbStats == null ? null : dbStats.get("lockPendingCount"), 0)); |
|
|
|
result.put("pendingTotalCount", toDefaultInt(dbStats == null ? null : dbStats.get("pendingTotalCount"), 0)); |
|
|
|
result.put("completedCount", toDefaultInt(dbStats == null ? null : dbStats.get("completedCount"), 0)); |
|
|
|
return result; |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public PageUtils searchTodoCenterList(Map<String, Object> inData) { |
|
|
|
Map<String, Object> query = buildTodoCenterQuery(inData, true); |
|
|
|
int pageNo = toPositiveInt(inData == null ? null : inData.get("page"), 1); |
|
|
|
int pageSize = toPositiveInt(inData == null ? null : inData.get("limit"), 15); |
|
|
|
|
|
|
|
Integer totalCount = scheduleTodoMessageMapper.countTodoCenterList(query); |
|
|
|
List<Map<String, Object>> list = new ArrayList<>(); |
|
|
|
if (totalCount != null && totalCount > 0) { |
|
|
|
list = scheduleTodoMessageMapper.searchTodoCenterList(query); |
|
|
|
} |
|
|
|
return new PageUtils(list, totalCount == null ? 0 : totalCount, pageSize, pageNo); |
|
|
|
} |
|
|
|
|
|
|
|
private Map<String, Object> buildTodoCenterQuery(Map<String, Object> inData, boolean includePaging) { |
|
|
|
Map<String, Object> query = new HashMap<>(); |
|
|
|
query.put("site", trimToEmpty(inData == null ? null : inData.get("site"))); |
|
|
|
query.put("buNo", trimToEmpty(inData == null ? null : inData.get("buNo"))); |
|
|
|
query.put("infoCode", trimToEmpty(inData == null ? null : inData.get("infoCode"))); |
|
|
|
query.put("orderNo", trimToEmpty(inData == null ? null : inData.get("orderNo"))); |
|
|
|
query.put("seqNo", trimToEmpty(inData == null ? null : inData.get("seqNo"))); |
|
|
|
query.put("responsibilityDept", trimToEmpty(inData == null ? null : inData.get("responsibilityDept"))); |
|
|
|
query.put("keyword", trimToEmpty(inData == null ? null : inData.get("keyword"))); |
|
|
|
query.put("forceType", trimToEmpty(inData == null ? null : inData.get("forceType"))); |
|
|
|
query.put("todoStatus", trimToEmpty(inData == null ? null : inData.get("todoStatus"))); |
|
|
|
query.put("status", trimToEmpty(inData == null ? null : inData.get("status"))); |
|
|
|
|
|
|
|
if (includePaging) { |
|
|
|
int pageNo = toPositiveInt(inData == null ? null : inData.get("page"), 1); |
|
|
|
int pageSize = toPositiveInt(inData == null ? null : inData.get("limit"), 15); |
|
|
|
query.put("offset", (pageNo - 1) * pageSize); |
|
|
|
query.put("limit", pageSize); |
|
|
|
} |
|
|
|
return query; |
|
|
|
} |
|
|
|
|
|
|
|
private int toPositiveInt(Object value, int defaultValue) { |
|
|
|
Integer parsed = toInteger(value); |
|
|
|
if (parsed == null || parsed <= 0) { |
|
|
|
return defaultValue; |
|
|
|
} |
|
|
|
return parsed; |
|
|
|
} |
|
|
|
|
|
|
|
private int toDefaultInt(Object value, int defaultValue) { |
|
|
|
Integer parsed = toInteger(value); |
|
|
|
if (parsed == null) { |
|
|
|
return defaultValue; |
|
|
|
} |
|
|
|
return parsed; |
|
|
|
} |
|
|
|
|
|
|
|
private String trimToEmpty(Object value) { |
|
|
|
if (value == null) { |
|
|
|
return ""; |
|
|
|
} |
|
|
|
String text = String.valueOf(value).trim(); |
|
|
|
return StringUtils.hasText(text) ? text : ""; |
|
|
|
} |
|
|
|
|
|
|
|
private List<SplitRollMetricContext> buildSplitRollMetricContexts(SearchScheduleData inData) { |
|
|
|
List<SplitRollMetricContext> contextList = new ArrayList<>(); |
|
|
|
List<Map<String, Object>> rollRows = inData.getRollRows(); |
|
|
|
|