From 2c183f0f9d534e37dd69809f0eedc19fabea82e8 Mon Sep 17 00:00:00 2001
From: 刘小明 <liuxm_a@163.com>
Date: 星期三, 28 八月 2024 11:16:03 +0800
Subject: [PATCH] 添加查询所有工站接口; 修改查询任务计划列表接口

---
 pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/schedule/ScheduleSv.java |   56 +++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 49 insertions(+), 7 deletions(-)

diff --git a/pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/schedule/ScheduleSv.java b/pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/schedule/ScheduleSv.java
index a7c5ec4..5080bd1 100644
--- a/pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/schedule/ScheduleSv.java
+++ b/pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/schedule/ScheduleSv.java
@@ -1,10 +1,14 @@
 package com.dy.pmsProduct.schedule;
 
+import cn.hutool.json.JSONArray;
+import cn.hutool.json.JSONObject;
 import com.dy.common.webUtil.QueryResultVo;
+import com.dy.pmsGlobal.daoBa.BaUserMapper;
 import com.dy.pmsGlobal.daoPlt.PltStationMapper;
 import com.dy.pmsGlobal.daoPr.PrAssemblyPlanMapper;
 import com.dy.pmsGlobal.daoPr.PrScheduleMapper;
 import com.dy.pmsGlobal.daoPr.PrScheduleRelMapper;
+import com.dy.pmsGlobal.pojoBa.BaUser;
 import com.dy.pmsGlobal.pojoPlt.PltStation;
 import com.dy.pmsGlobal.pojoPr.PrSchedule;
 import com.dy.pmsGlobal.pojoPr.PrScheduleRel;
@@ -17,6 +21,8 @@
 import java.util.List;
 import java.util.Map;
 import java.util.Optional;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.stream.Collectors;
 
 @Slf4j
 @Service
@@ -25,22 +31,33 @@
     private PrScheduleRelMapper scheduleRelDao;
     private PrAssemblyPlanMapper assemblyPlanDao;
     private PltStationMapper stationDao;
+    private BaUserMapper baUserDao;
+
     @Autowired
     public void setStationDao(PltStationMapper stationDao) {
         this.stationDao = stationDao;
     }
+
     @Autowired
     public void setScheduleRelDao(PrScheduleRelMapper scheduleRelDao) {
         this.scheduleRelDao = scheduleRelDao;
     }
+
     @Autowired
     public void setAssemblyPlanDao(PrAssemblyPlanMapper assemblyPlanDao) {
         this.assemblyPlanDao = assemblyPlanDao;
     }
+
     @Autowired
     public void setScheduleDao(PrScheduleMapper scheduleDao) {
         this.scheduleDao = scheduleDao;
     }
+
+    @Autowired
+    private void setBaUserMapper(BaUserMapper baUserDao) {
+        this.baUserDao = baUserDao;
+    }
+
     @Transactional
     public int save(PrSchedule schedule) {
         int count = scheduleDao.insertSelective(schedule);
@@ -53,11 +70,13 @@
         saveRel(schedule);
         return scheduleDao.updateByPrimaryKeySelective(schedule);
     }
+
     private void saveRel(PrSchedule schedule) {
-        schedule.relList.forEach(rel ->validateRelData(rel, schedule));
+        schedule.relList.forEach(rel -> validateRelData(rel, schedule));
         schedule.relList.forEach(rel -> scheduleRelDao.insertSelective(rel));
     }
-    private void validateRelData(PrScheduleRel rel,PrSchedule schedule) {
+
+    private void validateRelData(PrScheduleRel rel, PrSchedule schedule) {
         validatePlan(rel);
         validateStation(rel);
         rel.scheduleId = schedule.id;
@@ -87,11 +106,16 @@
         return scheduleDao.selectByPrimaryKey(id);
     }
 
+    public List<BaUser> selectById() {
+        List<BaUser> userList = baUserDao.getUserList();
+        return userList;
+    }
+
     public QueryResultVo<List<PrSchedule>> selectSome(QueryVo vo) {
         Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(vo);
         //鏌ヨ绗﹀悎鏉′欢鐨勮褰曟�绘暟
         Long itemTotal = scheduleDao.selectSomeCount(params);
-        QueryResultVo<List<PrSchedule>> rsVo = new QueryResultVo<>(vo.pageSize, vo.pageCurr) ;
+        QueryResultVo<List<PrSchedule>> rsVo = new QueryResultVo<>(vo.pageSize, vo.pageCurr);
         //璁$畻鍒嗛〉绛変俊鎭�
         rsVo.calculateAndSet(itemTotal, params);
         //鏌ヨ绗﹀悎鏉′欢鐨勮褰�
@@ -99,10 +123,28 @@
         return rsVo;
     }
 
-    public List<Map<String, Object>> selectPlan(QueryVo vo) {
-        List<Map<String,Object>> list = assemblyPlanDao.selectByPlanName(vo.planName);
-
-        return list;
+    public List<JSONObject> selectPlan(QueryVo vo) {
+        List<JSONObject> list = assemblyPlanDao.selectByPlanName(vo.planName);
+        Map<Long, JSONObject> map = new ConcurrentHashMap<>(); // 浣跨敤骞跺彂瀹夊叏鐨凪ap
+        for(JSONObject item:list){
+            Long planId = (Long) item.getObj("planId");
+            JSONObject innerObject = new JSONObject()
+                    .set("nodeId", 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());
     }
 
     public List<PrSchedule> selectAll(QueryVo queryVo) {

--
Gitblit v1.8.0