From dbd0ad2ebf23a3f00088b04dcae7630d00c3199c Mon Sep 17 00:00:00 2001 From: wyb <1977763549@qq.com> Date: Fri, 1 Sep 2023 09:22:06 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A7=91=E5=AE=A4=E5=90=8C=E6=AD=A5=EF=BC=8C?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=97=A8=E8=AF=8A=EF=BC=8C=E7=97=85=E5=8C=BA?= =?UTF-8?q?=E4=B8=A4=E7=A7=8D=E6=83=85=E5=86=B5=E5=88=A4=E6=96=AD=E4=B8=8E?= =?UTF-8?q?=E6=93=8D=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../collection/consts/PowerDeptConst.java | 18 +++++++ .../collection/mapper/PowerDeptMapper.java | 21 +++++++- .../collection/service/IPowerDeptService.java | 3 +- .../service/impl/PowerDeptServiceImpl.java | 50 ++++++++++++++----- src/main/resources/mapper/PowerDeptMapper.xml | 48 ++++++++++++++++++ 5 files changed, 123 insertions(+), 17 deletions(-) create mode 100644 src/main/java/com/docus/server/collection/consts/PowerDeptConst.java diff --git a/src/main/java/com/docus/server/collection/consts/PowerDeptConst.java b/src/main/java/com/docus/server/collection/consts/PowerDeptConst.java new file mode 100644 index 0000000..360ebaf --- /dev/null +++ b/src/main/java/com/docus/server/collection/consts/PowerDeptConst.java @@ -0,0 +1,18 @@ +package com.docus.server.collection.consts; + +/** + * 科室常量 + * + * @author WYBDEV + */ +public interface PowerDeptConst { + /** + * 门诊区科室前缀 + */ + String MZ_DEPT_PREFIX = "M"; + /** + * 病房区科室前缀 + */ + String WARD_DEPT_PREFIX = "B"; + +} diff --git a/src/main/java/com/docus/server/collection/mapper/PowerDeptMapper.java b/src/main/java/com/docus/server/collection/mapper/PowerDeptMapper.java index 7a57a8c..b8190d2 100644 --- a/src/main/java/com/docus/server/collection/mapper/PowerDeptMapper.java +++ b/src/main/java/com/docus/server/collection/mapper/PowerDeptMapper.java @@ -1,9 +1,7 @@ package com.docus.server.collection.mapper; import com.docus.server.collection.dto.DeptModifyParam; -import com.docus.server.collection.dto.UserModifyParam; import com.docus.server.collection.entity.PowerDept; -import com.docus.server.collection.entity.PowerUser; import org.apache.ibatis.annotations.Param; /** @@ -23,6 +21,10 @@ public interface PowerDeptMapper { */ PowerDept getDeptByDeptCode(@Param("deptCode") String deptCode); + PowerDept getWardDeptByDeptCode(@Param("deptCode") String deptCode); + + PowerDept getMzDeptByDeptCode(@Param("deptCode") String deptCode); + /** * 更新用户信息 * @param deptModifyParam 科室操作参数 @@ -30,6 +32,10 @@ public interface PowerDeptMapper { */ int updateDept(@Param("dept") DeptModifyParam deptModifyParam); + int updateWardDept(@Param("dept") DeptModifyParam deptModifyParam); + + int updateMzDept(@Param("dept") DeptModifyParam deptModifyParam); + /** * 添加新科室 * @param deptModifyParam 科室操作参数 @@ -37,10 +43,21 @@ public interface PowerDeptMapper { */ int addDept(@Param("dept") DeptModifyParam deptModifyParam); + int addWardDept(@Param("dept") DeptModifyParam deptModifyParam); + + int addMzDept(@Param("dept") DeptModifyParam deptModifyParam); + /** * 根据科室编码删除科室信息 * @param deptCode 科室编码 * @return 数据库删除信息 */ int delDeptByDeptCode(@Param("deptCode") String deptCode); + + int delWardDeptByDeptCode(@Param("deptCode") String deptCode); + + int delMzDeptByDeptCode(@Param("deptCode") String deptCode); + + + } diff --git a/src/main/java/com/docus/server/collection/service/IPowerDeptService.java b/src/main/java/com/docus/server/collection/service/IPowerDeptService.java index 867f876..a0539ce 100644 --- a/src/main/java/com/docus/server/collection/service/IPowerDeptService.java +++ b/src/main/java/com/docus/server/collection/service/IPowerDeptService.java @@ -1,7 +1,6 @@ package com.docus.server.collection.service; import com.docus.server.collection.dto.DeptDto; -import com.docus.server.collection.dto.UserDto; /** * 用户服务 @@ -21,5 +20,5 @@ public interface IPowerDeptService { * @param deptCode 科室编码 * @return 删除结果 */ - boolean delDeptByDeptCode(String deptCode); + void delDeptByDeptCode(String deptCode); } diff --git a/src/main/java/com/docus/server/collection/service/impl/PowerDeptServiceImpl.java b/src/main/java/com/docus/server/collection/service/impl/PowerDeptServiceImpl.java index cd9d3e9..83e4aa2 100644 --- a/src/main/java/com/docus/server/collection/service/impl/PowerDeptServiceImpl.java +++ b/src/main/java/com/docus/server/collection/service/impl/PowerDeptServiceImpl.java @@ -2,17 +2,16 @@ package com.docus.server.collection.service.impl; import com.docus.core.util.Func; import com.docus.infrastructure.redis.service.IdService; -import com.docus.server.collection.config.UserSyncConfig; +import com.docus.server.collection.consts.PowerDeptConst; import com.docus.server.collection.dto.DeptDto; import com.docus.server.collection.dto.DeptModifyParam; -import com.docus.server.collection.dto.UserModifyParam; import com.docus.server.collection.entity.PowerDept; -import com.docus.server.collection.entity.PowerUser; import com.docus.server.collection.mapper.PowerDeptMapper; import com.docus.server.collection.service.IPowerDeptService; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.Objects; /** * 科室服务实现 @@ -28,26 +27,51 @@ public class PowerDeptServiceImpl implements IPowerDeptService { @Override public boolean register(DeptDto deptDto) { - PowerDept powerDept = powerDeptMapper.getDeptByDeptCode(deptDto.getDeptCode()); + String deptCode = deptDto.getDeptCode(); + PowerDept powerDept = null; DeptModifyParam deptModifyParam = deptDto.transDeptAddParam(); - if (Func.isEmpty(powerDept)) { + if (deptCode.startsWith(PowerDeptConst.WARD_DEPT_PREFIX)) { + powerDept = powerDeptMapper.getWardDeptByDeptCode(deptCode); + } else if (deptCode.startsWith(PowerDeptConst.MZ_DEPT_PREFIX)) { + powerDept = powerDeptMapper.getMzDeptByDeptCode(deptCode); + } else { + powerDept = powerDeptMapper.getDeptByDeptCode(deptCode); + } + if (Objects.isNull(powerDept)) { long deptId = idService.getDateSeq(); deptModifyParam.setDeptId(deptId); - powerDeptMapper.addDept(deptModifyParam); + if (deptCode.startsWith(PowerDeptConst.WARD_DEPT_PREFIX)) { + powerDeptMapper.addWardDept(deptModifyParam); + } else if (deptCode.startsWith(PowerDeptConst.MZ_DEPT_PREFIX)) { + powerDeptMapper.addMzDept(deptModifyParam); + } else { + powerDeptMapper.addDept(deptModifyParam); + } return true; } + deptModifyParam.setDeptId(powerDept.getDeptId()); - powerDeptMapper.updateDept(deptModifyParam); + + if (deptCode.startsWith(PowerDeptConst.WARD_DEPT_PREFIX)) { + powerDeptMapper.updateWardDept(deptModifyParam); + } else if (deptCode.startsWith(PowerDeptConst.MZ_DEPT_PREFIX)) { + powerDeptMapper.updateMzDept(deptModifyParam); + } else { + powerDeptMapper.updateDept(deptModifyParam); + } + + return true; } @Override - public boolean delDeptByDeptCode(String deptCode) { - PowerDept powerDept = powerDeptMapper.getDeptByDeptCode(deptCode); - if (Func.isEmpty(powerDept)) { - return true; + public void delDeptByDeptCode(String deptCode) { + if (deptCode.startsWith(PowerDeptConst.WARD_DEPT_PREFIX)) { + powerDeptMapper.delWardDeptByDeptCode(deptCode); + } else if (deptCode.startsWith(PowerDeptConst.MZ_DEPT_PREFIX)) { + powerDeptMapper.delMzDeptByDeptCode(deptCode); + } else { + powerDeptMapper.delDeptByDeptCode(deptCode); } - powerDeptMapper.delDeptByDeptCode(deptCode); - return true; } } diff --git a/src/main/resources/mapper/PowerDeptMapper.xml b/src/main/resources/mapper/PowerDeptMapper.xml index 32680ae..7b0b2eb 100644 --- a/src/main/resources/mapper/PowerDeptMapper.xml +++ b/src/main/resources/mapper/PowerDeptMapper.xml @@ -13,6 +13,22 @@ `updater`) VALUES (#{dept.deptId},#{dept.deptCode},#{dept.deptName},now(),#{dept.authorName},now(),#{dept.authorName}) + + INSERT INTO `docus_system`.`power_ward`(`ward_id`, + `ward_code`, + `ward_name`, + `create_date`, + `creater`, + `update_date`, + `updater`) + VALUES (#{dept.deptId},#{dept.deptCode},#{dept.deptName},now(),#{dept.authorName},now(),#{dept.authorName}) + + + INSERT INTO `docus_system`.`power_area`(`area_id`, + `area_code`, + `area_name`) + VALUES (#{dept.deptId},#{dept.deptCode},#{dept.deptName}) + update `docus_system`.`power_dept` set `dept_name`=#{dept.deptName}, @@ -20,12 +36,44 @@ `update_date`=now() where `dept_code`=#{dept.deptCode} + + update + `docus_system`.`power_ward` + set + `ward_name`=#{dept.deptName}, + `updater`=#{dept.authorName}, + `update_date`=now() + where + `ward_code`=#{dept.deptCode} + + + update + `docus_system`.`power_area` + set + `area_name`=#{dept.deptName} + where + `area_code`=#{dept.deptCode} + delete from `docus_system`.`power_dept` where `dept_code` = #{deptCode} + + delete from `docus_system`.`power_ward` where `ward_code` = #{deptCode} + + + delete from `docus_system`.`power_area` where `area_code` = #{deptCode} + + +