|
@@ -150,11 +150,13 @@ public class FbsWorkshopDispatchListServiceImpl extends ServiceImpl<FbsWorkshopD
|
|
|
fbsWorkshopDispatchList.setNumberOfTasks(getDecimal(Double.valueOf(formatDouble5(number_of_tasks.doubleValue()))));
|
|
|
fbsWorkshopDispatchList.setStandardWorkingHours(formatDouble5(standard_working_hours.doubleValue()));
|
|
|
fbsWorkshopDispatchList.setQualifiedNumber(new Double(qualified_number.doubleValue()).intValue());
|
|
|
+ fbsWorkshopDispatchList.setManHoursCompleted(formatDouble5(man_hours_completed.doubleValue()));
|
|
|
}
|
|
|
|
|
|
|
|
|
isorder=true;
|
|
|
i++;
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
//没有则添加空的派工单
|
|
@@ -171,7 +173,7 @@ public class FbsWorkshopDispatchListServiceImpl extends ServiceImpl<FbsWorkshopD
|
|
|
if(man_hours_completed.doubleValue()>0.0){
|
|
|
|
|
|
fbsWorkshopDispatchList.setProductionEfficiency(getDecimal(Double.valueOf(fbsWorkshopDispatchList.getStandardWorkingHoursZ())).multiply(qualified_number).divide(man_hours_completed,1,BigDecimal.ROUND_HALF_UP).multiply(getDecimal(100.0)).doubleValue()+"");
|
|
|
- fbsWorkshopDispatchList.setAchievementRate(qualified_number.divide(number_of_tasks,1,BigDecimal.ROUND_HALF_UP).multiply(getDecimal(100.0)).doubleValue()+"");
|
|
|
+ fbsWorkshopDispatchList.setAchievementRate(qualified_number.divide(number_of_tasks,3,BigDecimal.ROUND_HALF_UP).multiply(getDecimal(100.0)).doubleValue()+"");
|
|
|
}
|
|
|
|
|
|
}
|
|
@@ -204,7 +206,9 @@ public class FbsWorkshopDispatchListServiceImpl extends ServiceImpl<FbsWorkshopD
|
|
|
//获取生产名称合并行
|
|
|
mergeLines(fbsWorkshopDispatchListListSum);
|
|
|
//获取统计信息
|
|
|
- getStatisticsTotal(fbsWorkshopDispatchListListSum,dateList);
|
|
|
+ if(fbsWorkshopDispatchListListSum!=null&&fbsWorkshopDispatchListListSum.size()>0){
|
|
|
+ getStatisticsTotal(fbsWorkshopDispatchListListSum,dateList);
|
|
|
+ }
|
|
|
return fbsWorkshopDispatchListListSum;
|
|
|
}
|
|
|
|
|
@@ -330,6 +334,7 @@ public class FbsWorkshopDispatchListServiceImpl extends ServiceImpl<FbsWorkshopD
|
|
|
BigDecimal standardWorkingHoursActualTotal=new BigDecimal(0.00);//实际标准工时
|
|
|
Integer quantityCompletedTotal=0;//累计完成数量
|
|
|
BigDecimal manHoursCompletedTotal=new BigDecimal(0.00);//累计总工时
|
|
|
+ List<String> list=new ArrayList<>();
|
|
|
//循环累加计算
|
|
|
for(FbsWorkshopDispatchList workshopDispatchList:fbsWorkshopDispatchListList){
|
|
|
if(isNumber(workshopDispatchList.getNumberOfTasksTotal())){
|
|
@@ -347,7 +352,7 @@ public class FbsWorkshopDispatchListServiceImpl extends ServiceImpl<FbsWorkshopD
|
|
|
if(isNumber(workshopDispatchList.getManHoursCompletedTotal())){
|
|
|
manHoursCompletedTotal=manHoursCompletedTotal.add(getDecimal(Double.valueOf(workshopDispatchList.getManHoursCompletedTotal())));
|
|
|
}
|
|
|
-
|
|
|
+ list.add(workshopDispatchList.getProductionOrderNumberName());
|
|
|
}
|
|
|
//获取按日期排列的统计数据
|
|
|
List<FbsWorkshopDispatchList> fbsWorkshopDispatchListListTotal=new ArrayList<>();
|
|
@@ -411,7 +416,14 @@ public class FbsWorkshopDispatchListServiceImpl extends ServiceImpl<FbsWorkshopD
|
|
|
fbsWorkshopDispatchList.setQuantityCompletedTotal(quantityCompletedTotal);
|
|
|
fbsWorkshopDispatchList.setManHoursCompletedTotal(formatDouble5(manHoursCompletedTotal.doubleValue())+"");
|
|
|
fbsWorkshopDispatchList.setFbsWorkshopDispatchListList(fbsWorkshopDispatchListListTotal);
|
|
|
- fbsWorkshopDispatchList.setRemainingWorkTotal(formatDouble5(standardWorkingHoursTotal.subtract(manHoursCompletedTotal).doubleValue()));
|
|
|
+ //获取剩余工时
|
|
|
+ //获取未完成的累计完成工时
|
|
|
+ BigDecimal outstandingCumulativeWorkDone=fbsWorkshopDispatchListMapper.getOutstandingCumulativeWorkDone(list);
|
|
|
+ if(outstandingCumulativeWorkDone!=null){
|
|
|
+ //标准总工时
|
|
|
+ fbsWorkshopDispatchList.setRemainingWorkTotal(formatDouble5(standardWorkingHoursTotal.subtract(outstandingCumulativeWorkDone).doubleValue()));
|
|
|
+
|
|
|
+ }
|
|
|
fbsWorkshopDispatchListList.add(fbsWorkshopDispatchList);
|
|
|
}
|
|
|
|
|
@@ -570,5 +582,10 @@ public class FbsWorkshopDispatchListServiceImpl extends ServiceImpl<FbsWorkshopD
|
|
|
return fbsWorkshopDispatchListMapper.getFirstFinalTime(pkWorkshopDispatchList);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public BigDecimal getOutstandingCumulativeWorkDone(List<String> listCode) {
|
|
|
+ return fbsWorkshopDispatchListMapper.getOutstandingCumulativeWorkDone(listCode);
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
}
|