From 99e0ce39c59386e8364b0c57e5c748a3636207d2 Mon Sep 17 00:00:00 2001 From: zengwh <81383286@qq.com> Date: Thu, 5 Nov 2020 17:30:21 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=AE=BE=E7=BD=AE=E8=BD=AC?= =?UTF-8?q?=E7=A7=91=E7=94=A8=E6=88=B7=E6=9F=A5=E9=98=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ArchiveTransferDeptUserController.java | 65 ++++++ .../dao/ArchiveTransferDeptUserMapper.java | 24 +++ .../emr/entity/ArchiveTransferDeptUser.java | 139 ++++++++++++ .../ArchiveTransferDeptUserService.java | 180 ++++++++++++++++ .../service/ipml/EmrOvertimeSetService.java | 8 +- .../mapper/ArchiveTransferDeptUserMapper.xml | 186 ++++++++++++++++ .../views/beHospitaledDir/beHospList.jsp | 40 ++++ .../webapp/static/js/beHospList/beHospList.js | 204 ++++++++++++++++++ 8 files changed, 842 insertions(+), 4 deletions(-) create mode 100644 src/main/java/com/emr/controller/ArchiveTransferDeptUserController.java create mode 100644 src/main/java/com/emr/dao/ArchiveTransferDeptUserMapper.java create mode 100644 src/main/java/com/emr/entity/ArchiveTransferDeptUser.java create mode 100644 src/main/java/com/emr/service/ArchiveTransferDeptUserService.java create mode 100644 src/main/resources/mapper/ArchiveTransferDeptUserMapper.xml diff --git a/src/main/java/com/emr/controller/ArchiveTransferDeptUserController.java b/src/main/java/com/emr/controller/ArchiveTransferDeptUserController.java new file mode 100644 index 0000000..bbbb283 --- /dev/null +++ b/src/main/java/com/emr/controller/ArchiveTransferDeptUserController.java @@ -0,0 +1,65 @@ +package com.emr.controller; + +import com.alibaba.fastjson.JSON; +import com.emr.entity.ArchiveRemindDeptUser; +import com.emr.entity.ArchiveTransferDeptUser; +import com.emr.service.ArchiveTransferDeptUserService; +import com.emr.util.ExceptionPrintUtil; +import com.emr.util.Msg; +import com.emr.vo.CommomTree; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.ResponseBody; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; + +/** + * @ProjectName: + * @Description: + * @Param 传输参数 + * @Return + * @Author: 曾文和 + * @CreateDate: 2020/11/5 17:07 + * @UpdateUser: 曾文和 + * @UpdateDate: 2020/11/5 17:07 + * @UpdateRemark: 更新说明 + * @Version: 1.0 + */ +@Controller +@RequestMapping("transferDeptUser") +public class ArchiveTransferDeptUserController { + @Autowired + private ArchiveTransferDeptUserService transferDeptUserService; + /** + * 科室用户树 + * @return + */ + @RequestMapping(value="selectTranferDeptUserTree",method = RequestMethod.POST) + @ResponseBody + public List selectTranferDeptUserTree(String deptName, String masterId){ + try { + return transferDeptUserService.selectTranferDeptUserTree(deptName,masterId); + } catch (Exception e) { + ExceptionPrintUtil.printException(e); + e.printStackTrace(); + return null; + } + } + + /** + * 保存选中项 + * @return + */ + @RequestMapping(value="updateTransferDeptUserSet") + @ResponseBody + public Msg updateTransferDeptUserSet(String jsonStr, HttpServletRequest request) throws Exception{ + //json字符串转换成list集合 + List list = JSON.parseArray(jsonStr, ArchiveTransferDeptUser.class); + //批量添加 + transferDeptUserService.updateTransferDeptUserSet(list,request); + return Msg.success(); + } +} diff --git a/src/main/java/com/emr/dao/ArchiveTransferDeptUserMapper.java b/src/main/java/com/emr/dao/ArchiveTransferDeptUserMapper.java new file mode 100644 index 0000000..ada0a13 --- /dev/null +++ b/src/main/java/com/emr/dao/ArchiveTransferDeptUserMapper.java @@ -0,0 +1,24 @@ +package com.emr.dao; + +import com.emr.entity.ArchiveTransferDeptUser; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +public interface ArchiveTransferDeptUserMapper extends CommomMapper{ + int deleteByPrimaryKey(Integer id); + + int insert(ArchiveTransferDeptUser record); + + int insertSelective(ArchiveTransferDeptUser record); + + ArchiveTransferDeptUser selectByPrimaryKey(Integer id); + + int updateByPrimaryKeySelective(ArchiveTransferDeptUser record); + + int updateByPrimaryKey(ArchiveTransferDeptUser record); + + List selectAllByMasterId(@Param("masterId")String masterId); + + void deleteTransferDeptUserByMasterId(@Param("masterId")String masterId); +} \ No newline at end of file diff --git a/src/main/java/com/emr/entity/ArchiveTransferDeptUser.java b/src/main/java/com/emr/entity/ArchiveTransferDeptUser.java new file mode 100644 index 0000000..3930af2 --- /dev/null +++ b/src/main/java/com/emr/entity/ArchiveTransferDeptUser.java @@ -0,0 +1,139 @@ +package com.emr.entity; + +import java.io.Serializable; +import java.util.Date; + +public class ArchiveTransferDeptUser implements Serializable { + private Integer id; + + private String masterId; + + private String userName; + + private String deptCode; + + private String createUser; + + private Date createTime; + + private String remark; + + private Integer int1; + + private Integer int2; + + private String str1; + + private String str2; + + private static final long serialVersionUID = 1L; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getMasterId() { + return masterId; + } + + public void setMasterId(String masterId) { + this.masterId = masterId == null ? null : masterId.trim(); + } + + public String getUserName() { + return userName; + } + + public void setUserName(String userName) { + this.userName = userName == null ? null : userName.trim(); + } + + public String getDeptCode() { + return deptCode; + } + + public void setDeptCode(String deptCode) { + this.deptCode = deptCode == null ? null : deptCode.trim(); + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser == null ? null : createUser.trim(); + } + + public Date getCreateTime() { + return createTime; + } + + public void setCreateTime(Date createTime) { + this.createTime = createTime; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark == null ? null : remark.trim(); + } + + public Integer getInt1() { + return int1; + } + + public void setInt1(Integer int1) { + this.int1 = int1; + } + + public Integer getInt2() { + return int2; + } + + public void setInt2(Integer int2) { + this.int2 = int2; + } + + public String getStr1() { + return str1; + } + + public void setStr1(String str1) { + this.str1 = str1 == null ? null : str1.trim(); + } + + public String getStr2() { + return str2; + } + + public void setStr2(String str2) { + this.str2 = str2 == null ? null : str2.trim(); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append(getClass().getSimpleName()); + sb.append(" ["); + sb.append("Hash = ").append(hashCode()); + sb.append(", id=").append(id); + sb.append(", masterId=").append(masterId); + sb.append(", userName=").append(userName); + sb.append(", deptCode=").append(deptCode); + sb.append(", createUser=").append(createUser); + sb.append(", createTime=").append(createTime); + sb.append(", remark=").append(remark); + sb.append(", int1=").append(int1); + sb.append(", int2=").append(int2); + sb.append(", str1=").append(str1); + sb.append(", str2=").append(str2); + sb.append("]"); + return sb.toString(); + } +} \ No newline at end of file diff --git a/src/main/java/com/emr/service/ArchiveTransferDeptUserService.java b/src/main/java/com/emr/service/ArchiveTransferDeptUserService.java new file mode 100644 index 0000000..07da9b6 --- /dev/null +++ b/src/main/java/com/emr/service/ArchiveTransferDeptUserService.java @@ -0,0 +1,180 @@ +package com.emr.service; + +import com.alibaba.fastjson.JSON; +import com.emr.dao.ArchiveTransferDeptUserMapper; +import com.emr.entity.ArchiveTransferDeptUser; +import com.emr.entity.Emr_Dictionary; +import com.emr.entity.Power_User; +import com.emr.service.ipml.CommomService; +import com.emr.service.ipml.StatisticsService; +import com.emr.vo.CommomTree; +import com.emr.vo.User; +import org.apache.commons.lang3.StringUtils; +import org.apache.shiro.util.CollectionUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.servlet.http.HttpServletRequest; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * @ProjectName: + * @Description: + * @Param 传输参数 + * @Return + * @Author: 曾文和 + * @CreateDate: 2020/11/5 17:09 + * @UpdateUser: 曾文和 + * @UpdateDate: 2020/11/5 17:09 + * @UpdateRemark: 更新说明 + * @Version: 1.0 + */ +@Service +@Transactional +public class ArchiveTransferDeptUserService { + @Autowired + private Emr_DictionaryService dictionaryService; + @Autowired + private StatisticsService statisticsService; + @Autowired + private ArchiveTransferDeptUserMapper transferDeptUserMapper; + @Autowired + private CommomService commomService; + public List selectTranferDeptUserTree(String deptName, String masterId) throws Exception { + //查询科室 + List dictionaries = dictionaryService.dicByClo(new Emr_Dictionary()); + List list = new ArrayList<>(); + if(!CollectionUtils.isEmpty(dictionaries)){ + //查询用户信息 + List userList = statisticsService.getUserList(); + if(!CollectionUtils.isEmpty(userList)){ + //查询有选中的用户 + List transferDeptUsers = transferDeptUserMapper.selectAllByMasterId(masterId); + //定义角色id集合 + String roleListJson = "[" + + "{'roleId':1,roleName:'医生'}," + + "{'roleId':5,roleName:'医生质控员'}," + + "{'roleId':6,roleName:'科主任'}," + + "{'roleId':2,roleName:'护士'}," + + "{'roleId':8,roleName:'护士质控员'}," + + "{'roleId':7,roleName:'护士长'}," + + "{'roleId':3,roleName:'病案室人员'}" + + "]"; + List roleList = JSON.parseArray(roleListJson, User.class); + //设定用户id从20000开始 + int id = 1; + int twoParentId = 0; + int threeParentId = 0; + //组织用户 + for(Emr_Dictionary dictionary : dictionaries) { + //获取科室编码 + String code = dictionary.getCode(); + if(StringUtils.isNotBlank(code) && !dictionary.getName().equals(deptName)) { + //第一层,科室层 + CommomTree tree1 = new CommomTree(); + tree1.setId(id); + twoParentId = id; + id++; + tree1.setCode(dictionary.getCode()); + tree1.setName(dictionary.getName()); + tree1.setParentId(0); + //过滤字典类别科室 科室code=null + //定义存在用户的科室 + boolean deptFlag = false; + boolean deptCheckedFlag = false; + for(User role : roleList){ + //第二层,审核角色层 + CommomTree tree2 = new CommomTree(); + tree2.setId(id); + threeParentId = id; + id++; + tree2.setParentId(twoParentId); + tree2.setName(role.getRoleName()); + //定义存在用户的角色 + boolean roleFlag = false; + boolean roleCheckedFlag = false; + for (User user : userList) { + //第三层,用户层 + //获取用户所属科室 + String deptCode = user.getDeptCode(); + if (StringUtils.isNotBlank(deptCode) && deptCode.equals(code) && role.getRoleId().equals(user.getRoleId())) { + CommomTree tree3 = new CommomTree(); + tree3.setId(id); + id++; + tree3.setParentId(threeParentId); + String name = user.getName(); + if(StringUtils.isNotBlank(name)){ + tree3.setName(user.getUserName() + "-" + name); + }else{ + tree3.setName(user.getUserName()); + } + //设置工号 + tree3.setRealName(user.getUserName()); + //设置科室编号 + tree3.setCode(deptCode); + //设置角色id + tree3.setRealParentId(user.getRoleId()); + //判断是否用户选中 + if(!CollectionUtils.isEmpty(transferDeptUsers)){ + for(ArchiveTransferDeptUser userTemp : transferDeptUsers){ + if(userTemp.getUserName().equals(user.getUserName())){ + tree3.setChecked("true"); + deptCheckedFlag = true; + roleCheckedFlag = true; + break; + } + } + } + list.add(tree3); + deptFlag = true; + roleFlag = true; + } + } + //角色不存在用户则移除。不添加 + if(roleFlag){ + if(roleCheckedFlag) { + tree2.setChecked("true"); + } + list.add(tree2); + } + } + //科室不存在用户则移除。不添加 + if(deptFlag){ + if(deptCheckedFlag) { + tree1.setChecked("true"); + } + list.add(tree1); + } + } + } + } + } + return list; + } + + /** + * 保存跨科查看用户信息 + * @param list + */ + public void updateTransferDeptUserSet(List list, HttpServletRequest request) { + if(!CollectionUtils.isEmpty(list)) { + String masterId = list.get(0).getMasterId(); + //先清空表 + transferDeptUserMapper.deleteTransferDeptUserByMasterId(masterId); + //填充数据 + //获取用户 + Power_User user = (Power_User)request.getSession().getAttribute("CURRENT_USER"); + //获取当前时间 + Date date = new Date(); + for(ArchiveTransferDeptUser obj : list){ + obj.setCreateTime(date); + obj.setCreateUser(user.getUserName()); + } + //批量插入 + commomService.insertBatch("archive_transfer_dept_user", list, transferDeptUserMapper); + } + } +} diff --git a/src/main/java/com/emr/service/ipml/EmrOvertimeSetService.java b/src/main/java/com/emr/service/ipml/EmrOvertimeSetService.java index e91cf06..966ee66 100644 --- a/src/main/java/com/emr/service/ipml/EmrOvertimeSetService.java +++ b/src/main/java/com/emr/service/ipml/EmrOvertimeSetService.java @@ -3,11 +3,9 @@ package com.emr.service.ipml; import com.alibaba.fastjson.JSON; import com.emr.dao.ArchiveRemindDeptUserMapper; import com.emr.dao.ArchiveRemindcancleDeptMapper; +import com.emr.dao.ArchiveTransferDeptUserMapper; import com.emr.dao.EmrOvertimeSetMapper; -import com.emr.entity.ArchiveRemindDeptUser; -import com.emr.entity.ArchiveRemindcancleDept; -import com.emr.entity.EmrOvertimeSet; -import com.emr.entity.Emr_Dictionary; +import com.emr.entity.*; import com.emr.quart.DynamicScheduleTaskSecond; import com.emr.service.Emr_DictionaryService; import com.emr.vo.CommomTree; @@ -50,6 +48,8 @@ public class EmrOvertimeSetService { private CommomService commomService; @Autowired private DynamicScheduleTaskSecond dynamicScheduleTaskSecond; + @Autowired + private ArchiveTransferDeptUserMapper transferDeptUserMapper; /** * 根据主键查询 * @return diff --git a/src/main/resources/mapper/ArchiveTransferDeptUserMapper.xml b/src/main/resources/mapper/ArchiveTransferDeptUserMapper.xml new file mode 100644 index 0000000..e7ad4d0 --- /dev/null +++ b/src/main/resources/mapper/ArchiveTransferDeptUserMapper.xml @@ -0,0 +1,186 @@ + + + + + + + + + + + + + + + + + + id, master_id, user_name, dept_code, create_user, create_time, remark, int1, int2, + str1, str2 + + + + delete from archive_transfer_dept_user + where id = #{id,jdbcType=INTEGER} + + + insert into archive_transfer_dept_user (id, master_id, user_name, + dept_code, create_user, create_time, + remark, int1, int2, + str1, str2) + values (#{id,jdbcType=INTEGER}, #{masterId,jdbcType=VARCHAR}, #{userName,jdbcType=NVARCHAR}, + #{deptCode,jdbcType=VARCHAR}, #{createUser,jdbcType=NVARCHAR}, #{createTime,jdbcType=TIMESTAMP}, + #{remark,jdbcType=NVARCHAR}, #{int1,jdbcType=INTEGER}, #{int2,jdbcType=INTEGER}, + #{str1,jdbcType=NVARCHAR}, #{str2,jdbcType=NVARCHAR}) + + + insert into archive_transfer_dept_user + + + id, + + + master_id, + + + user_name, + + + dept_code, + + + create_user, + + + create_time, + + + remark, + + + int1, + + + int2, + + + str1, + + + str2, + + + + + #{id,jdbcType=INTEGER}, + + + #{masterId,jdbcType=VARCHAR}, + + + #{userName,jdbcType=NVARCHAR}, + + + #{deptCode,jdbcType=VARCHAR}, + + + #{createUser,jdbcType=NVARCHAR}, + + + #{createTime,jdbcType=TIMESTAMP}, + + + #{remark,jdbcType=NVARCHAR}, + + + #{int1,jdbcType=INTEGER}, + + + #{int2,jdbcType=INTEGER}, + + + #{str1,jdbcType=NVARCHAR}, + + + #{str2,jdbcType=NVARCHAR}, + + + + + update archive_transfer_dept_user + + + master_id = #{masterId,jdbcType=VARCHAR}, + + + user_name = #{userName,jdbcType=NVARCHAR}, + + + dept_code = #{deptCode,jdbcType=VARCHAR}, + + + create_user = #{createUser,jdbcType=NVARCHAR}, + + + create_time = #{createTime,jdbcType=TIMESTAMP}, + + + remark = #{remark,jdbcType=NVARCHAR}, + + + int1 = #{int1,jdbcType=INTEGER}, + + + int2 = #{int2,jdbcType=INTEGER}, + + + str1 = #{str1,jdbcType=NVARCHAR}, + + + str2 = #{str2,jdbcType=NVARCHAR}, + + + where id = #{id,jdbcType=INTEGER} + + + update archive_transfer_dept_user + set master_id = #{masterId,jdbcType=VARCHAR}, + user_name = #{userName,jdbcType=NVARCHAR}, + dept_code = #{deptCode,jdbcType=VARCHAR}, + create_user = #{createUser,jdbcType=NVARCHAR}, + create_time = #{createTime,jdbcType=TIMESTAMP}, + remark = #{remark,jdbcType=NVARCHAR}, + int1 = #{int1,jdbcType=INTEGER}, + int2 = #{int2,jdbcType=INTEGER}, + str1 = #{str1,jdbcType=NVARCHAR}, + str2 = #{str2,jdbcType=NVARCHAR} + where id = #{id,jdbcType=INTEGER} + + + + + + delete from archive_transfer_dept_user where master_id = ${masterId} + + + + insert into archive_transfer_dept_user (master_id, user_name, + dept_code, create_user, create_time, + remark, int1, int2, + str1, str2) + values + + (#{item.masterId,jdbcType=VARCHAR}, #{item.userName,jdbcType=NVARCHAR}, + #{item.deptCode,jdbcType=VARCHAR}, #{item.createUser,jdbcType=NVARCHAR}, #{item.createTime,jdbcType=TIMESTAMP}, + #{item.remark,jdbcType=NVARCHAR}, #{item.int1,jdbcType=INTEGER}, #{item.int2,jdbcType=INTEGER}, + #{item.str1,jdbcType=NVARCHAR}, #{item.str2,jdbcType=NVARCHAR}) + + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/beHospitaledDir/beHospList.jsp b/src/main/webapp/WEB-INF/views/beHospitaledDir/beHospList.jsp index 0c1e282..2fc2fad 100644 --- a/src/main/webapp/WEB-INF/views/beHospitaledDir/beHospList.jsp +++ b/src/main/webapp/WEB-INF/views/beHospitaledDir/beHospList.jsp @@ -57,6 +57,10 @@ height: auto; min-height: 350px; } + .zTreeDemo2 { + min-height: 350px; + height: calc(100vh - 227px); + } .divCss5 { border-left: 2px solid #e5e5e5; height: auto; @@ -702,6 +706,42 @@ +<%--跨科查阅弹窗--%> +