|  | @ -189,12 +189,15 @@ public class BaseApplicationRoleDictService extends BaseJpaService<BaseApplicati
 | 
												
													
														
															|  |      * @return
 |  |      * @return
 | 
												
													
														
															|  |      * @throws Exception
 |  |      * @throws Exception
 | 
												
													
														
															|  |      */
 |  |      */
 | 
												
													
														
															|  |     public List<BaseApplicationRoleUserDO> insertRoleUser(List<BaseApplicationRoleUserDO> roleUserDOS) throws Exception {
 |  | 
 | 
												
													
														
															|  | 
 |  |     public List<BaseApplicationRoleUserDO> insertRoleUser(List<BaseApplicationRoleUserDO> roleUserDOS,String uuid) throws Exception {
 | 
												
													
														
															|  |         if (roleUserDOS!=null&&roleUserDOS.size()!=0){
 |  |         if (roleUserDOS!=null&&roleUserDOS.size()!=0){
 | 
												
													
														
															|  |             String roleId = roleUserDOS.get(0).getRoleId();
 |  |             String roleId = roleUserDOS.get(0).getRoleId();
 | 
												
													
														
															|  |             applicationRoleUserDao.deleteByRoleId(roleId);
 |  |             applicationRoleUserDao.deleteByRoleId(roleId);
 | 
												
													
														
															|  | 
 |  |             UserDO userDO = userDao.findById(uuid).get();
 | 
												
													
														
															|  |             for (BaseApplicationRoleUserDO roleUserDO:roleUserDOS){
 |  |             for (BaseApplicationRoleUserDO roleUserDO:roleUserDOS){
 | 
												
													
														
															|  |                 roleUserDO.setCreateTime(new Date());
 |  |                 roleUserDO.setCreateTime(new Date());
 | 
												
													
														
															|  | 
 |  |                 roleUserDO.setCreateUser(uuid);
 | 
												
													
														
															|  | 
 |  |                 roleUserDO.setCreateUserName(userDO.getName());
 | 
												
													
														
															|  |             }
 |  |             }
 | 
												
													
														
															|  |             return applicationRoleUserDao.saveAll(roleUserDOS);
 |  |             return applicationRoleUserDao.saveAll(roleUserDOS);
 | 
												
													
														
															|  |         }else {
 |  |         }else {
 | 
												
											
												
													
														
															|  | @ -207,8 +210,115 @@ public class BaseApplicationRoleDictService extends BaseJpaService<BaseApplicati
 | 
												
													
														
															|  |      * @param roleId
 |  |      * @param roleId
 | 
												
													
														
															|  |      * @return
 |  |      * @return
 | 
												
													
														
															|  |      */
 |  |      */
 | 
												
													
														
															|  |     public List<BaseApplicationRoleUserDO> selectUserByRoleId(String roleId){
 |  | 
 | 
												
													
														
															|  |         return applicationRoleUserDao.findByRoleId(roleId);
 |  | 
 | 
												
													
														
															|  | 
 |  |     public MixEnvelop selectUserByRoleId(String roleId,String userType,String userName,String userMobile,String userIdcard,String dept,
 | 
												
													
														
															|  | 
 |  |                                                               String jobTitleCode,Integer page,Integer size){
 | 
												
													
														
															|  | 
 |  |         MixEnvelop mixEnvelop = new MixEnvelop();
 | 
												
													
														
															|  | 
 |  |         String conditionSql = "";
 | 
												
													
														
															|  | 
 |  |         if ("xm_ykyy_wx".equals(wechatId)) {
 | 
												
													
														
															|  | 
 |  |             conditionSql = "to_char(ru.create_time,'YYYY-MM-DD hh24:mi:ss')  AS \"createTime\" ";
 | 
												
													
														
															|  | 
 |  |         } else {
 | 
												
													
														
															|  | 
 |  |             conditionSql = "date_format(ru.create_time,'%Y-%m-%d %H:%i:%S' )  AS \"createTime\" ";
 | 
												
													
														
															|  | 
 |  |         }
 | 
												
													
														
															|  | 
 |  |         String sql = "SELECT\n" +
 | 
												
													
														
															|  | 
 |  |                 "\tru.id AS \"id\",\n" +
 | 
												
													
														
															|  | 
 |  |                 "\tru.role_id AS \"roleId\",\n" +
 | 
												
													
														
															|  | 
 |  |                 "\tru.user_type AS \"userType\",\n" +
 | 
												
													
														
															|  | 
 |  |                 "\tru.user_code AS \"userCode\",\n" +
 | 
												
													
														
															|  | 
 |  |                 "\n" +
 | 
												
													
														
															|  | 
 |  |                 "IF (\n" +
 | 
												
													
														
															|  | 
 |  |                 "\tp.`name` IS NULL,\n" +
 | 
												
													
														
															|  | 
 |  |                 "\td. NAME,\n" +
 | 
												
													
														
															|  | 
 |  |                 "\tp. NAME\n" +
 | 
												
													
														
															|  | 
 |  |                 ") AS \"userName\",\n" +
 | 
												
													
														
															|  | 
 |  |                 "IF (p.sex IS NULL, d.sex, p.sex) AS \"userSex\",\n" +
 | 
												
													
														
															|  | 
 |  |                 "IF (\n" +
 | 
												
													
														
															|  | 
 |  |                 "\tp.idcard IS NULL,\n" +
 | 
												
													
														
															|  | 
 |  |                 "\td.idcard,\n" +
 | 
												
													
														
															|  | 
 |  |                 "\tp.idcard\n" +
 | 
												
													
														
															|  | 
 |  |                 ") AS \"userIdcard\",\n" +
 | 
												
													
														
															|  | 
 |  |                 "\n" +
 | 
												
													
														
															|  | 
 |  |                 "IF (\n" +
 | 
												
													
														
															|  | 
 |  |                 "\tp.mobile IS NULL,\n" +
 | 
												
													
														
															|  | 
 |  |                 "\td.mobile,\n" +
 | 
												
													
														
															|  | 
 |  |                 "\tp.mobile\n" +
 | 
												
													
														
															|  | 
 |  |                 ") AS \"userMobile\",\n" +
 | 
												
													
														
															|  | 
 |  |                 "\trd.org_code as \"orgCode\",\n" +
 | 
												
													
														
															|  | 
 |  |                 "\trd.saas_id as \"saasId\",\n" +
 | 
												
													
														
															|  | 
 |  |                 "\to.`name` as \"orgName\",\n" +
 | 
												
													
														
															|  | 
 |  |                 "\ts.`name` as \"saasName\",\n" +
 | 
												
													
														
															|  | 
 |  |                 "\tdh.dept_name as \"deptName\",\n" +
 | 
												
													
														
															|  | 
 |  |                 "\td.job_title_name as \"jobTitleName\",\n" +
 | 
												
													
														
															|  | 
 |  |                 "\tru.create_user_name as \"createUserName\",\n" +
 | 
												
													
														
															|  | 
 |  |                 conditionSql +
 | 
												
													
														
															|  | 
 |  |                 "FROM\n" +
 | 
												
													
														
															|  | 
 |  |                 "\tbase_application_role_user ru\n" +
 | 
												
													
														
															|  | 
 |  |                 "LEFT JOIN base_application_role_dict rd ON ru.role_id = rd.id\n" +
 | 
												
													
														
															|  | 
 |  |                 "LEFT JOIN base_saas s ON s.id =rd.saas_id \n" +
 | 
												
													
														
															|  | 
 |  |                 "LEFT JOIN base_org o ON rd.org_code = o.code \n" +
 | 
												
													
														
															|  | 
 |  |                 "LEFT JOIN base_patient p ON ru.user_code = p.id\n" +
 | 
												
													
														
															|  | 
 |  |                 "LEFT JOIN base_doctor d ON ru.user_code = d.id\n" +
 | 
												
													
														
															|  | 
 |  |                 "LEFT JOIN base_doctor_hospital dh ON d.id = dh.doctor_code ";
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | 
 |  |         String sqlTotal = " SELECT\n" +
 | 
												
													
														
															|  | 
 |  |                 "\tCOUNT(1) as \"total\"\n" +
 | 
												
													
														
															|  | 
 |  |                 "FROM\n" +
 | 
												
													
														
															|  | 
 |  |                 "\tbase_application_role_user ru\n" +
 | 
												
													
														
															|  | 
 |  |                 "LEFT JOIN base_application_role_dict rd ON ru.role_id = rd.id\n" +
 | 
												
													
														
															|  | 
 |  |                 "LEFT JOIN base_saas s ON s.id =rd.saas_id \n" +
 | 
												
													
														
															|  | 
 |  |                 "LEFT JOIN base_org o ON rd.org_code = o.code \n" +
 | 
												
													
														
															|  | 
 |  |                 "LEFT JOIN base_patient p ON ru.user_code = p.id\n" +
 | 
												
													
														
															|  | 
 |  |                 "LEFT JOIN base_doctor d ON ru.user_code = d.id\n" +
 | 
												
													
														
															|  | 
 |  |                 "LEFT JOIN base_doctor_hospital dh ON d.id = dh.doctor_code\n ";
 | 
												
													
														
															|  | 
 |  |         String condition = " where 1=1 ";
 | 
												
													
														
															|  | 
 |  |         if (StringUtils.isNoneBlank(roleId)){
 | 
												
													
														
															|  | 
 |  |             condition +=" and ru.role_id ='"+roleId+"' ";
 | 
												
													
														
															|  | 
 |  |         }
 | 
												
													
														
															|  | 
 |  |         if (StringUtils.isNoneBlank(userType)){
 | 
												
													
														
															|  | 
 |  |             condition +=" and ru.user_type ='"+userType+"' ";
 | 
												
													
														
															|  | 
 |  |         }
 | 
												
													
														
															|  | 
 |  |         if (StringUtils.isNoneBlank(userName)){
 | 
												
													
														
															|  | 
 |  |             condition +=" and IF (\n" +
 | 
												
													
														
															|  | 
 |  |                     "\tp.`name` IS NULL,\n" +
 | 
												
													
														
															|  | 
 |  |                     "\td. NAME,\n" +
 | 
												
													
														
															|  | 
 |  |                     "\tp. NAME\n" +
 | 
												
													
														
															|  | 
 |  |                     ") LIKE '%"+userName+"%' ";
 | 
												
													
														
															|  | 
 |  |         }
 | 
												
													
														
															|  | 
 |  |         if (StringUtils.isNoneBlank(userMobile)){
 | 
												
													
														
															|  | 
 |  |             condition +=" and IF (\n" +
 | 
												
													
														
															|  | 
 |  |                     "\tp.mobile IS NULL,\n" +
 | 
												
													
														
															|  | 
 |  |                     "\td.mobile,\n" +
 | 
												
													
														
															|  | 
 |  |                     "\tp.mobile\n" +
 | 
												
													
														
															|  | 
 |  |                     ") like '%"+userMobile+"%' ";
 | 
												
													
														
															|  | 
 |  |         }
 | 
												
													
														
															|  | 
 |  |         if (StringUtils.isNoneBlank(userIdcard)){
 | 
												
													
														
															|  | 
 |  |             condition +=" and IF (\n" +
 | 
												
													
														
															|  | 
 |  |                     "\tp.idcard IS NULL,\n" +
 | 
												
													
														
															|  | 
 |  |                     "\td.idcard,\n" +
 | 
												
													
														
															|  | 
 |  |                     "\tp.idcard\n" +
 | 
												
													
														
															|  | 
 |  |                     ") like '%"+userIdcard+"%' ";
 | 
												
													
														
															|  | 
 |  |         }
 | 
												
													
														
															|  | 
 |  |         if (StringUtils.isNoneBlank(dept)){
 | 
												
													
														
															|  | 
 |  |             condition +=" and dh.dept_code = '"+dept+"' ";
 | 
												
													
														
															|  | 
 |  |         }
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | 
 |  |         if (StringUtils.isNoneBlank(jobTitleCode)){
 | 
												
													
														
															|  | 
 |  |             condition +=" and d.job_title_code = '"+jobTitleCode+"' ";
 | 
												
													
														
															|  | 
 |  |         }
 | 
												
													
														
															|  | 
 |  |         String orderCondition = " order by ru.create_time desc ";
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | 
 |  |         List<Map<String,Object>> list = hibenateUtils.createSQLQuery(sql+condition+orderCondition,page,size);
 | 
												
													
														
															|  | 
 |  |         Long count = 0L;
 | 
												
													
														
															|  | 
 |  |         List<Map<String,Object>> total = hibenateUtils.createSQLQuery(sqlTotal+condition);
 | 
												
													
														
															|  | 
 |  |         if(total!=null){
 | 
												
													
														
															|  | 
 |  |             //mysql 与 Oracle 聚合函数返回类型不一致,需要判断装换
 | 
												
													
														
															|  | 
 |  |             count = hibenateUtils.objTransformLong(total.get(0).get("total"));
 | 
												
													
														
															|  | 
 |  |         }
 | 
												
													
														
															|  | 
 |  |         mixEnvelop.setTotalCount(count.intValue());
 | 
												
													
														
															|  | 
 |  |         mixEnvelop.setDetailModelList(list);
 | 
												
													
														
															|  | 
 |  |         mixEnvelop.setPageSize(size);
 | 
												
													
														
															|  | 
 |  |         mixEnvelop.setCurrPage(page);
 | 
												
													
														
															|  | 
 |  |         return mixEnvelop;
 | 
												
													
														
															|  |     }
 |  |     }
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | 
 |  | 
 |