chenchuang 3 anni fa
parent
commit
08a7ed2b73

+ 1 - 1
src/main/java/org/jeecg/modules/appInterface/controller/FbsWorkingStatisticsController.java

@@ -1193,7 +1193,7 @@ public class FbsWorkingStatisticsController {
 		 }
 		 QueryWrapper<FbsWorkingStatistics> queryWrapper = QueryGenerator.initQueryWrapper(fbsWorkingStatistics, req.getParameterMap());
 		 queryWrapper.eq("fws.del_flag","0");
-		 queryWrapper.groupBy("fwdl.cost_item_code","fwdl.project_name","ftp.memo","fws.order_number","fws.materiel_code","fws.materiel_name","fws.fbs_technological_process_item_id","fws.fbs_technological_process_item_name","fws.personnel_code","fws.personnel_name");
+		 queryWrapper.groupBy("fwdl.cost_item_code","fwdl.project_name","ftp.memo","fws.order_number","fws.materiel_code","fws.materiel_name","fws.fbs_technological_process_item_id","fws.fbs_technological_process_item_name");
 		 if(StringUtils.isNotBlank(costItemCode)){
 		 	queryWrapper.eq("fwdl.cost_item_code",costItemCode);
 		 }

+ 4 - 0
src/main/java/org/jeecg/modules/appInterface/entity/FbsWorkingStatistics.java

@@ -185,4 +185,8 @@ public class FbsWorkingStatistics implements Serializable {
 	//工艺标准工时
 	@TableField(exist = false)
 	private BigDecimal standardWorkingHoursProcess;
+
+	//派工数
+	@TableField(exist = false)
+	private BigDecimal numberOfTasks;
 }

+ 54 - 9
src/main/java/org/jeecg/modules/appInterface/mapper/xml/FbsWorkingStatisticsMapper.xml

