|
|
|
@ -43,7 +43,8 @@ public class ProdReportServiceImpl implements IProdReportService {
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public TableDataInfo<PlanCompletionRateReportVo> planCompletionRateReportVoList(Map hashMap, PageQuery pageQuery) {
|
|
|
|
public TableDataInfo<PlanCompletionRateReportVo> planCompletionRateReportVoList(Map hashMap, PageQuery pageQuery) {
|
|
|
|
String tableName = getPlanInfoTableNameByProcessId(Long.parseLong(String.valueOf(hashMap.get("processId"))));
|
|
|
|
String tableName = getPlanInfoTableNameByProcessId(Long.parseLong(String.valueOf(hashMap.get("processId"))));
|
|
|
|
Page<PlanCompletionRateReportVo> page = prodReportMapper.planCompletionRateReportVoList(hashMap, pageQuery.build(), tableName);
|
|
|
|
Page<PlanCompletionRateReportVo> page = prodReportMapper.planCompletionRateReportVoList(hashMap,
|
|
|
|
|
|
|
|
pageQuery.build(), tableName);
|
|
|
|
return TableDataInfo.build(page);
|
|
|
|
return TableDataInfo.build(page);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@ -108,9 +109,11 @@ public class ProdReportServiceImpl implements IProdReportService {
|
|
|
|
* @return
|
|
|
|
* @return
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public TableDataInfo<PlanCompletionContrastReportVo> planCompletionContrastReportVoList(Map hashMap, PageQuery pageQuery) {
|
|
|
|
public TableDataInfo<PlanCompletionContrastReportVo> planCompletionContrastReportVoList(Map hashMap,
|
|
|
|
|
|
|
|
PageQuery pageQuery) {
|
|
|
|
String tableName = getPlanInfoTableNameByProcessId(Long.parseLong(String.valueOf(hashMap.get("processId"))));
|
|
|
|
String tableName = getPlanInfoTableNameByProcessId(Long.parseLong(String.valueOf(hashMap.get("processId"))));
|
|
|
|
Page<PlanCompletionContrastReportVo> page = prodReportMapper.planCompletionContrastReportVoList(hashMap, pageQuery.build(), tableName);
|
|
|
|
Page<PlanCompletionContrastReportVo> page = prodReportMapper.planCompletionContrastReportVoList(hashMap,
|
|
|
|
|
|
|
|
pageQuery.build(), tableName);
|
|
|
|
return TableDataInfo.build(page);
|
|
|
|
return TableDataInfo.build(page);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@ -157,7 +160,8 @@ public class ProdReportServiceImpl implements IProdReportService {
|
|
|
|
Long processId = parseProcessId(String.valueOf(hashMap.get("processId")));
|
|
|
|
Long processId = parseProcessId(String.valueOf(hashMap.get("processId")));
|
|
|
|
String detailTable = getPlanDetailTableNameByProcessId(processId);
|
|
|
|
String detailTable = getPlanDetailTableNameByProcessId(processId);
|
|
|
|
String planTable = getPlanInfoTableNameByProcessId(processId);
|
|
|
|
String planTable = getPlanInfoTableNameByProcessId(processId);
|
|
|
|
Page<WorkHourReportVo> page = prodReportMapper.workHourReportList(hashMap, pageQuery.build(), detailTable, planTable);
|
|
|
|
Page<WorkHourReportVo> page = prodReportMapper.workHourReportList(hashMap, pageQuery.build(), detailTable,
|
|
|
|
|
|
|
|
planTable);
|
|
|
|
return TableDataInfo.build(page);
|
|
|
|
return TableDataInfo.build(page);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@ -188,7 +192,8 @@ public class ProdReportServiceImpl implements IProdReportService {
|
|
|
|
Long processId = parseProcessId(String.valueOf(hashMap.get("processId")));
|
|
|
|
Long processId = parseProcessId(String.valueOf(hashMap.get("processId")));
|
|
|
|
String detailTable = getPlanDetailTableNameByProcessId(processId);
|
|
|
|
String detailTable = getPlanDetailTableNameByProcessId(processId);
|
|
|
|
String planTable = getPlanInfoTableNameByProcessId(processId);
|
|
|
|
String planTable = getPlanInfoTableNameByProcessId(processId);
|
|
|
|
Page<TeamWorkReportVo> page = prodReportMapper.teamWorkReportList(hashMap, pageQuery.build(), detailTable, planTable);
|
|
|
|
Page<TeamWorkReportVo> page = prodReportMapper.teamWorkReportList(hashMap, pageQuery.build(), detailTable,
|
|
|
|
|
|
|
|
planTable);
|
|
|
|
return TableDataInfo.build(page);
|
|
|
|
return TableDataInfo.build(page);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@ -316,7 +321,8 @@ public class ProdReportServiceImpl implements IProdReportService {
|
|
|
|
* @param orderIds 订单ID列表
|
|
|
|
* @param orderIds 订单ID列表
|
|
|
|
* @param orderProcessMap 结果映射
|
|
|
|
* @param orderProcessMap 结果映射
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
private void batchQueryProcessProgress(List<String> planCodes, Map<String, List<ProcessProgressVo>> planProcessMap) {
|
|
|
|
private void batchQueryProcessProgress(List<String> planCodes,
|
|
|
|
|
|
|
|
Map<String, List<ProcessProgressVo>> planProcessMap) {
|
|
|
|
// 查询半制品工序进度(prod_plan_info_2)
|
|
|
|
// 查询半制品工序进度(prod_plan_info_2)
|
|
|
|
queryProcessProgressByTable(planCodes, "prod_plan_info_2", planProcessMap);
|
|
|
|
queryProcessProgressByTable(planCodes, "prod_plan_info_2", planProcessMap);
|
|
|
|
|
|
|
|
|
|
|
|
@ -327,13 +333,13 @@ public class ProdReportServiceImpl implements IProdReportService {
|
|
|
|
queryProcessProgressByTable(planCodes, "prod_plan_info_4", planProcessMap);
|
|
|
|
queryProcessProgressByTable(planCodes, "prod_plan_info_4", planProcessMap);
|
|
|
|
|
|
|
|
|
|
|
|
// 对每个计划的工序进度进行排序
|
|
|
|
// 对每个计划的工序进度进行排序
|
|
|
|
planProcessMap.values().forEach(processList ->
|
|
|
|
planProcessMap.values().forEach(processList -> processList.sort((a, b) -> {
|
|
|
|
processList.sort((a, b) -> {
|
|
|
|
if (a.getProcessOrder() == null)
|
|
|
|
if (a.getProcessOrder() == null) return 1;
|
|
|
|
return 1;
|
|
|
|
if (b.getProcessOrder() == null) return -1;
|
|
|
|
if (b.getProcessOrder() == null)
|
|
|
|
|
|
|
|
return -1;
|
|
|
|
return a.getProcessOrder().compareTo(b.getProcessOrder());
|
|
|
|
return a.getProcessOrder().compareTo(b.getProcessOrder());
|
|
|
|
})
|
|
|
|
}));
|
|
|
|
);
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
@ -342,12 +348,14 @@ public class ProdReportServiceImpl implements IProdReportService {
|
|
|
|
* @param tableName 表名
|
|
|
|
* @param tableName 表名
|
|
|
|
* @param orderProcessMap 结果映射
|
|
|
|
* @param orderProcessMap 结果映射
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
private void queryProcessProgressByTable(List<String> planCodes, String tableName, Map<String, List<ProcessProgressVo>> planProcessMap) {
|
|
|
|
private void queryProcessProgressByTable(List<String> planCodes, String tableName,
|
|
|
|
|
|
|
|
Map<String, List<ProcessProgressVo>> planProcessMap) {
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
// 使用批量查询避免 N+1:一次性查询该工序表下所有计划的工序进度
|
|
|
|
// 使用批量查询避免 N+1:一次性查询该工序表下所有计划的工序进度
|
|
|
|
// 返回结果中包含 planCode 字段,便于在此处进行分组
|
|
|
|
// 返回结果中包含 planCode 字段,便于在此处进行分组
|
|
|
|
String tenantId = LoginHelper.getTenantId();
|
|
|
|
String tenantId = LoginHelper.getTenantId();
|
|
|
|
List<ProcessProgressVo> batchResults = prodReportMapper.getPlansProcessProgressBatch(planCodes, tableName, tenantId);
|
|
|
|
List<ProcessProgressVo> batchResults = prodReportMapper.getPlansProcessProgressBatch(planCodes, tableName,
|
|
|
|
|
|
|
|
tenantId);
|
|
|
|
if (batchResults != null && !batchResults.isEmpty()) {
|
|
|
|
if (batchResults != null && !batchResults.isEmpty()) {
|
|
|
|
for (ProcessProgressVo progress : batchResults) {
|
|
|
|
for (ProcessProgressVo progress : batchResults) {
|
|
|
|
String planCode = progress.getPlanCode();
|
|
|
|
String planCode = progress.getPlanCode();
|
|
|
|
@ -459,20 +467,24 @@ public class ProdReportServiceImpl implements IProdReportService {
|
|
|
|
|
|
|
|
|
|
|
|
for (String planTableName : planTables) {
|
|
|
|
for (String planTableName : planTables) {
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
List<ProcessProgressVo> processProgress = prodReportMapper.getPlanProcessProgress(planCode, planTableName);
|
|
|
|
List<ProcessProgressVo> processProgress = prodReportMapper.getPlanProcessProgress(planCode,
|
|
|
|
|
|
|
|
planTableName);
|
|
|
|
if (processProgress != null && !processProgress.isEmpty()) {
|
|
|
|
if (processProgress != null && !processProgress.isEmpty()) {
|
|
|
|
allProcessProgress.addAll(processProgress);
|
|
|
|
allProcessProgress.addAll(processProgress);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} catch (Exception e) {
|
|
|
|
} catch (Exception e) {
|
|
|
|
// 记录日志但不中断处理
|
|
|
|
// 记录日志但不中断处理
|
|
|
|
System.out.println("查询工序进度失败,计划编码: " + planCode + ", 表: " + planTableName + ", 错误: " + e.getMessage());
|
|
|
|
System.out.println(
|
|
|
|
|
|
|
|
"查询工序进度失败,计划编码: " + planCode + ", 表: " + planTableName + ", 错误: " + e.getMessage());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 按工序顺序排序
|
|
|
|
// 按工序顺序排序
|
|
|
|
allProcessProgress.sort((a, b) -> {
|
|
|
|
allProcessProgress.sort((a, b) -> {
|
|
|
|
if (a.getProcessOrder() == null) return 1;
|
|
|
|
if (a.getProcessOrder() == null)
|
|
|
|
if (b.getProcessOrder() == null) return -1;
|
|
|
|
return 1;
|
|
|
|
|
|
|
|
if (b.getProcessOrder() == null)
|
|
|
|
|
|
|
|
return -1;
|
|
|
|
return a.getProcessOrder().compareTo(b.getProcessOrder());
|
|
|
|
return a.getProcessOrder().compareTo(b.getProcessOrder());
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
@ -516,10 +528,12 @@ public class ProdReportServiceImpl implements IProdReportService {
|
|
|
|
|
|
|
|
|
|
|
|
// 时间字段转换
|
|
|
|
// 时间字段转换
|
|
|
|
if (vo.getPlanBeginTime() != null) {
|
|
|
|
if (vo.getPlanBeginTime() != null) {
|
|
|
|
exportVo.setPlanBeginTime(vo.getPlanBeginTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
|
|
|
|
exportVo.setPlanBeginTime(
|
|
|
|
|
|
|
|
vo.getPlanBeginTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (vo.getRealBeginTime() != null) {
|
|
|
|
if (vo.getRealBeginTime() != null) {
|
|
|
|
exportVo.setRealBeginTime(vo.getRealBeginTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
|
|
|
|
exportVo.setRealBeginTime(
|
|
|
|
|
|
|
|
vo.getRealBeginTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (vo.getPlanEndTime() != null) {
|
|
|
|
if (vo.getPlanEndTime() != null) {
|
|
|
|
exportVo.setPlanEndTime(vo.getPlanEndTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
|
|
|
|
exportVo.setPlanEndTime(vo.getPlanEndTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
|
|
|
|
@ -548,7 +562,8 @@ public class ProdReportServiceImpl implements IProdReportService {
|
|
|
|
.append(")");
|
|
|
|
.append(")");
|
|
|
|
|
|
|
|
|
|
|
|
// 如果有进度百分比,添加进度信息
|
|
|
|
// 如果有进度百分比,添加进度信息
|
|
|
|
if (process.getProcessProgress() != null && process.getProcessProgress().compareTo(BigDecimal.ZERO) > 0) {
|
|
|
|
if (process.getProcessProgress() != null
|
|
|
|
|
|
|
|
&& process.getProcessProgress().compareTo(BigDecimal.ZERO) > 0) {
|
|
|
|
processDetail.append(" ").append(process.getProcessProgress()).append("%");
|
|
|
|
processDetail.append(" ").append(process.getProcessProgress()).append("%");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -558,8 +573,6 @@ public class ProdReportServiceImpl implements IProdReportService {
|
|
|
|
return exportVo;
|
|
|
|
return exportVo;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* 根据订单信息确定需要查询的工序ID列表
|
|
|
|
* 根据订单信息确定需要查询的工序ID列表
|
|
|
|
* @param orderInfo 订单信息
|
|
|
|
* @param orderInfo 订单信息
|
|
|
|
@ -575,7 +588,8 @@ public class ProdReportServiceImpl implements IProdReportService {
|
|
|
|
|
|
|
|
|
|
|
|
if ("2".equals(dispatchType)) {
|
|
|
|
if ("2".equals(dispatchType)) {
|
|
|
|
// 工艺路线派工,通过工艺路线ID获取工序列表
|
|
|
|
// 工艺路线派工,通过工艺路线ID获取工序列表
|
|
|
|
Long routeId = dispatchIdObj instanceof Integer ? ((Integer) dispatchIdObj).longValue() : (Long) dispatchIdObj;
|
|
|
|
Long routeId = dispatchIdObj instanceof Integer ? ((Integer) dispatchIdObj).longValue()
|
|
|
|
|
|
|
|
: (Long) dispatchIdObj;
|
|
|
|
ProdBaseRouteProcessBo bo = new ProdBaseRouteProcessBo();
|
|
|
|
ProdBaseRouteProcessBo bo = new ProdBaseRouteProcessBo();
|
|
|
|
bo.setRouteId(routeId);
|
|
|
|
bo.setRouteId(routeId);
|
|
|
|
List<ProdBaseRouteProcessVo> routeProcessList = prodBaseRouteProcessService.queryList(bo);
|
|
|
|
List<ProdBaseRouteProcessVo> routeProcessList = prodBaseRouteProcessService.queryList(bo);
|
|
|
|
@ -588,7 +602,8 @@ public class ProdReportServiceImpl implements IProdReportService {
|
|
|
|
} else if ("3".equals(dispatchType)) {
|
|
|
|
} else if ("3".equals(dispatchType)) {
|
|
|
|
// 单工序派工,直接使用dispatchId作为工序ID
|
|
|
|
// 单工序派工,直接使用dispatchId作为工序ID
|
|
|
|
if (dispatchIdObj != null) {
|
|
|
|
if (dispatchIdObj != null) {
|
|
|
|
Long processId = dispatchIdObj instanceof Integer ? ((Integer) dispatchIdObj).longValue() : (Long) dispatchIdObj;
|
|
|
|
Long processId = dispatchIdObj instanceof Integer ? ((Integer) dispatchIdObj).longValue()
|
|
|
|
|
|
|
|
: (Long) dispatchIdObj;
|
|
|
|
processIds.add(processId);
|
|
|
|
processIds.add(processId);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
@ -605,7 +620,6 @@ public class ProdReportServiceImpl implements IProdReportService {
|
|
|
|
return processIds;
|
|
|
|
return processIds;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* 小时产量统计(按结束时间小时分桶)
|
|
|
|
* 小时产量统计(按结束时间小时分桶)
|
|
|
|
* @param hashMap 查询条件
|
|
|
|
* @param hashMap 查询条件
|
|
|
|
@ -618,7 +632,6 @@ public class ProdReportServiceImpl implements IProdReportService {
|
|
|
|
return prodReportMapper.hourlyOutputByHour(hashMap, detailTable, planTable);
|
|
|
|
return prodReportMapper.hourlyOutputByHour(hashMap, detailTable, planTable);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* 工序工单统计(按工序聚合):完成数量、未完成数量与完成率
|
|
|
|
* 工序工单统计(按工序聚合):完成数量、未完成数量与完成率
|
|
|
|
* 兼容传入的 processId,用于选择对应的计划表
|
|
|
|
* 兼容传入的 processId,用于选择对应的计划表
|
|
|
|
@ -630,7 +643,8 @@ public class ProdReportServiceImpl implements IProdReportService {
|
|
|
|
if (tenantId != null && !tenantId.isEmpty()) {
|
|
|
|
if (tenantId != null && !tenantId.isEmpty()) {
|
|
|
|
hashMap.put("tenantId", tenantId);
|
|
|
|
hashMap.put("tenantId", tenantId);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} catch (Exception ignore) {}
|
|
|
|
} catch (Exception ignore) {
|
|
|
|
|
|
|
|
}
|
|
|
|
Long processId = parseProcessId(hashMap.get("processId"));
|
|
|
|
Long processId = parseProcessId(hashMap.get("processId"));
|
|
|
|
String planTable = getPlanInfoTableNameByProcessId(processId);
|
|
|
|
String planTable = getPlanInfoTableNameByProcessId(processId);
|
|
|
|
return prodReportMapper.processWorkOrderStats(hashMap, planTable);
|
|
|
|
return prodReportMapper.processWorkOrderStats(hashMap, planTable);
|
|
|
|
@ -646,7 +660,8 @@ public class ProdReportServiceImpl implements IProdReportService {
|
|
|
|
if (tenantId != null && !tenantId.isEmpty()) {
|
|
|
|
if (tenantId != null && !tenantId.isEmpty()) {
|
|
|
|
hashMap.put("tenantId", tenantId);
|
|
|
|
hashMap.put("tenantId", tenantId);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} catch (Exception ignore) {}
|
|
|
|
} catch (Exception ignore) {
|
|
|
|
|
|
|
|
}
|
|
|
|
Long processId = parseProcessId(hashMap.get("processId"));
|
|
|
|
Long processId = parseProcessId(hashMap.get("processId"));
|
|
|
|
String planTable = getPlanInfoTableNameByProcessId(processId);
|
|
|
|
String planTable = getPlanInfoTableNameByProcessId(processId);
|
|
|
|
Page<HashMap<String, Object>> mpPage = pageQuery.build();
|
|
|
|
Page<HashMap<String, Object>> mpPage = pageQuery.build();
|
|
|
|
@ -686,12 +701,23 @@ public class ProdReportServiceImpl implements IProdReportService {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private Long asLong(Object o) {
|
|
|
|
private Long asLong(Object o) {
|
|
|
|
if (o == null) return null;
|
|
|
|
if (o == null)
|
|
|
|
try { return Long.parseLong(String.valueOf(o)); } catch (Exception e) { return null; }
|
|
|
|
return null;
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
|
|
|
return Long.parseLong(String.valueOf(o));
|
|
|
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
|
|
|
return null;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private BigDecimal asBigDecimal(Object o) {
|
|
|
|
private BigDecimal asBigDecimal(Object o) {
|
|
|
|
if (o == null) return BigDecimal.ZERO;
|
|
|
|
if (o == null)
|
|
|
|
try { return new BigDecimal(String.valueOf(o)); } catch (Exception e) { return BigDecimal.ZERO; }
|
|
|
|
return BigDecimal.ZERO;
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
|
|
|
return new BigDecimal(String.valueOf(o));
|
|
|
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
|
|
|
return BigDecimal.ZERO;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
@ -827,4 +853,54 @@ public class ProdReportServiceImpl implements IProdReportService {
|
|
|
|
return result;
|
|
|
|
return result;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* 看板接口5:返回合格数/不合格数统计数据
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
|
|
|
public HashMap<String, Object> getDashboardData5(Map hashMap) {
|
|
|
|
|
|
|
|
HashMap<String, Object> result = new HashMap<>();
|
|
|
|
|
|
|
|
// TODO: 根据实际业务逻辑查询数据
|
|
|
|
|
|
|
|
// 示例数据结构
|
|
|
|
|
|
|
|
List<String> x1 = new ArrayList<>();
|
|
|
|
|
|
|
|
x1.add("合格数");
|
|
|
|
|
|
|
|
x1.add("不合格数");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
List<String> y1 = new ArrayList<>();
|
|
|
|
|
|
|
|
y1.add("8");
|
|
|
|
|
|
|
|
y1.add("1");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
result.put("x1", x1);
|
|
|
|
|
|
|
|
result.put("y1", y1);
|
|
|
|
|
|
|
|
return result;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* 看板接口6:返回产品良率统计数据
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
|
|
|
public HashMap<String, Object> getDashboardData6(Map hashMap) {
|
|
|
|
|
|
|
|
HashMap<String, Object> result = new HashMap<>();
|
|
|
|
|
|
|
|
// TODO: 根据实际业务逻辑查询数据
|
|
|
|
|
|
|
|
// 示例数据结构
|
|
|
|
|
|
|
|
List<String> x1 = new ArrayList<>();
|
|
|
|
|
|
|
|
x1.add("产品1");
|
|
|
|
|
|
|
|
x1.add("产品2");
|
|
|
|
|
|
|
|
x1.add("产品3");
|
|
|
|
|
|
|
|
x1.add("产品4");
|
|
|
|
|
|
|
|
x1.add("产品5");
|
|
|
|
|
|
|
|
x1.add("产品6");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
List<Integer> y1 = new ArrayList<>();
|
|
|
|
|
|
|
|
y1.add(98);
|
|
|
|
|
|
|
|
y1.add(95);
|
|
|
|
|
|
|
|
y1.add(93);
|
|
|
|
|
|
|
|
y1.add(95);
|
|
|
|
|
|
|
|
y1.add(93);
|
|
|
|
|
|
|
|
y1.add(97);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
result.put("x1", x1);
|
|
|
|
|
|
|
|
result.put("y1", y1);
|
|
|
|
|
|
|
|
return result;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|