//获取excel里面的对象的工序名称(由于工序名称可以重复,所以此处的编码就可能出错了)
String processName = e.getProcessName();
//使用这个工序名称查询工序对象,再得到其工序编码
String processHql = "select t from TmProcessStep t where t.stepName = ?";
List<TmProcessStep> processStepList = tmProcessStepService.findHql(processHql,processName);
String processCode = processStepList.get(0).getStepNo();
//将工序编码set进对象
e.setProcessCode(processCode);
//保存培训记录后得到这条数据的id
Serializable save = tmTrainingService.save(e);
Long traningId = (Long) save;
//获取当前培训记录对象的受训人员string
String person = e.getReceiveTrainingPerson();
//按逗号将人员分成string集合
List<String> names = Arrays.asList(person.split(","));
//每次名字都要进行匹配
for(String name : names){
//使用名称查询用户表
String hql = "select t from TSBaseUser t where t.realName = ?";
List<TSUser> users = this.systemService.findHql(hql,name);
TSUser tsUser = users.get(0);
//new 培训详细对象
TmTrainingDetail detail = new TmTrainingDetail();
//为这个新对象赋值
detail.setTmTrainingId(traningId);
detail.setTmStaffId(tsUser.getUserName());
detail.setTrainingResult("1");
detail.setName(tsUser.getRealName());
detail.setVersion(0L);
detail.setCreateBy(ResourceUtil.getSessionUserName().getRealName());
detail.setCreateDate(new Date());
detail.setUserId(tsUser.getId());
//再保存
tmTrainingDetailService.save(detail);
}
05-10
1795
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
11-07