From d98fec11a74e497ef861a9881ff0b6337d6f83a2 Mon Sep 17 00:00:00 2001
From: houruijun <411269194@kidgrow.com>
Date: Fri, 21 Aug 2020 18:15:41 +0800
Subject: [PATCH] 1.修改注册的时候科室写入失败的问题 2.注册用户的时候,增加同步写入组织数据的功能

---
 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserServiceImpl.java |  113 ++++++++++++++++++++++++-------------
 kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/constant/CommonConstant.java                     |   16 +++--
 kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/doctor.html                                                 |    7 +-
 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysDictionariesMapper.xml                       |    3 +
 4 files changed, 90 insertions(+), 49 deletions(-)

diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserServiceImpl.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserServiceImpl.java
index 79c10bb..fb96ff6 100644
--- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserServiceImpl.java
+++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserServiceImpl.java
@@ -466,8 +466,8 @@
 
     @Override
     public ResultBody findCountByMap(Map<String, Object> map) {
-        map.put("enable",1);
-        map.put("isDel",0);
+        map.put("enable", 1);
+        map.put("isDel", 0);
         Integer integer = baseMapper.selectCountByMap(map);
         return ResultBody.ok().data(integer);
     }
@@ -672,6 +672,10 @@
         Long createUserId = CommonConstant.CREATE_USER_ID;
         //创建人名称
         String createUserName = CommonConstant.CREATE_USER_NAME;
+        //销售服务人员
+        SysUser sysUserSale = baseMapper.selectById(CommonConstant.SALE_USER_ID);
+        //运营服务人员
+        SysUser sysUserOpration = baseMapper.selectById(CommonConstant.OPRATION_USER_ID);
         //是否注册用户
         Boolean isReg = false;
         //业务成功
@@ -679,8 +683,8 @@
         //业务失败提示信息
         String expMsg = "";
         //系统内置的注册医院和科室的组织数据
-        Long organizationHos = CommonConstant.HOSPITAL_ORG_ID;
-        Long organizationDep = CommonConstant.DEPARTMENT_ORG_ID;
+        Long organizationHos = 0L;
+        Long organizationDep = 0L;
         //检查判断是注册 还是添加用户,注册用户先走基本数据建设 医院/科室
         SysUserOrg sysUserOrgH = new SysUserOrg();
         SysUserOrg sysUserOrgD = new SysUserOrg();
