|
@@ -71,51 +71,56 @@ public class FbsWorkshopDispatchListServiceImpl extends ServiceImpl<FbsWorkshopD
|
|
|
|
|
|
Calendar cale = Calendar.getInstance();
|
|
|
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
- String firstday, lastday;
|
|
|
- if(fbsWorkshopDispatchListWhere.getYear()==null){
|
|
|
- // 获取前月的第一天
|
|
|
- cale = Calendar.getInstance();
|
|
|
- cale.add(Calendar.MONTH, 0);
|
|
|
- cale.set(Calendar.DAY_OF_MONTH, 1);
|
|
|
- firstday = format.format(cale.getTime());
|
|
|
- // 获取前月的最后一天
|
|
|
- cale = Calendar.getInstance();
|
|
|
- cale.add(Calendar.MONTH, 1);
|
|
|
- cale.set(Calendar.DAY_OF_MONTH, 0);
|
|
|
- lastday = format.format(cale.getTime());
|
|
|
- //获取开始时间结束时间 当前日期前15天时间
|
|
|
- // String startTime = fmt.format(new Date().getTime()-14*24*60*60*1000);
|
|
|
- // String endTime = fmt.format(new Date());
|
|
|
- }else{
|
|
|
- Calendar cal = Calendar.getInstance();
|
|
|
- //设置年份
|
|
|
- cal.set(Calendar.YEAR,Integer.parseInt(fbsWorkshopDispatchListWhere.getYear()));
|
|
|
- //设置月份
|
|
|
- cal.set(Calendar.MONTH, Integer.parseInt(fbsWorkshopDispatchListWhere.getMonth())-1);
|
|
|
- //获取某月最小天数
|
|
|
- int firstDay = cal.getActualMinimum(Calendar.DAY_OF_MONTH);
|
|
|
- //设置日历中月份的最小天数
|
|
|
- cal.set(Calendar.DAY_OF_MONTH, firstDay);
|
|
|
- firstday=format.format(cal.getTime());
|
|
|
- //设置日历中月份的最大天数
|
|
|
- int lastDay = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
|
|
|
- cal.set(Calendar.DAY_OF_MONTH, lastDay);
|
|
|
- lastday=format.format(cal.getTime());
|
|
|
+// String firstday, lastday;
|
|
|
+// if(fbsWorkshopDispatchListWhere.getYear()==null){
|
|
|
+// // 获取前月的第一天
|
|
|
+// cale = Calendar.getInstance();
|
|
|
+// cale.add(Calendar.MONTH, 0);
|
|
|
+// cale.set(Calendar.DAY_OF_MONTH, 1);
|
|
|
+// firstday = format.format(cale.getTime());
|
|
|
+// // 获取前月的最后一天
|
|
|
+// cale = Calendar.getInstance();
|
|
|
+// cale.add(Calendar.MONTH, 1);
|
|
|
+// cale.set(Calendar.DAY_OF_MONTH, 0);
|
|
|
+// lastday = format.format(cale.getTime());
|
|
|
+// }else{
|
|
|
+// Calendar cal = Calendar.getInstance();
|
|
|
+// //设置年份
|
|
|
+// cal.set(Calendar.YEAR,Integer.parseInt(fbsWorkshopDispatchListWhere.getYear()));
|
|
|
+// //设置月份
|
|
|
+// cal.set(Calendar.MONTH, Integer.parseInt(fbsWorkshopDispatchListWhere.getMonth())-1);
|
|
|
+// //获取某月最小天数
|
|
|
+// int firstDay = cal.getActualMinimum(Calendar.DAY_OF_MONTH);
|
|
|
+// //设置日历中月份的最小天数
|
|
|
+// cal.set(Calendar.DAY_OF_MONTH, firstDay);
|
|
|
+// firstday=format.format(cal.getTime());
|
|
|
+// //设置日历中月份的最大天数
|
|
|
+// int lastDay = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
|
|
|
+// cal.set(Calendar.DAY_OF_MONTH, lastDay);
|
|
|
+// lastday=format.format(cal.getTime());
|
|
|
+// }
|
|
|
+// String startTime = firstday;
|
|
|
+// String endTime = lastday;
|
|
|
+ List<String> codeList=new ArrayList<>();
|
|
|
+ for(FbsMomOrderdetail fbsMomOrderdetail:fbsMomOrderdetailList){
|
|
|
+ codeList.add(fbsMomOrderdetail.getMocode());
|
|
|
}
|
|
|
- String startTime = firstday;
|
|
|
- String endTime = lastday;
|
|
|
- List<FbsWorkshopDispatchList> fbsWorkshopDispatchListList=fbsWorkshopDispatchListMapper.getDispatchClose(startTime,endTime);
|
|
|
+ List<FbsWorkshopDispatchList> fbsWorkshopDispatchListList=fbsWorkshopDispatchListMapper.getDispatchClose("startTime","endTime",codeList);
|
|
|
+
|
|
|
+// List<FbsWorkshopDispatchList> fbsWorkshopDispatchListList=fbsWorkshopDispatchListMapper.getDispatchClose(startTime,endTime,codeList);
|
|
|
//两个时间之间的所有日期
|
|
|
- List<Date> dateList=startDateAndEndDate(startTime,endTime);
|
|
|
+// List<Date> dateList=startDateAndEndDate(startTime,endTime);
|
|
|
|
|
|
//组装派工单报表数据
|
|
|
- if(fbsWorkshopDispatchListListSum!=null&&fbsWorkshopDispatchListList!=null&&dateList!=null){
|
|
|
+
|
|
|
+ if(fbsWorkshopDispatchListListSum!=null&&fbsWorkshopDispatchListList!=null){
|
|
|
+// if(fbsWorkshopDispatchListListSum!=null&&fbsWorkshopDispatchListList!=null&&dateList!=null){
|
|
|
for(FbsWorkshopDispatchList dispatchListSum:fbsWorkshopDispatchListListSum){
|
|
|
Integer quantityCompletedTotal=0;
|
|
|
BigDecimal manHoursCompletedTotal=new BigDecimal(0.00);//累计总工时
|
|
|
List<FbsWorkshopDispatchList> dispatchListAdd=new ArrayList<>();//需要保存子集集合的派工单(日期分组派工单)
|
|
|
- for(Date date:dateList){
|
|
|
- String dateString=fmt.format(date);//时间
|
|
|
+// for(Date date:dateList){
|
|
|
+// String dateString=fmt.format(date);//时间
|
|
|
boolean isorder=false;
|
|
|
FbsWorkshopDispatchList fbsWorkshopDispatchList=new FbsWorkshopDispatchList();
|
|
|
BigDecimal number_of_tasks=new BigDecimal(0.00);//派工数量
|
|
@@ -132,7 +137,9 @@ public class FbsWorkshopDispatchListServiceImpl extends ServiceImpl<FbsWorkshopD
|
|
|
String pro=dispatchList.getProductId();//全部中的产品id
|
|
|
//找到对应当天的派工单则添加
|
|
|
|
|
|
- if(orderIdSum.equals(orderId)&&dateString.equals(dispatchDate)&&proSum.equals(pro)){
|
|
|
+// if(orderIdSum.equals(orderId)&&dateString.equals(dispatchDate)&&proSum.equals(pro)){
|
|
|
+
|
|
|
+ if(orderIdSum.equals(orderId)&&proSum.equals(pro)){
|
|
|
if(dispatchList.getQualifiedNumber()!=null){
|
|
|
quantityCompletedTotal+=dispatchList.getQualifiedNumber();//统计累计完成数量
|
|
|
}
|
|
@@ -162,9 +169,9 @@ public class FbsWorkshopDispatchListServiceImpl extends ServiceImpl<FbsWorkshopD
|
|
|
}
|
|
|
//没有则添加空的派工单
|
|
|
if(isorder==false){
|
|
|
- FbsWorkshopDispatchList fbsWorkshopDispatchList2=new FbsWorkshopDispatchList();
|
|
|
- fbsWorkshopDispatchList2.setFinalTime(date);
|
|
|
- dispatchListAdd.add(fbsWorkshopDispatchList2);
|
|
|
+// FbsWorkshopDispatchList fbsWorkshopDispatchList2=new FbsWorkshopDispatchList();
|
|
|
+// fbsWorkshopDispatchList2.setFinalTime(date);
|
|
|
+// dispatchListAdd.add(fbsWorkshopDispatchList2);
|
|
|
}else{
|
|
|
if(fbsWorkshopDispatchList.getQualifiedNumber()==null||fbsWorkshopDispatchList.getQualifiedNumber()==0){
|
|
|
fbsWorkshopDispatchList.setProductionEfficiency("0.0");
|
|
@@ -182,7 +189,7 @@ public class FbsWorkshopDispatchListServiceImpl extends ServiceImpl<FbsWorkshopD
|
|
|
dispatchListAdd.add(fbsWorkshopDispatchList);
|
|
|
|
|
|
}
|
|
|
- }
|
|
|
+// }
|
|
|
//订单完成数量
|
|
|
if(quantityCompletedTotal!=0){
|
|
|
dispatchListSum.setQuantityCompletedTotal(quantityCompletedTotal);
|
|
@@ -238,7 +245,8 @@ public class FbsWorkshopDispatchListServiceImpl extends ServiceImpl<FbsWorkshopD
|
|
|
mergeLines(fbsWorkshopDispatchListListSum);
|
|
|
//获取统计信息
|
|
|
if(fbsWorkshopDispatchListListSum!=null&&fbsWorkshopDispatchListListSum.size()>0){
|
|
|
- getStatisticsTotal(fbsWorkshopDispatchListListSum,dateList);
|
|
|
+// getStatisticsTotal(fbsWorkshopDispatchListListSum,dateList);
|
|
|
+ getStatisticsTotal(fbsWorkshopDispatchListListSum,null);
|
|
|
}
|
|
|
return fbsWorkshopDispatchListListSum;
|
|
|
}
|
|
@@ -446,53 +454,53 @@ public class FbsWorkshopDispatchListServiceImpl extends ServiceImpl<FbsWorkshopD
|
|
|
List<FbsWorkshopDispatchList> fbsWorkshopDispatchListListTotal=new ArrayList<>();
|
|
|
SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
//循环时间段
|
|
|
- for(Date date:dateList){
|
|
|
- String dateN=fmt.format(date);
|
|
|
- BigDecimal numberOfTasks=new BigDecimal("0.0");//当日计算数量
|
|
|
- Integer qualifiedNumber=0;//当日完成数量;
|
|
|
- BigDecimal standardWorkingHours=new BigDecimal(0.00);//当日标准工时;
|
|
|
- BigDecimal manHoursCompleted=new BigDecimal(0.00);//当日标准工时;
|
|
|
- //循环报表数据获取对应的时间数据
|
|
|
- for(FbsWorkshopDispatchList workshopDispatchList:fbsWorkshopDispatchListList){
|
|
|
- if(workshopDispatchList.getFbsWorkshopDispatchListList()!=null){
|
|
|
- for(FbsWorkshopDispatchList workshopDispatchListC:workshopDispatchList.getFbsWorkshopDispatchListList()){
|
|
|
- String endDate=fmt.format(workshopDispatchListC.getFinalTime());
|
|
|
- //找到对应时间的数据
|
|
|
- if(dateN.equals(endDate)){//累加
|
|
|
- if(workshopDispatchListC.getNumberOfTasks()!=null){
|
|
|
- numberOfTasks=numberOfTasks.add(workshopDispatchListC.getNumberOfTasks());
|
|
|
- }
|
|
|
- if(workshopDispatchListC.getQualifiedNumber()!=null){
|
|
|
- qualifiedNumber+=workshopDispatchListC.getQualifiedNumber();
|
|
|
- }
|
|
|
- if(isNumber(workshopDispatchListC.getStandardWorkingHours())){
|
|
|
- standardWorkingHours=standardWorkingHours.add(getDecimal(Double.valueOf(workshopDispatchListC.getStandardWorkingHours())));
|
|
|
- }
|
|
|
- if(isNumber(workshopDispatchListC.getManHoursCompleted())){
|
|
|
- manHoursCompleted=manHoursCompleted.add(getDecimal(Double.valueOf(workshopDispatchListC.getManHoursCompleted())));
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- //存储
|
|
|
- FbsWorkshopDispatchList fbsWorkshopDispatchList=new FbsWorkshopDispatchList();
|
|
|
- fbsWorkshopDispatchList.setNumberOfTasks(numberOfTasks);
|
|
|
- fbsWorkshopDispatchList.setQualifiedNumber(qualifiedNumber);
|
|
|
- fbsWorkshopDispatchList.setStandardWorkingHours(formatDouble5(standardWorkingHours.doubleValue())+"");
|
|
|
- fbsWorkshopDispatchList.setManHoursCompleted(formatDouble5(manHoursCompleted.doubleValue())+"");
|
|
|
- Double achievement=0.0;
|
|
|
- if(qualifiedNumber!=0||numberOfTasks.doubleValue()!=0){
|
|
|
- achievement=qualifiedNumber.doubleValue()/numberOfTasks.doubleValue();
|
|
|
- }
|
|
|
- fbsWorkshopDispatchList.setAchievementRate(formatDouble5((achievement*100.0)));
|
|
|
- Double production=0.0;
|
|
|
- if(standardWorkingHours.doubleValue()>0&&manHoursCompleted.doubleValue()>0){
|
|
|
- production=standardWorkingHours.divide(manHoursCompleted,2, RoundingMode.HALF_UP).multiply(getDecimal(100.0)).doubleValue();
|
|
|
- }
|
|
|
- fbsWorkshopDispatchList.setProductionEfficiency(production+"");
|
|
|
- fbsWorkshopDispatchListListTotal.add(fbsWorkshopDispatchList);
|
|
|
- }
|
|
|
+// for(Date date:dateList){
|
|
|
+// String dateN=fmt.format(date);
|
|
|
+// BigDecimal numberOfTasks=new BigDecimal("0.0");//当日计算数量
|
|
|
+// Integer qualifiedNumber=0;//当日完成数量;
|
|
|
+// BigDecimal standardWorkingHours=new BigDecimal(0.00);//当日标准工时;
|
|
|
+// BigDecimal manHoursCompleted=new BigDecimal(0.00);//当日标准工时;
|
|
|
+// //循环报表数据获取对应的时间数据
|
|
|
+// for(FbsWorkshopDispatchList workshopDispatchList:fbsWorkshopDispatchListList){
|
|
|
+// if(workshopDispatchList.getFbsWorkshopDispatchListList()!=null){
|
|
|
+// for(FbsWorkshopDispatchList workshopDispatchListC:workshopDispatchList.getFbsWorkshopDispatchListList()){
|
|
|
+// String endDate=fmt.format(workshopDispatchListC.getFinalTime());
|
|
|
+// //找到对应时间的数据
|
|
|
+// if(dateN.equals(endDate)){//累加
|
|
|
+// if(workshopDispatchListC.getNumberOfTasks()!=null){
|
|
|
+// numberOfTasks=numberOfTasks.add(workshopDispatchListC.getNumberOfTasks());
|
|
|
+// }
|
|
|
+// if(workshopDispatchListC.getQualifiedNumber()!=null){
|
|
|
+// qualifiedNumber+=workshopDispatchListC.getQualifiedNumber();
|
|
|
+// }
|
|
|
+// if(isNumber(workshopDispatchListC.getStandardWorkingHours())){
|
|
|
+// standardWorkingHours=standardWorkingHours.add(getDecimal(Double.valueOf(workshopDispatchListC.getStandardWorkingHours())));
|
|
|
+// }
|
|
|
+// if(isNumber(workshopDispatchListC.getManHoursCompleted())){
|
|
|
+// manHoursCompleted=manHoursCompleted.add(getDecimal(Double.valueOf(workshopDispatchListC.getManHoursCompleted())));
|
|
|
+// }
|
|
|
+// }
|
|
|
+// }
|
|
|
+// }
|
|
|
+// }
|
|
|
+// //存储
|
|
|
+// FbsWorkshopDispatchList fbsWorkshopDispatchList=new FbsWorkshopDispatchList();
|
|
|
+// fbsWorkshopDispatchList.setNumberOfTasks(numberOfTasks);
|
|
|
+// fbsWorkshopDispatchList.setQualifiedNumber(qualifiedNumber);
|
|
|
+// fbsWorkshopDispatchList.setStandardWorkingHours(formatDouble5(standardWorkingHours.doubleValue())+"");
|
|
|
+// fbsWorkshopDispatchList.setManHoursCompleted(formatDouble5(manHoursCompleted.doubleValue())+"");
|
|
|
+// Double achievement=0.0;
|
|
|
+// if(qualifiedNumber!=0||numberOfTasks.doubleValue()!=0){
|
|
|
+// achievement=qualifiedNumber.doubleValue()/numberOfTasks.doubleValue();
|
|
|
+// }
|
|
|
+// fbsWorkshopDispatchList.setAchievementRate(formatDouble5((achievement*100.0)));
|
|
|
+// Double production=0.0;
|
|
|
+// if(standardWorkingHours.doubleValue()>0&&manHoursCompleted.doubleValue()>0){
|
|
|
+// production=standardWorkingHours.divide(manHoursCompleted,2, RoundingMode.HALF_UP).multiply(getDecimal(100.0)).doubleValue();
|
|
|
+// }
|
|
|
+// fbsWorkshopDispatchList.setProductionEfficiency(production+"");
|
|
|
+// fbsWorkshopDispatchListListTotal.add(fbsWorkshopDispatchList);
|
|
|
+// }
|
|
|
|
|
|
|
|
|
//放到最后一行
|