刘小明
2024-10-10 50bcc73377d38017ee5c36655028f53a3c25c58b
pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/schedule/ScheduleSv.java
@@ -1,7 +1,8 @@
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.BaPrivilegeMapper;
import com.dy.pmsGlobal.daoBa.BaUserMapper;
import com.dy.pmsGlobal.daoPlt.PltStationMapper;
import com.dy.pmsGlobal.daoPr.PrAssemblyPlanMapper;
@@ -20,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
@@ -61,7 +64,6 @@
        saveRel(schedule);
        return count;
    }
    @Transactional
    public int update(PrSchedule schedule) {
        scheduleRelDao.deleteByScheduleId(schedule.id);
@@ -121,9 +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<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());
    }
    public List<PrSchedule> selectAll(QueryVo queryVo) {