hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/Const.java
@@ -28,7 +28,7 @@ * 卧式理片笼详情表玻璃状态 * 识别后成功状态100 * 出片任务101 * 人工下片101 * 人工下片102 * 拿走200 * 破损201 */ @@ -74,20 +74,6 @@ */ public static final String BIG_STORAGE_REQUEST = "0"; public static final String BIG_STORAGE_REQUEST_IN = "1"; /** * 大理片笼详情状态 * 0 大理片笼进片中 * 1 大理片笼在笼内 * 2 大理片笼出片中 * 3 大理片笼出片完成 * 4 大理片笼手动出片 */ public static final Integer BIG_STORAGE_IN = 0; public static final Integer BIG_STORAGE_INSIDE = 1; public static final Integer BIG_STORAGE_OUT = 2; public static final Integer BIG_STORAGE_OUTSIDE = 3; public static final Integer BIG_STORAGE_MANUAL = 4; /** * 卧转立进片请求 hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/entity/Damage.java
@@ -25,9 +25,14 @@ private Long id; /** * 线路 */ private Integer line; /** * 工序 */ private Integer workingProcedureId; private Integer workingProcedure; /** * 玻璃id @@ -67,7 +72,7 @@ /** * 流程卡 */ private Integer processId; private String processId; /** * 序号 hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/DamageService.java
@@ -20,5 +20,5 @@ void submitDamage(DateTime startTime, DateTime endTime, int type, int status, int workingProcedureId); void insertDamage(String glassId); void insertDamage(Damage damage); } hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java
@@ -9,8 +9,13 @@ 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.stereotype.Service; import javax.annotation.Resource; import java.time.LocalDateTime; import java.util.List; /** @@ -24,6 +29,14 @@ @Service public class DamageServiceImpl extends ServiceImpl<DamageMapper, Damage> implements DamageService { @Resource GlassInfoMapper glassInfoMapper; @Resource WorkAssignmentMapper workAssignmentMapper; /** * 查询报工信息 */ @Override public List<Damage> selectDamage(DateTime startTime, DateTime endTime, int type, int status, int workingProcedureId){ LambdaQueryWrapper<Damage> damageSelectWrapper =new LambdaQueryWrapper<>(); @@ -35,11 +48,14 @@ damageSelectWrapper.eq(Damage::getStatus,status); } if(workingProcedureId!=0){ damageSelectWrapper.eq(Damage::getWorkingProcedureId,workingProcedureId); damageSelectWrapper.eq(Damage::getWorkingProcedure,workingProcedureId); } return baseMapper.selectList(damageSelectWrapper); } /** * 提交报工 */ @Override public void submitDamage(DateTime startTime, DateTime endTime, int type, int status, int workingProcedureId){ LambdaUpdateWrapper<Damage> damageUpdateWrapper=new LambdaUpdateWrapper<>(); @@ -51,16 +67,36 @@ damageUpdateWrapper.eq(Damage::getStatus,status); } if(workingProcedureId!=0){ damageUpdateWrapper.eq(Damage::getWorkingProcedureId,workingProcedureId); damageUpdateWrapper.eq(Damage::getWorkingProcedure,workingProcedureId); } Damage damage=new Damage(); damage.setStatus(2); baseMapper.update(damage,damageUpdateWrapper); } /** * 添加报工信息 */ @Override public void insertDamage(String glassId){ public void insertDamage(Damage damage){ LambdaQueryWrapper<GlassInfo> glassInfoSelectWrapper=new LambdaQueryWrapper<>(); GlassInfo glassInfo=new GlassInfo(); glassInfoSelectWrapper.eq(GlassInfo::getGlassId,damage.getGlassId()); GlassInfo glassInfo=glassInfoMapper.selectOne(glassInfoSelectWrapper); LambdaQueryWrapper<WorkAssignment> workAssignmentSelectWrapper=new LambdaQueryWrapper<>(); workAssignmentSelectWrapper .eq(WorkAssignment::getLine,damage.getLine()) .eq(WorkAssignment::getWorkProcesses,damage.getWorkingProcedure()); WorkAssignment workAssignment=workAssignmentMapper.selectOne(workAssignmentSelectWrapper); damage.setTeamsGroupsName(workAssignment.getTeamsGroupsName()); damage.setDeviceName(workAssignment.getDeviceName()); damage.setEngineerId(glassInfo.getEngineerId()); damage.setTemperingLayoutId(glassInfo.getTemperingLayoutId()); damage.setProcessId(glassInfo.getFlowCardId()); damage.setOrderNumber(glassInfo.getGlassType()); damage.setTechnologyNumber(glassInfo.getLayer()); damage.setDamageTime(LocalDateTime.now()); baseMapper.insert(damage); } } hangzhoumesParent/common/servicebase/src/main/java/com/mes/glassinfo/entity/GlassInfo.java
@@ -35,7 +35,7 @@ /** * 流程卡玻璃类型 */ private String glassType; private Integer glassType; /** * 宽 hangzhoumesParent/common/servicebase/src/main/java/com/mes/glassinfo/entity/OptimizeGlassinfo.java
@@ -102,7 +102,7 @@ /** * 订单序号 */ private String orderSort; private Integer orderSort; /** * 旋转角度 */ hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/CodeGet.java
@@ -31,7 +31,7 @@ // 3、数据源配置 DataSourceConfig dsc = new DataSourceConfig(); dsc.setUrl("jdbc:mysql://10.153.19.150:3306/pp?serverTimezone=GMT%2b8"); dsc.setUrl("jdbc:mysql://10.153.19.150:3306/hangzhoumes?serverTimezone=GMT%2b8"); dsc.setDriverName("com.mysql.cj.jdbc.Driver"); dsc.setUsername("root"); dsc.setPassword("beibo.123/"); @@ -41,7 +41,7 @@ // 4、包配置 PackageConfig pc = new PackageConfig(); pc.setParent("com.mes"); pc.setModuleName("reporting_work"); //模块名 pc.setModuleName("work_assignment"); //模块名 pc.setController("controller"); pc.setService("service"); pc.setMapper("mapper"); @@ -50,7 +50,7 @@ // 5、策略配置 StrategyConfig strategy = new StrategyConfig(); strategy.setInclude("reporting_work"); strategy.setInclude("work_assignment"); strategy.setNaming(NamingStrategy.underline_to_camel);//数据库表映射到实体的命名策略 hangzhoumesParent/common/servicebase/src/main/java/com/mes/work_assignment/controller/WorkAssignmentController.java
New file @@ -0,0 +1,36 @@ package com.mes.work_assignment.controller; import cn.hutool.core.date.DateTime; import com.mes.damage.service.DamageService; import com.mes.utils.Result; import com.mes.work_assignment.service.WorkAssignmentService; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** * <p> * 前端控制器 * </p> * * @author wu * @since 2024-07-01 */ @RestController @RequestMapping("/work_assignment/work-assignment") public class WorkAssignmentController { @Autowired private WorkAssignmentService workAssignmentService; @ApiOperation("报工数据查询") @GetMapping("/selectWorkAssignment") public Result selectDamage(int line,String workingProcedure) { return Result.build(200,"查询成功",workAssignmentService.selectWorkAssignment(line,workingProcedure)); } } hangzhoumesParent/common/servicebase/src/main/java/com/mes/work_assignment/entity/WorkAssignment.java
New file @@ -0,0 +1,44 @@ package com.mes.work_assignment.entity; import java.io.Serializable; import lombok.Data; import lombok.EqualsAndHashCode; /** * <p> * * </p> * * @author wu * @since 2024-07-01 */ @Data @EqualsAndHashCode(callSuper = false) public class WorkAssignment implements Serializable { private static final long serialVersionUID = 1L; private Integer id; /** * 线路 */ private Integer line; /** * 工序 */ private String workProcesses; /** * 班组名称 */ private String teamsGroupsName; /** * 设备名称 */ private String deviceName; } hangzhoumesParent/common/servicebase/src/main/java/com/mes/work_assignment/mapper/WorkAssignmentMapper.java
New file @@ -0,0 +1,16 @@ package com.mes.work_assignment.mapper; import com.mes.work_assignment.entity.WorkAssignment; import com.baomidou.mybatisplus.core.mapper.BaseMapper; /** * <p> * Mapper 接口 * </p> * * @author wu * @since 2024-07-01 */ public interface WorkAssignmentMapper extends BaseMapper<WorkAssignment> { } hangzhoumesParent/common/servicebase/src/main/java/com/mes/work_assignment/mapper/xml/WorkAssignmentMapper.xml
New file @@ -0,0 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.mes.work_assignment.mapper.WorkAssignmentMapper"> </mapper> hangzhoumesParent/common/servicebase/src/main/java/com/mes/work_assignment/service/WorkAssignmentService.java
New file @@ -0,0 +1,17 @@ package com.mes.work_assignment.service; import com.mes.work_assignment.entity.WorkAssignment; import com.baomidou.mybatisplus.extension.service.IService; /** * <p> * 服务类 * </p> * * @author wu * @since 2024-07-01 */ public interface WorkAssignmentService extends IService<WorkAssignment> { WorkAssignment selectWorkAssignment(int line, String workingProcedure); } hangzhoumesParent/common/servicebase/src/main/java/com/mes/work_assignment/service/impl/WorkAssignmentServiceImpl.java
New file @@ -0,0 +1,35 @@ package com.mes.work_assignment.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.mes.work_assignment.entity.WorkAssignment; import com.mes.work_assignment.mapper.WorkAssignmentMapper; import com.mes.work_assignment.service.WorkAssignmentService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; /** * <p> * 服务实现类 * </p> * * @author wu * @since 2024-07-01 */ @Service public class WorkAssignmentServiceImpl extends ServiceImpl<WorkAssignmentMapper, WorkAssignment> implements WorkAssignmentService { /** * 查询当前值班信息 * @param line * @param workingProcedure * @return */ @Override public WorkAssignment selectWorkAssignment(int line, String workingProcedure){ LambdaQueryWrapper<WorkAssignment> workAssignmentSelectWrapper=new LambdaQueryWrapper<>(); workAssignmentSelectWrapper .eq(WorkAssignment::getLine,line) .eq(WorkAssignment::getWorkProcesses,workingProcedure); return baseMapper.selectOne(workAssignmentSelectWrapper); } } hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageDetailsController.java
@@ -1,6 +1,7 @@ package com.mes.bigstorage.controller; import com.mes.bigstorage.entity.BigStorageCageDetails; import com.mes.bigstorage.service.BigStorageCageDetailsService; import com.mes.bigstorage.service.BigStorageCageService; import com.mes.utils.Result; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -25,6 +26,8 @@ @Autowired private BigStorageCageDetailsService bigStorageCageDetailsService; @Autowired private BigStorageCageService bigStorageCageService; @ApiOperation("玻璃详情查询") @@ -38,14 +41,14 @@ @PostMapping("/insertBigStorageCageDetails") public Result insertBigStorageCageDetails(@RequestBody BigStorageCageDetails bigStorageCageDetails) { bigStorageCageDetailsService.insertBigStorageCageDetails(bigStorageCageDetails); return Result.build(200,"添加成功",1); return Result.build(200,"添加成功",bigStorageCageService.querybigStorageCageDetail(0)); } @ApiOperation("理片笼详情删除") @PostMapping("/deleteBigStorageCageDetails") public Result deleteBigStorageCageDetails(@RequestBody BigStorageCageDetails bigStorageCageDetails) { bigStorageCageDetailsService.deleteBigStorageCageDetails(bigStorageCageDetails); return Result.build(200,"删除成功",1); return Result.build(200,"删除成功",bigStorageCageService.querybigStorageCageDetail(0)); } @ApiOperation("理片笼任务破损0/拿走1") hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java
@@ -73,43 +73,43 @@ */ @Override public List<BigStorageCageDetails> selectTask(int taskType) { if (taskType == 1) { //进片任务数据 LambdaQueryWrapper<BigStorageCageDetails> feedWrapper = new LambdaQueryWrapper<>(); feedWrapper.eq(BigStorageCageDetails::getState, Const.BIG_STORAGE_IN); List<BigStorageCageDetails> bigStorageCageDetailsList = baseMapper.selectList(feedWrapper); LambdaQueryWrapper<BigStorageCageFeedTask> feedTaskWrapper = new LambdaQueryWrapper<>(); feedTaskWrapper.lt(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_SLOT); List<BigStorageCageFeedTask> bigStorageCageFeedTaskList = bigStorageCageFeedTaskMapper.selectList(feedTaskWrapper); Map<String, BigStorageCageFeedTask> listMap = bigStorageCageFeedTaskList.stream() .collect(Collectors.toMap(BigStorageCageFeedTask::getGlassId, task -> task)); for (BigStorageCageDetails bigStorageCageDetails : bigStorageCageDetailsList) { BigStorageCageFeedTask bigStorageCageFeedTask = listMap.get(bigStorageCageDetails.getGlassId()); bigStorageCageDetails.setBigStorageCageFeedTask(bigStorageCageFeedTask); } return bigStorageCageDetailsList; } else { //出片任务数据 LambdaQueryWrapper<BigStorageCageDetails> outWrapper = new LambdaQueryWrapper<>(); outWrapper.eq(BigStorageCageDetails::getState, Const.BIG_STORAGE_OUT); List<BigStorageCageDetails> bigStorageCageDetailsList = baseMapper.selectList(outWrapper); LambdaQueryWrapper<BigStorageCageOutTask> outTaskWrapper = new LambdaQueryWrapper<>(); outTaskWrapper.lt(BigStorageCageOutTask::getTaskState, Const.BIG_STORAGE_OUT_SUCCESS); List<BigStorageCageOutTask> bigStorageCageOutTaskList = bigStorageCageOutTaskMapper.selectList(outTaskWrapper); Map<String, BigStorageCageOutTask> listMap = bigStorageCageOutTaskList.stream() .collect(Collectors.toMap(BigStorageCageOutTask::getGlassId, task -> task)); for (BigStorageCageDetails bigStorageCageDetails : bigStorageCageDetailsList) { BigStorageCageOutTask bigStorageCageOutTask = listMap.get(bigStorageCageDetails.getGlassId()); bigStorageCageDetails.setBigStorageCageOutTask(bigStorageCageOutTask); } return bigStorageCageDetailsList; } return null; // if (taskType == 1) { // //进片任务数据 // LambdaQueryWrapper<BigStorageCageDetails> feedWrapper = new LambdaQueryWrapper<>(); // feedWrapper.eq(BigStorageCageDetails::getState, Const.BIG_STORAGE_IN); // List<BigStorageCageDetails> bigStorageCageDetailsList = baseMapper.selectList(feedWrapper); // // LambdaQueryWrapper<BigStorageCageFeedTask> feedTaskWrapper = new LambdaQueryWrapper<>(); // feedTaskWrapper.lt(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_SLOT); // List<BigStorageCageFeedTask> bigStorageCageFeedTaskList = bigStorageCageFeedTaskMapper.selectList(feedTaskWrapper); // // Map<String, BigStorageCageFeedTask> listMap = bigStorageCageFeedTaskList.stream() // .collect(Collectors.toMap(BigStorageCageFeedTask::getGlassId, task -> task)); // // for (BigStorageCageDetails bigStorageCageDetails : bigStorageCageDetailsList) { // BigStorageCageFeedTask bigStorageCageFeedTask = listMap.get(bigStorageCageDetails.getGlassId()); // bigStorageCageDetails.setBigStorageCageFeedTask(bigStorageCageFeedTask); // } // return bigStorageCageDetailsList; // } else { // //出片任务数据 // LambdaQueryWrapper<BigStorageCageDetails> outWrapper = new LambdaQueryWrapper<>(); // outWrapper.eq(BigStorageCageDetails::getState, Const.BIG_STORAGE_OUT); // List<BigStorageCageDetails> bigStorageCageDetailsList = baseMapper.selectList(outWrapper); // // LambdaQueryWrapper<BigStorageCageOutTask> outTaskWrapper = new LambdaQueryWrapper<>(); // outTaskWrapper.lt(BigStorageCageOutTask::getTaskState, Const.BIG_STORAGE_OUT_SUCCESS); // List<BigStorageCageOutTask> bigStorageCageOutTaskList = bigStorageCageOutTaskMapper.selectList(outTaskWrapper); // // Map<String, BigStorageCageOutTask> listMap = bigStorageCageOutTaskList.stream() // .collect(Collectors.toMap(BigStorageCageOutTask::getGlassId, task -> task)); // for (BigStorageCageDetails bigStorageCageDetails : bigStorageCageDetailsList) { // BigStorageCageOutTask bigStorageCageOutTask = listMap.get(bigStorageCageDetails.getGlassId()); // bigStorageCageDetails.setBigStorageCageOutTask(bigStorageCageOutTask); // } // return bigStorageCageDetailsList; // } } /** @@ -172,7 +172,11 @@ } temperingGlassInfoMapper.updateById(temperingGlassInfo); } bigStorageCageDetails.setState(Const.BIG_STORAGE_OUTSIDE); if (status == 0) { bigStorageCageDetails.setState(Const.GLASS_STATE_TAKE); } else { bigStorageCageDetails.setState(Const.GLASS_STATE_DAMAGE); } baseMapper.updateById(bigStorageCageDetails); bigStorageCageService.updateRemainWidth(bigStorageCageDetails.getSlot()); //todo:插入破损数据 @@ -188,7 +192,7 @@ BigStorageCageDetails bigStorageCageDetails = new BigStorageCageDetails(); if(glassInfo!=null){ BeanUtils.copyProperties(glassInfo, bigStorageCageDetails); bigStorageCageDetails.setState(0); bigStorageCageDetails.setState(1); bigStorageCageDetails.setGap(galssGap); } List<BigStorageCageDetails> bigStorageCageDetailsList=new ArrayList<>(); @@ -199,6 +203,7 @@ //理片笼详情添加 @Override public void insertBigStorageCageDetails(BigStorageCageDetails bigStorageCageDetails) { bigStorageCageDetails.setState(100); baseMapper.insert(bigStorageCageDetails); bigStorageCageService.updateRemainWidth(bigStorageCageDetails.getSlot()); } @@ -206,20 +211,20 @@ //理片笼详情完成 @Override public void finishBigStorageCageDetails(BigStorageCageDetails bigStorageCageDetails) { if (bigStorageCageDetails.getBigStorageCageFeedTask() != null) { bigStorageCageDetails.setState(Const.BIG_STORAGE_INSIDE); baseMapper.updateById(bigStorageCageDetails); } else { bigStorageCageDetails.setState(Const.BIG_STORAGE_OUTSIDE); baseMapper.updateById(bigStorageCageDetails); bigStorageCageService.updateRemainWidth(bigStorageCageDetails.getSlot()); } // if (bigStorageCageDetails.getBigStorageCageFeedTask() != null) { // bigStorageCageDetails.setState(Const.BIG_STORAGE_INSIDE); // baseMapper.updateById(bigStorageCageDetails); // } else { // bigStorageCageDetails.setState(Const.BIG_STORAGE_OUTSIDE); // baseMapper.updateById(bigStorageCageDetails); // bigStorageCageService.updateRemainWidth(bigStorageCageDetails.getSlot()); // } } //手动出片 @Override public void outBigStorageCageDetails(BigStorageCageDetails bigStorageCageDetails) { bigStorageCageDetails.setState(4); bigStorageCageDetails.setState(Const.GLASS_STATE_ARTIFICIAL); baseMapper.updateById(bigStorageCageDetails); } hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java
@@ -222,7 +222,8 @@ LambdaQueryWrapper<BigStorageCageDetails> bigStorageCageDetailsWrapper=new LambdaQueryWrapper(); bigStorageCageDetailsWrapper .eq(BigStorageCageDetails::getSlot,slot) .ne(BigStorageCageDetails::getState,Const.BIG_STORAGE_OUTSIDE); .eq(BigStorageCageDetails::getState,Const.GLASS_STATE_IN) .eq(BigStorageCageDetails::getState,Const.GLASS_STATE_ARTIFICIAL); List<BigStorageCageDetails> bigStorageCageDetailsList = bigStorageCageDetailsMapper.selectList(bigStorageCageDetailsWrapper); for (BigStorageCageDetails bigStorageCageDetails : bigStorageCageDetailsList @@ -244,7 +245,10 @@ public List<BigStorageCage> querybigStorageCageDetail(int deviceId) { LambdaQueryWrapper<BigStorageCage> bigStorageCageWrapper =new LambdaQueryWrapper<>(); LambdaQueryWrapper<BigStorageCageDetails> bigStorageCageDetailsWrapper =new LambdaQueryWrapper<>(); bigStorageCageDetailsWrapper.lt(BigStorageCageDetails::getState, Const.BIG_STORAGE_OUTSIDE); bigStorageCageDetailsWrapper .eq(BigStorageCageDetails::getState, Const.GLASS_STATE_IN) .or() .eq(BigStorageCageDetails::getState, Const.GLASS_STATE_ARTIFICIAL); if(deviceId!=0){ bigStorageCageWrapper.eq(BigStorageCage::getDeviceId,deviceId); bigStorageCageDetailsWrapper.eq(BigStorageCageDetails::getDeviceId,deviceId); hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/application.yml
@@ -3,7 +3,7 @@ spring: profiles: active: dev active: prod application: name: cacheVerticalGlass mybatis-plus: hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java
@@ -63,7 +63,7 @@ @Test public void judgeGlassTypeStatus() { plcStorageCageTask.judgeGlassTypeStatus("P24060403|6|7", Const.A09_OUT_TARGET_POSITION); plcStorageCageTask.judgeGlassTypeStatus("P24060403|6|7", Const.A09_OUT_TARGET_POSITION,""); } @Test