diff --git a/files/WCS系统开发手册.md b/files/WCS系统开发手册.md index e1b0d88..fb019fd 100644 --- a/files/WCS系统开发手册.md +++ b/files/WCS系统开发手册.md @@ -19,4 +19,4 @@ 电子标签联动输送线逻辑:输送线扫码时检查该捡选站台对应的电子标签货位是否有任务,若有则弹出;此处需要正确在电子标签货位表填写站台号 -电子标签状态:已经激活的直接定时任务点亮,未激活的要扫码触发 \ No newline at end of file +电子标签状态:立即点亮的直接定时任务点亮,未激活的要扫码触发 \ No newline at end of file diff --git a/wcs/src/main/java/org/wcs/business/etag/EtagDataHandler.java b/wcs/src/main/java/org/wcs/business/etag/EtagDataHandler.java index 175785c..b528455 100644 --- a/wcs/src/main/java/org/wcs/business/etag/EtagDataHandler.java +++ b/wcs/src/main/java/org/wcs/business/etag/EtagDataHandler.java @@ -364,6 +364,7 @@ public class EtagDataHandler { log.info("电子标签普通标签 {},未检索到任务", appEtagTagInfo.getTagName()); return; } + etagRedis.removeEtagTagTask(appEtagTagInfo.getTagName()); // 解绑这个标签绑定的任务 // 更新确认数量和确认人 String user = etagRedis.getEtagAreaUser(appEtagTagInfo.getAreaId()); // 确认人 int confirmNum = AppStringUtils.forceToInt(etagReturnInfo.getData()); diff --git a/wcs/src/main/java/org/wcs/business/etag/EtagTaskExecute.java b/wcs/src/main/java/org/wcs/business/etag/EtagTaskExecute.java index 302bcc7..9dddd56 100644 --- a/wcs/src/main/java/org/wcs/business/etag/EtagTaskExecute.java +++ b/wcs/src/main/java/org/wcs/business/etag/EtagTaskExecute.java @@ -1,31 +1,261 @@ package org.wcs.business.etag; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; +import org.wcs.business.redis.EtagRedis; +import org.wcs.constant.enums.database.EtagBusinessTypeEnum; +import org.wcs.constant.enums.database.EtagTaskLightModelEnum; +import org.wcs.constant.enums.database.EtagTaskStatusEnum; +import org.wcs.constant.enums.etag.LedBlinkingEnum; +import org.wcs.constant.enums.etag.LedColorEnum; +import org.wcs.mapper.intf.AppEtagTagInfoService; +import org.wcs.mapper.intf.AppEtagTaskService; +import org.wcs.model.bo.etag.EtagLightParams; +import org.wcs.model.po.app.AppEtagTagInfo; +import org.wcs.model.po.app.AppEtagTagLocation; +import org.wcs.model.po.app.AppEtagTask; +import org.wcs.utils.AppStringUtils; + +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Map; /** * 电子标签任务执行类 */ +@Slf4j @Component +@RequiredArgsConstructor public class EtagTaskExecute { - /** - * 点亮汇总标签 - */ - public void lightSummaryTag() { - } + // 电子标签操作类 + private final EtagAtopOperation etagAtopOperation; + // 电子标签任务服务 + private final AppEtagTaskService etagTaskService; + // 电子标签小标签数据库服务 + private final AppEtagTagInfoService etagTagInfoService; + // 电子标签Redis操作类 + private final EtagRedis etagRedis; /** * 点亮小标签 */ public void lightSmallTag() { + lightImmediatelyTask(); // 点亮立即点亮的任务 + lightNeedFireTask(); // 点亮需要触发的任务 } /** - * 点亮通道灯 + * 点亮立即点亮的任务 + */ + private void lightImmediatelyTask() { + // 点亮立即点亮的任务 + AppEtagTask queryImmediatelyTask = new AppEtagTask(); + queryImmediatelyTask.setTaskStatus(EtagTaskStatusEnum.NOT_ACTIVATED.getCode()); + queryImmediatelyTask.setLightModel(EtagTaskLightModelEnum.IMMEDIATELY.getCode()); + List immediatelyTaskList = etagTaskService.queryIgnoreNull(queryImmediatelyTask); + if(immediatelyTaskList == null) { + return; + } + if (immediatelyTaskList.isEmpty()) { + return; + } + lightEtagTasks(immediatelyTaskList); + } + + /** + * 点亮需要触发的任务 + */ + private void lightNeedFireTask() { + // 查找区域绑定好的载具信息 + Map areaVehicleAll = etagRedis.getEtagAreaVehicleAll(); + for (Map.Entry entry : areaVehicleAll.entrySet()) { + String areaId = entry.getKey(); // 区域编号 + String vehicleNo = entry.getValue(); // 载具编号 + if(AppStringUtils.isEmpty(areaId) || AppStringUtils.isEmpty(vehicleNo)) { + continue; + } + List taskStatus = List.of(EtagTaskStatusEnum.NOT_ACTIVATED.getCode()); + List appEtagTaskList = etagTaskService.queryByTagAreaIdAndVehicleAndStatus(areaId, vehicleNo, taskStatus); + if(appEtagTaskList == null || appEtagTaskList.isEmpty()) { + continue; // 查找任务失败或者没找到任务就继续下拨循环 + } + lightEtagTasks(appEtagTaskList); + } + } + + /** + * 点亮任务列表 + * @param appEtagTaskList 电子标签任务列表 + */ + private void lightEtagTasks(List appEtagTaskList) { + for (AppEtagTask etagTask : appEtagTaskList) { + // 查找这个任务货位对应的标签信息 + AppEtagTagLocation appEtagTagLocation = etagRedis.getEtagLocation(etagTask.getLocation()); + if(appEtagTagLocation == null) { + log.info("点亮标签任务:{},时未找到货位:{} 的信息", etagTask.getTaskId(), etagTask.getLocation()); + AppEtagTask updateEtagTask = new AppEtagTask(); + updateEtagTask.setTaskId(etagTask.getTaskId()); + updateEtagTask.setTaskStatus(EtagTaskStatusEnum.ERROR.getCode()); + updateEtagTask.setCompletedTime(LocalDateTime.now()); + updateEtagTask.setRemark("未找到货位:" + etagTask.getLocation() + " 的信息"); + Integer result = etagTaskService.updateIgnoreNull(updateEtagTask).result(); + log.info("更新电子标签任务:{},结果:{},更新项:{}", updateEtagTask.getTaskId(), result, updateEtagTask); + continue; + } + // 查找这个标签绑定的任务 + AppEtagTask etagTagTask = etagRedis.getEtagTagTask(appEtagTagLocation.getTagName()); + if(etagTagTask != null) { + // 绑定了任务,说明标签还在亮着,得等按下完成 + continue; + } + // 查找这个标签名称对应的数据 + AppEtagTagInfo appEtagTagInfo = etagRedis.getEtagTag(appEtagTagLocation.getTagName()); + if(appEtagTagInfo == null) { + log.info("点亮标签任务:{},时未找到标签:{} 的信息", etagTask.getTaskId(), appEtagTagLocation.getTagName()); + AppEtagTask updateEtagTask = new AppEtagTask(); + updateEtagTask.setTaskId(etagTask.getTaskId()); + updateEtagTask.setTaskStatus(EtagTaskStatusEnum.ERROR.getCode()); + updateEtagTask.setCompletedTime(LocalDateTime.now()); + updateEtagTask.setRemark("未找到标签:" + appEtagTagLocation.getTagName() + " 的信息"); + Integer result = etagTaskService.updateIgnoreNull(updateEtagTask).result(); + log.info("更新电子标签任务:{},结果:{},更新项:{}", updateEtagTask.getTaskId(), result, updateEtagTask); + continue; + } + // 点亮标签 + EtagLightParams lightParams = EtagLightParams.builder() + .tagName(appEtagTagInfo.getTagName()) + .tagId(appEtagTagInfo.getTagId().byteValue()) + .tagValue(String.valueOf(etagTask.getLightNum())) + .tagString(etagTask.getGoodsName() + "[" + etagTask.getGoodsId() + "]") + .ledBlinking(LedBlinkingEnum.BLINKING_0_25) + .ledColor(LedColorEnum.ORANGE) + .build(); + String lightTagResult = etagAtopOperation.lightTag(lightParams); + log.info("点亮电子标签: {},点亮参数:{},点亮结果:{}", appEtagTagLocation.getTagName(), lightParams, lightTagResult); + if(AppStringUtils.isEmpty(lightTagResult)) { + etagRedis.setEtagTagTask(appEtagTagLocation.getTagName(), etagTask); // 点亮成功,将任务绑定到标签 + // 更新任务状态 + AppEtagTask updateEtagTask = new AppEtagTask(); + updateEtagTask.setTaskId(etagTask.getTaskId()); + updateEtagTask.setTaskStatus(EtagTaskStatusEnum.LIGHTING.getCode()); + updateEtagTask.setLightTime(LocalDateTime.now()); + Integer result = etagTaskService.updateIgnoreNull(updateEtagTask).result(); + log.info("更新电子标签任务:{},结果:{},更新项:{}", updateEtagTask.getTaskId(), result, updateEtagTask); + } + } + } + + /** + * 点亮和熄灭通道灯 */ public void lightTunnelLight() { + AppEtagTagInfo queryLightTag = new AppEtagTagInfo(); + queryLightTag.setBusinessType(EtagBusinessTypeEnum.TUNNEL_LIGHT.getCode()); + List etagTagInfoList = etagTagInfoService.queryIgnoreNull(queryLightTag); // 所有的通道灯数据 + if(etagTagInfoList == null || etagTagInfoList.isEmpty()) { + return; + } + List lightParamsList = new ArrayList<>(); // 各个通道灯的点亮参数 + // 遍历所有通道灯,获取各个通道灯的标签名称,检查其是否有绑定的任务 + for (AppEtagTagInfo etagTagInfo : etagTagInfoList) { + AppEtagTagInfo queryTunnelEtag = new AppEtagTagInfo(); + queryTunnelEtag.setTunnelNo(etagTagInfo.getTunnelNo()); + List tunnelEtagTagInfoList = etagTagInfoService.queryIgnoreNull(queryTunnelEtag); + if(tunnelEtagTagInfoList == null) { + continue; + } + boolean existTask = false; // 是否存在任务 + for (AppEtagTagInfo tunnelEtagTagInfo : tunnelEtagTagInfoList) { + existTask = etagRedis.existsEtagTagTask(tunnelEtagTagInfo.getTagName()); + if(existTask) { + break; // 存在一个任务即视为存在,直接跳出 + } + } + EtagLightParams lightParams; // 点亮参数 + if(existTask) { + lightParams = EtagLightParams.builder() + .tagName(etagTagInfo.getTagName()) + .tagId(etagTagInfo.getTagId().byteValue()) + .ledBlinking(LedBlinkingEnum.LED_ON) + .ledColor(LedColorEnum.GREEN) + .build(); + } else { + lightParams = EtagLightParams.builder() + .tagName(etagTagInfo.getTagName()) + .tagId(etagTagInfo.getTagId().byteValue()) + .ledBlinking(LedBlinkingEnum.LED_OFF) + .ledColor(LedColorEnum.GREEN) + .build(); + } + lightParamsList.add(lightParams); + } + // 执行点亮或者熄灭动作 + for (EtagLightParams lightParamsItem : lightParamsList) { + etagAtopOperation.lightTag(lightParamsItem); + } } + /** + * 点亮汇总标签 + */ + public void lightSummaryTag() { + AppEtagTagInfo querySummaryTag = new AppEtagTagInfo(); + querySummaryTag.setBusinessType(EtagBusinessTypeEnum.AREA.getCode()); + List etagTagInfoList = etagTagInfoService.queryIgnoreNull(querySummaryTag); // 所有的区域标签数据 + if(etagTagInfoList == null || etagTagInfoList.isEmpty()) { + return; + } + List lightParamsList = new ArrayList<>(); // 各个区域标签的点亮参数 + for (AppEtagTagInfo etagTagInfo : etagTagInfoList) { + String etagAreaVehicle = etagRedis.getEtagAreaVehicle(etagTagInfo.getAreaId()); + if(AppStringUtils.isEmpty(etagAreaVehicle)) { + // 没有绑定的载具了 + lightParamsList.add(EtagLightParams.builder().tagName(etagTagInfo.getTagName()) + .tagId(etagTagInfo.getTagId().byteValue()).tagValue("0").tagString("无任务") + .ledBlinking(LedBlinkingEnum.LED_OFF).ledColor(LedColorEnum.GREEN).build()); + continue; + } + // 还有绑定的载具 + List notCompletedTaskStatus = Arrays.asList(EtagTaskStatusEnum.NOT_ACTIVATED.getCode(), EtagTaskStatusEnum.LIGHTING.getCode()); + // 检查这个载具有没有完成所有的任务 + List allEtagTaskList = etagTaskService.queryByVehicleAndStatus(etagAreaVehicle, notCompletedTaskStatus); + if(allEtagTaskList == null) { + continue; // 查询数据库失败 + } + if(allEtagTaskList.isEmpty()) { + lightParamsList.add(EtagLightParams.builder().tagName(etagTagInfo.getTagName()) + .tagId(etagTagInfo.getTagId().byteValue()).tagValue("0").tagString("全部完成:" + etagAreaVehicle) + .ledBlinking(LedBlinkingEnum.LED_OFF).ledColor(LedColorEnum.GREEN).build()); + continue; + } + // 检查这个区域还有没有这个载具的任务 + List thisAreaEtagTaskList = etagTaskService.queryByTagAreaIdAndVehicleAndStatus(etagTagInfo.getAreaId(), etagAreaVehicle, notCompletedTaskStatus); + if(thisAreaEtagTaskList == null) { + continue; // 查询数据库失败 + } + if(thisAreaEtagTaskList.isEmpty()) { + lightParamsList.add(EtagLightParams.builder().tagName(etagTagInfo.getTagName()) + .tagId(etagTagInfo.getTagId().byteValue()).tagValue("0").tagString("任务完成:" + etagAreaVehicle) + .ledBlinking(LedBlinkingEnum.LED_ON).ledColor(LedColorEnum.BLUE).build()); + continue; + } + // 正在捡选的情况 + lightParamsList.add(EtagLightParams.builder().tagName(etagTagInfo.getTagName()) + .tagId(etagTagInfo.getTagId().byteValue()).tagValue(String.valueOf(thisAreaEtagTaskList.size())).tagString("正在捡选:" + etagAreaVehicle) + .ledBlinking(LedBlinkingEnum.LED_ON).ledColor(LedColorEnum.ORANGE).build()); + } + // 执行点亮或者熄灭动作 + for (EtagLightParams lightParamsItem : lightParamsList) { + etagAtopOperation.lightTag(lightParamsItem); + } + } + + + } diff --git a/wcs/src/main/java/org/wcs/business/redis/EtagRedis.java b/wcs/src/main/java/org/wcs/business/redis/EtagRedis.java index 90bfcdb..a27aff1 100644 --- a/wcs/src/main/java/org/wcs/business/redis/EtagRedis.java +++ b/wcs/src/main/java/org/wcs/business/redis/EtagRedis.java @@ -97,7 +97,6 @@ public class EtagRedis { } - /* ******************** 电子标签货位信息 *********************** */ /** @@ -179,6 +178,22 @@ public class EtagRedis { return stringRedisTemplate.hasKey(ETAG_TAG_TASK_KEY + ":" + tagName); } + /** + * 获取所有电子标签绑定的任务信息 + * @return 所有电子标签绑定的任务信息 + */ + public Map getEtagTagTaskAll() { + Map tagInfoMap = new HashMap<>(); + Set keys = stringRedisTemplate.keys(ETAG_TAG_TASK_KEY + ":*"); + for (String key : keys) { + String tagInfo = stringRedisTemplate.opsForValue().get(key); + String[] tagNameSplit = key.split(":"); + tagInfoMap.put(tagNameSplit[tagNameSplit.length - 1], tagInfo); + } + return tagInfoMap; + } + + /* ******************** 电子标签区域绑定的用户信息 *********************** */ /** diff --git a/wcs/src/main/java/org/wcs/mapper/impl/AppEtagTaskDao.java b/wcs/src/main/java/org/wcs/mapper/impl/AppEtagTaskDao.java index 3ef0c71..01cd561 100755 --- a/wcs/src/main/java/org/wcs/mapper/impl/AppEtagTaskDao.java +++ b/wcs/src/main/java/org/wcs/mapper/impl/AppEtagTaskDao.java @@ -188,4 +188,64 @@ public class AppEtagTaskDao extends ServiceImpl return null; } } + + /** + * 根据载具和状态查询任务 + * @param vehicleNo 载具 + * @param status 状态列表 + * @return 列表 + */ + @Override + public List queryByVehicleAndStatus(String vehicleNo, List status) { + if (status == null || status.isEmpty()) { + return null; + } + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(AppEtagTask::getVehicleNo, vehicleNo) + .in(AppEtagTask::getTaskStatus, status) + .orderByAsc(AppEtagTask::getCreateTime); + try { + return super.baseMapper.selectList(queryWrapper); + } catch (Exception e) { + return null; + } + } + + /** + * 忽略Null值查询条件查询 + * @param appEtagTask 查询参数 + * @return 任务列表 + */ + @Override + public List queryIgnoreNull(AppEtagTask appEtagTask) { + if(appEtagTask == null) { + return null; + } + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(appEtagTask.getTaskId() != null, AppEtagTask::getTaskId, appEtagTask.getTaskId()); + queryWrapper.eq(appEtagTask.getTaskGroup() != null, AppEtagTask::getTaskGroup, appEtagTask.getTaskGroup()); + queryWrapper.eq(appEtagTask.getTaskType() != null, AppEtagTask::getTaskType, appEtagTask.getTaskType()); + queryWrapper.eq(appEtagTask.getVehicleNo() != null, AppEtagTask::getVehicleNo, appEtagTask.getVehicleNo()); + queryWrapper.eq(appEtagTask.getOrderId() != null, AppEtagTask::getOrderId, appEtagTask.getOrderId()); + queryWrapper.eq(appEtagTask.getLocation() != null, AppEtagTask::getLocation, appEtagTask.getLocation()); + queryWrapper.eq(appEtagTask.getGoodsId() != null, AppEtagTask::getGoodsId, appEtagTask.getGoodsId()); + queryWrapper.eq(appEtagTask.getGoodsName() != null, AppEtagTask::getGoodsName, appEtagTask.getGoodsName()); + queryWrapper.eq(appEtagTask.getLightNum() != null, AppEtagTask::getLightNum, appEtagTask.getLightNum()); + queryWrapper.eq(appEtagTask.getConfirmNum() != null, AppEtagTask::getConfirmNum, appEtagTask.getConfirmNum()); + queryWrapper.eq(appEtagTask.getTaskStatus() != null, AppEtagTask::getTaskStatus, appEtagTask.getTaskStatus()); + queryWrapper.eq(appEtagTask.getLightModel() != null, AppEtagTask::getLightModel, appEtagTask.getLightModel()); + queryWrapper.eq(appEtagTask.getTaskSource() != null, AppEtagTask::getTaskSource, appEtagTask.getTaskSource()); + queryWrapper.eq(appEtagTask.getCreatePerson() != null, AppEtagTask::getCreatePerson, appEtagTask.getCreatePerson()); + queryWrapper.eq(appEtagTask.getCreateTime() != null, AppEtagTask::getCreateTime, appEtagTask.getCreateTime()); + queryWrapper.eq(appEtagTask.getLightTime() != null, AppEtagTask::getLightTime, appEtagTask.getLightTime()); + queryWrapper.eq(appEtagTask.getConfirmTime() != null, AppEtagTask::getConfirmTime, appEtagTask.getConfirmTime()); + queryWrapper.eq(appEtagTask.getConfirmPerson() != null, AppEtagTask::getConfirmPerson, appEtagTask.getConfirmPerson()); + queryWrapper.eq(appEtagTask.getCompletedTime() != null, AppEtagTask::getCompletedTime, appEtagTask.getCompletedTime()); + queryWrapper.eq(appEtagTask.getRemark() != null, AppEtagTask::getRemark, appEtagTask.getRemark()); + try { + return baseMapper.selectList(queryWrapper); + } catch (Exception e) { + return null; + } + } } diff --git a/wcs/src/main/java/org/wcs/mapper/intf/AppEtagTaskService.java b/wcs/src/main/java/org/wcs/mapper/intf/AppEtagTaskService.java index 37f00e6..84f0ca4 100755 --- a/wcs/src/main/java/org/wcs/mapper/intf/AppEtagTaskService.java +++ b/wcs/src/main/java/org/wcs/mapper/intf/AppEtagTaskService.java @@ -18,4 +18,6 @@ public interface AppEtagTaskService extends IService { DataBaseActionResult updateIgnoreNull(AppEtagTask appEtagTask); // 更新数据,忽略Null值 List queryByTaskId(String taskId); // 通过任务ID查询 List queryByTagAreaIdAndVehicleAndStatus(String areaId, String vehicleNo, List status); // 通过标签区域ID和载具号和状态查询 + List queryByVehicleAndStatus(String vehicleNo, List status); // 通过标签]载具号和状态查询 + List queryIgnoreNull(AppEtagTask appEtagTask); // 查询数据,忽略Null值的查询条件 } diff --git a/wcs/src/main/java/org/wcs/model/po/app/AppEtagTask.java b/wcs/src/main/java/org/wcs/model/po/app/AppEtagTask.java index 4c52b42..d12d93e 100755 --- a/wcs/src/main/java/org/wcs/model/po/app/AppEtagTask.java +++ b/wcs/src/main/java/org/wcs/model/po/app/AppEtagTask.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; +import lombok.ToString; import java.math.BigDecimal; import java.time.LocalDateTime; @@ -12,6 +13,7 @@ import java.time.LocalDateTime; * 电子标签任务类 */ @Data +@ToString @TableName("t_app_etag_task") public class AppEtagTask { diff --git a/wcs/src/main/java/org/wcs/quartzJob/EtagJob.java b/wcs/src/main/java/org/wcs/quartzJob/EtagJob.java index 445ce0a..962f87f 100644 --- a/wcs/src/main/java/org/wcs/quartzJob/EtagJob.java +++ b/wcs/src/main/java/org/wcs/quartzJob/EtagJob.java @@ -8,6 +8,7 @@ import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; import org.wcs.business.etag.EtagCommon; import org.wcs.business.etag.EtagDataHandler; +import org.wcs.business.etag.EtagTaskExecute; import org.wcs.business.redis.EtagRedis; import org.wcs.constant.enums.common.OnOrOffEnum; import org.wcs.constant.enums.common.TrueOrFalseEnum; @@ -37,6 +38,8 @@ public class EtagJob implements Job { private final AppEtagTagInfoService etagTagInfoService; // 电子标签小标信息数据表操作类 private final AppEtagTagLocationService etagTagLocationService; // 电子标签位置信息数据表操作类 + private final EtagTaskExecute etagTaskExecute; // 电子标签任务执行类 + // 是否正在加载基础数据 private static boolean isLoadingBaseData = false; @@ -49,14 +52,9 @@ public class EtagJob implements Job { if(EtagCommon.socketClient == null || !isLoadingBaseData) { return; } - - } - - /** - * 点亮小标签 - */ - private void lightSmallTag() { - + etagTaskExecute.lightSmallTag(); // 点亮小标签 + etagTaskExecute.lightTunnelLight(); // 点亮通道灯 + etagTaskExecute.lightSummaryTag(); // 点亮汇总标签 } diff --git a/wcs/src/main/java/org/wcs/serve/service/impl/EtagTaskService.java b/wcs/src/main/java/org/wcs/serve/service/impl/EtagTaskService.java index b6951fd..c5315fc 100644 --- a/wcs/src/main/java/org/wcs/serve/service/impl/EtagTaskService.java +++ b/wcs/src/main/java/org/wcs/serve/service/impl/EtagTaskService.java @@ -4,6 +4,7 @@ import cn.dev33.satoken.stp.StpUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import org.wcs.constant.ConstantData; import org.wcs.constant.enums.database.EtagTaskLightModelEnum; import org.wcs.constant.enums.database.EtagTaskStatusEnum; import org.wcs.factory.AppServeResponseFactory; @@ -84,9 +85,9 @@ public class EtagTaskService implements IEtagTaskService { appEtagTask.setGoodsId(request.getGoodsId()); appEtagTask.setGoodsName(request.getGoodsName()); appEtagTask.setLightNum(request.getLightNum()); - appEtagTask.setTaskStatus(request.getLightModel().equals(EtagTaskLightModelEnum.IMMEDIATELY.getCode()) ? EtagTaskStatusEnum.ACTIVATED.getCode() : EtagTaskStatusEnum.NOT_ACTIVATED.getCode()); + appEtagTask.setTaskStatus(EtagTaskStatusEnum.NOT_ACTIVATED.getCode()); appEtagTask.setLightModel(request.getLightModel()); - appEtagTask.setTaskSource(""); + appEtagTask.setTaskSource(ConstantData.SYSTEM_NAME); appEtagTask.setCreatePerson(operationUserId); appEtagTask.setCreateTime(LocalDateTime.now()); appEtagTask.setRemark(request.getRemark()); diff --git a/wcs/src/main/resources/application.yml b/wcs/src/main/resources/application.yml index d3ff496..8bf5f07 100644 --- a/wcs/src/main/resources/application.yml +++ b/wcs/src/main/resources/application.yml @@ -1,7 +1,7 @@ wcs: etag: - area-user-prefix: ^user$ - area-user-unbind: $user^ + area-user-prefix: ^user$ # 电子标签扫描此字符串码后下一个视为用户码 + area-user-unbind: $user^ # 电子标签扫描此字符串码后注销用户 spring: application: name: wcs diff --git a/wcs/src/test/java/org/wcs/WcsApplicationTests.java b/wcs/src/test/java/org/wcs/WcsApplicationTests.java index 53dcd92..5f1bea1 100644 --- a/wcs/src/test/java/org/wcs/WcsApplicationTests.java +++ b/wcs/src/test/java/org/wcs/WcsApplicationTests.java @@ -1,6 +1,7 @@ package org.wcs; import HslCommunication.Core.Types.ActionOperateExTwo; +import HslCommunication.Core.Types.List; import HslCommunication.ModBus.ModbusTcpServer; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; @@ -31,4 +32,15 @@ class WcsApplicationTests { } } + @Test + void testList() { + List list = new List<>(); + list.Add(244546456); + list.Add(234234234); + List< Integer> newList = new List<>(); + for (Integer i : list) { + newList.Add(i); + } + } + }