科室同步,添加门诊,病区两种情况判断与操作

3.2.4.44
wyb 2 years ago
parent 37e85611cc
commit dbd0ad2ebf

@ -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";
}

@ -1,9 +1,7 @@
package com.docus.server.collection.mapper; package com.docus.server.collection.mapper;
import com.docus.server.collection.dto.DeptModifyParam; 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.PowerDept;
import com.docus.server.collection.entity.PowerUser;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
/** /**
@ -23,6 +21,10 @@ public interface PowerDeptMapper {
*/ */
PowerDept getDeptByDeptCode(@Param("deptCode") String deptCode); PowerDept getDeptByDeptCode(@Param("deptCode") String deptCode);
PowerDept getWardDeptByDeptCode(@Param("deptCode") String deptCode);
PowerDept getMzDeptByDeptCode(@Param("deptCode") String deptCode);
/** /**
* *
* @param deptModifyParam * @param deptModifyParam
@ -30,6 +32,10 @@ public interface PowerDeptMapper {
*/ */
int updateDept(@Param("dept") DeptModifyParam deptModifyParam); int updateDept(@Param("dept") DeptModifyParam deptModifyParam);
int updateWardDept(@Param("dept") DeptModifyParam deptModifyParam);
int updateMzDept(@Param("dept") DeptModifyParam deptModifyParam);
/** /**
* *
* @param deptModifyParam * @param deptModifyParam
@ -37,10 +43,21 @@ public interface PowerDeptMapper {
*/ */
int addDept(@Param("dept") DeptModifyParam deptModifyParam); int addDept(@Param("dept") DeptModifyParam deptModifyParam);
int addWardDept(@Param("dept") DeptModifyParam deptModifyParam);
int addMzDept(@Param("dept") DeptModifyParam deptModifyParam);
/** /**
* *
* @param deptCode * @param deptCode
* @return * @return
*/ */
int delDeptByDeptCode(@Param("deptCode") String deptCode); int delDeptByDeptCode(@Param("deptCode") String deptCode);
int delWardDeptByDeptCode(@Param("deptCode") String deptCode);
int delMzDeptByDeptCode(@Param("deptCode") String deptCode);
} }

@ -1,7 +1,6 @@
package com.docus.server.collection.service; package com.docus.server.collection.service;
import com.docus.server.collection.dto.DeptDto; import com.docus.server.collection.dto.DeptDto;
import com.docus.server.collection.dto.UserDto;
/** /**
* *
@ -21,5 +20,5 @@ public interface IPowerDeptService {
* @param deptCode * @param deptCode
* @return * @return
*/ */
boolean delDeptByDeptCode(String deptCode); void delDeptByDeptCode(String deptCode);
} }

