wangbo il y a 3 ans
Parent
commit
2b09a15ee8

+ 3 - 0
operation_manager/src/main/java/com/huaxu/order/dao/WorkOrderManageMapper.java

@@ -45,6 +45,9 @@ public interface WorkOrderManageMapper {
 
     Page<WorkOrderManageDto> findPage(IPage<WorkOrderManageDto> page, @Param("order") WorkOrderManageDto workOrderManageDto);
 
+
+    Map<String,Object> workOrderStatistics(@Param("order") WorkOrderManageDto workOrderManageDto);
+
     Page<WorkOrderManageDto> findByNo(IPage<WorkOrderManageDto> page, @Param("order") WorkOrderManageDto workOrderManageDto);
 
     List<WorkOrderManageDto> selectMaintainOrder(@Param("order") WorkOrderManageDto workOrderManageDto);

+ 1 - 3
operation_manager/src/main/java/com/huaxu/order/service/WorkOrderManageService.java

@@ -88,6 +88,7 @@ public interface WorkOrderManageService {
     Map<String,Object> selectMaintainUserStatus(@Param("userId") String userId);
 
 
+    Map<String,Object> workOrderStatistics(@Param("order") WorkOrderManageDto workOrderManageDto);
     /**
      * 待处理权限
      */
@@ -97,8 +98,5 @@ public interface WorkOrderManageService {
      */
     List<WorkOrderManageDto> selectOrderStatus(WorkOrderManageDto workOrderManageDto);
 
-
-
-
     List<WorkOrderManageDto> selectMaintainOrder(WorkOrderManageDto workOrderManageDto);
 }

+ 5 - 0
operation_manager/src/main/java/com/huaxu/order/service/impl/WorkOrderManageServiceImpl.java

@@ -153,6 +153,11 @@ public class WorkOrderManageServiceImpl implements WorkOrderManageService {
         return workOrderManageMapper.selectMaintainUserStatus(userId);
     }
 
+    @Override
+    public Map<String, Object> workOrderStatistics(WorkOrderManageDto workOrderManageDto) {
+        return workOrderManageMapper.workOrderStatistics(workOrderManageDto);
+    }
+
     @Override
     public int selectPendingPower(Map<String, Object> map) {
         return workOrderManageMapper.selectPendingPower(map);

+ 45 - 0
operation_manager/src/main/resources/mapper/order/WorkOrderManageMapper.xml

@@ -862,4 +862,49 @@
       order by t1.date_create desc
     </where>
   </select>
+
+
+  <!--工单完成情况统计-->
+  <select id="workOrderStatistics" resultType="map">
+    select  total '工单总数', finished '工单完成数', finished/total '工单完成率' from
+    (
+      select count(1) total,sum(case when order_status=2 then 1 when order_status =3 then 1 else 0 end) finished
+      from sc_work_order_manage t1
+      <where>
+        t1.order_status != 0
+        and t1.date_create &gt;= date_format(#{order.startDate,jdbcType=VARCHAR},'%Y-%c-%d')
+        and t1.date_create &lt; date_format(#{order.endDate,jdbcType=VARCHAR},'%Y-%c-%d')
+        <if test="order.tenantId != null and order.tenantId != ''">
+          and t1.tenant_id = #{order.tenantId}
+        </if>
+        <if test="order.userType!=null and order.userType!=-999 and order.userType!=-9999 and  order.programItems != null and order.programItems.size() > 0">
+          <if test="order.permissonType == 5 or order.permissonType == 2">
+            and ( t1.department_org_id in
+            <foreach collection="order.programItems" item="item" open="(" close=")" separator=",">
+              #{item.orgId}
+            </foreach>
+            or
+            t1.COMPANY_ORG_ID in
+            <foreach collection="order.programItems" item="item" open="(" close=")" separator=",">
+              #{item.orgId}
+            </foreach>
+            )
+          </if>
+          <if test="order.permissonType == 4 or order.permissonType == 3">
+            and t1.department_org_id in
+            <foreach collection="order.programItems" item="item" open="(" close=")" separator=",">
+              #{item.orgId}
+            </foreach>
+          </if>
+          <if test="order.permissonType == 1">
+            and t1.COMPANY_ORG_ID in
+            <foreach collection="order.programItems" item="item" open="(" close=")" separator=",">
+              #{item.orgId}
+            </foreach>
+            and (t1.department_org_id is null or t1.department_org_id =0)
+          </if>
+        </if>
+      </where>
+    ) a
+  </select>
 </mapper>