diff --git a/cement-business/src/main/java/cn/wise/sc/cement/business/service/impl/PlanTrainingServiceImpl.java b/cement-business/src/main/java/cn/wise/sc/cement/business/service/impl/PlanTrainingServiceImpl.java
index 24e8a6f9946e5ac4e197f4bdf7475c6b7560f80a..c8c45d1c4e6bd25dbe35f6fa1a6c84f8e56ed0a7 100644
--- a/cement-business/src/main/java/cn/wise/sc/cement/business/service/impl/PlanTrainingServiceImpl.java
+++ b/cement-business/src/main/java/cn/wise/sc/cement/business/service/impl/PlanTrainingServiceImpl.java
@@ -147,6 +147,7 @@ public class PlanTrainingServiceImpl extends ServiceImpl<PlanTrainingMapper, Pla
 	}
 
 	@Override
+	@Transactional
 	public BaseResponse<PlanTraining> update(PlanTrainingQuery planTrainingQuery) {
 		PlanTraining update = new PlanTraining();
 		BeanUtils.copyProperties(planTrainingQuery, update);
@@ -159,36 +160,16 @@ public class PlanTrainingServiceImpl extends ServiceImpl<PlanTrainingMapper, Pla
 		boolean remove = iPlantPeopleService.remove(qw);
 		if (remove) {
 			Integer planId = update.getId();
+			List<PlanPeople> batchAdd = new ArrayList<>();
 			//todo 培训关联表对象  ==>plant + 基本用户信息
 			//拆分用户id
 			String userIds = planTrainingQuery.getUserIds();
 			String[] split = userIds.split("、");
-			List<PlanPeople> batchAdd = new ArrayList<>();
-			//为每个用户id创建关联表信息s
-			for (String userId : split) {
-				Integer id = Integer.parseInt(userId);
-				UserVo user = sysUserMapper.getById(id);
-				PlanPeople planPeople = new PlanPeople();
-				planPeople.setPlanId(planId);
-				planPeople.setUserId(user.getId());
-				planPeople.setName(user.getName());
-				planPeople.setAccount(user.getUsername());
-				planPeople.setGroupId(user.getGroupId());
-
-				batchAdd.add(planPeople);
-				update.setPlanObject(update.getPlanObject() + user.getName() + "、");
-			}
-
-			//ä¼ çš„GroupIds
-			String groupIds = planTrainingQuery.getGroupIds();
-			String[] split1 = groupIds.split("、");
-			List<PlanPeople> batchAdd1 = new ArrayList<>();
-			for (String groupId : split1) {
-				int gpId = Integer.parseInt(groupId);
-				QueryWrapper<SysUser> qw1 = new QueryWrapper<>();
-				qw1.eq("group_id", gpId);
-				List<SysUser> sysUsers = sysUserMapper.selectList(qw1);
-				for (SysUser user : sysUsers) {
+			if (planTrainingQuery.getUserIds()!=null) {
+				//为每个用户id创建关联表信息s
+				for (String userId : split) {
+					Integer id = Integer.parseInt(userId);
+					UserVo user = sysUserMapper.getById(id);
 					PlanPeople planPeople = new PlanPeople();
 					planPeople.setPlanId(planId);
 					planPeople.setUserId(user.getId());
@@ -197,6 +178,31 @@ public class PlanTrainingServiceImpl extends ServiceImpl<PlanTrainingMapper, Pla
 					planPeople.setGroupId(user.getGroupId());
 
 					batchAdd.add(planPeople);
+					update.setPlanObject(update.getPlanObject() + user.getName() + "、");
+				}
+			}
+
+			if (planTrainingQuery.getGroupIds()!=null) {
+				//ä¼ çš„GroupIds
+				String groupIds = planTrainingQuery.getGroupIds();
+				String[] split1 = groupIds.split("、");
+				List<PlanPeople> batchAdd1 = new ArrayList<>();
+				for (String groupId : split1) {
+					int gpId = Integer.parseInt(groupId);
+					QueryWrapper<SysUser> qw1 = new QueryWrapper<>();
+					qw1.eq("group_id", gpId);
+					List<SysUser> sysUsers = sysUserMapper.selectList(qw1);
+					for (SysUser user : sysUsers) {
+						PlanPeople planPeople = new PlanPeople();
+						planPeople.setPlanId(planId);
+						planPeople.setUserId(user.getId());
+						planPeople.setName(user.getName());
+						planPeople.setAccount(user.getUsername());
+						planPeople.setGroupId(user.getGroupId());
+
+						batchAdd.add(planPeople);
+						update.setPlanObject(update.getPlanObject() + user.getName() + "、");
+					}
 				}
 			}
 			iPlantPeopleService.saveBatch(batchAdd);
@@ -204,7 +210,6 @@ public class PlanTrainingServiceImpl extends ServiceImpl<PlanTrainingMapper, Pla
 			update.setPlanObject(substring);
 			iPlanTrainingService.updateById(update);
 		}
-
 		return BaseResponse.okData(update);
 	}