Merge branch 'master' of https://codeup.aliyun.com/61c0318acd8b75daa5a125f7/medical/openhis
This commit is contained in:
@@ -3,13 +3,14 @@ package com.core.common.core.domain.model;
|
|||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
import lombok.Data;
|
|
||||||
import org.springframework.security.core.GrantedAuthority;
|
import org.springframework.security.core.GrantedAuthority;
|
||||||
import org.springframework.security.core.userdetails.UserDetails;
|
import org.springframework.security.core.userdetails.UserDetails;
|
||||||
|
|
||||||
import com.alibaba.fastjson2.annotation.JSONField;
|
import com.alibaba.fastjson2.annotation.JSONField;
|
||||||
import com.core.common.core.domain.entity.SysUser;
|
import com.core.common.core.domain.entity.SysUser;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 登录用户身份权限
|
* 登录用户身份权限
|
||||||
*
|
*
|
||||||
@@ -72,6 +73,16 @@ public class LoginUser implements UserDetails {
|
|||||||
/** 租户ID */
|
/** 租户ID */
|
||||||
private Integer tenantId;
|
private Integer tenantId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 机构/科室id
|
||||||
|
*/
|
||||||
|
private Long orgId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 参与者id
|
||||||
|
*/
|
||||||
|
private Long practitionerId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 用户信息
|
* 用户信息
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -0,0 +1,21 @@
|
|||||||
|
package com.core.common.core.domain.model;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 登录用户扩展
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class LoginUserExtend {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 机构/科室id
|
||||||
|
*/
|
||||||
|
private Long orgId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 参与者id
|
||||||
|
*/
|
||||||
|
private Long practitionerId;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -17,6 +17,7 @@ import com.core.common.constant.Constants;
|
|||||||
import com.core.common.constant.UserConstants;
|
import com.core.common.constant.UserConstants;
|
||||||
import com.core.common.core.domain.entity.SysUser;
|
import com.core.common.core.domain.entity.SysUser;
|
||||||
import com.core.common.core.domain.model.LoginUser;
|
import com.core.common.core.domain.model.LoginUser;
|
||||||
|
import com.core.common.core.domain.model.LoginUserExtend;
|
||||||
import com.core.common.core.redis.RedisCache;
|
import com.core.common.core.redis.RedisCache;
|
||||||
import com.core.common.exception.ServiceException;
|
import com.core.common.exception.ServiceException;
|
||||||
import com.core.common.exception.user.*;
|
import com.core.common.exception.user.*;
|
||||||
@@ -63,7 +64,7 @@ public class SysLoginService {
|
|||||||
*/
|
*/
|
||||||
public String login(String username, String password, String code, String uuid) {
|
public String login(String username, String password, String code, String uuid) {
|
||||||
// 验证码校验
|
// 验证码校验
|
||||||
// validateCaptcha(username, code, uuid);
|
validateCaptcha(username, code, uuid);
|
||||||
// 登录前置校验
|
// 登录前置校验
|
||||||
loginPreCheck(username, password);
|
loginPreCheck(username, password);
|
||||||
// 用户验证
|
// 用户验证
|
||||||
@@ -91,7 +92,7 @@ public class SysLoginService {
|
|||||||
MessageUtils.message("user.login.success")));
|
MessageUtils.message("user.login.success")));
|
||||||
LoginUser loginUser = (LoginUser)authentication.getPrincipal();
|
LoginUser loginUser = (LoginUser)authentication.getPrincipal();
|
||||||
|
|
||||||
// -----start-----登录时set租户id,正常应该从请求头获取,这行代码只是测试使用
|
// -----start-----登录时set租户id
|
||||||
Integer tenantId = 0;
|
Integer tenantId = 0;
|
||||||
ServletRequestAttributes attributes = (ServletRequestAttributes)RequestContextHolder.getRequestAttributes();
|
ServletRequestAttributes attributes = (ServletRequestAttributes)RequestContextHolder.getRequestAttributes();
|
||||||
if (attributes != null) {
|
if (attributes != null) {
|
||||||
@@ -103,8 +104,12 @@ public class SysLoginService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
loginUser.setTenantId(tenantId);
|
loginUser.setTenantId(tenantId);
|
||||||
// -----end-----登录时set租户id,正常应该从请求头获取,这行代码只是测试使用
|
// -----end-----登录时set租户id
|
||||||
recordLoginInfo(loginUser.getUserId());
|
recordLoginInfo(loginUser.getUserId());
|
||||||
|
// 设置 机构id和参与者id
|
||||||
|
LoginUserExtend loginUserExtend = userService.getLoginUserExtend(loginUser.getUserId());
|
||||||
|
loginUser.setOrgId(loginUserExtend.getOrgId());
|
||||||
|
loginUser.setPractitionerId(loginUserExtend.getPractitionerId());
|
||||||
// 生成token
|
// 生成token
|
||||||
return tokenService.createToken(loginUser);
|
return tokenService.createToken(loginUser);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package com.core.system.mapper;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import com.core.common.core.domain.model.LoginUserExtend;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
import com.core.common.core.domain.entity.SysUser;
|
import com.core.common.core.domain.entity.SysUser;
|
||||||
@@ -125,4 +126,12 @@ public interface SysUserMapper {
|
|||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
public SysUser checkEmailUnique(String email);
|
public SysUser checkEmailUnique(String email);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 扩展属性
|
||||||
|
*
|
||||||
|
* @param userId 系统用户id
|
||||||
|
* @return 扩展属性
|
||||||
|
*/
|
||||||
|
LoginUserExtend getLoginUserExtend(@Param("userId") Long userId);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package com.core.system.service;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import com.core.common.core.domain.entity.SysUser;
|
import com.core.common.core.domain.entity.SysUser;
|
||||||
|
import com.core.common.core.domain.model.LoginUserExtend;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 用户 业务层
|
* 用户 业务层
|
||||||
@@ -203,4 +204,12 @@ public interface ISysUserService {
|
|||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
public String importUser(List<SysUser> userList, Boolean isUpdateSupport, String operName);
|
public String importUser(List<SysUser> userList, Boolean isUpdateSupport, String operName);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 扩展属性
|
||||||
|
*
|
||||||
|
* @param userId 系统用户id
|
||||||
|
* @return 扩展属性
|
||||||
|
*/
|
||||||
|
LoginUserExtend getLoginUserExtend(Long userId);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import java.util.stream.Collectors;
|
|||||||
|
|
||||||
import javax.validation.Validator;
|
import javax.validation.Validator;
|
||||||
|
|
||||||
|
import com.core.common.core.domain.model.LoginUserExtend;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
@@ -484,4 +485,16 @@ public class SysUserServiceImpl implements ISysUserService {
|
|||||||
}
|
}
|
||||||
return successMsg.toString();
|
return successMsg.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 扩展属性
|
||||||
|
*
|
||||||
|
* @param userId 系统用户id
|
||||||
|
* @return 扩展属性
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public LoginUserExtend getLoginUserExtend(Long userId) {
|
||||||
|
return userMapper.getLoginUserExtend(userId);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -265,4 +265,12 @@
|
|||||||
</foreach>
|
</foreach>
|
||||||
</delete>
|
</delete>
|
||||||
|
|
||||||
|
<select id="getLoginUserExtend" resultType="com.core.common.core.domain.model.LoginUserExtend">
|
||||||
|
SELECT T1.ID AS practitioner_id,
|
||||||
|
T1.org_id AS org_id
|
||||||
|
FROM adm_practitioner AS T1
|
||||||
|
WHERE T1.delete_flag = '0'
|
||||||
|
AND T1.user_id = #{userId} LIMIT 1
|
||||||
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
package com.openhis.web.basedatamanage.appservice;
|
package com.openhis.web.basedatamanage.appservice;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.core.common.core.domain.R;
|
import com.core.common.core.domain.R;
|
||||||
import com.openhis.web.doctorstation.dto.UserAndPractitionerDto;
|
import com.openhis.web.doctorstation.dto.UserAndPractitionerDto;
|
||||||
|
|
||||||
@@ -10,9 +11,38 @@ public interface IPractitionerAppService {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增用户及参与者
|
* 新增用户及参与者
|
||||||
|
*
|
||||||
* @param userAndPractitionerDto 用户及参与者dto
|
* @param userAndPractitionerDto 用户及参与者dto
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
R<?> saveUserPractitioner(UserAndPractitionerDto userAndPractitionerDto);
|
R<?> saveUserPractitioner(UserAndPractitionerDto userAndPractitionerDto);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询用户及参与者
|
||||||
|
*
|
||||||
|
* @param userAndPractitionerDto 查询条件
|
||||||
|
* @param searchKey 模糊查询关键字
|
||||||
|
* @param pageNo 当前页
|
||||||
|
* @param pageSize 每页多少条
|
||||||
|
* @return 用户及参与者
|
||||||
|
*/
|
||||||
|
IPage<UserAndPractitionerDto> getUserPractitionerPage(UserAndPractitionerDto userAndPractitionerDto,
|
||||||
|
String searchKey, Integer pageNo, Integer pageSize);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改用户及参与者
|
||||||
|
*
|
||||||
|
* @param userAndPractitionerDto 用户及参与者dto
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
R<?> editUserPractitioner(UserAndPractitionerDto userAndPractitionerDto);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除用户及参与者 ; admin不允许删除
|
||||||
|
*
|
||||||
|
* @param userId 系统用户id
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
R<?> delUserPractitioner(Long userId);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,18 +1,36 @@
|
|||||||
package com.openhis.web.basedatamanage.appservice.impl;
|
package com.openhis.web.basedatamanage.appservice.impl;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.HashSet;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.core.common.core.domain.R;
|
||||||
|
import com.core.common.utils.ChineseConvertUtils;
|
||||||
|
import com.core.common.utils.MessageUtils;
|
||||||
|
import com.core.common.utils.SecurityUtils;
|
||||||
|
import com.openhis.administration.domain.BizUser;
|
||||||
|
import com.openhis.administration.domain.BizUserRole;
|
||||||
|
import com.openhis.administration.domain.Practitioner;
|
||||||
|
import com.openhis.administration.domain.PractitionerRole;
|
||||||
import com.openhis.administration.service.IBizUserRoleService;
|
import com.openhis.administration.service.IBizUserRoleService;
|
||||||
import com.openhis.administration.service.IBizUserService;
|
import com.openhis.administration.service.IBizUserService;
|
||||||
import com.openhis.administration.service.IPractitionerRoleService;
|
import com.openhis.administration.service.IPractitionerRoleService;
|
||||||
import com.openhis.administration.service.IPractitionerService;
|
import com.openhis.administration.service.IPractitionerService;
|
||||||
import org.springframework.stereotype.Service;
|
|
||||||
|
|
||||||
import com.core.common.core.domain.R;
|
|
||||||
import com.core.common.utils.MessageUtils;
|
|
||||||
import com.openhis.common.constant.PromptMsgConstant;
|
import com.openhis.common.constant.PromptMsgConstant;
|
||||||
|
import com.openhis.common.enums.AccountStatus;
|
||||||
|
import com.openhis.common.utils.HisQueryUtils;
|
||||||
import com.openhis.web.basedatamanage.appservice.IPractitionerAppService;
|
import com.openhis.web.basedatamanage.appservice.IPractitionerAppService;
|
||||||
import com.openhis.web.basedatamanage.mapper.PractitionerAppAppMapper;
|
import com.openhis.web.basedatamanage.mapper.PractitionerAppAppMapper;
|
||||||
|
import com.openhis.web.doctorstation.dto.UserAndPractitionerChildDto;
|
||||||
import com.openhis.web.doctorstation.dto.UserAndPractitionerDto;
|
import com.openhis.web.doctorstation.dto.UserAndPractitionerDto;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
@@ -33,26 +51,192 @@ public class PractitionerAppServiceImpl implements IPractitionerAppService {
|
|||||||
@Resource
|
@Resource
|
||||||
IPractitionerRoleService iPractitionerRoleService;
|
IPractitionerRoleService iPractitionerRoleService;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增用户及参与者
|
* 新增用户及参与者
|
||||||
*
|
*
|
||||||
* @param userAndPractitionerDto 用户及参与者dto
|
* @param userAndPractitionerDto 用户及参与者dto
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public R<?> saveUserPractitioner(UserAndPractitionerDto userAndPractitionerDto) {
|
public R<?> saveUserPractitioner(UserAndPractitionerDto userAndPractitionerDto) {
|
||||||
// 数据有效性校验 : 账号唯一性
|
String userName = userAndPractitionerDto.getUserName();
|
||||||
|
String nickName = userAndPractitionerDto.getNickName();
|
||||||
|
String phonenumber = userAndPractitionerDto.getPhonenumber();
|
||||||
|
String sex = userAndPractitionerDto.getSex();
|
||||||
|
// 账号唯一性
|
||||||
|
long count = iBizUserService.count(new LambdaQueryWrapper<BizUser>().eq(BizUser::getUserName, userName));
|
||||||
|
if (count > 0L) {
|
||||||
|
return R.fail(null, "账号已存在");
|
||||||
|
}
|
||||||
// 新增 sys_user
|
// 新增 sys_user
|
||||||
|
BizUser bizUser = new BizUser();
|
||||||
|
bizUser.setUserName(userName); // 账号
|
||||||
|
bizUser.setNickName(nickName); // 昵称
|
||||||
|
bizUser.setEmail(userAndPractitionerDto.getEmail());// 邮箱
|
||||||
|
bizUser.setPhonenumber(phonenumber); // 电话
|
||||||
|
bizUser.setSex(sex); // 性别
|
||||||
|
bizUser.setPassword(SecurityUtils.encryptPassword(userAndPractitionerDto.getPassword())); // 密码
|
||||||
|
bizUser.setStatus(userAndPractitionerDto.getStatus()); // 状态
|
||||||
|
bizUser.setRemark(userAndPractitionerDto.getRemark()); // 备注
|
||||||
|
iBizUserService.save(bizUser);
|
||||||
|
Long userId = bizUser.getUserId(); // 用户id
|
||||||
// 新增 sys_user_role
|
// 新增 sys_user_role
|
||||||
|
List<Long> roleIds = userAndPractitionerDto.getRoleIds();
|
||||||
|
BizUserRole bizUserRole;
|
||||||
|
for (Long roleId : roleIds) {
|
||||||
|
bizUserRole = new BizUserRole();
|
||||||
|
bizUserRole.setUserId(userId);
|
||||||
|
bizUserRole.setRoleId(roleId);
|
||||||
|
iBizUserRoleService.save(bizUserRole);
|
||||||
|
}
|
||||||
// 新增 adm_practitioner
|
// 新增 adm_practitioner
|
||||||
|
Practitioner practitioner = new Practitioner();
|
||||||
|
practitioner.setActiveFlag(AccountStatus.ACTIVE.getValue()); // 活动标记
|
||||||
|
practitioner.setName(nickName); // 姓名
|
||||||
|
practitioner.setGenderEnum(Integer.parseInt(sex)); // 性别
|
||||||
|
practitioner.setBirthDate(userAndPractitionerDto.getBirthDate()); // 出生日期
|
||||||
|
practitioner.setPhone(phonenumber); // 电话
|
||||||
|
practitioner.setAddress(userAndPractitionerDto.getAddress()); // 地址
|
||||||
|
practitioner.setYbNo(userAndPractitionerDto.getYbNo()); // 医保码
|
||||||
|
practitioner.setUserId(userId); // 系统用户id
|
||||||
|
practitioner.setOrgId(userAndPractitionerDto.getOrgId()); // 机构id
|
||||||
|
practitioner.setPyStr(ChineseConvertUtils.toPinyinFirstLetter(nickName)); // 拼音码
|
||||||
|
practitioner.setWbStr(ChineseConvertUtils.toWBFirstLetter(nickName)); // 五笔码
|
||||||
|
iPractitionerService.save(practitioner);
|
||||||
|
Long practitionerId = practitioner.getId();// 参与者id
|
||||||
// 新增 adm_practitioner_role
|
// 新增 adm_practitioner_role
|
||||||
|
List<UserAndPractitionerChildDto> childList = userAndPractitionerDto.getChildList();
|
||||||
|
PractitionerRole practitionerRole;
|
||||||
|
for (UserAndPractitionerChildDto userAndPractitionerChildDto : childList) {
|
||||||
|
practitionerRole = new PractitionerRole();
|
||||||
|
practitionerRole.setName(nickName); // 姓名
|
||||||
|
practitionerRole.setPractitionerId(practitionerId); // 参与者id
|
||||||
|
practitionerRole.setRoleCode(userAndPractitionerChildDto.getRoleCode()); // 角色code
|
||||||
|
practitionerRole.setOrgId(userAndPractitionerChildDto.getOrgId()); // 机构id
|
||||||
|
practitionerRole.setLocationId(userAndPractitionerChildDto.getLocationId()); // 位置id
|
||||||
|
iPractitionerRoleService.save(practitionerRole);
|
||||||
|
}
|
||||||
|
|
||||||
|
return R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00001, new Object[] {"人员信息"}));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询用户及参与者
|
||||||
|
*
|
||||||
|
* @param userAndPractitionerDto 查询条件
|
||||||
|
* @param searchKey 模糊查询关键字
|
||||||
|
* @param pageNo 当前页
|
||||||
|
* @param pageSize 每页多少条
|
||||||
|
* @return 用户及参与者
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public IPage<UserAndPractitionerDto> getUserPractitionerPage(UserAndPractitionerDto userAndPractitionerDto,
|
||||||
|
String searchKey, Integer pageNo, Integer pageSize) {
|
||||||
|
// 构建查询条件
|
||||||
|
QueryWrapper<UserAndPractitionerDto> queryWrapper = HisQueryUtils.buildQueryWrapper(userAndPractitionerDto,
|
||||||
|
searchKey, new HashSet<>(Arrays.asList("user_name", "nick_name", "py_str", "wb_str")), null);
|
||||||
|
IPage<UserAndPractitionerDto> userPractitionerPage =
|
||||||
|
practitionerAppAppMapper.getUserPractitionerPage(new Page<>(pageNo, pageSize), queryWrapper);
|
||||||
|
List<UserAndPractitionerDto> records = userPractitionerPage.getRecords();
|
||||||
|
// 参与者id集合
|
||||||
|
List<Long> practitionerIdList =
|
||||||
|
records.stream().map(UserAndPractitionerDto::getPractitionerId).collect(Collectors.toList());
|
||||||
|
// 子集合
|
||||||
|
List<UserAndPractitionerChildDto> childList = practitionerAppAppMapper.getChildList(practitionerIdList);
|
||||||
|
for (UserAndPractitionerDto record : records) {
|
||||||
|
// 匹配子集合
|
||||||
|
List<UserAndPractitionerChildDto> childDtoList = childList.stream()
|
||||||
|
.filter(e -> e.getPractitionerId().equals(record.getPractitionerId())).collect(Collectors.toList());
|
||||||
|
record.setChildList(childDtoList);
|
||||||
|
}
|
||||||
|
return userPractitionerPage;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改用户及参与者 : 登录账号和密码不允许编辑
|
||||||
|
*
|
||||||
|
* @param userAndPractitionerDto 用户及参与者dto
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public R<?> editUserPractitioner(UserAndPractitionerDto userAndPractitionerDto) {
|
||||||
|
Long userId = userAndPractitionerDto.getUserId(); // 系统用户id
|
||||||
|
Long practitionerId = userAndPractitionerDto.getPractitionerId(); // 参与者id
|
||||||
|
|
||||||
|
String nickName = userAndPractitionerDto.getNickName();
|
||||||
|
String phonenumber = userAndPractitionerDto.getPhonenumber();
|
||||||
|
String sex = userAndPractitionerDto.getSex();
|
||||||
|
// 编辑 sys_user
|
||||||
|
BizUser bizUser = new BizUser();
|
||||||
|
bizUser.setNickName(nickName); // 昵称
|
||||||
|
bizUser.setEmail(userAndPractitionerDto.getEmail());// 邮箱
|
||||||
|
bizUser.setPhonenumber(phonenumber); // 电话
|
||||||
|
bizUser.setSex(sex); // 性别
|
||||||
|
bizUser.setStatus(userAndPractitionerDto.getStatus()); // 状态
|
||||||
|
bizUser.setRemark(userAndPractitionerDto.getRemark()); // 备注
|
||||||
|
iBizUserService.update(bizUser, new LambdaQueryWrapper<BizUser>().eq(BizUser::getUserId, userId));
|
||||||
|
// 先删除,再新增 sys_user_role
|
||||||
|
practitionerAppAppMapper.delUserRole(userId);
|
||||||
|
List<Long> roleIds = userAndPractitionerDto.getRoleIds();
|
||||||
|
BizUserRole bizUserRole;
|
||||||
|
for (Long roleId : roleIds) {
|
||||||
|
bizUserRole = new BizUserRole();
|
||||||
|
bizUserRole.setUserId(userId);
|
||||||
|
bizUserRole.setRoleId(roleId);
|
||||||
|
iBizUserRoleService.save(bizUserRole);
|
||||||
|
}
|
||||||
|
// 编辑 adm_practitioner
|
||||||
|
Practitioner practitioner = new Practitioner();
|
||||||
|
practitioner.setId(practitionerId);
|
||||||
|
practitioner.setName(nickName); // 姓名
|
||||||
|
practitioner.setGenderEnum(Integer.parseInt(sex)); // 性别
|
||||||
|
practitioner.setBirthDate(userAndPractitionerDto.getBirthDate()); // 出生日期
|
||||||
|
practitioner.setPhone(phonenumber); // 电话
|
||||||
|
practitioner.setAddress(userAndPractitionerDto.getAddress()); // 地址
|
||||||
|
practitioner.setYbNo(userAndPractitionerDto.getYbNo()); // 医保码
|
||||||
|
practitioner.setUserId(userId); // 系统用户id
|
||||||
|
practitioner.setOrgId(userAndPractitionerDto.getOrgId()); // 机构id
|
||||||
|
practitioner.setPyStr(ChineseConvertUtils.toPinyinFirstLetter(nickName)); // 拼音码
|
||||||
|
practitioner.setWbStr(ChineseConvertUtils.toWBFirstLetter(nickName)); // 五笔码
|
||||||
|
iPractitionerService.updateById(practitioner);
|
||||||
|
// 先删除,再新增 adm_practitioner_role
|
||||||
|
practitionerAppAppMapper.delPractitionerRole(practitionerId);
|
||||||
|
List<UserAndPractitionerChildDto> childList = userAndPractitionerDto.getChildList();
|
||||||
|
PractitionerRole practitionerRole;
|
||||||
|
for (UserAndPractitionerChildDto userAndPractitionerChildDto : childList) {
|
||||||
|
practitionerRole = new PractitionerRole();
|
||||||
|
practitionerRole.setName(nickName); // 姓名
|
||||||
|
practitionerRole.setPractitionerId(practitionerId); // 参与者id
|
||||||
|
practitionerRole.setRoleCode(userAndPractitionerChildDto.getRoleCode()); // 角色code
|
||||||
|
practitionerRole.setOrgId(userAndPractitionerChildDto.getOrgId()); // 机构id
|
||||||
|
practitionerRole.setLocationId(userAndPractitionerChildDto.getLocationId()); // 位置id
|
||||||
|
iPractitionerRoleService.save(practitionerRole);
|
||||||
|
}
|
||||||
|
|
||||||
return R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[] {"人员信息"}));
|
return R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[] {"人员信息"}));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除用户及参与者 ; admin不允许删除
|
||||||
|
*
|
||||||
|
* @param userId 系统用户id
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public R<?> delUserPractitioner(Long userId) {
|
||||||
|
if (1L == userId) {
|
||||||
|
return R.fail(null, "admin不允许删除");
|
||||||
|
}
|
||||||
|
iBizUserService.remove(new LambdaQueryWrapper<BizUser>().eq(BizUser::getUserId, userId));
|
||||||
|
practitionerAppAppMapper.delUserRole(userId);
|
||||||
|
Practitioner one =
|
||||||
|
iPractitionerService.getOne(new LambdaQueryWrapper<Practitioner>().eq(Practitioner::getUserId, userId));
|
||||||
|
Long practitionerId = one.getId();// 参与者id
|
||||||
|
iPractitionerService.removeById(practitionerId);
|
||||||
|
iPractitionerRoleService
|
||||||
|
.remove(new LambdaQueryWrapper<PractitionerRole>().eq(PractitionerRole::getPractitionerId, practitionerId));
|
||||||
|
|
||||||
|
return R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00005, new Object[] {"人员信息"}));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,11 +3,9 @@
|
|||||||
*/
|
*/
|
||||||
package com.openhis.web.basedatamanage.controller;
|
package com.openhis.web.basedatamanage.controller;
|
||||||
|
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.core.common.core.domain.R;
|
import com.core.common.core.domain.R;
|
||||||
import com.openhis.web.basedatamanage.appservice.IPractitionerAppService;
|
import com.openhis.web.basedatamanage.appservice.IPractitionerAppService;
|
||||||
import com.openhis.web.doctorstation.dto.UserAndPractitionerDto;
|
import com.openhis.web.doctorstation.dto.UserAndPractitionerDto;
|
||||||
@@ -32,9 +30,64 @@ public class PractitionerController {
|
|||||||
* @param userAndPractitionerDto 用户及参与者dto
|
* @param userAndPractitionerDto 用户及参与者dto
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
@PostMapping(value = "/save-user-practitioner")
|
@PostMapping(value = "/user-practitioner")
|
||||||
public R<?> saveUserPractitioner(@RequestBody UserAndPractitionerDto userAndPractitionerDto) {
|
public R<?> saveUserPractitioner(@RequestBody UserAndPractitionerDto userAndPractitionerDto) {
|
||||||
return practitionerAppService.saveUserPractitioner(userAndPractitionerDto);
|
return practitionerAppService.saveUserPractitioner(userAndPractitionerDto);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询用户及参与者
|
||||||
|
*
|
||||||
|
* @param userAndPractitionerDto 查询条件
|
||||||
|
* @param searchKey 模糊查询关键字
|
||||||
|
* @param pageNo 当前页
|
||||||
|
* @param pageSize 每页多少条
|
||||||
|
* @return 用户及参与者
|
||||||
|
*/
|
||||||
|
@GetMapping(value = "/user-practitioner-page")
|
||||||
|
public R<?> getUserPractitionerPage(UserAndPractitionerDto userAndPractitionerDto,
|
||||||
|
@RequestParam(value = "searchKey", defaultValue = "") String searchKey,
|
||||||
|
@RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo,
|
||||||
|
@RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) {
|
||||||
|
return R
|
||||||
|
.ok(practitionerAppService.getUserPractitionerPage(userAndPractitionerDto, searchKey, pageNo, pageSize));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询用户及参与者详情
|
||||||
|
*
|
||||||
|
* @param userId 系统用户id
|
||||||
|
* @return 用户及参与者详情
|
||||||
|
*/
|
||||||
|
@GetMapping(value = "/user-practitioner-detail")
|
||||||
|
public R<?> getUserPractitionerPage(@RequestParam Long userId) {
|
||||||
|
UserAndPractitionerDto userAndPractitionerDto = new UserAndPractitionerDto();
|
||||||
|
userAndPractitionerDto.setUserId(userId);
|
||||||
|
IPage<UserAndPractitionerDto> userPractitionerPage =
|
||||||
|
practitionerAppService.getUserPractitionerPage(userAndPractitionerDto, "", 1, 1);
|
||||||
|
return R.ok(userPractitionerPage.getRecords().get(0));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改用户及参与者
|
||||||
|
*
|
||||||
|
* @param userAndPractitionerDto 用户及参与者dto
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
@PutMapping(value = "/user-practitioner")
|
||||||
|
public R<?> editUserPractitioner(@RequestBody UserAndPractitionerDto userAndPractitionerDto) {
|
||||||
|
return practitionerAppService.editUserPractitioner(userAndPractitionerDto);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除用户及参与者 ; admin不允许删除
|
||||||
|
*
|
||||||
|
* @param userId 系统用户id
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
@DeleteMapping(value = "/user-practitioner")
|
||||||
|
public R<?> delUserPractitioner(@RequestParam Long userId) {
|
||||||
|
return practitionerAppService.delUserPractitioner(userId);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,53 @@
|
|||||||
package com.openhis.web.basedatamanage.mapper;
|
package com.openhis.web.basedatamanage.mapper;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
import org.springframework.stereotype.Repository;
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.openhis.web.doctorstation.dto.UserAndPractitionerChildDto;
|
||||||
|
import com.openhis.web.doctorstation.dto.UserAndPractitionerDto;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 参与者 应用Mapper
|
* 参与者 应用Mapper
|
||||||
*/
|
*/
|
||||||
@Repository
|
@Repository
|
||||||
public interface PractitionerAppAppMapper {
|
public interface PractitionerAppAppMapper {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询用户及参与者
|
||||||
|
*
|
||||||
|
* @param page 分页参数
|
||||||
|
* @param queryWrapper 查询条件
|
||||||
|
* @return 用户及参与者
|
||||||
|
*/
|
||||||
|
IPage<UserAndPractitionerDto> getUserPractitionerPage(@Param("page") Page<UserAndPractitionerDto> page,
|
||||||
|
@Param(Constants.WRAPPER) QueryWrapper<UserAndPractitionerDto> queryWrapper);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询子集合
|
||||||
|
*
|
||||||
|
* @param practitionerIdList 参与者id集合
|
||||||
|
* @return 子集合
|
||||||
|
*/
|
||||||
|
List<UserAndPractitionerChildDto> getChildList(@Param("practitionerIdList") List<Long> practitionerIdList);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 物理删除系统用户与角色的关系
|
||||||
|
*
|
||||||
|
* @param userId 系统用户id
|
||||||
|
*/
|
||||||
|
void delUserRole(@Param("userId") Long userId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 物理删除参与者与业务角色的关系
|
||||||
|
*
|
||||||
|
* @param practitionerId 参与者id
|
||||||
|
*/
|
||||||
|
void delPractitionerRole(@Param("practitionerId") Long practitionerId);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -84,8 +84,8 @@ public class ChargeItemFormData {
|
|||||||
this.statusEnum = ChargeItemStatus.BILLED.getValue();
|
this.statusEnum = ChargeItemStatus.BILLED.getValue();
|
||||||
this.contextEnum = EncounterClass.AMB.getValue();
|
this.contextEnum = EncounterClass.AMB.getValue();
|
||||||
this.occurrenceTime = new Date();
|
this.occurrenceTime = new Date();
|
||||||
this.performerId = SecurityUtils.getLoginUser().getUserId();
|
this.performerId = SecurityUtils.getLoginUser().getPractitionerId();
|
||||||
this.entererId = SecurityUtils.getLoginUser().getUserId();
|
this.entererId = SecurityUtils.getLoginUser().getPractitionerId();
|
||||||
this.enteredDate = new Date();
|
this.enteredDate = new Date();
|
||||||
this.serviceTable = CommonConstants.TableName.ADM_HEALTHCARE_SERVICE;
|
this.serviceTable = CommonConstants.TableName.ADM_HEALTHCARE_SERVICE;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ import com.openhis.web.datadictionary.dto.MedicationManageUpDto;
|
|||||||
public interface IItemDefinitionService {
|
public interface IItemDefinitionService {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 添加项目定价
|
* 添加药品的项目定价
|
||||||
*
|
*
|
||||||
* @param medicationManageUpDto 药品目录信息
|
* @param medicationManageUpDto 药品目录信息
|
||||||
* @param medicationDetail 药品信息
|
* @param medicationDetail 药品信息
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ import java.util.concurrent.CopyOnWriteArrayList;
|
|||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
import java.util.stream.Stream;
|
import java.util.stream.Stream;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
@@ -21,6 +22,7 @@ import org.springframework.web.bind.annotation.RequestParam;
|
|||||||
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.core.common.core.domain.R;
|
import com.core.common.core.domain.R;
|
||||||
import com.core.common.utils.MessageUtils;
|
import com.core.common.utils.MessageUtils;
|
||||||
@@ -30,6 +32,7 @@ import com.openhis.administration.domain.Organization;
|
|||||||
import com.openhis.administration.mapper.DeviceDefinitionMapper;
|
import com.openhis.administration.mapper.DeviceDefinitionMapper;
|
||||||
import com.openhis.administration.service.IDeviceDefinitionService;
|
import com.openhis.administration.service.IDeviceDefinitionService;
|
||||||
import com.openhis.administration.service.IOrganizationService;
|
import com.openhis.administration.service.IOrganizationService;
|
||||||
|
import com.openhis.common.constant.CommonConstants;
|
||||||
import com.openhis.common.constant.PromptMsgConstant;
|
import com.openhis.common.constant.PromptMsgConstant;
|
||||||
import com.openhis.common.enums.DeviceCategory;
|
import com.openhis.common.enums.DeviceCategory;
|
||||||
import com.openhis.common.enums.OrganizationType;
|
import com.openhis.common.enums.OrganizationType;
|
||||||
@@ -43,6 +46,8 @@ import com.openhis.web.datadictionary.dto.DeviceManageDto;
|
|||||||
import com.openhis.web.datadictionary.dto.DeviceManageInitDto;
|
import com.openhis.web.datadictionary.dto.DeviceManageInitDto;
|
||||||
import com.openhis.web.datadictionary.dto.DeviceManageSelParam;
|
import com.openhis.web.datadictionary.dto.DeviceManageSelParam;
|
||||||
import com.openhis.web.datadictionary.dto.DeviceManageUpDto;
|
import com.openhis.web.datadictionary.dto.DeviceManageUpDto;
|
||||||
|
import com.openhis.web.datadictionary.mapper.DeviceManageMapper;
|
||||||
|
import com.openhis.web.doctorstation.dto.AdviceBaseDto;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 器材目录 impl
|
* 器材目录 impl
|
||||||
@@ -62,6 +67,9 @@ public class DeviceManageAppServiceImpl implements IDeviceManageAppService {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private IOrganizationService organizationService;
|
private IOrganizationService organizationService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
DeviceManageMapper deviceManageMapper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 器材目录初始化
|
* 器材目录初始化
|
||||||
*
|
*
|
||||||
@@ -106,15 +114,23 @@ public class DeviceManageAppServiceImpl implements IDeviceManageAppService {
|
|||||||
@RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo,
|
@RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo,
|
||||||
@RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest request) {
|
@RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest request) {
|
||||||
|
|
||||||
|
// // 构建查询条件
|
||||||
|
// QueryWrapper<DeviceDefinition> queryWrapper = HisQueryUtils.buildQueryWrapper(deviceManageSelParam, searchKey,
|
||||||
|
// new HashSet<>(Arrays.asList("bus_no", "name", "py_str", "wb_str")), request);
|
||||||
|
// // 设置排序
|
||||||
|
// queryWrapper.orderByAsc("bus_no");
|
||||||
|
//
|
||||||
|
// // 分页查询
|
||||||
|
// Page<DeviceManageDto> deviceManagePage =
|
||||||
|
// HisPageUtils.selectPage(deviceDefinitionMapper, queryWrapper, pageNo, pageSize, DeviceManageDto.class);
|
||||||
|
|
||||||
// 构建查询条件
|
// 构建查询条件
|
||||||
QueryWrapper<DeviceDefinition> queryWrapper = HisQueryUtils.buildQueryWrapper(deviceManageSelParam, searchKey,
|
QueryWrapper<DeviceManageDto> queryWrapper = HisQueryUtils.buildQueryWrapper(deviceManageSelParam, searchKey,
|
||||||
new HashSet<>(Arrays.asList("bus_no", "name", "py_str", "wb_str")), request);
|
new HashSet<>(Arrays.asList("bus_no", "name", "py_str", "wb_str")), request);
|
||||||
// 设置排序
|
|
||||||
queryWrapper.orderByAsc("bus_no");
|
|
||||||
|
|
||||||
// 分页查询
|
// 分页查询
|
||||||
Page<DeviceManageDto> deviceManagePage =
|
IPage<DeviceManageDto> deviceManagePage =
|
||||||
HisPageUtils.selectPage(deviceDefinitionMapper, queryWrapper, pageNo, pageSize, DeviceManageDto.class);
|
deviceManageMapper.getDevicePage(new Page<>(pageNo, pageSize), queryWrapper);
|
||||||
|
|
||||||
deviceManagePage.getRecords().forEach(e -> {
|
deviceManagePage.getRecords().forEach(e -> {
|
||||||
// 高值器材标志枚举类回显赋值
|
// 高值器材标志枚举类回显赋值
|
||||||
@@ -125,8 +141,10 @@ public class DeviceManageAppServiceImpl implements IDeviceManageAppService {
|
|||||||
e.setYbMatchFlag_enumText(EnumUtils.getInfoByValue(Whether.class, e.getYbMatchFlag()));
|
e.setYbMatchFlag_enumText(EnumUtils.getInfoByValue(Whether.class, e.getYbMatchFlag()));
|
||||||
// 过敏标记枚举类回显赋值
|
// 过敏标记枚举类回显赋值
|
||||||
e.setAllergenFlag_enumText(EnumUtils.getInfoByValue(Whether.class, e.getAllergenFlag()));
|
e.setAllergenFlag_enumText(EnumUtils.getInfoByValue(Whether.class, e.getAllergenFlag()));
|
||||||
//器材分类
|
// 器材分类
|
||||||
e.setCategoryEnum_enumText(EnumUtils.getInfoByValue(DeviceCategory.class, e.getCategoryEnum()));
|
e.setCategoryEnum_enumText(EnumUtils.getInfoByValue(DeviceCategory.class, e.getCategoryEnum()));
|
||||||
|
// 器材状态
|
||||||
|
e.setStatusEnum_enumText(EnumUtils.getInfoByValue(PublicationStatus.class, e.getStatusEnum()));
|
||||||
});
|
});
|
||||||
|
|
||||||
// 返回【器材目录列表DTO】分页
|
// 返回【器材目录列表DTO】分页
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package com.openhis.web.datadictionary.appservice.impl;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import com.core.common.utils.SecurityUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
@@ -47,8 +48,9 @@ public class ItemDefinitionServiceImpl implements IItemDefinitionService {
|
|||||||
.setStatusEnum(PublicationStatus.ACTIVE.getValue())
|
.setStatusEnum(PublicationStatus.ACTIVE.getValue())
|
||||||
.setInstanceTable(CommonConstants.TableName.MED_MEDICATION_DEFINITION)
|
.setInstanceTable(CommonConstants.TableName.MED_MEDICATION_DEFINITION)
|
||||||
.setInstanceId(medicationDetail.getMedicationDefId()).setEffectiveStart(DateUtils.getNowDate())
|
.setInstanceId(medicationDetail.getMedicationDefId()).setEffectiveStart(DateUtils.getNowDate())
|
||||||
// todo 机构ID后续修改
|
//机构ID
|
||||||
.setOrgId(1L)
|
// .setOrgId(SecurityUtils.getLoginUser().getOrgId())
|
||||||
|
.setOrgId(1l)//todo 没数据先写死
|
||||||
// 财务类别
|
// 财务类别
|
||||||
.setTypeCode(medicationManageUpDto.getMinimalFee())
|
.setTypeCode(medicationManageUpDto.getMinimalFee())
|
||||||
// 医保类别
|
// 医保类别
|
||||||
@@ -64,25 +66,25 @@ public class ItemDefinitionServiceImpl implements IItemDefinitionService {
|
|||||||
.setConditionCode(
|
.setConditionCode(
|
||||||
medicationManageUpDto.getDoseUnitCode_dictText() + "," + medicationManageUpDto.getLotNumber())
|
medicationManageUpDto.getDoseUnitCode_dictText() + "," + medicationManageUpDto.getLotNumber())
|
||||||
// 购入价
|
// 购入价
|
||||||
.setAmount(medicationManageUpDto.getPurchasePrice()).setPriority(0);
|
.setAmount(medicationManageUpDto.getPurchasePrice());
|
||||||
|
|
||||||
ChargeItemDefDetail chargeItemDefDetail2 = new ChargeItemDefDetail();
|
ChargeItemDefDetail chargeItemDefDetail2 = new ChargeItemDefDetail();
|
||||||
chargeItemDefDetail1.setDefinitionId(chargeItemDefinition.getId())
|
chargeItemDefDetail2.setDefinitionId(chargeItemDefinition.getId())
|
||||||
// 单位+批次(unit,pici) 用,符号拼装
|
// 单位+批次(unit,pici) 用,符号拼装
|
||||||
.setConditionCode(
|
.setConditionCode(
|
||||||
medicationManageUpDto.getDoseUnitCode_dictText() + "," + medicationManageUpDto.getLotNumber())
|
medicationManageUpDto.getDoseUnitCode_dictText() + "," + medicationManageUpDto.getLotNumber())
|
||||||
// 零售价
|
// 零售价
|
||||||
.setAmount(medicationManageUpDto.getRetailPrice()).setPriority(1);
|
.setAmount(medicationManageUpDto.getRetailPrice());
|
||||||
|
|
||||||
shargeItemDefDetails.add(chargeItemDefDetail2);
|
shargeItemDefDetails.add(chargeItemDefDetail2);
|
||||||
|
|
||||||
ChargeItemDefDetail chargeItemDefDetail3 = new ChargeItemDefDetail();
|
ChargeItemDefDetail chargeItemDefDetail3 = new ChargeItemDefDetail();
|
||||||
chargeItemDefDetail1.setDefinitionId(chargeItemDefinition.getId())
|
chargeItemDefDetail3.setDefinitionId(chargeItemDefinition.getId())
|
||||||
// 单位+批次(unit,pici) 用,符号拼装
|
// 单位+批次(unit,pici) 用,符号拼装
|
||||||
.setConditionCode(
|
.setConditionCode(
|
||||||
medicationManageUpDto.getDoseUnitCode_dictText() + "," + medicationManageUpDto.getLotNumber())
|
medicationManageUpDto.getDoseUnitCode_dictText() + "," + medicationManageUpDto.getLotNumber())
|
||||||
// 最高零售价
|
// 最高零售价
|
||||||
.setAmount(medicationManageUpDto.getMaximumRetailPrice()).setPriority(2);
|
.setAmount(medicationManageUpDto.getMaximumRetailPrice());
|
||||||
|
|
||||||
shargeItemDefDetails.add(chargeItemDefDetail3);
|
shargeItemDefDetails.add(chargeItemDefDetail3);
|
||||||
|
|
||||||
|
|||||||
@@ -164,10 +164,31 @@ public class MedicationManageAppServiceImpl implements IMedicationManageAppServi
|
|||||||
e.setStatusEnum_enumText(EnumUtils.getInfoByValue(PublicationStatus.class, e.getStatusEnum()));
|
e.setStatusEnum_enumText(EnumUtils.getInfoByValue(PublicationStatus.class, e.getStatusEnum()));
|
||||||
// 权限限制
|
// 权限限制
|
||||||
e.setRestrictedEnum_enumText(EnumUtils.getInfoByValue(PermissionLimit.class, e.getRestrictedEnum()));
|
e.setRestrictedEnum_enumText(EnumUtils.getInfoByValue(PermissionLimit.class, e.getRestrictedEnum()));
|
||||||
// 活动标记
|
// 是否为活性
|
||||||
// e.setActiveFlag_enumText(EnumUtils.getInfoByValue(AccountStatus.class, e.getActiveFlag()));
|
e.setActiveFlag_enumText(EnumUtils.getInfoByValue(Whether.class, e.getActiveFlag()));
|
||||||
|
// 医保是否对码
|
||||||
|
e.setYbMatchFlag_enumText(EnumUtils.getInfoByValue(Whether.class, e.getYbMatchFlag()));
|
||||||
|
//是否皮试
|
||||||
|
e.setSkinTestFlag_enumText(EnumUtils.getInfoByValue(Whether.class, e.getSkinTestFlag()));;
|
||||||
|
//是否为注射药物
|
||||||
|
e.setInjectFlag_enumText(EnumUtils.getInfoByValue(Whether.class, e.getInjectFlag()));
|
||||||
|
//是否限制使用
|
||||||
|
e.setRestrictedFlag_enumText(EnumUtils.getInfoByValue(Whether.class, e.getRestrictedFlag()));
|
||||||
|
//儿童用药标志
|
||||||
|
e.setChildrenFlag_enumText(EnumUtils.getInfoByValue(Whether.class, e.getChildrenFlag()));
|
||||||
// 适用范围
|
// 适用范围
|
||||||
// e.setDomainEnum_enumText(EnumUtils.getInfoByValue(ApplicableScope.class, e.getDomainEnum()));
|
e.setDomainEnum_enumText(EnumUtils.getInfoByValue(ApplicableScope.class, e.getDomainEnum()));
|
||||||
|
|
||||||
|
// 是否自制
|
||||||
|
e.setSelfFlag_enumText(EnumUtils.getInfoByValue(ApplicableScope.class, e.getSelfFlag()));
|
||||||
|
// 是否抗生素
|
||||||
|
e.setAntibioticFlag_enumText(EnumUtils.getInfoByValue(ApplicableScope.class, e.getAntibioticFlag()));
|
||||||
|
// 基药标识
|
||||||
|
e.setBasicFlag_enumText(EnumUtils.getInfoByValue(ApplicableScope.class, e.getBasicFlag()));
|
||||||
|
|
||||||
|
// // 活动标记
|
||||||
|
// e.setActiveFlag_enumText(EnumUtils.getInfoByValue(AccountStatus.class, e.getActiveFlag()));
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
// 返回【药品录列表DTO】分页
|
// 返回【药品录列表DTO】分页
|
||||||
|
|||||||
@@ -70,7 +70,7 @@ public class MedicationManageController {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@GetMapping("/information-one")
|
@GetMapping("/information-one")
|
||||||
public R<?> getMedicationOne(@PathVariable("id") Long id) {
|
public R<?> getMedicationOne(@RequestParam Long id) {
|
||||||
return medicationManageAppService.getMedicationOne(id);
|
return medicationManageAppService.getMedicationOne(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import java.math.BigDecimal;
|
|||||||
|
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||||
|
import com.openhis.common.annotation.Dict;
|
||||||
import com.openhis.common.enums.DeviceCategory;
|
import com.openhis.common.enums.DeviceCategory;
|
||||||
import com.openhis.common.enums.PublicationStatus;
|
import com.openhis.common.enums.PublicationStatus;
|
||||||
|
|
||||||
@@ -79,13 +80,20 @@ public class DeviceManageDto {
|
|||||||
private String ybMatchFlag_enumText;
|
private String ybMatchFlag_enumText;
|
||||||
|
|
||||||
/** 状态 */
|
/** 状态 */
|
||||||
private PublicationStatus statusEnum;
|
private Integer statusEnum;
|
||||||
|
private String statusEnum_enumText;
|
||||||
|
|
||||||
/** 生产厂家 */
|
/** 生产厂家 */
|
||||||
private Long manufacturerId;
|
private Long manufacturerId;
|
||||||
|
|
||||||
|
/** 生产厂商文本 */
|
||||||
|
private Long manufacturerText;
|
||||||
|
|
||||||
/** 供应商 */
|
/** 供应商 */
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
@Dict(dictTable = "adm_supplier",dictCode = "id",dictText = "name")
|
||||||
private Long supplyId;
|
private Long supplyId;
|
||||||
|
private String supplyId_dictText;
|
||||||
|
|
||||||
/** 说明 */
|
/** 说明 */
|
||||||
private String description;
|
private String description;
|
||||||
@@ -94,7 +102,10 @@ public class DeviceManageDto {
|
|||||||
private String jurisdiction;
|
private String jurisdiction;
|
||||||
|
|
||||||
/** 执行科室 */
|
/** 执行科室 */
|
||||||
|
@Dict(dictTable = "adm_organization", dictCode = "id", dictText = "name")
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
private Long ruleId;
|
private Long ruleId;
|
||||||
|
private String ruleId_dictText;
|
||||||
|
|
||||||
/** 器材版本 */
|
/** 器材版本 */
|
||||||
private String version;
|
private String version;
|
||||||
@@ -105,4 +116,8 @@ public class DeviceManageDto {
|
|||||||
/** 过敏标记 */
|
/** 过敏标记 */
|
||||||
private Integer allergenFlag;
|
private Integer allergenFlag;
|
||||||
private String allergenFlag_enumText;
|
private String allergenFlag_enumText;
|
||||||
|
|
||||||
|
/** 售价 */
|
||||||
|
private BigDecimal price;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -43,7 +43,10 @@ public class DeviceManageUpDto {
|
|||||||
|
|
||||||
/** 器材分类 */
|
/** 器材分类 */
|
||||||
@NotNull(message = "器材分类不能为空")
|
@NotNull(message = "器材分类不能为空")
|
||||||
private DeviceCategory categoryEnum;
|
// private DeviceCategory categoryEnum;
|
||||||
|
private Integer categoryEnum;
|
||||||
|
private String categoryEnum_enumText;
|
||||||
|
|
||||||
|
|
||||||
/** 器材种类 */
|
/** 器材种类 */
|
||||||
@NotBlank(message = "器材种类不能为空")
|
@NotBlank(message = "器材种类不能为空")
|
||||||
@@ -133,4 +136,23 @@ public class DeviceManageUpDto {
|
|||||||
/** 过敏标记 */
|
/** 过敏标记 */
|
||||||
// @NotNull(message = "过敏标记不能为空")
|
// @NotNull(message = "过敏标记不能为空")
|
||||||
private Integer allergenFlag;
|
private Integer allergenFlag;
|
||||||
|
|
||||||
|
/** 购入价 */
|
||||||
|
@NotNull(message = "购入价不能为空")
|
||||||
|
private BigDecimal purchasePrice;
|
||||||
|
|
||||||
|
/** 零售价 */
|
||||||
|
@NotNull(message = "零售价不能为空")
|
||||||
|
private BigDecimal retailPrice;
|
||||||
|
|
||||||
|
/** 最高零售价 */
|
||||||
|
@NotNull(message = "最高零售价不能为空")
|
||||||
|
private BigDecimal maximumRetailPrice;
|
||||||
|
|
||||||
|
/** 最小费用 */
|
||||||
|
private String minimalFee;
|
||||||
|
|
||||||
|
/** 医保类别 */
|
||||||
|
private String ybType;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ import lombok.Data;
|
|||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
import javax.validation.constraints.NotNull;
|
import javax.validation.constraints.NotNull;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 诊疗目录分页检索
|
* 诊疗目录分页检索
|
||||||
@@ -80,4 +81,8 @@ public class DiagnosisTreatmentDto {
|
|||||||
/** 所在位置 */
|
/** 所在位置 */
|
||||||
@JsonSerialize(using = ToStringSerializer.class)
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
private Long locationId;
|
private Long locationId;
|
||||||
|
|
||||||
|
/** 售价 */
|
||||||
|
private BigDecimal price;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,7 +6,6 @@ import java.util.Date;
|
|||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import com.openhis.common.annotation.Dict;
|
import com.openhis.common.annotation.Dict;
|
||||||
import com.openhis.common.enums.PublicationStatus;
|
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
@@ -34,13 +33,13 @@ public class MedicationManageDto {
|
|||||||
private String statusEnum_enumText;
|
private String statusEnum_enumText;
|
||||||
|
|
||||||
/** 所属科室 */
|
/** 所属科室 */
|
||||||
@Dict(dictTable = "adm_organization",dictCode = "id",dictText = "name")
|
@Dict(dictTable = "adm_organization", dictCode = "id", dictText = "name")
|
||||||
@JsonSerialize(using = ToStringSerializer.class)
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
private Long orgId;
|
private Long orgId;
|
||||||
private String orgId_dictText;
|
private String orgId_dictText;
|
||||||
|
|
||||||
/** 所在位置 */
|
/** 所在位置 */
|
||||||
@Dict(dictTable = "adm_location",dictCode = "id",dictText = "name")
|
@Dict(dictTable = "adm_location", dictCode = "id", dictText = "name")
|
||||||
@JsonSerialize(using = ToStringSerializer.class)
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
private Long locationId;
|
private Long locationId;
|
||||||
private String locationId_dictText;
|
private String locationId_dictText;
|
||||||
@@ -83,7 +82,9 @@ public class MedicationManageDto {
|
|||||||
private BigDecimal dose;
|
private BigDecimal dose;
|
||||||
|
|
||||||
/** 剂量单位 */
|
/** 剂量单位 */
|
||||||
|
@Dict(dictCode = "unit_code")
|
||||||
private String doseUnitCode;
|
private String doseUnitCode;
|
||||||
|
private String doseUnitCode_dictText;
|
||||||
|
|
||||||
/** 单次最大剂量 */
|
/** 单次最大剂量 */
|
||||||
private BigDecimal maxUnit;
|
private BigDecimal maxUnit;
|
||||||
@@ -95,7 +96,9 @@ public class MedicationManageDto {
|
|||||||
private BigDecimal usageLimit;
|
private BigDecimal usageLimit;
|
||||||
|
|
||||||
/** DDD值 */
|
/** DDD值 */
|
||||||
|
@Dict(dictCode = "ddd_code")
|
||||||
private String dddCode;
|
private String dddCode;
|
||||||
|
private String dddCode_dictText;
|
||||||
|
|
||||||
/** DDD单位 */
|
/** DDD单位 */
|
||||||
@Dict(dictCode = "unit_code")
|
@Dict(dictCode = "unit_code")
|
||||||
@@ -149,22 +152,19 @@ public class MedicationManageDto {
|
|||||||
/** 所含耗材 */
|
/** 所含耗材 */
|
||||||
private String comprisedText;
|
private String comprisedText;
|
||||||
|
|
||||||
/** 成分 */
|
|
||||||
private String ingredient;
|
|
||||||
|
|
||||||
/** 拆零比 */
|
/** 拆零比 */
|
||||||
private BigDecimal partPercent;
|
private BigDecimal partPercent;
|
||||||
|
|
||||||
/** 剂量形式 */
|
/** 剂量形式 */
|
||||||
private Integer doseFrom;
|
private Integer doseFrom;
|
||||||
|
private String doseFrom_enumText;
|
||||||
|
|
||||||
/** 批准文号 */
|
/** 批准文号 */
|
||||||
private String approvalNumber;
|
private String approvalNumber;
|
||||||
|
|
||||||
/** 医保是否对码 */
|
/** 医保是否对码 */
|
||||||
@Dict(dictCode = "sys_yes_no")
|
|
||||||
private Integer ybMatchFlag;
|
private Integer ybMatchFlag;
|
||||||
private String ybMatchFlag_dictText;
|
private String ybMatchFlag_enumText;;
|
||||||
|
|
||||||
/** 医保编码 */
|
/** 医保编码 */
|
||||||
private String ybNo;
|
private String ybNo;
|
||||||
@@ -173,14 +173,12 @@ public class MedicationManageDto {
|
|||||||
private String pharmacologyCategoryCode;
|
private String pharmacologyCategoryCode;
|
||||||
|
|
||||||
/** 是否皮试 */
|
/** 是否皮试 */
|
||||||
@Dict(dictCode = "sys_yes_no")
|
|
||||||
private Integer skinTestFlag;
|
private Integer skinTestFlag;
|
||||||
private String skinTestFlag_dictText;
|
private String skinTestFlag_enumText;
|
||||||
|
|
||||||
/** 是否为注射药物 */
|
/** 是否为注射药物 */
|
||||||
@Dict(dictCode = "sys_yes_no")
|
|
||||||
private Integer injectFlag;
|
private Integer injectFlag;
|
||||||
private String injectFlag_dictText;
|
private String injectFlag_enumText;
|
||||||
|
|
||||||
/** 生产厂家 */
|
/** 生产厂家 */
|
||||||
@JsonSerialize(using = ToStringSerializer.class)
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
@@ -188,71 +186,75 @@ public class MedicationManageDto {
|
|||||||
|
|
||||||
/** 供应商 */
|
/** 供应商 */
|
||||||
@JsonSerialize(using = ToStringSerializer.class)
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
@Dict(dictTable = "adm_supplier",dictCode = "id",dictText = "name")
|
@Dict(dictTable = "adm_supplier", dictCode = "id", dictText = "name")
|
||||||
private Long supplyId;
|
private Long supplyId;
|
||||||
private String supplyId_dictText;
|
private String supplyId_dictText;
|
||||||
|
|
||||||
/** 是否限制使用 */
|
/** 是否限制使用 */
|
||||||
@Dict(dictCode = "sys_yes_no")
|
|
||||||
private Integer restrictedFlag;
|
private Integer restrictedFlag;
|
||||||
private String restrictedFlag_dictText;
|
private String restrictedFlag_enumText;
|
||||||
|
|
||||||
/** 限制使用范围 */
|
/** 限制使用范围 */
|
||||||
private String restrictedScope;
|
private String restrictedScope;
|
||||||
|
|
||||||
/** 儿童用药标志 */
|
/** 儿童用药标志 */
|
||||||
@Dict(dictCode = "sys_yes_no")
|
|
||||||
private Integer childrenFlag;
|
private Integer childrenFlag;
|
||||||
private String childrenFlag_dictText;
|
private String childrenFlag_enumText;
|
||||||
|
|
||||||
/** 产品特性 */
|
/** 产品特性 */
|
||||||
private Integer characteristic;
|
private Integer characteristic;
|
||||||
|
private String characteristic_enumText;
|
||||||
|
|
||||||
/** 贯标国家编码 */
|
/** 贯标国家编码 */
|
||||||
private String nationalDrugCode;
|
private String nationalDrugCode;
|
||||||
|
|
||||||
/** 拆分属性 */
|
/** 拆分属性 */
|
||||||
private String partAttribute;
|
private Integer partAttributeEnum;
|
||||||
|
private String partAttributeEnum_enumText;
|
||||||
|
|
||||||
/** 抗生素分类 */
|
/** 抗生素分类 */
|
||||||
|
|
||||||
@Dict(dictCode = "antibiotic_type_code")
|
@Dict(dictCode = "antibiotic_type_code")
|
||||||
private String antibioticCode;
|
private String antibioticCode;
|
||||||
private String antibioticCode_dictText;
|
private String antibioticCode_dictText;
|
||||||
|
|
||||||
|
|
||||||
/** 权限限制 */
|
/** 权限限制 */
|
||||||
private Integer restrictedEnum;
|
private Integer restrictedEnum;
|
||||||
private String restrictedEnum_enumText;
|
private String restrictedEnum_enumText;
|
||||||
|
|
||||||
/** 是否自制 */
|
/** 是否自制 */
|
||||||
@Dict(dictCode = "sys_yes_no")
|
|
||||||
private Integer selfFlag;
|
private Integer selfFlag;
|
||||||
private String selfFlag_dictText;
|
private String selfFlag_enumText;
|
||||||
|
|
||||||
/** 是否抗生素 */
|
/** 是否抗生素 */
|
||||||
@Dict(dictCode = "sys_yes_no")
|
|
||||||
private Integer antibioticFlag;
|
private Integer antibioticFlag;
|
||||||
private String antibioticFlag_dictText;
|
private String antibioticFlag_enumText;
|
||||||
|
|
||||||
/** 基药标识 */
|
/** 基药标识 */
|
||||||
@Dict(dictCode = "sys_yes_no")
|
|
||||||
private Integer basicFlag;
|
private Integer basicFlag;
|
||||||
private String basicFlag_dictText;
|
private String basicFlag_enumText;
|
||||||
|
|
||||||
/** 生产厂家名称 */
|
/** 生产厂家名称 */
|
||||||
private String manufacturerName;
|
private String manufacturerName;
|
||||||
|
|
||||||
/** 常规单位 */
|
/** 常规单位 */
|
||||||
|
@Dict(dictCode = "unit_code")
|
||||||
private String baseUnitCode;
|
private String baseUnitCode;
|
||||||
|
private String baseUnitCode_dictText;
|
||||||
|
|
||||||
/** 当前库存数量(常规单位) */
|
/** 当前库存数量(常规单位) */
|
||||||
@Dict(dictCode = "unit_code")
|
|
||||||
private String baseQuantity;
|
private String baseQuantity;
|
||||||
private String baseQuantity_dictText;
|
|
||||||
|
|
||||||
/** 当前库存数量(最小单位数量) */
|
/** 当前库存数量(最小单位数量) */
|
||||||
private String minQuantity;
|
private String minQuantity;
|
||||||
|
|
||||||
|
/** 售价 */
|
||||||
|
private BigDecimal price;
|
||||||
|
|
||||||
|
/** 单次最小用药频次 */
|
||||||
|
private String minRateCode;
|
||||||
|
|
||||||
|
/** 单次最大用药频次 */
|
||||||
|
private String maxRateCode;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import java.math.BigDecimal;
|
|||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
import javax.validation.constraints.NotBlank;
|
import javax.validation.constraints.NotBlank;
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||||
@@ -177,12 +178,15 @@ public class MedicationManageUpDto {
|
|||||||
private Integer characteristic;
|
private Integer characteristic;
|
||||||
|
|
||||||
/** 购入价 */
|
/** 购入价 */
|
||||||
|
@NotNull(message = "购入价不能为空")
|
||||||
private BigDecimal purchasePrice;
|
private BigDecimal purchasePrice;
|
||||||
|
|
||||||
/** 零售价 */
|
/** 零售价 */
|
||||||
|
@NotNull(message = "零售价不能为空")
|
||||||
private BigDecimal retailPrice;
|
private BigDecimal retailPrice;
|
||||||
|
|
||||||
/** 最高零售价 */
|
/** 最高零售价 */
|
||||||
|
@NotNull(message = "最高零售价不能为空")
|
||||||
private BigDecimal maximumRetailPrice;
|
private BigDecimal maximumRetailPrice;
|
||||||
|
|
||||||
/** 医保类别 */
|
/** 医保类别 */
|
||||||
@@ -191,4 +195,35 @@ public class MedicationManageUpDto {
|
|||||||
/** 最小费用 */
|
/** 最小费用 */
|
||||||
private String minimalFee;
|
private String minimalFee;
|
||||||
|
|
||||||
|
/** 单次最小用药频次 */
|
||||||
|
private String minRateCode;
|
||||||
|
|
||||||
|
/** 单次最大用药频次 */
|
||||||
|
private String maxRateCode;
|
||||||
|
|
||||||
|
/** 药品状态 */
|
||||||
|
private Integer statusEnum;
|
||||||
|
|
||||||
|
/** 拆分属性 */
|
||||||
|
private Integer partAttributeEnum;
|
||||||
|
|
||||||
|
/** 贯标国家编码 */
|
||||||
|
private String nationalDrugCode;
|
||||||
|
|
||||||
|
/** 是否抗生素 */
|
||||||
|
private Integer antibioticFlag;
|
||||||
|
|
||||||
|
/** 是否自制 */
|
||||||
|
private Integer selfFlag;
|
||||||
|
|
||||||
|
/** DDD值 */
|
||||||
|
private String dddCode;
|
||||||
|
|
||||||
|
/** DDD单位 */
|
||||||
|
private String dddUnitCode;
|
||||||
|
|
||||||
|
/** 用量限定 */
|
||||||
|
private BigDecimal usageLimit;
|
||||||
|
|
||||||
|
/** 系统类别???? */
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,30 @@
|
|||||||
|
package com.openhis.web.datadictionary.mapper;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.openhis.web.datadictionary.dto.DeviceManageDto;
|
||||||
|
import com.openhis.web.outpatientmanage.dto.OutpatientInfusionPatientDto;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 器材目录
|
||||||
|
*
|
||||||
|
* @author Wuser
|
||||||
|
* @date 2025/3/26
|
||||||
|
*/
|
||||||
|
public interface DeviceManageMapper {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 器材目录分页查询
|
||||||
|
*
|
||||||
|
* @param page 分页参数
|
||||||
|
* @param queryWrapper 查询条件
|
||||||
|
* @return 器材记录
|
||||||
|
*/
|
||||||
|
IPage<DeviceManageDto> getDevicePage(
|
||||||
|
@Param("page") Page<DeviceManageDto> page,
|
||||||
|
@Param(Constants.WRAPPER) QueryWrapper<DeviceManageDto> queryWrapper);
|
||||||
|
|
||||||
|
}
|
||||||
@@ -2,6 +2,7 @@ package com.openhis.web.doctorstation.dto;
|
|||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
import com.core.common.utils.SecurityUtils;
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import com.openhis.common.enums.EncounterClass;
|
import com.openhis.common.enums.EncounterClass;
|
||||||
@@ -126,8 +127,7 @@ public class AdviceSaveDto {
|
|||||||
this.statusEnum = RequestStatus.DRAFT.getValue();
|
this.statusEnum = RequestStatus.DRAFT.getValue();
|
||||||
this.categoryEnum = EncounterClass.AMB.getValue();
|
this.categoryEnum = EncounterClass.AMB.getValue();
|
||||||
this.therapyEnum = TherapyTimeType.TEMPORARY.getValue();
|
this.therapyEnum = TherapyTimeType.TEMPORARY.getValue();
|
||||||
// TODO: 应该从当前登录账号获取参与者id,现在没有
|
this.practitionerId = SecurityUtils.getLoginUser().getPractitionerId();
|
||||||
// this.practitionerId
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,54 @@
|
|||||||
|
package com.openhis.web.doctorstation.dto;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||||
|
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||||
|
import com.openhis.common.annotation.Dict;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户 及 参与者 子dto
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Accessors(chain = true)
|
||||||
|
public class UserAndPractitionerChildDto {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 机构id
|
||||||
|
*/
|
||||||
|
@Dict(dictTable = "adm_organization", dictCode = "id", dictText = "name")
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long orgId;
|
||||||
|
private String orgId_dictText;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 位置id
|
||||||
|
*/
|
||||||
|
@Dict(dictTable = "adm_location", dictCode = "id", dictText = "name")
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long locationId;
|
||||||
|
private String locationId_dictText;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 角色code
|
||||||
|
*/
|
||||||
|
private String roleCode;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 角色id
|
||||||
|
*/
|
||||||
|
private Long roleId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 角色name
|
||||||
|
*/
|
||||||
|
private String roleName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 参与者id
|
||||||
|
*/
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long practitionerId;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -5,6 +5,7 @@ import java.util.List;
|
|||||||
|
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||||
|
import com.openhis.common.annotation.Dict;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
@@ -16,6 +17,18 @@ import lombok.experimental.Accessors;
|
|||||||
@Accessors(chain = true)
|
@Accessors(chain = true)
|
||||||
public class UserAndPractitionerDto {
|
public class UserAndPractitionerDto {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户id
|
||||||
|
*/
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long userId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 参与者id
|
||||||
|
*/
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long practitionerId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 账号
|
* 账号
|
||||||
*/
|
*/
|
||||||
@@ -26,6 +39,12 @@ public class UserAndPractitionerDto {
|
|||||||
*/
|
*/
|
||||||
private String nickName;
|
private String nickName;
|
||||||
|
|
||||||
|
/** 拼音码 */
|
||||||
|
private String pyStr;
|
||||||
|
|
||||||
|
/** 五笔码 */
|
||||||
|
private String wbStr;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 邮箱
|
* 邮箱
|
||||||
*/
|
*/
|
||||||
@@ -39,7 +58,9 @@ public class UserAndPractitionerDto {
|
|||||||
/**
|
/**
|
||||||
* 性别
|
* 性别
|
||||||
*/
|
*/
|
||||||
|
@Dict(dictCode = "sys_user_sex")
|
||||||
private String sex;
|
private String sex;
|
||||||
|
private String sex_dictText;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 密码
|
* 密码
|
||||||
@@ -49,7 +70,9 @@ public class UserAndPractitionerDto {
|
|||||||
/**
|
/**
|
||||||
* 状态(0正常 1停用)
|
* 状态(0正常 1停用)
|
||||||
*/
|
*/
|
||||||
|
@Dict(dictCode = "sys_normal_disable")
|
||||||
private String status;
|
private String status;
|
||||||
|
private String status_dictText;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 备注
|
* 备注
|
||||||
@@ -74,14 +97,10 @@ public class UserAndPractitionerDto {
|
|||||||
/**
|
/**
|
||||||
* 机构id
|
* 机构id
|
||||||
*/
|
*/
|
||||||
|
@Dict(dictTable = "adm_organization", dictCode = "id", dictText = "name")
|
||||||
@JsonSerialize(using = ToStringSerializer.class)
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
private Long orgId;
|
private Long orgId;
|
||||||
|
private String orgId_dictText;
|
||||||
/**
|
|
||||||
* 位置id
|
|
||||||
*/
|
|
||||||
@JsonSerialize(using = ToStringSerializer.class)
|
|
||||||
private Long locationId;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 角色id集合
|
* 角色id集合
|
||||||
@@ -89,8 +108,8 @@ public class UserAndPractitionerDto {
|
|||||||
private List<Long> roleIds;
|
private List<Long> roleIds;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 角色code集合
|
* 子集合
|
||||||
*/
|
*/
|
||||||
private List<String> roleCodes;
|
private List<UserAndPractitionerChildDto> childList;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,71 @@
|
|||||||
|
/*
|
||||||
|
* Copyright ©2023 CJB-CNIT Team. All rights reserved
|
||||||
|
*/
|
||||||
|
package com.openhis.web.inventorymanage.appservice;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.openhis.web.inventorymanage.dto.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 采购入库明细查询 service
|
||||||
|
*
|
||||||
|
* @author
|
||||||
|
* @date 2025-03-10
|
||||||
|
*/
|
||||||
|
public interface IInventoryDetailsAppService {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 采购入库查询
|
||||||
|
*
|
||||||
|
* @param purchaseInSearchParam 查询条件
|
||||||
|
* @param pageNo 当前页码
|
||||||
|
* @param pageSize 查询条数
|
||||||
|
* @param searchKey 模糊查询关键字
|
||||||
|
* @param request 请求数据
|
||||||
|
* @return 采购入库查询分页列表
|
||||||
|
*/
|
||||||
|
IPage<PurchaseInDetailDto> purchaseInGetPage(PurchaseInSearchParam purchaseInSearchParam, String searchKey,
|
||||||
|
Integer pageNo, Integer pageSize, HttpServletRequest request);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 领用出库查询
|
||||||
|
*
|
||||||
|
* @param requisitionOutSearchParam 查询条件
|
||||||
|
* @param pageNo 当前页码
|
||||||
|
* @param pageSize 查询条数
|
||||||
|
* @param searchKey 模糊查询关键字
|
||||||
|
* @param request 请求数据
|
||||||
|
* @return 领用出库查询分页列表
|
||||||
|
*/
|
||||||
|
IPage<RequisitionOutDetailDto> requisitionOutGetPage(RequisitionOutSearchParam requisitionOutSearchParam,
|
||||||
|
String searchKey, Integer pageNo, Integer pageSize, HttpServletRequest request);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 商品调拨查询
|
||||||
|
*
|
||||||
|
* @param requisitionOutSearchParam 查询条件
|
||||||
|
* @param pageNo 当前页码
|
||||||
|
* @param pageSize 查询条数
|
||||||
|
* @param searchKey 模糊查询关键字
|
||||||
|
* @param request 请求数据
|
||||||
|
* @return 商品调拨查询分页列表
|
||||||
|
*/
|
||||||
|
IPage<InventoryTransferDetailDto> inventoryTransferGetPage(RequisitionOutSearchParam requisitionOutSearchParam,
|
||||||
|
String searchKey, Integer pageNo, Integer pageSize, HttpServletRequest request);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 商品盘点查询
|
||||||
|
*
|
||||||
|
* @param requisitionOutSearchParam 查询条件
|
||||||
|
* @param pageNo 当前页码
|
||||||
|
* @param pageSize 查询条数
|
||||||
|
* @param searchKey 模糊查询关键字
|
||||||
|
* @param request 请求数据
|
||||||
|
* @return 商品盘点查询分页列表
|
||||||
|
*/
|
||||||
|
IPage<InventoryStockTakeDetailDto> inventoryStockTakeGetPage(RequisitionOutSearchParam requisitionOutSearchParam,
|
||||||
|
String searchKey, Integer pageNo, Integer pageSize, HttpServletRequest request);
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,133 @@
|
|||||||
|
/*
|
||||||
|
* Copyright ©2023 CJB-CNIT Team. All rights reserved
|
||||||
|
*/
|
||||||
|
package com.openhis.web.inventorymanage.appservice.impl;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.HashSet;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
|
||||||
|
import com.openhis.web.inventorymanage.dto.*;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.openhis.common.utils.HisQueryUtils;
|
||||||
|
import com.openhis.web.inventorymanage.appservice.IInventoryDetailsAppService;
|
||||||
|
import com.openhis.web.inventorymanage.mapper.InventoryDetailsMapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 采购入库明细查询 impl
|
||||||
|
*
|
||||||
|
* @author
|
||||||
|
* @date 2025-03-10
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class InventoryDetailsAppServiceImpl implements IInventoryDetailsAppService {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private InventoryDetailsMapper inventoryDetailsMapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 采购入库明细查询
|
||||||
|
*
|
||||||
|
* @param purchaseInSearchParam 查询条件
|
||||||
|
* @param searchKey 模糊查询关键字
|
||||||
|
* @param pageNo 当前页码
|
||||||
|
* @param pageSize 查询条数
|
||||||
|
* @param request 请求数据
|
||||||
|
* @return 采购入库明细分页列表
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public IPage<PurchaseInDetailDto> purchaseInGetPage(PurchaseInSearchParam purchaseInSearchParam, String searchKey,
|
||||||
|
Integer pageNo, Integer pageSize, HttpServletRequest request) {
|
||||||
|
|
||||||
|
// 构建查询条件
|
||||||
|
// QueryWrapper<SupplyRequest> queryWrapper =
|
||||||
|
// HisQueryUtils.buildQueryWrapper(inventorySearchParam, searchKey, searchFields, request);
|
||||||
|
// 查询入库单据分页列表
|
||||||
|
// Page<InventoryReceiptPageDto> inventoryReceiptPage = purchaseInventoryMapper.selectInventoryReceiptPage(
|
||||||
|
// new Page<>(pageNo, pageSize), queryWrapper, SupplyType.PURCHASE_INVENTORY.getValue());
|
||||||
|
// return R.ok(inventoryReceiptPage);
|
||||||
|
|
||||||
|
QueryWrapper<PurchaseInSearchParam> queryWrapper = HisQueryUtils.buildQueryWrapper(purchaseInSearchParam,
|
||||||
|
searchKey, new HashSet<>(Arrays.asList("bus_no","item_name","item_no")), request);
|
||||||
|
Page<PurchaseInDetailDto> purchaseInInfo =
|
||||||
|
inventoryDetailsMapper.selectPurchaseInDetailsPage(new Page<>(pageNo, pageSize), queryWrapper);
|
||||||
|
|
||||||
|
return purchaseInInfo;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 领用出库明细查询
|
||||||
|
*
|
||||||
|
* @param requisitionOutSearchParam 查询条件
|
||||||
|
* @param searchKey 模糊查询关键字
|
||||||
|
* @param pageNo 当前页码
|
||||||
|
* @param pageSize 查询条数
|
||||||
|
* @param request 请求数据
|
||||||
|
* @return 领用出库明细分页列表
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public IPage<RequisitionOutDetailDto> requisitionOutGetPage(RequisitionOutSearchParam requisitionOutSearchParam, String searchKey,
|
||||||
|
Integer pageNo, Integer pageSize, HttpServletRequest request) {
|
||||||
|
|
||||||
|
QueryWrapper<RequisitionOutSearchParam> queryWrapper = HisQueryUtils.buildQueryWrapper(requisitionOutSearchParam,
|
||||||
|
searchKey, new HashSet<>(Arrays.asList("bus_no","item_name","item_no")), request);
|
||||||
|
|
||||||
|
Page<RequisitionOutDetailDto> requisitionOutInfo =
|
||||||
|
inventoryDetailsMapper.selectRequisitionOutDetailsPage(new Page<>(pageNo, pageSize), queryWrapper);
|
||||||
|
|
||||||
|
return requisitionOutInfo;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 商品调拨明细查询
|
||||||
|
*
|
||||||
|
* @param requisitionOutSearchParam 查询条件
|
||||||
|
* @param searchKey 模糊查询关键字
|
||||||
|
* @param pageNo 当前页码
|
||||||
|
* @param pageSize 查询条数
|
||||||
|
* @param request 请求数据
|
||||||
|
* @return 商品调拨明细分页列表
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public IPage<InventoryTransferDetailDto> inventoryTransferGetPage(RequisitionOutSearchParam requisitionOutSearchParam, String searchKey,
|
||||||
|
Integer pageNo, Integer pageSize, HttpServletRequest request) {
|
||||||
|
|
||||||
|
QueryWrapper<RequisitionOutSearchParam> queryWrapper = HisQueryUtils.buildQueryWrapper(requisitionOutSearchParam,
|
||||||
|
searchKey, new HashSet<>(Arrays.asList("bus_no","item_name","item_no")), request);
|
||||||
|
|
||||||
|
Page<InventoryTransferDetailDto> inventoryTransferInfo =
|
||||||
|
inventoryDetailsMapper.selectInventoryTransferDetailsPage(new Page<>(pageNo, pageSize), queryWrapper);
|
||||||
|
|
||||||
|
return inventoryTransferInfo;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 商品调拨明细查询
|
||||||
|
*
|
||||||
|
* @param requisitionOutSearchParam 查询条件
|
||||||
|
* @param searchKey 模糊查询关键字
|
||||||
|
* @param pageNo 当前页码
|
||||||
|
* @param pageSize 查询条数
|
||||||
|
* @param request 请求数据
|
||||||
|
* @return 商品调拨明细分页列表
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public IPage<InventoryStockTakeDetailDto> inventoryStockTakeGetPage(RequisitionOutSearchParam requisitionOutSearchParam, String searchKey,
|
||||||
|
Integer pageNo, Integer pageSize, HttpServletRequest request) {
|
||||||
|
|
||||||
|
QueryWrapper<RequisitionOutSearchParam> queryWrapper = HisQueryUtils.buildQueryWrapper(requisitionOutSearchParam,
|
||||||
|
searchKey, new HashSet<>(Arrays.asList("bus_no","item_name","item_no")), request);
|
||||||
|
|
||||||
|
Page<InventoryStockTakeDetailDto> inventoryStockTakeInfo =
|
||||||
|
inventoryDetailsMapper.selectInventoryStockTakeDetailsPage(new Page<>(pageNo, pageSize), queryWrapper);
|
||||||
|
|
||||||
|
return inventoryStockTakeInfo;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,111 @@
|
|||||||
|
/*
|
||||||
|
* Copyright ©2023 CJB-CNIT Team. All rights reserved
|
||||||
|
*/
|
||||||
|
package com.openhis.web.inventorymanage.controller;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import com.core.common.core.domain.R;
|
||||||
|
import com.openhis.web.inventorymanage.appservice.IInventoryDetailsAppService;
|
||||||
|
import com.openhis.web.inventorymanage.dto.PurchaseInSearchParam;
|
||||||
|
import com.openhis.web.inventorymanage.dto.RequisitionOutSearchParam;
|
||||||
|
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 库存相关明细查询 controller
|
||||||
|
*
|
||||||
|
* @author
|
||||||
|
* @date 2025-03-10
|
||||||
|
*/
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/inventory-manage-details")
|
||||||
|
@Slf4j
|
||||||
|
public class InventoryDetailsController {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IInventoryDetailsAppService inventoryDetailsAppService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 采购入库明细查询
|
||||||
|
*
|
||||||
|
* @param purchaseInSearchParam 查询条件
|
||||||
|
* @param pageNo 当前页码
|
||||||
|
* @param pageSize 查询条数
|
||||||
|
* @param searchKey 模糊查询关键字
|
||||||
|
* @param request 请求数据
|
||||||
|
* @return 采购入库分页列表
|
||||||
|
*/
|
||||||
|
@GetMapping(value = "/purchase-in")
|
||||||
|
public R<?> purchaseInQueryGetPage(PurchaseInSearchParam purchaseInSearchParam,
|
||||||
|
@RequestParam(name = "searchKey", defaultValue = "") String searchKey,
|
||||||
|
@RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo,
|
||||||
|
@RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest request) {
|
||||||
|
return R.ok(
|
||||||
|
inventoryDetailsAppService.purchaseInGetPage(purchaseInSearchParam, searchKey, pageNo, pageSize, request));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 领用出库明细查询
|
||||||
|
*
|
||||||
|
* @param requisitionOutSearchParam 查询条件
|
||||||
|
* @param pageNo 当前页码
|
||||||
|
* @param pageSize 查询条数
|
||||||
|
* @param searchKey 模糊查询关键字
|
||||||
|
* @param request 请求数据
|
||||||
|
* @return 采购入库分页列表
|
||||||
|
*/
|
||||||
|
@GetMapping(value = "/requisition-out")
|
||||||
|
public R<?> RequisitionOutQueryGetPage(RequisitionOutSearchParam requisitionOutSearchParam,
|
||||||
|
@RequestParam(name = "searchKey", defaultValue = "") String searchKey,
|
||||||
|
@RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo,
|
||||||
|
@RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest request) {
|
||||||
|
return R.ok(inventoryDetailsAppService.requisitionOutGetPage(requisitionOutSearchParam, searchKey, pageNo,
|
||||||
|
pageSize, request));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 商品调拨明细查询
|
||||||
|
*
|
||||||
|
* @param requisitionOutSearchParam 查询条件
|
||||||
|
* @param pageNo 当前页码
|
||||||
|
* @param pageSize 查询条数
|
||||||
|
* @param searchKey 模糊查询关键字
|
||||||
|
* @param request 请求数据
|
||||||
|
* @return 商品调拨分页列表
|
||||||
|
*/
|
||||||
|
@GetMapping(value = "/inventory-transfer")
|
||||||
|
public R<?> InventoryTransferQueryGetPage(RequisitionOutSearchParam requisitionOutSearchParam,
|
||||||
|
@RequestParam(name = "searchKey", defaultValue = "") String searchKey,
|
||||||
|
@RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo,
|
||||||
|
@RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest request) {
|
||||||
|
return R.ok(inventoryDetailsAppService.inventoryTransferGetPage(requisitionOutSearchParam, searchKey, pageNo,
|
||||||
|
pageSize, request));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 商品盘点明细查询
|
||||||
|
*
|
||||||
|
* @param requisitionOutSearchParam 查询条件
|
||||||
|
* @param pageNo 当前页码
|
||||||
|
* @param pageSize 查询条数
|
||||||
|
* @param searchKey 模糊查询关键字
|
||||||
|
* @param request 请求数据
|
||||||
|
* @return 商品盘点分页列表
|
||||||
|
*/
|
||||||
|
@GetMapping(value = "/inventory-stock-take")
|
||||||
|
public R<?> InventoryStockTakeQueryGetPage(RequisitionOutSearchParam requisitionOutSearchParam,
|
||||||
|
@RequestParam(name = "searchKey", defaultValue = "") String searchKey,
|
||||||
|
@RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo,
|
||||||
|
@RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest request) {
|
||||||
|
return R.ok(inventoryDetailsAppService.inventoryStockTakeGetPage(requisitionOutSearchParam, searchKey, pageNo,
|
||||||
|
pageSize, request));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,93 @@
|
|||||||
|
/*
|
||||||
|
* Copyright ©2023 CJB-CNIT Team. All rights reserved
|
||||||
|
*/
|
||||||
|
package com.openhis.web.inventorymanage.dto;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||||
|
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||||
|
|
||||||
|
import com.sun.jna.platform.unix.solaris.LibKstat;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 商品盘点
|
||||||
|
*
|
||||||
|
* @author
|
||||||
|
* @date 2025-03-15
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Accessors(chain = true)
|
||||||
|
public class InventoryStockTakeDetailDto implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/** ID */
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
/** 单据号 */
|
||||||
|
private String busNo;
|
||||||
|
|
||||||
|
/** 状态 */
|
||||||
|
private String statusEnum;
|
||||||
|
|
||||||
|
/** 项目类型 */
|
||||||
|
private String itemTable;
|
||||||
|
|
||||||
|
/** 物品编码 */
|
||||||
|
private Long itemNo;
|
||||||
|
|
||||||
|
/** 项目名称 */
|
||||||
|
private String itemName;
|
||||||
|
|
||||||
|
/** 项目规格 */
|
||||||
|
private String itemVolume;
|
||||||
|
|
||||||
|
/** 产品批号 */
|
||||||
|
private String lotNumber;
|
||||||
|
|
||||||
|
/** 厂家产地 */
|
||||||
|
private String manufacturerId;
|
||||||
|
|
||||||
|
/** 物品计量单位 */
|
||||||
|
private String unitCode;
|
||||||
|
|
||||||
|
/** 盘前数量 */
|
||||||
|
private BigDecimal itemQuantity;
|
||||||
|
|
||||||
|
/** 盘后数量 */
|
||||||
|
private BigDecimal itemQuantity1;
|
||||||
|
|
||||||
|
/** 盈亏数量 */
|
||||||
|
|
||||||
|
/** 盈亏原因 */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/** 目的仓库类型 */
|
||||||
|
private Integer purposeTypeEnum;
|
||||||
|
|
||||||
|
/** 目的仓库 */
|
||||||
|
private String purposeName;
|
||||||
|
|
||||||
|
/** 目的仓位 */
|
||||||
|
private String purposeStoreName;
|
||||||
|
|
||||||
|
/** 审批时间 */
|
||||||
|
private Date approvalTime;
|
||||||
|
|
||||||
|
/** 申请人 */
|
||||||
|
private String applicantName;
|
||||||
|
|
||||||
|
/** 审批人 */
|
||||||
|
private String approveName;
|
||||||
|
|
||||||
|
/** 租户ID */
|
||||||
|
private Integer tenantId;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,102 @@
|
|||||||
|
/*
|
||||||
|
* Copyright ©2023 CJB-CNIT Team. All rights reserved
|
||||||
|
*/
|
||||||
|
package com.openhis.web.inventorymanage.dto;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||||
|
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||||
|
|
||||||
|
import com.sun.jna.platform.unix.solaris.LibKstat;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 商品调拨
|
||||||
|
*
|
||||||
|
* @author
|
||||||
|
* @date 2025-03-15
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Accessors(chain = true)
|
||||||
|
public class InventoryTransferDetailDto implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/** ID */
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
/** 单据号 */
|
||||||
|
private String busNo;
|
||||||
|
|
||||||
|
/** 状态 */
|
||||||
|
private String statusEnum;
|
||||||
|
|
||||||
|
/** 项目类型 */
|
||||||
|
private String itemTable;
|
||||||
|
|
||||||
|
/** 物品编码 */
|
||||||
|
private Long itemNo;
|
||||||
|
|
||||||
|
/** 项目名称 */
|
||||||
|
private String itemName;
|
||||||
|
|
||||||
|
/** 项目规格 */
|
||||||
|
private String itemVolume;
|
||||||
|
|
||||||
|
/** 产品批号 */
|
||||||
|
private String lotNumber;
|
||||||
|
|
||||||
|
/** 厂家产地 */
|
||||||
|
private String manufacturerId;
|
||||||
|
|
||||||
|
/** 调拨数量 */
|
||||||
|
private BigDecimal itemQuantity;
|
||||||
|
|
||||||
|
/** 物品计量单位 */
|
||||||
|
private String unitCode;
|
||||||
|
|
||||||
|
/** 采购单价 */
|
||||||
|
private BigDecimal price;
|
||||||
|
|
||||||
|
/** 合计金额 总价 */
|
||||||
|
private BigDecimal totalPrice;
|
||||||
|
|
||||||
|
/** 源仓库类型 */
|
||||||
|
private Integer sourceTypeEnum;
|
||||||
|
|
||||||
|
/** 源仓库 */
|
||||||
|
private String sourceName;
|
||||||
|
|
||||||
|
/** 源仓位 */
|
||||||
|
private String sourceStoreName;
|
||||||
|
|
||||||
|
/** 目的仓库类型 */
|
||||||
|
private Integer purposeTypeEnum;
|
||||||
|
|
||||||
|
/** 目的仓库 */
|
||||||
|
private String purposeName;
|
||||||
|
|
||||||
|
/** 目的仓位 */
|
||||||
|
private String purposeStoreName;
|
||||||
|
|
||||||
|
/** 审批时间 */
|
||||||
|
private Date approvalTime;
|
||||||
|
|
||||||
|
/** 有效期至 */
|
||||||
|
private Date occurrenceTime;
|
||||||
|
|
||||||
|
/** 申请人 */
|
||||||
|
private String applicantName;
|
||||||
|
|
||||||
|
/** 审批人 */
|
||||||
|
private String approveName;
|
||||||
|
|
||||||
|
/** 租户ID */
|
||||||
|
private Integer tenantId;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,89 @@
|
|||||||
|
/*
|
||||||
|
* Copyright ©2023 CJB-CNIT Team. All rights reserved
|
||||||
|
*/
|
||||||
|
package com.openhis.web.inventorymanage.dto;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||||
|
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 采购入库
|
||||||
|
*
|
||||||
|
* @author
|
||||||
|
* @date 2025-03-10
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Accessors(chain = true)
|
||||||
|
public class PurchaseInDetailDto implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/** ID */
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
/** 单据号 */
|
||||||
|
private String busNo;
|
||||||
|
|
||||||
|
/** 状态 */
|
||||||
|
private String statusEnum;
|
||||||
|
|
||||||
|
/** 项目类型 */
|
||||||
|
private String itemTable;
|
||||||
|
|
||||||
|
/** 物品编码 */
|
||||||
|
private Long itemNo;
|
||||||
|
|
||||||
|
/** 项目名称 */
|
||||||
|
private String itemName;
|
||||||
|
|
||||||
|
/** 项目规格 */
|
||||||
|
private String itemVolume;
|
||||||
|
|
||||||
|
/** 产品批号 */
|
||||||
|
private String lotNumber;
|
||||||
|
|
||||||
|
/** 供应商 */
|
||||||
|
private String supName;
|
||||||
|
|
||||||
|
/** 数量 */
|
||||||
|
private BigDecimal itemQuantity;
|
||||||
|
|
||||||
|
/** 单价 */
|
||||||
|
private BigDecimal price;
|
||||||
|
|
||||||
|
/** 总价 */
|
||||||
|
private BigDecimal totalPrice;
|
||||||
|
|
||||||
|
/** 物品计量单位 */
|
||||||
|
private String unitCode;
|
||||||
|
|
||||||
|
/** 目的仓库 */
|
||||||
|
private String locName;
|
||||||
|
|
||||||
|
/** 目的仓位 */
|
||||||
|
private String locstoreName;
|
||||||
|
|
||||||
|
/** 审批时间 */
|
||||||
|
private Date approvalTime;
|
||||||
|
|
||||||
|
/** 期望时间 */
|
||||||
|
private Date occurrenceTime;
|
||||||
|
|
||||||
|
/** 申请人 */
|
||||||
|
private String applicantName;
|
||||||
|
|
||||||
|
/** 审批人 */
|
||||||
|
private String approverName;
|
||||||
|
|
||||||
|
/** 租户ID */
|
||||||
|
private Integer tenantId;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
/*
|
||||||
|
* Copyright ©2023 CJB-CNIT Team. All rights reserved
|
||||||
|
*/
|
||||||
|
package com.openhis.web.inventorymanage.dto;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
import org.hibernate.validator.constraints.Length;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 采购入库分页查询条件
|
||||||
|
*
|
||||||
|
* @author
|
||||||
|
* @date 2025-03-10
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Accessors(chain = true)
|
||||||
|
public class PurchaseInSearchParam implements Serializable {
|
||||||
|
|
||||||
|
/** 单据号 */
|
||||||
|
@Length(max = 255)
|
||||||
|
private String busNo;
|
||||||
|
|
||||||
|
/** 项目编码 */
|
||||||
|
@Length(max = 255)
|
||||||
|
private String id;
|
||||||
|
|
||||||
|
/** 项目类型 */
|
||||||
|
// @Length(max = 255)
|
||||||
|
// private String busNo;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,89 @@
|
|||||||
|
/*
|
||||||
|
* Copyright ©2023 CJB-CNIT Team. All rights reserved
|
||||||
|
*/
|
||||||
|
package com.openhis.web.inventorymanage.dto;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||||
|
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 领用出库
|
||||||
|
*
|
||||||
|
* @author
|
||||||
|
* @date 2025-03-15
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Accessors(chain = true)
|
||||||
|
public class RequisitionOutDetailDto implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/** ID */
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
/** 单据号 */
|
||||||
|
private String busNo;
|
||||||
|
|
||||||
|
/** 状态 */
|
||||||
|
private String statusEnum;
|
||||||
|
|
||||||
|
/** 项目类型 */
|
||||||
|
private String itemTable;
|
||||||
|
|
||||||
|
/** 物品编码 */
|
||||||
|
private Long itemNo;
|
||||||
|
|
||||||
|
/** 项目名称 */
|
||||||
|
private String itemName;
|
||||||
|
|
||||||
|
/** 项目规格 */
|
||||||
|
private String itemVolume;
|
||||||
|
|
||||||
|
/** 项目规格 */
|
||||||
|
private String itemId;
|
||||||
|
|
||||||
|
/** 数量 */
|
||||||
|
private BigDecimal itemQuantity;
|
||||||
|
|
||||||
|
/** 物品计量单位 */
|
||||||
|
private String unitCode;
|
||||||
|
|
||||||
|
/** 产品批号 */
|
||||||
|
private String lotNumber;
|
||||||
|
|
||||||
|
/** 采购批次流水号 */
|
||||||
|
private String xxxNo;
|
||||||
|
|
||||||
|
/** 目的仓库 */
|
||||||
|
private String locName;
|
||||||
|
|
||||||
|
/** 目的仓位 */
|
||||||
|
private String locstoreName;
|
||||||
|
|
||||||
|
/** 制单时间 */
|
||||||
|
private Date applyTime;
|
||||||
|
|
||||||
|
/** 审批时间 */
|
||||||
|
private Date approvalTime;
|
||||||
|
|
||||||
|
/** 领用部门 */
|
||||||
|
private String xxxxxOrg;
|
||||||
|
|
||||||
|
/** 申请人 */
|
||||||
|
private String applicantName;
|
||||||
|
|
||||||
|
/** 审批人 */
|
||||||
|
private String approverName;
|
||||||
|
|
||||||
|
/** 租户ID */
|
||||||
|
private Integer tenantId;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
/*
|
||||||
|
* Copyright ©2023 CJB-CNIT Team. All rights reserved
|
||||||
|
*/
|
||||||
|
package com.openhis.web.inventorymanage.dto;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
import org.hibernate.validator.constraints.Length;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 领用出库分页查询条件
|
||||||
|
*
|
||||||
|
* @author
|
||||||
|
* @date 2025-03-15
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Accessors(chain = true)
|
||||||
|
public class RequisitionOutSearchParam implements Serializable {
|
||||||
|
|
||||||
|
/** 单据号 */
|
||||||
|
@Length(max = 255)
|
||||||
|
private String busNo;
|
||||||
|
|
||||||
|
/** 项目编码 */
|
||||||
|
@Length(max = 255)
|
||||||
|
private String id;
|
||||||
|
|
||||||
|
/** 项目类型 */
|
||||||
|
// @Length(max = 255)
|
||||||
|
// private String busNo;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,62 @@
|
|||||||
|
/*
|
||||||
|
* Copyright ©2023 CJB-CNIT Team. All rights reserved
|
||||||
|
*/
|
||||||
|
package com.openhis.web.inventorymanage.mapper;
|
||||||
|
|
||||||
|
import com.openhis.web.inventorymanage.dto.*;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 采购入库查询用 mapper
|
||||||
|
*
|
||||||
|
* @author
|
||||||
|
* @date 2025-03-10
|
||||||
|
*/
|
||||||
|
@Repository
|
||||||
|
public interface InventoryDetailsMapper {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询采购入库分页列表
|
||||||
|
*
|
||||||
|
* @param page 分页
|
||||||
|
* @param queryWrapper 查询条件
|
||||||
|
* @return 采购入库分页列表
|
||||||
|
*/
|
||||||
|
Page<PurchaseInDetailDto> selectPurchaseInDetailsPage(@Param("page") Page<PurchaseInDetailDto> page,
|
||||||
|
@Param(Constants.WRAPPER) QueryWrapper<PurchaseInSearchParam> queryWrapper);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询领用出库分页列表
|
||||||
|
*
|
||||||
|
* @param page 分页
|
||||||
|
* @param queryWrapper 查询条件
|
||||||
|
* @return 领用出库分页列表
|
||||||
|
*/
|
||||||
|
Page<RequisitionOutDetailDto> selectRequisitionOutDetailsPage(@Param("page") Page<RequisitionOutDetailDto> page,
|
||||||
|
@Param(Constants.WRAPPER) QueryWrapper<RequisitionOutSearchParam> queryWrapper);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询商品调拨分页列表
|
||||||
|
*
|
||||||
|
* @param page 分页
|
||||||
|
* @param queryWrapper 查询条件
|
||||||
|
* @return 商品调拨分页列表
|
||||||
|
*/
|
||||||
|
Page<InventoryTransferDetailDto> selectInventoryTransferDetailsPage(@Param("page") Page<InventoryTransferDetailDto> page,
|
||||||
|
@Param(Constants.WRAPPER) QueryWrapper<RequisitionOutSearchParam> queryWrapper);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询商品盘点分页列表
|
||||||
|
*
|
||||||
|
* @param page 分页
|
||||||
|
* @param queryWrapper 查询条件
|
||||||
|
* @return 商品盘点分页列表
|
||||||
|
*/
|
||||||
|
Page<InventoryStockTakeDetailDto> selectInventoryStockTakeDetailsPage(@Param("page") Page<InventoryTransferDetailDto> page,
|
||||||
|
@Param(Constants.WRAPPER) QueryWrapper<RequisitionOutSearchParam> queryWrapper);
|
||||||
|
}
|
||||||
@@ -0,0 +1,212 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="com.openhis.web.inventorymanage.mapper.InventoryDetailsMapper">
|
||||||
|
|
||||||
|
<select id="selectPurchaseInDetailsPage"
|
||||||
|
resultType="com.openhis.web.inventorymanage.dto.PurchaseInDetailDto">
|
||||||
|
SELECT T10.id,
|
||||||
|
T10.bus_no,
|
||||||
|
T10.status_enum,
|
||||||
|
T10.item_table,
|
||||||
|
T10.item_no,
|
||||||
|
T10.item_name,
|
||||||
|
T10.item_volume,
|
||||||
|
T10.lot_number,
|
||||||
|
T10.sup_name,
|
||||||
|
T10.item_quantity,
|
||||||
|
T10.price,
|
||||||
|
T10.total_price,
|
||||||
|
T10.unit_code,
|
||||||
|
T10.loc_name,
|
||||||
|
T10.locstore_name,
|
||||||
|
T10.approval_time,
|
||||||
|
T10.occurrence_time,
|
||||||
|
T10.applicant_name,
|
||||||
|
T10.approver_name,
|
||||||
|
T10.tenant_id
|
||||||
|
FROM (SELECT T1.id,
|
||||||
|
T1.bus_no,
|
||||||
|
CASE T1.status_enum WHEN 2 THEN '已入库' ELSE '未入库' END AS status_enum,
|
||||||
|
CASE T1.item_table
|
||||||
|
WHEN 'med_medication_definition' THEN '药品'
|
||||||
|
WHEN 'adm_device' THEN '设备' END AS item_table,
|
||||||
|
CASE
|
||||||
|
WHEN T1.item_table = 'med_medication_definition' THEN T2.bus_no
|
||||||
|
WHEN T1.item_table = 'adm_device' THEN T4.bus_no END AS item_no,
|
||||||
|
CASE
|
||||||
|
WHEN T1.item_table = 'med_medication_definition' THEN T2.name
|
||||||
|
WHEN T1.item_table = 'adm_device' THEN T4.name END AS item_name,
|
||||||
|
CASE
|
||||||
|
WHEN T1.item_table = 'med_medication_definition' THEN T3.total_volume
|
||||||
|
WHEN T1.item_table = 'adm_device' THEN T4.device_specifications END AS item_volume,
|
||||||
|
T1.lot_number,
|
||||||
|
T4.name AS sup_name,
|
||||||
|
T1.item_quantity,
|
||||||
|
T1.price,
|
||||||
|
T1.total_price,
|
||||||
|
T1.unit_code,
|
||||||
|
T6.name AS loc_name,
|
||||||
|
T7.name AS locstore_name,
|
||||||
|
T1.approval_time,
|
||||||
|
T1.occurrence_time,
|
||||||
|
T8.name AS applicant_name,
|
||||||
|
T9.name AS approver_name,
|
||||||
|
T1.tenant_id
|
||||||
|
FROM wor_supply_request AS T1
|
||||||
|
LEFT JOIN med_medication_definition AS T2 ON T1.item_id = T2.id
|
||||||
|
LEFT JOIN med_medication AS T3 ON T1.item_id = T3.medication_def_id
|
||||||
|
LEFT JOIN adm_device AS T4 ON T1.item_id = T4.id
|
||||||
|
LEFT JOIN adm_supplier AS T5 ON T1.supplier_id = T5.id
|
||||||
|
LEFT JOIN adm_location AS T6 ON T1.purpose_location_id = T6.id
|
||||||
|
LEFT JOIN adm_location AS T7 ON T1.purpose_location_store_id = T7.id
|
||||||
|
LEFT JOIN adm_practitioner AS T8 ON T1.applicant_id = T8.id
|
||||||
|
LEFT JOIN adm_practitioner AS T9 ON T1.approver_id = T9.id
|
||||||
|
WHERE T1.delete_flag = '0'
|
||||||
|
ORDER BY T1.bus_no desc) AS T10
|
||||||
|
${ew.customSqlSegment}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="selectRequisitionOutDetailsPage"
|
||||||
|
resultType="com.openhis.web.inventorymanage.dto.RequisitionOutDetailDto">
|
||||||
|
SELECT T10.id,
|
||||||
|
T10.bus_no,
|
||||||
|
T10.status_enum,
|
||||||
|
T10.item_table,
|
||||||
|
T10.item_no,
|
||||||
|
T10.item_name,
|
||||||
|
T10.item_volume,
|
||||||
|
T10.item_id,
|
||||||
|
T10.item_quantity,
|
||||||
|
T10.unit_code,
|
||||||
|
T10.lot_number,
|
||||||
|
T10.loc_name,
|
||||||
|
T10.locstore_name,
|
||||||
|
T10.apply_time,
|
||||||
|
T10.approval_time,
|
||||||
|
T10.applicant_name,
|
||||||
|
T10.approver_name,
|
||||||
|
T10.tenant_id
|
||||||
|
FROM (SELECT T1.id,
|
||||||
|
T1.bus_no,
|
||||||
|
CASE T1.status_enum WHEN 2 THEN '已出库' ELSE '未出库' END AS status_enum,
|
||||||
|
CASE T1.item_table
|
||||||
|
WHEN 'med_medication_definition' THEN '药品'
|
||||||
|
WHEN 'adm_device' THEN '设备' END AS item_table,
|
||||||
|
CASE
|
||||||
|
WHEN T1.item_table = 'med_medication_definition' THEN T2.bus_no
|
||||||
|
WHEN T1.item_table = 'adm_device' THEN T4.bus_no END AS item_no,
|
||||||
|
CASE
|
||||||
|
WHEN T1.item_table = 'med_medication_definition' THEN T2.name
|
||||||
|
WHEN T1.item_table = 'adm_device' THEN T4.name END AS item_name,
|
||||||
|
CASE
|
||||||
|
WHEN T1.item_table = 'med_medication_definition' THEN T3.total_volume
|
||||||
|
WHEN T1.item_table = 'adm_device' THEN T4.device_specifications END AS item_volume,
|
||||||
|
T1.item_id,
|
||||||
|
T1.item_quantity,
|
||||||
|
T1.unit_code,
|
||||||
|
T1.lot_number,
|
||||||
|
T6.name AS loc_name,
|
||||||
|
T7.name AS locstore_name,
|
||||||
|
T1.apply_time,
|
||||||
|
T1.approval_time,
|
||||||
|
T8.name AS applicant_name,
|
||||||
|
T9.name AS approver_name,
|
||||||
|
T1.tenant_id
|
||||||
|
FROM wor_supply_request AS T1
|
||||||
|
LEFT JOIN med_medication_definition AS T2 ON T1.item_id = T2.id
|
||||||
|
LEFT JOIN med_medication AS T3 ON T1.item_id = T3.medication_def_id
|
||||||
|
LEFT JOIN adm_device AS T4 ON T1.item_id = T4.id
|
||||||
|
LEFT JOIN adm_supplier AS T5 ON T1.supplier_id = T5.id
|
||||||
|
LEFT JOIN adm_location AS T6 ON T1.purpose_location_id = T6.id
|
||||||
|
LEFT JOIN adm_location AS T7 ON T1.purpose_location_store_id = T7.id
|
||||||
|
LEFT JOIN adm_practitioner AS T8 ON T1.applicant_id = T8.id
|
||||||
|
LEFT JOIN adm_practitioner AS T9 ON T1.approver_id = T9.id
|
||||||
|
WHERE T1.delete_flag = '0'
|
||||||
|
ORDER BY T1.bus_no desc) AS T10
|
||||||
|
${ew.customSqlSegment}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="selectInventoryTransferDetailsPage"
|
||||||
|
resultType="com.openhis.web.inventorymanage.dto.InventoryTransferDetailDto">
|
||||||
|
SELECT T10.id,
|
||||||
|
T10.bus_no,
|
||||||
|
T10.status_enum,
|
||||||
|
T10.item_table,
|
||||||
|
T10.item_no,
|
||||||
|
T10.item_name,
|
||||||
|
T10.item_volume,
|
||||||
|
T10.item_id,
|
||||||
|
T10.lot_number,
|
||||||
|
T10.manufacturer_id,
|
||||||
|
T10.item_quantity,
|
||||||
|
T10.unit_code,
|
||||||
|
T10.price,
|
||||||
|
T10.total_price,
|
||||||
|
T10.source_type_enum,
|
||||||
|
T10.source_name,
|
||||||
|
T10.source_store_name,
|
||||||
|
T10.purpose_type_enum,
|
||||||
|
T10.purpose_name,
|
||||||
|
T10.purpose_store_name,
|
||||||
|
T10.approval_time,
|
||||||
|
T10.occurrence_time,
|
||||||
|
T10.applicant_name,
|
||||||
|
T10.approve_name,
|
||||||
|
T10.tenant_id
|
||||||
|
FROM (SELECT T1.id,
|
||||||
|
T1.bus_no,
|
||||||
|
CASE T1.status_enum WHEN 2 THEN '已调拨' ELSE '未调拨' END AS status_enum,
|
||||||
|
CASE T1.item_table
|
||||||
|
WHEN 'med_medication_definition' THEN '药品'
|
||||||
|
WHEN 'adm_device' THEN '设备' END AS item_table,
|
||||||
|
CASE
|
||||||
|
WHEN T1.item_table = 'med_medication_definition' THEN T2.bus_no
|
||||||
|
WHEN T1.item_table = 'adm_device' THEN T4.bus_no END AS ite m_no,
|
||||||
|
CASE
|
||||||
|
WHEN T1.item_table = 'med_medication_definition' THEN T2.name
|
||||||
|
WHEN T1.item_table = 'adm_device' THEN T4.name END AS item_name,
|
||||||
|
CASE
|
||||||
|
WHEN T1.item_table = 'med_medication_definition' THEN T3.total_volume
|
||||||
|
WHEN T1.item_table = 'adm_device' THEN T4.device_specifications END AS item_volume,
|
||||||
|
T1.item_id,
|
||||||
|
T1.lot_number,
|
||||||
|
CASE
|
||||||
|
WHEN T1.item_table = 'med_medication_definition' THEN T3.manufacturer_id
|
||||||
|
WHEN T1.item_table = 'adm_device' THEN T13.manufacturer_id END AS manufacturer_id,
|
||||||
|
T1.item_quantity,
|
||||||
|
T1.unit_code,
|
||||||
|
T1.price,
|
||||||
|
T1.total_price,
|
||||||
|
T1.source_type_enum,
|
||||||
|
T11.name AS source_name,
|
||||||
|
T12.name AS source_store_name,
|
||||||
|
T1.purpose_type_enum,
|
||||||
|
T6.name AS purpose_name,
|
||||||
|
T7.name AS purpose_store_name,
|
||||||
|
T1.approval_time,
|
||||||
|
T1.occurrence_time,
|
||||||
|
T8.name AS applicant_name,
|
||||||
|
T9.name AS approve_name,
|
||||||
|
T1.tenant_id
|
||||||
|
FROM wor_supply_request AS T1
|
||||||
|
LEFT JOIN med_medication_definition AS T2 ON T1.item_id = T2.id
|
||||||
|
LEFT JOIN med_medication AS T3 ON T1.item_id = T3.medication_def_id
|
||||||
|
LEFT JOIN adm_device AS T4 ON T1.item_id = T4.id
|
||||||
|
LEFT JOIN adm_device_definition AS T13 ON T4.device_def_id = T13.id
|
||||||
|
LEFT JOIN adm_supplier AS T5 ON T1.supplier_id = T5.id
|
||||||
|
LEFT JOIN adm_location AS T6 ON T1.purpose_location_id = T6.id
|
||||||
|
LEFT JOIN adm_location AS T7 ON T1.purpose_location_store_id = T7.id
|
||||||
|
LEFT JOIN adm_practitioner AS T8 ON T1.applicant_id = T8.id
|
||||||
|
LEFT JOIN adm_practitioner AS T9 ON T1.approver_id = T9.id
|
||||||
|
LEFT JOIN adm_location AS T11 ON T1.source_location_id = T11.id
|
||||||
|
LEFT JOIN adm_location AS T12 ON T1.source_location_store_id = T12.id
|
||||||
|
WHERE T1.delete_flag = '0'
|
||||||
|
ORDER BY T1.bus_no desc) AS T10
|
||||||
|
${ew.customSqlSegment}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="selectInventoryStockTakeDetailsPage"
|
||||||
|
resultType="com.openhis.web.inventorymanage.dto.InventoryStockTakeDetailDto">
|
||||||
|
|
||||||
|
</select>
|
||||||
|
</mapper>
|
||||||
@@ -4,5 +4,79 @@
|
|||||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="com.openhis.web.basedatamanage.mapper.PractitionerAppAppMapper">
|
<mapper namespace="com.openhis.web.basedatamanage.mapper.PractitionerAppAppMapper">
|
||||||
|
|
||||||
|
<select id="getUserPractitionerPage" resultType="com.openhis.web.doctorstation.dto.UserAndPractitionerDto">
|
||||||
|
SELECT T3.tenant_id,
|
||||||
|
T3.user_id,
|
||||||
|
T3.practitioner_id,
|
||||||
|
T3.py_str,
|
||||||
|
T3.wb_str,
|
||||||
|
T3.user_name,
|
||||||
|
T3.nick_name,
|
||||||
|
T3.email,
|
||||||
|
T3.phonenumber,
|
||||||
|
T3.sex,
|
||||||
|
T3.status,
|
||||||
|
T3.remark,
|
||||||
|
T3.birth_date,
|
||||||
|
T3.address,
|
||||||
|
T3.yb_no,
|
||||||
|
T3.org_id
|
||||||
|
from (
|
||||||
|
SELECT T1.tenant_id,
|
||||||
|
T1.id AS practitioner_id,
|
||||||
|
T1.user_id,
|
||||||
|
T1.py_str,
|
||||||
|
T1.wb_str,
|
||||||
|
T2.user_name,
|
||||||
|
T2.nick_name,
|
||||||
|
T2.email,
|
||||||
|
T2.phonenumber,
|
||||||
|
T2.sex,
|
||||||
|
T2.status,
|
||||||
|
T2.remark,
|
||||||
|
T1.birth_date,
|
||||||
|
T1.address,
|
||||||
|
T1.yb_no,
|
||||||
|
T1.org_id
|
||||||
|
FROM adm_practitioner AS T1
|
||||||
|
LEFT JOIN sys_user AS T2 ON T2.user_id = T1.user_id
|
||||||
|
AND T2.delete_flag = '0'
|
||||||
|
WHERE T1.delete_flag = '0') AS T3
|
||||||
|
${ew.customSqlSegment}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="getChildList" resultType="com.openhis.web.doctorstation.dto.UserAndPractitionerChildDto">
|
||||||
|
SELECT
|
||||||
|
t1.practitioner_id,
|
||||||
|
t1.org_id,
|
||||||
|
t1.location_id,
|
||||||
|
t1.role_code,
|
||||||
|
t2.role_id,
|
||||||
|
t2.role_name
|
||||||
|
FROM
|
||||||
|
adm_practitioner_role AS T1
|
||||||
|
LEFT JOIN sys_role AS T2 ON t2.role_key = t1.role_code
|
||||||
|
AND t2.del_flag = '0'
|
||||||
|
WHERE
|
||||||
|
t1.delete_flag = '0'
|
||||||
|
<if test="practitionerIdList != null and !practitionerIdList.isEmpty()">
|
||||||
|
AND t1.practitioner_id IN
|
||||||
|
<foreach collection="practitionerIdList" item="itemId" open="(" separator="," close=")">
|
||||||
|
#{itemId}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<delete id="delUserRole">
|
||||||
|
delete
|
||||||
|
from sys_user_role
|
||||||
|
where user_id = #{userId}
|
||||||
|
</delete>
|
||||||
|
|
||||||
|
<delete id="delPractitionerRole">
|
||||||
|
delete
|
||||||
|
from adm_practitioner_role
|
||||||
|
where practitioner_id = #{practitionerId}
|
||||||
|
</delete>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
@@ -0,0 +1,84 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="com.openhis.web.datadictionary.mapper.DeviceManageMapper">
|
||||||
|
<select id="getDevicePage" parameterType="java.util.Map"
|
||||||
|
resultType="com.openhis.web.datadictionary.dto.DeviceManageDto">
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
T3.id,
|
||||||
|
T3.bus_no,
|
||||||
|
T3.name,
|
||||||
|
T3.py_str,
|
||||||
|
T3.wb_str,
|
||||||
|
T3.category_enum,
|
||||||
|
T3.type_code,
|
||||||
|
T3.unit_code,
|
||||||
|
T3.size,
|
||||||
|
T3.part_percent,
|
||||||
|
T3.min_unit_code,
|
||||||
|
T3.org_id,
|
||||||
|
T3.location_id,
|
||||||
|
T3.model_number,
|
||||||
|
T3.hvcm_flag,
|
||||||
|
T3.sales_unit_code,
|
||||||
|
T3.approval_number,
|
||||||
|
T3.yb_flag,
|
||||||
|
T3.yb_no,
|
||||||
|
T3.yb_match_flag,
|
||||||
|
T3.status_enum,
|
||||||
|
T3.manufacturer_id,
|
||||||
|
T3.manufacturer_text,
|
||||||
|
T3.supply_id,
|
||||||
|
T3.description,
|
||||||
|
T3.jurisdiction,
|
||||||
|
T3.version,
|
||||||
|
T3.substance_text,
|
||||||
|
T3.allergen_flag,
|
||||||
|
T3.tenant_id,
|
||||||
|
T3.price
|
||||||
|
FROM
|
||||||
|
(
|
||||||
|
SELECT
|
||||||
|
T1.id,
|
||||||
|
T1.bus_no,
|
||||||
|
T1.name,
|
||||||
|
T1.py_str,
|
||||||
|
T1.wb_str,
|
||||||
|
T1.category_enum,
|
||||||
|
T1.type_code,
|
||||||
|
T1.unit_code,
|
||||||
|
T1.size,
|
||||||
|
T1.part_percent,
|
||||||
|
T1.min_unit_code,
|
||||||
|
T1.org_id,
|
||||||
|
T1.location_id,
|
||||||
|
T1.model_number,
|
||||||
|
T1.hvcm_flag,
|
||||||
|
T1.sales_unit_code,
|
||||||
|
T1.approval_number,
|
||||||
|
T1.yb_flag,
|
||||||
|
T1.yb_no,
|
||||||
|
T1.yb_match_flag,
|
||||||
|
T1.status_enum,
|
||||||
|
T1.manufacturer_id,
|
||||||
|
T1.manufacturer_text,
|
||||||
|
T1.supply_id,
|
||||||
|
T1.description,
|
||||||
|
T1.jurisdiction,
|
||||||
|
T1.version,
|
||||||
|
T1.substance_text,
|
||||||
|
T1.allergen_flag,
|
||||||
|
T1.tenant_id,
|
||||||
|
T2.price
|
||||||
|
FROM adm_device_definition T1
|
||||||
|
LEFT JOIN adm_charge_item_definition T2 ON T1.id = T2.instance_id
|
||||||
|
<where>
|
||||||
|
T1.delete_flag = '0'
|
||||||
|
AND T2.instance_table = 'adm_device_definition'
|
||||||
|
</where>
|
||||||
|
ORDER BY T1.bus_no
|
||||||
|
) AS T3
|
||||||
|
${ew.customSqlSegment}
|
||||||
|
|
||||||
|
</select>
|
||||||
|
</mapper>
|
||||||
@@ -7,6 +7,7 @@
|
|||||||
T2.medication_def_id,
|
T2.medication_def_id,
|
||||||
T2.status_enum,
|
T2.status_enum,
|
||||||
T2.org_id,
|
T2.org_id,
|
||||||
|
T2.location_id,
|
||||||
T2.dose_form_code,
|
T2.dose_form_code,
|
||||||
T2.total_volume,
|
T2.total_volume,
|
||||||
T2.ingredient_item,
|
T2.ingredient_item,
|
||||||
@@ -52,7 +53,7 @@
|
|||||||
T1.children_flag,
|
T1.children_flag,
|
||||||
T1.characteristic,
|
T1.characteristic,
|
||||||
T1.national_drug_code,
|
T1.national_drug_code,
|
||||||
T1.part_attribute,
|
T1.part_attribute_enum,
|
||||||
T1.antibiotic_code,
|
T1.antibiotic_code,
|
||||||
T1.restricted_enum,
|
T1.restricted_enum,
|
||||||
T1.self_flag,
|
T1.self_flag,
|
||||||
@@ -63,13 +64,16 @@
|
|||||||
T4.base_unit_code,
|
T4.base_unit_code,
|
||||||
T4.base_quantity,
|
T4.base_quantity,
|
||||||
T4.min_unit_code,
|
T4.min_unit_code,
|
||||||
T4.min_quantity
|
T4.min_quantity,
|
||||||
|
T5.price
|
||||||
FROM med_medication_definition T1
|
FROM med_medication_definition T1
|
||||||
LEFT JOIN med_medication T2 ON T1.id = T2.medication_def_id
|
LEFT JOIN med_medication T2 ON T1.id = T2.medication_def_id
|
||||||
LEFT JOIN adm_supplier T3 ON T1.manufacturer_id = T3.id
|
LEFT JOIN adm_supplier T3 ON T1.manufacturer_id = T3.id
|
||||||
LEFT JOIN wor_inventory_item T4 ON T1.id = T4.item_id
|
LEFT JOIN wor_inventory_item T4 ON T1.id = T4.item_id
|
||||||
|
LEFT JOIN adm_charge_item_definition T5 ON T2.medication_def_id = T5.instance_id
|
||||||
<where>
|
<where>
|
||||||
T1.delete_flag = '0'
|
T1.delete_flag = '0'
|
||||||
|
AND T5.instance_table = 'med_medication_definition'
|
||||||
<if test="searchKey!=null and searchKey!='' ">
|
<if test="searchKey!=null and searchKey!='' ">
|
||||||
AND ( T1.name LIKE CONCAT(CONCAT('%', #{searchKey}),'%') OR
|
AND ( T1.name LIKE CONCAT(CONCAT('%', #{searchKey}),'%') OR
|
||||||
T1.name_en LIKE CONCAT(CONCAT('%', #{searchKey}),'%') OR
|
T1.name_en LIKE CONCAT(CONCAT('%', #{searchKey}),'%') OR
|
||||||
|
|||||||
@@ -2,8 +2,6 @@ package com.openhis.administration.domain;
|
|||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.IdType;
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import com.core.common.core.domain.HisBaseEntity;
|
import com.core.common.core.domain.HisBaseEntity;
|
||||||
|
|
||||||
@@ -24,7 +22,7 @@ import lombok.experimental.Accessors;
|
|||||||
public class BizUser extends HisBaseEntity {
|
public class BizUser extends HisBaseEntity {
|
||||||
|
|
||||||
/** 用户ID */
|
/** 用户ID */
|
||||||
@TableId(type = IdType.ASSIGN_ID)
|
// @TableId(type = IdType.ASSIGN_ID)
|
||||||
private Long userId;
|
private Long userId;
|
||||||
|
|
||||||
/** 部门ID */
|
/** 部门ID */
|
||||||
|
|||||||
@@ -31,6 +31,7 @@ public class ChargeItemDefDetailServiceImpl extends ServiceImpl<ChargeItemDefApp
|
|||||||
if (baseMapper.selectById(chargeItemDefDetail.getId()) == null) {
|
if (baseMapper.selectById(chargeItemDefDetail.getId()) == null) {
|
||||||
return false;
|
return false;
|
||||||
} else {
|
} else {
|
||||||
|
//todo deleteFlag=1
|
||||||
return baseMapper.updateById(chargeItemDefDetail) > 0;
|
return baseMapper.updateById(chargeItemDefDetail) > 0;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -92,4 +92,10 @@ public class Medication extends HisBaseEntity {
|
|||||||
/** DDD单位 */
|
/** DDD单位 */
|
||||||
private String dddUnitCode;
|
private String dddUnitCode;
|
||||||
|
|
||||||
|
/** 单次最小用药频次 */
|
||||||
|
private String minRateCode;
|
||||||
|
|
||||||
|
/** 单次最大用药频次 */
|
||||||
|
private String maxRateCode;
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -139,7 +139,7 @@ public class MedicationDefinition extends HisBaseEntity {
|
|||||||
private String nationalDrugCode;
|
private String nationalDrugCode;
|
||||||
|
|
||||||
/** 拆分属性 */
|
/** 拆分属性 */
|
||||||
private String partAttribute;
|
private Integer partAttributeEnum;
|
||||||
|
|
||||||
/** 抗生素分类 */
|
/** 抗生素分类 */
|
||||||
private String antibioticCode;
|
private String antibioticCode;
|
||||||
|
|||||||
@@ -164,4 +164,39 @@ public class MedicationDetail extends HisBaseEntity {
|
|||||||
/** 产品特性 */
|
/** 产品特性 */
|
||||||
private Integer characteristic;
|
private Integer characteristic;
|
||||||
|
|
||||||
|
/** 所在位置 */
|
||||||
|
private Long locationId;
|
||||||
|
|
||||||
|
/** 贯标国家编码 */
|
||||||
|
private String nationalDrugCode;
|
||||||
|
|
||||||
|
/** 拆分属性 */
|
||||||
|
private Integer partAttributeEnum;
|
||||||
|
|
||||||
|
/** DDD值 */
|
||||||
|
private String dddCode;
|
||||||
|
|
||||||
|
/** DDD单位 */
|
||||||
|
private String dddUnitCode;
|
||||||
|
|
||||||
|
/** 单次最小用药频次 */
|
||||||
|
private String minRateCode;
|
||||||
|
|
||||||
|
/** 单次最大用药频次 */
|
||||||
|
private String maxRateCode;
|
||||||
|
/** 抗生素分类 */
|
||||||
|
private String antibioticCode;
|
||||||
|
/** 权限限制 */
|
||||||
|
private Integer restrictedEnum;
|
||||||
|
/** 是否自制 */
|
||||||
|
private Integer selfFlag;
|
||||||
|
/** 是否抗生素 */
|
||||||
|
private Integer antibioticFlag;
|
||||||
|
/** 基药标识 */
|
||||||
|
private Integer basicFlag;
|
||||||
|
/** 生产厂商文本 */
|
||||||
|
private String manufacturerText;
|
||||||
|
/** 用量限定 */
|
||||||
|
private BigDecimal usageLimit;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,8 +13,9 @@ export function getMedicationList(query) {
|
|||||||
// 查询药品目录详细
|
// 查询药品目录详细
|
||||||
export function getMedicationOne(id) {
|
export function getMedicationOne(id) {
|
||||||
return request({
|
return request({
|
||||||
url: '/data-dictionary/medication/information-one/' + parseStrEmpty(id),
|
url: '/data-dictionary/medication/information-one',
|
||||||
method: 'get'
|
method: 'get',
|
||||||
|
params: { id } // 确保参数正确传递
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -53,7 +54,7 @@ export function getMedicationCategory() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// 停用病种目录
|
// 停用药品目录
|
||||||
export function stopMedication(ids) {
|
export function stopMedication(ids) {
|
||||||
console.log(ids)
|
console.log(ids)
|
||||||
return request({
|
return request({
|
||||||
@@ -63,7 +64,7 @@ export function stopMedication(ids) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// 启用病种目录
|
// 启用药品目录
|
||||||
export function startMedication(ids) {
|
export function startMedication(ids) {
|
||||||
console.log(ids)
|
console.log(ids)
|
||||||
return request({
|
return request({
|
||||||
@@ -71,4 +72,22 @@ export function startMedication(ids) {
|
|||||||
method: 'put',
|
method: 'put',
|
||||||
data: ids
|
data: ids
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 查询部门树形数据
|
||||||
|
export function deptTreeSelect(queryParams) {
|
||||||
|
return request({
|
||||||
|
url: '/base-data-manage/organization/organization',
|
||||||
|
method: 'get',
|
||||||
|
param: queryParams
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询地点树形数据
|
||||||
|
export function locationTreeSelect(queryParams) {
|
||||||
|
return request({
|
||||||
|
url: '/base-data-manage/cabinet-location/cabinet-location',
|
||||||
|
method: 'get',
|
||||||
|
param: queryParams
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|||||||
@@ -77,12 +77,39 @@
|
|||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="6">
|
<el-col :span="6">
|
||||||
<el-form-item label="所属科室" prop="orgId">
|
<el-form-item label="所属科室" prop="orgId">
|
||||||
<el-input v-model="form.orgId" maxlength="11" />
|
<el-tree-select
|
||||||
|
v-model="form.orgId"
|
||||||
|
:data="deptOptions"
|
||||||
|
:props="{
|
||||||
|
value: 'id',
|
||||||
|
label: 'name',
|
||||||
|
children: 'children',
|
||||||
|
}"
|
||||||
|
value-key="id"
|
||||||
|
placeholder="请选择提供部门"
|
||||||
|
check-strictly
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="地点" prop="locationId">
|
||||||
|
<el-tree-select
|
||||||
|
v-model="form.locationId"
|
||||||
|
:data="locationOptions"
|
||||||
|
:props="{
|
||||||
|
value: 'id',
|
||||||
|
label: 'name',
|
||||||
|
children: 'children',
|
||||||
|
}"
|
||||||
|
value-key="id"
|
||||||
|
placeholder="请选择地点"
|
||||||
|
check-strictly
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row :gutter="24">
|
<el-row :gutter="24">
|
||||||
<el-col :span="6">
|
<!-- <el-col :span="6">
|
||||||
<el-form-item label="系统类别" prop="category">
|
<el-form-item label="系统类别" prop="category">
|
||||||
<el-select
|
<el-select
|
||||||
v-model="form.category"
|
v-model="form.category"
|
||||||
@@ -97,7 +124,7 @@
|
|||||||
/>
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col> -->
|
||||||
<el-col :span="6">
|
<el-col :span="6">
|
||||||
<el-form-item label="药品分类" prop="categoryCode">
|
<el-form-item label="药品分类" prop="categoryCode">
|
||||||
<el-select
|
<el-select
|
||||||
@@ -106,7 +133,7 @@
|
|||||||
:disabled="form.id != undefined"
|
:disabled="form.id != undefined"
|
||||||
>
|
>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="category in medicine_category"
|
v-for="category in med_category_code"
|
||||||
:key="category.value"
|
:key="category.value"
|
||||||
:label="category.label"
|
:label="category.label"
|
||||||
:value="category.value"
|
:value="category.value"
|
||||||
@@ -115,9 +142,9 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="6">
|
<el-col :span="6">
|
||||||
<el-form-item label="最小费用" prop="categoryCode">
|
<el-form-item label="财务统计类型" prop="minimalFee">
|
||||||
<el-select
|
<el-select
|
||||||
v-model="form.categoryCode"
|
v-model="form.minimalFee"
|
||||||
clearable
|
clearable
|
||||||
:disabled="form.id != undefined"
|
:disabled="form.id != undefined"
|
||||||
>
|
>
|
||||||
@@ -153,15 +180,6 @@
|
|||||||
<el-input v-model="form.totalVolume" placeholder="" />
|
<el-input v-model="form.totalVolume" placeholder="" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="6">
|
|
||||||
<el-form-item label="包装数量" prop="packagingQuantity">
|
|
||||||
<el-input
|
|
||||||
v-model="form.packagingQuantity"
|
|
||||||
placeholder=""
|
|
||||||
:disabled="form.id != undefined"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="6">
|
<el-col :span="6">
|
||||||
<el-form-item label="包装单位" prop="unitCode">
|
<el-form-item label="包装单位" prop="unitCode">
|
||||||
<el-select
|
<el-select
|
||||||
@@ -179,9 +197,9 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="6">
|
<el-col :span="6">
|
||||||
<el-form-item label="贯标国家编码" prop="minUnitCode">
|
<el-form-item label="贯标国家编码" prop="nationalDrugCode">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="form.minUnitCode"
|
v-model="form.nationalDrugCode"
|
||||||
placeholder=""
|
placeholder=""
|
||||||
:disabled="form.id != undefined"
|
:disabled="form.id != undefined"
|
||||||
/>
|
/>
|
||||||
@@ -189,15 +207,15 @@
|
|||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row :gutter="24">
|
<el-row :gutter="24">
|
||||||
<el-col :span="6">
|
<!-- <el-col :span="6">
|
||||||
<el-form-item label="基本剂量" prop="dose">
|
<el-form-item label="基本剂量" prop="doseUnitCode">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="form.dose"
|
v-model="form.doseUnitCode"
|
||||||
placeholder=""
|
placeholder=""
|
||||||
:disabled="form.id != undefined"
|
:disabled="form.id != undefined"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col> -->
|
||||||
<el-col :span="6">
|
<el-col :span="6">
|
||||||
<el-form-item label="剂量单位" prop="doseUnitCode">
|
<el-form-item label="剂量单位" prop="doseUnitCode">
|
||||||
<el-select
|
<el-select
|
||||||
@@ -222,7 +240,7 @@
|
|||||||
:disabled="form.id != undefined"
|
:disabled="form.id != undefined"
|
||||||
>
|
>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="category in medicine_formulation"
|
v-for="category in dose_form_code"
|
||||||
:key="category.value"
|
:key="category.value"
|
||||||
:label="category.label"
|
:label="category.label"
|
||||||
:value="category.value"
|
:value="category.value"
|
||||||
@@ -249,9 +267,9 @@
|
|||||||
</el-row>
|
</el-row>
|
||||||
<el-row :gutter="24">
|
<el-row :gutter="24">
|
||||||
<el-col :span="6">
|
<el-col :span="6">
|
||||||
<el-form-item label="拆分属性" prop="minUnitCode">
|
<el-form-item label="拆分属性" prop="partAttributeEnum">
|
||||||
<el-select
|
<el-select
|
||||||
v-model="form.categoryCode"
|
v-model="form.partAttributeEnum"
|
||||||
clearable
|
clearable
|
||||||
:disabled="form.id != undefined"
|
:disabled="form.id != undefined"
|
||||||
>
|
>
|
||||||
@@ -265,27 +283,22 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="6">
|
<el-col :span="6">
|
||||||
<el-form-item label="购入价" prop="name">
|
<el-form-item label="购入价" prop="purchasePrice">
|
||||||
<el-input v-model="form.name" placeholder="" />
|
<el-input v-model="form.purchasePrice" placeholder="" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="6">
|
<el-col :span="6">
|
||||||
<el-form-item label="零售价" prop="name">
|
<el-form-item label="零售价" prop="retailPrice">
|
||||||
<el-input v-model="form.name" placeholder="" />
|
<el-input v-model="form.retailPrice" placeholder="" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="6">
|
<el-col :span="6">
|
||||||
<el-form-item label="最高零售价" prop="name">
|
<el-form-item label="最高零售价" prop="maximumRetailPrice">
|
||||||
<el-input v-model="form.name" placeholder="" />
|
<el-input v-model="form.maximumRetailPrice" placeholder="" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row :gutter="24">
|
<el-row :gutter="24">
|
||||||
<el-col :span="6">
|
|
||||||
<el-form-item label="停用" prop="status">
|
|
||||||
<el-checkbox v-model="form.status"></el-checkbox>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="6">
|
<el-col :span="6">
|
||||||
<el-form-item label="皮试判别" prop="skinTestFlag">
|
<el-form-item label="皮试判别" prop="skinTestFlag">
|
||||||
<el-checkbox v-model="form.skinTestFlag"></el-checkbox>
|
<el-checkbox v-model="form.skinTestFlag"></el-checkbox>
|
||||||
@@ -301,6 +314,11 @@
|
|||||||
<el-checkbox v-model="form.childrenFlag"></el-checkbox>
|
<el-checkbox v-model="form.childrenFlag"></el-checkbox>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="是否活性" prop="activeFlag">
|
||||||
|
<el-checkbox v-model="form.activeFlag"></el-checkbox>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row :gutter="24">
|
<el-row :gutter="24">
|
||||||
<el-col :span="6">
|
<el-col :span="6">
|
||||||
@@ -412,16 +430,6 @@
|
|||||||
<el-input v-model="form.approvalNumber" placeholder="" />
|
<el-input v-model="form.approvalNumber" placeholder="" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<!-- <el-col :span="6">
|
|
||||||
<el-form-item label="所含耗材" prop="comprisedText">
|
|
||||||
<el-input v-model="form.comprisedText" placeholder="" />
|
|
||||||
</el-form-item>
|
|
||||||
</el-col> -->
|
|
||||||
<el-col :span="6">
|
|
||||||
<el-form-item label="拆零比" prop="partPercent">
|
|
||||||
<el-input v-model="form.partPercent" placeholder="" />
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="6">
|
<el-col :span="6">
|
||||||
<el-form-item label="医保类别" prop="ybType">
|
<el-form-item label="医保类别" prop="ybType">
|
||||||
<el-select
|
<el-select
|
||||||
@@ -443,7 +451,7 @@
|
|||||||
<el-row :gutter="24">
|
<el-row :gutter="24">
|
||||||
<el-col :span="6">
|
<el-col :span="6">
|
||||||
<el-form-item label="医保对码" prop="ybMatchFlag">
|
<el-form-item label="医保对码" prop="ybMatchFlag">
|
||||||
<el-input v-model="form.ybMatchFlag" placeholder="" />
|
<el-checkbox v-model="form.ybMatchFlag" placeholder="" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="6">
|
<el-col :span="6">
|
||||||
@@ -452,13 +460,25 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="6">
|
<el-col :span="6">
|
||||||
<el-form-item label="生产厂家 " prop="manufacturerId">
|
<el-form-item label="生产厂家 " prop="manufacturerText">
|
||||||
<el-input v-model="form.manufacturerId" placeholder="" />
|
<el-input v-model="form.manufacturerText" placeholder="" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="6">
|
<el-col :span="6">
|
||||||
<el-form-item label="供应商" prop="supplyId">
|
<el-form-item label="供应商" prop="supplyId">
|
||||||
<el-input v-model="form.supplyId" placeholder="" />
|
<el-select
|
||||||
|
v-model="form.supplyId"
|
||||||
|
placeholder=""
|
||||||
|
clearable
|
||||||
|
style="width: 150px"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="supplier in supplierListOptions"
|
||||||
|
:key="supplier.value"
|
||||||
|
:label="supplier.label"
|
||||||
|
:value="supplier.value"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
@@ -469,13 +489,13 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="6">
|
<el-col :span="6">
|
||||||
<el-form-item label="抗生素" prop="restrictedFlag">
|
<el-form-item label="抗生素" prop="antibioticFlag">
|
||||||
<el-checkbox v-model="form.restrictedFlag"></el-checkbox>
|
<el-checkbox v-model="form.antibioticFlag"></el-checkbox>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="6">
|
<el-col :span="6">
|
||||||
<el-form-item label="限制使用范围" prop="restrictedScope">
|
<el-form-item label="自制" prop="selfFlag">
|
||||||
<el-input v-model="form.restrictedScope" placeholder="" />
|
<el-checkbox v-model="form.selfFlag"></el-checkbox>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="6">
|
<el-col :span="6">
|
||||||
@@ -485,7 +505,7 @@
|
|||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="12">
|
<el-col :span="10">
|
||||||
<el-form-item label="生效日期" prop="effectiveDate">
|
<el-form-item label="生效日期" prop="effectiveDate">
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
v-model="form.effectiveDate"
|
v-model="form.effectiveDate"
|
||||||
@@ -495,12 +515,8 @@
|
|||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="10">
|
<el-col :span="8">
|
||||||
<el-form-item
|
<el-form-item label="到期日期" prop="expirationDate">
|
||||||
label="到期日期"
|
|
||||||
prop="expirationDate"
|
|
||||||
style="margin-left: 10px"
|
|
||||||
>
|
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
v-model="form.expirationDate"
|
v-model="form.expirationDate"
|
||||||
type="datetime"
|
type="datetime"
|
||||||
@@ -509,10 +525,20 @@
|
|||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item
|
||||||
|
label="限制使用范围"
|
||||||
|
prop="restrictedScope"
|
||||||
|
style="margin-left: 15px"
|
||||||
|
>
|
||||||
|
<el-input v-model="form.restrictedScope" placeholder="" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
</el-form>
|
</el-form>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane label="抗生素信息" v-if="form.id != undefined">
|
<!-- <el-tab-pane label="抗生素信息" v-if="form.id != undefined && form.antibioticFlag"> -->
|
||||||
|
<el-tab-pane label="抗生素信息" v-if="form.antibioticFlag">
|
||||||
<el-form
|
<el-form
|
||||||
:model="antibioticForm"
|
:model="antibioticForm"
|
||||||
:rules="rules"
|
:rules="rules"
|
||||||
@@ -522,22 +548,10 @@
|
|||||||
>
|
>
|
||||||
<el-row :gutter="24">
|
<el-row :gutter="24">
|
||||||
<el-col :span="20">
|
<el-col :span="20">
|
||||||
<el-form-item label="抗生素分类" prop="conditionCode">
|
<el-form-item label="抗生素分类" prop="antibioticCode">
|
||||||
<el-select v-model="antibioticForm.statusEnum" clearable>
|
<el-select v-model="antibioticForm.antibioticCode" clearable>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="dict in sys_normal_disable"
|
v-for="dict in antibiotic_type_code"
|
||||||
:key="dict.value"
|
|
||||||
:label="dict.label"
|
|
||||||
:value="dict.value"
|
|
||||||
/>
|
|
||||||
</el-select>
|
|
||||||
<el-select
|
|
||||||
v-model="antibioticForm.statusEnum"
|
|
||||||
clearable
|
|
||||||
style="margin-left: 5px"
|
|
||||||
>
|
|
||||||
<el-option
|
|
||||||
v-for="dict in sys_normal_disable"
|
|
||||||
:key="dict.value"
|
:key="dict.value"
|
||||||
:label="dict.label"
|
:label="dict.label"
|
||||||
:value="dict.value"
|
:value="dict.value"
|
||||||
@@ -553,12 +567,12 @@
|
|||||||
prop="conditionCode"
|
prop="conditionCode"
|
||||||
class="custom-label-spacing"
|
class="custom-label-spacing"
|
||||||
>
|
>
|
||||||
<el-select v-model="antibioticForm.statusEnum" clearable>
|
<el-select v-model="antibioticForm.restrictedEnum" clearable>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="dict in sys_normal_disable"
|
v-for="statusRestricted in statusRestrictedOptions"
|
||||||
:key="dict.value"
|
:key="statusRestricted.value"
|
||||||
:label="dict.label"
|
:label="statusRestricted.info"
|
||||||
:value="dict.value"
|
:value="statusRestricted.value"
|
||||||
/>
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@@ -566,9 +580,9 @@
|
|||||||
</el-row>
|
</el-row>
|
||||||
<el-row :gutter="24">
|
<el-row :gutter="24">
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="单次剂量" prop="conditionCode">
|
<el-form-item label="单次剂量" prop="dose">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="antibioticForm.name"
|
v-model="antibioticForm.dose"
|
||||||
placeholder="输入剂量"
|
placeholder="输入剂量"
|
||||||
:disabled="form.id != undefined"
|
:disabled="form.id != undefined"
|
||||||
/>
|
/>
|
||||||
@@ -576,9 +590,9 @@
|
|||||||
</el-col>
|
</el-col>
|
||||||
-
|
-
|
||||||
<el-col :span="5">
|
<el-col :span="5">
|
||||||
<el-form-item label="" prop="conditionCode" label-width="0px">
|
<el-form-item label="" prop="maxUnit" label-width="0px">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="antibioticForm.name"
|
v-model="antibioticForm.maxUnit"
|
||||||
placeholder="输入剂量"
|
placeholder="输入剂量"
|
||||||
:disabled="form.id != undefined"
|
:disabled="form.id != undefined"
|
||||||
/>
|
/>
|
||||||
@@ -587,9 +601,9 @@
|
|||||||
</el-row>
|
</el-row>
|
||||||
<el-row :gutter="24">
|
<el-row :gutter="24">
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="频次范围" prop="conditionCode">
|
<el-form-item label="频次范围" prop="minRateCode">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="antibioticForm.name"
|
v-model="antibioticForm.minRateCode"
|
||||||
placeholder=""
|
placeholder=""
|
||||||
:disabled="form.id != undefined"
|
:disabled="form.id != undefined"
|
||||||
/>
|
/>
|
||||||
@@ -597,9 +611,9 @@
|
|||||||
</el-col>
|
</el-col>
|
||||||
-
|
-
|
||||||
<el-col :span="5">
|
<el-col :span="5">
|
||||||
<el-form-item label="" prop="conditionCode" label-width="0px">
|
<el-form-item label="" prop="maxRateCode" label-width="0px">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="antibioticForm.name"
|
v-model="antibioticForm.maxRateCode"
|
||||||
placeholder=""
|
placeholder=""
|
||||||
:disabled="form.id != undefined"
|
:disabled="form.id != undefined"
|
||||||
/>
|
/>
|
||||||
@@ -627,18 +641,6 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row :gutter="24">
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item label="剂量单位" prop="conditionCode">
|
|
||||||
<el-input
|
|
||||||
v-model="antibioticForm.name"
|
|
||||||
placeholder=""
|
|
||||||
:disabled="form.id != undefined"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="6"> (单位g) </el-col>
|
|
||||||
</el-row>
|
|
||||||
</el-form>
|
</el-form>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
@@ -653,22 +655,16 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup name="MedicineDialog">
|
<script setup name="MedicineDialog">
|
||||||
// import {
|
import { deptTreeSelect, locationTreeSelect } from "./medicine";
|
||||||
// getDiseaseList,
|
|
||||||
// editDisease,
|
|
||||||
// addDisease,
|
|
||||||
// getDiseaseCategory,
|
|
||||||
// getDiseaseOne,
|
|
||||||
// } from "./components/medicine";
|
|
||||||
|
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const { proxy } = getCurrentInstance();
|
const { proxy } = getCurrentInstance();
|
||||||
const {
|
const {
|
||||||
medicine_category,
|
med_category_code,
|
||||||
system_categories,
|
system_categories,
|
||||||
medicine_properties,
|
medicine_properties,
|
||||||
unit_code,
|
unit_code,
|
||||||
medicine_formulation,
|
dose_form_code,
|
||||||
yb_type,
|
yb_type,
|
||||||
medicine_default_usage,
|
medicine_default_usage,
|
||||||
medicine_default_frequency,
|
medicine_default_frequency,
|
||||||
@@ -676,13 +672,14 @@ const {
|
|||||||
sys_normal_disable,
|
sys_normal_disable,
|
||||||
rate_code,
|
rate_code,
|
||||||
method_code,
|
method_code,
|
||||||
fin_type_code
|
fin_type_code,
|
||||||
|
antibiotic_type_code,
|
||||||
} = proxy.useDict(
|
} = proxy.useDict(
|
||||||
"medicine_category",
|
"med_category_code",
|
||||||
"system_categories",
|
"system_categories",
|
||||||
"medicine_properties",
|
"medicine_properties",
|
||||||
"unit_code",
|
"unit_code",
|
||||||
"medicine_formulation",
|
"dose_form_code",
|
||||||
"yb_type",
|
"yb_type",
|
||||||
"medicine_default_usage",
|
"medicine_default_usage",
|
||||||
"medicine_default_frequency",
|
"medicine_default_frequency",
|
||||||
@@ -690,7 +687,8 @@ const {
|
|||||||
"sys_normal_disable",
|
"sys_normal_disable",
|
||||||
"rate_code",
|
"rate_code",
|
||||||
"method_code",
|
"method_code",
|
||||||
"fin_type_code"
|
"fin_type_code",
|
||||||
|
"antibiotic_type_code"
|
||||||
);
|
);
|
||||||
|
|
||||||
const title = ref("");
|
const title = ref("");
|
||||||
@@ -698,7 +696,10 @@ const visible = ref(false);
|
|||||||
const emits = defineEmits(["submit"]); // 声明自定义事件
|
const emits = defineEmits(["submit"]); // 声明自定义事件
|
||||||
const statusFlagOptions = ref(undefined);
|
const statusFlagOptions = ref(undefined);
|
||||||
const domainEnumOptions = ref(undefined);
|
const domainEnumOptions = ref(undefined);
|
||||||
|
const deptOptions = ref(undefined); // 部门树选项
|
||||||
|
const locationOptions = ref(undefined); // 地点树选项
|
||||||
|
const supplierListOptions = ref(undefined); // 供应商列表选项
|
||||||
|
const statusRestrictedOptions = ref(undefined); // 权限级别选项
|
||||||
const data = reactive({
|
const data = reactive({
|
||||||
form: {},
|
form: {},
|
||||||
antibioticForm: {},
|
antibioticForm: {},
|
||||||
@@ -726,33 +727,42 @@ const props = defineProps({
|
|||||||
type: Object,
|
type: Object,
|
||||||
required: false,
|
required: false,
|
||||||
},
|
},
|
||||||
|
supplierListOptions: {
|
||||||
|
type: Object,
|
||||||
|
required: false,
|
||||||
|
},
|
||||||
|
statusRestrictedOptions: {
|
||||||
|
type: Object,
|
||||||
|
required: false,
|
||||||
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
/** 查询部门下拉树结构 */
|
||||||
|
function getDeptTree() {
|
||||||
|
console.log("查询部门下拉树结构");
|
||||||
|
deptTreeSelect().then((response) => {
|
||||||
|
console.log(response, "response查询部门下拉树结构");
|
||||||
|
deptOptions.value = response.data.records;
|
||||||
|
console.log(deptOptions.value, "部门下拉树结构");
|
||||||
|
});
|
||||||
|
}
|
||||||
|
/** 查询地点下拉树结构 */
|
||||||
|
function getLocationTree() {
|
||||||
|
locationTreeSelect().then((response) => {
|
||||||
|
console.log(response, "response查询部门下拉树结构");
|
||||||
|
locationOptions.value = response.data.records;
|
||||||
|
console.log(locationOptions.value, "部门下拉树结构");
|
||||||
|
});
|
||||||
|
}
|
||||||
// 显示弹框
|
// 显示弹框
|
||||||
function show() {
|
function show() {
|
||||||
// queryParams.roleId = props.roleId;
|
getLocationTree();
|
||||||
// getList();
|
getDeptTree();
|
||||||
reset();
|
reset();
|
||||||
statusFlagOptions.value = props.status;
|
statusFlagOptions.value = props.status;
|
||||||
domainEnumOptions.value = props.domainEnum;
|
domainEnumOptions.value = props.domainEnum;
|
||||||
// currentData.value.activeFlag == 1
|
supplierListOptions.value = props.supplierListOptions;
|
||||||
// ? (currentData.value.activeFlag = true)
|
statusRestrictedOptions.value = props.statusRestrictedOptions;
|
||||||
// : (currentData.value.activeFlag = false); //是否为活性
|
|
||||||
// currentData.value.ybMatchFlag == 1
|
|
||||||
// ? (currentData.value.ybMatchFlag = true)
|
|
||||||
// : (currentData.value.ybMatchFlag = false); //医保是否对码
|
|
||||||
// currentData.value.skinTestFlag == 1
|
|
||||||
// ? (currentData.value.skinTestFlag = true)
|
|
||||||
// : (currentData.value.skinTestFlag = false); //是否皮试
|
|
||||||
// currentData.value.injectFlag == 1
|
|
||||||
// ? (currentData.value.injectFlag = true)
|
|
||||||
// : (currentData.value.injectFlag = false); //是否为注射药物
|
|
||||||
// currentData.value.restrictedFlag == 1
|
|
||||||
// ? (currentData.value.restrictedFlag = true)
|
|
||||||
// : (currentData.value.restrictedFlag = false); //是否限制使用
|
|
||||||
// currentData.value.childrenFlag == 1
|
|
||||||
// ? (currentData.value.childrenFlag = true)
|
|
||||||
// : (currentData.value.childrenFlag = false); //儿童用药标志
|
|
||||||
// console.log(currentData.value, "currentData");
|
// console.log(currentData.value, "currentData");
|
||||||
visible.value = true;
|
visible.value = true;
|
||||||
}
|
}
|
||||||
@@ -764,15 +774,53 @@ function edit() {
|
|||||||
console.log(props.item);
|
console.log(props.item);
|
||||||
console.log("props.item");
|
console.log("props.item");
|
||||||
reset();
|
reset();
|
||||||
|
getLocationTree();
|
||||||
|
getDeptTree();
|
||||||
form.value = props.item;
|
form.value = props.item;
|
||||||
|
setFlag(form.value);
|
||||||
statusFlagOptions.value = props.status;
|
statusFlagOptions.value = props.status;
|
||||||
domainEnumOptions.value = props.domainEnum;
|
domainEnumOptions.value = props.domainEnum;
|
||||||
|
supplierListOptions.value = props.supplierListOptions;
|
||||||
|
statusRestrictedOptions.value = props.statusRestrictedOptions;
|
||||||
visible.value = true;
|
visible.value = true;
|
||||||
}
|
}
|
||||||
|
// checkbox值转换
|
||||||
|
function setFlag(data) {
|
||||||
|
data.activeFlag == 1 ? (data.activeFlag = true) : (data.activeFlag = false); //是否为活性
|
||||||
|
data.ybMatchFlag == 1
|
||||||
|
? (data.ybMatchFlag = true)
|
||||||
|
: (data.ybMatchFlag = false); //医保是否对码
|
||||||
|
data.skinTestFlag == 1
|
||||||
|
? (data.skinTestFlag = true)
|
||||||
|
: (data.skinTestFlag = false); //是否皮试
|
||||||
|
data.injectFlag == 1 ? (data.injectFlag = true) : (data.injectFlag = false); //是否为注射药物
|
||||||
|
data.restrictedFlag == 1
|
||||||
|
? (data.restrictedFlag = true)
|
||||||
|
: (data.restrictedFlag = false); //是否限制使用
|
||||||
|
data.childrenFlag == 1
|
||||||
|
? (data.childrenFlag = true)
|
||||||
|
: (data.childrenFlag = false); //儿童用药标志
|
||||||
|
data.antibioticFlag == 1
|
||||||
|
? (data.antibioticFlag = true)
|
||||||
|
: (data.antibioticFlag = false); //抗生素
|
||||||
|
data.selfFlag == 1
|
||||||
|
? (data.selfFlag = true)
|
||||||
|
: (data.selfFlag = false); //自制
|
||||||
|
}
|
||||||
/** 重置操作表单 */
|
/** 重置操作表单 */
|
||||||
function reset() {
|
function reset() {
|
||||||
form.value = {
|
form.value = {
|
||||||
id: undefined,
|
id: undefined,
|
||||||
|
medicationDefId: undefined,
|
||||||
|
orgId: undefined,
|
||||||
|
locationId: undefined,
|
||||||
|
activeFlag: undefined,
|
||||||
|
effectiveDate: undefined,
|
||||||
|
expirationDate: undefined,
|
||||||
|
doseFrom: undefined,
|
||||||
|
rateCode: undefined,
|
||||||
|
approvalNumber: undefined,
|
||||||
|
definition: undefined,
|
||||||
name: undefined,
|
name: undefined,
|
||||||
pyStr: undefined,
|
pyStr: undefined,
|
||||||
wbStr: undefined,
|
wbStr: undefined,
|
||||||
@@ -804,10 +852,23 @@ function reset() {
|
|||||||
ybMatchFlag: undefined,
|
ybMatchFlag: undefined,
|
||||||
ybNo: undefined,
|
ybNo: undefined,
|
||||||
manufacturerId: undefined,
|
manufacturerId: undefined,
|
||||||
|
manufacturerText: undefined,
|
||||||
supplyId: undefined,
|
supplyId: undefined,
|
||||||
restrictedFlag: undefined,
|
restrictedFlag: undefined,
|
||||||
restrictedScope: undefined,
|
restrictedScope: undefined,
|
||||||
characteristic: undefined,
|
characteristic: undefined,
|
||||||
|
purchasePrice: undefined,
|
||||||
|
retailPrice: undefined,
|
||||||
|
maximumRetailPrice: undefined,
|
||||||
|
ybType: undefined,
|
||||||
|
minimalFee: undefined,
|
||||||
|
nationalDrugCode: undefined,
|
||||||
|
ybDrugCode: undefined,
|
||||||
|
antibioticFlag: undefined,
|
||||||
|
selfFlag: undefined,
|
||||||
|
minRateCode: undefined,
|
||||||
|
maxRateCode: undefined,
|
||||||
|
partAttributeEnum: undefined,
|
||||||
};
|
};
|
||||||
proxy.resetForm("medicationRef");
|
proxy.resetForm("medicationRef");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -48,11 +48,7 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="5">
|
<el-col :span="5">
|
||||||
<el-form-item
|
<el-form-item label="状态" prop="statusEnum" label-width="100">
|
||||||
label="状态"
|
|
||||||
prop="statusEnum"
|
|
||||||
label-width="100"
|
|
||||||
>
|
|
||||||
<el-select v-model="queryParams.statusEnum" clearable>
|
<el-select v-model="queryParams.statusEnum" clearable>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="status in statusFlagOptions"
|
v-for="status in statusFlagOptions"
|
||||||
@@ -64,17 +60,21 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="4">
|
<el-col :span="4">
|
||||||
<el-form-item label="医保对码" prop="ybMatchFlag" label-width="80">
|
<el-form-item
|
||||||
|
label="医保对码"
|
||||||
|
prop="ybMatchFlag"
|
||||||
|
label-width="80"
|
||||||
|
>
|
||||||
<el-select
|
<el-select
|
||||||
v-model="queryParams.ybMatchFlag"
|
v-model="queryParams.ybMatchFlag"
|
||||||
placeholder=""
|
placeholder=""
|
||||||
clearable
|
clearable
|
||||||
>
|
>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="domainEnum in domainEnumOptions"
|
v-for="ybMatch in statusWeatherOption"
|
||||||
:key="domainEnum.value"
|
:key="ybMatch.value"
|
||||||
:label="domainEnum.info"
|
:label="ybMatch.info"
|
||||||
:value="domainEnum.value"
|
:value="ybMatch.value"
|
||||||
/>
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@@ -184,8 +184,15 @@
|
|||||||
<el-table-column
|
<el-table-column
|
||||||
label="药品状态"
|
label="药品状态"
|
||||||
align="center"
|
align="center"
|
||||||
key="statusEnum"
|
key="statusEnum_enumText"
|
||||||
prop="statusEnum"
|
prop="statusEnum_enumText"
|
||||||
|
:show-overflow-tooltip="true"
|
||||||
|
/>
|
||||||
|
<el-table-column
|
||||||
|
label="医保类别"
|
||||||
|
align="center"
|
||||||
|
key="ybType_enumText"
|
||||||
|
prop="ybType_enumText"
|
||||||
:show-overflow-tooltip="true"
|
:show-overflow-tooltip="true"
|
||||||
/>
|
/>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
@@ -206,23 +213,30 @@
|
|||||||
<el-table-column
|
<el-table-column
|
||||||
label="药品分类"
|
label="药品分类"
|
||||||
align="center"
|
align="center"
|
||||||
key="categoryCode"
|
key="categoryCode_dictText"
|
||||||
prop="categoryCode"
|
prop="categoryCode_dictText"
|
||||||
:show-overflow-tooltip="true"
|
:show-overflow-tooltip="true"
|
||||||
width="90"
|
width="90"
|
||||||
/>
|
/>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
label="所属科室"
|
label="所属科室"
|
||||||
align="center"
|
align="center"
|
||||||
key="orgId"
|
key="orgId_dictText"
|
||||||
prop="orgId"
|
prop="orgId_dictText"
|
||||||
|
:show-overflow-tooltip="true"
|
||||||
|
/>
|
||||||
|
<el-table-column
|
||||||
|
label="地点"
|
||||||
|
align="center"
|
||||||
|
key="locationId_dictText"
|
||||||
|
prop="locationId_dictText"
|
||||||
:show-overflow-tooltip="true"
|
:show-overflow-tooltip="true"
|
||||||
/>
|
/>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
label="剂型"
|
label="剂型"
|
||||||
align="center"
|
align="center"
|
||||||
key="doseFormCode"
|
key="doseFormCode_dictText"
|
||||||
prop="doseFormCode"
|
prop="doseFormCode_dictText"
|
||||||
:show-overflow-tooltip="true"
|
:show-overflow-tooltip="true"
|
||||||
/>
|
/>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
@@ -243,8 +257,8 @@
|
|||||||
<el-table-column
|
<el-table-column
|
||||||
label="是否为活性"
|
label="是否为活性"
|
||||||
align="center"
|
align="center"
|
||||||
key="activeFlag"
|
key="activeFlag_enumText"
|
||||||
prop="activeFlag"
|
prop="activeFlag_enumText"
|
||||||
:show-overflow-tooltip="true"
|
:show-overflow-tooltip="true"
|
||||||
/>
|
/>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
@@ -254,13 +268,13 @@
|
|||||||
prop="lotNumber"
|
prop="lotNumber"
|
||||||
:show-overflow-tooltip="true"
|
:show-overflow-tooltip="true"
|
||||||
/>
|
/>
|
||||||
<el-table-column
|
<!-- <el-table-column
|
||||||
label="拆零价"
|
label="拆零价"
|
||||||
align="center"
|
align="center"
|
||||||
key="statusEnum"
|
key="statusEnum"
|
||||||
prop="statusEnum"
|
prop="statusEnum"
|
||||||
:show-overflow-tooltip="true"
|
:show-overflow-tooltip="true"
|
||||||
/>
|
/> -->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
label="生效日期"
|
label="生效日期"
|
||||||
align="center"
|
align="center"
|
||||||
@@ -286,16 +300,15 @@
|
|||||||
<el-table-column
|
<el-table-column
|
||||||
label="用法"
|
label="用法"
|
||||||
align="center"
|
align="center"
|
||||||
key="methodCode"
|
key="methodCode_dictText"
|
||||||
prop="methodCode"
|
prop="methodCode_dictText"
|
||||||
:show-overflow-tooltip="true"
|
:show-overflow-tooltip="true"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<el-table-column
|
<el-table-column
|
||||||
label="用药频次"
|
label="用药频次"
|
||||||
align="center"
|
align="center"
|
||||||
key="rateCode"
|
key="rateCode_dictText"
|
||||||
prop="rateCode"
|
prop="rateCode_dictText"
|
||||||
:show-overflow-tooltip="true"
|
:show-overflow-tooltip="true"
|
||||||
width="100"
|
width="100"
|
||||||
/>
|
/>
|
||||||
@@ -309,8 +322,8 @@
|
|||||||
<el-table-column
|
<el-table-column
|
||||||
label="剂量单位"
|
label="剂量单位"
|
||||||
align="center"
|
align="center"
|
||||||
key="doseUnitCode"
|
key="doseUnitCode_dictText"
|
||||||
prop="doseUnitCode"
|
prop="doseUnitCode_dictText"
|
||||||
:show-overflow-tooltip="true"
|
:show-overflow-tooltip="true"
|
||||||
/>
|
/>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
@@ -328,11 +341,35 @@
|
|||||||
:show-overflow-tooltip="true"
|
:show-overflow-tooltip="true"
|
||||||
width="90"
|
width="90"
|
||||||
/>
|
/>
|
||||||
|
<el-table-column
|
||||||
|
label="用量限定"
|
||||||
|
align="center"
|
||||||
|
key="usageLimit"
|
||||||
|
prop="usageLimit"
|
||||||
|
:show-overflow-tooltip="true"
|
||||||
|
width="90"
|
||||||
|
/>
|
||||||
|
<el-table-column
|
||||||
|
label="DDD值"
|
||||||
|
align="center"
|
||||||
|
key="dddCode_dictText"
|
||||||
|
prop="dddCode_dictText"
|
||||||
|
:show-overflow-tooltip="true"
|
||||||
|
width="90"
|
||||||
|
/>
|
||||||
|
<el-table-column
|
||||||
|
label="DDD单位"
|
||||||
|
align="center"
|
||||||
|
key="dddUnitCode_dictText"
|
||||||
|
prop="dddUnitCode_dictText"
|
||||||
|
:show-overflow-tooltip="true"
|
||||||
|
width="90"
|
||||||
|
/>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
label="适用范围"
|
label="适用范围"
|
||||||
align="center"
|
align="center"
|
||||||
key="domainEnum"
|
key="domainEnum_enumText"
|
||||||
prop="domainEnum"
|
prop="domainEnum_enumText"
|
||||||
:show-overflow-tooltip="true"
|
:show-overflow-tooltip="true"
|
||||||
/>
|
/>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
@@ -381,10 +418,10 @@
|
|||||||
:show-overflow-tooltip="true"
|
:show-overflow-tooltip="true"
|
||||||
/>
|
/>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
label="最小单位"
|
label="财务统计类型"
|
||||||
align="center"
|
align="center"
|
||||||
key="minUnitCode"
|
key="minUnitCode_dictText"
|
||||||
prop="minUnitCode"
|
prop="minUnitCode_dictText"
|
||||||
:show-overflow-tooltip="true"
|
:show-overflow-tooltip="true"
|
||||||
width="90"
|
width="90"
|
||||||
/>
|
/>
|
||||||
@@ -429,8 +466,8 @@
|
|||||||
<el-table-column
|
<el-table-column
|
||||||
label="医保是否对码"
|
label="医保是否对码"
|
||||||
align="center"
|
align="center"
|
||||||
key="ybMatchFlag"
|
key="ybMatchFlag_enumText"
|
||||||
prop="ybMatchFlag"
|
prop="ybMatchFlag_enumText"
|
||||||
:show-overflow-tooltip="true"
|
:show-overflow-tooltip="true"
|
||||||
/>
|
/>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
@@ -451,16 +488,16 @@
|
|||||||
<el-table-column
|
<el-table-column
|
||||||
label="是否皮试"
|
label="是否皮试"
|
||||||
align="center"
|
align="center"
|
||||||
key="skinTestFlag"
|
key="skinTestFlag_enumText"
|
||||||
prop="skinTestFlag"
|
prop="skinTestFlag_enumText"
|
||||||
:show-overflow-tooltip="true"
|
:show-overflow-tooltip="true"
|
||||||
width="90"
|
width="90"
|
||||||
/>
|
/>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
label="是否为注射药物"
|
label="是否为注射药物"
|
||||||
align="center"
|
align="center"
|
||||||
key="injectFlag"
|
key="injectFlag_enumText"
|
||||||
prop="injectFlag"
|
prop="injectFlag_enumText"
|
||||||
:show-overflow-tooltip="true"
|
:show-overflow-tooltip="true"
|
||||||
width="90"
|
width="90"
|
||||||
/>
|
/>
|
||||||
@@ -471,19 +508,26 @@
|
|||||||
prop="manufacturerId"
|
prop="manufacturerId"
|
||||||
:show-overflow-tooltip="true"
|
:show-overflow-tooltip="true"
|
||||||
/>
|
/>
|
||||||
|
<el-table-column
|
||||||
|
label="生产厂家名称"
|
||||||
|
align="center"
|
||||||
|
key="manufacturerName"
|
||||||
|
prop="manufacturerName"
|
||||||
|
:show-overflow-tooltip="true"
|
||||||
|
/>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
label="供应商"
|
label="供应商"
|
||||||
align="center"
|
align="center"
|
||||||
key="supplyId"
|
key="supplyId_dictText"
|
||||||
prop="supplyId"
|
prop="supplyId_dictText"
|
||||||
:show-overflow-tooltip="true"
|
:show-overflow-tooltip="true"
|
||||||
width="90"
|
width="90"
|
||||||
/>
|
/>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
label="是否限制使用"
|
label="是否限制使用"
|
||||||
align="center"
|
align="center"
|
||||||
key="restrictedFlag"
|
key="restrictedFlag_enumText"
|
||||||
prop="restrictedFlag"
|
prop="restrictedFlag_enumText"
|
||||||
:show-overflow-tooltip="true"
|
:show-overflow-tooltip="true"
|
||||||
width="90"
|
width="90"
|
||||||
/>
|
/>
|
||||||
@@ -498,8 +542,8 @@
|
|||||||
<el-table-column
|
<el-table-column
|
||||||
label="儿童用药标志"
|
label="儿童用药标志"
|
||||||
align="center"
|
align="center"
|
||||||
key="childrenFlag"
|
key="childrenFlag_enumText"
|
||||||
prop="childrenFlag"
|
prop="childrenFlag_enumText"
|
||||||
:show-overflow-tooltip="true"
|
:show-overflow-tooltip="true"
|
||||||
/>
|
/>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
@@ -510,6 +554,94 @@
|
|||||||
:show-overflow-tooltip="true"
|
:show-overflow-tooltip="true"
|
||||||
width="90"
|
width="90"
|
||||||
/>
|
/>
|
||||||
|
<el-table-column
|
||||||
|
label="贯标国家编码"
|
||||||
|
align="center"
|
||||||
|
key="nationalDrugCode"
|
||||||
|
prop="nationalDrugCode"
|
||||||
|
:show-overflow-tooltip="true"
|
||||||
|
width="90"
|
||||||
|
/>
|
||||||
|
<el-table-column
|
||||||
|
label="拆分属性"
|
||||||
|
align="center"
|
||||||
|
key="partAttributeEnum_enumText"
|
||||||
|
prop="partAttributeEnum_enumText"
|
||||||
|
:show-overflow-tooltip="true"
|
||||||
|
width="90"
|
||||||
|
/>
|
||||||
|
<el-table-column
|
||||||
|
label="抗生素分类"
|
||||||
|
align="center"
|
||||||
|
key="antibioticCode_dictText"
|
||||||
|
prop="antibioticCode_dictText"
|
||||||
|
:show-overflow-tooltip="true"
|
||||||
|
width="90"
|
||||||
|
/>
|
||||||
|
<el-table-column
|
||||||
|
label="权限限制"
|
||||||
|
align="center"
|
||||||
|
key="restrictedEnum_enumText"
|
||||||
|
prop="restrictedEnum_enumText"
|
||||||
|
:show-overflow-tooltip="true"
|
||||||
|
width="90"
|
||||||
|
/>
|
||||||
|
<el-table-column
|
||||||
|
label="是否自制"
|
||||||
|
align="center"
|
||||||
|
key=" selfFlag_enumText"
|
||||||
|
prop=" selfFlag_enumText"
|
||||||
|
:show-overflow-tooltip="true"
|
||||||
|
width="90"
|
||||||
|
/>
|
||||||
|
<el-table-column
|
||||||
|
label="是否抗生素"
|
||||||
|
align="center"
|
||||||
|
key="antibioticFlag_enumText"
|
||||||
|
prop="antibioticFlag_enumText"
|
||||||
|
:show-overflow-tooltip="true"
|
||||||
|
width="90"
|
||||||
|
/>
|
||||||
|
<el-table-column
|
||||||
|
label="基药标识"
|
||||||
|
align="center"
|
||||||
|
key="basicFlag_enumText"
|
||||||
|
prop="basicFlag_enumText"
|
||||||
|
:show-overflow-tooltip="true"
|
||||||
|
width="90"
|
||||||
|
/>
|
||||||
|
<el-table-column
|
||||||
|
label="常规单位"
|
||||||
|
align="center"
|
||||||
|
key="baseUnitCode"
|
||||||
|
prop="baseUnitCode"
|
||||||
|
:show-overflow-tooltip="true"
|
||||||
|
width="90"
|
||||||
|
/>
|
||||||
|
<el-table-column
|
||||||
|
label="当前库存数量(常规单位)"
|
||||||
|
align="center"
|
||||||
|
key="baseQuantity"
|
||||||
|
prop="baseQuantity"
|
||||||
|
:show-overflow-tooltip="true"
|
||||||
|
width="90"
|
||||||
|
/>
|
||||||
|
<el-table-column
|
||||||
|
label="当前库存数量(最小单位数量)"
|
||||||
|
align="center"
|
||||||
|
key="minQuantity"
|
||||||
|
prop="minQuantity"
|
||||||
|
:show-overflow-tooltip="true"
|
||||||
|
width="90"
|
||||||
|
/>
|
||||||
|
<el-table-column
|
||||||
|
label="售价"
|
||||||
|
align="center"
|
||||||
|
key="price"
|
||||||
|
prop="price"
|
||||||
|
:show-overflow-tooltip="true"
|
||||||
|
width="90"
|
||||||
|
/>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
label="操作"
|
label="操作"
|
||||||
align="center"
|
align="center"
|
||||||
@@ -526,14 +658,14 @@
|
|||||||
v-hasPermi="['system:user:edit']"
|
v-hasPermi="['system:user:edit']"
|
||||||
>编辑</el-button
|
>编辑</el-button
|
||||||
>
|
>
|
||||||
<el-button
|
<!-- <el-button
|
||||||
link
|
link
|
||||||
type="primary"
|
type="primary"
|
||||||
icon="View"
|
icon="View"
|
||||||
@click="openViewMedicine(scope.row)"
|
@click="openViewMedicine(scope.row)"
|
||||||
v-hasPermi="['system:user:remove']"
|
v-hasPermi="['system:user:remove']"
|
||||||
>查看</el-button
|
>查看</el-button
|
||||||
>
|
> -->
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
@@ -551,6 +683,8 @@
|
|||||||
:item="currentData"
|
:item="currentData"
|
||||||
:domainEnum="domainEnumOptions"
|
:domainEnum="domainEnumOptions"
|
||||||
:status="statusFlagOptions"
|
:status="statusFlagOptions"
|
||||||
|
:supplierListOptions="supplierListOptions"
|
||||||
|
:statusRestrictedOptions="statusRestrictedOptions"
|
||||||
@submit="submitForm"
|
@submit="submitForm"
|
||||||
/>
|
/>
|
||||||
<medicine-view-dialog
|
<medicine-view-dialog
|
||||||
@@ -595,6 +729,8 @@ const medicationOptions = ref(undefined);
|
|||||||
const statusFlagOptions = ref(undefined);
|
const statusFlagOptions = ref(undefined);
|
||||||
const domainEnumOptions = ref(undefined);
|
const domainEnumOptions = ref(undefined);
|
||||||
const supplierListOptions = ref(undefined);
|
const supplierListOptions = ref(undefined);
|
||||||
|
const statusWeatherOption = ref(undefined);
|
||||||
|
const statusRestrictedOptions = ref(undefined);
|
||||||
// 使用 ref 定义当前药品数据
|
// 使用 ref 定义当前药品数据
|
||||||
const currentData = ref({});
|
const currentData = ref({});
|
||||||
// 使用 ref 定义当前查看药品数据
|
// 使用 ref 定义当前查看药品数据
|
||||||
@@ -611,7 +747,7 @@ const data = reactive({
|
|||||||
searchKey: undefined, // 品名/商品名/英文品名/编码/拼音
|
searchKey: undefined, // 品名/商品名/英文品名/编码/拼音
|
||||||
statusEnum: undefined, // 状态(包括 1:预置,2:启用,3:停用)
|
statusEnum: undefined, // 状态(包括 1:预置,2:启用,3:停用)
|
||||||
ybMatchFlag: undefined, // 是否医保匹配(包括 1:是,0:否)
|
ybMatchFlag: undefined, // 是否医保匹配(包括 1:是,0:否)
|
||||||
status: undefined, // 状态(包括 1:预置,2:启用,3:停用)
|
categoryCode: undefined, // 目录
|
||||||
},
|
},
|
||||||
rules: {
|
rules: {
|
||||||
// name: [{ required: true, message: "名称不能为空", trigger: "blur" }],
|
// name: [{ required: true, message: "名称不能为空", trigger: "blur" }],
|
||||||
@@ -636,15 +772,18 @@ const filterNode = (value, data) => {
|
|||||||
function getMedicationCategoryList() {
|
function getMedicationCategoryList() {
|
||||||
getMedicationCategory().then((response) => {
|
getMedicationCategory().then((response) => {
|
||||||
console.log(response, "response药品目录分类查询下拉树结构");
|
console.log(response, "response药品目录分类查询下拉树结构");
|
||||||
medicationOptions.value = response.data.medicationListOptions;
|
medicationOptions.value = response.data.medicationCategoryCodeOptions;
|
||||||
statusFlagOptions.value = response.data.statusFlagOptions;
|
statusFlagOptions.value = response.data.statusFlagOptions;
|
||||||
domainEnumOptions.value = response.data.domainFlagOptions;
|
domainEnumOptions.value = response.data.domainFlagOptions;
|
||||||
supplierListOptions.value = response.data.supplierListOptions;
|
supplierListOptions.value = response.data.supplierListOptions;
|
||||||
|
statusWeatherOption.value = response.data.statusWeatherOptions;
|
||||||
|
statusRestrictedOptions.value = response.data.statusRestrictedOptions;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
/** 查询病种目录列表 */
|
/** 查询病种目录列表 */
|
||||||
function getList() {
|
function getList() {
|
||||||
loading.value = true;
|
loading.value = true;
|
||||||
|
console.log(queryParams.value, "queryParams***********************");
|
||||||
getMedicationList(queryParams.value).then((res) => {
|
getMedicationList(queryParams.value).then((res) => {
|
||||||
loading.value = false;
|
loading.value = false;
|
||||||
console.log(res, "res");
|
console.log(res, "res");
|
||||||
@@ -654,12 +793,13 @@ function getList() {
|
|||||||
}
|
}
|
||||||
/** 节点单击事件 */
|
/** 节点单击事件 */
|
||||||
function handleNodeClick(data) {
|
function handleNodeClick(data) {
|
||||||
queryParams.value.deptId = data.id;
|
queryParams.value.categoryCode = data.value;
|
||||||
handleQuery();
|
handleQuery();
|
||||||
}
|
}
|
||||||
/** 搜索按钮操作 */
|
/** 搜索按钮操作 */
|
||||||
function handleQuery() {
|
function handleQuery() {
|
||||||
queryParams.value.pageNo = 1;
|
queryParams.value.pageNo = 1;
|
||||||
|
console.log(queryParams.value, "queryParams");
|
||||||
getList();
|
getList();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -740,25 +880,36 @@ function openAddMedicine() {
|
|||||||
}
|
}
|
||||||
/** 打开编辑弹窗 */
|
/** 打开编辑弹窗 */
|
||||||
function openEditMedicine(row) {
|
function openEditMedicine(row) {
|
||||||
currentData.value = JSON.parse(JSON.stringify(row));
|
getMedicationOne(row.id).then((response) => {
|
||||||
currentData.value.activeFlag == 1
|
console.log(response, "responsebbbb", row.id);
|
||||||
? (currentData.value.activeFlag = true)
|
currentData.value = response.data;
|
||||||
: (currentData.value.activeFlag = false); //是否为活性
|
// getList();
|
||||||
currentData.value.ybMatchFlag == 1
|
});
|
||||||
? (currentData.value.ybMatchFlag = true)
|
// currentData.value = JSON.parse(JSON.stringify(row));
|
||||||
: (currentData.value.ybMatchFlag = false); //医保是否对码
|
// currentData.value.activeFlag == 1
|
||||||
currentData.value.skinTestFlag == 1
|
// ? (currentData.value.activeFlag = true)
|
||||||
? (currentData.value.skinTestFlag = true)
|
// : (currentData.value.activeFlag = false); //是否为活性
|
||||||
: (currentData.value.skinTestFlag = false); //是否皮试
|
// currentData.value.ybMatchFlag == 1
|
||||||
currentData.value.injectFlag == 1
|
// ? (currentData.value.ybMatchFlag = true)
|
||||||
? (currentData.value.injectFlag = true)
|
// : (currentData.value.ybMatchFlag = false); //医保是否对码
|
||||||
: (currentData.value.injectFlag = false); //是否为注射药物
|
// currentData.value.skinTestFlag == 1
|
||||||
currentData.value.restrictedFlag == 1
|
// ? (currentData.value.skinTestFlag = true)
|
||||||
? (currentData.value.restrictedFlag = true)
|
// : (currentData.value.skinTestFlag = false); //是否皮试
|
||||||
: (currentData.value.restrictedFlag = false); //是否限制使用
|
// currentData.value.injectFlag == 1
|
||||||
currentData.value.childrenFlag == 1
|
// ? (currentData.value.injectFlag = true)
|
||||||
? (currentData.value.childrenFlag = true)
|
// : (currentData.value.injectFlag = false); //是否为注射药物
|
||||||
: (currentData.value.childrenFlag = false); //儿童用药标志
|
// currentData.value.restrictedFlag == 1
|
||||||
|
// ? (currentData.value.restrictedFlag = true)
|
||||||
|
// : (currentData.value.restrictedFlag = false); //是否限制使用
|
||||||
|
// currentData.value.childrenFlag == 1
|
||||||
|
// ? (currentData.value.childrenFlag = true)
|
||||||
|
// : (currentData.value.childrenFlag = false); //儿童用药标志
|
||||||
|
// currentData.value.antibioticFlag == 1
|
||||||
|
// ? (currentData.value.antibioticFlag = true)
|
||||||
|
// : (currentData.value.antibioticFlag = false); //抗生素标志
|
||||||
|
// currentData.value.selfFlag == 1
|
||||||
|
// ? (currentData.value.selfFlag = true)
|
||||||
|
// : (currentData.value.selfFlag = false); //自制标志
|
||||||
console.log(currentData.value, "currentData");
|
console.log(currentData.value, "currentData");
|
||||||
// 确保子组件已经接收到最新的 props
|
// 确保子组件已经接收到最新的 props
|
||||||
nextTick(() => {
|
nextTick(() => {
|
||||||
@@ -799,8 +950,14 @@ function submitForm(formData) {
|
|||||||
formData.childrenFlag == true
|
formData.childrenFlag == true
|
||||||
? (formData.childrenFlag = 1)
|
? (formData.childrenFlag = 1)
|
||||||
: (formData.childrenFlag = 0); //儿童用药标志
|
: (formData.childrenFlag = 0); //儿童用药标志
|
||||||
|
formData.antibioticFlag == true
|
||||||
|
? (formData.antibioticFlag = 1)
|
||||||
|
: (formData.antibioticFlag = 0); //抗生素标志
|
||||||
|
formData.selfFlag == true
|
||||||
|
? (formData.selfFlag = 1)
|
||||||
|
: (formData.selfFlag = 0); //自制标志
|
||||||
formData.status == true ? (formData.status = 1) : (formData.status = 0); //启用状态
|
formData.status == true ? (formData.status = 1) : (formData.status = 0); //启用状态
|
||||||
|
console.log(formData, "submitForm");
|
||||||
if (formData.id != undefined) {
|
if (formData.id != undefined) {
|
||||||
// form.value.status
|
// form.value.status
|
||||||
// ? (form.value.statusEnum = "3")
|
// ? (form.value.statusEnum = "3")
|
||||||
|
|||||||
Reference in New Issue
Block a user