yejian016332 3 年之前
父节点
当前提交
2a974a7a6c

+ 2 - 0
imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/statisticalAnalysis/ProductLinePerformanceService.java

@@ -24,4 +24,6 @@ public interface ProductLinePerformanceService extends SuperCacheService<TaskNod
     List<TaskNode> queryOperatorDetailPerformance(TaskNode taskNode);
 
     List<TaskNode> queryOperatorDetailsPerformance(TaskNode params);
+
+    List<TaskNode> queryProductionLineOee(TaskNode params);
 }

+ 2 - 0
imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/statisticalAnalysis/dao/ProductLinePerformanceMapper.java

@@ -35,4 +35,6 @@ public interface ProductLinePerformanceMapper extends SuperMapper<TaskNode> {
     List<TaskNode> queryOperatorDetailPerformance(TaskNode taskNode);
 
     List<TaskNode> queryOperatorDetailsPerformance(TaskNode taskNode);
+
+    List<TaskNode> queryProductionLineOee(TaskNode taskNode);
 }

+ 18 - 0
imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/statisticalAnalysis/impl/ProductLinePerformanceServiceImpl.java

@@ -17,6 +17,8 @@ import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.Calendar;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -54,5 +56,21 @@ public class ProductLinePerformanceServiceImpl extends SuperCacheServiceImpl<Pro
         return baseMapper.queryOperatorDetailsPerformance(taskNode);
     }
 
+    @Override
+    public List<TaskNode> queryProductionLineOee(TaskNode params) {
+        if(null == params.getStatisticalDate()){
+            Calendar calCalendar = Calendar.getInstance();
+            int monthHour = calCalendar.getActualMaximum(Calendar.DATE) * 24;
+            params.setMonthHour(monthHour);
+        }else{
+            Date SearchDate = com.github.zuihou.common.util.DateUtil.stringToDate0(params.getStatisticalDate(),"yyyy-MM");
+            Calendar calCalendar = Calendar.getInstance();
+            calCalendar.setTime(SearchDate);
+            int monthHour = calCalendar.getActualMaximum(Calendar.DATE) * 24;
+            params.setMonthHour(monthHour);
+        }
+        return baseMapper.queryProductionLineOee(params);
+    }
+
 
 }

+ 16 - 0
imcs-admin-boot/imcs-business-biz/src/main/resources/mapper_business/base/statisticalAnalysis/ProductLinePerformanceMapper.xml

@@ -64,4 +64,20 @@
         AND d.loading_user_id IS NOT NULL and d.loading_user_id = #{loadingId} and date_format(d.start_time,'%Y-%m') = #{loadingDate} GROUP BY statisticalDate order by statisticalDate desc
 
     </select>
+
+    <select id="queryProductionLineOee" resultType="com.github.zuihou.business.operationManagementCenter.entity.TaskNode">
+        SELECT
+          b.name AS resourceName,
+          SUM(TIMESTAMPDIFF(MINUTE, d.start_time,d.end_time) / 60) / ${monthHour}  AS resourceOee
+        FROM zuihou_base_yj_0000.imcs_tenant_productionline a,
+             zuihou_base_yj_0000.imcs_tenant_productionresource b,
+             zuihou_base_yj_0000.imcs_t_task c,
+             zuihou_base_yj_0000.imcs_t_task_node d,
+             zuihou_base_yj_0000.c_auth_user e
+      WHERE a.id = b.productionline_id
+        AND b.id = c.resource_id
+        AND c.id = d.task_id
+        AND d.exe_status = '3'
+        and date_format(d.start_time,'%Y-%m') = #{statisticalDate} and  a.id = #{productionlineId} GROUP BY  b.id  order by b.id
+    </select>
 </mapper>

+ 28 - 3
imcs-admin-boot/imcs-business-controller/src/main/java/com/github/zuihou/business/controller/statisticalAnalysis/ProductLinePerformanceController.java

@@ -1,7 +1,11 @@
 package com.github.zuihou.business.controller.statisticalAnalysis;
 
 import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.convert.Convert;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.github.zuihou.authority.entity.auth.User;
+import com.github.zuihou.authority.entity.core.Org;
+import com.github.zuihou.authority.enumeration.auth.AuthorizeType;
 import com.github.zuihou.base.R;
 import com.github.zuihou.base.controller.SuperController;
 import com.github.zuihou.base.request.PageParams;
@@ -19,6 +23,7 @@ import com.github.zuihou.business.statisticalAnalysis.ProductLinePerformanceServ
 import com.github.zuihou.database.mybatis.conditions.query.LbqWrapper;
 import com.github.zuihou.database.mybatis.conditions.query.QueryWrap;
 import com.github.zuihou.log.annotation.SysLog;
+import com.github.zuihou.tenant.entity.TenantRoleAuthority;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
@@ -29,9 +34,10 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
-import java.util.Calendar;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
+import java.util.stream.Collectors;
+
+import static com.github.zuihou.utils.StrPool.EMPTY;
 
 
 /**
@@ -83,4 +89,23 @@ public class ProductLinePerformanceController extends SuperController<ProductLin
     public R<List<TaskNode>> queryOperatorDetailsPerformance(@RequestBody(required = true) TaskNode params) {
         return success(baseService.queryOperatorDetailsPerformance(params));
     }
+
+    @ApiOperation(value = "查询产线月设备OEE", notes = "查询产线月份人员日工时管理")
+    @PostMapping("/queryProductionLineOee")
+    public R<Map<String,List>> queryProductionLineOee(@RequestBody(required = true) TaskNode params) {
+        List<TaskNode> datas = baseService.queryProductionLineOee(params);
+        Map<String,List> oee = new HashMap<String,List>();
+        List xData= new ArrayList();
+        List yData= new ArrayList();
+        xData = datas.stream().map((map) -> {
+            return map.getResourceName();
+        }).collect(Collectors.toList());
+
+        yData = datas.stream().map((map) -> {
+            return map.getResourceOee();
+        }).collect(Collectors.toList());
+        oee.put("xData",xData);
+        oee.put("yData",yData);
+        return success(oee);
+    }
 }

+ 10 - 0
imcs-admin-boot/imcs-business-entity/src/main/java/com/github/zuihou/business/operationManagementCenter/entity/TaskNode.java

@@ -423,6 +423,16 @@ public class TaskNode extends Entity<Long> {
     @TableField(exist = false)
     private String loadingDate;
 
+    @ApiModelProperty(value="")
+    @TableField(exist = false)
+    private int monthHour;
+
+    @ApiModelProperty(value="设备名称")
+    @TableField(exist = false)
+    private String resourceName;
 
+    @ApiModelProperty(value="设备OEE")
+    @TableField(exist = false)
+    private double resourceOee;
 
 }