|
|
|
@ -491,6 +491,20 @@ public class ReportServiceImpl implements ReportService {
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 质量返修报表
|
|
|
|
|
* @param paramMap
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
@Override
|
|
|
|
|
public Map<String, Object> qualityRepairReport(Map paramMap) {
|
|
|
|
|
String site = CommonMethods.getSite();
|
|
|
|
|
paramMap.put("site", site);
|
|
|
|
|
paramMap.put("locale", LocaleContextHolder.getLocale().getLanguage());
|
|
|
|
|
return reportMapper.qualityRepairReport(paramMap);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 事业部质量看板数据接口
|
|
|
|
@ -616,7 +630,11 @@ public class ReportServiceImpl implements ReportService {
|
|
|
|
|
ArrayList<HashMap<String, String>> firstThreeList = new ArrayList<>();
|
|
|
|
|
for (Map<String, String> abnormalQualityMap : abnormalQualityList) {
|
|
|
|
|
LinkedHashMap<String, String> firstThreeMap = new LinkedHashMap<>();
|
|
|
|
|
firstThreeMap.put("value1",abnormalQualityMap.get("item"));
|
|
|
|
|
if (abnormalQualityMap.get("item").length() > 30){
|
|
|
|
|
firstThreeMap.put("value1",abnormalQualityMap.get("item").substring(0,29));
|
|
|
|
|
}else {
|
|
|
|
|
firstThreeMap.put("value1",abnormalQualityMap.get("item"));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (abnormalQualityMap.get("workOrder").indexOf("/") != -1){
|
|
|
|
|
if (abnormalQualityMap.get("workOrder").split("/").length > 2){
|
|
|
|
@ -638,22 +656,23 @@ public class ReportServiceImpl implements ReportService {
|
|
|
|
|
HashMap<String, String> projectGanttChartHashMap = new HashMap<>();
|
|
|
|
|
String startDate = dateConvert(String.valueOf(abnormalQualityMap.get("startDate")));
|
|
|
|
|
projectGanttChartHashMap.put("start",startDate);
|
|
|
|
|
String planRate = String.valueOf(abnormalQualityMap.get("planRate"));
|
|
|
|
|
if (Float.valueOf(planRate) <= 0){
|
|
|
|
|
String planRate = dateConvert(String.valueOf(abnormalQualityMap.get("endPlanDate")));
|
|
|
|
|
if (Float.valueOf(planRate) < 1){
|
|
|
|
|
projectGanttChartHashMap.put("rate1", "1");
|
|
|
|
|
}else {
|
|
|
|
|
projectGanttChartHashMap.put("rate1", String.valueOf(Float.valueOf(planRate) * 0.7 - Float.valueOf(startDate)));
|
|
|
|
|
projectGanttChartHashMap.put("rate1", String.valueOf(Float.valueOf(planRate) - Float.valueOf(startDate)));
|
|
|
|
|
}
|
|
|
|
|
String rate = String.valueOf(abnormalQualityMap.get("rate"));
|
|
|
|
|
projectGanttChartHashMap.put("rate2",String.valueOf(Float.valueOf(rate) * 0.7 - Float.valueOf(startDate)));
|
|
|
|
|
String now = dateConvert(DateUtil.formatDate(new Date()));
|
|
|
|
|
projectGanttChartHashMap.put("rate3",String.valueOf(Float.valueOf(now) - Float.valueOf(startDate)));
|
|
|
|
|
//String now = dateConvert(DateUtil.formatDate(new Date()));
|
|
|
|
|
projectGanttChartHashMap.put("rate3",String.valueOf(Float.valueOf(abnormalQualityMap.get("planRate")) * 0.7 - Float.valueOf(startDate)));
|
|
|
|
|
projectGanttChartList.add(projectGanttChartHashMap);
|
|
|
|
|
}
|
|
|
|
|
result.put("projectGanttChartList",projectGanttChartList);
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 看板日期格式转换 任务开始时间
|
|
|
|
|
* @param date
|
|
|
|
@ -662,18 +681,20 @@ public class ReportServiceImpl implements ReportService {
|
|
|
|
|
private String dateConvert(String date){
|
|
|
|
|
|
|
|
|
|
long oneDate = 1000 * 60 * 60 * 24;
|
|
|
|
|
|
|
|
|
|
long tenWeek = 1000 * 60 * 60 * 24 * 7 * 10;
|
|
|
|
|
//任务开始时间
|
|
|
|
|
long dateTime = DateUtil.parseDate(date).getTime();
|
|
|
|
|
//十个周 70天 | 当前日期为基准 前四周 + 后六周
|
|
|
|
|
long currentTime = DateUtil.getCurrentDate().getTime();
|
|
|
|
|
//十个周 70天 | 当前一周开始时间为基准 前四周 + 后六周
|
|
|
|
|
long currentTime = DateUtil.getBeginDateByWeek().getTime();
|
|
|
|
|
// 四周前 毫秒数
|
|
|
|
|
long firstFourWeeksTime = currentTime - (oneDate * 28);
|
|
|
|
|
long firstFourWeeksTime = currentTime - (oneDate * ( 4 * 7 ));
|
|
|
|
|
// 天数 = (任务开始时间 - 四周前) / (1000 * 60 * 60 * 24)
|
|
|
|
|
double timeDifference = (double)(dateTime - firstFourWeeksTime) / (double)oneDate;
|
|
|
|
|
if (timeDifference > 70){
|
|
|
|
|
return "70.00";
|
|
|
|
|
}else if(timeDifference < 0){
|
|
|
|
|
return "1.00";
|
|
|
|
|
return "0.00";
|
|
|
|
|
}
|
|
|
|
|
return String.format("%.2f", timeDifference);
|
|
|
|
|
}
|
|
|
|
|