From 2ff08d144935938b91af4e725577882976ef4627 Mon Sep 17 00:00:00 2001 From: Junjie <540245094@qq.com> Date: 星期四, 01 八月 2024 08:52:39 +0800 Subject: [PATCH] # --- zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/WorkServiceImpl.java | 67 +++++++++++++++++++++++++++++++-- 1 files changed, 63 insertions(+), 4 deletions(-) diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/WorkServiceImpl.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/WorkServiceImpl.java index 92c46ad..6c7c7ce 100644 --- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/WorkServiceImpl.java +++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/WorkServiceImpl.java @@ -35,6 +35,12 @@ private LocService locService; @Autowired private LocStsService locStsService; + @Autowired + private TaskLogService taskLogService; + @Autowired + private TaskDetlLogService taskDetlLogService; + @Autowired + private TaskDetlFieldLogService taskDetlFieldLogService; @Override public String generateTaskNo(Long taskType) { @@ -155,6 +161,34 @@ } @Override + public boolean completeTask(Long taskId) { + Task task = taskService.getById(taskId); + if(task == null){ + throw new CoolException("浠诲姟涓嶅瓨鍦�"); + } + + List<TaskDetl> taskDetls = taskDetlService.getTaskDetlByTaskId(taskId); + if (taskDetls.isEmpty()) { + throw new CoolException("浠诲姟鏄庣粏涓嶅瓨鍦�"); + } + + if (task.getTaskType() < 100) { + //鍏ュ簱 + task.setTaskSts(99L);//99.鍏ュ簱瀹屾垚 + }else { + //鍑哄簱 + task.setTaskSts(199L);//199.鍑哄簱瀹屾垚 + } + + task.setUpdateTime(new Date()); + if (!taskService.updateById(task)) { + throw new CoolException("浠诲姟鏇存柊澶辫触"); + } + + return true; + } + + @Override @Transactional public boolean cancelTask(Long taskId) { Task task = taskService.getById(taskId); @@ -236,10 +270,28 @@ } } - //鍒犻櫎鏄庣粏鎵╁睍 - boolean removeField = taskDetlFieldService.remove(new LambdaQueryWrapper<TaskDetlField>().eq(TaskDetlField::getDetlId, taskDetl.getId())); - if(!removeField){ - throw new CoolException("鍥炴粴鎵╁睍鏄庣粏澶辫触"); + List<TaskDetlField> detlFields = taskDetlFieldService.list(new LambdaQueryWrapper<TaskDetlField>().eq(TaskDetlField::getDetlId, taskDetl.getId())); + for (TaskDetlField detlField : detlFields) { + //鏄庣粏鎵╁睍瀛楁鏁版嵁淇濆瓨鑷冲巻鍙叉。 + TaskDetlFieldLog taskDetlFieldLog = new TaskDetlFieldLog(); + taskDetlFieldLog.sync(detlField); + if (!taskDetlFieldLogService.save(taskDetlFieldLog)) { + throw new CoolException("鏄庣粏鎵╁睍瀛楁杞巻鍙叉。妗堝け璐�"); + } + + //鍒犻櫎鏄庣粏鎵╁睍 + boolean removeField = taskDetlFieldService.removeById(detlField.getId()); + if(!removeField){ + throw new CoolException("鍥炴粴鎵╁睍鏄庣粏澶辫触"); + } + } + + + //鏄庣粏鏁版嵁淇濆瓨鑷冲巻鍙叉。 + TaskDetlLog taskDetlLog = new TaskDetlLog(); + taskDetlLog.sync(taskDetl); + if (!taskDetlLogService.save(taskDetlLog)) { + throw new CoolException("鏄庣粏鏁版嵁杞巻鍙叉。妗堝け璐�"); } //鍒犻櫎鏄庣粏 @@ -249,6 +301,13 @@ } } + //鏁版嵁淇濆瓨鑷冲巻鍙叉。 + TaskLog taskLog = new TaskLog(); + taskLog.sync(task); + if (!taskLogService.save(taskLog)) { + throw new CoolException("浠诲姟妗f杞巻鍙叉。妗堝け璐�"); + } + //鍒犻櫎浠诲姟 boolean removeTask = taskService.removeById(taskId); if(!removeTask){ -- Gitblit v1.9.1