@@ -690,44 +694,72 @@
             isReg = true;
             if (CheckVerificationCode(ConstantSMS.REGISTER_SMS, userRegVo.getMobile(), userRegVo.getVerification())) {
                 userRegVo.setDoctorState(true);
-                //写医院数据
-                SysHospital sysHospital = new SysHospital();
-                sysHospital.setHospitalName(userRegVo.getHospitalName());
-                sysHospital.setOrgId(organizationHos);
-                //注册的用户所在医院默认是试用状态
-                sysHospital.setHospitalState(0);
-                sysHospital.setCreateUserId(createUserId);
-                sysHospital.setCreateUserName(createUserName);
-
-                boolean h = hospitalService.save(sysHospital);
-                if (h) {
-                    userRegVo.setHospitalId(sysHospital.getId());
-                    //保存科室数据
-                    SysDepartment sysDepartment = new SysDepartment();
-                    sysDepartment.setOrgId(organizationDep);
-                    sysDepartment.setDepartmentName(userRegVo.getDepartmentName());
-                    sysDepartment.setSaleUserId(createUserId);
-                    sysDepartment.setAccountsCount(1);
-                    sysDepartment.setSaleUserName(createUserName);
-                    sysDepartment.setSaleUserTel("0");
-                    sysDepartment.setServerUserId(createUserId);
-                    sysDepartment.setServerUserTel("0");
-                    sysDepartment.setServerUserName(createUserName);
-                    boolean d = departmentService.save(sysDepartment);
-                    if (d) {
-                        userRegVo.setDepartmentId(sysDepartment.getId());
-                        //自动充入系统指定的试用套餐
-                        if (!saveProductDetail(sysHospital.getId(), sysDepartment.getId(), sysHospital.getHospitalName(), sysDepartment.getDepartmentName())) {
+                //写医院组织数据
+                SysOrganization sysOrganizationH = new SysOrganization();
+                sysOrganizationH.setOrgLevel(1);
+                sysOrganizationH.setOrgAttr(1);
+                sysOrganizationH.setOrgParentId(CommonConstant.ORG_PARENT_ID);
+                sysOrganizationH.setOrgName(userRegVo.getHospitalName());
+                sysOrganizationH.setCreateUserId(createUserId);
+                sysOrganizationH.setCreateUserName(createUserName);
+                if (organizationService.save(sysOrganizationH)) {
+                    //写科室组织数据
+                    SysOrganization sysOrganizationD = new SysOrganization();
+                    sysOrganizationD.setOrgLevel(2);
+                    sysOrganizationD.setOrgAttr(2);
+                    sysOrganizationD.setOrgParentId(sysOrganizationH.getId());
+                    sysOrganizationD.setOrgName(userRegVo.getDepartmentName());
+                    sysOrganizationD.setCreateUserId(createUserId);
+                    sysOrganizationD.setCreateUserName(createUserName);
+                    if (organizationService.save(sysOrganizationD)) {
+                        //写医院组织数据
+                        SysHospital sysHospital = new SysHospital();
+                        sysHospital.setHospitalName(userRegVo.getHospitalName());
+                        sysHospital.setOrgId(sysOrganizationH.getId());
+                        //注册的用户所在医院默认是试用状态
+                        sysHospital.setHospitalState(0);
+                        sysHospital.setCreateUserId(createUserId);
+                        sysHospital.setCreateUserName(createUserName);
+                        if (hospitalService.save(sysHospital)) {
+                            userRegVo.setHospitalId(sysHospital.getId());
+                            //保存科室数据
+                            SysDepartment sysDepartment = new SysDepartment();
+                            sysDepartment.setOrgId(sysOrganizationD.getId());
+                            sysDepartment.setDepartmentName(userRegVo.getDepartmentName());
+                            sysDepartment.setSaleUserId(sysUserSale.getId());
+                            sysDepartment.setAccountsCount(1);
+                            sysDepartment.setSaleUserName(sysUserSale.getNickname());
+                            sysDepartment.setSaleUserTel(sysUserSale.getMobile());
+                            sysDepartment.setServerUserId(sysUserOpration.getId());
+                            sysDepartment.setServerUserTel(sysUserOpration.getMobile());
+                            sysDepartment.setServerUserName(sysUserOpration.getNickname());
+                            sysDepartment.setCreateUserId(createUserId);
+                            sysDepartment.setCreateUserName(createUserName);
+                            if (departmentService.save(sysDepartment)) {
+                                userRegVo.setDepartmentId(sysDepartment.getId());
+                                //自动充入系统指定的试用套餐
+                                if (!saveProductDetail(sysHospital.getId(),
+                                        sysDepartment.getId(),
+                                        sysHospital.getHospitalName(),
+                                        sysDepartment.getDepartmentName())) {
+                                    isSuccess = false;
+                                    expMsg = "试用套餐充值失败";
+                                }
+                            } else {
+                                isSuccess = false;
+                                expMsg = "科室数据写入失败";
+                            }
+                        } else {
                             isSuccess = false;
-                            expMsg = "套餐充值失败";
+                            expMsg = "医院数据写入失败";
                         }
                     } else {
                         isSuccess = false;
-                        expMsg = "科室数据写入失败";
+                        expMsg = "科室组织数据写入失败";
                     }
                 } else {
                     isSuccess = false;
-                    expMsg = "医院数据写入失败";
+                    expMsg = "医院组织数据写入失败";
                 }
             } else {
                 return ResultBody.failed("无效的验证码");
@@ -787,18 +819,19 @@
                     if (StringUtils.isNotBlank(userRegVo.getDoctorRank())) {
                         //检查医生职务是否存在
                         Map<String, Object> selectMap = new HashMap<>();
-                        selectMap.put("dictionariesName", userRegVo.getDoctorRank());
+                        selectMap.put("dictionariesNameAll", userRegVo.getDoctorRank().trim());
                         List<SysDictionaries> dictionariesList = sysDictionariesService.findAll(selectMap);
                         boolean dicBool = false;
                         if (dictionariesList.size() > 0) {
                             for (int i = dictionariesList.size() - 1; i >= 0; i--) {
-                                if (dictionariesList.get(i).getDictionariesName().equals(userRegVo.getDoctorRank())) {
+                                if (dictionariesList.get(i).getDictionariesName().trim().equals(userRegVo.getDoctorRank().trim())) {
                                     userRegVo.setDoctorRankId(dictionariesList.get(i).getId());
                                     dicBool = true;
                                     break;
                                 }
                             }
-                        } else {
+                        }
+                        else {
                             //创建字典数据
                             sysDictionaries.setDictionariesClassId(DictionariesConstants.DOCTOR_RANK);
                             //将名称汉字转为拼音
@@ -846,8 +879,8 @@
                                 sysDoctor.setDoctorState(!isReg);
                                 sysDoctor.setDoctorTel(userRegVo.getMobile());
                                 sysDoctor.setDoctorName(userRegVo.getNickname());
-                                sysDoctor.setServerUserId(isReg ? createUserId : sysUserd.getId());
-                                sysDoctor.setServerUserName(isReg ? createUserName : sysUserd.getUsername());
+                                sysDoctor.setServerUserId(isReg ? sysUserSale.getId() : sysUserd.getId());
+                                sysDoctor.setServerUserName(isReg ? sysUserSale.getNickname() : sysUserd.getUsername());
                                 sysDoctor.setIsAdminUser(false);
                                 sysDoctor.setDoctorCcie(userRegVo.getDoctorCcie());
                                 sysDoctor.setEnabled(true);
diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysDictionariesMapper.xml b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysDictionariesMapper.xml
index b8f51c3..cccb3d5 100644
--- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysDictionariesMapper.xml
+++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysDictionariesMapper.xml
@@ -18,6 +18,9 @@
             <if test="p.dictionariesName != null and p.dictionariesName !=''">
                 and dictionaries_name like  '%${p.dictionariesName}%'
             </if>
+            <if test="p.dictionariesNameAll != null and p.dictionariesNameAll !=''">
+                and dictionaries_name= #{p.dictionariesNameAll}
+            </if>
             <if test="p.dictionariesClassId != null and p.dictionariesClassId !=''">
                 and dictionaries_class_id = #{p.dictionariesClassId}
             </if>
diff --git a/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/constant/CommonConstant.java b/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/constant/CommonConstant.java
index 9e8ddbf..97ab00f 100644
--- a/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/constant/CommonConstant.java
+++ b/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/constant/CommonConstant.java
@@ -274,14 +274,10 @@
     public static final String HOSPITAL_ADMIN_CODE="hospital_admin";
 
     /**
-     * 自主注册医院的组织id
+     * 自主注册医院的上级组织id
      */
-    public static final Long HOSPITAL_ORG_ID=15321234570L;
+    public static final Long ORG_PARENT_ID=15321234561L;
 
-    /**
-     * 自主注册的科室组织id
-     */
-    public static final Long DEPARTMENT_ORG_ID=15321234571L;
     /**
      * 自主注册的用户默认给的产品id
      */
@@ -306,6 +302,14 @@
      * 管理员角色code标识
      */
     public static final String SYSTEM_ADMIN_ROLE_CODE="admin";
+    /**
+     * 自主注册的销售服务人员id
+     */
+    public static final Long SALE_USER_ID= 1289806543902457857L;
+    /**
+     * 自主注册的运营人员id
+     */
+    public static final Long OPRATION_USER_ID= 1289806733313032193L;
 
     /**
      * 销售主管角色code标识
diff --git a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/doctor.html b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/doctor.html
index 6b920bc..e57d22c 100644
--- a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/doctor.html
+++ b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/doctor.html
@@ -411,7 +411,7 @@
                         },
                         {
                             field: 'doctorName',
-                            width: 120,
+                            width: 100,
                             title: '医生姓名',
                             fixed: 'left'
                         },
@@ -467,10 +467,11 @@
                             title: '销售代表'
                         },
                         {
-                            width: 350,
+                            width: 300,
                             align: 'center',
                             toolbar: '#doctor-table-bar',
-                            title: '操作'
+                            title: '操作',
+                            fixed: 'right'
                         },
                     ]
                 ],

--
Gitblit v1.8.0