fe2165e29754cbbbb15e74dc56b967ea2994c818.svn-base
2.63 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
package com.phxl.modules.goods.service.ctdept;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.phxl.common.utils.BaseException;
import com.phxl.common.utils.IdUtil;
import com.phxl.modules.goods.dao.ctdept.HisCtDeptDao;
import com.phxl.modules.goods.entity.ctdept.HisCtDept;
@Service
public class HisCtDeptService{
@Autowired
private HisCtDeptDao hisCtDeptDao;
/**
* 日志对象
*/
protected Logger logger = LoggerFactory.getLogger(getClass());
public int batchSaveOrUpdate(List<HisCtDept> depts) {
try {
checkMedDept(depts);
} catch (Exception e) {
throw new BaseException(e.getMessage());
}
if (CollectionUtils.isNotEmpty(depts)) {
List<String> codes = new ArrayList<String>();
for (HisCtDept hisCtDept : depts) {
String ctcpCode = hisCtDept.getHdeptCode();
codes.add(ctcpCode);
}
Map<String, Object> map = new HashMap<String, Object>();
map.put("ctcpCodes", codes);
List<HisCtDept> exsitList = hisCtDeptDao.batchSelect(map);
List<HisCtDept> insertList = new ArrayList<HisCtDept>();
List<HisCtDept> updateList = new ArrayList<HisCtDept>();
for (HisCtDept hisCtDept : depts) {
boolean flag = false;
for (HisCtDept exsitCtCareProv : exsitList) {
if (hisCtDept.getHdeptCode().equals(exsitCtCareProv.getHdeptCode())) {
hisCtDept.setId(exsitCtCareProv.getId());
flag = true;
}
}
if (!flag) {
hisCtDept.setId(IdUtil.uuid());
insertList.add(hisCtDept);
} else {
updateList.add(hisCtDept);
}
}
if (CollectionUtils.isNotEmpty(updateList)) {
hisCtDeptDao.batchUpdate(updateList);
}
if (CollectionUtils.isNotEmpty(insertList)) {
hisCtDeptDao.batchInsert(insertList);
}
}
return 1;
}
private void checkMedDept(List<HisCtDept> depts) {
if(depts == null || depts.size() == 0){
logger.error("无相应科室信息");
throw new BaseException("无相应科室信息");
}
for (HisCtDept hisCtDept : depts) {
String hDeptCode = hisCtDept.getHdeptCode();
if (StringUtils.isEmpty(hDeptCode)) {
logger.error("科室编码不能为空");
throw new BaseException("科室编码不能为空");
}
String hdeptName = hisCtDept.getHdeptName();
if (StringUtils.isEmpty(hdeptName)) {
logger.error("科室名称不能为空");
throw new BaseException("科室名称不能为空");
}
}
}
}