事业部项目进度看板数据接口修改

master
yinq 3 years ago
parent c753b65163
commit 6bb88ca3e3

@ -230,6 +230,19 @@ public class ReportController {
}
}
/**
*
*
*/
@GetMapping("/qualityRepairReport")
public R qualityRepairReport(@RequestParam(required = false) Map paramMap){
try{
return R.ok(reportService.qualityRepairReport(paramMap));
}catch (Exception e){
return R.failed(e.getMessage());
}
}
/**
*
* @param

@ -104,4 +104,11 @@ public interface ReportMapper {
List<Map<String, String>> abnormalQuality(@Param("user") String user);
List<Map<String, String>> projectScheduleShow(@Param("user") String user);
/**
*
* @param paramMap
* @return
*/
Map<String, Object> qualityRepairReport(Map paramMap);
}

@ -110,4 +110,11 @@ public interface ReportService {
* @return
*/
HashMap<String, Object> projectScheduleShow(String userGroup);
/**
*
* @param paramMap
* @return
*/
Map<String, Object> qualityRepairReport(Map paramMap);
}

@ -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);
}

@ -1387,12 +1387,16 @@
ORDER BY endPlanTime DESC) WIP
<where>
WIP.rate > 0.00
AND WIP.PLANNED_START_DATE >= (SYSDATE - 5 * 7)
<if test="user != null and user != ''">
AND WIP.workOrder like '%${user}%'
</if>
</where>
GROUP BY WIP.item, WIP.workOrder
ORDER BY"startDate" DESC
ORDER BY"rate" DESC
</select>
<select id="qualityRepairReport" parameterType="java.util.HashMap" resultType="java.util.HashMap">
</select>
</mapper>
Loading…
Cancel
Save