|
@@ -98,6 +98,13 @@ public class FbsWorkshopDispatchListServiceImpl extends ServiceImpl<FbsWorkshopD
|
|
|
for(Date date:dateList){
|
|
|
String dateString=fmt.format(date);//时间
|
|
|
boolean isorder=false;
|
|
|
+ FbsWorkshopDispatchList fbsWorkshopDispatchList=new FbsWorkshopDispatchList();
|
|
|
+ BigDecimal number_of_tasks=new BigDecimal(0.00);//派工数量
|
|
|
+ BigDecimal standard_working_hours=new BigDecimal(0.00);//标准工时
|
|
|
+ BigDecimal qualified_number=new BigDecimal(0.00);//完成数量
|
|
|
+ BigDecimal man_hours_completed=new BigDecimal(0.00);//完成工时
|
|
|
+ BigDecimal standard_working_hours_z=new BigDecimal(0.00);//单个标准工时
|
|
|
+ int i=1;
|
|
|
for(FbsWorkshopDispatchList dispatchList:fbsWorkshopDispatchListList){
|
|
|
String orderIdSum=dispatchListSum.getProductionOrderNumberName();//求和的派工生产单号
|
|
|
String orderId=dispatchList.getProductionOrderNumberName();//全部派工生产单号
|
|
@@ -105,20 +112,53 @@ public class FbsWorkshopDispatchListServiceImpl extends ServiceImpl<FbsWorkshopD
|
|
|
String proSum=dispatchListSum.getProductId();//求和中的产品id
|
|
|
String pro=dispatchList.getProductId();//全部中的产品id
|
|
|
//找到对应当天的派工单则添加
|
|
|
+
|
|
|
if(orderIdSum.equals(orderId)&&dateString.equals(dispatchDate)&&proSum.equals(pro)){
|
|
|
- dispatchListAdd.add(dispatchList);
|
|
|
if(dispatchList.getQualifiedNumber()!=null){
|
|
|
- quantityCompletedTotal+=dispatchList.getQualifiedNumber();//统计累计完成数量
|
|
|
+ quantityCompletedTotal+=new Double(qualified_number.doubleValue()).intValue();//统计累计完成数量
|
|
|
}
|
|
|
manHoursCompletedTotal=manHoursCompletedTotal.add(getDecimal(Double.valueOf(dispatchList.getManHoursCompleted())));//累计完成工时
|
|
|
+ fbsWorkshopDispatchList=dispatchList;
|
|
|
+ if(i<=1){
|
|
|
+ number_of_tasks=dispatchList.getNumberOfTasks();
|
|
|
+ standard_working_hours=getDecimal(Double.valueOf(dispatchList.getStandardWorkingHours()));
|
|
|
+ qualified_number=getDecimal(Double.valueOf(dispatchList.getQualifiedNumber()));
|
|
|
+ man_hours_completed=getDecimal(Double.valueOf(dispatchList.getManHoursCompleted()));
|
|
|
+ }else{
|
|
|
+ number_of_tasks=number_of_tasks.add(dispatchList.getNumberOfTasks());
|
|
|
+ standard_working_hours=standard_working_hours.add(getDecimal(Double.valueOf(dispatchList.getStandardWorkingHours())));
|
|
|
+ qualified_number=qualified_number.add(getDecimal(Double.valueOf(dispatchList.getQualifiedNumber())));
|
|
|
+ man_hours_completed=man_hours_completed.add(getDecimal(Double.valueOf(dispatchList.getManHoursCompleted())));
|
|
|
+ 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());
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
isorder=true;
|
|
|
+ i++;
|
|
|
}
|
|
|
}
|
|
|
//没有则添加空的派工单
|
|
|
if(isorder==false){
|
|
|
- FbsWorkshopDispatchList fbsWorkshopDispatchList=new FbsWorkshopDispatchList();
|
|
|
- fbsWorkshopDispatchList.setFinalTime(date);
|
|
|
+ FbsWorkshopDispatchList fbsWorkshopDispatchList2=new FbsWorkshopDispatchList();
|
|
|
+ fbsWorkshopDispatchList2.setFinalTime(date);
|
|
|
+ dispatchListAdd.add(fbsWorkshopDispatchList2);
|
|
|
+ }else{
|
|
|
+ if(fbsWorkshopDispatchList.getQualifiedNumber()==null||fbsWorkshopDispatchList.getQualifiedNumber()==0){
|
|
|
+ fbsWorkshopDispatchList.setProductionEfficiency("0.0");
|
|
|
+ }
|
|
|
+ if(i>1){
|
|
|
+ //一天存同个订单分多个派工单的情况
|
|
|
+ if(qualified_number.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()+"");
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
dispatchListAdd.add(fbsWorkshopDispatchList);
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
if(quantityCompletedTotal!=0){
|