mesServiceImpl.java
3.76 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
package com.huaheng.api.mes.service;
import com.huaheng.api.general.domain.ReceiptDomain;
import com.huaheng.api.general.service.ReceiptApiService;
import com.huaheng.api.mes.domain.MesDomain;
import com.huaheng.common.exception.service.ServiceException;
import com.huaheng.common.utils.StringUtils;
import com.huaheng.framework.web.domain.AjaxResult;
import com.huaheng.framework.web.domain.Result;
import com.huaheng.pc.config.container.domain.Container;
import com.huaheng.pc.config.container.service.ContainerService;
import com.huaheng.pc.receipt.receiptContainerHeader.service.ReceiptContainerHeaderService;
import com.huaheng.pc.receipt.receiptDetail.domain.ReceiptDetail;
import com.huaheng.pc.receipt.receiptHeader.domain.ReceiptHeader;
import com.huaheng.pc.receipt.receiptHeader.service.ReceiptHeaderService;
import com.huaheng.pc.task.taskHeader.domain.TaskHeader;
import com.huaheng.pc.task.taskHeader.service.ReceiptTaskService;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
public class mesServiceImpl implements mesService {
@Resource
private ContainerService containerService;
@Resource
private ReceiptApiService receiptApiService;
@Resource
private ReceiptHeaderService receiptHeaderService;
@Resource
private ReceiptContainerHeaderService receiptContainerHeaderService;
@Resource
private ReceiptTaskService receiptTaskService;
@Override
@Transactional
public AjaxResult receipt(MesDomain mesDomain) {
String referCode = String.valueOf(System.currentTimeMillis());
String containerCode = mesDomain.getContaienrCode();
String materialCode = mesDomain.getMaterialCode();
String warehouseCode = "CS0001";
String toPort = "P1002";
if (StringUtils.isEmpty(containerCode)) {
return AjaxResult.error("MES下发入库信息,容器编码为空");
}
if (StringUtils.isEmpty(warehouseCode)) {
return AjaxResult.error("MES下发入库信息,仓库编码为空");
}
Container container = containerService.getContainerByCode(containerCode, warehouseCode);
if (container == null) {
return AjaxResult.error("MES下发入库信息,没有找到容器");
}
ReceiptHeader receiptHeader = new ReceiptHeader();
receiptHeader.setReceiptType("CG");
// receiptHeader.setReferCode(referCode);
ReceiptDetail receiptDetail = new ReceiptDetail();
receiptDetail.setMaterialCode(materialCode);
receiptDetail.setQty(new BigDecimal(1));
List<ReceiptDetail> receiptDetailList = new ArrayList<>();
ReceiptDomain receiptDomain = new ReceiptDomain();
receiptDomain.setReceiptHeader(receiptHeader);
receiptDomain.setReceiptDetails(receiptDetailList);
AjaxResult ajaxResult = receiptApiService.receipt(receiptDomain);
receiptDomain = (ReceiptDomain) ajaxResult.getData();
receiptHeader = receiptDomain.getReceiptHeader();
receiptDetailList = receiptDomain.getReceiptDetails();
int receiptDetailId = receiptDetailList.get(0).getId();
ajaxResult = receiptContainerHeaderService.saveContainer(receiptHeader.getCode(), containerCode,
receiptDetailId, null, new BigDecimal(1), null);
if (ajaxResult.hasErr()) {
throw new ServiceException(ajaxResult.getMsg());
}
int receiptContainerHeaderId = (int)ajaxResult.getData();
List<Integer> ids = new ArrayList<>();
ids.add(receiptContainerHeaderId);
return receiptTaskService.createReceiptTask(ids);
}
@Override
public Result shipment(MesDomain mesDomain) {
return null;
}
}