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); 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> 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); } } 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<>(); // 使用并发安全的Map 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()); } }