chenr пре 1 месец
родитељ
комит
089eb32ef2

+ 6 - 19
blade-service/blade-user/src/main/java/org/springblade/system/user/service/impl/UserServiceImpl.java

@@ -228,30 +228,19 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, User> implement
                         String sql = "select * from m_contract_relation_jlyz where contract_id_jlyz = " + contractInfo.getId();
                         List<String> record_SG = jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(ContractRelationJlyz.class)).stream().map(ContractRelationJlyz::getContractIdSg).collect(Collectors.toList()).stream().map(String::valueOf).collect(Collectors.toList());
                         if (record_SG.size() > 0) {
-                            for (String sgId : record_SG) {
+                           a: for (String sgId : record_SG) {
                                 //当前施工合同段所有用户角色信息
                                 String sql2 = "select * from m_project_assignment_user where contract_id = " + sgId + " and post_id is null and status = 1 and is_deleted = 0";
                                 List<SaveUserInfoByProjectDTO> userRoleInfoSG = jdbcTemplate.query(sql2, new BeanPropertyRowMapper<>(SaveUserInfoByProjectDTO.class));
-
-                                //去重
-                                List<SaveUserInfoByProjectDTO> lists = BeanUtil.copyProperties(user.getProjectAndUserList(), SaveUserInfoByProjectDTO.class);
-                                if (lists.size() > 0) {
-                                    Iterator<SaveUserInfoByProjectDTO> iterator = lists.iterator();
-                                    while (iterator.hasNext()) {
-                                        SaveUserInfoByProjectDTO jl = iterator.next();
-                                        for (SaveUserInfoByProjectDTO sg : userRoleInfoSG) {
-                                            if (sg.getUserId().equals(jl.getUserId())) {
-                                                //如果监理合同段与施工合同段中有相同的用户信息,就移除,一个用户只能存在一个合同段中
-                                                iterator.remove();
-                                            }
-                                        }
+                                for (SaveUserInfoByProjectDTO sg : userRoleInfoSG) {
+                                    if (sg.getUserId().equals(i.getUserId())) {
+                                        //如果监理合同段与施工合同段中有相同的用户信息,就移除,一个用户只能存在一个合同段中
+                                        continue a;
                                     }
                                 }
-
                                 //重构入参
                                 List<SaveUserInfoByProjectDTO> addList = new ArrayList<>();
-                                for (SaveUserInfoByProjectDTO jl : lists) {
-                                    SaveUserInfoByProjectDTO newObj = BeanUtil.copyProperties(jl, SaveUserInfoByProjectDTO.class);
+                                    SaveUserInfoByProjectDTO newObj = BeanUtil.copyProperties(i, SaveUserInfoByProjectDTO.class);
                                     assert newObj != null;
                                     newObj.setId(SnowFlakeUtil.getId());
                                     newObj.setContractId(sgId);
@@ -263,8 +252,6 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, User> implement
                                     newObj.setCreateTime(new Date());
                                     newObj.setIsRecordJlId(contractInfo.getId()); //从监理合同段关联的数据,用于删除关联时同步删除用户信息
                                     addList.add(newObj);
-                                }
-
                                 //保存监理数据时,同步到对应关联的施工合同段中去
                                 if (addList.size() > 0) {
                                     contractClient.saveUserInfoByProjectThree(addList);