|
@@ -14,6 +14,8 @@ import org.apache.ibatis.annotations.Param;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
+import java.text.ParseException;
|
|
|
+import java.text.SimpleDateFormat;
|
|
|
import java.util.*;
|
|
|
|
|
|
|
|
@@ -160,13 +162,12 @@ public class WorkOrderManageServiceImpl implements WorkOrderManageService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public List<Map<String, Object>> eventMonthStatistics(WorkOrderManageDto workOrderManageDto) {
|
|
|
- String strMonth = workOrderManageDto.getStartDate().substring(5,7);
|
|
|
- int days = getDaysByYearMonth(Integer.parseInt(strMonth));
|
|
|
+ public List<Map<String, Object>> eventMonthStatistics(WorkOrderManageDto workOrderManageDto) throws ParseException {
|
|
|
+ int days = differentDaysByMillisecond(workOrderManageDto.getStartDate(),workOrderManageDto.getEndDate());
|
|
|
List<Map<String,Object>> result = new ArrayList<Map<String,Object>>();
|
|
|
List<Map<String,Object>> list = workOrderManageMapper.eventMonthStatistics(workOrderManageDto);
|
|
|
for(int i=0; i<days; i++) {
|
|
|
- String strDate = workOrderManageDto.getStartDate().substring(0, 7) + String.format("-%02d", i + 1);
|
|
|
+ String strDate = subDay(workOrderManageDto.getStartDate(),i);
|
|
|
Map<String, Object> data = new HashMap<>();
|
|
|
data.put("数量", 0);
|
|
|
data.put("日期", strDate);
|
|
@@ -252,13 +253,12 @@ public class WorkOrderManageServiceImpl implements WorkOrderManageService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public List<Map<String, Object>> dispatchTimesMonthStatistics(WorkOrderManageDto workOrderManageDto,List<Integer> idList) {
|
|
|
- String strMonth = workOrderManageDto.getStartDate().substring(5,7);
|
|
|
- int days = getDaysByYearMonth(Integer.parseInt(strMonth));
|
|
|
+ public List<Map<String, Object>> dispatchTimesMonthStatistics(WorkOrderManageDto workOrderManageDto) throws ParseException {
|
|
|
+ int days = differentDaysByMillisecond(workOrderManageDto.getStartDate(),workOrderManageDto.getEndDate());
|
|
|
List<Map<String,Object>> result = new ArrayList<Map<String,Object>>();
|
|
|
- List<Map<String,Object>> list = workOrderManageMapper.dispatchTimesMonthStatistics(workOrderManageDto,idList);
|
|
|
+ List<Map<String,Object>> list = workOrderManageMapper.dispatchTimesMonthStatistics(workOrderManageDto);
|
|
|
for(int i=0; i<days; i++) {
|
|
|
- String strDate = workOrderManageDto.getStartDate().substring(0, 7) + String.format("-%02d", i + 1);
|
|
|
+ String strDate = subDay(workOrderManageDto.getStartDate(),i);
|
|
|
Map<String, Object> data = new HashMap<>();
|
|
|
data.put("数量", 0);
|
|
|
data.put("日期", strDate);
|
|
@@ -274,8 +274,8 @@ public class WorkOrderManageServiceImpl implements WorkOrderManageService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public List<Map<String, Object>> dispatchTimesYearStatistics(WorkOrderManageDto workOrderManageDto, List<Integer> idList) {
|
|
|
- List<Map<String,Object>> list = workOrderManageMapper.dispatchTimesYearStatistics(workOrderManageDto,idList);
|
|
|
+ public List<Map<String, Object>> dispatchTimesYearStatistics(WorkOrderManageDto workOrderManageDto) {
|
|
|
+ List<Map<String,Object>> list = workOrderManageMapper.dispatchTimesYearStatistics(workOrderManageDto);
|
|
|
List<Map<String,Object>> result = new ArrayList<Map<String,Object>>();
|
|
|
for(int i=0; i<12; i++) {
|
|
|
String strDate = workOrderManageDto.getStartDate().substring(0, 4) + String.format("-%02d", i + 1);
|
|
@@ -304,22 +304,27 @@ public class WorkOrderManageServiceImpl implements WorkOrderManageService {
|
|
|
return workOrderManageMapper.findWorkFlowById(id);
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- *获取某月有多少天
|
|
|
- */
|
|
|
- private int getDaysByYearMonth(int month) {
|
|
|
-
|
|
|
- Calendar a =Calendar.getInstance();
|
|
|
-
|
|
|
- a.set(Calendar.MONTH, month- 1);
|
|
|
-
|
|
|
- a.set(Calendar.DATE, 1);
|
|
|
|
|
|
- a.roll(Calendar.DATE,-1);
|
|
|
-
|
|
|
- int maxDate =a.get(Calendar.DATE);
|
|
|
+ public int differentDaysByMillisecond(String date1,String date2) throws ParseException {
|
|
|
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
+ Date dt1 = sdf.parse(date1);
|
|
|
+ Date dt2 = sdf.parse(date2);
|
|
|
+ int days = (int) ((dt2.getTime() - dt1.getTime()) / (1000*3600*24));
|
|
|
+ return days;
|
|
|
+ }
|
|
|
|
|
|
- return maxDate;
|
|
|
|
|
|
+ /**
|
|
|
+ *日期加一天
|
|
|
+ */
|
|
|
+ private String subDay(String date, int n) throws ParseException {
|
|
|
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
+ Date dt = sdf.parse(date);
|
|
|
+ Calendar rightNow = Calendar.getInstance();
|
|
|
+ rightNow.setTime(dt);
|
|
|
+ rightNow.add(Calendar.DATE, n);
|
|
|
+ Date dt1 = rightNow.getTime();
|
|
|
+ String reStr = sdf.format(dt1);
|
|
|
+ return reStr;
|
|
|
}
|
|
|
}
|