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} + + +