10月31日学习进度

leapssisbird / 2025-01-20 / 原文

package com.leap.mes.controller;

import com.leap.mes.entity.*;
import com.leap.mes.mapper.WorkInfoMapper;
import com.leap.mes.util.Result;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Update;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

@RestController
@RequestMapping("/work")
public class WorkController {

    @Autowired
    private WorkInfoMapper workInfoMapper;

    @GetMapping("/getName")
    Result<String> getName(String id){
        return Result.success(workInfoMapper.getName(id));
    }


    @GetMapping("/getZl")
    Result<List<Zl>> getZl(){
        return Result.success(workInfoMapper.getZl());
    }

    @GetMapping("getTeam")
    Result<List<Team>> getTeam(){
        return Result.success(workInfoMapper.getTeam());
    }

    @PostMapping("/addScjh")
    Result addScjh(@RequestBody Scjh scjh){
        workInfoMapper.updateZlStatus("待分配任务",scjh);
        workInfoMapper.addScjh(scjh);
        return Result.success();
    }

    @GetMapping("/getScjh")
    Result<List<Scjh>> getScjh(){
        return Result.success(workInfoMapper.getScjh());
    }

    @GetMapping("/getWorker")
    Result<List<Worker>> getWorker(String teamName){
        return Result.success(workInfoMapper.getWorker(teamName));
    }

    @GetMapping("/getAllProcess")
    Result<List<String>> getAllProcess(){
        return Result.success(workInfoMapper.getAllProcess());
    }

    @GetMapping("/getProcess")
    Result<String> getProcess(String teamName){
        return Result.success(workInfoMapper.getProcess(teamName));
    }


    @PostMapping("/addWorkInfo")
    Result addWorkInfo(@RequestBody WorkInfo workInfo){
        workInfoMapper.addWorkInfo(workInfo);
        workInfoMapper.updateScjhStatus("已分配",workInfo);
        return Result.success();
    }

    @PatchMapping("/updateWorkInfoStatus")
    Result updateWorkInfoStatus(String status,String id){
        workInfoMapper.updateWorkInfoStatus(status,id);
        return Result.success();
    }

    @PatchMapping("/updateWorkInfo")
    Result updateWorkInfo(@RequestBody WorkInfo workInfo){
        workInfoMapper.updateWorkInfo(workInfo);
        workInfoMapper.updateZlCurrentProcess(workInfo);
        return Result.success();
    }

    @GetMapping("/getWorkInfo")
    Result<List<WorkInfo>> getWorkInfo(String id){
        return Result.success(workInfoMapper.getWorkInfo(id));

    }
    @GetMapping("/getAllWorkInfo")
    Result<List<WorkInfo>> getAllWorkInfo(){
        return Result.success(workInfoMapper.getAllWorkInfo());
    }



    @GetMapping("/getMonitorData")
    Result<List<Scjh>> getMonitorData() {
        return Result.success(workInfoMapper.getMonitorData());
    }

    @GetMapping("/getOrderProgress")
    Result<List<WorkInfo>> getOrderProgress(@RequestParam String generalOrder) {
        return Result.success(workInfoMapper.getOrderProgress(generalOrder));
    }

    @PatchMapping("/updateZlTotalProcess")
    Result updateZlTotalProcess(@RequestParam("selectedTeams") String selectedTeams, @RequestBody Zl zl){
        String[] teamsArray = selectedTeams.split(",");
        String totalProcess = Arrays.stream(teamsArray)
                .map(teamName -> {
                    String process = workInfoMapper.getProcess(teamName); // 获取对应的 process
                    List<String> processes = Arrays.asList(process.split(",")); // 解析 process
                    return String.join("->", processes); // 将解析后的 process 拼接为 "->"
                })
                .collect(Collectors.joining("->"));
        workInfoMapper.updateZlTotalProcess(totalProcess,zl);
        return Result.success();
    }
}