|  | @ -84,156 +84,59 @@ public class SaasService extends BaseJpaService<SaasDO, SaasDao> {
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     private final String roleCode = "saasAdmin";
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 注册新增
 | 
	
		
			
				|  |  |      * @param saas
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     @Transactional(rollbackFor = Exception.class)
 | 
	
		
			
				|  |  |     public SaasDO save(SaasDO saas, UserDO user) {
 | 
	
		
			
				|  |  |         //初始化角色
 | 
	
		
			
				|  |  |         RoleDO roleDO = roleDao.findByCode(roleCode);
 | 
	
		
			
				|  |  |         //初始化租户管理员
 | 
	
		
			
				|  |  |         user.setEnabled(true);
 | 
	
		
			
				|  |  |         user.setLocked(false);
 | 
	
		
			
				|  |  |         user.setSalt(randomString(5));
 | 
	
		
			
				|  |  |         String password = user.getPassword();
 | 
	
		
			
				|  |  |         //密码默认手机号后6位
 | 
	
		
			
				|  |  |         if (StringUtils.isEmpty(password)) {
 | 
	
		
			
				|  |  |             password = user.getMobile().substring(0, 6);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         user.setPassword(MD5.md5Hex(password + "{" + user.getSalt() + "}"));
 | 
	
		
			
				|  |  |         //初始化管理员角色
 | 
	
		
			
				|  |  |         UserRoleDO userRoleDO = new UserRoleDO();
 | 
	
		
			
				|  |  |         userRoleDO.setRoleId(roleDO.getId());
 | 
	
		
			
				|  |  |         List<BaseOrgDO> orgDOList = saas.getOrgList();
 | 
	
		
			
				|  |  |         userDao.save(user);
 | 
	
		
			
				|  |  |         userRoleDO.setUserId(user.getId());
 | 
	
		
			
				|  |  |         userRoleDao.save(userRoleDO);
 | 
	
		
			
				|  |  |         saas.setManager(user.getId());
 | 
	
		
			
				|  |  |     public SaasDO create(SaasDO saas){
 | 
	
		
			
				|  |  |         saas.setStatus(SaasDO.Status.auditWait);
 | 
	
		
			
				|  |  |         saas = saasDao.save(saas);
 | 
	
		
			
				|  |  |         String saasId = saas.getId();
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         List<BaseOrgDO> orgDOList = saas.getOrgList();
 | 
	
		
			
				|  |  |         if(orgDOList!=null&&orgDOList.size()>0){
 | 
	
		
			
				|  |  |             String saasId = saas.getId();
 | 
	
		
			
				|  |  |             orgDOList.forEach(org->{
 | 
	
		
			
				|  |  |                 org.setSaasid(saasId);
 | 
	
		
			
				|  |  |             });
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         baseOrgDao.save(orgDOList);
 | 
	
		
			
				|  |  |         return saas;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         //字典配置(由于需要支持租户对字典的crud,目前考虑直接复制一套字典给租户单独使用)
 | 
	
		
			
				|  |  | //        List<SystemDictDO> systemDictDOList = systemDictDao.findBySaasId(defaultSaasId);
 | 
	
		
			
				|  |  | //        List<SystemDictDO> dictDOList = new ArrayList<>(systemDictDOList.size());
 | 
	
		
			
				|  |  | //        systemDictDOList.forEach(dict->{
 | 
	
		
			
				|  |  | //            SystemDictDO systemDictDO = new SystemDictDO();
 | 
	
		
			
				|  |  | //            systemDictDO.setSaasId(saasId);
 | 
	
		
			
				|  |  | //            systemDictDO.setName(dict.getName());
 | 
	
		
			
				|  |  | //            systemDictDO.setCode(dict.getCode());
 | 
	
		
			
				|  |  | //            systemDictDO.setPyCode(dict.getPyCode());
 | 
	
		
			
				|  |  | //            systemDictDO.setType(dict.getType());
 | 
	
		
			
				|  |  | //            dictDOList.add(systemDictDO);
 | 
	
		
			
				|  |  | //        });
 | 
	
		
			
				|  |  |         //系统字典项
 | 
	
		
			
				|  |  |         List<SystemDictEntryDO> systemDictEntryDOList = systemDictEntryDao.findBySaasId(defaultSaasId);
 | 
	
		
			
				|  |  |         List<SystemDictEntryDO> dictEntryDOList = new ArrayList<>(systemDictEntryDOList.size());
 | 
	
		
			
				|  |  |         systemDictEntryDOList.forEach(dict->{
 | 
	
		
			
				|  |  |             SystemDictEntryDO systemDictEntryDO = new SystemDictEntryDO();
 | 
	
		
			
				|  |  |             systemDictEntryDO.setCode(dict.getCode());
 | 
	
		
			
				|  |  |             systemDictEntryDO.setSort(dict.getSort());
 | 
	
		
			
				|  |  |             systemDictEntryDO.setSaasId(saasId);
 | 
	
		
			
				|  |  |             systemDictEntryDO.setPyCode(dict.getPyCode());
 | 
	
		
			
				|  |  |             systemDictEntryDO.setDictCode(dict.getDictCode());
 | 
	
		
			
				|  |  |             systemDictEntryDO.setRemark(dict.getRemark());
 | 
	
		
			
				|  |  |             systemDictEntryDO.setValue(dict.getValue());
 | 
	
		
			
				|  |  |             dictEntryDOList.add(systemDictEntryDO);
 | 
	
		
			
				|  |  |         });
 | 
	
		
			
				|  |  |         //药品字典
 | 
	
		
			
				|  |  |         List<DictMedicineDO> dictMedicineDOList = dictMedicineDao.findBySaasId(defaultSaasId);
 | 
	
		
			
				|  |  |         List<DictMedicineDO> medicineDOList = new ArrayList<>(dictMedicineDOList.size());
 | 
	
		
			
				|  |  |         dictMedicineDOList.forEach(dict->{
 | 
	
		
			
				|  |  |             DictMedicineDO dictMedicineDO = new DictMedicineDO();
 | 
	
		
			
				|  |  |             dictMedicineDO.setCode(dict.getCode());
 | 
	
		
			
				|  |  |             dictMedicineDO.setDosageForm(dict.getDosageForm());
 | 
	
		
			
				|  |  |             dictMedicineDO.setIndication(dict.getIndication());
 | 
	
		
			
				|  |  |             dictMedicineDO.setName(dict.getName());
 | 
	
		
			
				|  |  |             dictMedicineDO.setPackingSpecification(dict.getPackingSpecification());
 | 
	
		
			
				|  |  |             dictMedicineDO.setSequence(dict.getSequence());
 | 
	
		
			
				|  |  |             dictMedicineDO.setSpecification(dict.getSpecification());
 | 
	
		
			
				|  |  |             dictMedicineDO.setSpellCode(dict.getSpellCode());
 | 
	
		
			
				|  |  |             dictMedicineDO.setSubjectCode(dict.getSubjectCode());
 | 
	
		
			
				|  |  |             dictMedicineDO.setWbzxCode(dict.getWbzxCode());
 | 
	
		
			
				|  |  |             dictMedicineDO.setSaasId(saasId);
 | 
	
		
			
				|  |  |             dictMedicineDO.setStorageConditions(dict.getStorageConditions());
 | 
	
		
			
				|  |  |             medicineDOList.add(dictMedicineDO);
 | 
	
		
			
				|  |  |         });
 | 
	
		
			
				|  |  |         //职称字典
 | 
	
		
			
				|  |  |         List<DictJobTitleDO> dictJobTitleDOList = dictJobTitleDao.findBySaasId(defaultSaasId);
 | 
	
		
			
				|  |  |         List<DictJobTitleDO> jobTitleDOList = new ArrayList<>(dictJobTitleDOList.size());
 | 
	
		
			
				|  |  |         dictJobTitleDOList.forEach(dict->{
 | 
	
		
			
				|  |  |             DictJobTitleDO jobTitleDO = new DictJobTitleDO();
 | 
	
		
			
				|  |  |             jobTitleDO.setSaasId(saasId);
 | 
	
		
			
				|  |  |             jobTitleDO.setName(dict.getName());
 | 
	
		
			
				|  |  |             jobTitleDO.setCode(dict.getCode());
 | 
	
		
			
				|  |  |             jobTitleDO.setCreateTime(new Date());
 | 
	
		
			
				|  |  |             jobTitleDOList.add(jobTitleDO);
 | 
	
		
			
				|  |  |         });
 | 
	
		
			
				|  |  |         //icd10字典
 | 
	
		
			
				|  |  |         List<DictIcd10DO> dictIcd10DOList = dictIcd10Dao.findBySaasId(defaultSaasId);
 | 
	
		
			
				|  |  |         List<DictIcd10DO> icd10DOList = new ArrayList<>(dictIcd10DOList.size());
 | 
	
		
			
				|  |  |         dictIcd10DOList.forEach(dict->{
 | 
	
		
			
				|  |  |             DictIcd10DO icd10DO = new DictIcd10DO();
 | 
	
		
			
				|  |  |             icd10DO.setSaasId(saasId);
 | 
	
		
			
				|  |  |             icd10DO.setName(dict.getName());
 | 
	
		
			
				|  |  |             icd10DO.setCode(dict.getCode());
 | 
	
		
			
				|  |  |             icd10DO.setCreateTime(new Date());
 | 
	
		
			
				|  |  |             icd10DO.setDescription(dict.getDescription());
 | 
	
		
			
				|  |  |             icd10DOList.add(icd10DO);
 | 
	
		
			
				|  |  |         });
 | 
	
		
			
				|  |  |         //健康问题字典
 | 
	
		
			
				|  |  |         List<DictHealthProblemDO> dictHealthProblemDOList = dictHealthProblemDao.findBySaasId(defaultSaasId);
 | 
	
		
			
				|  |  |         List<DictHealthProblemDO> healthProblemDOList = new ArrayList<>(dictHealthProblemDOList.size());
 | 
	
		
			
				|  |  |         dictHealthProblemDOList.forEach(dict->{
 | 
	
		
			
				|  |  |             DictHealthProblemDO healthProblemDO = new DictHealthProblemDO();
 | 
	
		
			
				|  |  |             healthProblemDO.setSaasId(saasId);
 | 
	
		
			
				|  |  |             healthProblemDO.setName(dict.getName());
 | 
	
		
			
				|  |  |             healthProblemDO.setCode(dict.getCode());
 | 
	
		
			
				|  |  |             healthProblemDO.setCreateTime(new Date());
 | 
	
		
			
				|  |  |             healthProblemDO.setDescription(dict.getDescription());
 | 
	
		
			
				|  |  |             healthProblemDO.setChronicFlag(dict.getChronicFlag());
 | 
	
		
			
				|  |  |             healthProblemDOList.add(healthProblemDO);
 | 
	
		
			
				|  |  |         });
 | 
	
		
			
				|  |  |         //病种字典
 | 
	
		
			
				|  |  |         List<DictDiseaseDO> dictDiseaseDOList = dictDiseaseDao.findBySaasId(defaultSaasId);
 | 
	
		
			
				|  |  |         List<DictDiseaseDO> diseaseDOList = new ArrayList<>(dictDiseaseDOList.size());
 | 
	
		
			
				|  |  |         dictDiseaseDOList.forEach(dict->{
 | 
	
		
			
				|  |  |             DictDiseaseDO diseaseDO = new DictDiseaseDO();
 | 
	
		
			
				|  |  |             diseaseDO.setSaasId(saasId);
 | 
	
		
			
				|  |  |             diseaseDO.setName(dict.getName());
 | 
	
		
			
				|  |  |             diseaseDO.setCode(dict.getCode());
 | 
	
		
			
				|  |  |             diseaseDO.setCreateTime(new Date());
 | 
	
		
			
				|  |  |             diseaseDOList.add(diseaseDO);
 | 
	
		
			
				|  |  |         });
 | 
	
		
			
				|  |  |         //科室字典
 | 
	
		
			
				|  |  |         List<DictHospitalDeptDO> dictHospitalDeptDOList = dictHospitalDeptDao.findBySaasId(defaultSaasId);
 | 
	
		
			
				|  |  |         List<DictHospitalDeptDO> hospitalDeptDOList = new ArrayList<>(dictHospitalDeptDOList.size());
 | 
	
		
			
				|  |  |         dictHospitalDeptDOList.forEach(dict->{
 | 
	
		
			
				|  |  |             DictHospitalDeptDO deptDO = new DictHospitalDeptDO();
 | 
	
		
			
				|  |  |             deptDO.setSaasId(saasId);
 | 
	
		
			
				|  |  |             deptDO.setName(dict.getName());
 | 
	
		
			
				|  |  |             deptDO.setCode(dict.getCode());
 | 
	
		
			
				|  |  |             deptDO.setCreateTime(new Date());
 | 
	
		
			
				|  |  |             hospitalDeptDOList.add(deptDO);
 | 
	
		
			
				|  |  |         });
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 修改
 | 
	
		
			
				|  |  |      * @param saas
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     @Transactional(rollbackFor = Exception.class)
 | 
	
		
			
				|  |  |     public SaasDO updateSaas(SaasDO saas,SaasDO oldSaas,UserDO userDO){
 | 
	
		
			
				|  |  |         String saasId = saas.getId();
 | 
	
		
			
				|  |  |         oldSaas.setEmail(saas.getEmail());
 | 
	
		
			
				|  |  |         oldSaas.setMobile(saas.getMobile());
 | 
	
		
			
				|  |  |         oldSaas.setManagerName(saas.getManagerName());
 | 
	
		
			
				|  |  |         oldSaas.setName(saas.getName());
 | 
	
		
			
				|  |  |         oldSaas.setStatus(saas.getStatus());
 | 
	
		
			
				|  |  |         oldSaas.setOrganizationCode(saas.getOrganizationCode());
 | 
	
		
			
				|  |  |         oldSaas.setBusinessLicense(saas.getBusinessLicense());
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         //保存数据
 | 
	
		
			
				|  |  | //        systemDictDao.save(dictDOList);
 | 
	
		
			
				|  |  |         systemDictEntryDao.save(dictEntryDOList);
 | 
	
		
			
				|  |  |         dictMedicineDao.save(medicineDOList);
 | 
	
		
			
				|  |  |         dictJobTitleDao.save(jobTitleDOList);
 | 
	
		
			
				|  |  |         dictIcd10Dao.save(icd10DOList);
 | 
	
		
			
				|  |  |         dictHealthProblemDao.save(healthProblemDOList);
 | 
	
		
			
				|  |  |         dictDiseaseDao.save(diseaseDOList);
 | 
	
		
			
				|  |  |         dictHospitalDeptDao.save(hospitalDeptDOList);
 | 
	
		
			
				|  |  |         userDO.setEmail(saas.getEmail());
 | 
	
		
			
				|  |  |         userDO.setMobile(saas.getMobile());
 | 
	
		
			
				|  |  |         userDO.setName(saas.getManagerName());
 | 
	
		
			
				|  |  |         baseOrgDao.deleteBySaasId(saasId);
 | 
	
		
			
				|  |  |         List<BaseOrgDO> orgDOList = saas.getOrgList();
 | 
	
		
			
				|  |  |         if(orgDOList!=null&&orgDOList.size()>0){
 | 
	
		
			
				|  |  |             orgDOList.forEach(org->{
 | 
	
		
			
				|  |  |                 org.setSaasid(saasId);
 | 
	
		
			
				|  |  |             });
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         baseOrgDao.save(orgDOList);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         return saas;
 | 
	
		
			
				|  |  |         saasDao.save(oldSaas);
 | 
	
		
			
				|  |  |         userDao.save(userDO);
 | 
	
		
			
				|  |  |         return oldSaas;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 系统配置
 | 
	
		
			
				|  |  |      * @param saasDO
 | 
	
	
		
			
				|  | @ -325,18 +228,12 @@ public class SaasService extends BaseJpaService<SaasDO, SaasDao> {
 | 
	
		
			
				|  |  |         //初始化管理员角色
 | 
	
		
			
				|  |  |         UserRoleDO userRoleDO = new UserRoleDO();
 | 
	
		
			
				|  |  |         userRoleDO.setRoleId(roleDO.getId());
 | 
	
		
			
				|  |  |         List<BaseOrgDO> orgDOList = saas.getOrgList();
 | 
	
		
			
				|  |  |         userDao.save(user);
 | 
	
		
			
				|  |  |         userRoleDO.setUserId(user.getId());
 | 
	
		
			
				|  |  |         userRoleDao.save(userRoleDO);
 | 
	
		
			
				|  |  |         saas.setManager(user.getId());
 | 
	
		
			
				|  |  |         saas = saasDao.save(saas);
 | 
	
		
			
				|  |  |         String saasId = saas.getId();
 | 
	
		
			
				|  |  |         if (orgDOList != null && orgDOList.size() > 0) {
 | 
	
		
			
				|  |  |             orgDOList.forEach(org -> {
 | 
	
		
			
				|  |  |                 org.setSaasid(saasId);
 | 
	
		
			
				|  |  |             });
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         //系统字典项
 | 
	
		
			
				|  |  |         List<SystemDictEntryDO> systemDictEntryDOList = systemDictEntryDao.findBySaasId(defaultSaasId);
 | 
	
		
			
				|  |  |         List<SystemDictEntryDO> dictEntryDOList = new ArrayList<>(systemDictEntryDOList.size());
 | 
	
	
		
			
				|  | @ -438,7 +335,6 @@ public class SaasService extends BaseJpaService<SaasDO, SaasDao> {
 | 
	
		
			
				|  |  |         dictHealthProblemDao.save(healthProblemDOList);
 | 
	
		
			
				|  |  |         dictDiseaseDao.save(diseaseDOList);
 | 
	
		
			
				|  |  |         dictHospitalDeptDao.save(hospitalDeptDOList);
 | 
	
		
			
				|  |  |         baseOrgDao.save(orgDOList);
 | 
	
		
			
				|  |  |         return saas;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 |