From 939d5f3d5e17e5ca0bfeec9c23c7c926b4cb1684 Mon Sep 17 00:00:00 2001 From: Fancy <Fancy.fx@outlook.com> Date: 星期二, 10 九月 2024 15:47:33 +0800 Subject: [PATCH] plan rate --- pms-parent/pms-web-other/src/main/java/com/dy/pmsOther/screen/ScreenReportSv.java | 40 ++++++++++++++++++++ pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/daoPr/PrAssemblyPlanMapper.java | 3 + pms-parent/pms-web-other/src/main/java/com/dy/pmsOther/screen/ScreenReportCtrl.java | 15 +++++-- pms-parent/pms-global/src/main/resources/mapper/PrAssemblyPlanMapper.xml | 7 +++ 4 files changed, 61 insertions(+), 4 deletions(-) diff --git a/pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/daoPr/PrAssemblyPlanMapper.java b/pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/daoPr/PrAssemblyPlanMapper.java index 6d4ea68..b0ff8ec 100644 --- a/pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/daoPr/PrAssemblyPlanMapper.java +++ b/pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/daoPr/PrAssemblyPlanMapper.java @@ -40,8 +40,11 @@ PrAssemblyPlan selectByDeviceNo(@Param("proCode") String proCode,@Param("batchNumber") String batchNumber); Long countByPlanIdAndNodeId(@Param("planId") Long planId,@Param("nodeId") Long nodeId); + List<JSONObject> selectByPlanName(@Param("planName") String planName); + List<JSONObject> queryPlanList(); + List<PrAssemblyPlan> selectAssyPlanList(PrAssemblyPlan params); List<PrAssemblyPlan> selectAssyPlanSimplify(PrAssemblyPlan params); diff --git a/pms-parent/pms-global/src/main/resources/mapper/PrAssemblyPlanMapper.xml b/pms-parent/pms-global/src/main/resources/mapper/PrAssemblyPlanMapper.xml index 1d84692..cf7ee7f 100644 --- a/pms-parent/pms-global/src/main/resources/mapper/PrAssemblyPlanMapper.xml +++ b/pms-parent/pms-global/src/main/resources/mapper/PrAssemblyPlanMapper.xml @@ -423,6 +423,13 @@ </if> </select> + <select id="queryPlanList" resultType="cn.hutool.json.JSONObject"> + select pp.`name` as pro_name, p.`name` ,p.number, p.output_number, concat(round(((p.output_number/p.number) * 100 ),0), '%') as complete_rate ,p.end_date + from (SELECT * FROM pr_assembly_plan WHERE STATUS = 1 and deleted = 0) p + LEFT JOIN plt_product pp + on p.pro_id = pp.id + ORDER BY end_date + </select> </mapper> diff --git a/pms-parent/pms-web-other/src/main/java/com/dy/pmsOther/screen/ScreenReportCtrl.java b/pms-parent/pms-web-other/src/main/java/com/dy/pmsOther/screen/ScreenReportCtrl.java index 21a3cbf..8ddcc73 100644 --- a/pms-parent/pms-web-other/src/main/java/com/dy/pmsOther/screen/ScreenReportCtrl.java +++ b/pms-parent/pms-web-other/src/main/java/com/dy/pmsOther/screen/ScreenReportCtrl.java @@ -1,5 +1,6 @@ package com.dy.pmsOther.screen; +import cn.hutool.json.JSONObject; import com.dy.common.aop.SsoPowerAop; import com.dy.common.webUtil.BaseResponse; import com.dy.common.webUtil.BaseResponseUtils; @@ -44,7 +45,13 @@ List<StaDeviceProductionLog> log = sv.queryDeviceLog(startTime,endTime); return BaseResponseUtils.buildSuccess(log); } -} - - - + /** + * 浠诲姟鐪嬫澘 鏌ヨ鍦ㄤ骇浠诲姟鐪嬫澘 + * */ + @GetMapping(path="queryPlanList") + @Log("鏌ヨ鍦ㄤ骇浠诲姟鐪嬫澘") + public BaseResponse<List<JSONObject>> queryPlanList(){ + List<JSONObject> list = sv.queryPlanList(); + return BaseResponseUtils.buildSuccess(list); + } +} \ No newline at end of file diff --git a/pms-parent/pms-web-other/src/main/java/com/dy/pmsOther/screen/ScreenReportSv.java b/pms-parent/pms-web-other/src/main/java/com/dy/pmsOther/screen/ScreenReportSv.java index 7d13209..1150855 100644 --- a/pms-parent/pms-web-other/src/main/java/com/dy/pmsOther/screen/ScreenReportSv.java +++ b/pms-parent/pms-web-other/src/main/java/com/dy/pmsOther/screen/ScreenReportSv.java @@ -1,7 +1,10 @@ package com.dy.pmsOther.screen; +import cn.hutool.json.JSONArray; +import cn.hutool.json.JSONObject; import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.dy.pmsGlobal.daoPr.PrAssemblyPlanMapper; import com.dy.pmsGlobal.daoSta.*; import com.dy.pmsGlobal.pojoSta.*; import lombok.extern.slf4j.Slf4j; @@ -18,6 +21,8 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; +import java.util.stream.Collectors; @Slf4j @Service @@ -27,6 +32,7 @@ private StaWipSnExMapper wipSnExDao; private StaDeviceProductionLogMapper deviceProductionLogDao; private StaRepairInfoMapper repairInfoDao; + private PrAssemblyPlanMapper assemblyPlanDao; @Autowired public void setDeviceLastDao(StaDeviceLastMapper deviceLastDao) { this.deviceLastDao = deviceLastDao; @@ -45,6 +51,11 @@ @Autowired public void setDeviceProductionLogDao(StaDeviceProductionLogMapper deviceProductionLogDao) { this.deviceProductionLogDao = deviceProductionLogDao; + } + + @Autowired + public void setAssemblyPlanDao(PrAssemblyPlanMapper assemblyPlanDao) { + this.assemblyPlanDao = assemblyPlanDao; } @Autowired @@ -98,4 +109,33 @@ Date date = Date.from(dt.atZone(ZoneId.systemDefault()).toInstant()); return date; } + + public List<JSONObject> queryPlanList() { + List<JSONObject> list = assemblyPlanDao.queryPlanList(); + Map<String, JSONObject> map = new ConcurrentHashMap<>(); // 浣跨敤骞跺彂瀹夊叏鐨凪ap + for(JSONObject item:list){ + String planId = String.valueOf(item.getObj("planId")); + JSONObject innerObject = new JSONObject() + .set("nodeId", String.valueOf(item.getObj("nodeId"))) + .set("content", item.getObj("content")); + if(map.containsKey(planId)){ + JSONArray array = (JSONArray)map.get(planId).get("nodes"); + array.add(innerObject); + }else{ + JSONArray array = new JSONArray(); + array.add(innerObject); + JSONObject outObject= new JSONObject() + .set("planId", planId) + .set("planName", item.getObj("planName")) + .set("nodes", array); + map.put(planId,outObject); + } + } + return map.values().stream().collect(Collectors.toList()); + } + + + + + } -- Gitblit v1.8.0