Bladeren bron

看板接口,首页报表接口

chenc 4 jaren geleden
bovenliggende
commit
92234108ea

+ 12 - 0
src/main/java/org/jeecg/modules/fbsWorkshopDispatchList/entity/FbsWorkshopDispatchList.java

@@ -161,4 +161,16 @@ public class FbsWorkshopDispatchList implements Serializable {
 
 	//单日完成工时
 	private String  manHoursCompleted;
+
+	//累计完成工时
+    @TableField(exist = false)
+    private String manHoursCompletedTotal;
+
+    //生产效率
+    @TableField(exist = false)
+    private String productionEfficiency;
+
+    //达成率
+    @TableField(exist = false)
+    private String achievementRate;
 }

+ 4 - 2
src/main/java/org/jeecg/modules/fbsWorkshopDispatchList/mapper/xml/FbsWorkshopDispatchListMapper.xml

@@ -21,7 +21,8 @@
         SELECT
             *,
             sum( number_of_tasks ) AS numberOfTasksTotal,
-            sum( standard_working_hours ) AS standardWorkingHoursTotal
+            sum( standard_working_hours ) AS standardWorkingHoursTotal,
+            sum(man_hours_completed) as manHoursCompletedTotal
         FROM
             fbs_workshop_dispatch_list
             where del_flag='0'
@@ -33,7 +34,8 @@
 
     <select id="getDispatchClose" resultType="org.jeecg.modules.fbsWorkshopDispatchList.entity.FbsWorkshopDispatchList">
         SELECT
-            fwdl.* ,fws.qualified_number,fws.end_date
+            fwdl.* ,fws.qualified_number,fws.end_date,convert(fwdl.man_hours_completed/fwdl.standard_working_hours,decimal(15,2))*100 as productionEfficiency
+            ,convert(fws.qualified_number/fwdl.number_of_tasks,decimal(15,2))*100 as achievementRate
         FROM
             fbs_workshop_dispatch_list fwdl
             left join fbs_working_statistics fws on fwdl.id=fws.pk_workshop_dispatch_list

+ 25 - 1
src/main/java/org/jeecg/modules/fbsWorkshopDispatchList/service/impl/FbsWorkshopDispatchListServiceImpl.java

@@ -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<>();