ZengTao
2024-08-02 fd5db10a0a6c2429a012501da022a4129259901b
修改值班信息接口
7个文件已修改
98 ■■■■■ 已修改文件
hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/controller/DamageController.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/DamageService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/common/servicebase/src/main/java/com/mes/work_assignment/controller/WorkAssignmentController.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/common/servicebase/src/main/java/com/mes/work_assignment/service/WorkAssignmentService.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/common/servicebase/src/main/java/com/mes/work_assignment/service/impl/WorkAssignmentServiceImpl.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcSlicecage.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/controller/DamageController.java
@@ -43,13 +43,9 @@
    @ApiOperation("报工")
    @PostMapping("/submitDamage")
    public Result submitDamage(@RequestBody Map map) {
        String startTime=map.get("startTime").toString();
        String endTime=map.get("endTime").toString();
        int type =Integer.parseInt(map.get("type").toString());
        int status =Integer.parseInt(map.get("status").toString());
        String workingProcedure =map.get("workingProcedure").toString();
        damageService.submitDamage(startTime,endTime,type,status,workingProcedure);
    public Result submitDamage(@RequestBody List<Damage> damageList) {
        damageService.submitDamage(damageList);
        damageService.updateBatchById(damageList);
        return Result.build(200,"报工成功",1);
    }
hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/DamageService.java
@@ -19,7 +19,7 @@
    List<Damage> selectDamage(String startTime, String endTime, int type, int status, String workingProcedure);
    void submitDamage(String startTime, String endTime, int type, int status, String workingProcedure);
    void submitDamage(List<Damage> damageList);
    void insertDamage(Damage damage);
}
hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java
@@ -21,6 +21,7 @@
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.stream.Collectors;
/**
@@ -55,6 +56,11 @@
        if(!"0".equals(workingProcedure)){
            damageSelectWrapper.eq(Damage::getWorkingProcedure,workingProcedure);
        }
        List<Damage> damageList = baseMapper.selectList(damageSelectWrapper);
        for (Damage damage : damageList) {
            damage.setStatus(2);
        }
        return baseMapper.selectList(damageSelectWrapper);
    }
@@ -62,27 +68,7 @@
     * 提交报工
     */
    @Override
    public void submitDamage(String startTime, String endTime, int type, int status, String workingProcedures){
        LambdaUpdateWrapper<Damage> damageUpdateWrapper=new LambdaUpdateWrapper<>();
        LambdaQueryWrapper<Damage> damageLambdaQueryWrapper=new LambdaQueryWrapper<>()
;       damageUpdateWrapper.between(Damage::getDamageTime,startTime,endTime);
        damageLambdaQueryWrapper.between(Damage::getDamageTime,startTime,endTime);
        if (type!=0){
            damageUpdateWrapper.eq(Damage::getType,type);
            damageLambdaQueryWrapper.eq(Damage::getType,type);
        }
        if (status!=0){
            damageUpdateWrapper.eq(Damage::getStatus,status);
            damageLambdaQueryWrapper.eq(Damage::getStatus,status);
        }
        if(!"0".equals(workingProcedures)){
            damageUpdateWrapper.eq(Damage::getWorkingProcedure,workingProcedures);
            damageLambdaQueryWrapper.eq(Damage::getWorkingProcedure,workingProcedures);
        }
//        Damage damage=new Damage();
//        damage.setStatus(2);
//        baseMapper.update(damage,damageUpdateWrapper);
        List<Damage> damageList = baseMapper.selectList(damageLambdaQueryWrapper);
    public void submitDamage(List<Damage> damageList){
        Map<String, Map<String, Map<String, Map<String, List<Damage>>>>> resultMap = damageList.stream()
                .collect(Collectors.groupingBy(
                        Damage::getProcessId,
@@ -125,15 +111,23 @@
                        // 获取 Damage 列表
                        List<Damage> damageListForTeamsGroupsName = teamsGroupsNameEntry.getValue();
                        //报工主表数据
                        ReportingWork reportingWork=new ReportingWork();
                        reportingWork.setProcessId(processId);
                        reportingWork.setThisProcess(workingProcedure);
                        reportingWork.setDeviceName(deviceName);
                        reportingWork.setTeamsGroupsName(teamsGroupsName);
                        // 使用 stream 对 damageListForTeamsGroupsName 进行再次分组
                        Map<Integer, Map<Integer, Map<String, List<Damage>>>> groupedByOrderTechBreakage = damageListForTeamsGroupsName.stream()
                                .map(damage -> Optional.ofNullable(damage)) // 使用Optional处理可能为null的元素
                                .filter(Optional::isPresent) // 过滤掉空的Optional
                                .map(Optional::get) // 获取非空的Damage对象
                                .collect(Collectors.groupingBy(
                                        Damage::getOrderNumber,
                                        damage -> Optional.ofNullable(damage.getOrderNumber()).orElse(0), // 使用orElse设置默认值,以处理null值
                                        Collectors.groupingBy(
                                                Damage::getTechnologyNumber,
                                                damage -> Optional.ofNullable(damage.getTechnologyNumber()).orElse(0), // 同样处理technologyNumber可能为null的情况
                                                Collectors.groupingBy(
                                                        Damage::getBreakageType,
                                                        damage -> Optional.ofNullable(damage.getBreakageType()).orElse("Unknown"), // 处理breakageType可能为null的情况
                                                        Collectors.toList()
                                                )
                                        )
@@ -160,11 +154,7 @@
                                    String breakageType = breakageTypeEntry.getKey();
                                    System.out.println("            BreakageType: " + breakageType);
                                    ReportingWork reportingWork=new ReportingWork();
                                    reportingWork.setProcessId(processId);
                                    reportingWork.setThisProcess(workingProcedure);
                                    reportingWork.setDeviceName(deviceName);
                                    reportingWork.setTeamsGroupsName(teamsGroupsName);
                                    // 获取 Damage 列表
                                    List<Damage> damageListForBreakageType = breakageTypeEntry.getValue();
                                    int completedQuantity=0;
hangzhoumesParent/common/servicebase/src/main/java/com/mes/work_assignment/controller/WorkAssignmentController.java
@@ -10,6 +10,7 @@
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
/**
 * <p>
@@ -28,7 +29,9 @@
    private WorkAssignmentService workAssignmentService;
    @ApiOperation("值班数据查询")
    @PostMapping("/selectWorkAssignment")
    public Result selectWorkAssignment(int line,String workingProcedure) {
    public Result selectWorkAssignment(@RequestBody Map map) {
        String line=map.get("line").toString();
        String workingProcedure=map.get("workingProcedure").toString();
        return Result.build(200,"查询成功",workAssignmentService.selectWorkAssignment(line,workingProcedure));
    }
hangzhoumesParent/common/servicebase/src/main/java/com/mes/work_assignment/service/WorkAssignmentService.java
@@ -3,6 +3,8 @@
import com.mes.work_assignment.entity.WorkAssignment;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
 * <p>
 *  服务类
@@ -13,5 +15,5 @@
 */
public interface WorkAssignmentService extends IService<WorkAssignment> {
    WorkAssignment selectWorkAssignment(int line, String workingProcedure);
    List<WorkAssignment> selectWorkAssignment(String line, String workingProcedure);
}
hangzhoumesParent/common/servicebase/src/main/java/com/mes/work_assignment/service/impl/WorkAssignmentServiceImpl.java
@@ -7,6 +7,8 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import java.util.List;
/**
 * <p>
 *  服务实现类
@@ -25,11 +27,11 @@
     * @return
     */
    @Override
    public WorkAssignment selectWorkAssignment(int line, String workingProcedure){
    public List<WorkAssignment> selectWorkAssignment(String line, String workingProcedure){
        LambdaQueryWrapper<WorkAssignment> workAssignmentSelectWrapper=new LambdaQueryWrapper<>();
        workAssignmentSelectWrapper
                .eq(WorkAssignment::getLine,line)
                .eq(WorkAssignment::getWorkProcesses,workingProcedure);
        return baseMapper.selectOne(workAssignmentSelectWrapper);
        return baseMapper.selectList(workAssignmentSelectWrapper);
    }
}
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcSlicecage.java
@@ -109,4 +109,25 @@
        }
    }
    @Scheduled(fixedDelay = 1000)
    public void temperingIsRun(){
        JSONObject jsonObject = new JSONObject();
        //进片任务数据
        List<BigStorageCageDetails> bigStorageCageDetailsFeedTask=bigStorageCageDetailsService.selectFeedTask();
        jsonObject.append("bigStorageCageDetailsFeedTask", bigStorageCageDetailsFeedTask);
        //出片任务数据
        List<BigStorageCageDetails> bigStorageCageDetailsOutTask=bigStorageCageDetailsService.selectOutTask();
        jsonObject.append("bigStorageCageDetailsOutTask", bigStorageCageDetailsOutTask);
        ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("isRun");
        if (sendwServer != null) {
            for (WebSocketServer webserver : sendwServer) {
                if (webserver != null) {
                    webserver.sendMessage(jsonObject.toString());
                } else {
                    log.info("Home is closed");
                }
            }
        }
    }
}