@@ -41,7 +41,8 @@
             fwdl.del_flag = '0'
             AND fws.final_state = '3'
             AND date_format( fws.final_time, #{dateString} ) = DATE_FORMAT( now( ), #{dateString} )-->
-        SELECT
+
+       <!-- SELECT
         CONVERT
         (sum( fws.working_hours ), DECIMAL ( 15, 2 ) ) AS '生产',
         (
@@ -122,16 +123,59 @@
         <if test="dateString=='%Y-%m'">
             and DATE_FORMAT(now(),#{dateString}) <![CDATA[ >= ]]> DATE_FORMAT(fws.final_time,#{dateString})
             and DATE_FORMAT(now(),#{dateString}) <![CDATA[ <= ]]> DATE_FORMAT(fws.final_time,#{dateString})
+        </if>-->
+
+
+        SELECT
+        CONVERT
+        (sum( fws.working_hours ), DECIMAL ( 15, 2 ) ) AS '生产工时',
+        (
+        SELECT
+        IFNULL(sum( train ),0) + IFNULL(sum( meeting ),0) + IFNULL(sum( five_s ),0) + IFNULL(sum( research_and_development ),0)+ IFNULL(sum( other ),0)
+        FROM
+        fbs_abnormal_working_hours
+        WHERE
+        del_flag = '0'
+        <if test="dateString=='%Y-%m-%d'">
+            AND date_format(
+            date, #{dateString} ) = DATE_FORMAT( date_sub(curdate(),interval 1 day),  #{dateString} )
+        </if>
+        <if test="dateString=='%Y-%m'">
+            AND date_format(
+            date, #{dateString} ) = DATE_FORMAT( now(),  #{dateString} )
+        </if>
+
+        )
+        AS '无效工时',
+        (
+        SELECT
+        IFNULL(sum( fawhd.abnormal_working_hours ),0)
+        FROM
+        fbs_abnormal_working_hours fawh
+        left join fbs_abnormal_working_hours_describe fawhd on fawh.id=fawhd.abnormal_working_hours_id and fawhd.del_flag='0'
+        WHERE
+        fawh.del_flag = '0'
+        <if test="dateString=='%Y-%m-%d'">
+            AND date_format(
+            fawh.date, #{dateString} ) = DATE_FORMAT( date_sub(curdate(),interval 1 day),  #{dateString} )
+        </if>
+        <if test="dateString=='%Y-%m'">
+            AND date_format(
+            fawh.date, #{dateString} ) = DATE_FORMAT( now(),  #{dateString} )
         </if>
-        <!--
+        ) as '异常工时'
+        FROM
+        fbs_working_statistics fws
+        WHERE
+        fws.del_flag = '0'
         <if test="dateString=='%Y-%m-%d'">
-            and DATE_FORMAT(date_sub(curdate(),interval 1 day),#{dateString}) <![CDATA[ >= ]]> DATE_FORMAT(fwdl.planned_start_time,#{dateString})
-            and DATE_FORMAT(date_sub(curdate(),interval 1 day),#{dateString}) <![CDATA[ <= ]]> DATE_FORMAT(fwdl.planned_end_time,#{dateString})
+            and DATE_FORMAT(date_sub(curdate(),interval 1 day),#{dateString}) <![CDATA[ >= ]]> DATE_FORMAT(fws.final_time,#{dateString})
+            and DATE_FORMAT(date_sub(curdate(),interval 1 day),#{dateString}) <![CDATA[ <= ]]> DATE_FORMAT(fws.final_time,#{dateString})
         </if>
         <if test="dateString=='%Y-%m'">
-            and DATE_FORMAT(now(),#{dateString}) <![CDATA[ >= ]]> DATE_FORMAT(fwdl.planned_start_time,#{dateString})
-            and DATE_FORMAT(now(),#{dateString}) <![CDATA[ <= ]]> DATE_FORMAT(fwdl.planned_end_time,#{dateString})
-        </if>-->
+            and DATE_FORMAT(now(),#{dateString}) <![CDATA[ >= ]]> DATE_FORMAT(fws.final_time,#{dateString})
+            and DATE_FORMAT(now(),#{dateString}) <![CDATA[ <= ]]> DATE_FORMAT(fws.final_time,#{dateString})
+        </if>
 
     </select>
 
@@ -181,11 +225,12 @@
             fws.materiel_name,
             fws.fbs_technological_process_item_id,
             fws.fbs_technological_process_item_name,
-            fws.personnel_code,
-            fws.personnel_name,
+            group_concat(fws.personnel_code separator ',') as personnelCode,
+            group_concat(fws.personnel_name separator ',') as personnelName,
             min( fws.first_time ) as firstTime,
             max( fws.final_time ) as finalTime,
             sum( fws.working_hours ) as workingHours,
+            fwdl.number_of_tasks,
             (fwdl.number_of_tasks * IFNULL( ftpi.standard_working_hours, 0 )) AS standardWorkingHoursProcess,
             ROUND((fwdl.number_of_tasks * IFNULL( ftpi.standard_working_hours, 0 ))/sum( fws.working_hours )*100,0) AS efficiency
         FROM

+ 22 - 11
src/main/java/org/jeecg/modules/appInterface/service/impl/FbsWorkingStatisticsServiceImpl.java

@@ -60,24 +60,35 @@ public class FbsWorkingStatisticsServiceImpl extends ServiceImpl<FbsWorkingStati
         Map<String,Object> mapR=new LinkedHashMap<>();
         if(map!=null){
 
-            if(map.get("生产")!=null&&Double.valueOf(String.valueOf(map.get("生产")))>0){
-                mapR.put("生产",map.get("生产"));
-            }
-            if(map.get("其他")!=null&&Double.valueOf(String.valueOf(map.get("其他")))>0){
-                mapR.put("其他(5S、会议、培训、研发)",map.get("其他"));
-
+//            if(map.get("生产")!=null&&Double.valueOf(String.valueOf(map.get("生产")))>0){
+//                mapR.put("生产",map.get("生产"));
+//            }
+//            if(map.get("其他")!=null&&Double.valueOf(String.valueOf(map.get("其他")))>0){
+//                mapR.put("其他(5S、会议、培训、研发)",map.get("其他"));
+//
+//            }
+//            if(map.get("异常")!=null&&Double.valueOf(String.valueOf(map.get("异常")))>0){
+//                mapR.put("异常",map.get("异常"));
+//
+//            }
+//            if(map.get("仓库")!=null&&Double.valueOf(String.valueOf(map.get("仓库")))>0){
+//                mapR.put("仓库",map.get("仓库"));
+//
+//            }
+            if(map.get("生产工时")!=null&&Double.valueOf(String.valueOf(map.get("生产工时")))>0){
+                mapR.put("生产工时",map.get("生产工时"));
             }
-            if(map.get("异常")!=null&&Double.valueOf(String.valueOf(map.get("异常")))>0){
-                mapR.put("异常",map.get("异常"));
+            if(map.get("无效工时")!=null&&Double.valueOf(String.valueOf(map.get("无效工时")))>0){
+                mapR.put("无效工时",map.get("无效工时"));
 
             }
-            if(map.get("仓库")!=null&&Double.valueOf(String.valueOf(map.get("仓库")))>0){
-                mapR.put("仓库",map.get("仓库"));
+            if(map.get("异常工时")!=null&&Double.valueOf(String.valueOf(map.get("异常工时")))>0){
+                mapR.put("异常工时",map.get("异常工时"));
 
             }
         }
 
-        return mapR;
+        return map;
     }
 
     @Override

+ 1 - 0
src/main/java/org/jeecg/modules/fbsPuArrivalvouch/mapper/xml/FbsPuArrivalvouchMapper.xml

@@ -232,6 +232,7 @@
             p.dDate,
             getdate()) =0 sql修改-->
             DATE_FORMAT( p.dDate, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' )
+            and pa.fRealQuantity = pa.fValidInQuan
             AND d.bPropertyCheck=1
     </select>