From fff2e8aa532540036088744c76efe5bffc7733a3 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期五, 25 十月 2024 15:24:00 +0800 Subject: [PATCH] # --- zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/TaskServiceImpl.java | 89 ++++++++++++++++++++++++++++---------------- 1 files changed, 57 insertions(+), 32 deletions(-) diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/TaskServiceImpl.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/TaskServiceImpl.java index 7e5a71f..99dd6aa 100644 --- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/TaskServiceImpl.java +++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/TaskServiceImpl.java @@ -1,17 +1,22 @@ package com.zy.acs.manager.manager.service.impl; -import com.alibaba.fastjson.JSONArray; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.zy.acs.framework.common.BaseRes; +import com.zy.acs.framework.common.Cools; +import com.zy.acs.framework.common.SnowflakeIdWorker; +import com.zy.acs.framework.exception.CoolException; import com.zy.acs.manager.common.exception.BusinessException; -import com.zy.acs.manager.manager.entity.*; +import com.zy.acs.manager.manager.entity.FuncSta; +import com.zy.acs.manager.manager.entity.Loc; +import com.zy.acs.manager.manager.entity.Sta; +import com.zy.acs.manager.manager.entity.Task; import com.zy.acs.manager.manager.enums.*; import com.zy.acs.manager.manager.mapper.TaskMapper; import com.zy.acs.manager.manager.service.CodeService; import com.zy.acs.manager.manager.service.FuncStaService; import com.zy.acs.manager.manager.service.LocService; import com.zy.acs.manager.manager.service.TaskService; -import com.zy.acs.framework.common.Cools; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -29,20 +34,12 @@ private LocService locService; @Autowired private FuncStaService funcStaService; + @Autowired + private SnowflakeIdWorker snowflakeIdWorker; @Override - public void buildActionList(Task task) { - List<String> codeList = JSONArray.parseArray(task.getPhase(), String.class); - if (Cools.isEmpty(codeList)) { - throw new BusinessException(task.getSeqNum() + "浠诲姟瑙f瀽姝ラ澶辫触"); - } - for (String data : codeList) { - Code code = codeService.selectByData(data); - - - } - - + public synchronized String generateSeqNum() { + return String.valueOf(snowflakeIdWorker.nextId()).substring(13, 19); } @Override @@ -78,9 +75,48 @@ } @Override + public List<Map<String, Object>> selectStatByLastSevenDays() { + return this.baseMapper.selectStatByLastSevenDays(); + } + + @Override @Transactional - public void operateTaskSts(Integer taskId, Boolean finish) { + public Boolean complete(Long taskId, Long userId) { Task task = this.getById(taskId); + if (null == task) { + return Boolean.FALSE; + } + this.maintainLocSts(task, Boolean.TRUE); + + task.setTaskSts(TaskStsType.COMPLETE.val()); + task.setUpdateTime(new Date()); + task.setUpdateBy(userId); + if (!this.updateById(task)) { + throw new CoolException(BaseRes.ERROR); + } + return Boolean.TRUE; + } + + @Override + @Transactional + public Boolean cancel(Long taskId, Long userId) { + Task task = this.getById(taskId); + if (null == task) { + return Boolean.FALSE; + } + this.maintainLocSts(task, Boolean.FALSE); + + task.setTaskSts(TaskStsType.CANCEL.val()); + task.setUpdateTime(new Date()); + task.setUpdateBy(userId); + if (!this.updateById(task)) { + throw new CoolException(BaseRes.ERROR); + } + return Boolean.TRUE; + } + + @Transactional + public void maintainLocSts(Task task, Boolean complete) { Loc oriLoc = null; Loc destLoc = null; Sta oriSta = null; Sta destSta = null; Date now = new Date(); @@ -90,13 +126,13 @@ oriLoc = locService.getById(task.getOriLoc()); destLoc = locService.getById(task.getDestLoc()); - oriLoc.setLocSts(finish?LocStsType.IDLE.val():LocStsType.STOCK.val()); + oriLoc.setLocSts(complete?LocStsType.IDLE.val():LocStsType.STOCK.val()); oriLoc.setUpdateTime(now); if (!locService.updateById(oriLoc)) { throw new BusinessException("Loc [" + task.getOriLoc$() + "] 搴撲綅淇敼鐘舵�佸け璐� 锛侊紒锛�"); } - destLoc.setLocSts(finish?LocStsType.STOCK.val():LocStsType.IDLE.val()); + destLoc.setLocSts(complete?LocStsType.STOCK.val():LocStsType.IDLE.val()); destLoc.setUpdateTime(now); if (!locService.updateById(destLoc)) { throw new BusinessException("Loc [" + task.getDestLoc$() + "] 搴撲綅淇敼鐘舵�佸け璐� 锛侊紒锛�"); @@ -104,7 +140,7 @@ break; case LOC_TO_STA: oriLoc = locService.getById(task.getOriLoc()); - oriLoc.setLocSts(finish?LocStsType.IDLE.val():LocStsType.STOCK.val()); + oriLoc.setLocSts(complete?LocStsType.IDLE.val():LocStsType.STOCK.val()); oriLoc.setUpdateTime(now); if (!locService.updateById(oriLoc)) { throw new BusinessException("Loc [" + task.getOriLoc$() + "] 搴撲綅淇敼鐘舵�佸け璐� 锛侊紒锛�"); @@ -112,7 +148,7 @@ break; case STA_TO_LOC: destLoc = locService.getById(task.getDestLoc()); - destLoc.setLocSts(finish?LocStsType.STOCK.val():LocStsType.IDLE.val()); + destLoc.setLocSts(complete?LocStsType.STOCK.val():LocStsType.IDLE.val()); destLoc.setUpdateTime(now); if (!locService.updateById(destLoc)) { throw new BusinessException("Loc [" + task.getDestLoc$() + "] 搴撲綅淇敼鐘舵�佸け璐� 锛侊紒锛�"); @@ -123,7 +159,7 @@ case TO_CHARGE: case TO_STANDBY: FuncSta funcSta = funcStaService.getByCodeAndType(task.getDestCode(), FuncStaType.query(typeType).toString()); - if (!finish) { + if (!complete) { funcSta.setState(FuncStaStateType.IDLE.toString()); funcSta.setUpdateTime(now); if (!funcStaService.updateById(funcSta)) { @@ -134,17 +170,6 @@ default: break; } - task.setTaskSts(TaskStsType.COMPLETE.val()); - task.setUpdateTime(now); - if (!this.updateById(task)) { - throw new BusinessException(task.getSeqNum() + "浠诲姟鏇存柊鐘舵�佸け璐�"); - } } - - @Override - public List<Map<String, Object>> selectStatByLastSevenDays() { - return this.baseMapper.selectStatByLastSevenDays(); - } - } -- Gitblit v1.9.1