@ -2,17 +2,16 @@ package com.docus.server.collection.service.impl;
import com.docus.core.util.Func; import com.docus.core.util.Func;
import com.docus.infrastructure.redis.service.IdService; 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.DeptDto;
import com.docus.server.collection.dto.DeptModifyParam; 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.PowerDept;
import com.docus.server.collection.entity.PowerUser;
import com.docus.server.collection.mapper.PowerDeptMapper; import com.docus.server.collection.mapper.PowerDeptMapper;
import com.docus.server.collection.service.IPowerDeptService; import com.docus.server.collection.service.IPowerDeptService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.Objects;
/** /**
* *
@ -28,26 +27,51 @@ public class PowerDeptServiceImpl implements IPowerDeptService {
@Override @Override
public boolean register(DeptDto deptDto) { public boolean register(DeptDto deptDto) {
PowerDept powerDept = powerDeptMapper.getDeptByDeptCode(deptDto.getDeptCode()); String deptCode = deptDto.getDeptCode();
PowerDept powerDept = null;
DeptModifyParam deptModifyParam = deptDto.transDeptAddParam(); 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(); long deptId = idService.getDateSeq();
deptModifyParam.setDeptId(deptId); 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; return true;
} }
deptModifyParam.setDeptId(powerDept.getDeptId()); 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; return true;
} }
@Override @Override
public boolean delDeptByDeptCode(String deptCode) { public void delDeptByDeptCode(String deptCode) {
PowerDept powerDept = powerDeptMapper.getDeptByDeptCode(deptCode); if (deptCode.startsWith(PowerDeptConst.WARD_DEPT_PREFIX)) {
if (Func.isEmpty(powerDept)) { powerDeptMapper.delWardDeptByDeptCode(deptCode);
return true; } else if (deptCode.startsWith(PowerDeptConst.MZ_DEPT_PREFIX)) {
powerDeptMapper.delMzDeptByDeptCode(deptCode);
} else {
powerDeptMapper.delDeptByDeptCode(deptCode);
} }
powerDeptMapper.delDeptByDeptCode(deptCode);
return true;
} }
} }

@ -13,6 +13,22 @@
`updater`) `updater`)
VALUES (#{dept.deptId},#{dept.deptCode},#{dept.deptName},now(),#{dept.authorName},now(),#{dept.authorName}) VALUES (#{dept.deptId},#{dept.deptCode},#{dept.deptName},now(),#{dept.authorName},now(),#{dept.authorName})
</insert> </insert>
<insert id="addWardDept">
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>
<insert id="addMzDept">
INSERT INTO `docus_system`.`power_area`(`area_id`,
`area_code`,
`area_name`)
VALUES (#{dept.deptId},#{dept.deptCode},#{dept.deptName})
</insert>
<update id="updateDept"> <update id="updateDept">
update `docus_system`.`power_dept` set update `docus_system`.`power_dept` set
`dept_name`=#{dept.deptName}, `dept_name`=#{dept.deptName},
@ -20,12 +36,44 @@
`update_date`=now() `update_date`=now()
where `dept_code`=#{dept.deptCode} where `dept_code`=#{dept.deptCode}
</update> </update>
<update id="updateWardDept">
update
`docus_system`.`power_ward`
set
`ward_name`=#{dept.deptName},
`updater`=#{dept.authorName},
`update_date`=now()
where
`ward_code`=#{dept.deptCode}
</update>
<update id="updateMzDept">
update
`docus_system`.`power_area`
set
`area_name`=#{dept.deptName}
where
`area_code`=#{dept.deptCode}
</update>
<delete id="delDeptByDeptCode"> <delete id="delDeptByDeptCode">
delete from `docus_system`.`power_dept` where `dept_code` = #{deptCode} delete from `docus_system`.`power_dept` where `dept_code` = #{deptCode}
</delete> </delete>
<delete id="delWardDeptByDeptCode">
delete from `docus_system`.`power_ward` where `ward_code` = #{deptCode}
</delete>
<delete id="delMzDeptByDeptCode">
delete from `docus_system`.`power_area` where `area_code` = #{deptCode}
</delete>
<select id="getDeptByDeptCode" resultType="com.docus.server.collection.entity.PowerDept"> <select id="getDeptByDeptCode" resultType="com.docus.server.collection.entity.PowerDept">
SELECT `dept_id`,`dept_code`,`dept_name` FROM `docus_system`.`power_dept` SELECT `dept_id`,`dept_code`,`dept_name` FROM `docus_system`.`power_dept`
WHERE `dept_code` = #{deptCode} LIMIT 1 WHERE `dept_code` = #{deptCode} LIMIT 1
</select> </select>
<select id="getWardDeptByDeptCode" resultType="com.docus.server.collection.entity.PowerDept">
SELECT `ward_id` as deptId,`ward_code` as deptCode,`ward_name` as deptName FROM `docus_system`.`power_ward`
WHERE `ward_code` = #{deptCode} LIMIT 1
</select>
<select id="getMzDeptByDeptCode" resultType="com.docus.server.collection.entity.PowerDept">
SELECT `area_id` as deptId,`area_code` as deptCode,`area_name` as deptName FROM `docus_system`.`power_area`
WHERE `area_code` = #{deptCode} LIMIT 1
</select>
</mapper> </mapper>

Loading…
Cancel
Save