From 9d407311491e0fb82cd4d9b55929527ac48a7afb Mon Sep 17 00:00:00 2001 From: dougang <78125310@kidgrow.com> Date: Wed, 27 May 2020 10:33:55 +0800 Subject: [PATCH] 1、医院管理,增加帐号数量字段 2、医院管理,增加服务、销售人员,以及各自电话 --- kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserController.java | 10 ++ kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysUserMapper.xml | 23 ++++ kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/hospital_form_base.html | 166 ++++++++++++++++++++++++++++++-- kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/mapper/SysUserMapper.java | 7 + kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserServiceImpl.java | 7 + kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/resources/application.yml | 1 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysUserService.java | 8 + kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/model/SysHospital.java | 5 + kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/model/SysDepartment.java | 29 +++++ kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/SysOrganization.java | 20 --- kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/ProductOrderDetailServiceImpl.java | 6 11 files changed, 242 insertions(+), 40 deletions(-) diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/ProductOrderDetailServiceImpl.java b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/ProductOrderDetailServiceImpl.java index dee46c3..65798d3 100644 --- a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/ProductOrderDetailServiceImpl.java +++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/ProductOrderDetailServiceImpl.java @@ -156,9 +156,9 @@ int surplus = surplusDay.intValue(); mapVo.put("surplus",surplus); mapVo.put("logo",logo); - //获取 售后服务工程师 - mapVo.put("saleUserName",sysOrganization.getSaleUserName()); - mapVo.put("saleUserTel",sysOrganization.getSaleUserTel()); + //获取 售后服务工程师********不能从sysOrganization获取,从department获取 + /* mapVo.put("saleUserName",sysOrganization.getSaleUserName()); + mapVo.put("saleUserTel",sysOrganization.getSaleUserTel());*/ return ResultBody.ok().data(mapVo); }else { return ResultBody.failed("该用户套餐已经失效"); diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/model/SysDepartment.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/model/SysDepartment.java index 1618f27..c5d895c 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/model/SysDepartment.java +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/model/SysDepartment.java @@ -2,6 +2,8 @@ import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import com.kidgrow.common.model.SuperModel; import lombok.AllArgsConstructor; import lombok.Data; @@ -36,22 +38,29 @@ /** * 组织Id */ + @JsonSerialize(using = ToStringSerializer.class) private Long orgId; /** * 医院Id */ @NotNull(message = "医院Id不能为空") + @JsonSerialize(using = ToStringSerializer.class) private Long hospitalId; /** * 负责的销售代表 */ - @NotNull(message = "负责的销售代表不能为空") + @NotNull(message = "服务代表不能为空") + @JsonSerialize(using = ToStringSerializer.class) private Long serverUserId; /** * 销售代表的名字 */ - @NotEmpty(message = "销售代表的名字不能为空") + @NotEmpty(message = "服务代表的名字不能为空") private String serverUserName; + /** + * 销售代表电话 + */ + private String serverUserTel; /** * 状态,1启用,0停用 */ @@ -61,4 +70,20 @@ */ @TableLogic private Boolean isDel; + + /** + * 负责的销售代表 + */ + @NotNull(message = "负责的销售代表不能为空") + @JsonSerialize(using = ToStringSerializer.class) + private Long saleUserId; + /** + * 销售代表的名字 + */ + @NotEmpty(message = "销售代表的名字不能为空") + private String saleUserName; + /** + * 销售代表电话 + */ + private String saleUserTel; } diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/model/SysHospital.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/model/SysHospital.java index 2ba88a4..026be71 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/model/SysHospital.java +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/model/SysHospital.java @@ -137,4 +137,9 @@ * 创建者的部门 */ private String createUserOrgCode; + + /** + * 帐号数量,默认6 + */ + private Integer accountsCount; } diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/mapper/SysUserMapper.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/mapper/SysUserMapper.java index 5329d86..be7add6 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/mapper/SysUserMapper.java +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/mapper/SysUserMapper.java @@ -26,4 +26,11 @@ List<SysUser> findList(Page<SysUser> page, @Param("u") Map<String, Object> params); Integer selectCountByMap(@Param("u")Map<String, Object> map); + + /** + * 查询指定角色用户 + * @param type:0销售,1运维 + * @return + */ + List<SysUser> findAppointUsers(@Param("type") Integer type); } diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysUserService.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysUserService.java index 3fb7c1e..5a04762 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysUserService.java +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysUserService.java @@ -3,7 +3,6 @@ import com.kidgrow.common.model.*; import com.kidgrow.common.service.ISuperService; import com.kidgrow.usercenter.model.SysUserExcel; -import org.springframework.web.bind.annotation.RequestBody; import javax.servlet.http.HttpServletRequest; import java.util.List; @@ -119,4 +118,11 @@ ResultBody registerByPhone(Map<String, Object> map); ResultBody updatePhone(Map<String, Object> map,SysUser sysUser); + + /** + * 查询指定角色用户 + * @param type:0销售,1运维 + * @return + */ + ResultBody findAppointUsers(Integer type); } 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 857b953..d27fdad 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 @@ -5,7 +5,6 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.kidgrow.common.annotation.LoginUser; import com.kidgrow.common.constant.CommonConstant; import com.kidgrow.common.constant.SecurityConstants; import com.kidgrow.common.context.ClientContextHolder; @@ -482,4 +481,10 @@ return ResultBody.failed("该手机号没有验证码"); } } + + @Override + public ResultBody findAppointUsers(Integer type) { + List<SysUser> list = baseMapper.findAppointUsers(type); + return ResultBody.ok().data(list); +} } \ No newline at end of file diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysUserMapper.xml b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysUserMapper.xml index f2691bb..2091f8b 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysUserMapper.xml +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysUserMapper.xml @@ -74,4 +74,27 @@ <select id="selectCountByMap" parameterType="map" resultType="integer"> select count(*) from sys_user t <include refid="where_map" /> </select> + + <select id="findAppointUsers" parameterType="Integer" resultType="com.kidgrow.common.model.SysUser"> + SELECT + USERS.id, + USERS.nickname, + USERS.mobile + FROM + `sys_role_user` RU + LEFT JOIN sys_user USERS ON RU.user_id = USERS.id + LEFT JOIN sys_role ROLE ON RU.role_id = ROLE.id + WHERE + USERS.is_del = 0 + <if test="type == 0"> + AND ROLE.`code` IN ( + 'salemanager', + 'sale') + </if> + <if test="type == 1"> + AND ROLE.`code` IN ( + 'oprationmanager', + 'opration') + </if> + </select> </mapper> \ No newline at end of file diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserController.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserController.java index 5408c51..0b2c3e0 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserController.java +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserController.java @@ -375,4 +375,14 @@ public ResultBody updatePhone(@RequestBody Map<String,Object> map, @LoginUser SysUser sysUser) { return appUserService.updatePhone(map,sysUser); } + + /** + * 获取指定用户信息(销售人员和服务人员) + */ + @GetMapping("users/getAppointUser") + public ResultBody getAppointUser(){ + String type = request.getParameter("type"); + + return appUserService.findAppointUsers(Integer.parseInt(type)); + } } diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/resources/application.yml b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/resources/application.yml index a075215..fc4f1b1 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/resources/application.yml +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/resources/application.yml @@ -74,5 +74,6 @@ - sys_role_organization ignoreSqls: - com.kidgrow.usercenter.mapper.SysRoleMapper.findAll + - com.kidgrow.usercenter.mapper.SysUserMapper.findAppointUsers diff --git a/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/SysOrganization.java b/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/SysOrganization.java index 5582b2f..0bffe68 100644 --- a/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/SysOrganization.java +++ b/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/SysOrganization.java @@ -1,19 +1,13 @@ package com.kidgrow.common.model; -import com.kidgrow.common.model.SuperModel; -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import com.baomidou.mybatisplus.extension.activerecord.Model; import lombok.AllArgsConstructor; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; -import org.hibernate.validator.constraints.*; +import org.hibernate.validator.constraints.NotBlank; import javax.validation.constraints.NotNull; -import java.util.Date; /** * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br> @@ -58,18 +52,6 @@ * 部门的code */ private String orgCode; - /** - * 负责的销售id - */ - private Long saleUserId; - /** - * 销售代表的名字 - */ - private String saleUserName; - /** - * 负责销售的联系方式 - */ - private String saleUserTel; /** * 是否删除,1删除,0未删除 */ diff --git a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/hospital_form_base.html b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/hospital_form_base.html index 593a308..d60dc87 100644 --- a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/hospital_form_base.html +++ b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/hospital_form_base.html @@ -23,7 +23,7 @@ <label class="layui-form-label">科室名称</label> <div class="layui-input-block"> <input name="departmentName" id="departmentName" placeholder="科室名称" type="text" class="layui-input" - maxlength="50" lay-verify="required" required style="width: 150px;" /> + maxlength="50" lay-verify="required" required style="width: 175px;" />  </div> </div> <div class="layui-col-sm3"> @@ -42,12 +42,12 @@ </div> <div class="layui-form-item"> <div class="layui-row"> - <div class="layui-col-sm7"> + <div class="layui-col-sm4"> <label class="layui-form-label">医院类型</label> <div class="layui-input-block"> <input name="hospitalTypeId" id="hospitalTypeId" type="hidden" value="" /> <select name="hospitalTypeName" id="hospitalTypeName" lay-filter="hospitalTypeName" - style="width: 300px;"> + style="width: 50px;"> <option value="">请选择</option> </select> </div> @@ -60,6 +60,13 @@ style="width: 300px;"> <option value="">请选择</option> </select> + </div> + </div> + <div class="layui-col-sm3"> + <label class="layui-form-label">帐号数量</label> + <div class="layui-input-block"> + <input id="accountsCount" name="accountsCount" type="text" value="6" class="layui-input" + maxlength="50" lay-verify="required|integer" style="width: 200px;" /> </div> </div> </div> @@ -94,33 +101,60 @@ </div> <div class="layui-form-item"> <div class="layui-row"> - <div class="layui-col-sm3"> + <div class="layui-col-sm4"> <label class="layui-form-label">区号</label> <div class="layui-input-block"> <input name="areaCode" id="areaCode" lay-verify="required" required type="text" class="layui-input" maxlength="10" /> </div> </div> - <div class="layui-col-sm3"> + <div class="layui-col-sm4"> <label class="layui-form-label">经度</label> <div class="layui-input-block"> <input name="longitude" id="longitude" type="text" class="layui-input" maxlength="20" /> </div> </div> - <div class="layui-col-sm3"> + <div class="layui-col-sm4"> <label class="layui-form-label">纬度</label> <div class="layui-input-block"> <input name="latitude" id="latitude" type="text" class="layui-input" maxlength="20" /> </div> </div> - <div class="layui-col-sm3"> + </div> + </div> + <div class="layui-form-item"> + <div class="layui-row"> + <div class="layui-col-sm4"> <label class="layui-form-label">服务人员</label> <div class="layui-input-block"> <input name="serverUserId" id="serverUserId" type="hidden" value="" /> <select lay-verify="required" required name="serverUserName" id="serverUserName" - style="width: 150px;"> + style="width: 150px;" lay-filter="serverUserName"> </select> </div> + </div> + <div class="layui-col-sm6"> + <label class="layui-form-label">服务人电话</label> + <div class="layui-input-block"> + <input name="serverUserTel" id="serverUserTel" type="text" class="layui-input" maxlength="20" value=""/> + </div> + </div> + </div> + </div> + <div class="layui-form-item"> + <div class="layui-col-sm4"> + <label class="layui-form-label">销售人员</label> + <div class="layui-input-block"> + <input name="saleUserId" id="saleUserId" type="hidden" value="" /> + <select lay-verify="required" required name="saleUserName" id="saleUserName" style="width: 150px;" lay-filter="saleUserName"> + </select> + </div> + </div> + + <div class="layui-col-sm6"> + <label class="layui-form-label">销售人电话</label> + <div class="layui-input-block"> + <input name="saleUserTel" id="saleUserTel" type="text" class="layui-input" maxlength="20" value=""/> </div> </div> </div> @@ -141,6 +175,8 @@ </form> <script> + + layui.use(['form', 'table', 'util', 'config', 'admin', 'area', 'dic', 'autocomplete'], function () { var form = layui.form; var table = layui.table; @@ -152,6 +188,62 @@ var dic = layui.dic; var autocomplete = layui.autocomplete; var $ = layui.jquery; + + //加载服务人员信息 + var loadServerUser = function (selectVal) { + admin.req('api-user/users/getAppointUser', { type: 1 }, function (data) { + layer.closeAll('loading'); + if (0 === data.code) { + if (data.data.length > 0) { + $.each(data.data, function (index, item) { + if (selectVal == item.id) { + $('#serverUserName').append(new Option(item.nickname, item.id, false, true)); + } + else { + //往下拉菜单里添加元素 + $('#serverUserName').append(new Option(item.nickname, item.id, false, false)); + } + }) + } + + if(hosIdForEdit == ""){ + $("#serverUserTel").val(data.data[0].mobile); + form.render(); + } + } else { + layer.msg(data.msg, { icon: 2, time: 500 }); + } + + }, 'get'); + } + + //加载销售人员信息 + var loadSaleUser = function (selectVal) { + admin.req('api-user/users/getAppointUser', { type: 0 }, function (data) { + layer.closeAll('loading'); + if (0 === data.code) { + if (data.data.length > 0) { + $.each(data.data, function (index, item) { + //往下拉菜单里添加元素 + if (selectVal == item.id) { + $('#saleUserName').append(new Option(item.nickname, item.id, false, true)); + } else { + $('#saleUserName').append(new Option(item.nickname, item.id, false, false)); + } + }); + + if(hosIdForEdit == ""){ + $("#saleUserTel").val(data.data[0].mobile); + form.render(); + } + } + } else { + layer.msg(data.msg, { icon: 2, time: 500 }); + } + + }, 'get'); + } + //医院资质数据 dic.dicData("#hospitalQualifiedName", "HOSPITAL_QUALIFIED", ""); @@ -205,11 +297,15 @@ var departmentData = { serverUserId: $("#serverUserName").val(), serverUserName: $("#serverUserName option:selected").text(), + serverUserTel: $("#serverUserTel").val(), departmentName: $("#departmentName").val(), id: $("#departmentId").val(), orgId: $("#departmentOrgId").val(), updateUserId: data.data.orgId, - hospitalId: data.data.id + hospitalId: data.data.id, + saleUserId: $("#saleUserName").val(), + saleUserName: $("#saleUserName option:selected").text(), + saleUserTel: $("#saleUserTel").val() }; admin.req('api-user/sysdepartment', JSON.stringify(departmentData), function (data) { layer.closeAll('loading'); @@ -245,7 +341,7 @@ } }); //加载当前所在部门的在职员工 - admin.req('api-user/users/getThisUserOrganizationUser', {}, function (data) { + /*admin.req('api-user/users/getThisUserOrganizationUser', {}, function (data) { layer.closeAll('loading'); if (0 === data.code) { if (data.data.length > 0) { @@ -260,10 +356,12 @@ } else { layer.msg(data.msg, { icon: 2, time: 500 }); } - }, 'get'); + }, 'get');*/ + + + //检查科室名是否存在 $("#departmentName").blur(function () { - debugger if (edithospitalData != null) { if (edithospitalData.departmentName == $("#departmentName").val()) { return false; @@ -310,11 +408,20 @@ if (departData.length > 1) { layer.msg("该医院下有多个科室,默认显示第一个", { icon: 1, time: 2000 }); } + $("#serverUserId").val(departData[0].serverUserId); - $("#serverUserName").val(departData[0].serverUserId); + loadServerUser(departData[0].serverUserId); + $("#departmentName").val(departData[0].departmentName); $("#departmentId").val(departData[0].id); $("#departmentOrgId").val(departData[0].orgId); + $("#saleUserId").val(departData[0].saleUserId); + loadSaleUser(departData[0].saleUserId); + + if(hosIdForEdit != ""){ + $("#serverUserTel").val(departData[0].serverUserTel); + $("#saleUserTel").val(departData[0].saleUserTel); + } form.render(); } } @@ -335,8 +442,39 @@ var hosIdForEdit = ""; if (edithospitalData != null) { hosIdForEdit = edithospitalData.hospitalId; - if (!strUtil.isEmpty(hosIdForEdit)) + if (!strUtil.isEmpty(hosIdForEdit)){} loadDatas(hosIdForEdit); } + + layui.use('form', function () { + var $ = layui.$ + , layer = layui.layer + , form = layui.form + + form.verify({ + integer: [ + /^[1-9]\d*$/ + , '只能输入正整数' + ] + }); + }); + + form.on("select(serverUserName)", function (data) { + loadUserMobile('serverUserTel',data.value); + }); + + form.on("select(saleUserName)", function (data) { + loadUserMobile('saleUserTel',data.value); + }); + + var loadUserMobile = function(id,userId){ + admin.req('api-user/users/' + userId, { }, function (data) { + if (data != null) { + $("#" + id).val(data.mobile); + }else { + layer.msg(data.msg, { icon: 2, time: 500 }); + } + }, 'get') + } }); </script> \ No newline at end of file -- Gitblit v1.8.0