MedStockService.java
3.77 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
package com.phxl.modules.goods.service.medstock;
import java.util.Date;
import java.util.List;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.phxl.common.util.JsonMapper;
import com.phxl.common.utils.BaseException;
import com.phxl.common.utils.IdUtil;
import com.phxl.modules.goods.dao.medstock.MedStockDao;
import com.phxl.modules.goods.entity.medstock.MedStock;
import com.phxl.modules.goods.entity.medstock.MedStockList;
@Service
public class MedStockService{
@Autowired
private MedStockDao stockDao;
private static Log log = LogFactory.getLog(MedStockService.class);
public boolean batchSave(List<MedStockList> stockList) {
boolean result = false;
if (stockList != null && stockList.size() != 0) {
for (MedStockList medStockList : stockList) {
MedStock medStock = medStockList.getData();
try {
checkStock(medStock);
} catch (Exception e) {
String json = JsonMapper.toJsonString(medStock);
log.error("同步医院库存:" + json + "信息异常");
throw new BaseException(e.getMessage());
}
medStock.setId(IdUtil.uuid());
stockDao.insert(medStock);
}
result = true;
}
return result;
}
private void checkStock(MedStock medStock) {
// 获取库存信息中供应商信息
String medSuppliercode = medStock.getMedSuppliercode();
String medSuppliername = medStock.getMedSuppliername();
if (StringUtils.isEmpty(medSuppliercode) || StringUtils.isEmpty(medSuppliername)) {
log.error("同步库存信息供应商编号以及供应商名称不能为空");
throw new BaseException("同步库存信息供应商编号以及供应商名称不能为空");
}
// 获取库存信息中供应商信息
String medCode = medStock.getMedCode();
String medName = medStock.getMedName();
if (StringUtils.isEmpty(medCode) || StringUtils.isEmpty(medName)) {
log.error("同步库存信息医院编号以及医院名称不能为空");
throw new BaseException("同步库存信息医院编号以及医院名称不能为空");
}
// 获取同步库存信息录商品信息
String goodsCode = medStock.getGoodsCode();
String goodsName = medStock.getGoodsName();
if (StringUtils.isEmpty(goodsCode) || StringUtils.isEmpty(goodsName)) {
log.error("同步库存信息商品编号以及商品名称不能为空");
throw new BaseException("同步库存信息商品编号以及商品名称不能为空");
}
// 获取对应商品规格
String goodsSpec = medStock.getGoodsSpec();
if (StringUtils.isEmpty(goodsSpec)) {
log.error("同步库存信息商品规格不能为空");
throw new BaseException("同步库存信息商品规格不能为空");
}
// 获取同步库存信息商品信息
String storeCode = medStock.getStoreCode();
String storeName = medStock.getStoreName();
if (StringUtils.isEmpty(storeCode) || StringUtils.isEmpty(storeName)) {
log.error("同步库存信息库房编码以及库房名称不能为空");
throw new BaseException("同步库存信息库房编码以及库房名称不能为空");
}
// 获取库存信息批号记录
String lot = medStock.getLot();
if (StringUtils.isEmpty(lot)) {
log.error("同步库存信息批号信息不能为空");
throw new BaseException("同步库存信息批号信息不能为空");
}
// 获取同步库存信息商品信息
Date productionDate = medStock.getProductionDate();
Date expireDate = medStock.getExpireDate();
if (productionDate == null || expireDate == null) {
log.error("同步库存信息生产日期以及有效期信息不能为空");
throw new BaseException("同步库存信息生产日期以及有效期信息不能为空");
}
}
}