|
@@ -12,6 +12,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
import java.math.BigDecimal;
|
|
|
+import java.math.RoundingMode;
|
|
|
import java.text.ParseException;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.util.*;
|
|
@@ -172,7 +173,7 @@ public class FbsWorkshopDispatchListServiceImpl extends ServiceImpl<FbsWorkshopD
|
|
|
Integer numberOfTasksTotal=0;//月度计划
|
|
|
BigDecimal standardWorkingHoursTotal=new BigDecimal(0.00);//标准工时
|
|
|
Integer quantityCompletedTotal=0;//累计完成数量
|
|
|
-
|
|
|
+ BigDecimal manHoursCompletedTotal=new BigDecimal(0.00);//累计总工时
|
|
|
//循环累加计算
|
|
|
for(FbsWorkshopDispatchList workshopDispatchList:fbsWorkshopDispatchListList){
|
|
|
if(isNumber(workshopDispatchList.getNumberOfTasksTotal())){
|
|
@@ -184,6 +185,9 @@ public class FbsWorkshopDispatchListServiceImpl extends ServiceImpl<FbsWorkshopD
|
|
|
if(workshopDispatchList.getQuantityCompletedTotal()!=null){
|
|
|
quantityCompletedTotal+=workshopDispatchList.getQuantityCompletedTotal();
|
|
|
}
|
|
|
+ if(isNumber(workshopDispatchList.getManHoursCompletedTotal())){
|
|
|
+ manHoursCompletedTotal=manHoursCompletedTotal.add(getDecimal(Double.parseDouble(workshopDispatchList.getManHoursCompletedTotal())));
|
|
|
+ }
|
|
|
|
|
|
}
|
|
|
//获取按日期排列的统计数据
|
|
@@ -195,6 +199,7 @@ public class FbsWorkshopDispatchListServiceImpl extends ServiceImpl<FbsWorkshopD
|
|
|
Integer numberOfTasks=0;//当日计算数量
|
|
|
Integer qualifiedNumber=0;//当日完成数量;
|
|
|
BigDecimal standardWorkingHours=new BigDecimal(0.00);//当日标准工时;
|
|
|
+ BigDecimal manHoursCompleted=new BigDecimal(0.00);//当日标准工时;
|
|
|
//循环报表数据获取对应的时间数据
|
|
|
for(FbsWorkshopDispatchList workshopDispatchList:fbsWorkshopDispatchListList){
|
|
|
if(workshopDispatchList.getFbsWorkshopDispatchListList()!=null){
|
|
@@ -211,6 +216,9 @@ public class FbsWorkshopDispatchListServiceImpl extends ServiceImpl<FbsWorkshopD
|
|
|
if(isNumber(workshopDispatchListC.getStandardWorkingHours())){
|
|
|
standardWorkingHours=standardWorkingHours.add(getDecimal(Double.parseDouble(workshopDispatchListC.getStandardWorkingHours())));
|
|
|
}
|
|
|
+ if(isNumber(workshopDispatchListC.getManHoursCompleted())){
|
|
|
+ manHoursCompleted=manHoursCompleted.add(getDecimal(Double.parseDouble(workshopDispatchListC.getManHoursCompleted())));
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -220,6 +228,17 @@ public class FbsWorkshopDispatchListServiceImpl extends ServiceImpl<FbsWorkshopD
|
|
|
fbsWorkshopDispatchList.setNumberOfTasks(numberOfTasks);
|
|
|
fbsWorkshopDispatchList.setQualifiedNumber(qualifiedNumber);
|
|
|
fbsWorkshopDispatchList.setStandardWorkingHours(standardWorkingHours.doubleValue()+"");
|
|
|
+ fbsWorkshopDispatchList.setManHoursCompleted(manHoursCompleted.doubleValue()+"");
|
|
|
+ String achievement="0";
|
|
|
+ if(qualifiedNumber!=0||numberOfTasks!=0){
|
|
|
+ achievement=formatDouble5((double)qualifiedNumber/numberOfTasks);
|
|
|
+ }
|
|
|
+ fbsWorkshopDispatchList.setAchievementRate((Double.parseDouble(achievement)*100)+"");
|
|
|
+ Double production=0.0;
|
|
|
+ if(standardWorkingHours.doubleValue()>0){
|
|
|
+ production=manHoursCompleted.divide(standardWorkingHours,2, RoundingMode.HALF_UP).multiply(getDecimal(100.0)).doubleValue();
|
|
|
+ }
|
|
|
+ fbsWorkshopDispatchList.setProductionEfficiency(production+"");
|
|
|
fbsWorkshopDispatchListListTotal.add(fbsWorkshopDispatchList);
|
|
|
}
|
|
|
|
|
@@ -230,6 +249,7 @@ public class FbsWorkshopDispatchListServiceImpl extends ServiceImpl<FbsWorkshopD
|
|
|
fbsWorkshopDispatchList.setNumberOfTasksTotal(numberOfTasksTotal+"");
|
|
|
fbsWorkshopDispatchList.setStandardWorkingHoursTotal(standardWorkingHoursTotal.doubleValue()+"");
|
|
|
fbsWorkshopDispatchList.setQuantityCompletedTotal(quantityCompletedTotal);
|
|
|
+ fbsWorkshopDispatchList.setManHoursCompletedTotal(manHoursCompletedTotal.doubleValue()+"");
|
|
|
fbsWorkshopDispatchList.setFbsWorkshopDispatchListList(fbsWorkshopDispatchListListTotal);
|
|
|
fbsWorkshopDispatchListList.add(fbsWorkshopDispatchList);
|
|
|
}
|
|
@@ -250,6 +270,10 @@ public class FbsWorkshopDispatchListServiceImpl extends ServiceImpl<FbsWorkshopD
|
|
|
|
|
|
}
|
|
|
|
|
|
+ public static String formatDouble5(double d) {
|
|
|
+ return String.format("%.2f", d);
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public Map<String,Object> getProductHoursMonthReport() {
|
|
|
Map<String,Object> map=new HashMap<>();
|