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