Browse Source

干部评价导入优化

dev
wanggongfeng 6 years ago
parent
commit
529d00bbaf
  1. 110
      esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/evaluate/service/impl/EvaluateOfficerServiceImpl.java

110
esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/evaluate/service/impl/EvaluateOfficerServiceImpl.java

@ -204,9 +204,6 @@ public class EvaluateOfficerServiceImpl extends BaseServiceImpl<EvaluateOfficerD
@Transactional(rollbackFor = Exception.class)
@Override
public Result insertPartyList(MultipartFile file, String deptId) {
// 清空该人员相关评价数据 和 当前街道数据
//deleteInfoByDeptId(deptId);
//获取excle版本
String isExcel2003 = ExcelUtils.getExcelInfo(file);
Result result = new Result();
@ -222,10 +219,7 @@ public class EvaluateOfficerServiceImpl extends BaseServiceImpl<EvaluateOfficerD
// 当excel是2007时,创建excel2007
wb = new XSSFWorkbook(is);
} else {
result.setMsg("defeat");
result.setCode(1);
result.setData("excle格式错误!");
return result;
return creatResult("defeat",1,"excle格式错误!");
}
// 得到第一个shell
Sheet sheet = wb.getSheetAt(0);
@ -245,12 +239,11 @@ public class EvaluateOfficerServiceImpl extends BaseServiceImpl<EvaluateOfficerD
// 循环Excel的列
for (int c = 0; c < 4; c++) {
Cell cell = row.getCell(c);
if (null != cell) {
if (null != cell && !"".equals(cell)) {
if (c == 0) {
// 干部姓名
String value = ExcelUtils.getCellContent(cell);
evaluateOfficerEntity.setFullName(value);
} else if (c == 1) {
// 性别
String value = ExcelUtils.getCellContent(cell);
@ -260,66 +253,35 @@ public class EvaluateOfficerServiceImpl extends BaseServiceImpl<EvaluateOfficerD
value = "1";
}
evaluateOfficerEntity.setSex(value);
} else if (c == 2) {
// 单位职务
String value = ExcelUtils.getCellContent(cell);
evaluateOfficerEntity.setPosition(value);
} else if (c == 3) {
// 排序
String value = ExcelUtils.getCellContent(cell);
evaluateOfficerEntity.setSort(Integer.parseInt(value));
}
}else{
return creatResult("defeat",1,"数据导入失败!");
}
}
evaluateOfficerEntity.setDeptId(deptId);
evaluateOfficerEntity.setLikesCount(0);
evaluateOfficerEntity.setOpposeCount(0);
String userId = SecurityUser.getUserId() == null ? "" : SecurityUser.getUserId().toString();
evaluateOfficerEntity.setId(getLongRandom());
evaluateOfficerEntity.setDelFlag("0");//删除标识 0:未删除 1:删除
evaluateOfficerEntity.setRevision(0);
evaluateOfficerEntity.setCreatedBy(userId);
evaluateOfficerEntity.setUpdatedBy(userId);
evaluateOfficerEntity.setCreatedTime(new Date());
evaluateOfficerEntity.setUpdatedTime(new Date());
// 配置实体类所需字段
assignmentEvaluateOfficerEntity(evaluateOfficerEntity,deptId);
list.add(evaluateOfficerEntity);
}
if (list.size() > 0) {
// 清空该人员相关评价数据 和 当前街道数据
deleteInfoByDeptId(deptId);
// 导入数据
EvaluateOfficerEntity[] evaluateOfficerEntities = new EvaluateOfficerEntity[list.size()];
for (int k = 0; k < list.size(); k++) {
evaluateOfficerEntities[k] = list.get(k);
}
baseDao.insertList(evaluateOfficerEntities);
// 导入操作时更新街道干部管理表干部人数
int num = list.size();
EvaluateUpdateDeptOfficerCountDTO evaluateUpdateDeptOfficerCountDTO = new EvaluateUpdateDeptOfficerCountDTO();
evaluateUpdateDeptOfficerCountDTO.setDeptId(deptId);
evaluateUpdateDeptOfficerCountDTO.setOfficerCount(num);
baseDao.updateOfficerCountByDeptId(evaluateUpdateDeptOfficerCountDTO);
}
result.setMsg("success");
result.setCode(0);
result.setData("数据导入成功!");
return result;
} catch (Exception e) {
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return creatResult("defeat",1,"数据导入失败!");
}
result.setMsg("defeat");
result.setCode(1);
result.setData("数据导入失败!");
return result;
if (list.size() > 0) {
// 数据库操作
dataOperation(list,deptId);
}else{
return creatResult("defeat",1,"未检测到数据,数据导入失败!");
}
return creatResult("success",0,"数据导入成功!");
}
/**
@ -342,6 +304,29 @@ public class EvaluateOfficerServiceImpl extends BaseServiceImpl<EvaluateOfficerD
return str;
}
public Result creatResult(String msg, int code, String data){
Result result = new Result();
result.setMsg(msg);
result.setCode(code);
result.setData(data);
return result;
}
public EvaluateOfficerEntity assignmentEvaluateOfficerEntity(EvaluateOfficerEntity evaluateOfficerEntity,String deptId){
evaluateOfficerEntity.setDeptId(deptId);
evaluateOfficerEntity.setLikesCount(0);
evaluateOfficerEntity.setOpposeCount(0);
String userId = SecurityUser.getUserId() == null ? "" : SecurityUser.getUserId().toString();
evaluateOfficerEntity.setId(getLongRandom());
evaluateOfficerEntity.setDelFlag("0");//删除标识 0:未删除 1:删除
evaluateOfficerEntity.setRevision(0);
evaluateOfficerEntity.setCreatedBy(userId);
evaluateOfficerEntity.setUpdatedBy(userId);
evaluateOfficerEntity.setCreatedTime(new Date());
evaluateOfficerEntity.setUpdatedTime(new Date());
return evaluateOfficerEntity;
}
public void deleteInfoByDeptId(String deptId){
// 清空当前街道数据
if (deptId != null && !"".equals(deptId)) {
@ -352,5 +337,24 @@ public class EvaluateOfficerServiceImpl extends BaseServiceImpl<EvaluateOfficerD
baseDao.deleteEvaluateInfoByDeptId(deptId);
}
public void dataOperation(List<EvaluateOfficerEntity> list,String deptId){
// 清空该人员相关评价数据 和 当前街道数据
deleteInfoByDeptId(deptId);
// 导入数据
EvaluateOfficerEntity[] evaluateOfficerEntities = new EvaluateOfficerEntity[list.size()];
for (int k = 0; k < list.size(); k++) {
evaluateOfficerEntities[k] = list.get(k);
}
baseDao.insertList(evaluateOfficerEntities);
// 导入操作时更新街道干部管理表干部人数
int num = list.size();
EvaluateUpdateDeptOfficerCountDTO evaluateUpdateDeptOfficerCountDTO = new EvaluateUpdateDeptOfficerCountDTO();
evaluateUpdateDeptOfficerCountDTO.setDeptId(deptId);
evaluateUpdateDeptOfficerCountDTO.setOfficerCount(num);
baseDao.updateOfficerCountByDeptId(evaluateUpdateDeptOfficerCountDTO);
}
}
Loading…
Cancel
Save