From 78e5175a05eeb3776d3f21f603fb6fb7a18b3d54 Mon Sep 17 00:00:00 2001 From: zhoushihao <zsh19950802@163.com> Date: 星期四, 08 八月 2024 10:14:59 +0800 Subject: [PATCH] 1、任务表中新增是否删除字段 0:未删除 1:已删除 2、磨边队列方法改造:增加设置参数接口,websocket推送数据时可按照设置的参数推送对应的数据 3、任务新增破损、拿走状态处理 4、破损数据新增批量新增 5、工位流程卡玻璃是否到齐方法完善 --- hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java | 123 ++++++++++++++++++++++++++++++++++++++++ 1 files changed, 121 insertions(+), 2 deletions(-) diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java index 130e515..8f87d5a 100644 --- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java +++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java @@ -1,14 +1,27 @@ package com.mes.damage.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.mes.damage.entity.Damage; import com.mes.damage.mapper.DamageMapper; import com.mes.damage.service.DamageService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.mes.glassinfo.entity.GlassInfo; +import com.mes.glassinfo.mapper.GlassInfoMapper; +import com.mes.work_assignment.entity.WorkAssignment; +import com.mes.work_assignment.mapper.WorkAssignmentMapper; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.sql.Timestamp; +import java.time.LocalDateTime; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /** * <p> - * 鏈嶅姟瀹炵幇绫� + * 鏈嶅姟瀹炵幇绫� * </p> * * @author wu @@ -17,4 +30,110 @@ @Service public class DamageServiceImpl extends ServiceImpl<DamageMapper, Damage> implements DamageService { + @Resource + GlassInfoMapper glassInfoMapper; + @Resource + WorkAssignmentMapper workAssignmentMapper; + + /** + * 鏌ヨ鎶ュ伐淇℃伅 + */ + @Override + public List<Damage> selectDamage(String startTime, String endTime, int type, int status, String workingProcedure) { + LambdaQueryWrapper<Damage> damageSelectWrapper = new LambdaQueryWrapper<>(); + damageSelectWrapper.between(Damage::getDamageTime, startTime, endTime); + if (type != 0) { + damageSelectWrapper.eq(Damage::getType, type); + } + if (status != 0) { + damageSelectWrapper.eq(Damage::getStatus, status); + } + 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); + } + + /** + * 鎻愪氦鎶ュ伐 + */ + @Override + public void submitDamage(List<Damage> damageList) { + Map<String, List<Damage>> firstMap = damageList.stream().collect(Collectors.groupingBy(e -> e.getProcessId() + ":" + + e.getWorkingProcedure() + ":" + e.getDeviceName() + ":" + e.getTeamsGroupsName())); + + for (Map.Entry<String, List<Damage>> entry : firstMap.entrySet()) { + String key = entry.getKey(); + List<Damage> damages = entry.getValue(); + + System.out.println("Key: " + key); + + Map<String, List<Damage>> secondMap = damageList.stream().collect(Collectors.groupingBy(e -> e.getProcessId() + ":" + + e.getWorkingProcedure() + ":" + e.getDeviceName() + ":" + e.getTeamsGroupsName())); + + for (Map.Entry<String, List<Damage>> entrys : secondMap.entrySet()) { + + } + } + + + } + + /** + * 娣诲姞鎶ュ伐淇℃伅 + */ + @Override + public void insertDamage(Damage damage) { + LambdaQueryWrapper<GlassInfo> glassInfoSelectWrapper = new LambdaQueryWrapper<>(); + glassInfoSelectWrapper.eq(GlassInfo::getGlassId, damage.getGlassId()); + GlassInfo glassInfo = glassInfoMapper.selectOne(glassInfoSelectWrapper); + BeanUtils.copyProperties(glassInfo, damage); + + LambdaQueryWrapper<WorkAssignment> workAssignmentSelectWrapper = new LambdaQueryWrapper<>(); + workAssignmentSelectWrapper + .eq(WorkAssignment::getLine, damage.getLine()) + .eq(WorkAssignment::getWorkProcesses, damage.getWorkingProcedure()); + WorkAssignment workAssignment = workAssignmentMapper.selectOne(workAssignmentSelectWrapper); + if (workAssignment != null) { + damage.setTeamsGroupsName(workAssignment.getTeamsGroupsName()); + damage.setDeviceName(workAssignment.getDeviceName()); + } + damage.setProcessId(glassInfo.getFlowCardId()); + damage.setOrderNumber(glassInfo.getGlassType()); + damage.setTechnologyNumber(glassInfo.getLayer()); + damage.setDamageTime(Timestamp.valueOf(LocalDateTime.now())); + baseMapper.insert(damage); + } + + /** + * 娣诲姞鎶ュ伐淇℃伅 + */ + @Override + public void batchInsertDamage(List<Damage> damageList) { + WorkAssignment workAssignment = workAssignmentMapper.selectOne(new LambdaQueryWrapper<WorkAssignment>() + .eq(WorkAssignment::getLine, damageList.get(0).getLine()) + .eq(WorkAssignment::getWorkProcesses, damageList.get(0).getWorkingProcedure())); + + List<String> glassList = damageList.stream().map(Damage::getGlassId).collect(Collectors.toList()); + List<GlassInfo> glassInfoList = glassInfoMapper.selectList(new LambdaQueryWrapper<GlassInfo>().in(GlassInfo::getGlassId, glassList)); + Map<String, List<GlassInfo>> listMap = glassInfoList.stream().collect(Collectors.groupingBy(GlassInfo::getGlassId)); + for (Damage damage : damageList) { + GlassInfo glassInfo = listMap.get(damage.getGlassId()).get(0); + BeanUtils.copyProperties(glassInfo, damage); + if (workAssignment != null) { + damage.setTeamsGroupsName(workAssignment.getTeamsGroupsName()); + damage.setDeviceName(workAssignment.getDeviceName()); + } + damage.setProcessId(glassInfo.getFlowCardId()); + damage.setOrderNumber(glassInfo.getGlassType()); + damage.setTechnologyNumber(glassInfo.getLayer()); + damage.setDamageTime(Timestamp.valueOf(LocalDateTime.now())); + } + this.saveBatch(damageList); + } } -- Gitblit v1.8.0