InStandingTaskServiceImpl.java
5.05 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
package com.huaheng.api.wcs.service.InStandingTaskHandle;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.huaheng.api.general.service.TaskService;
import com.huaheng.api.wcs.domain.InStandingTaskDomain;
import com.huaheng.common.exception.service.ServiceException;
import com.huaheng.common.support.Convert;
import com.huaheng.framework.web.domain.AjaxResult;
import com.huaheng.pc.config.container.domain.Container;
import com.huaheng.pc.config.container.service.ContainerService;
import com.huaheng.pc.config.location.domain.Location;
import com.huaheng.pc.config.material.domain.Material;
import com.huaheng.pc.inventory.cycleCountHeader.domain.CycleCountHeader;
import com.huaheng.pc.inventory.inventoryDetail.domain.InventoryDetail;
import com.huaheng.pc.inventory.inventoryDetail.mapper.InventoryDetailMapper;
import com.huaheng.pc.inventory.inventoryDetail.service.InventoryDetailService;
import com.huaheng.pc.inventory.inventoryHeader.domain.InventoryHeader;
import com.huaheng.pc.inventory.inventoryHeader.mapper.InventoryHeaderMapper;
import com.huaheng.pc.inventory.inventoryHeader.service.InventoryHeaderService;
import com.huaheng.pc.task.taskDetail.domain.TaskDetail;
import com.huaheng.pc.task.taskDetail.mapper.TaskDetailMapper;
import com.huaheng.pc.task.taskDetail.service.TaskDetailService;
import com.huaheng.pc.task.taskHeader.domain.TaskHeader;
import com.huaheng.pc.task.taskHeader.mapper.TaskHeaderMapper;
import com.huaheng.pc.task.taskHeader.service.TaskHeaderService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
@Service
public class InStandingTaskServiceImpl implements InStandingTaskService{
@Resource
TaskHeaderService taskHeaderService;
@Resource
TaskHeaderMapper taskHeaderMapper;
@Resource
InventoryHeaderService inventoryHeaderService;
@Resource
InventoryDetailService inventoryDetailService;
@Resource
InventoryHeaderMapper inventoryHeaderMapper;
@Resource
TaskDetailService taskDetailService;
@Resource
TaskDetailMapper taskDetailMapper;
@Override
@Transactional
public AjaxResult instanding(InStandingTaskDomain inStandingTaskDomain) {
TaskHeader header = taskHeaderService.getById(inStandingTaskDomain.getId());
LambdaQueryWrapper<TaskDetail> taskDetailLambdaQueryWrapper = Wrappers.lambdaQuery();
taskDetailLambdaQueryWrapper.eq(TaskDetail::getTaskId, header.getId());
List<TaskDetail> details = taskDetailService.list(taskDetailLambdaQueryWrapper);
LambdaQueryWrapper<InventoryHeader> ch = Wrappers.lambdaQuery();
ch.eq(InventoryHeader::getLocationCode, header.getToLocation()).eq(InventoryHeader::getContainerCode, header.getContainerCode());
InventoryHeader one = inventoryHeaderService.getOne(ch);
if (inStandingTaskDomain.getWeight() > 150) {
header.setWeight("" + inStandingTaskDomain.getWeight());
taskHeaderMapper.updateById(header);
one.setTotalWeight("" + inStandingTaskDomain.getWeight());
inventoryHeaderMapper.updateById(one);
return AjaxResult.success(1);
} else {
if (header.getStatus()==10&&header.getInternalTaskType()==300)
{
//任务完成---调完成接口
taskHeaderService.completeTaskByWMS(Convert.toIntArray(""+header.getId()), null);
header.setId(null);
header.setTaskType(300);
header.setInternalTaskType(200);
header.setUserDef3("异常出库");
header.setStatus(1);
header.setToLocation(null);
header.setPort("P3045");
taskHeaderMapper.insert(header);
for (int i=0;i<details.size();i++)
{
details.get(i).setId(null);
details.get(i).setTaskId(header.getId());
LambdaQueryWrapper<InventoryDetail> hea = Wrappers.lambdaQuery();
hea.eq(InventoryDetail::getMaterialCode,details.get(i).getMaterialCode())
.eq(InventoryDetail::getContainerCode,details.get(i).getContainerCode())
.eq(InventoryDetail::getLocationCode,details.get(i).getToLocation());
InventoryDetail detail = inventoryDetailService.getOne(hea);
details.get(i).setQty(detail.getQty());
detail.setTaskQty(detail.getQty());
details.get(i).setStatus(10);
inventoryDetailService.updateById(detail);
List<InventoryDetail> list = inventoryDetailService.list(hea);
taskDetailMapper.insert(details.get(i));
}
// taskHeaderService.completeTaskByWMS(Convert.toIntArray(""+header.getId()), null);
}
else {throw new ServiceException("当前任务非分拣任务");}
}
return AjaxResult.success(0);
} }
//强制完成